@mis-wis/common 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,21 @@
1
1
  const envMap = {
2
- dev: "https://bff.devcl.moveinsync.com",
3
- qa: "https://bff.stage.moveinsync.com",
4
- production: "https://bff.moveinsync.com",
5
- uat: "https://wisbff-uat.moveinsync.com",
6
- "production-green": "https://wisempweb-green.moveinsync.com",
7
- "production-beta": "https://bff-beta.moveinsync.com",
8
- "production-eu": "https://bff.eu.moveinsync.com",
9
- "production-eu-green": "https://bff-green.eu.moveinsync.com",
10
- "production-mu": "https://bff.moveinsync.in"
2
+ dev: "https://ui-logger.stage.moveinsync.com",
3
+ qa: "https://ui-logger.stage.moveinsync.com",
4
+ production: "https://ui-logger.moveinsync.com",
5
+ uat: "https://ui-logger-uat.moveinsync.com",
6
+ "production-green": "https://ui-logger-green.moveinsync.com",
7
+ "production-beta": "https://ui-logger-beta.moveinsync.com",
8
+ "production-eu": "https://ui-logger.eu.moveinsync.com",
9
+ "production-eu-green": "https://ui-logger-green.eu.moveinsync.com",
10
+ "production-eu-beta": "https://ui-logger-beta.eu.moveinsync.com",
11
+ "production-mu": "https://ui-logger.moveinsync.in",
12
+ "production-mu-green": "https://ui-logger-green.moveinsync.in",
13
+ "production-mu-beta": "https://ui-logger-beta.moveinsync.in",
11
14
  };
12
15
  export function environmentHandler(env) {
13
16
  if (!env) {
14
- return "/bff";
17
+ return "/logger";
15
18
  }
16
19
  return envMap[env];
17
20
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy93aXMtY29tbW9uL3NyYy9saWIvbW9kdWxlcy9sb2dnZXIvbG9nZ2VyLmZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE1BQU0sR0FBRztJQUNiLEdBQUcsRUFBRSxrQ0FBa0M7SUFDdkMsRUFBRSxFQUFFLGtDQUFrQztJQUN0QyxVQUFVLEVBQUUsNEJBQTRCO0lBQ3hDLEdBQUcsRUFBRSxtQ0FBbUM7SUFDeEMsa0JBQWtCLEVBQUUsd0NBQXdDO0lBQzVELGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxlQUFlLEVBQUUsK0JBQStCO0lBQ2hELHFCQUFxQixFQUFFLHFDQUFxQztJQUM1RCxlQUFlLEVBQUUsMkJBQTJCO0NBQzdDLENBQUM7QUFDRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBYTtJQUM5QyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBURW52TmFtZSB9IGZyb20gXCIuL2xvZ2dlci5tb2RlbFwiO1xuY29uc3QgZW52TWFwID0ge1xuICBkZXY6IFwiaHR0cHM6Ly9iZmYuZGV2Y2wubW92ZWluc3luYy5jb21cIixcbiAgcWE6IFwiaHR0cHM6Ly9iZmYuc3RhZ2UubW92ZWluc3luYy5jb21cIixcbiAgcHJvZHVjdGlvbjogXCJodHRwczovL2JmZi5tb3ZlaW5zeW5jLmNvbVwiLFxuICB1YXQ6IFwiaHR0cHM6Ly93aXNiZmYtdWF0Lm1vdmVpbnN5bmMuY29tXCIsXG4gIFwicHJvZHVjdGlvbi1ncmVlblwiOiBcImh0dHBzOi8vd2lzZW1wd2ViLWdyZWVuLm1vdmVpbnN5bmMuY29tXCIsXG4gIFwicHJvZHVjdGlvbi1iZXRhXCI6IFwiaHR0cHM6Ly9iZmYtYmV0YS5tb3ZlaW5zeW5jLmNvbVwiLFxuICBcInByb2R1Y3Rpb24tZXVcIjogXCJodHRwczovL2JmZi5ldS5tb3ZlaW5zeW5jLmNvbVwiLFxuICBcInByb2R1Y3Rpb24tZXUtZ3JlZW5cIjogXCJodHRwczovL2JmZi1ncmVlbi5ldS5tb3ZlaW5zeW5jLmNvbVwiLFxuICBcInByb2R1Y3Rpb24tbXVcIjogXCJodHRwczovL2JmZi5tb3ZlaW5zeW5jLmluXCJcbn07XG5leHBvcnQgZnVuY3Rpb24gZW52aXJvbm1lbnRIYW5kbGVyKGVudjogVEVudk5hbWUpIHtcbiAgaWYgKCFlbnYpIHtcbiAgICByZXR1cm4gXCIvYmZmXCI7XG4gIH1cbiAgcmV0dXJuIGVudk1hcFtlbnZdO1xufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy93aXMtY29tbW9uL3NyYy9saWIvbW9kdWxlcy9sb2dnZXIvbG9nZ2VyLmZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE1BQU0sR0FBRztJQUNiLEdBQUcsRUFBRSx3Q0FBd0M7SUFDN0MsRUFBRSxFQUFFLHdDQUF3QztJQUM1QyxVQUFVLEVBQUUsa0NBQWtDO0lBQzlDLEdBQUcsRUFBRSxzQ0FBc0M7SUFDM0Msa0JBQWtCLEVBQUUsd0NBQXdDO0lBQzVELGlCQUFpQixFQUFFLHVDQUF1QztJQUMxRCxlQUFlLEVBQUUscUNBQXFDO0lBQ3RELHFCQUFxQixFQUFFLDJDQUEyQztJQUNsRSxvQkFBb0IsRUFBRSwwQ0FBMEM7SUFDaEUsZUFBZSxFQUFFLGlDQUFpQztJQUNsRCxxQkFBcUIsRUFBRSx1Q0FBdUM7SUFDOUQsb0JBQW9CLEVBQUUsc0NBQXNDO0NBQzdELENBQUM7QUFDRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBYTtJQUM5QyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVEVudk5hbWUgfSBmcm9tIFwiLi9sb2dnZXIubW9kZWxcIjtcbmNvbnN0IGVudk1hcCA9IHtcbiAgZGV2OiBcImh0dHBzOi8vdWktbG9nZ2VyLnN0YWdlLm1vdmVpbnN5bmMuY29tXCIsXG4gIHFhOiBcImh0dHBzOi8vdWktbG9nZ2VyLnN0YWdlLm1vdmVpbnN5bmMuY29tXCIsXG4gIHByb2R1Y3Rpb246IFwiaHR0cHM6Ly91aS1sb2dnZXIubW92ZWluc3luYy5jb21cIixcbiAgdWF0OiBcImh0dHBzOi8vdWktbG9nZ2VyLXVhdC5tb3ZlaW5zeW5jLmNvbVwiLFxuICBcInByb2R1Y3Rpb24tZ3JlZW5cIjogXCJodHRwczovL3VpLWxvZ2dlci1ncmVlbi5tb3ZlaW5zeW5jLmNvbVwiLFxuICBcInByb2R1Y3Rpb24tYmV0YVwiOiBcImh0dHBzOi8vdWktbG9nZ2VyLWJldGEubW92ZWluc3luYy5jb21cIixcbiAgXCJwcm9kdWN0aW9uLWV1XCI6IFwiaHR0cHM6Ly91aS1sb2dnZXIuZXUubW92ZWluc3luYy5jb21cIixcbiAgXCJwcm9kdWN0aW9uLWV1LWdyZWVuXCI6IFwiaHR0cHM6Ly91aS1sb2dnZXItZ3JlZW4uZXUubW92ZWluc3luYy5jb21cIixcbiAgXCJwcm9kdWN0aW9uLWV1LWJldGFcIjogXCJodHRwczovL3VpLWxvZ2dlci1iZXRhLmV1Lm1vdmVpbnN5bmMuY29tXCIsXG4gIFwicHJvZHVjdGlvbi1tdVwiOiBcImh0dHBzOi8vdWktbG9nZ2VyLm1vdmVpbnN5bmMuaW5cIixcbiAgXCJwcm9kdWN0aW9uLW11LWdyZWVuXCI6IFwiaHR0cHM6Ly91aS1sb2dnZXItZ3JlZW4ubW92ZWluc3luYy5pblwiLFxuICBcInByb2R1Y3Rpb24tbXUtYmV0YVwiOiBcImh0dHBzOi8vdWktbG9nZ2VyLWJldGEubW92ZWluc3luYy5pblwiLFxufTtcbmV4cG9ydCBmdW5jdGlvbiBlbnZpcm9ubWVudEhhbmRsZXIoZW52OiBURW52TmFtZSkge1xuICBpZiAoIWVudikge1xuICAgIHJldHVybiBcIi9sb2dnZXJcIjtcbiAgfVxuICByZXR1cm4gZW52TWFwW2Vudl07XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL3dpcy1jb21tb24vc3JjL2xpYi9tb2R1bGVzL2xvZ2dlci9sb2dnZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRFbnZOYW1lID0gXCJkZXZcIiB8IFwicWFcIiB8IFwidWF0XCIgfCBcInByb2R1Y3Rpb25cIiB8IFwicHJvZHVjdGlvbi1iZXRhXCIgfCBcInByb2R1Y3Rpb24tZ3JlZW5cIiB8IFwicHJvZHVjdGlvbi1ldVwiIHwgXCJwcm9kdWN0aW9uLWV1LWdyZWVuXCIgfCBcInByb2R1Y3Rpb24tbXVcIiB8IHVuZGVmaW5lZCB8IHN0cmluZztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL3dpcy1jb21tb24vc3JjL2xpYi9tb2R1bGVzL2xvZ2dlci9sb2dnZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRFbnZOYW1lID0gXCJkZXZcIiB8IFwicWFcIiB8IFwidWF0XCIgfCBcInByb2R1Y3Rpb25cIiB8IFwicHJvZHVjdGlvbi1iZXRhXCIgfCBcInByb2R1Y3Rpb24tZ3JlZW5cIiB8IFwicHJvZHVjdGlvbi1ldVwiIHwgXCJwcm9kdWN0aW9uLWV1LWdyZWVuXCIgfCBcInByb2R1Y3Rpb24tZXUtYmV0YVwiIHwgXCJwcm9kdWN0aW9uLW11XCIgfCBcInByb2R1Y3Rpb24tbXUtZ3JlZW5cIiB8IFwicHJvZHVjdGlvbi1tdS1iZXRhXCIgfCB1bmRlZmluZWQgfCBzdHJpbmc7XG4iXX0=
@@ -226,19 +226,22 @@ const CONSTANTS_LOGGER = {
226
226
  };
227
227
 
228
228
  const envMap = {
229
- dev: "https://bff.devcl.moveinsync.com",
230
- qa: "https://bff.stage.moveinsync.com",
231
- production: "https://bff.moveinsync.com",
232
- uat: "https://wisbff-uat.moveinsync.com",
233
- "production-green": "https://wisempweb-green.moveinsync.com",
234
- "production-beta": "https://bff-beta.moveinsync.com",
235
- "production-eu": "https://bff.eu.moveinsync.com",
236
- "production-eu-green": "https://bff-green.eu.moveinsync.com",
237
- "production-mu": "https://bff.moveinsync.in"
229
+ dev: "https://ui-logger.stage.moveinsync.com",
230
+ qa: "https://ui-logger.stage.moveinsync.com",
231
+ production: "https://ui-logger.moveinsync.com",
232
+ uat: "https://ui-logger-uat.moveinsync.com",
233
+ "production-green": "https://ui-logger-green.moveinsync.com",
234
+ "production-beta": "https://ui-logger-beta.moveinsync.com",
235
+ "production-eu": "https://ui-logger.eu.moveinsync.com",
236
+ "production-eu-green": "https://ui-logger-green.eu.moveinsync.com",
237
+ "production-eu-beta": "https://ui-logger-beta.eu.moveinsync.com",
238
+ "production-mu": "https://ui-logger.moveinsync.in",
239
+ "production-mu-green": "https://ui-logger-green.moveinsync.in",
240
+ "production-mu-beta": "https://ui-logger-beta.moveinsync.in",
238
241
  };
239
242
  function environmentHandler(env) {
240
243
  if (!env) {
241
- return "/bff";
244
+ return "/logger";
242
245
  }
243
246
  return envMap[env];
244
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mis-wis-common.mjs","sources":["../../../libraries/wis-common/src/lib/modules/auth/auth.service.ts","../../../libraries/wis-common/src/lib/modules/auth/auth.module.ts","../../../libraries/wis-common/src/lib/services/configuration.service.ts","../../../libraries/wis-common/src/lib/functions/nav-filter.function.ts","../../../libraries/wis-common/src/lib/functions/cookie.function.ts","../../../libraries/wis-common/src/lib/functions/url.functions.ts","../../../libraries/wis-common/src/lib/interceptors/auth.interceptor.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.html","../../../libraries/wis-common/src/lib/services/loader.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.constant.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.functions.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.module.ts","../../../libraries/wis-common/src/lib/constants/emp-web-exp.constants.ts","../../../libraries/wis-common/src/lib/services/http.service.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.html","../../../libraries/wis-common/src/lib/constants/assets.constants.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.html","../../../libraries/wis-common/src/lib/wis-common.module.ts","../../../libraries/wis-common/src/lib/services/mfe-communication.service.ts","../../../libraries/wis-common/src/lib/services/session.errors.ts","../../../libraries/wis-common/src/lib/services/session.service.ts","../../../libraries/wis-common/src/public-api.ts","../../../libraries/wis-common/src/mis-wis-common.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\nimport { IUserInfo } from \"./auth.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AuthService {\n userDetails: IUserInfo;\n\n constructor() {}\n\n init(user: IUserInfo) {\n this.userDetails = user;\n }\n}\n","import { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AuthService } from \"./auth.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class AuthModule {\n /**\n *\n * @returns ModuleWithProviders<AuthModule>\n */\n static forRoot(): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [AuthService]\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ConfigurationService {\n constructor() {}\n}\n","import { NsWISConfigurations } from \"../models/configurations.model\";\n\nexport const filterNavList = (\n navList: NsWISConfigurations.ISidenavLink[],\n features: NsWISConfigurations.IFeaturesMap\n): NsWISConfigurations.ISidenavLink[] => {\n return navList.filter(nav => {\n const mustHave = nav.mustHaveBasedProperty && nav.mustHaveBasedProperty.every(basedProperty => features[basedProperty]);\n const canHave = nav.canHaveBasedProperty && nav.canHaveBasedProperty.some(basedProperty => features[basedProperty]);\n if ((mustHave || canHave) && nav.children) {\n nav.children = filterNavList(nav.children, features);\n }\n return mustHave || canHave;\n });\n};\n","interface ICookieOptions {\n expires?: string;\n path?: string;\n domain?: string;\n \"Max-Age\"?: string;\n Secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: \"Strict\" | \"Lax\" | \"None\";\n}\n\nexport function getCookie(name: string): string {\n const cookies = {};\n const cookieString = document.cookie;\n cookieString.split(\"; \").forEach(cookie => {\n const [key, value] = cookie.split(\"=\");\n cookies[key] = value;\n });\n return cookies[name] || undefined;\n}\n\nexport function setCookie(name: string, value: string, options?: ICookieOptions): void {\n let cookieStr = `${name}=${value};`;\n if (options) {\n const optsSelected = Object.keys(options);\n for (const opt of optsSelected) {\n cookieStr += ` ${opt}${(typeof options[opt] === \"string\" && `=${options[opt]}`) || \"\"};`;\n }\n }\n cookieStr += \";secure; SameSite=Strict;\";\n document.cookie = cookieStr;\n}\n\nexport function removeCookie(name: string, domain?: string): void {\n setCookie(name, \"\", { expires: new Date(0).toUTCString(), domain });\n}\n","export function getQueryParam(queryString: string): string | null {\n const results = new RegExp(\"[?&]\" + queryString + \"=([^&#]*)\").exec(window.location.href);\n if (results === null) {\n return null;\n } else {\n return decodeURIComponent(results[1]) || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { tap } from \"rxjs/operators\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { getCookie } from \"../functions/cookie.function\";\nimport { getQueryParam } from \"../functions/url.functions\";\n\nconst TOKEN_NAME = \"x-wis-token\";\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private route: ActivatedRoute, private toast: ToastService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n const paramsMap = this.route.snapshot.queryParamMap;\n const buid = getQueryParam(\"buid\") || getQueryParam(\"buId\") || \"\";\n const empGuid = getQueryParam(\"empGuid\") || getQueryParam(\"empGuId\") || getQueryParam(\"userId\") || \"\";\n // const source = getQueryParam(\"source\");\n const authToken = getQueryParam(\"auth-token\");\n const token = getCookie(`sso-wis-token-${buid}`);\n const mobile_app_token = getCookie(TOKEN_NAME);\n const cloneReq = request.clone({\n setHeaders: {\n \"x-tenant-id\": buid,\n \"x-user-id\": empGuid,\n ...(!!token && { [TOKEN_NAME]: token }),\n ...(!!authToken && { [TOKEN_NAME]: authToken }),\n ...(!!mobile_app_token && { [TOKEN_NAME]: mobile_app_token })\n }\n });\n return next.handle(cloneReq).pipe(\n tap(\n () => {},\n err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.toast.displayMsg(\"Your session has expired. Please login again.\",6000);\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"mis-common-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"]\n})\nexport class LoaderComponent implements OnInit {\n message: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"message-wrapper\" *ngIf=\"message; else noMessageLoader\">\n <span><mis-loader type=\"block\"></mis-loader></span>\n <p>{{ message }}</p>\n</div>\n<ng-template #noMessageLoader>\n <mis-loader></mis-loader>\n</ng-template>\n","/** @format */\n\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { LoaderComponent } from \"../components/loader/loader.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoaderService {\n private overlayRef: OverlayRef;\n public loading = false;\n\n constructor(private overlay: Overlay) {}\n\n show(message?: string): void {\n this.loading = true;\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n const { positionStrategy, width, backdropClass, hasMessage } = this.calcLoaderProperties(!!message);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width,\n backdropClass\n });\n this.overlayRef = this.overlay.create(config);\n const portal = new ComponentPortal(LoaderComponent, null);\n const componentRef = this.overlayRef.attach(portal);\n if (hasMessage) {\n componentRef.instance.message = message;\n }\n }\n\n hide(): void {\n this.loading = false;\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n private calcLoaderProperties(hasMessage: boolean): {\n positionStrategy: GlobalPositionStrategy;\n width: string;\n backdropClass: string;\n hasMessage: boolean;\n } {\n const positionStrategy = this.overlay.position().global();\n let width = \"100vh\";\n let backdropClass = \"cdk-overlay-transparent-backdrop\";\n if (hasMessage) {\n width = \"initial\";\n backdropClass = \"wis-common-loader-bg\";\n positionStrategy.centerHorizontally().centerVertically();\n } else {\n positionStrategy.top(\"0px\").right(\"0px\");\n }\n return { positionStrategy, width, backdropClass, hasMessage };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_LOGGER = {\n APP_NAME: \"wisLoggerApp\",\n ENV_VAR: \"wisLoggerEnv\"\n};\n","import { TEnvName } from \"./logger.model\";\nconst envMap = {\n dev: \"https://bff.devcl.moveinsync.com\",\n qa: \"https://bff.stage.moveinsync.com\",\n production: \"https://bff.moveinsync.com\",\n uat: \"https://wisbff-uat.moveinsync.com\",\n \"production-green\": \"https://wisempweb-green.moveinsync.com\",\n \"production-beta\": \"https://bff-beta.moveinsync.com\",\n \"production-eu\": \"https://bff.eu.moveinsync.com\",\n \"production-eu-green\": \"https://bff-green.eu.moveinsync.com\",\n \"production-mu\": \"https://bff.moveinsync.in\"\n};\nexport function environmentHandler(env: TEnvName) {\n if (!env) {\n return \"/bff\";\n }\n return envMap[env];\n}\n","import { TEnvName } from \"./logger.model\";\nimport { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { environmentHandler } from \"./logger.functions\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoggerService {\n private cookies: boolean = false;\n\n constructor(\n private http: HttpClient,\n @Inject(CONSTANTS_LOGGER.APP_NAME) private appName: string,\n @Inject(CONSTANTS_LOGGER.ENV_VAR) private appEnv: TEnvName\n ) {}\n\n useCookies(useCookies: boolean) {\n this.cookies = useCookies;\n }\n\n private logRequest(data: any, logLevel: \"info\" | \"error\" | \"warn\") {\n const request = {\n data,\n cookies: this.cookies ? document.cookie : undefined,\n logLevel\n };\n this.postLog(request);\n }\n\n private postLog(request) {\n const url = `${environmentHandler(this.appEnv)}/report-log/${this.appName}`;\n this.http.post(`${url}`, request).subscribe();\n }\n\n info(data: any) {\n this.logRequest(data, \"info\");\n }\n\n warn(data: any) {\n this.logRequest(data, \"warn\");\n }\n\n error(data: any, componentName: string, serviceUrl?: string) {\n this.logRequest({ ...data, componentName, serviceUrl }, \"error\");\n }\n}\n","import { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { TEnvName } from \"./logger.model\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class LoggerModule {\n /**\n *\n * @param appName any app name eg. FAQ, Floor Plan, In App Popup, etc.\n * @param env \"dev\" | \"qa\" | \"uat\" | \"prod\" | \"prod-beta\" | \"prod-green\" | \"prod-eu\" | \"prod-eu-green\" | undefined\n * @returns ModuleWithProviders<LoggerModule>\n */\n static forChild(appName: string, env?: TEnvName): ModuleWithProviders<LoggerModule> {\n return {\n ngModule: LoggerModule,\n providers: [\n {\n provide: CONSTANTS_LOGGER.APP_NAME,\n useValue: appName\n },\n {\n provide: CONSTANTS_LOGGER.ENV_VAR,\n useValue: env\n },\n LoggerService\n ]\n };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_WIS_COMMON = {\n ENV_VAR: \"wisCommonEnvironment\"\n};\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { map, Observable } from \"rxjs\";\nimport { CONSTANTS_WIS_COMMON } from \"../constants/emp-web-exp.constants\";\nimport { NsWISConfigurations } from \"../models/configurations.model\";\nimport { NsWISCommon } from \"../models/env.model\";\nimport { AuthService } from \"../modules/auth/auth.service\";\n\nconst API_URLS = {\n CONFIGURATIONS: \"configurations\"\n};\n\n@Injectable()\nexport class HttpService {\n constructor(@Inject(CONSTANTS_WIS_COMMON) public env: NsWISCommon.IEnv, private http: HttpClient) {}\n\n getProperties(Porperties: string[]) {\n return this.http.get(`${this.env.ets}/ets/apis/properties/${Porperties.join(\",\")}`).pipe(\n map((res: any) => {\n return res.reduce((acc: any, item: any) => {\n acc[item.propertyName] = item.propertyValue === \"true\" ? true : item.propertyValue === \"false\" ? false : item.propertyValue;\n return acc;\n }, {});\n })\n );\n }\n\n getOffices(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=getOfficeList`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n listTransportLocalities(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=listTransportLocalities`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n createEmptyIrregularTripSheet(nonce: string, direction: string): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=createEmptyIrregularTripSheet&direction=${direction}`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n addEmployeeToTripSheet(\n nonce: string,\n params: {\n tripsheet: any;\n employee: any;\n pickupLoc: any;\n dropLoc: any;\n pickUpTime: string;\n dropTime: string;\n position: number;\n routeSource?: string;\n assetList?: any;\n }\n ): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=addEmployeeToTripSheet&tripsheet=${encodeURIComponent(\n JSON.stringify(params.tripsheet)\n )}&employee=${encodeURIComponent(JSON.stringify(params.employee))}&pickupLoc=${encodeURIComponent(\n JSON.stringify(params.pickupLoc)\n )}&dropLoc=${encodeURIComponent(JSON.stringify(params.dropLoc))}&pickUpTime=\"${params.pickUpTime}\"&dropTime=\"${params.dropTime}\"&position=${\n params.position\n }${params.routeSource ? \"&routeSource=\" + params.routeSource : \"\"}${\n params.assetList ? \"&assetList=\" + encodeURIComponent(JSON.stringify(params.assetList)) : \"\"\n }`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"wis-common-sidenav\",\n templateUrl: \"./sidenav.component.html\",\n styleUrls: [\"./sidenav.component.scss\"]\n})\nexport class SidenavComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wis-sidenav-wrapper\">\n <div class=\"wis-sidenav-header\">\n <div class=\"wis-sidenav-header-logo\">\n <img src=\"assets/sidenav/assets/Wis-icon.svg\" alt=\"\" />\n </div>\n <div class=\"wis-sidenav-header-title\">\n <h1>WIS</h1>\n </div>\n </div>\n <div class=\"wis-sidenav-body\">\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-home\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Home</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-user\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Profile</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-users\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Users</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-cog\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Settings</h3>\n </div>\n </div>\n </div>\n</div>\n","/** @format */\n\nexport const CONSTANTS_ASSETS_WIS_COMMON = {\n IMAGES: {\n CALENDAR_ICON: \"assets/libraries/wis-common/calendar.svg\"\n },\n ICONS: {}\n};\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { IDatePickerConfig } from \"mis-crystal-design-system/datepicker_v2\";\nimport { CONSTANTS_ASSETS_WIS_COMMON } from \"../../constants/assets.constants\";\nimport { HttpService } from \"../../services/http.service\";\nimport { DropdownItem } from \"mis-crystal-design-system/dropdown\";\nimport { forkJoin } from \"rxjs\";\nimport { finalize } from \"rxjs/operators\";\nimport { MODAL_DATA_VAR, ModalRef } from \"mis-crystal-design-system/modal\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\ndayjs.extend(customParseFormat);\n\nconst PROPERTIES = [\"NON_SHIFT_TRIPS_CATEGORIES\", \"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"];\nconst DATE_FORMAT = \"DD/MM/YYYY\";\nconst PICKUP_TIME_FORMAT = \"DD/MM/YYYY HH/mm/ss\";\n\ninterface LocationValue {\n type: number;\n office: any | null;\n}\n\ninterface LocationDropdownItem {\n label: string;\n value: LocationValue;\n}\n\n@Component({\n selector: \"app-create-non-shift-modal\",\n templateUrl: \"./create-non-shift-modal.component.html\",\n styleUrls: [\"./create-non-shift-modal.component.scss\"]\n})\nexport class CreateNonShiftModalComponent implements OnInit {\n CONSTANTS_ASSETS_WIS_COMMON = CONSTANTS_ASSETS_WIS_COMMON;\n\n dateConfig: Partial<IDatePickerConfig> = {\n minDate: dayjs().format(DATE_FORMAT),\n format: DATE_FORMAT\n };\n createTripsheetForm!: FormGroup;\n offices: DropdownItem[] = [];\n\n locationDropdownData: LocationDropdownItem[] = [];\n\n categoryDropdownData: DropdownItem[] = [];\n\n hoursDropdownData: DropdownItem[] = [];\n\n minutesDropdownData: DropdownItem[] = [];\n\n showOtherAddress: boolean = false;\n\n loading: boolean = false;\n isSubmitting: boolean = false;\n\n readonly TYPE_OFFICE = 6;\n readonly TYPE_TRANSPORT = 3;\n readonly TYPE_OTHER = 4;\n properties: Record<string, any> = {};\n\n constructor(@Inject(MODAL_DATA_VAR) public modalData: any, private modalRef: ModalRef, private fb: FormBuilder, private http: HttpService,private toast: ToastService) {}\n\n ngOnInit(): void {\n this.loading = true;\n\n const $office = this.http.getOffices(this.modalData.nonce);\n const $properties = this.http.getProperties(PROPERTIES);\n\n forkJoin([$office, $properties])\n .pipe(finalize(() => (this.loading = false)))\n .subscribe({\n next: ([offices, properties]) => {\n this.properties = properties;\n this.initializeForm();\n this.initializeDropdownData(offices);\n this.setupFormListeners();\n },\n error: error => {\n console.error(\"Error loading form data:\", error);\n this.modalRef.close();\n }\n });\n }\n\n private initializeForm(): void {\n const currentTime = this.modalData?.date ?? dayjs().format(DATE_FORMAT);\n\n this.createTripsheetForm = this.fb.group({\n direction: [this.modalData?.shiftType === \"logout\" ? \"OUT\" : \"IN\", Validators.required],\n location: [{ label: \"\", value: \"\" }],\n otherAddress: \"\",\n tripCategory: [{ label: \"\", value: \"\" }],\n date: [currentTime, Validators.required],\n hours: [{ label: \"\", value: \"\" }],\n mins: [{ label: \"\", value: \"\" }]\n });\n }\n\n private initializeDropdownData(offices: any): void {\n this.locationDropdownData = offices.map(\n (office: any): LocationDropdownItem => ({\n label: office.address,\n value: { type: this.TYPE_OFFICE, office: office || null }\n })\n );\n this.createTripsheetForm.get(\"location\")?.setValue(this.locationDropdownData[0]);\n\n if (!this.properties?.[\"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"]) {\n this.locationDropdownData.push(\n { label: \"Airport\", value: { type: this.TYPE_TRANSPORT, office: null } } as LocationDropdownItem,\n { label: \"Other\", value: { type: this.TYPE_OTHER, office: null } } as LocationDropdownItem\n );\n }\n\n // Initialize category dropdown\n const categoriesString = this.properties?.[\"NON_SHIFT_TRIPS_CATEGORIES\"];\n if (categoriesString && typeof categoriesString === \"string\") {\n const categories = categoriesString.split(\",\").filter(cat => cat && cat.trim());\n if (categories.length > 0) {\n this.categoryDropdownData = categories.map(category => ({\n label: category.trim(),\n value: category.trim()\n }));\n }\n }\n\n const currentHour = new Date().getHours();\n this.hoursDropdownData = Array.from({ length: 24 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ hours: this.hoursDropdownData[currentHour] });\n\n const currentMinute = new Date().getMinutes();\n this.minutesDropdownData = Array.from({ length: 60 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ mins: this.minutesDropdownData[currentMinute] });\n }\n\n private setupFormListeners(): void {\n this.createTripsheetForm?.valueChanges.subscribe(value => {\n const { location } = this.createTripsheetForm?.value;\n if (this.showOtherAddress !== (location?.value?.type === this.TYPE_OTHER)) {\n this.showOtherAddress = location?.value?.type === this.TYPE_OTHER;\n if (this.showOtherAddress) {\n this.createTripsheetForm.get(\"otherAddress\")?.setValidators([Validators.required]);\n } else {\n this.createTripsheetForm.get(\"otherAddress\")?.clearValidators();\n }\n this.createTripsheetForm.get(\"otherAddress\")?.updateValueAndValidity();\n }\n });\n }\n\n private padZero(num: number): string {\n return num.toString().padStart(2, \"0\");\n }\n\n onCancel(): void {\n this.modalRef.close();\n }\n\n onSubmit(): void {\n if (this.createTripsheetForm.invalid) {\n return;\n }\n\n const formValue = this.createTripsheetForm.value;\n\n const pickupTime = `${formValue.date} ${formValue.hours.value}/${formValue.mins.value}/00`;\n const pickupTimeDate = dayjs(pickupTime, PICKUP_TIME_FORMAT).toDate();\n if (this.isDateAndTimeFromPast(pickupTimeDate)) {\n this.toast.displayMsg(\"Please select a future date and time.\");\n return;\n }\n\n if (this.categoryDropdownData.length > 0 && (!formValue.tripCategory || !formValue.tripCategory.value)) {\n this.toast.displayMsg(\"Please provide a trip category.\");\n return;\n }\n\n if (formValue.location?.value?.type === this.TYPE_OTHER) {\n if (!formValue.otherAddress || formValue.otherAddress.trim() === \"\") {\n this.toast.displayMsg(\"Please provide the address.\");\n return;\n }\n if (formValue.otherAddress.includes(\",\")) {\n this.toast.displayMsg(\"Special character (,) not allowed in address.\");\n return;\n }\n }\n\n this.isSubmitting = true;\n\n this.http.createEmptyIrregularTripSheet(this.modalData.nonce, formValue.direction).subscribe({\n next: routeTripSheet => {\n const pickupLoc = routeTripSheet.dir === \"IN\" ? this.modalData.employee.home : this.getLocation(formValue);\n const dropLoc = routeTripSheet.dir === \"OUT\" ? this.modalData.employee.home : this.getLocation(formValue);\n const pickupTimeFormatted = pickupTime;\n const dropTimeFormatted = pickupTime;\n\n const employee = { ...this.modalData.employee, employee_status: 1 };\n\n const addEmployeeParams = {\n tripsheet: routeTripSheet,\n employee: employee,\n pickupLoc: pickupLoc,\n dropLoc: dropLoc,\n pickUpTime: pickupTimeFormatted,\n dropTime: dropTimeFormatted,\n position: 0,\n routeSource: this.modalData.routeSource,\n assetList: this.modalData.assetList\n };\n\n this.http.addEmployeeToTripSheet(this.modalData.nonce, addEmployeeParams).subscribe({\n next: updatedTripSheet => {\n if (!updatedTripSheet.customMap) {\n updatedTripSheet.customMap = {};\n }\n updatedTripSheet.customMap.tripCategory = formValue.tripCategory?.value || \"\";\n\n this.modalRef.close({\n success: true,\n tripsheet: updatedTripSheet\n });\n },\n error: error => {\n console.error(\"Error adding employee to tripsheet:\", error);\n this.toast.displayMsg(\"Failed to add employee to tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n },\n error: error => {\n console.error(\"Error creating tripsheet:\", error);\n this.toast.displayMsg(\"Failed to create tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n }\n\n private isDateAndTimeFromPast(date: Date): boolean {\n const now = new Date();\n return date < now;\n }\n\n private getLocation(formValue: any): any {\n const location = formValue.location?.value;\n\n if (!location) {\n return null;\n }\n\n const locType = location.type;\n\n switch (locType) {\n case this.TYPE_OFFICE:\n return location.office;\n\n case this.TYPE_TRANSPORT:\n return {\n id: null,\n type: this.TYPE_TRANSPORT,\n address: \"Airport\",\n geoCord: null\n };\n\n case this.TYPE_OTHER:\n return {\n ...location.office,\n address: formValue.otherAddress || \"\"\n };\n }\n }\n}\n","<div class=\"createTripsheet\">\n <h2 class=\"modal-header\">Create Non-Shift Tripsheet</h2>\n\n <div *ngIf=\"loading\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Loading...</p>\n </div>\n\n <form\n *ngIf=\"!loading && createTripsheetForm\"\n [formGroup]=\"createTripsheetForm\"\n (ngSubmit)=\"onSubmit()\"\n class=\"createTripsheetForm\"\n id=\"createTripsheetForm\"\n >\n <div class=\"form-content\">\n <!-- Radio buttons row -->\n <div [ngClass]=\"{ 'radio-row': true, disabled: modalData?.shiftSelectionDisabled }\">\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"OUT\" id=\"startLoc\" />\n <span>Start Location Fixed (Logout)</span>\n </label>\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"IN\" id=\"endLoc\" />\n <span>End Location Fixed (Login)</span>\n </label>\n </div>\n\n <!-- Location field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"locText\">Location</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'40px'\"\n [data]=\"locationDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('location')?.value\"\n [label]=\"'Select location...'\"\n (onChange)=\"createTripsheetForm.get('location')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Other address field -->\n <div class=\"form-field otherAddress\" *ngIf=\"showOtherAddress\">\n <div class=\"label-cell\">\n <label>Pick/Drop point <sup>*</sup></label>\n </div>\n <div class=\"input-cell\">\n <input type=\"text\" formControlName=\"otherAddress\" class=\"modern-input\" />\n </div>\n </div>\n\n <!-- Trip category field -->\n <div class=\"form-field\" *ngIf=\"categoryDropdownData.length > 0\">\n <div class=\"label-cell\">\n <label>Trip Category</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'250px'\"\n [height]=\"'40px'\"\n [data]=\"categoryDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('tripCategory')?.value\"\n [label]=\"'Select category...'\"\n (onChange)=\"createTripsheetForm.get('tripCategory')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Time field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"fixedTimeText\">Time</label>\n </div>\n <div class=\"input-cell modern-date-container\">\n <div class=\"date-select\">\n <input\n misTzDp\n readonly\n [dpConfig]=\"dateConfig\"\n [formControl]=\"createTripsheetForm.get('date')\"\n style=\"height: 44px !important; font-size: 16px !important; cursor: pointer; vertical-align: middle !important\"\n />\n <img [src]=\"CONSTANTS_ASSETS_WIS_COMMON.IMAGES.CALENDAR_ICON\" alt=\"Calendar Icon\" class=\"date-icon data-picker-icon\" />\n </div>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"hoursDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('hours')?.value\"\n [label]=\"'HH'\"\n (onChange)=\"createTripsheetForm.get('hours')?.setValue($event)\"\n ></mis-dropdown>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"minutesDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('mins')?.value\"\n [label]=\"'MM'\"\n (onChange)=\"createTripsheetForm.get('mins')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"form-actions\">\n <button mis-button type=\"outline\" (click)=\"onCancel()\" [disabled]=\"isSubmitting\">Cancel</button>\n <button mis-button type=\"primary\" [disabled]=\"isSubmitting || createTripsheetForm?.invalid\">\n {{ isSubmitting ? \"Creating...\" : \"Create\" }}\n </button>\n </div>\n </form>\n</div>\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ConfigurationService } from \"./services/configuration.service\";\nimport { NsWISCommon } from \"./models/env.model\";\nimport { CONSTANTS_WIS_COMMON } from \"./constants/emp-web-exp.constants\";\nimport { HttpService } from \"./services/http.service\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { LoaderComponent } from \"./components/loader/loader.component\";\nimport { LoaderService } from \"./services/loader.service\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\nimport { CreateNonShiftModalComponent } from \"./components/create-non-shift-modal/create-non-shift-modal.component\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\nimport { HttpClientModule } from \"@angular/common/http\";\n\n@NgModule({\n declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent],\n imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2,],\n providers: [],\n exports: [SidenavComponent, CreateNonShiftModalComponent]\n})\nexport class WisCommonModule {\n static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule> {\n return {\n ngModule: WisCommonModule,\n providers: [HttpService,{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]\n };\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { NsWISConfigurations } from \"../models/configurations.model\";\n@Injectable({\n providedIn: 'root'\n})\nexport class MfeCommunicationService {\n private _etsLoginUser: NsWISConfigurations.ILoginUserDetails;\n\n setUserDetails(userDetails: NsWISConfigurations.ILoginUserDetails): void {\n this._etsLoginUser = userDetails;\n }\n\n getUserDetails(): NsWISConfigurations.ILoginUserDetails {\n return this._etsLoginUser;\n }\n\n constructor() { }\n loginDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n employeeExperience = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n floorPlan = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n meetingRooms = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n adminUI = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n paymentsDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1); \n visitorMgmt = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n}\n","export abstract class SessionError extends Error {}\n\nexport class SessionTokenNotFoundError extends SessionError {\n constructor() {\n super('Session token was not found.');\n this.name = 'SessionTokenNotFoundError';\n }\n}\n\nexport class SessionTokenExpiredError extends SessionError {\n constructor() {\n super('Session token has expired.');\n this.name = 'SessionTokenExpiredError';\n }\n}\n\nexport class SessionTokenInvalidError extends SessionError {\n constructor() {\n super('Session token could not be decoded.');\n this.name = 'SessionTokenInvalidError';\n }\n}\n\nexport class SessionClaimNotFoundError extends SessionError {\n constructor(public readonly claim: string) {\n super(`Session claim \"${claim}\" was not found in the token.`);\n this.name = 'SessionClaimNotFoundError';\n }\n}\n\nexport type SessionClaimFailureReason = 'absent' | 'blank';\n\nexport interface ISessionClaimFailure {\n claim: string;\n reason: SessionClaimFailureReason;\n}\n\n/** Renders failures as `claim (reason), claim (reason)` for error messages. */\nexport function describeClaimFailures(failures: ISessionClaimFailure[]): string {\n return failures.map(f => `${f.claim} (${f.reason})`).join(', ');\n}\n\n/**\n * Every claim `run`'s `next` failed to read, reported once after the block has finished.\n * Extends `SessionClaimNotFoundError` — and reports the first failure as `claim` — so handlers\n * written against the single-claim error keep working.\n */\nexport class SessionClaimsMissingError extends SessionClaimNotFoundError {\n constructor(public readonly failures: ISessionClaimFailure[]) {\n super(failures[0].claim);\n this.name = 'SessionClaimsMissingError';\n this.message = `Session claims not found: ${describeClaimFailures(failures)}.`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport jwtDecode from 'jwt-decode';\n\nimport { getCookie } from '../functions/cookie.function';\nimport { getQueryParam } from '../functions/url.functions';\nimport { NsSession } from '../models/session.model';\nimport {\n describeClaimFailures,\n ISessionClaimFailure,\n SessionClaimFailureReason,\n SessionClaimNotFoundError,\n SessionClaimsMissingError,\n SessionError,\n SessionTokenExpiredError,\n SessionTokenInvalidError,\n SessionTokenNotFoundError,\n} from './session.errors';\n\nconst DEFAULT_SESSION_TOKEN_PREFIX = 'sso-wis-token';\nconst DEFAULT_SESSION_TOKEN_FALLBACK_KEY = 'x-wis-token';\nconst DEFAULT_VET_TOKEN_PREFIX = 'x-vet-token';\nconst LAUNCH_SOURCE_VET = 'VET';\n\n/** The accessors that read a single claim, and so can come back `undefined` inside `run`. */\ntype ClaimAccessor =\n | 'sub'\n | 'empGuid'\n | 'employeeId'\n | 'internalSsoRole'\n | 'roles'\n | 'sessionId'\n | 'loggedInUser'\n | 'exp'\n | 'iat'\n | 'businessUnitId'\n | 'allowedBuids'\n | 'vetUserEmailId'\n | 'vetUserId'\n | 'source'\n | 'roleId';\n\n/**\n * The session as seen inside `run`'s `next`. `run` collects missing claims instead of throwing\n * so the block always completes, which means any claim accessor may yield `undefined`.\n * Outside `run` — direct access, or `read` — the accessors still throw and stay non-optional.\n */\nexport type PartialSession = Omit<SessionService, ClaimAccessor> & {\n readonly [K in ClaimAccessor]: SessionService[K] | undefined;\n};\n\ntype SessionState =\n | { status: 'ok'; claims: NsSession.IClaims; isVET: boolean }\n | { status: 'not-found'; isVET: boolean }\n | { status: 'expired'; isVET: boolean }\n | { status: 'invalid'; isVET: boolean };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionService {\n private config: NsSession.IInitConfig = {};\n private cachedToken: string | null = null;\n private cachedState: SessionState | null = null;\n private collecting: ISessionClaimFailure[] | null = null;\n\n init(config: NsSession.IInitConfig): void {\n this.config = { ...config };\n this.cachedToken = null;\n this.cachedState = null;\n }\n\n /**\n * Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.\n * Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.\n */\n read<T>(handlers: { next: (session: SessionService) => T; error: (error: SessionError) => T }): T {\n try {\n return handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n return handlers.error(e);\n }\n throw e;\n }\n }\n\n /**\n * Statement-style variant of `read` for blocks of assignments/side effects with no return value.\n *\n * `next` always runs to completion: a claim that is absent or blank yields `undefined` instead of\n * throwing, and every such failure is reported once afterwards via `handlers.error`, as a\n * `SessionClaimsMissingError` listing all of them. An unusable token (missing, expired,\n * undecodable) still aborts `next` immediately with the matching `SessionError`.\n *\n * Collecting covers the synchronous body of `next` only — claim reads deferred into a subscription,\n * timeout or promise run after it has returned and throw as usual.\n *\n * An error `next` throws for any other reason propagates untouched, except that any claims missing\n * at the time are appended to its message and attached as `sessionClaimFailures` — a collected\n * `undefined` reaching the block is the usual cause, and that is the part worth knowing.\n */\n run(handlers: { next: (session: PartialSession) => void; error: (error: SessionError) => void }): void {\n const failures: ISessionClaimFailure[] = [];\n const previous = this.collecting;\n this.collecting = failures;\n try {\n handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n handlers.error(e);\n return;\n }\n if (failures.length && e instanceof Error) {\n (e as Error & { sessionClaimFailures?: ISessionClaimFailure[] }).sessionClaimFailures = failures;\n e.message = `${e.message} — session claims missing during run(): ${describeClaimFailures(failures)}`;\n }\n throw e;\n } finally {\n this.collecting = previous;\n }\n if (failures.length) {\n handlers.error(new SessionClaimsMissingError(failures));\n }\n }\n\n get isVET(): boolean {\n return this.state.isVET;\n }\n\n get sub(): string { return this.getClaim('sub'); }\n get empGuid(): string { return this.getClaim('employeeGUID'); }\n get employeeId(): string { return this.getClaim('employeeId'); }\n get internalSsoRole(): string { return this.getClaim('internal_sso_role'); }\n get roles(): string[] { return this.getClaim('roles'); }\n get sessionId(): string { return this.getClaim('sessionId'); }\n get loggedInUser(): string { return this.getClaim('loggedInUser'); }\n get exp(): number { return this.getClaim('exp'); }\n get iat(): number { return this.getClaim('iat'); }\n get businessUnitId(): string { return this.getClaim('businessUnitId'); }\n get allowedBuids(): string[] { return this.getClaim('ALLOWED_BUIDS'); }\n get vetUserEmailId(): string { return this.getClaim('vetUserEmailId'); }\n get vetUserId(): number { return this.getClaim('vetUserId'); }\n get source(): string { return this.getClaim('source'); }\n\n get roleId(): number {\n const raw = this.resolveRole(this.getClaims());\n if (!raw) {\n return this.missingClaim('roleId', 'absent');\n }\n return Number(raw);\n }\n\n /** First numeric role in `internal_sso_role` then `roles`, or `''` when the token carries none. */\n private resolveRole(claims: NsSession.IClaims): string {\n const candidates = [claims.internal_sso_role, ...(claims.roles ?? [])];\n return candidates\n .map(value => value?.trim())\n .find(value => this.isDigitsOnly(value)) ?? '';\n }\n\n private isDigitsOnly(value: string | undefined): value is string {\n return !!value && /^\\d+$/.test(value);\n }\n\n private getClaims(): NsSession.IClaims {\n const state = this.state;\n if (state.status === 'ok') {\n return state.claims;\n }\n if (state.status === 'not-found') {\n throw new SessionTokenNotFoundError();\n }\n if (state.status === 'expired') {\n throw new SessionTokenExpiredError();\n }\n throw new SessionTokenInvalidError();\n }\n\n private getClaim<K extends keyof NsSession.IClaims>(key: K): NonNullable<NsSession.IClaims[K]> {\n const claims = this.getClaims();\n const value = claims[key];\n const isEmptyString = typeof value === 'string' && value.trim() === '';\n if (value === undefined || value === null || isEmptyString) {\n return this.missingClaim(key as string, isEmptyString ? 'blank' : 'absent');\n }\n return (typeof value === 'string' ? value.trim() : value) as NonNullable<NsSession.IClaims[K]>;\n }\n\n /** Records the failure and yields `undefined` while `run` is collecting; throws otherwise. */\n private missingClaim(claim: string, reason: SessionClaimFailureReason): never {\n if (this.collecting) {\n this.collecting.push({ claim, reason });\n return undefined as never;\n }\n throw new SessionClaimNotFoundError(claim);\n }\n\n private get state(): SessionState {\n const { token, isVET } = this.findToken();\n if (!this.cachedState || token !== this.cachedToken) {\n this.cachedToken = token;\n this.cachedState = this.build(token, isVET);\n }\n return this.cachedState;\n }\n\n private build(token: string, isVET: boolean): SessionState {\n if (!token) {\n return { status: 'not-found', isVET };\n }\n\n let claims: NsSession.IClaims;\n try {\n claims = jwtDecode<NsSession.IClaims>(token);\n } catch {\n return { status: 'invalid', isVET };\n }\n\n if (this.isExpired(claims)) {\n return { status: 'expired', isVET };\n }\n\n return { status: 'ok', claims, isVET };\n }\n\n private isExpired(claims: NsSession.IClaims): boolean {\n return typeof claims.exp === 'number' && claims.exp * 1000 <= Date.now();\n }\n\n private isVETSource(): boolean {\n return getQueryParam('source') === LAUNCH_SOURCE_VET;\n }\n\n private resolveBuid(): string | null {\n return getQueryParam('buid') || getCookie('buid') || null;\n }\n\n private findToken(): { token: string; isVET: boolean } {\n const buid = this.resolveBuid();\n\n if (this.isVETSource()) {\n const vetKey = this.config.vetTokenCookieKey ?? (buid ? `${DEFAULT_VET_TOKEN_PREFIX}-${buid}` : null);\n const vetToken = (vetKey ? getCookie(vetKey) : '') || '';\n if (vetToken) {\n return { token: vetToken, isVET: true };\n }\n }\n\n const sessionToken = this.config.sessionTokenCookieKey\n ? getCookie(this.config.sessionTokenCookieKey)\n : (buid ? getCookie(`${DEFAULT_SESSION_TOKEN_PREFIX}-${buid}`) : '') || getCookie(DEFAULT_SESSION_TOKEN_FALLBACK_KEY);\n\n return { token: sessionToken || '', isVET: false };\n }\n}\n","/*\n * Public API Surface of wis-common\n */\n\nexport * from \"./lib/modules/auth/auth.service\";\nexport * from \"./lib/modules/auth/auth.module\";\nexport * from \"./lib/services/configuration.service\";\nexport * from \"./lib/models/configurations.model\";\nexport * from \"./lib/functions/nav-filter.function\";\nexport * from \"./lib/functions/cookie.function\";\nexport * from \"./lib/functions/url.functions\";\nexport * from \"./lib/interceptors/auth.interceptor\";\nexport * from \"./lib/services/loader.service\";\nexport * from \"./lib/modules/logger/logger.module\";\nexport * from \"./lib/modules/logger/logger.service\";\nexport * from \"./lib/wis-common.module\";\nexport * from \"./lib/modules/logger/logger.model\";\nexport * from \"./lib/components/sidenav/sidenav.component\";\nexport * from \"./lib/services/mfe-communication.service\";\nexport * from \"./lib/components/create-non-shift-modal/create-non-shift-modal.component\";\nexport * from \"./lib/services/session.service\";\nexport * from \"./lib/services/session.errors\";\nexport * from \"./lib/models/session.model\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.HttpService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"mis-wis-common.mjs","sources":["../../../libraries/wis-common/src/lib/modules/auth/auth.service.ts","../../../libraries/wis-common/src/lib/modules/auth/auth.module.ts","../../../libraries/wis-common/src/lib/services/configuration.service.ts","../../../libraries/wis-common/src/lib/functions/nav-filter.function.ts","../../../libraries/wis-common/src/lib/functions/cookie.function.ts","../../../libraries/wis-common/src/lib/functions/url.functions.ts","../../../libraries/wis-common/src/lib/interceptors/auth.interceptor.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.html","../../../libraries/wis-common/src/lib/services/loader.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.constant.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.functions.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.module.ts","../../../libraries/wis-common/src/lib/constants/emp-web-exp.constants.ts","../../../libraries/wis-common/src/lib/services/http.service.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.html","../../../libraries/wis-common/src/lib/constants/assets.constants.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.html","../../../libraries/wis-common/src/lib/wis-common.module.ts","../../../libraries/wis-common/src/lib/services/mfe-communication.service.ts","../../../libraries/wis-common/src/lib/services/session.errors.ts","../../../libraries/wis-common/src/lib/services/session.service.ts","../../../libraries/wis-common/src/public-api.ts","../../../libraries/wis-common/src/mis-wis-common.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\nimport { IUserInfo } from \"./auth.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AuthService {\n userDetails: IUserInfo;\n\n constructor() {}\n\n init(user: IUserInfo) {\n this.userDetails = user;\n }\n}\n","import { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AuthService } from \"./auth.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class AuthModule {\n /**\n *\n * @returns ModuleWithProviders<AuthModule>\n */\n static forRoot(): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [AuthService]\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ConfigurationService {\n constructor() {}\n}\n","import { NsWISConfigurations } from \"../models/configurations.model\";\n\nexport const filterNavList = (\n navList: NsWISConfigurations.ISidenavLink[],\n features: NsWISConfigurations.IFeaturesMap\n): NsWISConfigurations.ISidenavLink[] => {\n return navList.filter(nav => {\n const mustHave = nav.mustHaveBasedProperty && nav.mustHaveBasedProperty.every(basedProperty => features[basedProperty]);\n const canHave = nav.canHaveBasedProperty && nav.canHaveBasedProperty.some(basedProperty => features[basedProperty]);\n if ((mustHave || canHave) && nav.children) {\n nav.children = filterNavList(nav.children, features);\n }\n return mustHave || canHave;\n });\n};\n","interface ICookieOptions {\n expires?: string;\n path?: string;\n domain?: string;\n \"Max-Age\"?: string;\n Secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: \"Strict\" | \"Lax\" | \"None\";\n}\n\nexport function getCookie(name: string): string {\n const cookies = {};\n const cookieString = document.cookie;\n cookieString.split(\"; \").forEach(cookie => {\n const [key, value] = cookie.split(\"=\");\n cookies[key] = value;\n });\n return cookies[name] || undefined;\n}\n\nexport function setCookie(name: string, value: string, options?: ICookieOptions): void {\n let cookieStr = `${name}=${value};`;\n if (options) {\n const optsSelected = Object.keys(options);\n for (const opt of optsSelected) {\n cookieStr += ` ${opt}${(typeof options[opt] === \"string\" && `=${options[opt]}`) || \"\"};`;\n }\n }\n cookieStr += \";secure; SameSite=Strict;\";\n document.cookie = cookieStr;\n}\n\nexport function removeCookie(name: string, domain?: string): void {\n setCookie(name, \"\", { expires: new Date(0).toUTCString(), domain });\n}\n","export function getQueryParam(queryString: string): string | null {\n const results = new RegExp(\"[?&]\" + queryString + \"=([^&#]*)\").exec(window.location.href);\n if (results === null) {\n return null;\n } else {\n return decodeURIComponent(results[1]) || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { tap } from \"rxjs/operators\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { getCookie } from \"../functions/cookie.function\";\nimport { getQueryParam } from \"../functions/url.functions\";\n\nconst TOKEN_NAME = \"x-wis-token\";\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private route: ActivatedRoute, private toast: ToastService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n const paramsMap = this.route.snapshot.queryParamMap;\n const buid = getQueryParam(\"buid\") || getQueryParam(\"buId\") || \"\";\n const empGuid = getQueryParam(\"empGuid\") || getQueryParam(\"empGuId\") || getQueryParam(\"userId\") || \"\";\n // const source = getQueryParam(\"source\");\n const authToken = getQueryParam(\"auth-token\");\n const token = getCookie(`sso-wis-token-${buid}`);\n const mobile_app_token = getCookie(TOKEN_NAME);\n const cloneReq = request.clone({\n setHeaders: {\n \"x-tenant-id\": buid,\n \"x-user-id\": empGuid,\n ...(!!token && { [TOKEN_NAME]: token }),\n ...(!!authToken && { [TOKEN_NAME]: authToken }),\n ...(!!mobile_app_token && { [TOKEN_NAME]: mobile_app_token })\n }\n });\n return next.handle(cloneReq).pipe(\n tap(\n () => {},\n err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.toast.displayMsg(\"Your session has expired. Please login again.\",6000);\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"mis-common-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"]\n})\nexport class LoaderComponent implements OnInit {\n message: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"message-wrapper\" *ngIf=\"message; else noMessageLoader\">\n <span><mis-loader type=\"block\"></mis-loader></span>\n <p>{{ message }}</p>\n</div>\n<ng-template #noMessageLoader>\n <mis-loader></mis-loader>\n</ng-template>\n","/** @format */\n\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { LoaderComponent } from \"../components/loader/loader.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoaderService {\n private overlayRef: OverlayRef;\n public loading = false;\n\n constructor(private overlay: Overlay) {}\n\n show(message?: string): void {\n this.loading = true;\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n const { positionStrategy, width, backdropClass, hasMessage } = this.calcLoaderProperties(!!message);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width,\n backdropClass\n });\n this.overlayRef = this.overlay.create(config);\n const portal = new ComponentPortal(LoaderComponent, null);\n const componentRef = this.overlayRef.attach(portal);\n if (hasMessage) {\n componentRef.instance.message = message;\n }\n }\n\n hide(): void {\n this.loading = false;\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n private calcLoaderProperties(hasMessage: boolean): {\n positionStrategy: GlobalPositionStrategy;\n width: string;\n backdropClass: string;\n hasMessage: boolean;\n } {\n const positionStrategy = this.overlay.position().global();\n let width = \"100vh\";\n let backdropClass = \"cdk-overlay-transparent-backdrop\";\n if (hasMessage) {\n width = \"initial\";\n backdropClass = \"wis-common-loader-bg\";\n positionStrategy.centerHorizontally().centerVertically();\n } else {\n positionStrategy.top(\"0px\").right(\"0px\");\n }\n return { positionStrategy, width, backdropClass, hasMessage };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_LOGGER = {\n APP_NAME: \"wisLoggerApp\",\n ENV_VAR: \"wisLoggerEnv\"\n};\n","import { TEnvName } from \"./logger.model\";\nconst envMap = {\n dev: \"https://ui-logger.stage.moveinsync.com\",\n qa: \"https://ui-logger.stage.moveinsync.com\",\n production: \"https://ui-logger.moveinsync.com\",\n uat: \"https://ui-logger-uat.moveinsync.com\",\n \"production-green\": \"https://ui-logger-green.moveinsync.com\",\n \"production-beta\": \"https://ui-logger-beta.moveinsync.com\",\n \"production-eu\": \"https://ui-logger.eu.moveinsync.com\",\n \"production-eu-green\": \"https://ui-logger-green.eu.moveinsync.com\",\n \"production-eu-beta\": \"https://ui-logger-beta.eu.moveinsync.com\",\n \"production-mu\": \"https://ui-logger.moveinsync.in\",\n \"production-mu-green\": \"https://ui-logger-green.moveinsync.in\",\n \"production-mu-beta\": \"https://ui-logger-beta.moveinsync.in\",\n};\nexport function environmentHandler(env: TEnvName) {\n if (!env) {\n return \"/logger\";\n }\n return envMap[env];\n}\n","import { TEnvName } from \"./logger.model\";\nimport { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { environmentHandler } from \"./logger.functions\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoggerService {\n private cookies: boolean = false;\n\n constructor(\n private http: HttpClient,\n @Inject(CONSTANTS_LOGGER.APP_NAME) private appName: string,\n @Inject(CONSTANTS_LOGGER.ENV_VAR) private appEnv: TEnvName\n ) {}\n\n useCookies(useCookies: boolean) {\n this.cookies = useCookies;\n }\n\n private logRequest(data: any, logLevel: \"info\" | \"error\" | \"warn\") {\n const request = {\n data,\n cookies: this.cookies ? document.cookie : undefined,\n logLevel\n };\n this.postLog(request);\n }\n\n private postLog(request) {\n const url = `${environmentHandler(this.appEnv)}/report-log/${this.appName}`;\n this.http.post(`${url}`, request).subscribe();\n }\n\n info(data: any) {\n this.logRequest(data, \"info\");\n }\n\n warn(data: any) {\n this.logRequest(data, \"warn\");\n }\n\n error(data: any, componentName: string, serviceUrl?: string) {\n this.logRequest({ ...data, componentName, serviceUrl }, \"error\");\n }\n}\n","import { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { TEnvName } from \"./logger.model\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class LoggerModule {\n /**\n *\n * @param appName any app name eg. FAQ, Floor Plan, In App Popup, etc.\n * @param env \"dev\" | \"qa\" | \"uat\" | \"prod\" | \"prod-beta\" | \"prod-green\" | \"prod-eu\" | \"prod-eu-green\" | undefined\n * @returns ModuleWithProviders<LoggerModule>\n */\n static forChild(appName: string, env?: TEnvName): ModuleWithProviders<LoggerModule> {\n return {\n ngModule: LoggerModule,\n providers: [\n {\n provide: CONSTANTS_LOGGER.APP_NAME,\n useValue: appName\n },\n {\n provide: CONSTANTS_LOGGER.ENV_VAR,\n useValue: env\n },\n LoggerService\n ]\n };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_WIS_COMMON = {\n ENV_VAR: \"wisCommonEnvironment\"\n};\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { map, Observable } from \"rxjs\";\nimport { CONSTANTS_WIS_COMMON } from \"../constants/emp-web-exp.constants\";\nimport { NsWISConfigurations } from \"../models/configurations.model\";\nimport { NsWISCommon } from \"../models/env.model\";\nimport { AuthService } from \"../modules/auth/auth.service\";\n\nconst API_URLS = {\n CONFIGURATIONS: \"configurations\"\n};\n\n@Injectable()\nexport class HttpService {\n constructor(@Inject(CONSTANTS_WIS_COMMON) public env: NsWISCommon.IEnv, private http: HttpClient) {}\n\n getProperties(Porperties: string[]) {\n return this.http.get(`${this.env.ets}/ets/apis/properties/${Porperties.join(\",\")}`).pipe(\n map((res: any) => {\n return res.reduce((acc: any, item: any) => {\n acc[item.propertyName] = item.propertyValue === \"true\" ? true : item.propertyValue === \"false\" ? false : item.propertyValue;\n return acc;\n }, {});\n })\n );\n }\n\n getOffices(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=getOfficeList`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n listTransportLocalities(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=listTransportLocalities`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n createEmptyIrregularTripSheet(nonce: string, direction: string): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=createEmptyIrregularTripSheet&direction=${direction}`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n addEmployeeToTripSheet(\n nonce: string,\n params: {\n tripsheet: any;\n employee: any;\n pickupLoc: any;\n dropLoc: any;\n pickUpTime: string;\n dropTime: string;\n position: number;\n routeSource?: string;\n assetList?: any;\n }\n ): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=addEmployeeToTripSheet&tripsheet=${encodeURIComponent(\n JSON.stringify(params.tripsheet)\n )}&employee=${encodeURIComponent(JSON.stringify(params.employee))}&pickupLoc=${encodeURIComponent(\n JSON.stringify(params.pickupLoc)\n )}&dropLoc=${encodeURIComponent(JSON.stringify(params.dropLoc))}&pickUpTime=\"${params.pickUpTime}\"&dropTime=\"${params.dropTime}\"&position=${\n params.position\n }${params.routeSource ? \"&routeSource=\" + params.routeSource : \"\"}${\n params.assetList ? \"&assetList=\" + encodeURIComponent(JSON.stringify(params.assetList)) : \"\"\n }`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"wis-common-sidenav\",\n templateUrl: \"./sidenav.component.html\",\n styleUrls: [\"./sidenav.component.scss\"]\n})\nexport class SidenavComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wis-sidenav-wrapper\">\n <div class=\"wis-sidenav-header\">\n <div class=\"wis-sidenav-header-logo\">\n <img src=\"assets/sidenav/assets/Wis-icon.svg\" alt=\"\" />\n </div>\n <div class=\"wis-sidenav-header-title\">\n <h1>WIS</h1>\n </div>\n </div>\n <div class=\"wis-sidenav-body\">\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-home\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Home</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-user\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Profile</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-users\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Users</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-cog\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Settings</h3>\n </div>\n </div>\n </div>\n</div>\n","/** @format */\n\nexport const CONSTANTS_ASSETS_WIS_COMMON = {\n IMAGES: {\n CALENDAR_ICON: \"assets/libraries/wis-common/calendar.svg\"\n },\n ICONS: {}\n};\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { IDatePickerConfig } from \"mis-crystal-design-system/datepicker_v2\";\nimport { CONSTANTS_ASSETS_WIS_COMMON } from \"../../constants/assets.constants\";\nimport { HttpService } from \"../../services/http.service\";\nimport { DropdownItem } from \"mis-crystal-design-system/dropdown\";\nimport { forkJoin } from \"rxjs\";\nimport { finalize } from \"rxjs/operators\";\nimport { MODAL_DATA_VAR, ModalRef } from \"mis-crystal-design-system/modal\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\ndayjs.extend(customParseFormat);\n\nconst PROPERTIES = [\"NON_SHIFT_TRIPS_CATEGORIES\", \"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"];\nconst DATE_FORMAT = \"DD/MM/YYYY\";\nconst PICKUP_TIME_FORMAT = \"DD/MM/YYYY HH/mm/ss\";\n\ninterface LocationValue {\n type: number;\n office: any | null;\n}\n\ninterface LocationDropdownItem {\n label: string;\n value: LocationValue;\n}\n\n@Component({\n selector: \"app-create-non-shift-modal\",\n templateUrl: \"./create-non-shift-modal.component.html\",\n styleUrls: [\"./create-non-shift-modal.component.scss\"]\n})\nexport class CreateNonShiftModalComponent implements OnInit {\n CONSTANTS_ASSETS_WIS_COMMON = CONSTANTS_ASSETS_WIS_COMMON;\n\n dateConfig: Partial<IDatePickerConfig> = {\n minDate: dayjs().format(DATE_FORMAT),\n format: DATE_FORMAT\n };\n createTripsheetForm!: FormGroup;\n offices: DropdownItem[] = [];\n\n locationDropdownData: LocationDropdownItem[] = [];\n\n categoryDropdownData: DropdownItem[] = [];\n\n hoursDropdownData: DropdownItem[] = [];\n\n minutesDropdownData: DropdownItem[] = [];\n\n showOtherAddress: boolean = false;\n\n loading: boolean = false;\n isSubmitting: boolean = false;\n\n readonly TYPE_OFFICE = 6;\n readonly TYPE_TRANSPORT = 3;\n readonly TYPE_OTHER = 4;\n properties: Record<string, any> = {};\n\n constructor(@Inject(MODAL_DATA_VAR) public modalData: any, private modalRef: ModalRef, private fb: FormBuilder, private http: HttpService,private toast: ToastService) {}\n\n ngOnInit(): void {\n this.loading = true;\n\n const $office = this.http.getOffices(this.modalData.nonce);\n const $properties = this.http.getProperties(PROPERTIES);\n\n forkJoin([$office, $properties])\n .pipe(finalize(() => (this.loading = false)))\n .subscribe({\n next: ([offices, properties]) => {\n this.properties = properties;\n this.initializeForm();\n this.initializeDropdownData(offices);\n this.setupFormListeners();\n },\n error: error => {\n console.error(\"Error loading form data:\", error);\n this.modalRef.close();\n }\n });\n }\n\n private initializeForm(): void {\n const currentTime = this.modalData?.date ?? dayjs().format(DATE_FORMAT);\n\n this.createTripsheetForm = this.fb.group({\n direction: [this.modalData?.shiftType === \"logout\" ? \"OUT\" : \"IN\", Validators.required],\n location: [{ label: \"\", value: \"\" }],\n otherAddress: \"\",\n tripCategory: [{ label: \"\", value: \"\" }],\n date: [currentTime, Validators.required],\n hours: [{ label: \"\", value: \"\" }],\n mins: [{ label: \"\", value: \"\" }]\n });\n }\n\n private initializeDropdownData(offices: any): void {\n this.locationDropdownData = offices.map(\n (office: any): LocationDropdownItem => ({\n label: office.address,\n value: { type: this.TYPE_OFFICE, office: office || null }\n })\n );\n this.createTripsheetForm.get(\"location\")?.setValue(this.locationDropdownData[0]);\n\n if (!this.properties?.[\"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"]) {\n this.locationDropdownData.push(\n { label: \"Airport\", value: { type: this.TYPE_TRANSPORT, office: null } } as LocationDropdownItem,\n { label: \"Other\", value: { type: this.TYPE_OTHER, office: null } } as LocationDropdownItem\n );\n }\n\n // Initialize category dropdown\n const categoriesString = this.properties?.[\"NON_SHIFT_TRIPS_CATEGORIES\"];\n if (categoriesString && typeof categoriesString === \"string\") {\n const categories = categoriesString.split(\",\").filter(cat => cat && cat.trim());\n if (categories.length > 0) {\n this.categoryDropdownData = categories.map(category => ({\n label: category.trim(),\n value: category.trim()\n }));\n }\n }\n\n const currentHour = new Date().getHours();\n this.hoursDropdownData = Array.from({ length: 24 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ hours: this.hoursDropdownData[currentHour] });\n\n const currentMinute = new Date().getMinutes();\n this.minutesDropdownData = Array.from({ length: 60 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ mins: this.minutesDropdownData[currentMinute] });\n }\n\n private setupFormListeners(): void {\n this.createTripsheetForm?.valueChanges.subscribe(value => {\n const { location } = this.createTripsheetForm?.value;\n if (this.showOtherAddress !== (location?.value?.type === this.TYPE_OTHER)) {\n this.showOtherAddress = location?.value?.type === this.TYPE_OTHER;\n if (this.showOtherAddress) {\n this.createTripsheetForm.get(\"otherAddress\")?.setValidators([Validators.required]);\n } else {\n this.createTripsheetForm.get(\"otherAddress\")?.clearValidators();\n }\n this.createTripsheetForm.get(\"otherAddress\")?.updateValueAndValidity();\n }\n });\n }\n\n private padZero(num: number): string {\n return num.toString().padStart(2, \"0\");\n }\n\n onCancel(): void {\n this.modalRef.close();\n }\n\n onSubmit(): void {\n if (this.createTripsheetForm.invalid) {\n return;\n }\n\n const formValue = this.createTripsheetForm.value;\n\n const pickupTime = `${formValue.date} ${formValue.hours.value}/${formValue.mins.value}/00`;\n const pickupTimeDate = dayjs(pickupTime, PICKUP_TIME_FORMAT).toDate();\n if (this.isDateAndTimeFromPast(pickupTimeDate)) {\n this.toast.displayMsg(\"Please select a future date and time.\");\n return;\n }\n\n if (this.categoryDropdownData.length > 0 && (!formValue.tripCategory || !formValue.tripCategory.value)) {\n this.toast.displayMsg(\"Please provide a trip category.\");\n return;\n }\n\n if (formValue.location?.value?.type === this.TYPE_OTHER) {\n if (!formValue.otherAddress || formValue.otherAddress.trim() === \"\") {\n this.toast.displayMsg(\"Please provide the address.\");\n return;\n }\n if (formValue.otherAddress.includes(\",\")) {\n this.toast.displayMsg(\"Special character (,) not allowed in address.\");\n return;\n }\n }\n\n this.isSubmitting = true;\n\n this.http.createEmptyIrregularTripSheet(this.modalData.nonce, formValue.direction).subscribe({\n next: routeTripSheet => {\n const pickupLoc = routeTripSheet.dir === \"IN\" ? this.modalData.employee.home : this.getLocation(formValue);\n const dropLoc = routeTripSheet.dir === \"OUT\" ? this.modalData.employee.home : this.getLocation(formValue);\n const pickupTimeFormatted = pickupTime;\n const dropTimeFormatted = pickupTime;\n\n const employee = { ...this.modalData.employee, employee_status: 1 };\n\n const addEmployeeParams = {\n tripsheet: routeTripSheet,\n employee: employee,\n pickupLoc: pickupLoc,\n dropLoc: dropLoc,\n pickUpTime: pickupTimeFormatted,\n dropTime: dropTimeFormatted,\n position: 0,\n routeSource: this.modalData.routeSource,\n assetList: this.modalData.assetList\n };\n\n this.http.addEmployeeToTripSheet(this.modalData.nonce, addEmployeeParams).subscribe({\n next: updatedTripSheet => {\n if (!updatedTripSheet.customMap) {\n updatedTripSheet.customMap = {};\n }\n updatedTripSheet.customMap.tripCategory = formValue.tripCategory?.value || \"\";\n\n this.modalRef.close({\n success: true,\n tripsheet: updatedTripSheet\n });\n },\n error: error => {\n console.error(\"Error adding employee to tripsheet:\", error);\n this.toast.displayMsg(\"Failed to add employee to tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n },\n error: error => {\n console.error(\"Error creating tripsheet:\", error);\n this.toast.displayMsg(\"Failed to create tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n }\n\n private isDateAndTimeFromPast(date: Date): boolean {\n const now = new Date();\n return date < now;\n }\n\n private getLocation(formValue: any): any {\n const location = formValue.location?.value;\n\n if (!location) {\n return null;\n }\n\n const locType = location.type;\n\n switch (locType) {\n case this.TYPE_OFFICE:\n return location.office;\n\n case this.TYPE_TRANSPORT:\n return {\n id: null,\n type: this.TYPE_TRANSPORT,\n address: \"Airport\",\n geoCord: null\n };\n\n case this.TYPE_OTHER:\n return {\n ...location.office,\n address: formValue.otherAddress || \"\"\n };\n }\n }\n}\n","<div class=\"createTripsheet\">\n <h2 class=\"modal-header\">Create Non-Shift Tripsheet</h2>\n\n <div *ngIf=\"loading\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Loading...</p>\n </div>\n\n <form\n *ngIf=\"!loading && createTripsheetForm\"\n [formGroup]=\"createTripsheetForm\"\n (ngSubmit)=\"onSubmit()\"\n class=\"createTripsheetForm\"\n id=\"createTripsheetForm\"\n >\n <div class=\"form-content\">\n <!-- Radio buttons row -->\n <div [ngClass]=\"{ 'radio-row': true, disabled: modalData?.shiftSelectionDisabled }\">\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"OUT\" id=\"startLoc\" />\n <span>Start Location Fixed (Logout)</span>\n </label>\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"IN\" id=\"endLoc\" />\n <span>End Location Fixed (Login)</span>\n </label>\n </div>\n\n <!-- Location field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"locText\">Location</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'40px'\"\n [data]=\"locationDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('location')?.value\"\n [label]=\"'Select location...'\"\n (onChange)=\"createTripsheetForm.get('location')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Other address field -->\n <div class=\"form-field otherAddress\" *ngIf=\"showOtherAddress\">\n <div class=\"label-cell\">\n <label>Pick/Drop point <sup>*</sup></label>\n </div>\n <div class=\"input-cell\">\n <input type=\"text\" formControlName=\"otherAddress\" class=\"modern-input\" />\n </div>\n </div>\n\n <!-- Trip category field -->\n <div class=\"form-field\" *ngIf=\"categoryDropdownData.length > 0\">\n <div class=\"label-cell\">\n <label>Trip Category</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'250px'\"\n [height]=\"'40px'\"\n [data]=\"categoryDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('tripCategory')?.value\"\n [label]=\"'Select category...'\"\n (onChange)=\"createTripsheetForm.get('tripCategory')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Time field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"fixedTimeText\">Time</label>\n </div>\n <div class=\"input-cell modern-date-container\">\n <div class=\"date-select\">\n <input\n misTzDp\n readonly\n [dpConfig]=\"dateConfig\"\n [formControl]=\"createTripsheetForm.get('date')\"\n style=\"height: 44px !important; font-size: 16px !important; cursor: pointer; vertical-align: middle !important\"\n />\n <img [src]=\"CONSTANTS_ASSETS_WIS_COMMON.IMAGES.CALENDAR_ICON\" alt=\"Calendar Icon\" class=\"date-icon data-picker-icon\" />\n </div>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"hoursDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('hours')?.value\"\n [label]=\"'HH'\"\n (onChange)=\"createTripsheetForm.get('hours')?.setValue($event)\"\n ></mis-dropdown>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"minutesDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('mins')?.value\"\n [label]=\"'MM'\"\n (onChange)=\"createTripsheetForm.get('mins')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"form-actions\">\n <button mis-button type=\"outline\" (click)=\"onCancel()\" [disabled]=\"isSubmitting\">Cancel</button>\n <button mis-button type=\"primary\" [disabled]=\"isSubmitting || createTripsheetForm?.invalid\">\n {{ isSubmitting ? \"Creating...\" : \"Create\" }}\n </button>\n </div>\n </form>\n</div>\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ConfigurationService } from \"./services/configuration.service\";\nimport { NsWISCommon } from \"./models/env.model\";\nimport { CONSTANTS_WIS_COMMON } from \"./constants/emp-web-exp.constants\";\nimport { HttpService } from \"./services/http.service\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { LoaderComponent } from \"./components/loader/loader.component\";\nimport { LoaderService } from \"./services/loader.service\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\nimport { CreateNonShiftModalComponent } from \"./components/create-non-shift-modal/create-non-shift-modal.component\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\nimport { HttpClientModule } from \"@angular/common/http\";\n\n@NgModule({\n declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent],\n imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2,],\n providers: [],\n exports: [SidenavComponent, CreateNonShiftModalComponent]\n})\nexport class WisCommonModule {\n static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule> {\n return {\n ngModule: WisCommonModule,\n providers: [HttpService,{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]\n };\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { NsWISConfigurations } from \"../models/configurations.model\";\n@Injectable({\n providedIn: 'root'\n})\nexport class MfeCommunicationService {\n private _etsLoginUser: NsWISConfigurations.ILoginUserDetails;\n\n setUserDetails(userDetails: NsWISConfigurations.ILoginUserDetails): void {\n this._etsLoginUser = userDetails;\n }\n\n getUserDetails(): NsWISConfigurations.ILoginUserDetails {\n return this._etsLoginUser;\n }\n\n constructor() { }\n loginDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n employeeExperience = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n floorPlan = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n meetingRooms = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n adminUI = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n paymentsDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1); \n visitorMgmt = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n}\n","export abstract class SessionError extends Error {}\n\nexport class SessionTokenNotFoundError extends SessionError {\n constructor() {\n super('Session token was not found.');\n this.name = 'SessionTokenNotFoundError';\n }\n}\n\nexport class SessionTokenExpiredError extends SessionError {\n constructor() {\n super('Session token has expired.');\n this.name = 'SessionTokenExpiredError';\n }\n}\n\nexport class SessionTokenInvalidError extends SessionError {\n constructor() {\n super('Session token could not be decoded.');\n this.name = 'SessionTokenInvalidError';\n }\n}\n\nexport class SessionClaimNotFoundError extends SessionError {\n constructor(public readonly claim: string) {\n super(`Session claim \"${claim}\" was not found in the token.`);\n this.name = 'SessionClaimNotFoundError';\n }\n}\n\nexport type SessionClaimFailureReason = 'absent' | 'blank';\n\nexport interface ISessionClaimFailure {\n claim: string;\n reason: SessionClaimFailureReason;\n}\n\n/** Renders failures as `claim (reason), claim (reason)` for error messages. */\nexport function describeClaimFailures(failures: ISessionClaimFailure[]): string {\n return failures.map(f => `${f.claim} (${f.reason})`).join(', ');\n}\n\n/**\n * Every claim `run`'s `next` failed to read, reported once after the block has finished.\n * Extends `SessionClaimNotFoundError` — and reports the first failure as `claim` — so handlers\n * written against the single-claim error keep working.\n */\nexport class SessionClaimsMissingError extends SessionClaimNotFoundError {\n constructor(public readonly failures: ISessionClaimFailure[]) {\n super(failures[0].claim);\n this.name = 'SessionClaimsMissingError';\n this.message = `Session claims not found: ${describeClaimFailures(failures)}.`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport jwtDecode from 'jwt-decode';\n\nimport { getCookie } from '../functions/cookie.function';\nimport { getQueryParam } from '../functions/url.functions';\nimport { NsSession } from '../models/session.model';\nimport {\n describeClaimFailures,\n ISessionClaimFailure,\n SessionClaimFailureReason,\n SessionClaimNotFoundError,\n SessionClaimsMissingError,\n SessionError,\n SessionTokenExpiredError,\n SessionTokenInvalidError,\n SessionTokenNotFoundError,\n} from './session.errors';\n\nconst DEFAULT_SESSION_TOKEN_PREFIX = 'sso-wis-token';\nconst DEFAULT_SESSION_TOKEN_FALLBACK_KEY = 'x-wis-token';\nconst DEFAULT_VET_TOKEN_PREFIX = 'x-vet-token';\nconst LAUNCH_SOURCE_VET = 'VET';\n\n/** The accessors that read a single claim, and so can come back `undefined` inside `run`. */\ntype ClaimAccessor =\n | 'sub'\n | 'empGuid'\n | 'employeeId'\n | 'internalSsoRole'\n | 'roles'\n | 'sessionId'\n | 'loggedInUser'\n | 'exp'\n | 'iat'\n | 'businessUnitId'\n | 'allowedBuids'\n | 'vetUserEmailId'\n | 'vetUserId'\n | 'source'\n | 'roleId';\n\n/**\n * The session as seen inside `run`'s `next`. `run` collects missing claims instead of throwing\n * so the block always completes, which means any claim accessor may yield `undefined`.\n * Outside `run` — direct access, or `read` — the accessors still throw and stay non-optional.\n */\nexport type PartialSession = Omit<SessionService, ClaimAccessor> & {\n readonly [K in ClaimAccessor]: SessionService[K] | undefined;\n};\n\ntype SessionState =\n | { status: 'ok'; claims: NsSession.IClaims; isVET: boolean }\n | { status: 'not-found'; isVET: boolean }\n | { status: 'expired'; isVET: boolean }\n | { status: 'invalid'; isVET: boolean };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionService {\n private config: NsSession.IInitConfig = {};\n private cachedToken: string | null = null;\n private cachedState: SessionState | null = null;\n private collecting: ISessionClaimFailure[] | null = null;\n\n init(config: NsSession.IInitConfig): void {\n this.config = { ...config };\n this.cachedToken = null;\n this.cachedState = null;\n }\n\n /**\n * Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.\n * Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.\n */\n read<T>(handlers: { next: (session: SessionService) => T; error: (error: SessionError) => T }): T {\n try {\n return handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n return handlers.error(e);\n }\n throw e;\n }\n }\n\n /**\n * Statement-style variant of `read` for blocks of assignments/side effects with no return value.\n *\n * `next` always runs to completion: a claim that is absent or blank yields `undefined` instead of\n * throwing, and every such failure is reported once afterwards via `handlers.error`, as a\n * `SessionClaimsMissingError` listing all of them. An unusable token (missing, expired,\n * undecodable) still aborts `next` immediately with the matching `SessionError`.\n *\n * Collecting covers the synchronous body of `next` only — claim reads deferred into a subscription,\n * timeout or promise run after it has returned and throw as usual.\n *\n * An error `next` throws for any other reason propagates untouched, except that any claims missing\n * at the time are appended to its message and attached as `sessionClaimFailures` — a collected\n * `undefined` reaching the block is the usual cause, and that is the part worth knowing.\n */\n run(handlers: { next: (session: PartialSession) => void; error: (error: SessionError) => void }): void {\n const failures: ISessionClaimFailure[] = [];\n const previous = this.collecting;\n this.collecting = failures;\n try {\n handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n handlers.error(e);\n return;\n }\n if (failures.length && e instanceof Error) {\n (e as Error & { sessionClaimFailures?: ISessionClaimFailure[] }).sessionClaimFailures = failures;\n e.message = `${e.message} — session claims missing during run(): ${describeClaimFailures(failures)}`;\n }\n throw e;\n } finally {\n this.collecting = previous;\n }\n if (failures.length) {\n handlers.error(new SessionClaimsMissingError(failures));\n }\n }\n\n get isVET(): boolean {\n return this.state.isVET;\n }\n\n get sub(): string { return this.getClaim('sub'); }\n get empGuid(): string { return this.getClaim('employeeGUID'); }\n get employeeId(): string { return this.getClaim('employeeId'); }\n get internalSsoRole(): string { return this.getClaim('internal_sso_role'); }\n get roles(): string[] { return this.getClaim('roles'); }\n get sessionId(): string { return this.getClaim('sessionId'); }\n get loggedInUser(): string { return this.getClaim('loggedInUser'); }\n get exp(): number { return this.getClaim('exp'); }\n get iat(): number { return this.getClaim('iat'); }\n get businessUnitId(): string { return this.getClaim('businessUnitId'); }\n get allowedBuids(): string[] { return this.getClaim('ALLOWED_BUIDS'); }\n get vetUserEmailId(): string { return this.getClaim('vetUserEmailId'); }\n get vetUserId(): number { return this.getClaim('vetUserId'); }\n get source(): string { return this.getClaim('source'); }\n\n get roleId(): number {\n const raw = this.resolveRole(this.getClaims());\n if (!raw) {\n return this.missingClaim('roleId', 'absent');\n }\n return Number(raw);\n }\n\n /** First numeric role in `internal_sso_role` then `roles`, or `''` when the token carries none. */\n private resolveRole(claims: NsSession.IClaims): string {\n const candidates = [claims.internal_sso_role, ...(claims.roles ?? [])];\n return candidates\n .map(value => value?.trim())\n .find(value => this.isDigitsOnly(value)) ?? '';\n }\n\n private isDigitsOnly(value: string | undefined): value is string {\n return !!value && /^\\d+$/.test(value);\n }\n\n private getClaims(): NsSession.IClaims {\n const state = this.state;\n if (state.status === 'ok') {\n return state.claims;\n }\n if (state.status === 'not-found') {\n throw new SessionTokenNotFoundError();\n }\n if (state.status === 'expired') {\n throw new SessionTokenExpiredError();\n }\n throw new SessionTokenInvalidError();\n }\n\n private getClaim<K extends keyof NsSession.IClaims>(key: K): NonNullable<NsSession.IClaims[K]> {\n const claims = this.getClaims();\n const value = claims[key];\n const isEmptyString = typeof value === 'string' && value.trim() === '';\n if (value === undefined || value === null || isEmptyString) {\n return this.missingClaim(key as string, isEmptyString ? 'blank' : 'absent');\n }\n return (typeof value === 'string' ? value.trim() : value) as NonNullable<NsSession.IClaims[K]>;\n }\n\n /** Records the failure and yields `undefined` while `run` is collecting; throws otherwise. */\n private missingClaim(claim: string, reason: SessionClaimFailureReason): never {\n if (this.collecting) {\n this.collecting.push({ claim, reason });\n return undefined as never;\n }\n throw new SessionClaimNotFoundError(claim);\n }\n\n private get state(): SessionState {\n const { token, isVET } = this.findToken();\n if (!this.cachedState || token !== this.cachedToken) {\n this.cachedToken = token;\n this.cachedState = this.build(token, isVET);\n }\n return this.cachedState;\n }\n\n private build(token: string, isVET: boolean): SessionState {\n if (!token) {\n return { status: 'not-found', isVET };\n }\n\n let claims: NsSession.IClaims;\n try {\n claims = jwtDecode<NsSession.IClaims>(token);\n } catch {\n return { status: 'invalid', isVET };\n }\n\n if (this.isExpired(claims)) {\n return { status: 'expired', isVET };\n }\n\n return { status: 'ok', claims, isVET };\n }\n\n private isExpired(claims: NsSession.IClaims): boolean {\n return typeof claims.exp === 'number' && claims.exp * 1000 <= Date.now();\n }\n\n private isVETSource(): boolean {\n return getQueryParam('source') === LAUNCH_SOURCE_VET;\n }\n\n private resolveBuid(): string | null {\n return getQueryParam('buid') || getCookie('buid') || null;\n }\n\n private findToken(): { token: string; isVET: boolean } {\n const buid = this.resolveBuid();\n\n if (this.isVETSource()) {\n const vetKey = this.config.vetTokenCookieKey ?? (buid ? `${DEFAULT_VET_TOKEN_PREFIX}-${buid}` : null);\n const vetToken = (vetKey ? getCookie(vetKey) : '') || '';\n if (vetToken) {\n return { token: vetToken, isVET: true };\n }\n }\n\n const sessionToken = this.config.sessionTokenCookieKey\n ? getCookie(this.config.sessionTokenCookieKey)\n : (buid ? getCookie(`${DEFAULT_SESSION_TOKEN_PREFIX}-${buid}`) : '') || getCookie(DEFAULT_SESSION_TOKEN_FALLBACK_KEY);\n\n return { token: sessionToken || '', isVET: false };\n }\n}\n","/*\n * Public API Surface of wis-common\n */\n\nexport * from \"./lib/modules/auth/auth.service\";\nexport * from \"./lib/modules/auth/auth.module\";\nexport * from \"./lib/services/configuration.service\";\nexport * from \"./lib/models/configurations.model\";\nexport * from \"./lib/functions/nav-filter.function\";\nexport * from \"./lib/functions/cookie.function\";\nexport * from \"./lib/functions/url.functions\";\nexport * from \"./lib/interceptors/auth.interceptor\";\nexport * from \"./lib/services/loader.service\";\nexport * from \"./lib/modules/logger/logger.module\";\nexport * from \"./lib/modules/logger/logger.service\";\nexport * from \"./lib/wis-common.module\";\nexport * from \"./lib/modules/logger/logger.model\";\nexport * from \"./lib/components/sidenav/sidenav.component\";\nexport * from \"./lib/services/mfe-communication.service\";\nexport * from \"./lib/components/create-non-shift-modal/create-non-shift-modal.component\";\nexport * from \"./lib/services/session.service\";\nexport * from \"./lib/services/session.errors\";\nexport * from \"./lib/models/session.model\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.HttpService","i4"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;MAMa,WAAW,CAAA;AAGtB,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,IAAI,CAAC,IAAe,EAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;;wGAPU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCIY,UAAU,CAAA;AACrB;;;AAGG;AACH,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB,CAAC;KACH;;uGAVU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAV,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAHX,YAAY,CAAA,EAAA,CAAA,CAAA;AAGX,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAHX,YAAY,CAAA,EAAA,CAAA,CAAA;2FAGX,UAAU,EAAA,UAAA,EAAA,CAAA;kBALtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;iBACd,CAAA;;;MCHY,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA,GAAgB;;iHADL,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCFY,aAAa,GAAG,CAC3B,OAA2C,EAC3C,QAA0C,KACJ;AACtC,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,IAAG;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,qBAAqB,IAAI,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QACxH,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,GAAG,CAAC,QAAQ,EAAE;YACzC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACtD,SAAA;QACD,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,KAAC,CAAC,CAAC;AACL;;ACJM,SAAU,SAAS,CAAC,IAAY,EAAA;IACpC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,IAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;IACrC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAG;AACxC,QAAA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACvB,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;AACpC,CAAC;SAEe,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAwB,EAAA;AAC7E,IAAA,IAAI,SAAS,GAAG,CAAA,EAAG,IAAI,CAAI,CAAA,EAAA,KAAK,GAAG,CAAC;AACpC,IAAA,IAAI,OAAO,EAAE;QACX,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;YAC9B,SAAS,IAAI,IAAI,GAAG,CAAA,EAAG,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAA,CAAA,EAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAA,CAAA,CAAG,CAAC;AAC1F,SAAA;AACF,KAAA;IACD,SAAS,IAAI,2BAA2B,CAAC;AACzC,IAAA,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;AAC9B,CAAC;AAEe,SAAA,YAAY,CAAC,IAAY,EAAE,MAAe,EAAA;IACxD,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtE;;AClCM,SAAU,aAAa,CAAC,WAAmB,EAAA;IAC/C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1F,IAAI,OAAO,KAAK,IAAI,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AAAM,SAAA;QACL,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/C,KAAA;AACH;;ACCA,MAAM,UAAU,GAAG,aAAa,CAAC;MAEpB,eAAe,CAAA;IAC1B,WAAoB,CAAA,KAAqB,EAAU,KAAmB,EAAA;AAAlD,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AAAU,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAc;KAAI;IAE1E,SAAS,CAAC,OAAyB,EAAE,IAAiB,EAAA;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;AACpD,QAAA,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAClE,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;;AAEtG,QAAA,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,iBAAiB,IAAI,CAAA,CAAE,CAAC,CAAC;AACjD,QAAA,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/C,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;YAC7B,UAAU,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACR,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,OAAO,EAAA,GAChB,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,GAAG,KAAK,EAAE,EAAC,GACnC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,GAAG,SAAS,EAAE,EAC3C,GAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,UAAU,GAAG,gBAAgB,EAAE,EAC7D;AACF,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/B,GAAG,CACD,MAAK,GAAG,EACR,GAAG,IAAG;YACJ,IAAI,GAAG,YAAY,iBAAiB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC1D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,+CAA+C,EAAC,IAAI,CAAC,CAAC;AAC7E,aAAA;SACF,CACF,CACF,CAAC;KACH;;4GA9BU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCFE,eAAe,CAAA;AAE1B,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,QAAQ,MAAW;;4GAJR,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,yDCP5B,iPAOA,EAAA,MAAA,EAAA,CAAA,wSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDAa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,iPAAA,EAAA,MAAA,EAAA,CAAA,wSAAA,CAAA,EAAA,CAAA;;;AEH/B;MAUa,aAAa,CAAA;AAIxB,IAAA,WAAA,CAAoB,OAAgB,EAAA;AAAhB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAF7B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;KAEiB;AAExC,IAAA,IAAI,CAAC,OAAgB,EAAA;;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,MAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,EAAE;YAClC,OAAO;AACR,SAAA;AACD,QAAA,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACpG,QAAA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;AAC/B,YAAA,WAAW,EAAE,IAAI;YACjB,gBAAgB;YAChB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACpD,KAAK;YACL,aAAa;AACd,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACpD,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;AACzC,SAAA;KACF;IAED,IAAI,GAAA;;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;AAC1B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;KAC5B;AAEO,IAAA,oBAAoB,CAAC,UAAmB,EAAA;QAM9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,KAAK,GAAG,OAAO,CAAC;QACpB,IAAI,aAAa,GAAG,kCAAkC,CAAC;AACvD,QAAA,IAAI,UAAU,EAAE;YACd,KAAK,GAAG,SAAS,CAAC;YAClB,aAAa,GAAG,sBAAsB,CAAC;AACvC,YAAA,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAC1D,SAAA;AAAM,aAAA;YACL,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1C,SAAA;QACD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;KAC/D;;0GAlDU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACTD;AAEO,MAAM,gBAAgB,GAAG;AAC9B,IAAA,QAAQ,EAAE,cAAc;AACxB,IAAA,OAAO,EAAE,cAAc;CACxB;;ACJD,MAAM,MAAM,GAAG;AACb,IAAA,GAAG,EAAE,wCAAwC;AAC7C,IAAA,EAAE,EAAE,wCAAwC;AAC5C,IAAA,UAAU,EAAE,kCAAkC;AAC9C,IAAA,GAAG,EAAE,sCAAsC;AAC3C,IAAA,kBAAkB,EAAE,wCAAwC;AAC5D,IAAA,iBAAiB,EAAE,uCAAuC;AAC1D,IAAA,eAAe,EAAE,qCAAqC;AACtD,IAAA,qBAAqB,EAAE,2CAA2C;AAClE,IAAA,oBAAoB,EAAE,0CAA0C;AAChE,IAAA,eAAe,EAAE,iCAAiC;AAClD,IAAA,qBAAqB,EAAE,uCAAuC;AAC9D,IAAA,oBAAoB,EAAE,sCAAsC;CAC7D,CAAC;AACI,SAAU,kBAAkB,CAAC,GAAa,EAAA;IAC9C,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AACD,IAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB;;MCZa,aAAa,CAAA;AAGxB,IAAA,WAAA,CACU,IAAgB,EACmB,OAAe,EAChB,MAAgB,EAAA;AAFlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AACmB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAChB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAU;AALpD,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;KAM7B;AAEJ,IAAA,UAAU,CAAC,UAAmB,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;KAC3B;IAEO,UAAU,CAAC,IAAS,EAAE,QAAmC,EAAA;AAC/D,QAAA,MAAM,OAAO,GAAG;YACd,IAAI;AACJ,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS;YACnD,QAAQ;SACT,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACvB;AAEO,IAAA,OAAO,CAAC,OAAO,EAAA;AACrB,QAAA,MAAM,GAAG,GAAG,CAAG,EAAA,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAe,YAAA,EAAA,IAAI,CAAC,OAAO,EAAE,CAAC;AAC5E,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAG,EAAA,GAAG,CAAE,CAAA,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAC/C;AAED,IAAA,IAAI,CAAC,IAAS,EAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AAED,IAAA,IAAI,CAAC,IAAS,EAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AAED,IAAA,KAAK,CAAC,IAAS,EAAE,aAAqB,EAAE,UAAmB,EAAA;QACzD,IAAI,CAAC,UAAU,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,IAAI,CAAA,EAAA,EAAE,aAAa,EAAE,UAAU,EAAA,CAAA,EAAI,OAAO,CAAC,CAAC;KAClE;;AArCU,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,8CAKd,gBAAgB,CAAC,QAAQ,EACzB,EAAA,EAAA,KAAA,EAAA,gBAAgB,CAAC,OAAO,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANvB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAMI,MAAM;AAAC,wBAAA,IAAA,EAAA,CAAA,gBAAgB,CAAC,QAAQ,CAAA;;8BAChC,MAAM;AAAC,wBAAA,IAAA,EAAA,CAAA,gBAAgB,CAAC,OAAO,CAAA;;;;MCHvB,YAAY,CAAA;AACvB;;;;;AAKG;AACH,IAAA,OAAO,QAAQ,CAAC,OAAe,EAAE,GAAc,EAAA;QAC7C,OAAO;AACL,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,SAAS,EAAE;AACT,gBAAA;oBACE,OAAO,EAAE,gBAAgB,CAAC,QAAQ;AAClC,oBAAA,QAAQ,EAAE,OAAO;AAClB,iBAAA;AACD,gBAAA;oBACE,OAAO,EAAE,gBAAgB,CAAC,OAAO;AACjC,oBAAA,QAAQ,EAAE,GAAG;AACd,iBAAA;gBACD,aAAa;AACd,aAAA;SACF,CAAC;KACH;;yGAtBU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHb,YAAY,CAAA,EAAA,CAAA,CAAA;AAGX,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHb,YAAY,CAAA,EAAA,CAAA,CAAA;2FAGX,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;iBACd,CAAA;;;ACVD;AAEO,MAAM,oBAAoB,GAAG;AAClC,IAAA,OAAO,EAAE,sBAAsB;CAChC;;ACID,MAAM,QAAQ,GAAG;AACf,IAAA,cAAc,EAAE,gBAAgB;CACjC,CAAC;MAGW,WAAW,CAAA;IACtB,WAAiD,CAAA,GAAqB,EAAU,IAAgB,EAAA;AAA/C,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAAI;AAEpG,IAAA,aAAa,CAAC,UAAoB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAG,EAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAwB,qBAAA,EAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC,IAAI,CACtF,GAAG,CAAC,CAAC,GAAQ,KAAI;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAS,KAAI;AACxC,gBAAA,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,aAAa,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,KAAK,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;AAC5H,gBAAA,OAAO,GAAG,CAAC;aACZ,EAAE,EAAE,CAAC,CAAC;SACR,CAAC,CACH,CAAC;KACH;AAED,IAAA,UAAU,CAAC,KAAK,EAAA;AACd,QAAA,MAAM,IAAI,GAAG,CAAc,WAAA,EAAA,KAAK,uBAAuB,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,iBAAA,CAAmB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE,EAAE,CAAC,CAAC;KACvI;AAED,IAAA,uBAAuB,CAAC,KAAK,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,CAAc,WAAA,EAAA,KAAK,iCAAiC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,iBAAA,CAAmB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE,EAAE,CAAC,CAAC;KACvI;IAED,6BAA6B,CAAC,KAAa,EAAE,SAAiB,EAAA;AAC5D,QAAA,MAAM,IAAI,GAAG,CAAA,WAAA,EAAc,KAAK,CAAmD,gDAAA,EAAA,SAAS,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,uBAAA,CAAyB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE,EAAE,CAAC,CAAC;KAC7I;IAED,sBAAsB,CACpB,KAAa,EACb,MAUC,EAAA;QAED,MAAM,IAAI,GAAG,CAAc,WAAA,EAAA,KAAK,4CAA4C,kBAAkB,CAC5F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CACjC,CAAa,UAAA,EAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,kBAAkB,CAC/F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CACjC,CAAA,SAAA,EAAY,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,MAAM,CAAC,UAAU,CAAe,YAAA,EAAA,MAAM,CAAC,QAAQ,CAAA,WAAA,EAC5H,MAAM,CAAC,QACT,CAAA,EAAG,MAAM,CAAC,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC,WAAW,GAAG,EAAE,CAC/D,EAAA,MAAM,CAAC,SAAS,GAAG,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAC5F,CAAA,CAAE,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA,uBAAA,CAAyB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE,EAAE,CAAC,CAAC;KAC7I;;AArDU,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBACF,oBAAoB,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAD7B,WAAW,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;;;8BAEI,MAAM;+BAAC,oBAAoB,CAAA;;;;MCP7B,gBAAgB,CAAA;AAC3B,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,QAAQ,MAAW;;6GAHR,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,0DCP7B,mzCA4CA,EAAA,MAAA,EAAA,CAAA,mEAAA,CAAA,EAAA,CAAA,CAAA;2FDrCa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,mzCAAA,EAAA,MAAA,EAAA,CAAA,mEAAA,CAAA,EAAA,CAAA;;;AEHhC;AAEO,MAAM,2BAA2B,GAAG;AACzC,IAAA,MAAM,EAAE;AACN,QAAA,aAAa,EAAE,0CAA0C;AAC1D,KAAA;AACD,IAAA,KAAK,EAAE,EAAE;CACV;;ACMD,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEhC,MAAM,UAAU,GAAG,CAAC,4BAA4B,EAAE,sCAAsC,CAAC,CAAC;AAC1F,MAAM,WAAW,GAAG,YAAY,CAAC;AACjC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;MAiBpC,4BAA4B,CAAA;IA4BvC,WAA2C,CAAA,SAAc,EAAU,QAAkB,EAAU,EAAe,EAAU,IAAiB,EAAS,KAAmB,EAAA;AAA1H,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAK;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAAU,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;AAAS,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAc;AA3BrK,QAAA,IAA2B,CAAA,2BAAA,GAAG,2BAA2B,CAAC;QAE1D,IAAA,CAAA,UAAU,GAA+B;AACvC,YAAA,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;AACpC,YAAA,MAAM,EAAE,WAAW;SACpB,CAAC;AAEF,QAAA,IAAO,CAAA,OAAA,GAAmB,EAAE,CAAC;AAE7B,QAAA,IAAoB,CAAA,oBAAA,GAA2B,EAAE,CAAC;AAElD,QAAA,IAAoB,CAAA,oBAAA,GAAmB,EAAE,CAAC;AAE1C,QAAA,IAAiB,CAAA,iBAAA,GAAmB,EAAE,CAAC;AAEvC,QAAA,IAAmB,CAAA,mBAAA,GAAmB,EAAE,CAAC;AAEzC,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;AAElC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAErB,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAChB,QAAA,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;AACnB,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;AACxB,QAAA,IAAU,CAAA,UAAA,GAAwB,EAAE,CAAC;KAEoI;IAEzK,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAEpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAExD,QAAA,QAAQ,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC7B,aAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AAC5C,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,KAAI;AAC9B,gBAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,gBAAA,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;YACD,KAAK,EAAE,KAAK,IAAG;AACb,gBAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AACjD,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aACvB;AACF,SAAA,CAAC,CAAC;KACN;IAEO,cAAc,GAAA;;AACpB,QAAA,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAExE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACvC,SAAS,EAAE,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,MAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;YACvF,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACpC,YAAA,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACxC,YAAA,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC;YACxC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACjC,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,sBAAsB,CAAC,OAAY,EAAA;;AACzC,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,GAAG,CACrC,CAAC,MAAW,MAA4B;YACtC,KAAK,EAAE,MAAM,CAAC,OAAO;AACrB,YAAA,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE;AAC1D,SAAA,CAAC,CACH,CAAC;AACF,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,sCAAsC,CAAC,CAAA,EAAE;YAC9D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,EAA0B,EAChG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAA0B,CAC3F,CAAC;AACH,SAAA;;QAGD,MAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,4BAA4B,CAAC,CAAC;AACzE,QAAA,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAChF,YAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,KAAK;AACtD,oBAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE;AACtB,oBAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE;AACvB,iBAAA,CAAC,CAAC,CAAC;AACL,aAAA;AACF,SAAA;QAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM;AAC7D,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACtB,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,SAAA,CAAC,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEpF,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM;AAC/D,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACtB,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,SAAA,CAAC,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;KACxF;IAEO,kBAAkB,GAAA;;QACxB,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,CAAC,SAAS,CAAC,KAAK,IAAG;;YACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;YACrD,IAAI,IAAI,CAAC,gBAAgB,MAAM,CAAA,CAAA,EAAA,GAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAK,IAAI,CAAC,UAAU,CAAC,EAAE;AACzE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,CAAA,CAAA,EAAA,GAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAK,IAAI,CAAC,UAAU,CAAC;gBAClE,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,oBAAA,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpF,iBAAA;AAAM,qBAAA;oBACL,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,EAAE,CAAC;AACjE,iBAAA;gBACD,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,sBAAsB,EAAE,CAAC;AACxE,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,OAAO,CAAC,GAAW,EAAA;QACzB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACxC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;IAED,QAAQ,GAAA;;AACN,QAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACpC,OAAO;AACR,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAEjD,QAAA,MAAM,UAAU,GAAG,CAAA,EAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;QAC3F,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;AACtE,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,uCAAuC,CAAC,CAAC;YAC/D,OAAO;AACR,SAAA;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACtG,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;YACzD,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAK,IAAI,CAAC,UAAU,EAAE;AACvD,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACnE,gBAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;gBACrD,OAAO;AACR,aAAA;YACD,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACxC,gBAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,+CAA+C,CAAC,CAAC;gBACvE,OAAO;AACR,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAEzB,QAAA,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YAC3F,IAAI,EAAE,cAAc,IAAG;gBACrB,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC3G,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC1G,MAAM,mBAAmB,GAAG,UAAU,CAAC;gBACvC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,gBAAA,MAAM,QAAQ,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA,EAAA,EAAE,eAAe,EAAE,CAAC,EAAA,CAAE,CAAC;AAEpE,gBAAA,MAAM,iBAAiB,GAAG;AACxB,oBAAA,SAAS,EAAE,cAAc;AACzB,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE,SAAS;AACpB,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,UAAU,EAAE,mBAAmB;AAC/B,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;AACvC,oBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;iBACpC,CAAC;AAEF,gBAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,SAAS,CAAC;oBAClF,IAAI,EAAE,gBAAgB,IAAG;;AACvB,wBAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;AAC/B,4BAAA,gBAAgB,CAAC,SAAS,GAAG,EAAE,CAAC;AACjC,yBAAA;AACD,wBAAA,gBAAgB,CAAC,SAAS,CAAC,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,SAAS,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,KAAI,EAAE,CAAC;AAE9E,wBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClB,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA,CAAC,CAAC;qBACJ;oBACD,KAAK,EAAE,KAAK,IAAG;AACb,wBAAA,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;AAC5D,wBAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,wDAAwD,CAAC,CAAC;AAChF,wBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAC3B;AACF,iBAAA,CAAC,CAAC;aACJ;YACD,KAAK,EAAE,KAAK,IAAG;AACb,gBAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAClD,gBAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,+CAA+C,CAAC,CAAC;AACvE,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;AACF,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,qBAAqB,CAAC,IAAU,EAAA;AACtC,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,GAAG,GAAG,CAAC;KACnB;AAEO,IAAA,WAAW,CAAC,SAAc,EAAA;;QAChC,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;QAE3C,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;AAE9B,QAAA,QAAQ,OAAO;YACb,KAAK,IAAI,CAAC,WAAW;gBACnB,OAAO,QAAQ,CAAC,MAAM,CAAC;YAEzB,KAAK,IAAI,CAAC,cAAc;gBACtB,OAAO;AACL,oBAAA,EAAE,EAAE,IAAI;oBACR,IAAI,EAAE,IAAI,CAAC,cAAc;AACzB,oBAAA,OAAO,EAAE,SAAS;AAClB,oBAAA,OAAO,EAAE,IAAI;iBACd,CAAC;YAEJ,KAAK,IAAI,CAAC,UAAU;gBAClB,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,MAAM,CAClB,EAAA,EAAA,OAAO,EAAE,SAAS,CAAC,YAAY,IAAI,EAAE,EACrC,CAAA,CAAA;AACL,SAAA;KACF;;AApPU,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBA4BnB,cAAc,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA5BvB,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,kEClCzC,6jJA0HA,EAAA,MAAA,EAAA,CAAA,woHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDxFa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,6jJAAA,EAAA,MAAA,EAAA,CAAA,woHAAA,CAAA,EAAA,CAAA;;;8BAgCzB,MAAM;+BAAC,cAAc,CAAA;;;;MEvCvB,eAAe,CAAA;IAC1B,OAAO,OAAO,CAAC,GAAqB,EAAA;QAClC,OAAO;AACL,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,SAAS,EAAE,CAAC,WAAW,EAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,oBAAoB,EAAE,aAAa,CAAC;SAC/G,CAAC;KACH;;4GANU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,CALX,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CACpE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAEpH,gBAAgB,EAAE,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAE7C,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJhB,OAAA,EAAA,CAAA,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAInH,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;AAC/E,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE;AAChI,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;iBAC1D,CAAA;;;MChBY,uBAAuB,CAAA;AAWlC,IAAA,WAAA,GAAA;QACA,IAAA,CAAA,YAAY,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;QAC3E,IAAA,CAAA,kBAAkB,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;QACjF,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;QACxE,IAAA,CAAA,YAAY,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;QAC3E,IAAA,CAAA,OAAO,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;QACtE,IAAA,CAAA,eAAe,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;QAC9E,IAAA,CAAA,WAAW,GAAG,IAAI,aAAa,CAAwC,CAAC,CAAC,CAAC;KAPzD;AARjB,IAAA,cAAc,CAAC,WAAkD,EAAA;AAC/D,QAAA,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;KAClC;IAED,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;;oHATU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACLK,MAAgB,YAAa,SAAQ,KAAK,CAAA;AAAG,CAAA;AAE7C,MAAO,yBAA0B,SAAQ,YAAY,CAAA;AACzD,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,8BAA8B,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;KACzC;AACF,CAAA;AAEK,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AACxD,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;KACxC;AACF,CAAA;AAEK,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AACxD,IAAA,WAAA,GAAA;QACE,KAAK,CAAC,qCAAqC,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;KACxC;AACF,CAAA;AAEK,MAAO,yBAA0B,SAAQ,YAAY,CAAA;AACzD,IAAA,WAAA,CAA4B,KAAa,EAAA;AACvC,QAAA,KAAK,CAAC,CAAA,eAAA,EAAkB,KAAK,CAAA,6BAAA,CAA+B,CAAC,CAAC;AADpC,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;AAEvC,QAAA,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;KACzC;AACF,CAAA;AASD;AACM,SAAU,qBAAqB,CAAC,QAAgC,EAAA;IACpE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA,EAAG,CAAC,CAAC,KAAK,CAAK,EAAA,EAAA,CAAC,CAAC,MAAM,CAAG,CAAA,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;;;AAIG;AACG,MAAO,yBAA0B,SAAQ,yBAAyB,CAAA;AACtE,IAAA,WAAA,CAA4B,QAAgC,EAAA;QAC1D,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AADC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAwB;AAE1D,QAAA,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,CAAA,0BAAA,EAA6B,qBAAqB,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAG,CAAC;KAChF;AACF;;ACnCD,MAAM,4BAA4B,GAAG,eAAe,CAAC;AACrD,MAAM,kCAAkC,GAAG,aAAa,CAAC;AACzD,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAC/C,MAAM,iBAAiB,GAAG,KAAK,CAAC;MAsCnB,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAM,CAAA,MAAA,GAA0B,EAAE,CAAC;AACnC,QAAA,IAAW,CAAA,WAAA,GAAkB,IAAI,CAAC;AAClC,QAAA,IAAW,CAAA,WAAA,GAAwB,IAAI,CAAC;AACxC,QAAA,IAAU,CAAA,UAAA,GAAkC,IAAI,CAAC;KA+L1D;AA7LC,IAAA,IAAI,CAAC,MAA6B,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;AAED;;;AAGG;AACH,IAAA,IAAI,CAAI,QAAqF,EAAA;QAC3F,IAAI;AACF,YAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,YAAY,EAAE;AAC7B,gBAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAA;AACD,YAAA,MAAM,CAAC,CAAC;AACT,SAAA;KACF;AAED;;;;;;;;;;;;;;AAcG;AACH,IAAA,GAAG,CAAC,QAA2F,EAAA;QAC7F,MAAM,QAAQ,GAA2B,EAAE,CAAC;AAC5C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI;AACF,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,YAAY,EAAE;AAC7B,gBAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClB,OAAO;AACR,aAAA;AACD,YAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,KAAK,EAAE;AACxC,gBAAA,CAA+D,CAAC,oBAAoB,GAAG,QAAQ,CAAC;AACjG,gBAAA,CAAC,CAAC,OAAO,GAAG,CAAA,EAAG,CAAC,CAAC,OAAO,CAAA,wCAAA,EAA2C,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtG,aAAA;AACD,YAAA,MAAM,CAAC,CAAC;AACT,SAAA;AAAS,gBAAA;AACR,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC5B,SAAA;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,QAAQ,CAAC,KAAK,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,SAAA;KACF;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;KACzB;IAED,IAAI,GAAG,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;IAClD,IAAI,OAAO,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE;IAC/D,IAAI,UAAU,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE;IAChE,IAAI,eAAe,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE;IAC5E,IAAI,KAAK,GAAe,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;IACxD,IAAI,SAAS,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;IAC9D,IAAI,YAAY,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE;IACpE,IAAI,GAAG,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;IAClD,IAAI,GAAG,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;IAClD,IAAI,cAAc,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE;IACxE,IAAI,YAAY,GAAe,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE;IACvE,IAAI,cAAc,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE;IACxE,IAAI,SAAS,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;IAC9D,IAAI,MAAM,GAAa,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;AAExD,IAAA,IAAI,MAAM,GAAA;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC9C,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;KACpB;;AAGO,IAAA,WAAW,CAAC,MAAyB,EAAA;;AAC3C,QAAA,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAA,EAAA,GAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC;AACvE,QAAA,OAAO,MAAA,UAAU;AACd,aAAA,GAAG,CAAC,KAAK,IAAI,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,IAAI,EAAE,CAAC;AAC3B,aAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;KAClD;AAEO,IAAA,YAAY,CAAC,KAAyB,EAAA;QAC5C,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACvC;IAEO,SAAS,GAAA;AACf,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC,MAAM,CAAC;AACrB,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE;YAChC,MAAM,IAAI,yBAAyB,EAAE,CAAC;AACvC,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACtC,SAAA;QACD,MAAM,IAAI,wBAAwB,EAAE,CAAC;KACtC;AAEO,IAAA,QAAQ,CAAoC,GAAM,EAAA;AACxD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAChC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,QAAA,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACvE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,aAAa,EAAE;AAC1D,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAa,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AAC7E,SAAA;AACD,QAAA,QAAQ,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,EAAuC;KAChG;;IAGO,YAAY,CAAC,KAAa,EAAE,MAAiC,EAAA;QACnE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,YAAA,OAAO,SAAkB,CAAC;AAC3B,SAAA;AACD,QAAA,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;KAC5C;AAED,IAAA,IAAY,KAAK,GAAA;QACf,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE;AACnD,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7C,SAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IAEO,KAAK,CAAC,KAAa,EAAE,KAAc,EAAA;QACzC,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACvC,SAAA;AAED,QAAA,IAAI,MAAyB,CAAC;QAC9B,IAAI;AACF,YAAA,MAAM,GAAG,SAAS,CAAoB,KAAK,CAAC,CAAC;AAC9C,SAAA;QAAC,OAAM,EAAA,EAAA;AACN,YAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAC1B,YAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACrC,SAAA;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KACxC;AAEO,IAAA,SAAS,CAAC,MAAyB,EAAA;AACzC,QAAA,OAAO,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;KAC1E;IAEO,WAAW,GAAA;AACjB,QAAA,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,iBAAiB,CAAC;KACtD;IAEO,WAAW,GAAA;QACjB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;KAC3D;IAEO,SAAS,GAAA;;AACf,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAC,IAAI,GAAG,CAAA,EAAG,wBAAwB,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,IAAI,CAAC,CAAC;AACtG,YAAA,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;AACzD,YAAA,IAAI,QAAQ,EAAE;gBACZ,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzC,aAAA;AACF,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB;cAClD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;cAC5C,CAAC,IAAI,GAAG,SAAS,CAAC,CAAG,EAAA,4BAA4B,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAExH,OAAO,EAAE,KAAK,EAAE,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;KACpD;;2GAlMU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;AC1DD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -230,19 +230,22 @@ const CONSTANTS_LOGGER = {
230
230
  };
231
231
 
232
232
  const envMap = {
233
- dev: "https://bff.devcl.moveinsync.com",
234
- qa: "https://bff.stage.moveinsync.com",
235
- production: "https://bff.moveinsync.com",
236
- uat: "https://wisbff-uat.moveinsync.com",
237
- "production-green": "https://wisempweb-green.moveinsync.com",
238
- "production-beta": "https://bff-beta.moveinsync.com",
239
- "production-eu": "https://bff.eu.moveinsync.com",
240
- "production-eu-green": "https://bff-green.eu.moveinsync.com",
241
- "production-mu": "https://bff.moveinsync.in"
233
+ dev: "https://ui-logger.stage.moveinsync.com",
234
+ qa: "https://ui-logger.stage.moveinsync.com",
235
+ production: "https://ui-logger.moveinsync.com",
236
+ uat: "https://ui-logger-uat.moveinsync.com",
237
+ "production-green": "https://ui-logger-green.moveinsync.com",
238
+ "production-beta": "https://ui-logger-beta.moveinsync.com",
239
+ "production-eu": "https://ui-logger.eu.moveinsync.com",
240
+ "production-eu-green": "https://ui-logger-green.eu.moveinsync.com",
241
+ "production-eu-beta": "https://ui-logger-beta.eu.moveinsync.com",
242
+ "production-mu": "https://ui-logger.moveinsync.in",
243
+ "production-mu-green": "https://ui-logger-green.moveinsync.in",
244
+ "production-mu-beta": "https://ui-logger-beta.moveinsync.in",
242
245
  };
243
246
  function environmentHandler(env) {
244
247
  if (!env) {
245
- return "/bff";
248
+ return "/logger";
246
249
  }
247
250
  return envMap[env];
248
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mis-wis-common.mjs","sources":["../../../libraries/wis-common/src/lib/modules/auth/auth.service.ts","../../../libraries/wis-common/src/lib/modules/auth/auth.module.ts","../../../libraries/wis-common/src/lib/services/configuration.service.ts","../../../libraries/wis-common/src/lib/functions/nav-filter.function.ts","../../../libraries/wis-common/src/lib/functions/cookie.function.ts","../../../libraries/wis-common/src/lib/functions/url.functions.ts","../../../libraries/wis-common/src/lib/interceptors/auth.interceptor.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.html","../../../libraries/wis-common/src/lib/services/loader.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.constant.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.functions.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.module.ts","../../../libraries/wis-common/src/lib/constants/emp-web-exp.constants.ts","../../../libraries/wis-common/src/lib/services/http.service.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.html","../../../libraries/wis-common/src/lib/constants/assets.constants.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.html","../../../libraries/wis-common/src/lib/wis-common.module.ts","../../../libraries/wis-common/src/lib/services/mfe-communication.service.ts","../../../libraries/wis-common/src/lib/services/session.errors.ts","../../../libraries/wis-common/src/lib/services/session.service.ts","../../../libraries/wis-common/src/public-api.ts","../../../libraries/wis-common/src/mis-wis-common.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\nimport { IUserInfo } from \"./auth.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AuthService {\n userDetails: IUserInfo;\n\n constructor() {}\n\n init(user: IUserInfo) {\n this.userDetails = user;\n }\n}\n","import { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AuthService } from \"./auth.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class AuthModule {\n /**\n *\n * @returns ModuleWithProviders<AuthModule>\n */\n static forRoot(): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [AuthService]\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ConfigurationService {\n constructor() {}\n}\n","import { NsWISConfigurations } from \"../models/configurations.model\";\n\nexport const filterNavList = (\n navList: NsWISConfigurations.ISidenavLink[],\n features: NsWISConfigurations.IFeaturesMap\n): NsWISConfigurations.ISidenavLink[] => {\n return navList.filter(nav => {\n const mustHave = nav.mustHaveBasedProperty && nav.mustHaveBasedProperty.every(basedProperty => features[basedProperty]);\n const canHave = nav.canHaveBasedProperty && nav.canHaveBasedProperty.some(basedProperty => features[basedProperty]);\n if ((mustHave || canHave) && nav.children) {\n nav.children = filterNavList(nav.children, features);\n }\n return mustHave || canHave;\n });\n};\n","interface ICookieOptions {\n expires?: string;\n path?: string;\n domain?: string;\n \"Max-Age\"?: string;\n Secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: \"Strict\" | \"Lax\" | \"None\";\n}\n\nexport function getCookie(name: string): string {\n const cookies = {};\n const cookieString = document.cookie;\n cookieString.split(\"; \").forEach(cookie => {\n const [key, value] = cookie.split(\"=\");\n cookies[key] = value;\n });\n return cookies[name] || undefined;\n}\n\nexport function setCookie(name: string, value: string, options?: ICookieOptions): void {\n let cookieStr = `${name}=${value};`;\n if (options) {\n const optsSelected = Object.keys(options);\n for (const opt of optsSelected) {\n cookieStr += ` ${opt}${(typeof options[opt] === \"string\" && `=${options[opt]}`) || \"\"};`;\n }\n }\n cookieStr += \";secure; SameSite=Strict;\";\n document.cookie = cookieStr;\n}\n\nexport function removeCookie(name: string, domain?: string): void {\n setCookie(name, \"\", { expires: new Date(0).toUTCString(), domain });\n}\n","export function getQueryParam(queryString: string): string | null {\n const results = new RegExp(\"[?&]\" + queryString + \"=([^&#]*)\").exec(window.location.href);\n if (results === null) {\n return null;\n } else {\n return decodeURIComponent(results[1]) || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { tap } from \"rxjs/operators\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { getCookie } from \"../functions/cookie.function\";\nimport { getQueryParam } from \"../functions/url.functions\";\n\nconst TOKEN_NAME = \"x-wis-token\";\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private route: ActivatedRoute, private toast: ToastService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n const paramsMap = this.route.snapshot.queryParamMap;\n const buid = getQueryParam(\"buid\") || getQueryParam(\"buId\") || \"\";\n const empGuid = getQueryParam(\"empGuid\") || getQueryParam(\"empGuId\") || getQueryParam(\"userId\") || \"\";\n // const source = getQueryParam(\"source\");\n const authToken = getQueryParam(\"auth-token\");\n const token = getCookie(`sso-wis-token-${buid}`);\n const mobile_app_token = getCookie(TOKEN_NAME);\n const cloneReq = request.clone({\n setHeaders: {\n \"x-tenant-id\": buid,\n \"x-user-id\": empGuid,\n ...(!!token && { [TOKEN_NAME]: token }),\n ...(!!authToken && { [TOKEN_NAME]: authToken }),\n ...(!!mobile_app_token && { [TOKEN_NAME]: mobile_app_token })\n }\n });\n return next.handle(cloneReq).pipe(\n tap(\n () => {},\n err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.toast.displayMsg(\"Your session has expired. Please login again.\",6000);\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"mis-common-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"]\n})\nexport class LoaderComponent implements OnInit {\n message: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"message-wrapper\" *ngIf=\"message; else noMessageLoader\">\n <span><mis-loader type=\"block\"></mis-loader></span>\n <p>{{ message }}</p>\n</div>\n<ng-template #noMessageLoader>\n <mis-loader></mis-loader>\n</ng-template>\n","/** @format */\n\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { LoaderComponent } from \"../components/loader/loader.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoaderService {\n private overlayRef: OverlayRef;\n public loading = false;\n\n constructor(private overlay: Overlay) {}\n\n show(message?: string): void {\n this.loading = true;\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n const { positionStrategy, width, backdropClass, hasMessage } = this.calcLoaderProperties(!!message);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width,\n backdropClass\n });\n this.overlayRef = this.overlay.create(config);\n const portal = new ComponentPortal(LoaderComponent, null);\n const componentRef = this.overlayRef.attach(portal);\n if (hasMessage) {\n componentRef.instance.message = message;\n }\n }\n\n hide(): void {\n this.loading = false;\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n private calcLoaderProperties(hasMessage: boolean): {\n positionStrategy: GlobalPositionStrategy;\n width: string;\n backdropClass: string;\n hasMessage: boolean;\n } {\n const positionStrategy = this.overlay.position().global();\n let width = \"100vh\";\n let backdropClass = \"cdk-overlay-transparent-backdrop\";\n if (hasMessage) {\n width = \"initial\";\n backdropClass = \"wis-common-loader-bg\";\n positionStrategy.centerHorizontally().centerVertically();\n } else {\n positionStrategy.top(\"0px\").right(\"0px\");\n }\n return { positionStrategy, width, backdropClass, hasMessage };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_LOGGER = {\n APP_NAME: \"wisLoggerApp\",\n ENV_VAR: \"wisLoggerEnv\"\n};\n","import { TEnvName } from \"./logger.model\";\nconst envMap = {\n dev: \"https://bff.devcl.moveinsync.com\",\n qa: \"https://bff.stage.moveinsync.com\",\n production: \"https://bff.moveinsync.com\",\n uat: \"https://wisbff-uat.moveinsync.com\",\n \"production-green\": \"https://wisempweb-green.moveinsync.com\",\n \"production-beta\": \"https://bff-beta.moveinsync.com\",\n \"production-eu\": \"https://bff.eu.moveinsync.com\",\n \"production-eu-green\": \"https://bff-green.eu.moveinsync.com\",\n \"production-mu\": \"https://bff.moveinsync.in\"\n};\nexport function environmentHandler(env: TEnvName) {\n if (!env) {\n return \"/bff\";\n }\n return envMap[env];\n}\n","import { TEnvName } from \"./logger.model\";\nimport { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { environmentHandler } from \"./logger.functions\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoggerService {\n private cookies: boolean = false;\n\n constructor(\n private http: HttpClient,\n @Inject(CONSTANTS_LOGGER.APP_NAME) private appName: string,\n @Inject(CONSTANTS_LOGGER.ENV_VAR) private appEnv: TEnvName\n ) {}\n\n useCookies(useCookies: boolean) {\n this.cookies = useCookies;\n }\n\n private logRequest(data: any, logLevel: \"info\" | \"error\" | \"warn\") {\n const request = {\n data,\n cookies: this.cookies ? document.cookie : undefined,\n logLevel\n };\n this.postLog(request);\n }\n\n private postLog(request) {\n const url = `${environmentHandler(this.appEnv)}/report-log/${this.appName}`;\n this.http.post(`${url}`, request).subscribe();\n }\n\n info(data: any) {\n this.logRequest(data, \"info\");\n }\n\n warn(data: any) {\n this.logRequest(data, \"warn\");\n }\n\n error(data: any, componentName: string, serviceUrl?: string) {\n this.logRequest({ ...data, componentName, serviceUrl }, \"error\");\n }\n}\n","import { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { TEnvName } from \"./logger.model\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class LoggerModule {\n /**\n *\n * @param appName any app name eg. FAQ, Floor Plan, In App Popup, etc.\n * @param env \"dev\" | \"qa\" | \"uat\" | \"prod\" | \"prod-beta\" | \"prod-green\" | \"prod-eu\" | \"prod-eu-green\" | undefined\n * @returns ModuleWithProviders<LoggerModule>\n */\n static forChild(appName: string, env?: TEnvName): ModuleWithProviders<LoggerModule> {\n return {\n ngModule: LoggerModule,\n providers: [\n {\n provide: CONSTANTS_LOGGER.APP_NAME,\n useValue: appName\n },\n {\n provide: CONSTANTS_LOGGER.ENV_VAR,\n useValue: env\n },\n LoggerService\n ]\n };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_WIS_COMMON = {\n ENV_VAR: \"wisCommonEnvironment\"\n};\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { map, Observable } from \"rxjs\";\nimport { CONSTANTS_WIS_COMMON } from \"../constants/emp-web-exp.constants\";\nimport { NsWISConfigurations } from \"../models/configurations.model\";\nimport { NsWISCommon } from \"../models/env.model\";\nimport { AuthService } from \"../modules/auth/auth.service\";\n\nconst API_URLS = {\n CONFIGURATIONS: \"configurations\"\n};\n\n@Injectable()\nexport class HttpService {\n constructor(@Inject(CONSTANTS_WIS_COMMON) public env: NsWISCommon.IEnv, private http: HttpClient) {}\n\n getProperties(Porperties: string[]) {\n return this.http.get(`${this.env.ets}/ets/apis/properties/${Porperties.join(\",\")}`).pipe(\n map((res: any) => {\n return res.reduce((acc: any, item: any) => {\n acc[item.propertyName] = item.propertyValue === \"true\" ? true : item.propertyValue === \"false\" ? false : item.propertyValue;\n return acc;\n }, {});\n })\n );\n }\n\n getOffices(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=getOfficeList`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n listTransportLocalities(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=listTransportLocalities`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n createEmptyIrregularTripSheet(nonce: string, direction: string): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=createEmptyIrregularTripSheet&direction=${direction}`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n addEmployeeToTripSheet(\n nonce: string,\n params: {\n tripsheet: any;\n employee: any;\n pickupLoc: any;\n dropLoc: any;\n pickUpTime: string;\n dropTime: string;\n position: number;\n routeSource?: string;\n assetList?: any;\n }\n ): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=addEmployeeToTripSheet&tripsheet=${encodeURIComponent(\n JSON.stringify(params.tripsheet)\n )}&employee=${encodeURIComponent(JSON.stringify(params.employee))}&pickupLoc=${encodeURIComponent(\n JSON.stringify(params.pickupLoc)\n )}&dropLoc=${encodeURIComponent(JSON.stringify(params.dropLoc))}&pickUpTime=\"${params.pickUpTime}\"&dropTime=\"${params.dropTime}\"&position=${\n params.position\n }${params.routeSource ? \"&routeSource=\" + params.routeSource : \"\"}${\n params.assetList ? \"&assetList=\" + encodeURIComponent(JSON.stringify(params.assetList)) : \"\"\n }`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"wis-common-sidenav\",\n templateUrl: \"./sidenav.component.html\",\n styleUrls: [\"./sidenav.component.scss\"]\n})\nexport class SidenavComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wis-sidenav-wrapper\">\n <div class=\"wis-sidenav-header\">\n <div class=\"wis-sidenav-header-logo\">\n <img src=\"assets/sidenav/assets/Wis-icon.svg\" alt=\"\" />\n </div>\n <div class=\"wis-sidenav-header-title\">\n <h1>WIS</h1>\n </div>\n </div>\n <div class=\"wis-sidenav-body\">\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-home\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Home</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-user\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Profile</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-users\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Users</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-cog\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Settings</h3>\n </div>\n </div>\n </div>\n</div>\n","/** @format */\n\nexport const CONSTANTS_ASSETS_WIS_COMMON = {\n IMAGES: {\n CALENDAR_ICON: \"assets/libraries/wis-common/calendar.svg\"\n },\n ICONS: {}\n};\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { IDatePickerConfig } from \"mis-crystal-design-system/datepicker_v2\";\nimport { CONSTANTS_ASSETS_WIS_COMMON } from \"../../constants/assets.constants\";\nimport { HttpService } from \"../../services/http.service\";\nimport { DropdownItem } from \"mis-crystal-design-system/dropdown\";\nimport { forkJoin } from \"rxjs\";\nimport { finalize } from \"rxjs/operators\";\nimport { MODAL_DATA_VAR, ModalRef } from \"mis-crystal-design-system/modal\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\ndayjs.extend(customParseFormat);\n\nconst PROPERTIES = [\"NON_SHIFT_TRIPS_CATEGORIES\", \"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"];\nconst DATE_FORMAT = \"DD/MM/YYYY\";\nconst PICKUP_TIME_FORMAT = \"DD/MM/YYYY HH/mm/ss\";\n\ninterface LocationValue {\n type: number;\n office: any | null;\n}\n\ninterface LocationDropdownItem {\n label: string;\n value: LocationValue;\n}\n\n@Component({\n selector: \"app-create-non-shift-modal\",\n templateUrl: \"./create-non-shift-modal.component.html\",\n styleUrls: [\"./create-non-shift-modal.component.scss\"]\n})\nexport class CreateNonShiftModalComponent implements OnInit {\n CONSTANTS_ASSETS_WIS_COMMON = CONSTANTS_ASSETS_WIS_COMMON;\n\n dateConfig: Partial<IDatePickerConfig> = {\n minDate: dayjs().format(DATE_FORMAT),\n format: DATE_FORMAT\n };\n createTripsheetForm!: FormGroup;\n offices: DropdownItem[] = [];\n\n locationDropdownData: LocationDropdownItem[] = [];\n\n categoryDropdownData: DropdownItem[] = [];\n\n hoursDropdownData: DropdownItem[] = [];\n\n minutesDropdownData: DropdownItem[] = [];\n\n showOtherAddress: boolean = false;\n\n loading: boolean = false;\n isSubmitting: boolean = false;\n\n readonly TYPE_OFFICE = 6;\n readonly TYPE_TRANSPORT = 3;\n readonly TYPE_OTHER = 4;\n properties: Record<string, any> = {};\n\n constructor(@Inject(MODAL_DATA_VAR) public modalData: any, private modalRef: ModalRef, private fb: FormBuilder, private http: HttpService,private toast: ToastService) {}\n\n ngOnInit(): void {\n this.loading = true;\n\n const $office = this.http.getOffices(this.modalData.nonce);\n const $properties = this.http.getProperties(PROPERTIES);\n\n forkJoin([$office, $properties])\n .pipe(finalize(() => (this.loading = false)))\n .subscribe({\n next: ([offices, properties]) => {\n this.properties = properties;\n this.initializeForm();\n this.initializeDropdownData(offices);\n this.setupFormListeners();\n },\n error: error => {\n console.error(\"Error loading form data:\", error);\n this.modalRef.close();\n }\n });\n }\n\n private initializeForm(): void {\n const currentTime = this.modalData?.date ?? dayjs().format(DATE_FORMAT);\n\n this.createTripsheetForm = this.fb.group({\n direction: [this.modalData?.shiftType === \"logout\" ? \"OUT\" : \"IN\", Validators.required],\n location: [{ label: \"\", value: \"\" }],\n otherAddress: \"\",\n tripCategory: [{ label: \"\", value: \"\" }],\n date: [currentTime, Validators.required],\n hours: [{ label: \"\", value: \"\" }],\n mins: [{ label: \"\", value: \"\" }]\n });\n }\n\n private initializeDropdownData(offices: any): void {\n this.locationDropdownData = offices.map(\n (office: any): LocationDropdownItem => ({\n label: office.address,\n value: { type: this.TYPE_OFFICE, office: office || null }\n })\n );\n this.createTripsheetForm.get(\"location\")?.setValue(this.locationDropdownData[0]);\n\n if (!this.properties?.[\"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"]) {\n this.locationDropdownData.push(\n { label: \"Airport\", value: { type: this.TYPE_TRANSPORT, office: null } } as LocationDropdownItem,\n { label: \"Other\", value: { type: this.TYPE_OTHER, office: null } } as LocationDropdownItem\n );\n }\n\n // Initialize category dropdown\n const categoriesString = this.properties?.[\"NON_SHIFT_TRIPS_CATEGORIES\"];\n if (categoriesString && typeof categoriesString === \"string\") {\n const categories = categoriesString.split(\",\").filter(cat => cat && cat.trim());\n if (categories.length > 0) {\n this.categoryDropdownData = categories.map(category => ({\n label: category.trim(),\n value: category.trim()\n }));\n }\n }\n\n const currentHour = new Date().getHours();\n this.hoursDropdownData = Array.from({ length: 24 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ hours: this.hoursDropdownData[currentHour] });\n\n const currentMinute = new Date().getMinutes();\n this.minutesDropdownData = Array.from({ length: 60 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ mins: this.minutesDropdownData[currentMinute] });\n }\n\n private setupFormListeners(): void {\n this.createTripsheetForm?.valueChanges.subscribe(value => {\n const { location } = this.createTripsheetForm?.value;\n if (this.showOtherAddress !== (location?.value?.type === this.TYPE_OTHER)) {\n this.showOtherAddress = location?.value?.type === this.TYPE_OTHER;\n if (this.showOtherAddress) {\n this.createTripsheetForm.get(\"otherAddress\")?.setValidators([Validators.required]);\n } else {\n this.createTripsheetForm.get(\"otherAddress\")?.clearValidators();\n }\n this.createTripsheetForm.get(\"otherAddress\")?.updateValueAndValidity();\n }\n });\n }\n\n private padZero(num: number): string {\n return num.toString().padStart(2, \"0\");\n }\n\n onCancel(): void {\n this.modalRef.close();\n }\n\n onSubmit(): void {\n if (this.createTripsheetForm.invalid) {\n return;\n }\n\n const formValue = this.createTripsheetForm.value;\n\n const pickupTime = `${formValue.date} ${formValue.hours.value}/${formValue.mins.value}/00`;\n const pickupTimeDate = dayjs(pickupTime, PICKUP_TIME_FORMAT).toDate();\n if (this.isDateAndTimeFromPast(pickupTimeDate)) {\n this.toast.displayMsg(\"Please select a future date and time.\");\n return;\n }\n\n if (this.categoryDropdownData.length > 0 && (!formValue.tripCategory || !formValue.tripCategory.value)) {\n this.toast.displayMsg(\"Please provide a trip category.\");\n return;\n }\n\n if (formValue.location?.value?.type === this.TYPE_OTHER) {\n if (!formValue.otherAddress || formValue.otherAddress.trim() === \"\") {\n this.toast.displayMsg(\"Please provide the address.\");\n return;\n }\n if (formValue.otherAddress.includes(\",\")) {\n this.toast.displayMsg(\"Special character (,) not allowed in address.\");\n return;\n }\n }\n\n this.isSubmitting = true;\n\n this.http.createEmptyIrregularTripSheet(this.modalData.nonce, formValue.direction).subscribe({\n next: routeTripSheet => {\n const pickupLoc = routeTripSheet.dir === \"IN\" ? this.modalData.employee.home : this.getLocation(formValue);\n const dropLoc = routeTripSheet.dir === \"OUT\" ? this.modalData.employee.home : this.getLocation(formValue);\n const pickupTimeFormatted = pickupTime;\n const dropTimeFormatted = pickupTime;\n\n const employee = { ...this.modalData.employee, employee_status: 1 };\n\n const addEmployeeParams = {\n tripsheet: routeTripSheet,\n employee: employee,\n pickupLoc: pickupLoc,\n dropLoc: dropLoc,\n pickUpTime: pickupTimeFormatted,\n dropTime: dropTimeFormatted,\n position: 0,\n routeSource: this.modalData.routeSource,\n assetList: this.modalData.assetList\n };\n\n this.http.addEmployeeToTripSheet(this.modalData.nonce, addEmployeeParams).subscribe({\n next: updatedTripSheet => {\n if (!updatedTripSheet.customMap) {\n updatedTripSheet.customMap = {};\n }\n updatedTripSheet.customMap.tripCategory = formValue.tripCategory?.value || \"\";\n\n this.modalRef.close({\n success: true,\n tripsheet: updatedTripSheet\n });\n },\n error: error => {\n console.error(\"Error adding employee to tripsheet:\", error);\n this.toast.displayMsg(\"Failed to add employee to tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n },\n error: error => {\n console.error(\"Error creating tripsheet:\", error);\n this.toast.displayMsg(\"Failed to create tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n }\n\n private isDateAndTimeFromPast(date: Date): boolean {\n const now = new Date();\n return date < now;\n }\n\n private getLocation(formValue: any): any {\n const location = formValue.location?.value;\n\n if (!location) {\n return null;\n }\n\n const locType = location.type;\n\n switch (locType) {\n case this.TYPE_OFFICE:\n return location.office;\n\n case this.TYPE_TRANSPORT:\n return {\n id: null,\n type: this.TYPE_TRANSPORT,\n address: \"Airport\",\n geoCord: null\n };\n\n case this.TYPE_OTHER:\n return {\n ...location.office,\n address: formValue.otherAddress || \"\"\n };\n }\n }\n}\n","<div class=\"createTripsheet\">\n <h2 class=\"modal-header\">Create Non-Shift Tripsheet</h2>\n\n <div *ngIf=\"loading\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Loading...</p>\n </div>\n\n <form\n *ngIf=\"!loading && createTripsheetForm\"\n [formGroup]=\"createTripsheetForm\"\n (ngSubmit)=\"onSubmit()\"\n class=\"createTripsheetForm\"\n id=\"createTripsheetForm\"\n >\n <div class=\"form-content\">\n <!-- Radio buttons row -->\n <div [ngClass]=\"{ 'radio-row': true, disabled: modalData?.shiftSelectionDisabled }\">\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"OUT\" id=\"startLoc\" />\n <span>Start Location Fixed (Logout)</span>\n </label>\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"IN\" id=\"endLoc\" />\n <span>End Location Fixed (Login)</span>\n </label>\n </div>\n\n <!-- Location field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"locText\">Location</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'40px'\"\n [data]=\"locationDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('location')?.value\"\n [label]=\"'Select location...'\"\n (onChange)=\"createTripsheetForm.get('location')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Other address field -->\n <div class=\"form-field otherAddress\" *ngIf=\"showOtherAddress\">\n <div class=\"label-cell\">\n <label>Pick/Drop point <sup>*</sup></label>\n </div>\n <div class=\"input-cell\">\n <input type=\"text\" formControlName=\"otherAddress\" class=\"modern-input\" />\n </div>\n </div>\n\n <!-- Trip category field -->\n <div class=\"form-field\" *ngIf=\"categoryDropdownData.length > 0\">\n <div class=\"label-cell\">\n <label>Trip Category</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'250px'\"\n [height]=\"'40px'\"\n [data]=\"categoryDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('tripCategory')?.value\"\n [label]=\"'Select category...'\"\n (onChange)=\"createTripsheetForm.get('tripCategory')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Time field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"fixedTimeText\">Time</label>\n </div>\n <div class=\"input-cell modern-date-container\">\n <div class=\"date-select\">\n <input\n misTzDp\n readonly\n [dpConfig]=\"dateConfig\"\n [formControl]=\"createTripsheetForm.get('date')\"\n style=\"height: 44px !important; font-size: 16px !important; cursor: pointer; vertical-align: middle !important\"\n />\n <img [src]=\"CONSTANTS_ASSETS_WIS_COMMON.IMAGES.CALENDAR_ICON\" alt=\"Calendar Icon\" class=\"date-icon data-picker-icon\" />\n </div>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"hoursDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('hours')?.value\"\n [label]=\"'HH'\"\n (onChange)=\"createTripsheetForm.get('hours')?.setValue($event)\"\n ></mis-dropdown>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"minutesDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('mins')?.value\"\n [label]=\"'MM'\"\n (onChange)=\"createTripsheetForm.get('mins')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"form-actions\">\n <button mis-button type=\"outline\" (click)=\"onCancel()\" [disabled]=\"isSubmitting\">Cancel</button>\n <button mis-button type=\"primary\" [disabled]=\"isSubmitting || createTripsheetForm?.invalid\">\n {{ isSubmitting ? \"Creating...\" : \"Create\" }}\n </button>\n </div>\n </form>\n</div>\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ConfigurationService } from \"./services/configuration.service\";\nimport { NsWISCommon } from \"./models/env.model\";\nimport { CONSTANTS_WIS_COMMON } from \"./constants/emp-web-exp.constants\";\nimport { HttpService } from \"./services/http.service\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { LoaderComponent } from \"./components/loader/loader.component\";\nimport { LoaderService } from \"./services/loader.service\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\nimport { CreateNonShiftModalComponent } from \"./components/create-non-shift-modal/create-non-shift-modal.component\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\nimport { HttpClientModule } from \"@angular/common/http\";\n\n@NgModule({\n declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent],\n imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2,],\n providers: [],\n exports: [SidenavComponent, CreateNonShiftModalComponent]\n})\nexport class WisCommonModule {\n static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule> {\n return {\n ngModule: WisCommonModule,\n providers: [HttpService,{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]\n };\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { NsWISConfigurations } from \"../models/configurations.model\";\n@Injectable({\n providedIn: 'root'\n})\nexport class MfeCommunicationService {\n private _etsLoginUser: NsWISConfigurations.ILoginUserDetails;\n\n setUserDetails(userDetails: NsWISConfigurations.ILoginUserDetails): void {\n this._etsLoginUser = userDetails;\n }\n\n getUserDetails(): NsWISConfigurations.ILoginUserDetails {\n return this._etsLoginUser;\n }\n\n constructor() { }\n loginDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n employeeExperience = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n floorPlan = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n meetingRooms = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n adminUI = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n paymentsDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1); \n visitorMgmt = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n}\n","export abstract class SessionError extends Error {}\n\nexport class SessionTokenNotFoundError extends SessionError {\n constructor() {\n super('Session token was not found.');\n this.name = 'SessionTokenNotFoundError';\n }\n}\n\nexport class SessionTokenExpiredError extends SessionError {\n constructor() {\n super('Session token has expired.');\n this.name = 'SessionTokenExpiredError';\n }\n}\n\nexport class SessionTokenInvalidError extends SessionError {\n constructor() {\n super('Session token could not be decoded.');\n this.name = 'SessionTokenInvalidError';\n }\n}\n\nexport class SessionClaimNotFoundError extends SessionError {\n constructor(public readonly claim: string) {\n super(`Session claim \"${claim}\" was not found in the token.`);\n this.name = 'SessionClaimNotFoundError';\n }\n}\n\nexport type SessionClaimFailureReason = 'absent' | 'blank';\n\nexport interface ISessionClaimFailure {\n claim: string;\n reason: SessionClaimFailureReason;\n}\n\n/** Renders failures as `claim (reason), claim (reason)` for error messages. */\nexport function describeClaimFailures(failures: ISessionClaimFailure[]): string {\n return failures.map(f => `${f.claim} (${f.reason})`).join(', ');\n}\n\n/**\n * Every claim `run`'s `next` failed to read, reported once after the block has finished.\n * Extends `SessionClaimNotFoundError` — and reports the first failure as `claim` — so handlers\n * written against the single-claim error keep working.\n */\nexport class SessionClaimsMissingError extends SessionClaimNotFoundError {\n constructor(public readonly failures: ISessionClaimFailure[]) {\n super(failures[0].claim);\n this.name = 'SessionClaimsMissingError';\n this.message = `Session claims not found: ${describeClaimFailures(failures)}.`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport jwtDecode from 'jwt-decode';\n\nimport { getCookie } from '../functions/cookie.function';\nimport { getQueryParam } from '../functions/url.functions';\nimport { NsSession } from '../models/session.model';\nimport {\n describeClaimFailures,\n ISessionClaimFailure,\n SessionClaimFailureReason,\n SessionClaimNotFoundError,\n SessionClaimsMissingError,\n SessionError,\n SessionTokenExpiredError,\n SessionTokenInvalidError,\n SessionTokenNotFoundError,\n} from './session.errors';\n\nconst DEFAULT_SESSION_TOKEN_PREFIX = 'sso-wis-token';\nconst DEFAULT_SESSION_TOKEN_FALLBACK_KEY = 'x-wis-token';\nconst DEFAULT_VET_TOKEN_PREFIX = 'x-vet-token';\nconst LAUNCH_SOURCE_VET = 'VET';\n\n/** The accessors that read a single claim, and so can come back `undefined` inside `run`. */\ntype ClaimAccessor =\n | 'sub'\n | 'empGuid'\n | 'employeeId'\n | 'internalSsoRole'\n | 'roles'\n | 'sessionId'\n | 'loggedInUser'\n | 'exp'\n | 'iat'\n | 'businessUnitId'\n | 'allowedBuids'\n | 'vetUserEmailId'\n | 'vetUserId'\n | 'source'\n | 'roleId';\n\n/**\n * The session as seen inside `run`'s `next`. `run` collects missing claims instead of throwing\n * so the block always completes, which means any claim accessor may yield `undefined`.\n * Outside `run` — direct access, or `read` — the accessors still throw and stay non-optional.\n */\nexport type PartialSession = Omit<SessionService, ClaimAccessor> & {\n readonly [K in ClaimAccessor]: SessionService[K] | undefined;\n};\n\ntype SessionState =\n | { status: 'ok'; claims: NsSession.IClaims; isVET: boolean }\n | { status: 'not-found'; isVET: boolean }\n | { status: 'expired'; isVET: boolean }\n | { status: 'invalid'; isVET: boolean };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionService {\n private config: NsSession.IInitConfig = {};\n private cachedToken: string | null = null;\n private cachedState: SessionState | null = null;\n private collecting: ISessionClaimFailure[] | null = null;\n\n init(config: NsSession.IInitConfig): void {\n this.config = { ...config };\n this.cachedToken = null;\n this.cachedState = null;\n }\n\n /**\n * Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.\n * Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.\n */\n read<T>(handlers: { next: (session: SessionService) => T; error: (error: SessionError) => T }): T {\n try {\n return handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n return handlers.error(e);\n }\n throw e;\n }\n }\n\n /**\n * Statement-style variant of `read` for blocks of assignments/side effects with no return value.\n *\n * `next` always runs to completion: a claim that is absent or blank yields `undefined` instead of\n * throwing, and every such failure is reported once afterwards via `handlers.error`, as a\n * `SessionClaimsMissingError` listing all of them. An unusable token (missing, expired,\n * undecodable) still aborts `next` immediately with the matching `SessionError`.\n *\n * Collecting covers the synchronous body of `next` only — claim reads deferred into a subscription,\n * timeout or promise run after it has returned and throw as usual.\n *\n * An error `next` throws for any other reason propagates untouched, except that any claims missing\n * at the time are appended to its message and attached as `sessionClaimFailures` — a collected\n * `undefined` reaching the block is the usual cause, and that is the part worth knowing.\n */\n run(handlers: { next: (session: PartialSession) => void; error: (error: SessionError) => void }): void {\n const failures: ISessionClaimFailure[] = [];\n const previous = this.collecting;\n this.collecting = failures;\n try {\n handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n handlers.error(e);\n return;\n }\n if (failures.length && e instanceof Error) {\n (e as Error & { sessionClaimFailures?: ISessionClaimFailure[] }).sessionClaimFailures = failures;\n e.message = `${e.message} — session claims missing during run(): ${describeClaimFailures(failures)}`;\n }\n throw e;\n } finally {\n this.collecting = previous;\n }\n if (failures.length) {\n handlers.error(new SessionClaimsMissingError(failures));\n }\n }\n\n get isVET(): boolean {\n return this.state.isVET;\n }\n\n get sub(): string { return this.getClaim('sub'); }\n get empGuid(): string { return this.getClaim('employeeGUID'); }\n get employeeId(): string { return this.getClaim('employeeId'); }\n get internalSsoRole(): string { return this.getClaim('internal_sso_role'); }\n get roles(): string[] { return this.getClaim('roles'); }\n get sessionId(): string { return this.getClaim('sessionId'); }\n get loggedInUser(): string { return this.getClaim('loggedInUser'); }\n get exp(): number { return this.getClaim('exp'); }\n get iat(): number { return this.getClaim('iat'); }\n get businessUnitId(): string { return this.getClaim('businessUnitId'); }\n get allowedBuids(): string[] { return this.getClaim('ALLOWED_BUIDS'); }\n get vetUserEmailId(): string { return this.getClaim('vetUserEmailId'); }\n get vetUserId(): number { return this.getClaim('vetUserId'); }\n get source(): string { return this.getClaim('source'); }\n\n get roleId(): number {\n const raw = this.resolveRole(this.getClaims());\n if (!raw) {\n return this.missingClaim('roleId', 'absent');\n }\n return Number(raw);\n }\n\n /** First numeric role in `internal_sso_role` then `roles`, or `''` when the token carries none. */\n private resolveRole(claims: NsSession.IClaims): string {\n const candidates = [claims.internal_sso_role, ...(claims.roles ?? [])];\n return candidates\n .map(value => value?.trim())\n .find(value => this.isDigitsOnly(value)) ?? '';\n }\n\n private isDigitsOnly(value: string | undefined): value is string {\n return !!value && /^\\d+$/.test(value);\n }\n\n private getClaims(): NsSession.IClaims {\n const state = this.state;\n if (state.status === 'ok') {\n return state.claims;\n }\n if (state.status === 'not-found') {\n throw new SessionTokenNotFoundError();\n }\n if (state.status === 'expired') {\n throw new SessionTokenExpiredError();\n }\n throw new SessionTokenInvalidError();\n }\n\n private getClaim<K extends keyof NsSession.IClaims>(key: K): NonNullable<NsSession.IClaims[K]> {\n const claims = this.getClaims();\n const value = claims[key];\n const isEmptyString = typeof value === 'string' && value.trim() === '';\n if (value === undefined || value === null || isEmptyString) {\n return this.missingClaim(key as string, isEmptyString ? 'blank' : 'absent');\n }\n return (typeof value === 'string' ? value.trim() : value) as NonNullable<NsSession.IClaims[K]>;\n }\n\n /** Records the failure and yields `undefined` while `run` is collecting; throws otherwise. */\n private missingClaim(claim: string, reason: SessionClaimFailureReason): never {\n if (this.collecting) {\n this.collecting.push({ claim, reason });\n return undefined as never;\n }\n throw new SessionClaimNotFoundError(claim);\n }\n\n private get state(): SessionState {\n const { token, isVET } = this.findToken();\n if (!this.cachedState || token !== this.cachedToken) {\n this.cachedToken = token;\n this.cachedState = this.build(token, isVET);\n }\n return this.cachedState;\n }\n\n private build(token: string, isVET: boolean): SessionState {\n if (!token) {\n return { status: 'not-found', isVET };\n }\n\n let claims: NsSession.IClaims;\n try {\n claims = jwtDecode<NsSession.IClaims>(token);\n } catch {\n return { status: 'invalid', isVET };\n }\n\n if (this.isExpired(claims)) {\n return { status: 'expired', isVET };\n }\n\n return { status: 'ok', claims, isVET };\n }\n\n private isExpired(claims: NsSession.IClaims): boolean {\n return typeof claims.exp === 'number' && claims.exp * 1000 <= Date.now();\n }\n\n private isVETSource(): boolean {\n return getQueryParam('source') === LAUNCH_SOURCE_VET;\n }\n\n private resolveBuid(): string | null {\n return getQueryParam('buid') || getCookie('buid') || null;\n }\n\n private findToken(): { token: string; isVET: boolean } {\n const buid = this.resolveBuid();\n\n if (this.isVETSource()) {\n const vetKey = this.config.vetTokenCookieKey ?? (buid ? `${DEFAULT_VET_TOKEN_PREFIX}-${buid}` : null);\n const vetToken = (vetKey ? getCookie(vetKey) : '') || '';\n if (vetToken) {\n return { token: vetToken, isVET: true };\n }\n }\n\n const sessionToken = this.config.sessionTokenCookieKey\n ? getCookie(this.config.sessionTokenCookieKey)\n : (buid ? getCookie(`${DEFAULT_SESSION_TOKEN_PREFIX}-${buid}`) : '') || getCookie(DEFAULT_SESSION_TOKEN_FALLBACK_KEY);\n\n return { token: sessionToken || '', isVET: false };\n }\n}\n","/*\n * Public API Surface of wis-common\n */\n\nexport * from \"./lib/modules/auth/auth.service\";\nexport * from \"./lib/modules/auth/auth.module\";\nexport * from \"./lib/services/configuration.service\";\nexport * from \"./lib/models/configurations.model\";\nexport * from \"./lib/functions/nav-filter.function\";\nexport * from \"./lib/functions/cookie.function\";\nexport * from \"./lib/functions/url.functions\";\nexport * from \"./lib/interceptors/auth.interceptor\";\nexport * from \"./lib/services/loader.service\";\nexport * from \"./lib/modules/logger/logger.module\";\nexport * from \"./lib/modules/logger/logger.service\";\nexport * from \"./lib/wis-common.module\";\nexport * from \"./lib/modules/logger/logger.model\";\nexport * from \"./lib/components/sidenav/sidenav.component\";\nexport * from \"./lib/services/mfe-communication.service\";\nexport * from \"./lib/components/create-non-shift-modal/create-non-shift-modal.component\";\nexport * from \"./lib/services/session.service\";\nexport * from \"./lib/services/session.errors\";\nexport * from \"./lib/models/session.model\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.HttpService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"mis-wis-common.mjs","sources":["../../../libraries/wis-common/src/lib/modules/auth/auth.service.ts","../../../libraries/wis-common/src/lib/modules/auth/auth.module.ts","../../../libraries/wis-common/src/lib/services/configuration.service.ts","../../../libraries/wis-common/src/lib/functions/nav-filter.function.ts","../../../libraries/wis-common/src/lib/functions/cookie.function.ts","../../../libraries/wis-common/src/lib/functions/url.functions.ts","../../../libraries/wis-common/src/lib/interceptors/auth.interceptor.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.ts","../../../libraries/wis-common/src/lib/components/loader/loader.component.html","../../../libraries/wis-common/src/lib/services/loader.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.constant.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.functions.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.service.ts","../../../libraries/wis-common/src/lib/modules/logger/logger.module.ts","../../../libraries/wis-common/src/lib/constants/emp-web-exp.constants.ts","../../../libraries/wis-common/src/lib/services/http.service.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.ts","../../../libraries/wis-common/src/lib/components/sidenav/sidenav.component.html","../../../libraries/wis-common/src/lib/constants/assets.constants.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.ts","../../../libraries/wis-common/src/lib/components/create-non-shift-modal/create-non-shift-modal.component.html","../../../libraries/wis-common/src/lib/wis-common.module.ts","../../../libraries/wis-common/src/lib/services/mfe-communication.service.ts","../../../libraries/wis-common/src/lib/services/session.errors.ts","../../../libraries/wis-common/src/lib/services/session.service.ts","../../../libraries/wis-common/src/public-api.ts","../../../libraries/wis-common/src/mis-wis-common.ts"],"sourcesContent":["import { Inject, Injectable } from \"@angular/core\";\nimport { IUserInfo } from \"./auth.model\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AuthService {\n userDetails: IUserInfo;\n\n constructor() {}\n\n init(user: IUserInfo) {\n this.userDetails = user;\n }\n}\n","import { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AuthService } from \"./auth.service\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class AuthModule {\n /**\n *\n * @returns ModuleWithProviders<AuthModule>\n */\n static forRoot(): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [AuthService]\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ConfigurationService {\n constructor() {}\n}\n","import { NsWISConfigurations } from \"../models/configurations.model\";\n\nexport const filterNavList = (\n navList: NsWISConfigurations.ISidenavLink[],\n features: NsWISConfigurations.IFeaturesMap\n): NsWISConfigurations.ISidenavLink[] => {\n return navList.filter(nav => {\n const mustHave = nav.mustHaveBasedProperty && nav.mustHaveBasedProperty.every(basedProperty => features[basedProperty]);\n const canHave = nav.canHaveBasedProperty && nav.canHaveBasedProperty.some(basedProperty => features[basedProperty]);\n if ((mustHave || canHave) && nav.children) {\n nav.children = filterNavList(nav.children, features);\n }\n return mustHave || canHave;\n });\n};\n","interface ICookieOptions {\n expires?: string;\n path?: string;\n domain?: string;\n \"Max-Age\"?: string;\n Secure?: boolean;\n HttpOnly?: boolean;\n SameSite?: \"Strict\" | \"Lax\" | \"None\";\n}\n\nexport function getCookie(name: string): string {\n const cookies = {};\n const cookieString = document.cookie;\n cookieString.split(\"; \").forEach(cookie => {\n const [key, value] = cookie.split(\"=\");\n cookies[key] = value;\n });\n return cookies[name] || undefined;\n}\n\nexport function setCookie(name: string, value: string, options?: ICookieOptions): void {\n let cookieStr = `${name}=${value};`;\n if (options) {\n const optsSelected = Object.keys(options);\n for (const opt of optsSelected) {\n cookieStr += ` ${opt}${(typeof options[opt] === \"string\" && `=${options[opt]}`) || \"\"};`;\n }\n }\n cookieStr += \";secure; SameSite=Strict;\";\n document.cookie = cookieStr;\n}\n\nexport function removeCookie(name: string, domain?: string): void {\n setCookie(name, \"\", { expires: new Date(0).toUTCString(), domain });\n}\n","export function getQueryParam(queryString: string): string | null {\n const results = new RegExp(\"[?&]\" + queryString + \"=([^&#]*)\").exec(window.location.href);\n if (results === null) {\n return null;\n } else {\n return decodeURIComponent(results[1]) || null;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\nimport { tap } from \"rxjs/operators\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { getCookie } from \"../functions/cookie.function\";\nimport { getQueryParam } from \"../functions/url.functions\";\n\nconst TOKEN_NAME = \"x-wis-token\";\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private route: ActivatedRoute, private toast: ToastService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler) {\n const paramsMap = this.route.snapshot.queryParamMap;\n const buid = getQueryParam(\"buid\") || getQueryParam(\"buId\") || \"\";\n const empGuid = getQueryParam(\"empGuid\") || getQueryParam(\"empGuId\") || getQueryParam(\"userId\") || \"\";\n // const source = getQueryParam(\"source\");\n const authToken = getQueryParam(\"auth-token\");\n const token = getCookie(`sso-wis-token-${buid}`);\n const mobile_app_token = getCookie(TOKEN_NAME);\n const cloneReq = request.clone({\n setHeaders: {\n \"x-tenant-id\": buid,\n \"x-user-id\": empGuid,\n ...(!!token && { [TOKEN_NAME]: token }),\n ...(!!authToken && { [TOKEN_NAME]: authToken }),\n ...(!!mobile_app_token && { [TOKEN_NAME]: mobile_app_token })\n }\n });\n return next.handle(cloneReq).pipe(\n tap(\n () => {},\n err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.toast.displayMsg(\"Your session has expired. Please login again.\",6000);\n }\n }\n )\n );\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"mis-common-loader\",\n templateUrl: \"./loader.component.html\",\n styleUrls: [\"./loader.component.scss\"]\n})\nexport class LoaderComponent implements OnInit {\n message: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"message-wrapper\" *ngIf=\"message; else noMessageLoader\">\n <span><mis-loader type=\"block\"></mis-loader></span>\n <p>{{ message }}</p>\n</div>\n<ng-template #noMessageLoader>\n <mis-loader></mis-loader>\n</ng-template>\n","/** @format */\n\nimport { GlobalPositionStrategy, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { LoaderComponent } from \"../components/loader/loader.component\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoaderService {\n private overlayRef: OverlayRef;\n public loading = false;\n\n constructor(private overlay: Overlay) {}\n\n show(message?: string): void {\n this.loading = true;\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n const { positionStrategy, width, backdropClass, hasMessage } = this.calcLoaderProperties(!!message);\n const config = new OverlayConfig({\n hasBackdrop: true,\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n width,\n backdropClass\n });\n this.overlayRef = this.overlay.create(config);\n const portal = new ComponentPortal(LoaderComponent, null);\n const componentRef = this.overlayRef.attach(portal);\n if (hasMessage) {\n componentRef.instance.message = message;\n }\n }\n\n hide(): void {\n this.loading = false;\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n private calcLoaderProperties(hasMessage: boolean): {\n positionStrategy: GlobalPositionStrategy;\n width: string;\n backdropClass: string;\n hasMessage: boolean;\n } {\n const positionStrategy = this.overlay.position().global();\n let width = \"100vh\";\n let backdropClass = \"cdk-overlay-transparent-backdrop\";\n if (hasMessage) {\n width = \"initial\";\n backdropClass = \"wis-common-loader-bg\";\n positionStrategy.centerHorizontally().centerVertically();\n } else {\n positionStrategy.top(\"0px\").right(\"0px\");\n }\n return { positionStrategy, width, backdropClass, hasMessage };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_LOGGER = {\n APP_NAME: \"wisLoggerApp\",\n ENV_VAR: \"wisLoggerEnv\"\n};\n","import { TEnvName } from \"./logger.model\";\nconst envMap = {\n dev: \"https://ui-logger.stage.moveinsync.com\",\n qa: \"https://ui-logger.stage.moveinsync.com\",\n production: \"https://ui-logger.moveinsync.com\",\n uat: \"https://ui-logger-uat.moveinsync.com\",\n \"production-green\": \"https://ui-logger-green.moveinsync.com\",\n \"production-beta\": \"https://ui-logger-beta.moveinsync.com\",\n \"production-eu\": \"https://ui-logger.eu.moveinsync.com\",\n \"production-eu-green\": \"https://ui-logger-green.eu.moveinsync.com\",\n \"production-eu-beta\": \"https://ui-logger-beta.eu.moveinsync.com\",\n \"production-mu\": \"https://ui-logger.moveinsync.in\",\n \"production-mu-green\": \"https://ui-logger-green.moveinsync.in\",\n \"production-mu-beta\": \"https://ui-logger-beta.moveinsync.in\",\n};\nexport function environmentHandler(env: TEnvName) {\n if (!env) {\n return \"/logger\";\n }\n return envMap[env];\n}\n","import { TEnvName } from \"./logger.model\";\nimport { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { environmentHandler } from \"./logger.functions\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class LoggerService {\n private cookies: boolean = false;\n\n constructor(\n private http: HttpClient,\n @Inject(CONSTANTS_LOGGER.APP_NAME) private appName: string,\n @Inject(CONSTANTS_LOGGER.ENV_VAR) private appEnv: TEnvName\n ) {}\n\n useCookies(useCookies: boolean) {\n this.cookies = useCookies;\n }\n\n private logRequest(data: any, logLevel: \"info\" | \"error\" | \"warn\") {\n const request = {\n data,\n cookies: this.cookies ? document.cookie : undefined,\n logLevel\n };\n this.postLog(request);\n }\n\n private postLog(request) {\n const url = `${environmentHandler(this.appEnv)}/report-log/${this.appName}`;\n this.http.post(`${url}`, request).subscribe();\n }\n\n info(data: any) {\n this.logRequest(data, \"info\");\n }\n\n warn(data: any) {\n this.logRequest(data, \"warn\");\n }\n\n error(data: any, componentName: string, serviceUrl?: string) {\n this.logRequest({ ...data, componentName, serviceUrl }, \"error\");\n }\n}\n","import { CONSTANTS_LOGGER } from \"./logger.constant\";\nimport { ErrorHandler, ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { TEnvName } from \"./logger.model\";\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n providers: []\n})\nexport class LoggerModule {\n /**\n *\n * @param appName any app name eg. FAQ, Floor Plan, In App Popup, etc.\n * @param env \"dev\" | \"qa\" | \"uat\" | \"prod\" | \"prod-beta\" | \"prod-green\" | \"prod-eu\" | \"prod-eu-green\" | undefined\n * @returns ModuleWithProviders<LoggerModule>\n */\n static forChild(appName: string, env?: TEnvName): ModuleWithProviders<LoggerModule> {\n return {\n ngModule: LoggerModule,\n providers: [\n {\n provide: CONSTANTS_LOGGER.APP_NAME,\n useValue: appName\n },\n {\n provide: CONSTANTS_LOGGER.ENV_VAR,\n useValue: env\n },\n LoggerService\n ]\n };\n }\n}\n","/** @format */\n\nexport const CONSTANTS_WIS_COMMON = {\n ENV_VAR: \"wisCommonEnvironment\"\n};\n","import { HttpClient } from \"@angular/common/http\";\nimport { Inject, Injectable } from \"@angular/core\";\nimport { map, Observable } from \"rxjs\";\nimport { CONSTANTS_WIS_COMMON } from \"../constants/emp-web-exp.constants\";\nimport { NsWISConfigurations } from \"../models/configurations.model\";\nimport { NsWISCommon } from \"../models/env.model\";\nimport { AuthService } from \"../modules/auth/auth.service\";\n\nconst API_URLS = {\n CONFIGURATIONS: \"configurations\"\n};\n\n@Injectable()\nexport class HttpService {\n constructor(@Inject(CONSTANTS_WIS_COMMON) public env: NsWISCommon.IEnv, private http: HttpClient) {}\n\n getProperties(Porperties: string[]) {\n return this.http.get(`${this.env.ets}/ets/apis/properties/${Porperties.join(\",\")}`).pipe(\n map((res: any) => {\n return res.reduce((acc: any, item: any) => {\n acc[item.propertyName] = item.propertyValue === \"true\" ? true : item.propertyValue === \"false\" ? false : item.propertyValue;\n return acc;\n }, {});\n })\n );\n }\n\n getOffices(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=getOfficeList`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n listTransportLocalities(nonce) {\n const body = `CSRF_NONCE=${nonce}&method=listTransportLocalities`;\n return this.http.post(`${this.env.ets}/Locality_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n createEmptyIrregularTripSheet(nonce: string, direction: string): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=createEmptyIrregularTripSheet&direction=${direction}`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n\n addEmployeeToTripSheet(\n nonce: string,\n params: {\n tripsheet: any;\n employee: any;\n pickupLoc: any;\n dropLoc: any;\n pickUpTime: string;\n dropTime: string;\n position: number;\n routeSource?: string;\n assetList?: any;\n }\n ): Observable<any> {\n const body = `CSRF_NONCE=${nonce}&method=addEmployeeToTripSheet&tripsheet=${encodeURIComponent(\n JSON.stringify(params.tripsheet)\n )}&employee=${encodeURIComponent(JSON.stringify(params.employee))}&pickupLoc=${encodeURIComponent(\n JSON.stringify(params.pickupLoc)\n )}&dropLoc=${encodeURIComponent(JSON.stringify(params.dropLoc))}&pickUpTime=\"${params.pickUpTime}\"&dropTime=\"${params.dropTime}\"&position=${\n params.position\n }${params.routeSource ? \"&routeSource=\" + params.routeSource : \"\"}${\n params.assetList ? \"&assetList=\" + encodeURIComponent(JSON.stringify(params.assetList)) : \"\"\n }`;\n return this.http.post(`${this.env.ets}/Tripsheet_Edit_Servlet`, body, { headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" } });\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"wis-common-sidenav\",\n templateUrl: \"./sidenav.component.html\",\n styleUrls: [\"./sidenav.component.scss\"]\n})\nexport class SidenavComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"wis-sidenav-wrapper\">\n <div class=\"wis-sidenav-header\">\n <div class=\"wis-sidenav-header-logo\">\n <img src=\"assets/sidenav/assets/Wis-icon.svg\" alt=\"\" />\n </div>\n <div class=\"wis-sidenav-header-title\">\n <h1>WIS</h1>\n </div>\n </div>\n <div class=\"wis-sidenav-body\">\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-home\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Home</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-user\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Profile</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-users\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Users</h3>\n </div>\n </div>\n <div class=\"wis-sidenav-body-item\">\n <div class=\"wis-sidenav-body-item-icon\">\n <i class=\"fas fa-cog\"></i>\n </div>\n <div class=\"wis-sidenav-body-item-text\">\n <h3>Settings</h3>\n </div>\n </div>\n </div>\n</div>\n","/** @format */\n\nexport const CONSTANTS_ASSETS_WIS_COMMON = {\n IMAGES: {\n CALENDAR_ICON: \"assets/libraries/wis-common/calendar.svg\"\n },\n ICONS: {}\n};\n","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { IDatePickerConfig } from \"mis-crystal-design-system/datepicker_v2\";\nimport { CONSTANTS_ASSETS_WIS_COMMON } from \"../../constants/assets.constants\";\nimport { HttpService } from \"../../services/http.service\";\nimport { DropdownItem } from \"mis-crystal-design-system/dropdown\";\nimport { forkJoin } from \"rxjs\";\nimport { finalize } from \"rxjs/operators\";\nimport { MODAL_DATA_VAR, ModalRef } from \"mis-crystal-design-system/modal\";\nimport { ToastService } from \"mis-crystal-design-system/toast\";\n\ndayjs.extend(customParseFormat);\n\nconst PROPERTIES = [\"NON_SHIFT_TRIPS_CATEGORIES\", \"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"];\nconst DATE_FORMAT = \"DD/MM/YYYY\";\nconst PICKUP_TIME_FORMAT = \"DD/MM/YYYY HH/mm/ss\";\n\ninterface LocationValue {\n type: number;\n office: any | null;\n}\n\ninterface LocationDropdownItem {\n label: string;\n value: LocationValue;\n}\n\n@Component({\n selector: \"app-create-non-shift-modal\",\n templateUrl: \"./create-non-shift-modal.component.html\",\n styleUrls: [\"./create-non-shift-modal.component.scss\"]\n})\nexport class CreateNonShiftModalComponent implements OnInit {\n CONSTANTS_ASSETS_WIS_COMMON = CONSTANTS_ASSETS_WIS_COMMON;\n\n dateConfig: Partial<IDatePickerConfig> = {\n minDate: dayjs().format(DATE_FORMAT),\n format: DATE_FORMAT\n };\n createTripsheetForm!: FormGroup;\n offices: DropdownItem[] = [];\n\n locationDropdownData: LocationDropdownItem[] = [];\n\n categoryDropdownData: DropdownItem[] = [];\n\n hoursDropdownData: DropdownItem[] = [];\n\n minutesDropdownData: DropdownItem[] = [];\n\n showOtherAddress: boolean = false;\n\n loading: boolean = false;\n isSubmitting: boolean = false;\n\n readonly TYPE_OFFICE = 6;\n readonly TYPE_TRANSPORT = 3;\n readonly TYPE_OTHER = 4;\n properties: Record<string, any> = {};\n\n constructor(@Inject(MODAL_DATA_VAR) public modalData: any, private modalRef: ModalRef, private fb: FormBuilder, private http: HttpService,private toast: ToastService) {}\n\n ngOnInit(): void {\n this.loading = true;\n\n const $office = this.http.getOffices(this.modalData.nonce);\n const $properties = this.http.getProperties(PROPERTIES);\n\n forkJoin([$office, $properties])\n .pipe(finalize(() => (this.loading = false)))\n .subscribe({\n next: ([offices, properties]) => {\n this.properties = properties;\n this.initializeForm();\n this.initializeDropdownData(offices);\n this.setupFormListeners();\n },\n error: error => {\n console.error(\"Error loading form data:\", error);\n this.modalRef.close();\n }\n });\n }\n\n private initializeForm(): void {\n const currentTime = this.modalData?.date ?? dayjs().format(DATE_FORMAT);\n\n this.createTripsheetForm = this.fb.group({\n direction: [this.modalData?.shiftType === \"logout\" ? \"OUT\" : \"IN\", Validators.required],\n location: [{ label: \"\", value: \"\" }],\n otherAddress: \"\",\n tripCategory: [{ label: \"\", value: \"\" }],\n date: [currentTime, Validators.required],\n hours: [{ label: \"\", value: \"\" }],\n mins: [{ label: \"\", value: \"\" }]\n });\n }\n\n private initializeDropdownData(offices: any): void {\n this.locationDropdownData = offices.map(\n (office: any): LocationDropdownItem => ({\n label: office.address,\n value: { type: this.TYPE_OFFICE, office: office || null }\n })\n );\n this.createTripsheetForm.get(\"location\")?.setValue(this.locationDropdownData[0]);\n\n if (!this.properties?.[\"USE_VALID_OFFICE_FOR_IRREGULAR_TRIPS\"]) {\n this.locationDropdownData.push(\n { label: \"Airport\", value: { type: this.TYPE_TRANSPORT, office: null } } as LocationDropdownItem,\n { label: \"Other\", value: { type: this.TYPE_OTHER, office: null } } as LocationDropdownItem\n );\n }\n\n // Initialize category dropdown\n const categoriesString = this.properties?.[\"NON_SHIFT_TRIPS_CATEGORIES\"];\n if (categoriesString && typeof categoriesString === \"string\") {\n const categories = categoriesString.split(\",\").filter(cat => cat && cat.trim());\n if (categories.length > 0) {\n this.categoryDropdownData = categories.map(category => ({\n label: category.trim(),\n value: category.trim()\n }));\n }\n }\n\n const currentHour = new Date().getHours();\n this.hoursDropdownData = Array.from({ length: 24 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ hours: this.hoursDropdownData[currentHour] });\n\n const currentMinute = new Date().getMinutes();\n this.minutesDropdownData = Array.from({ length: 60 }, (_, i) => ({\n label: this.padZero(i),\n value: this.padZero(i)\n }));\n this.createTripsheetForm.patchValue({ mins: this.minutesDropdownData[currentMinute] });\n }\n\n private setupFormListeners(): void {\n this.createTripsheetForm?.valueChanges.subscribe(value => {\n const { location } = this.createTripsheetForm?.value;\n if (this.showOtherAddress !== (location?.value?.type === this.TYPE_OTHER)) {\n this.showOtherAddress = location?.value?.type === this.TYPE_OTHER;\n if (this.showOtherAddress) {\n this.createTripsheetForm.get(\"otherAddress\")?.setValidators([Validators.required]);\n } else {\n this.createTripsheetForm.get(\"otherAddress\")?.clearValidators();\n }\n this.createTripsheetForm.get(\"otherAddress\")?.updateValueAndValidity();\n }\n });\n }\n\n private padZero(num: number): string {\n return num.toString().padStart(2, \"0\");\n }\n\n onCancel(): void {\n this.modalRef.close();\n }\n\n onSubmit(): void {\n if (this.createTripsheetForm.invalid) {\n return;\n }\n\n const formValue = this.createTripsheetForm.value;\n\n const pickupTime = `${formValue.date} ${formValue.hours.value}/${formValue.mins.value}/00`;\n const pickupTimeDate = dayjs(pickupTime, PICKUP_TIME_FORMAT).toDate();\n if (this.isDateAndTimeFromPast(pickupTimeDate)) {\n this.toast.displayMsg(\"Please select a future date and time.\");\n return;\n }\n\n if (this.categoryDropdownData.length > 0 && (!formValue.tripCategory || !formValue.tripCategory.value)) {\n this.toast.displayMsg(\"Please provide a trip category.\");\n return;\n }\n\n if (formValue.location?.value?.type === this.TYPE_OTHER) {\n if (!formValue.otherAddress || formValue.otherAddress.trim() === \"\") {\n this.toast.displayMsg(\"Please provide the address.\");\n return;\n }\n if (formValue.otherAddress.includes(\",\")) {\n this.toast.displayMsg(\"Special character (,) not allowed in address.\");\n return;\n }\n }\n\n this.isSubmitting = true;\n\n this.http.createEmptyIrregularTripSheet(this.modalData.nonce, formValue.direction).subscribe({\n next: routeTripSheet => {\n const pickupLoc = routeTripSheet.dir === \"IN\" ? this.modalData.employee.home : this.getLocation(formValue);\n const dropLoc = routeTripSheet.dir === \"OUT\" ? this.modalData.employee.home : this.getLocation(formValue);\n const pickupTimeFormatted = pickupTime;\n const dropTimeFormatted = pickupTime;\n\n const employee = { ...this.modalData.employee, employee_status: 1 };\n\n const addEmployeeParams = {\n tripsheet: routeTripSheet,\n employee: employee,\n pickupLoc: pickupLoc,\n dropLoc: dropLoc,\n pickUpTime: pickupTimeFormatted,\n dropTime: dropTimeFormatted,\n position: 0,\n routeSource: this.modalData.routeSource,\n assetList: this.modalData.assetList\n };\n\n this.http.addEmployeeToTripSheet(this.modalData.nonce, addEmployeeParams).subscribe({\n next: updatedTripSheet => {\n if (!updatedTripSheet.customMap) {\n updatedTripSheet.customMap = {};\n }\n updatedTripSheet.customMap.tripCategory = formValue.tripCategory?.value || \"\";\n\n this.modalRef.close({\n success: true,\n tripsheet: updatedTripSheet\n });\n },\n error: error => {\n console.error(\"Error adding employee to tripsheet:\", error);\n this.toast.displayMsg(\"Failed to add employee to tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n },\n error: error => {\n console.error(\"Error creating tripsheet:\", error);\n this.toast.displayMsg(\"Failed to create tripsheet. Please try again.\");\n this.isSubmitting = false;\n }\n });\n }\n\n private isDateAndTimeFromPast(date: Date): boolean {\n const now = new Date();\n return date < now;\n }\n\n private getLocation(formValue: any): any {\n const location = formValue.location?.value;\n\n if (!location) {\n return null;\n }\n\n const locType = location.type;\n\n switch (locType) {\n case this.TYPE_OFFICE:\n return location.office;\n\n case this.TYPE_TRANSPORT:\n return {\n id: null,\n type: this.TYPE_TRANSPORT,\n address: \"Airport\",\n geoCord: null\n };\n\n case this.TYPE_OTHER:\n return {\n ...location.office,\n address: formValue.otherAddress || \"\"\n };\n }\n }\n}\n","<div class=\"createTripsheet\">\n <h2 class=\"modal-header\">Create Non-Shift Tripsheet</h2>\n\n <div *ngIf=\"loading\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Loading...</p>\n </div>\n\n <form\n *ngIf=\"!loading && createTripsheetForm\"\n [formGroup]=\"createTripsheetForm\"\n (ngSubmit)=\"onSubmit()\"\n class=\"createTripsheetForm\"\n id=\"createTripsheetForm\"\n >\n <div class=\"form-content\">\n <!-- Radio buttons row -->\n <div [ngClass]=\"{ 'radio-row': true, disabled: modalData?.shiftSelectionDisabled }\">\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"OUT\" id=\"startLoc\" />\n <span>Start Location Fixed (Logout)</span>\n </label>\n <label class=\"radio-label\">\n <input class=\"modern-checkbox\" type=\"radio\" formControlName=\"direction\" value=\"IN\" id=\"endLoc\" />\n <span>End Location Fixed (Login)</span>\n </label>\n </div>\n\n <!-- Location field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"locText\">Location</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"true\"\n [width]=\"'100%'\"\n [height]=\"'40px'\"\n [data]=\"locationDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('location')?.value\"\n [label]=\"'Select location...'\"\n (onChange)=\"createTripsheetForm.get('location')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Other address field -->\n <div class=\"form-field otherAddress\" *ngIf=\"showOtherAddress\">\n <div class=\"label-cell\">\n <label>Pick/Drop point <sup>*</sup></label>\n </div>\n <div class=\"input-cell\">\n <input type=\"text\" formControlName=\"otherAddress\" class=\"modern-input\" />\n </div>\n </div>\n\n <!-- Trip category field -->\n <div class=\"form-field\" *ngIf=\"categoryDropdownData.length > 0\">\n <div class=\"label-cell\">\n <label>Trip Category</label>\n </div>\n <div class=\"input-cell\">\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'250px'\"\n [height]=\"'40px'\"\n [data]=\"categoryDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('tripCategory')?.value\"\n [label]=\"'Select category...'\"\n (onChange)=\"createTripsheetForm.get('tripCategory')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n\n <!-- Time field -->\n <div class=\"form-field\">\n <div class=\"label-cell\">\n <label class=\"fixedTimeText\">Time</label>\n </div>\n <div class=\"input-cell modern-date-container\">\n <div class=\"date-select\">\n <input\n misTzDp\n readonly\n [dpConfig]=\"dateConfig\"\n [formControl]=\"createTripsheetForm.get('date')\"\n style=\"height: 44px !important; font-size: 16px !important; cursor: pointer; vertical-align: middle !important\"\n />\n <img [src]=\"CONSTANTS_ASSETS_WIS_COMMON.IMAGES.CALENDAR_ICON\" alt=\"Calendar Icon\" class=\"date-icon data-picker-icon\" />\n </div>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"hoursDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('hours')?.value\"\n [label]=\"'HH'\"\n (onChange)=\"createTripsheetForm.get('hours')?.setValue($event)\"\n ></mis-dropdown>\n\n <mis-dropdown\n [searchEnabled]=\"false\"\n [width]=\"'5rem'\"\n [height]=\"'40px'\"\n [data]=\"minutesDropdownData\"\n [selectedItem]=\"createTripsheetForm.get('mins')?.value\"\n [label]=\"'MM'\"\n (onChange)=\"createTripsheetForm.get('mins')?.setValue($event)\"\n ></mis-dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"form-actions\">\n <button mis-button type=\"outline\" (click)=\"onCancel()\" [disabled]=\"isSubmitting\">Cancel</button>\n <button mis-button type=\"primary\" [disabled]=\"isSubmitting || createTripsheetForm?.invalid\">\n {{ isSubmitting ? \"Creating...\" : \"Create\" }}\n </button>\n </div>\n </form>\n</div>\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ConfigurationService } from \"./services/configuration.service\";\nimport { NsWISCommon } from \"./models/env.model\";\nimport { CONSTANTS_WIS_COMMON } from \"./constants/emp-web-exp.constants\";\nimport { HttpService } from \"./services/http.service\";\nimport { LoaderModule } from \"mis-crystal-design-system/loader\";\nimport { LoaderComponent } from \"./components/loader/loader.component\";\nimport { LoaderService } from \"./services/loader.service\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { SidenavComponent } from \"./components/sidenav/sidenav.component\";\nimport { CreateNonShiftModalComponent } from \"./components/create-non-shift-modal/create-non-shift-modal.component\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\nimport { HttpClientModule } from \"@angular/common/http\";\n\n@NgModule({\n declarations: [LoaderComponent, SidenavComponent, CreateNonShiftModalComponent],\n imports: [CommonModule, HttpClientModule, OverlayModule, LoaderModule, DropdownModule, ReactiveFormsModule, DatepickerModuleV2,],\n providers: [],\n exports: [SidenavComponent, CreateNonShiftModalComponent]\n})\nexport class WisCommonModule {\n static forRoot(env: NsWISCommon.IEnv): ModuleWithProviders<WisCommonModule> {\n return {\n ngModule: WisCommonModule,\n providers: [HttpService,{ provide: CONSTANTS_WIS_COMMON, useValue: env }, ConfigurationService, LoaderService]\n };\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { NsWISConfigurations } from \"../models/configurations.model\";\n@Injectable({\n providedIn: 'root'\n})\nexport class MfeCommunicationService {\n private _etsLoginUser: NsWISConfigurations.ILoginUserDetails;\n\n setUserDetails(userDetails: NsWISConfigurations.ILoginUserDetails): void {\n this._etsLoginUser = userDetails;\n }\n\n getUserDetails(): NsWISConfigurations.ILoginUserDetails {\n return this._etsLoginUser;\n }\n\n constructor() { }\n loginDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n employeeExperience = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n floorPlan = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n meetingRooms = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n adminUI = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n paymentsDetails = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1); \n visitorMgmt = new ReplaySubject<NsWISConfigurations.IMfeCommunication>(1);\n}\n","export abstract class SessionError extends Error {}\n\nexport class SessionTokenNotFoundError extends SessionError {\n constructor() {\n super('Session token was not found.');\n this.name = 'SessionTokenNotFoundError';\n }\n}\n\nexport class SessionTokenExpiredError extends SessionError {\n constructor() {\n super('Session token has expired.');\n this.name = 'SessionTokenExpiredError';\n }\n}\n\nexport class SessionTokenInvalidError extends SessionError {\n constructor() {\n super('Session token could not be decoded.');\n this.name = 'SessionTokenInvalidError';\n }\n}\n\nexport class SessionClaimNotFoundError extends SessionError {\n constructor(public readonly claim: string) {\n super(`Session claim \"${claim}\" was not found in the token.`);\n this.name = 'SessionClaimNotFoundError';\n }\n}\n\nexport type SessionClaimFailureReason = 'absent' | 'blank';\n\nexport interface ISessionClaimFailure {\n claim: string;\n reason: SessionClaimFailureReason;\n}\n\n/** Renders failures as `claim (reason), claim (reason)` for error messages. */\nexport function describeClaimFailures(failures: ISessionClaimFailure[]): string {\n return failures.map(f => `${f.claim} (${f.reason})`).join(', ');\n}\n\n/**\n * Every claim `run`'s `next` failed to read, reported once after the block has finished.\n * Extends `SessionClaimNotFoundError` — and reports the first failure as `claim` — so handlers\n * written against the single-claim error keep working.\n */\nexport class SessionClaimsMissingError extends SessionClaimNotFoundError {\n constructor(public readonly failures: ISessionClaimFailure[]) {\n super(failures[0].claim);\n this.name = 'SessionClaimsMissingError';\n this.message = `Session claims not found: ${describeClaimFailures(failures)}.`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport jwtDecode from 'jwt-decode';\n\nimport { getCookie } from '../functions/cookie.function';\nimport { getQueryParam } from '../functions/url.functions';\nimport { NsSession } from '../models/session.model';\nimport {\n describeClaimFailures,\n ISessionClaimFailure,\n SessionClaimFailureReason,\n SessionClaimNotFoundError,\n SessionClaimsMissingError,\n SessionError,\n SessionTokenExpiredError,\n SessionTokenInvalidError,\n SessionTokenNotFoundError,\n} from './session.errors';\n\nconst DEFAULT_SESSION_TOKEN_PREFIX = 'sso-wis-token';\nconst DEFAULT_SESSION_TOKEN_FALLBACK_KEY = 'x-wis-token';\nconst DEFAULT_VET_TOKEN_PREFIX = 'x-vet-token';\nconst LAUNCH_SOURCE_VET = 'VET';\n\n/** The accessors that read a single claim, and so can come back `undefined` inside `run`. */\ntype ClaimAccessor =\n | 'sub'\n | 'empGuid'\n | 'employeeId'\n | 'internalSsoRole'\n | 'roles'\n | 'sessionId'\n | 'loggedInUser'\n | 'exp'\n | 'iat'\n | 'businessUnitId'\n | 'allowedBuids'\n | 'vetUserEmailId'\n | 'vetUserId'\n | 'source'\n | 'roleId';\n\n/**\n * The session as seen inside `run`'s `next`. `run` collects missing claims instead of throwing\n * so the block always completes, which means any claim accessor may yield `undefined`.\n * Outside `run` — direct access, or `read` — the accessors still throw and stay non-optional.\n */\nexport type PartialSession = Omit<SessionService, ClaimAccessor> & {\n readonly [K in ClaimAccessor]: SessionService[K] | undefined;\n};\n\ntype SessionState =\n | { status: 'ok'; claims: NsSession.IClaims; isVET: boolean }\n | { status: 'not-found'; isVET: boolean }\n | { status: 'expired'; isVET: boolean }\n | { status: 'invalid'; isVET: boolean };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionService {\n private config: NsSession.IInitConfig = {};\n private cachedToken: string | null = null;\n private cachedState: SessionState | null = null;\n private collecting: ISessionClaimFailure[] | null = null;\n\n init(config: NsSession.IInitConfig): void {\n this.config = { ...config };\n this.cachedToken = null;\n this.cachedState = null;\n }\n\n /**\n * Runs `handlers.next` and returns its result, or `handlers.error(error)` if it throws a `SessionError`.\n * Centralizes the try/catch mechanics; the caller still supplies the actual handling logic.\n */\n read<T>(handlers: { next: (session: SessionService) => T; error: (error: SessionError) => T }): T {\n try {\n return handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n return handlers.error(e);\n }\n throw e;\n }\n }\n\n /**\n * Statement-style variant of `read` for blocks of assignments/side effects with no return value.\n *\n * `next` always runs to completion: a claim that is absent or blank yields `undefined` instead of\n * throwing, and every such failure is reported once afterwards via `handlers.error`, as a\n * `SessionClaimsMissingError` listing all of them. An unusable token (missing, expired,\n * undecodable) still aborts `next` immediately with the matching `SessionError`.\n *\n * Collecting covers the synchronous body of `next` only — claim reads deferred into a subscription,\n * timeout or promise run after it has returned and throw as usual.\n *\n * An error `next` throws for any other reason propagates untouched, except that any claims missing\n * at the time are appended to its message and attached as `sessionClaimFailures` — a collected\n * `undefined` reaching the block is the usual cause, and that is the part worth knowing.\n */\n run(handlers: { next: (session: PartialSession) => void; error: (error: SessionError) => void }): void {\n const failures: ISessionClaimFailure[] = [];\n const previous = this.collecting;\n this.collecting = failures;\n try {\n handlers.next(this);\n } catch (e) {\n if (e instanceof SessionError) {\n handlers.error(e);\n return;\n }\n if (failures.length && e instanceof Error) {\n (e as Error & { sessionClaimFailures?: ISessionClaimFailure[] }).sessionClaimFailures = failures;\n e.message = `${e.message} — session claims missing during run(): ${describeClaimFailures(failures)}`;\n }\n throw e;\n } finally {\n this.collecting = previous;\n }\n if (failures.length) {\n handlers.error(new SessionClaimsMissingError(failures));\n }\n }\n\n get isVET(): boolean {\n return this.state.isVET;\n }\n\n get sub(): string { return this.getClaim('sub'); }\n get empGuid(): string { return this.getClaim('employeeGUID'); }\n get employeeId(): string { return this.getClaim('employeeId'); }\n get internalSsoRole(): string { return this.getClaim('internal_sso_role'); }\n get roles(): string[] { return this.getClaim('roles'); }\n get sessionId(): string { return this.getClaim('sessionId'); }\n get loggedInUser(): string { return this.getClaim('loggedInUser'); }\n get exp(): number { return this.getClaim('exp'); }\n get iat(): number { return this.getClaim('iat'); }\n get businessUnitId(): string { return this.getClaim('businessUnitId'); }\n get allowedBuids(): string[] { return this.getClaim('ALLOWED_BUIDS'); }\n get vetUserEmailId(): string { return this.getClaim('vetUserEmailId'); }\n get vetUserId(): number { return this.getClaim('vetUserId'); }\n get source(): string { return this.getClaim('source'); }\n\n get roleId(): number {\n const raw = this.resolveRole(this.getClaims());\n if (!raw) {\n return this.missingClaim('roleId', 'absent');\n }\n return Number(raw);\n }\n\n /** First numeric role in `internal_sso_role` then `roles`, or `''` when the token carries none. */\n private resolveRole(claims: NsSession.IClaims): string {\n const candidates = [claims.internal_sso_role, ...(claims.roles ?? [])];\n return candidates\n .map(value => value?.trim())\n .find(value => this.isDigitsOnly(value)) ?? '';\n }\n\n private isDigitsOnly(value: string | undefined): value is string {\n return !!value && /^\\d+$/.test(value);\n }\n\n private getClaims(): NsSession.IClaims {\n const state = this.state;\n if (state.status === 'ok') {\n return state.claims;\n }\n if (state.status === 'not-found') {\n throw new SessionTokenNotFoundError();\n }\n if (state.status === 'expired') {\n throw new SessionTokenExpiredError();\n }\n throw new SessionTokenInvalidError();\n }\n\n private getClaim<K extends keyof NsSession.IClaims>(key: K): NonNullable<NsSession.IClaims[K]> {\n const claims = this.getClaims();\n const value = claims[key];\n const isEmptyString = typeof value === 'string' && value.trim() === '';\n if (value === undefined || value === null || isEmptyString) {\n return this.missingClaim(key as string, isEmptyString ? 'blank' : 'absent');\n }\n return (typeof value === 'string' ? value.trim() : value) as NonNullable<NsSession.IClaims[K]>;\n }\n\n /** Records the failure and yields `undefined` while `run` is collecting; throws otherwise. */\n private missingClaim(claim: string, reason: SessionClaimFailureReason): never {\n if (this.collecting) {\n this.collecting.push({ claim, reason });\n return undefined as never;\n }\n throw new SessionClaimNotFoundError(claim);\n }\n\n private get state(): SessionState {\n const { token, isVET } = this.findToken();\n if (!this.cachedState || token !== this.cachedToken) {\n this.cachedToken = token;\n this.cachedState = this.build(token, isVET);\n }\n return this.cachedState;\n }\n\n private build(token: string, isVET: boolean): SessionState {\n if (!token) {\n return { status: 'not-found', isVET };\n }\n\n let claims: NsSession.IClaims;\n try {\n claims = jwtDecode<NsSession.IClaims>(token);\n } catch {\n return { status: 'invalid', isVET };\n }\n\n if (this.isExpired(claims)) {\n return { status: 'expired', isVET };\n }\n\n return { status: 'ok', claims, isVET };\n }\n\n private isExpired(claims: NsSession.IClaims): boolean {\n return typeof claims.exp === 'number' && claims.exp * 1000 <= Date.now();\n }\n\n private isVETSource(): boolean {\n return getQueryParam('source') === LAUNCH_SOURCE_VET;\n }\n\n private resolveBuid(): string | null {\n return getQueryParam('buid') || getCookie('buid') || null;\n }\n\n private findToken(): { token: string; isVET: boolean } {\n const buid = this.resolveBuid();\n\n if (this.isVETSource()) {\n const vetKey = this.config.vetTokenCookieKey ?? (buid ? `${DEFAULT_VET_TOKEN_PREFIX}-${buid}` : null);\n const vetToken = (vetKey ? getCookie(vetKey) : '') || '';\n if (vetToken) {\n return { token: vetToken, isVET: true };\n }\n }\n\n const sessionToken = this.config.sessionTokenCookieKey\n ? getCookie(this.config.sessionTokenCookieKey)\n : (buid ? getCookie(`${DEFAULT_SESSION_TOKEN_PREFIX}-${buid}`) : '') || getCookie(DEFAULT_SESSION_TOKEN_FALLBACK_KEY);\n\n return { token: sessionToken || '', isVET: false };\n }\n}\n","/*\n * Public API Surface of wis-common\n */\n\nexport * from \"./lib/modules/auth/auth.service\";\nexport * from \"./lib/modules/auth/auth.module\";\nexport * from \"./lib/services/configuration.service\";\nexport * from \"./lib/models/configurations.model\";\nexport * from \"./lib/functions/nav-filter.function\";\nexport * from \"./lib/functions/cookie.function\";\nexport * from \"./lib/functions/url.functions\";\nexport * from \"./lib/interceptors/auth.interceptor\";\nexport * from \"./lib/services/loader.service\";\nexport * from \"./lib/modules/logger/logger.module\";\nexport * from \"./lib/modules/logger/logger.service\";\nexport * from \"./lib/wis-common.module\";\nexport * from \"./lib/modules/logger/logger.model\";\nexport * from \"./lib/components/sidenav/sidenav.component\";\nexport * from \"./lib/services/mfe-communication.service\";\nexport * from \"./lib/components/create-non-shift-modal/create-non-shift-modal.component\";\nexport * from \"./lib/services/session.service\";\nexport * from \"./lib/services/session.errors\";\nexport * from \"./lib/models/session.model\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.HttpService","i4"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare type TEnvName = "dev" | "qa" | "uat" | "production" | "production-beta" | "production-green" | "production-eu" | "production-eu-green" | "production-mu" | undefined | string;
1
+ export declare type TEnvName = "dev" | "qa" | "uat" | "production" | "production-beta" | "production-green" | "production-eu" | "production-eu-green" | "production-eu-beta" | "production-mu" | "production-mu-green" | "production-mu-beta" | undefined | string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mis-wis/common",
3
3
  "main": "src/public-api.ts",
4
- "version": "0.2.1",
4
+ "version": "0.3.0",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "*",
7
7
  "@angular/common": "*",