vc-error-handlers 0.5.3 → 0.5.4
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.
|
@@ -10,8 +10,12 @@ export class SentryErrorHandler {
|
|
|
10
10
|
this.errorService = errorService;
|
|
11
11
|
if (config?.sentryConfig) {
|
|
12
12
|
const SENTRY_CONFIG = config.sentryConfig;
|
|
13
|
+
const envConfig = config.envConfig;
|
|
14
|
+
// Get environment from envConfig passed from frontend
|
|
15
|
+
const environment = envConfig?.environment || 'production';
|
|
13
16
|
Sentry.init({
|
|
14
17
|
dsn: SENTRY_CONFIG?.DSN,
|
|
18
|
+
environment: environment,
|
|
15
19
|
integrations: [
|
|
16
20
|
new Sentry.BrowserTracing({
|
|
17
21
|
tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,
|
|
@@ -44,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
44
48
|
}], ctorParameters: function () { return [{ type: i1.AuthorizerService }, { type: i2.GlobalErrorService }, { type: i3.Configurations, decorators: [{
|
|
45
49
|
type: Optional
|
|
46
50
|
}] }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudHJ5LWVycm9yLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9lcnJvcmhhbmRsZXIvc2VudHJ5LWVycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBUzlDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxpQkFBb0MsRUFDcEMsWUFBZ0MsRUFDNUIsTUFBdUI7UUFGM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFHeEMsSUFBSSxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUVuQyxzREFBc0Q7WUFDdEQsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLFdBQVcsSUFBSSxZQUFZLENBQUM7WUFFM0QsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDVixHQUFHLEVBQUUsYUFBYSxFQUFFLEdBQUc7Z0JBQ3ZCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixZQUFZLEVBQUU7b0JBQ1osSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDO3dCQUN4Qix1QkFBdUIsRUFBRSxhQUFhLENBQUMsWUFBWTt3QkFDbkQsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtxQkFDdEQsQ0FBQztpQkFDSDtnQkFDRCxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsa0JBQWtCO2dCQUNsRCx3QkFBd0IsRUFBRSxhQUFhLENBQUMsMEJBQTBCO2dCQUNsRSx3QkFBd0IsRUFBRSxhQUFhLENBQUMsMkJBQTJCO2FBQ3BFLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsYUFBYSxJQUFJLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQzNCLE1BQU0sa0JBQWtCLEdBQUcsNEJBQTRCLENBQUM7UUFDeEQsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDOytHQXpDVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBS04sUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L2FuZ3VsYXItaXZ5JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbic7XG5cbmltcG9ydCB7IEF1dGhvcml6ZXJTZXJ2aWNlIH0gZnJvbSAnQHZjb21wbHkvYXV0aG9yaXplcic7XG5pbXBvcnQgeyBHbG9iYWxFcnJvclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwtZXJyb3Iuc2VydmljZSc7XG5cbmltcG9ydCB7IEVycm9yU3RhdHVzQ29kZSB9IGZyb20gJy4uL3R5cGVzL2dsb2JhbC1lcnJvci50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZW50cnlFcnJvckhhbmRsZXIgaW1wbGVtZW50cyBFcnJvckhhbmRsZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhvcml6ZXJTZXJ2aWNlOiBBdXRob3JpemVyU2VydmljZSxcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogR2xvYmFsRXJyb3JTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXG4gICkge1xuICAgIGlmIChjb25maWc/LnNlbnRyeUNvbmZpZykge1xuICAgICAgY29uc3QgU0VOVFJZX0NPTkZJRyA9IGNvbmZpZy5zZW50cnlDb25maWc7XG4gICAgICBjb25zdCBlbnZDb25maWcgPSBjb25maWcuZW52Q29uZmlnO1xuICAgICAgXG4gICAgICAvLyBHZXQgZW52aXJvbm1lbnQgZnJvbSBlbnZDb25maWcgcGFzc2VkIGZyb20gZnJvbnRlbmRcbiAgICAgIGNvbnN0IGVudmlyb25tZW50ID0gZW52Q29uZmlnPy5lbnZpcm9ubWVudCB8fCAncHJvZHVjdGlvbic7XG4gICAgICBcbiAgICAgIFNlbnRyeS5pbml0KHtcbiAgICAgICAgZHNuOiBTRU5UUllfQ09ORklHPy5EU04sXG4gICAgICAgIGVudmlyb25tZW50OiBlbnZpcm9ubWVudCxcbiAgICAgICAgaW50ZWdyYXRpb25zOiBbXG4gICAgICAgICAgbmV3IFNlbnRyeS5Ccm93c2VyVHJhY2luZyh7XG4gICAgICAgICAgICB0cmFjZVByb3BhZ2F0aW9uVGFyZ2V0czogU0VOVFJZX0NPTkZJRy5BTExPV19PUklHSU4sXG4gICAgICAgICAgICByb3V0aW5nSW5zdHJ1bWVudGF0aW9uOiBTZW50cnkucm91dGluZ0luc3RydW1lbnRhdGlvbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgICAgdHJhY2VzU2FtcGxlUmF0ZTogU0VOVFJZX0NPTkZJRy5UUkFDRVNfU0FNUExFX1JBVEUsXG4gICAgICAgIHJlcGxheXNTZXNzaW9uU2FtcGxlUmF0ZTogU0VOVFJZX0NPTkZJRy5SRVBMQVlfU0VTU0lPTl9TQU1QTEVfUkFURSxcbiAgICAgICAgcmVwbGF5c09uRXJyb3JTYW1wbGVSYXRlOiBTRU5UUllfQ09ORklHLlJFUExBWV9PTl9FUlJPUl9TQU1QTEVfUkFURSxcbiAgICAgIH0pO1xuICAgICAgU2VudHJ5LnNldFVzZXIoeyB1c2VyRGV0YWlsczogdGhpcy5hdXRob3JpemVyU2VydmljZS5nZXRVc2VyKCkgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xuICAgIGNvbnN0IEVSUk9SID0gZXJyb3I/Lm9yaWdpbmFsRXJyb3IgfHwgZXJyb3I7XG4gICAgdGhpcy5oYW5kbGVDaHVua0Vycm9yKEVSUk9SKTtcbiAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihFUlJPUik7XG4gIH1cblxuICBoYW5kbGVDaHVua0Vycm9yKGVycm9yOiBFcnJvcikge1xuICAgIGNvbnN0IGNodW5rRmFpbGVkTWVzc2FnZSA9IC9Mb2FkaW5nIGNodW5rIFtcXGRdKyBmYWlsZWQvO1xuICAgIGlmIChjaHVua0ZhaWxlZE1lc3NhZ2UudGVzdChlcnJvcj8ubWVzc2FnZSkpIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2515,8 +2515,12 @@ class SentryErrorHandler {
|
|
|
2515
2515
|
this.errorService = errorService;
|
|
2516
2516
|
if (config?.sentryConfig) {
|
|
2517
2517
|
const SENTRY_CONFIG = config.sentryConfig;
|
|
2518
|
+
const envConfig = config.envConfig;
|
|
2519
|
+
// Get environment from envConfig passed from frontend
|
|
2520
|
+
const environment = envConfig?.environment || 'production';
|
|
2518
2521
|
Sentry.init({
|
|
2519
2522
|
dsn: SENTRY_CONFIG?.DSN,
|
|
2523
|
+
environment: environment,
|
|
2520
2524
|
integrations: [
|
|
2521
2525
|
new Sentry.BrowserTracing({
|
|
2522
2526
|
tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/shared/types/global-error.types.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/api-config.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/exclude-api-config.constants.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/util.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/global-error.service.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/assets.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/error-handling.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/services/router.service.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.service.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.html","../../../projects/vc-error-handlers/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/vc-error-handlers/src/lib/shared/components/unauthorized/unauthorized.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/vc-error-handlers/src/lib/shared/components/error-modal/error-modal.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.html","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/vc-error-handlers/src/lib/shared/components/session-expired/session-expired.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/chunk-unavailable/chunk-unavailable.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/server-error/server-error.component.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/page-not-found/page-not-found.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/component-level-server-error/component-level-server-error.component.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.directive.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/shared/interceptors/http.interceptor.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VcErrorHandlersService {\n\n constructor() { }\n}\n","import { MODAL_ERROR_TYPES } from '../constants/error-handling.constants';\n\nexport interface DialogData {\n heading: string;\n description: string;\n buttonText: string;\n}\n\nexport interface RequestDetails {\n method: string;\n path: string;\n query: { [key: string]: any };\n body: any;\n pageCode?: string;\n}\n\nexport enum ErrorStatusCode {\n URLNotFound = 404,\n UnauthorizedAccess = 403,\n Unauthenticated = 401,\n\n // Server-side errors\n InternalServerError = 500,\n ServiceUnavailable = 503,\n BadGateway = 502,\n RequestTimeout = 504,\n\n // Network unavailability/offline case\n NetworkUnavailable = 0,\n\n // Application-specific errors\n JSChunkUnavailable = 600,\n}\n\nexport type ModalErrorType = keyof typeof MODAL_ERROR_TYPES;\n","export const PAGE_LEVEL_API_CONFIG = [\n {\n method: 'GET',\n path: 'compliance/?mode=reports/getReportDetailsByDuedateId',\n query: null,\n body: null,\n pageCodes: ['SAP'],\n },\n {\n method: 'GET',\n path: 'compliance/?mode=reports/reportDetailsById',\n query: null,\n body: null,\n pageCodes: ['SAP'],\n },\n \n];\n\nexport const COMPONENT_LEVEL_API_CONFIG = [\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'active' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'power_users' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'light_users' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'inactive' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'power_users_small' },\n body: null,\n },\n {\n method: 'GET',\n path: '/Global-Dashboard/ManageDashboards',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Global-Dashboard/MyDashboard',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=0',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=1',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=2',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=3',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/compliance/?mode=responsibilityCenterTree',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=rcholidaylist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=roles/getRoles',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=groupsList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/compliance_post/?mode=rcProfile',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/organization_post/?mode=userProfile',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=roles/roleById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=groupDetails',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/compliance_post?mode=report/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=memberholidaylist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/grc_object/?mode=activity/activityLogList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/grc_object/?mode=activity/viewList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/categoriesList?owner_list=1',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/risk/?mode=category/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'memberDetailsbyIds',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization?mode=signatureDetails',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/responsibilityList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/getLinkedPolicies',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/assignee',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/evidence/getEvidences/b-cycle-header',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/activity-logs',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/activity-logs-views',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=category/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=assessment/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assessment/?mode=assessment/fetchQuestionsByAssessmentId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=assessment/responseSummary',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assessment/?mode=assessment/individualResponse',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assessment/?mode=assessment/logs',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/subCategories',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=assessment/getAssessmentById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/my/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/reviewing/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/managing/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/my/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/reviewing/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/managing/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/my/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/reviewing/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/managing/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/ListingReportedRisks',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/myAssessments&type',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'workshop/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/DueDateList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/RiskDetailsById',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'score/assessment',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'score/treatment',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'score/treatmentPlan',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'category/list&returnType',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/list&return_list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/GetDiscussionById',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'workroom/getFilesAndFoldersList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilityCenter/rcList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'program/overview?owner_list=1',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendarDashboardReports',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=myResponsibility',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=auditList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=oversightResponsibility/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'complianceReport/getTrendReport',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'workroomUpdates',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'recentActivities_new',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'program/subCategories',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/responsibilityList/',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=dashboard/statusOverview',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=category/listForPortal&type=dashboard',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=announcements/listAll',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=announcements/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=dashboard/overdue/attestation',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=dashboard/overdue/review',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=dashboard/calendar&date',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=dashboard/dueForAttestation/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=dashboard/dueForAttestation/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=dashboard/dueForAttestation/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=dashboard/dueForAttestation/all',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/Category/CatList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assurance/Issue/MyIssues/',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assurance/Issue/Overview/',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assurance/Issue/Overseeing/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/Workroom/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/GetIssueDueDates/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assurance/Workroom/Issue/FilesAndFolders/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Workroom/Issue/ActivitiesViewLog/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assurance/ActivityLog/IssueLog/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Workroom/Issue/IssueDuedateListForTimeline',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/ListByCategoryIdRC/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/Category/IssueCategoryOverview_RC/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/DashboardCalendar',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assurance/Issue/Priority',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/ByAssessments',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/ByReportId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/heatmap',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/risk_category_overview',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/risk_score_by_rc',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/scorebycategory',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'dashboard/missedResponsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/responsibilities_post?mode=responsibilities_overseeing',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilities_in_trash',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'userReportsList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'reviewerReportsList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'riskAnalysis',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilitiesByUserId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilitiesByReviewerId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilityByRisk',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilityByRCId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=complianceDueDate',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=workroomComment/getWorkroomActivities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=fetchActivityLog',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=ListActivityView',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'reviewer/ReviewerDuedateList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=complianceReport/dependentOfReportTree',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'manage_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'my_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'review_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilities_overseeing',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilities_in_queue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'compliance/?mode=workroomComment/getWorkroomActivities',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'compliance/?mode=reports/responseByAssessmentAndDueDateId',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assessment/?mode=assessment/allAuditee',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=attachment/getAttachmentsByCategory',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=category/categoryByRoles&type=all',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/portalList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=comment/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=folder/documents',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/audittraillist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'library/?mode=version/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assessment?mode=assessment/getAssessmentById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/allEmpoyeesWithDueDates',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/allDuedatesWithEmployee',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'fetchContent',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=default/getDefaultCategories',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=templates/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=category/userCreated',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=templates/detailsById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'fetchTemplateContent',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=approvalworkflow/fetchall',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/reviewerPolicies',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/reviewPendingByOthers',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=manage_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=entrusted_by_me&date',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=my_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=responsibilities_reviewing',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=responsibilities_overseeing',\n query: null,\n body: null,\n },\n];\n","export const EXCLUDE_API_CONFIG = [\n {\n method: 'GET',\n path: 'organization/?mode=groupsList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/audittraillist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=approvalworkflow/fetchall',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=announcements/delete',\n query: null,\n body: null,\n },\n {\n method: 'PUT',\n path: 'policy_put/?mode=policy/update',\n query: null,\n body: null,\n },\n {\n \n method: 'POST',\n path: 'fileupload/?destination=uploads',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/ImportDocument',\n query: null,\n body: null,\n },\n\n];\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackBarService {\n public snackbarSubject = new Subject <any>();\n public snackbarState = this.snackbarSubject.asObservable();\n constructor() {}\n\n show(message: string, type?:'success'|'warning'|'info'|'alert'|'error') {\n this.snackbarSubject.next({\n show: true,\n message,\n icon:type,\n });\n }\n\n hide(){\n this.snackbarSubject.next({\n show: false,\n message: '',\n icon: '',\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilsService {\n private isJsonSubset(parentJson: any, subsetJson: any): boolean {\n for (let key in subsetJson) {\n if (\n !parentJson.hasOwnProperty(key) ||\n parentJson[key] !== subsetJson[key]\n ) {\n return false;\n }\n }\n return true;\n }\n\n public extractQueryParams(params: HttpParams): { [key: string]: any } {\n const query: { [key: string]: any } = {};\n params.keys().forEach((key) => {\n query[key] = params.get(key);\n });\n return query;\n }\n\n public isStringEqual(apiMethod: string, requestMethod: string): boolean {\n return apiMethod === requestMethod;\n }\n\n public isSubstringInString(apiPath: string, requestPath: string): boolean {\n return requestPath.includes(apiPath);\n }\n\n public isSubsetOfObject(apiQuery: any, requestQuery: any): boolean {\n if (!apiQuery) return true;\n return this.isJsonSubset(requestQuery, apiQuery);\n }\n\n public isSubsetOfArray(apiBody: any, requestBody: any): boolean {\n if (!apiBody) return true;\n return this.isJsonSubset(apiBody, requestBody);\n }\n\n public isValueInArray(apiPageCodes: string[], pageCode: string): boolean {\n return apiPageCodes.includes(pageCode);\n }\n}\n","import {\n HttpErrorResponse,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs';\n\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\nimport { UtilsService } from './util.service';\n\nimport { ErrorStatusCode, RequestDetails } from '../types/global-error.types';\nimport {\n PAGE_LEVEL_API_CONFIG,\n COMPONENT_LEVEL_API_CONFIG,\n} from '../constants/api-config.constants';\n\nimport { EXCLUDE_API_CONFIG } from '../constants/exclude-api-config.constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalErrorService {\n public globalError$: Subject<any> = new Subject();\n public localError$: Subject<any> = new Subject();\n\n private pageLevelApiConfig = PAGE_LEVEL_API_CONFIG;\n private componentLevelApiConfig = COMPONENT_LEVEL_API_CONFIG;\n private excludeApiConfig = EXCLUDE_API_CONFIG;\n\n constructor(\n private snackBarService: SnackBarService,\n private utilService: UtilsService,\n private router: Router\n ) {}\n\n public handleSoftErrors(event: HttpResponse<any> | HttpErrorResponse) {\n if (!(event instanceof HttpResponse)) {\n return;\n }\n\n const responseBody = event?.body;\n const success = responseBody?.success;\n const message = responseBody?.message;\n const statusCode = event?.status;\n \n if (success === false && statusCode && statusCode !== 0) {\n this.snackBarService.show(message || 'Error occurred', 'alert');\n }\n }\n\n public handleError(error: HttpErrorResponse, request: HttpRequest<any>) {\n if (\n this.isUnauthenticated(error) ||\n this.isUnauthorizedAccess(error) ||\n this.isNetworkUnavailable(error)\n ) {\n this.publishGlobalError(error);\n } else if (this.isServerError(error)) {\n this.handleServerError(error, request);\n } else {\n this.handleSoftErrors(error);\n }\n }\n\n public isServerError(error: HttpErrorResponse): boolean {\n const serverErrorCodes = [\n ErrorStatusCode.InternalServerError,\n ErrorStatusCode.ServiceUnavailable,\n ErrorStatusCode.BadGateway,\n ErrorStatusCode.RequestTimeout,\n ];\n\n return serverErrorCodes.includes(error.status);\n }\n\n public isExcludeErrorHandling(request: HttpRequest<any>): boolean {\n const requestDetails: RequestDetails = {\n method: request.method,\n path: request.url,\n query: this.utilService.extractQueryParams(request.params),\n body: request.body,\n };\n\n return this.excludeApiConfig.some((apiConfig) =>\n this.isApiConfigMatching(apiConfig, requestDetails)\n );\n }\n\n private isUnauthenticated(error: HttpErrorResponse): boolean {\n return error.status === ErrorStatusCode.Unauthenticated;\n }\n\n private isUnauthorizedAccess(error: HttpErrorResponse): boolean {\n return error.status === ErrorStatusCode.UnauthorizedAccess;\n }\n\n private isNetworkUnavailable(error: HttpErrorResponse): boolean {\n return error.status === ErrorStatusCode.NetworkUnavailable;\n }\n\n private handleServerError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ) {\n if (this.isPageLevelError(error, request)) {\n this.publishGlobalError(error);\n } else if (this.isComponentLevelError(error, request)) {\n this.publishLocalError(error, request);\n }\n }\n\n private publishGlobalError(error: HttpErrorResponse) {\n this.globalError$.next(error);\n }\n\n private publishLocalError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ) {\n this.localError$.next({ error, request });\n }\n\n private isPageLevelError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ): boolean {\n const requestDetails: RequestDetails = {\n method: request.method,\n path: request.url,\n query: this.utilService.extractQueryParams(request.params),\n body: request.body,\n pageCode: this.getPageCode(),\n };\n\n return this.pageLevelApiConfig.some((apiConfig) =>\n this.isApiConfigMatching(apiConfig, requestDetails)\n );\n }\n\n private isComponentLevelError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ): boolean {\n const requestDetails: RequestDetails = {\n method: request.method,\n path: request.url,\n query: this.utilService.extractQueryParams(request.params),\n body: request.body,\n };\n\n return this.componentLevelApiConfig.some((apiConfig) =>\n this.isApiConfigMatching(apiConfig, requestDetails)\n );\n }\n\n private getPageCode() {\n const currentRoute = this.router.routerState.snapshot.root.firstChild;\n return currentRoute?.data['page_path'];\n }\n\n private isApiConfigMatching(\n apiConfig: any,\n requestDetails: RequestDetails\n ): boolean {\n return (\n this.utilService.isStringEqual(apiConfig.method, requestDetails.method) &&\n this.utilService.isSubstringInString(\n apiConfig.path,\n requestDetails.path\n ) &&\n this.utilService.isSubsetOfObject(\n apiConfig.query,\n requestDetails.query\n ) &&\n this.utilService.isSubsetOfArray(apiConfig.body, requestDetails.body) &&\n (!apiConfig.pageCodes ||\n this.utilService.isValueInArray(\n apiConfig.pageCodes,\n requestDetails.pageCode || ''\n ))\n );\n }\n}\n","const BASE_URL = 'https://cdn.v-comply.com';\n\nexport const ASSETS = {\n VCOMPLY_LOGO: `${BASE_URL}/logo/prod/v-logo.svg`,\n ERROR_IMAGE: `${BASE_URL}/application/images/Error-page-illustration.svg`,\n COMPONENT_ERROR_IMAGE: `${BASE_URL}/application/images/sad-emoji-icon.svg`,\n};\n","import { ASSETS } from './assets.constants';\n\nexport const VCOMPLY_LOGO_URL = ASSETS.VCOMPLY_LOGO;\nexport const API_TIMEOUT_TIME = 1000 * 15;\nexport const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';\nexport const ERROR_FEATURE_FLAG = 'ff_error_handling';\n\nexport const ERROR_CONFIG = {\n PAGE_NOT_FOUND: {\n imageUrl: ASSETS.ERROR_IMAGE,\n title: 'Oops!',\n description: \"The page you're looking for doesn't exist.\",\n details: 'Please check the URL or return to the homepage.',\n buttonText: 'GO TO DASHBOARD',\n },\n\n UNAUTHORIZED: {\n imageUrl: ASSETS.ERROR_IMAGE,\n title: 'Oops!',\n description: \"You don't have permission to access this page.\",\n details: 'If you believe this is an error, please contact',\n email: 'help@v-comply.com',\n support: 'for support',\n buttonText: 'Go To Dashboard',\n mail: 'mailto:help@v-comply.com',\n },\n\n SESSION_EXPIRED: {\n heading: 'Session Expired!',\n description:\n 'Your session has expired. Please log in again to continue using the app.',\n buttonText: 'LOGIN',\n },\n\n CHUNK_UNAVAILABLE: {\n heading: 'Oops!',\n description:\n 'Something went wrong. Please refresh the page or try again later.',\n buttonText: 'REFRESH',\n },\n\n SERVER_ERROR: {\n imageUrl: ASSETS.ERROR_IMAGE,\n title: 'Oops!',\n description: 'We are unable to load the data.',\n details: 'Please refresh this page or try again later.',\n buttonText: 'REFRESH',\n snackBarMessage: `Oops! Something went wrong. Please try again later.`,\n },\n\n COMPONENT_LEVEL_SERVER_ERROR: {\n imageUrl: ASSETS.COMPONENT_ERROR_IMAGE,\n title: 'Oops!',\n description: 'We are unable to load the data.',\n details: 'Please refresh this section or try again later.',\n buttonText: 'RETRY',\n },\n\n NETWORK_UNAVAILABLE: {\n offlineMessage:\n \"You're currently offline. Please check your internet connection and try again.\",\n },\n};\n\nexport const REDIRECTION_URL = {\n COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',\n RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',\n POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',\n ISSUE_DASHBOARD: '/global-dashboard/issue_dashboard?module=issue',\n CASEOPS_DASHBOARD: '/global-dashboard/case_dashboard?module=caseops',\n DEFAULT: '/global-dashboard',\n};\n\nexport const MODULE_NAMES = {\n RISK: 'risk',\n POLICY: 'policy',\n ISSUE: 'issue',\n CASEOPS: 'caseops',\n};\n\nexport const MODAL_ERROR_TYPES = {\n CHUNK_NOT_FOUND: 'chunk_not_found',\n SESSION_EXPIRED: 'session_expired',\n};\n\nexport const ALT_IMAGE_TEXT = {\n ERROR_IMAGE: 'Error Image',\n VCOMPLY_LOGO: 'VComply',\n};\n","import { Injectable } from '@angular/core';\n\nimport {\n MODULE_NAMES,\n REDIRECTION_URL,\n} from '../constants/error-handling.constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterService {\n public baseUrl: string = '';\n\n constructor() {\n this.setBaseUrl();\n }\n\n private setBaseUrl() {\n this.baseUrl = window.location.origin;\n }\n\n public redirectToLogin() {\n window.location.href =\n `https://${window.location.host}/` +\n 'signin?redirectURL=' +\n encodeURIComponent(window.location.href);\n }\n\n public redirectToHome(module_name: string) {\n let targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\n\n switch (module_name) {\n case MODULE_NAMES.RISK:\n targetPath = REDIRECTION_URL.RISK_DASHBOARD;\n break;\n case MODULE_NAMES.POLICY:\n targetPath = REDIRECTION_URL.POLICY_DASHBOARD;\n break;\n case MODULE_NAMES.ISSUE:\n targetPath = REDIRECTION_URL.ISSUE_DASHBOARD;\n break;\n case MODULE_NAMES.CASEOPS:\n targetPath = REDIRECTION_URL.CASEOPS_DASHBOARD;\n break;\n default:\n targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\n break;\n }\n\n window.location.replace(targetPath);\n }\n}\n","export class Configurations {\n public sentryConfig: any;\n public envConfig: any;\n public isErrorInterceptorEnabled?: boolean; \n\n constructor() {\n this.sentryConfig = {};\n this.envConfig = {};\n this.isErrorInterceptorEnabled = false;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { retry } from 'rxjs/operators';\nimport { AuthorizerService } from '@vcomply/authorizer';\nimport { Subscription } from 'rxjs';\nimport { Configurations } from '../configuration';\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureFlagService {\n environment!: any;\n flagFetchError = false;\n featuresMap: any = {};\n AWSFlags: any = {};\n flagSubscription!: Subscription;\n\n constructor(\n private http: HttpClient,\n private authorizer: AuthorizerService,\n @Optional() config?: Configurations\n ) {\n this.environment = config?.envConfig;\n }\n\n fetchFlags() {\n return this.http.get(this.environment.baseUrl + 'features').pipe(retry(2));\n }\n\n loadConfig() {\n if (this.flagSubscription) {\n this.flagSubscription.unsubscribe();\n }\n return new Promise((resolve, reject) => {\n this.flagSubscription = this.fetchFlags().subscribe({\n next: (res: any) => {\n try {\n resolve(true);\n this.flagFetchError = false;\n this.AWSFlags = res;\n this.buildFeatureFlags(this.authorizer.getOrganizationId());\n } catch (error) {\n reject(error);\n }\n },\n error: (err: any) => {\n reject(true);\n this.flagFetchError = true;\n console.log('An error occurred while fetching feature flags', err);\n },\n });\n });\n }\n\n buildFeatureFlags(orgId: any) {\n orgId = orgId?.toString();\n const enabledFeatures: any = {};\n Object.keys(this.AWSFlags).forEach((flag: string) => {\n const flagObj = this.AWSFlags[flag];\n enabledFeatures[flag] = false;\n if (flagObj) {\n if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {\n enabledFeatures[flag] = true;\n } else if (\n flagObj?.enabled &&\n flagObj.hasOwnProperty('enabledOrgIds') &&\n flagObj?.enabledOrgIds?.length > 0\n ) {\n if (flagObj?.enabledOrgIds?.includes(orgId)) {\n enabledFeatures[flag] = true;\n } else {\n enabledFeatures[flag] = false;\n }\n } else {\n if (flagObj?.enabled) {\n enabledFeatures[flag] = true;\n } else {\n enabledFeatures[flag] = false;\n }\n }\n } else {\n enabledFeatures[flag] = true;\n }\n });\n this.featuresMap = enabledFeatures;\n }\n\n isFeatureEnabled(featureFlag: string) {\n if (this.featuresMap.hasOwnProperty(featureFlag)) {\n return this.featuresMap[featureFlag];\n } else {\n return true;\n }\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SnackBarService } from '../snack-bar.service';\n\n@Component({\n selector: 'app-snack-bar',\n templateUrl: './snack-bar.component.html',\n styleUrls: ['./snack-bar.component.less'],\n})\nexport class SnackBarComponent implements OnInit, OnDestroy {\n show = false;\n message = '--';\n icon = '';\n type = 'alert';\n icons: any = {\n success: '',\n warning: '',\n info: '',\n alert: '',\n error: '',\n };\n snackbarSubscription!: Subscription;\n constructor(private snackbarService: SnackBarService) {}\n\n ngOnInit(): void {\n this.snackbarSubscription = this.snackbarService.snackbarState.subscribe(\n (state) => {\n if (state.icon && Object.keys(this.icons).includes(state?.icon)) {\n this.icon = this.icons[state.icon];\n this.type = state?.icon;\n }\n this.message = state.message;\n this.show = state.show;\n }\n );\n }\n\n setAutoClose() {\n setTimeout(() => {\n this.show = false;\n this.close();\n }, 3000);\n }\n close() {\n this.show = false;\n this.snackbarService.hide();\n }\n ngOnDestroy() {\n this.snackbarSubscription.unsubscribe();\n }\n}\n","<div class=\"workflow-snackbar\" *ngIf=\"show\">\n <div class=\"workflow-snackbar-inner\">\n <div class=\"workflow-snackbarText\">\n <!--  -->\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\n </div>\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\n </div>\n </div>","import {\n Directive,\n Input,\n ElementRef,\n HostListener,\n Renderer2,\n OnInit, \n} from '@angular/core';\n\n@Directive({\n selector: '[arTooltip]',\n})\nexport class ToolTipDirective implements OnInit {\n @Input('arTooltip') tooltipTitle!: string;\n @Input() placement!: string;\n @Input() type: any;\n @Input() tooltipMandatory!: boolean;\n @Input() showTooltip = true;\n @Input() animate!: boolean;\n tooltip!: HTMLElement;\n offset = 8;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n ngOnInit() {}\n @HostListener('mouseenter') onMouseEnter() {\n this.hide();\n this.show();\n }\n @HostListener('mouseover') onMouseOver() {\n this.hide();\n this.show();\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.hide();\n }\n @HostListener('mouseout') onMouseOut() {\n this.hide();\n }\n @HostListener('click') onClick() {\n this.hide();\n }\n show() {\n if (!this.showTooltip) {\n return;\n }\n this.create();\n const element = this.el.nativeElement;\n if (this.tooltipMandatory === true) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'fl-tooltip-show');\n } else {\n if (\n element.scrollWidth * element.scrollHeight >\n element.offsetWidth * element.offsetHeight\n ) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'fl-tooltip-show');\n }\n }\n }\n\n hide() {\n if (document.body.contains(this.tooltip)) {\n if (this.renderer) {\n this.renderer.removeChild(\n document.body,\n document.getElementById('tooltip')\n );\n }\n }\n }\n\n create() {\n this.tooltip = this.renderer.createElement('span');\n this.tooltip.setAttribute('id', 'tooltip');\n this.tooltip.innerHTML = this.tooltipTitle;\n this.renderer.appendChild(document.body, this.tooltip);\n this.renderer.addClass(this.tooltip, 'fl-tooltip');\n this.renderer.addClass(this.tooltip, `fl-tooltip-${this.placement}`);\n this.renderer.addClass(this.tooltip, `${this.type}`);\n if (this.animate) {\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\n }\n }\n\n setPosition() {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n const w = window.innerWidth;\n const h = window.innerHeight;\n let top;\n let left;\n if (this.placement === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.placement === 'bottom') {\n if (hostPos.top + tooltipPos.height > h) {\n top = hostPos.top - tooltipPos.height;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom`);\n this.renderer.addClass(this.tooltip, `fl-tooltip-top`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n }\n\n if (this.placement === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.placement === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n if (this.placement === 'bottom-right') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left - (tooltipPos.width - 28);\n }\n if (this.placement === 'bottom-left') {\n if (hostPos.top + tooltipPos.height > h - 30) {\n top = hostPos.top - tooltipPos.height;\n left = hostPos.left;\n this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom-left`);\n this.renderer.addClass(this.tooltip, `fl-tooltip-top-left`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left;\n }\n }\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n ERROR_CONFIG,\n VCOMPLY_LOGO_URL,\n ORGANISATION_NAME,\n ALT_IMAGE_TEXT,\n REDIRECTION_URL,\n} from '../../constants/error-handling.constants';\n\nimport { RouterService } from '../../services/router.service';\n\n@Component({\n selector: 'lib-vc-error-unauthorized',\n template: `\n <div class=\"errorPage\">\n <div class=\"errorPage-top\" (click)=\"redirectToDashboard()\">\n <a\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\n [arTooltip]=\"errorConfig.buttonText\"\n placement=\"right\"\n type=\"white\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n [animate]=\"true\"\n [href]=\"defaultURL\"\n >\n <img\n [ngSrc]=\"VcomplyLogo\"\n [alt]=\"altImageText.VCOMPLY_LOGO\"\n width=\"24\"\n height=\"24\"\n />\n </a>\n </div>\n <div class=\"errorPage-container\">\n <div class=\"errorPage-inner\">\n <div class=\"errorPage-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"246\"\n height=\"178\"\n />\n </div>\n <div class=\"errorPage-inner-right\">\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\n <div class=\"errorPage-details\">\n {{ errorConfig.details }}\n <a [href]=\"'mailto:' + errorConfig.email\">{{\n errorConfig.email\n }}</a>\n {{ errorConfig.support }}.\n </div>\n <button class=\"errorPage-btn\" (click)=\"redirectToDashboard()\">\n {{ errorConfig.buttonText }} <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n <div class=\"errorPage-copyright\">\n © {{ currentYear }}, {{ organisationName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../common-error-page.component.less'],\n})\nexport class UnauthorizedComponent {\n constructor(\n private route: ActivatedRoute,\n private routerService: RouterService\n ) {}\n\n currentYear = new Date().getFullYear();\n errorConfig = ERROR_CONFIG.UNAUTHORIZED;\n VcomplyLogo = VCOMPLY_LOGO_URL;\n altImageText = ALT_IMAGE_TEXT;\n organisationName = ORGANISATION_NAME;\n defaultURL = this.routerService.baseUrl + REDIRECTION_URL.DEFAULT;\n\n public redirectToDashboard() {\n const module_name = this.route.snapshot.data['page_path'];\n this.routerService.redirectToHome(module_name);\n }\n}\n","export class DialogConfig<D = any> {\n data?: D;\n position?: any;\n background?: any;\n pointer?: any;\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { DialogConfig } from '../../../ui-kit/dialog/dialog-config';\n\nimport { AuthorizerService } from '@vcomply/authorizer';\nimport { RouterService } from '../../services/router.service';\n\nimport { DialogData, ModalErrorType } from '../../types/global-error.types';\nimport { MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-modal',\n template: ` <div class=\"error-dialog-box\">\n <div class=\"error-dialog-box-top\">{{ data.heading }}</div>\n <div class=\"error-dialog-box-mid\">\n {{ data.description }}\n </div>\n <div class=\"error-dialog-box-bottom\">\n <button (click)=\"onContinueAction()\" class=\"logIn-btn\">\n {{ data.buttonText }}\n </button>\n </div>\n </div>`,\n styleUrls: ['./error-modal.component.less'],\n})\nexport class ErrorModalComponent {\n errorTypes = MODAL_ERROR_TYPES;\n\n @Input() errorType: ModalErrorType | undefined;\n\n data: DialogData = {\n heading: 'Message',\n description: 'Description',\n buttonText: 'Click Action',\n };\n\n constructor(\n private authService: AuthorizerService,\n private dialogConfig: DialogConfig,\n private routerService: RouterService\n ) {\n this.setDataConfig();\n }\n\n private setDataConfig() {\n this.data = this.dialogConfig.data?.errorConfig;\n this.errorType = this.dialogConfig.data?.errorType;\n }\n\n public onContinueAction() {\n switch (this.errorType) {\n case this.errorTypes.SESSION_EXPIRED:\n this.authService.logout();\n this.routerService.redirectToLogin();\n break;\n\n case this.errorTypes.CHUNK_NOT_FOUND:\n window.location.reload();\n break;\n }\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appInsertion]',\n})\nexport class InsertionDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport class DialogRef {\n private readonly afterDialogClosed = new Subject<any>();\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\n constructor() {}\n\n close(result?: any) {\n // debugger\n this.afterDialogClosed.next(result);\n document.body.style.overflow = 'auto';\n }\n}\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\nimport { InsertionDirective } from './insertion.directive';\nimport { Subject } from 'rxjs';\nimport { DialogRef } from './dialog-ref';\nimport { DialogConfig } from './dialog-config';\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n})\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\n componentRef!: ComponentRef<any>;\n position: any;\n background: any;\n pointer: any;\n @ViewChild(InsertionDirective, { static: true })\n insertionPoint!: InsertionDirective;\n animation = true;\n\n private readonly onDialogClose = new Subject<any>();\n public onClose = this.onDialogClose.asObservable();\n\n childComponentType!: Type<any>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private cd: ChangeDetectorRef,\n private dialogRef: DialogRef,\n public config: DialogConfig,\n private router: Router\n ) {\n // this.componentRef = this.componentRef;\n // this.animate = this.animate;\n // this.insertionPoint = this.insertionPoint;\n // this.childComponentType = this.childComponentType;\n }\n ngOnInit() {\n this.position = this.config.position;\n this.background = this.config.background;\n document.body.style.overflow = 'hidden';\n setTimeout(() => {\n this.animation = false;\n }, 200);\n this.routeAction();\n }\n\n routeAction() {\n this.router.events.subscribe((event: any) => {\n if (event instanceof NavigationStart) {\n // Show loading indicator\n }\n if (event instanceof NavigationEnd) {\n // Hide loading indicator\n this.dialogRef.close();\n }\n if (event instanceof NavigationError) {\n // Hide loading indicator\n // Present error to user\n }\n });\n }\n ngAfterViewInit() {\n this.loadChildComponent(this.childComponentType);\n this.cd.detectChanges();\n }\n\n onOverlayClicked(evt: MouseEvent) {\n // this.dialogRef.close();\n }\n\n onDialogClicked(evt: MouseEvent) {\n evt.stopPropagation();\n }\n\n loadChildComponent(componentType: Type<any>) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n const viewContainerRef = this.insertionPoint.viewContainerRef;\n viewContainerRef.clear();\n\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n close(data?: any) {\n this.onDialogClose.next(data);\n document.body.style.overflow = 'auto';\n }\n}\n","<div\n class=\"overlay\"\n (click)=\"onOverlayClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER',\n black: background === 'black',\n whiteBlur: background === 'whiteBlur'\n }\" [class.pointer-none]=\"pointer === 'none'\"\n>\n <div\n class=\"dialog\"\n [class.animate]=\"animation\"\n (click)=\"onDialogClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER'\n }\"\n >\n <ng-template appInsertion></ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogComponent } from './dialog.component';\nimport { InsertionDirective } from './insertion.directive';\nimport { DialogRef } from './dialog-ref';\n@NgModule({\n imports: [CommonModule],\n declarations: [DialogComponent, InsertionDirective],\n providers: [DialogRef],\n exports:[DialogComponent]\n})\nexport class DialogModule {}\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nexport class DialogInjector implements Injector {\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n // get(token: any, notFoundValue?: any){return; }\n get(token: any, notFoundValue?: any) {\n const value = this.dialogAdditionalTokens.get(token);\n if (value) {\n return value;\n }\n return this.parentDialogInjector.get<any>(token, notFoundValue);\n }\n}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DialogModule } from './dialog.module';\nimport { DialogComponent } from './dialog.component';\nimport { DialogInjector } from './dialog-injector';\nimport { DialogConfig } from './dialog-config';\nimport { DialogRef } from './dialog-ref';\n\n@Injectable({\n providedIn: DialogModule,\n})\nexport class DialogService {\n dialogComponentRef!: ComponentRef<DialogComponent>;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public open(componentType: Type<any>, config: DialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRef.instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DialogConfig) {\n const map = new WeakMap();\n map.set(DialogConfig, config);\n\n const dialogRef = new DialogRef();\n map.set(DialogRef, dialogRef);\n\n const sub = dialogRef.afterClosed.subscribe(() => {\n this.removeDialogComponentFromBody();\n sub.unsubscribe();\n });\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRef = componentRef;\n\n this.dialogComponentRef.instance.onClose.subscribe(() => {\n this.removeDialogComponentFromBody();\n });\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody() {\n this.appRef.detachView(this.dialogComponentRef.hostView);\n this.dialogComponentRef.destroy();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\n\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\n\nimport { ERROR_CONFIG, MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-session-expired',\n template: ``,\n})\nexport class SessionExpiredComponent implements OnInit {\n errorConfig = ERROR_CONFIG.SESSION_EXPIRED;\n errorTypes = MODAL_ERROR_TYPES;\n\n constructor(\n private dialogService: DialogService\n ) {}\n\n ngOnInit() {\n this.openSessionExpiredModal();\n }\n\n private openSessionExpiredModal() {\n this.dialogService.open(ErrorModalComponent, {\n data: {\n errorType: this.errorTypes.SESSION_EXPIRED,\n errorConfig: this.errorConfig,\n },\n position: 'center',\n background: 'whiteBlur',\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\n\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\n\nimport {\n ERROR_CONFIG,\n MODAL_ERROR_TYPES,\n} from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-chunk-unavailable',\n template: ``,\n})\nexport class ChunkUnavailableComponent implements OnInit {\n errorConfig = ERROR_CONFIG.CHUNK_UNAVAILABLE;\n errorType = MODAL_ERROR_TYPES;\n\n constructor(private dialogService: DialogService) {}\n\n ngOnInit() {\n this.openSessionExpiredModal();\n }\n\n private openSessionExpiredModal() {\n this.dialogService.open(ErrorModalComponent, {\n data: {\n errorType: this.errorType.CHUNK_NOT_FOUND,\n errorConfig: this.errorConfig,\n },\n position: 'center',\n background: 'whiteBlur',\n });\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n ERROR_CONFIG,\n VCOMPLY_LOGO_URL,\n ALT_IMAGE_TEXT,\n} from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-server-error',\n template: `\n <div class=\"errorPage\">\n <div class=\"errorPage-top\">\n <img\n [ngSrc]=\"VcomplyLogo\"\n [alt]=\"altImageText.VCOMPLY_LOGO\"\n width=\"24\"\n height=\"24\"\n />\n </div>\n <div class=\"errorPage-container\">\n <div class=\"errorPage-inner\">\n <div class=\"errorPage-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"246\"\n height=\"178\"\n />\n </div>\n <div class=\"errorPage-inner-right\">\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\n <button class=\"errorPage-btn\" (click)=\"refreshPage()\">\n {{ errorConfig.buttonText }} <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../common-error-page.component.less'],\n})\nexport class ServerErrorComponent {\n errorConfig = ERROR_CONFIG.SERVER_ERROR;\n VcomplyLogo = VCOMPLY_LOGO_URL;\n altImageText = ALT_IMAGE_TEXT;\n\n public refreshPage() {\n window.location.reload();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { GlobalErrorService } from './shared/services/global-error.service';\nimport { SnackBarService } from './ui-kit/snack-bar/snack-bar.service';\n\nimport { ErrorStatusCode } from './shared/types/global-error.types';\nimport { ERROR_CONFIG } from './shared/constants/error-handling.constants';\nimport { FeatureFlagService } from './featureFlag/feature-flag.service';\n\n@Component({\n selector: 'lib-vc-error-handlers',\n template: `\n <app-snack-bar></app-snack-bar>\n <lib-vc-error-session-expired\n *ngIf=\"sessionExpired\"\n ></lib-vc-error-session-expired>\n\n <lib-vc-error-unauthorized *ngIf=\"unauthorized\"></lib-vc-error-unauthorized>\n <lib-vc-error-chunk-unavailable\n *ngIf=\"chunkUnavailable\"\n ></lib-vc-error-chunk-unavailable>\n <lib-vc-error-server-error *ngIf=\"serverError\"></lib-vc-error-server-error>\n `,\n})\nexport class VcErrorHandlersComponent implements OnInit {\n private errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;\n\n unauthorized: boolean = false;\n sessionExpired: boolean = false;\n chunkUnavailable: boolean = false;\n serverError: boolean = false;\n isOnline: boolean = navigator.onLine;\n\n @Input() disableSnackBar: boolean = false;\n @Input() feature!: FeatureFlagService;\n\n constructor(\n private errorService: GlobalErrorService,\n private snackBarService: SnackBarService,\n private featureFlagService: FeatureFlagService\n ) {\n this.subscribeGlobalError();\n }\n\n ngOnInit() {\n this.subscribeNetworkDetection();\n this.featureFlagService.featuresMap = this.feature.featuresMap;\n }\n\n\n ngOnDestroy() {\n window.removeEventListener('online', this.onNetworkOnline);\n window.removeEventListener('offline', this.onNetworkOffline);\n }\n\n private subscribeGlobalError() {\n this.errorService.globalError$.subscribe((error: HttpErrorResponse) => {\n this.handleError(error);\n });\n }\n\n private handleError(error: HttpErrorResponse) {\n const errorHandlers: { [key: number]: () => void } = {\n [ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),\n [ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),\n [ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),\n [ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),\n };\n\n if (errorHandlers[error.status]) {\n errorHandlers[error.status]();\n } else if (this.errorService.isServerError(error)) {\n this.serverError = true;\n }\n }\n\n private subscribeNetworkDetection() {\n window.addEventListener('online', this.onNetworkOnline);\n window.addEventListener('offline', this.onNetworkOffline);\n }\n\n private onNetworkOnline = () => {\n this.isOnline = true;\n this.hideSnackBar();\n };\n\n private onNetworkOffline = () => {\n this.isOnline = false;\n if (!this.disableSnackBar) {\n this.showOfflineSnackBar();\n }\n };\n\n private handleNetworkError() {\n if (!this.isOnline && !this.disableSnackBar) {\n this.showOfflineSnackBar();\n }\n }\n\n private showOfflineSnackBar() {\n this.snackBarService.show(this.errorConfig.offlineMessage, 'error');\n }\n\n private hideSnackBar() {\n this.snackBarService.hide();\n }\n}\n","import { Component, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n ERROR_CONFIG,\n VCOMPLY_LOGO_URL,\n ORGANISATION_NAME,\n ALT_IMAGE_TEXT,\n REDIRECTION_URL,\n} from '../../constants/error-handling.constants';\n\nimport { RouterService } from '../../services/router.service';\n\n@Component({\n selector: 'lib-vc-error-page-not-found',\n template: `\n <div class=\"errorPage\">\n <div class=\"errorPage-top\" (click)=\"redirectToDashboard()\">\n <a\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\n [arTooltip]=\"errorConfig.buttonText\"\n placement=\"right\"\n type=\"white\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n [animate]=\"true\"\n [href]=\"defaultURL\"\n >\n <img\n [ngSrc]=\"VcomplyLogo\"\n [alt]=\"altImageText.VCOMPLY_LOGO\"\n width=\"24\"\n height=\"24\"\n />\n </a>\n </div>\n <div class=\"errorPage-container\">\n <div class=\"errorPage-inner\">\n <div class=\"errorPage-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"246\"\n height=\"178\"\n />\n </div>\n <div class=\"errorPage-inner-right\">\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\n <button class=\"errorPage-btn\" (click)=\"redirectToDashboard()\">\n {{ errorConfig.buttonText }} <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n <div class=\"errorPage-copyright\">\n © {{ currentYear }}, {{ organisationName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../common-error-page.component.less'],\n})\nexport class PageNotFoundComponent {\n errorConfig = ERROR_CONFIG.PAGE_NOT_FOUND;\n VcomplyLogo = VCOMPLY_LOGO_URL;\n altImageText = ALT_IMAGE_TEXT;\n currentYear = new Date().getFullYear();\n organisationName = ORGANISATION_NAME;\n defaultURL = this.routerService.baseUrl + REDIRECTION_URL.DEFAULT;\n\n constructor(\n private route: ActivatedRoute,\n private routerService: RouterService\n ) {}\n\n public redirectToDashboard() {\n const module_name = this.route.snapshot.data['page_path'];\n this.routerService.redirectToHome(module_name);\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\nimport {\n ERROR_CONFIG,\n ALT_IMAGE_TEXT,\n} from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-component-server-error',\n template: `\n <div class=\"serverError\">\n <div class=\"serverError-inner\">\n <div class=\"serverError-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"106\"\n height=\"76\"\n />\n </div>\n <div class=\"serverError-inner-bottom\">\n <div class=\"serverError-heading\">{{ errorConfig.title }}</div>\n <div class=\"serverError-text\">{{ errorConfig.description }}</div>\n <div class=\"serverError-details\">{{ errorConfig.details }}</div>\n <button class=\"serverError-btn\" (click)=\"onClick.emit(true)\">\n {{ errorConfig.buttonText }}\n <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./component-level-server-error.component.less'],\n})\nexport class ComponentLevelServerErrorComponent {\n errorConfig = ERROR_CONFIG.COMPONENT_LEVEL_SERVER_ERROR;\n altImageText = ALT_IMAGE_TEXT;\n\n @Output() onClick = new EventEmitter<boolean>();\n}\n","import {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef\n} from \"@angular/core\";\nimport { FeatureFlagService } from \"./feature-flag.service\";\n\n\n@Directive({\n selector: \"[featureFlag]\"\n})\nexport class FeatureFlagDirective implements OnInit {\n @Input() featureFlag!: string;\n constructor(\n private tpl: TemplateRef<any>,\n private vcr: ViewContainerRef,\n private featureFlagService: FeatureFlagService\n ) {}\n\n ngOnInit() {\n const isEnabled = this.featureFlagService.isFeatureEnabled(this.featureFlag);\n if (isEnabled) {\n this.vcr.createEmbeddedView(this.tpl);\n }\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FeatureFlagDirective } from './feature-flag.directive';\n\n@NgModule({\n declarations: [FeatureFlagDirective],\n imports: [\n CommonModule\n ],\n exports:[FeatureFlagDirective]\n})\nexport class FeatureFlagModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\n\n@NgModule({\n declarations: [SnackBarComponent],\n imports: [CommonModule],\n exports: [SnackBarComponent],\n})\nexport class SnackBarModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolTipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [ToolTipDirective],\n imports: [CommonModule],\n exports: [ToolTipDirective],\n})\nexport class TooltipModule {}\n","import { ErrorHandler, Injectable, Optional } from '@angular/core';\nimport * as Sentry from '@sentry/angular-ivy';\nimport { Configurations } from '../../configuration';\n\nimport { AuthorizerService } from '@vcomply/authorizer';\nimport { GlobalErrorService } from '../services/global-error.service';\n\nimport { ErrorStatusCode } from '../types/global-error.types';\n\n@Injectable()\nexport class SentryErrorHandler implements ErrorHandler {\n constructor(\n private authorizerService: AuthorizerService,\n private errorService: GlobalErrorService,\n @Optional() config?: Configurations\n ) {\n if (config?.sentryConfig) {\n const SENTRY_CONFIG = config.sentryConfig;\n Sentry.init({\n dsn: SENTRY_CONFIG?.DSN,\n integrations: [\n new Sentry.BrowserTracing({\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\n routingInstrumentation: Sentry.routingInstrumentation,\n }),\n ],\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\n });\n Sentry.setUser({ userDetails: this.authorizerService.getUser() });\n }\n }\n\n handleError(error: any) {\n const ERROR = error?.originalError || error;\n this.handleChunkError(ERROR);\n Sentry.captureException(ERROR);\n }\n\n handleChunkError(error: Error) {\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\n if (chunkFailedMessage.test(error?.message)) {\n window.location.reload();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse,\n HttpResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap, timeout } from 'rxjs/operators';\n\nimport { GlobalErrorService } from '../services/global-error.service';\n\nimport { API_TIMEOUT_TIME } from '../constants/error-handling.constants';\n\n@Injectable()\nexport class HttpReqInterceptor implements HttpInterceptor {\n constructor(private errorService: GlobalErrorService) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (this.errorService.isExcludeErrorHandling(req)) {\n return next.handle(req);\n }\n return next.handle(req).pipe(\n timeout(API_TIMEOUT_TIME),\n tap((event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n this.errorService.handleSoftErrors(event);\n }\n }),\n catchError((error: HttpErrorResponse) => {\n this.errorService.handleError(error, req);\n return throwError(error);\n })\n );\n }\n}\n","import {\n ErrorHandler,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\n\nimport { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component';\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\n\nimport { DialogModule } from './ui-kit/dialog/dialog.module';\nimport { FeatureFlagModule } from './featureFlag/feature-flag.module';\nimport { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';\nimport { TooltipModule } from './ui-kit/tooltip/tooltip.module';\n\nimport { FeatureFlagService } from './featureFlag/feature-flag.service';\n\nimport { BrowserOptions } from '@sentry/browser';\nimport { GlobalErrorHandler } from './shared/errorhandler/chunk-error.handler';\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\nimport { Configurations } from './configuration';\nimport { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';\nimport { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';\nimport { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';\nimport { ServerErrorComponent } from './shared/components/server-error/server-error.component';\n\nimport { HttpReqInterceptor } from './shared/interceptors/http.interceptor';\nimport { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';\nimport { ComponentLevelServerErrorComponent } from './shared/components/component-level-server-error/component-level-server-error.component';\n\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\n 'forRoot() SentryErrorHandler options'\n);\n\n@NgModule({\n declarations: [\n VcErrorHandlersComponent,\n PageNotFoundComponent,\n UnauthorizedComponent,\n SessionExpiredComponent,\n ChunkUnavailableComponent,\n ServerErrorComponent,\n ErrorModalComponent,\n ComponentLevelServerErrorComponent,\n ],\n imports: [\n CommonModule,\n DialogModule,\n FeatureFlagModule,\n NgOptimizedImage,\n SnackBarModule,\n TooltipModule,\n ],\n exports: [\n VcErrorHandlersComponent,\n PageNotFoundComponent,\n UnauthorizedComponent,\n SessionExpiredComponent,\n ChunkUnavailableComponent,\n ServerErrorComponent,\n ErrorModalComponent,\n ComponentLevelServerErrorComponent,\n ],\n bootstrap: [VcErrorHandlersComponent],\n})\nexport class VcErrorHandlersModule {\n constructor(private loadConfig: FeatureFlagService) {\n // this.loadConfig.loadConfig();\n }\n\n public static forRoot(\n environmentConfig: Configurations\n ): ModuleWithProviders<VcErrorHandlersModule> {\n const providers: any[] = [\n { provide: Configurations, useValue: environmentConfig },\n { provide: ErrorHandler, useClass: SentryErrorHandler },\n ];\n\n if (environmentConfig.isErrorInterceptorEnabled) {\n providers.push({\n provide: HTTP_INTERCEPTORS,\n useClass: HttpReqInterceptor,\n multi: true,\n });\n }\n\n return {\n ngModule: VcErrorHandlersModule,\n providers: providers,\n };\n }\n}\n","/*\n * Public API Surface of vc-error-handlers\n */\n\nexport * from './lib/vc-error-handlers.service';\nexport * from './lib/shared/services/global-error.service';\nexport * from './lib/shared/services/router.service';\nexport * from './lib/vc-error-handlers.component';\nexport * from './lib/shared/components/page-not-found/page-not-found.component';\nexport * from './lib/shared/components/unauthorized/unauthorized.component';\nexport * from './lib/shared/components/chunk-unavailable/chunk-unavailable.component';\nexport * from './lib/shared/components/server-error/server-error.component';\nexport * from './lib/shared/components/session-expired/session-expired.component';\nexport * from './lib/shared/components/error-modal/error-modal.component';\nexport * from './lib/shared/components/component-level-server-error/component-level-server-error.component';\nexport * from './lib/vc-error-handlers.module';\nexport * from './lib/shared/interceptors/http.interceptor';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SnackBarService","i2.UtilsService","i2","i3.Configurations","i1","i2.RouterService","i3","i4.ToolTipDirective","i2.DialogConfig","i3.RouterService","i1.DialogRef","i5.InsertionDirective","i1.DialogService","i1.GlobalErrorService","i2.SnackBarService","i3.FeatureFlagService","i5.SnackBarComponent","i6.UnauthorizedComponent","i7.SessionExpiredComponent","i8.ChunkUnavailableComponent","i9.ServerErrorComponent","i1.FeatureFlagService","i2.GlobalErrorService"],"mappings":";;;;;;;;;;;;;MAKa,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA,GAAiB;+GAFN,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACYD,IAAY,eAgBX,CAAA;AAhBD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,eAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AACxB,IAAA,eAAA,CAAA,eAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB,CAAA;;AAGrB,IAAA,eAAA,CAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB,CAAA;AACzB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AACxB,IAAA,eAAA,CAAA,eAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB,CAAA;AAChB,IAAA,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB,CAAA;;AAGpB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;;AAGtB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AAC1B,CAAC,EAhBW,eAAe,KAAf,eAAe,GAgB1B,EAAA,CAAA,CAAA;;AChCM,MAAM,qBAAqB,GAAG;AACnC,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sDAAsD;AAC5D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC,KAAK,CAAC;AACnB,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC,KAAK,CAAC;AACnB,KAAA;CAEF,CAAC;AAEK,MAAM,0BAA0B,GAAG;AACxC,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;AACzB,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;AAC9B,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;AAC9B,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;AAC3B,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;AACpC,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,gCAAgC;AACtC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sCAAsC;AAC5C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,uCAAuC;AAC7C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sCAAsC;AAC5C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+CAA+C;AACrD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2DAA2D;AACjE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,8CAA8C;AACpD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,iDAAiD;AACvD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,gDAAgD;AACtD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sDAAsD;AAC5D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4DAA4D;AAClE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qDAAqD;AAC3D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4DAA4D;AAClE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2DAA2D;AACjE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sDAAsD;AAC5D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4DAA4D;AAClE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,oDAAoD;AAC1D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qDAAqD;AAC3D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kDAAkD;AACxD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,uCAAuC;AAC7C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mDAAmD;AACzD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,8CAA8C;AACpD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sDAAsD;AAC5D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oDAAoD;AAC1D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,uCAAuC;AAC7C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,gCAAgC;AACtC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yDAAyD;AAC/D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yCAAyC;AAC/C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,8DAA8D;AACpE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,wDAAwD;AAC9D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2DAA2D;AACjE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kDAAkD;AACxD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,gDAAgD;AACtD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,gCAAgC;AACtC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,8CAA8C;AACpD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sCAAsC;AAC5C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yCAAyC;AAC/C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,+CAA+C;AACrD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,gDAAgD;AACtD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;CACF;;ACr7BM,MAAM,kBAAkB,GAAG;AAChC,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,gCAAgC;AACtC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AAEI,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACb,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;CAEF;;MCnDY,eAAe,CAAA;AAG1B,IAAA,WAAA,GAAA;AAFO,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC3C;IAEhB,IAAI,CAAC,OAAe,EAAE,IAAgD,EAAA;AACpE,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,IAAI;YACV,OAAO;AACP,YAAA,IAAI,EAAC,IAAI;AACV,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC,CAAC;KACJ;+GAnBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCCY,YAAY,CAAA;IACf,YAAY,CAAC,UAAe,EAAE,UAAe,EAAA;AACnD,QAAA,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;AAC1B,YAAA,IACE,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,EACnC;AACA,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,kBAAkB,CAAC,MAAkB,EAAA;QAC1C,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,aAAa,CAAC,SAAiB,EAAE,aAAqB,EAAA;QAC3D,OAAO,SAAS,KAAK,aAAa,CAAC;KACpC;IAEM,mBAAmB,CAAC,OAAe,EAAE,WAAmB,EAAA;AAC7D,QAAA,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KACtC;IAEM,gBAAgB,CAAC,QAAa,EAAE,YAAiB,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;KAClD;IAEM,eAAe,CAAC,OAAY,EAAE,WAAgB,EAAA;AACnD,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;KAChD;IAEM,cAAc,CAAC,YAAsB,EAAE,QAAgB,EAAA;AAC5D,QAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACxC;+GAzCU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCkBY,kBAAkB,CAAA;AAQ7B,IAAA,WAAA,CACU,eAAgC,EAChC,WAAyB,EACzB,MAAc,EAAA;QAFd,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAChC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAc;QACzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAVjB,QAAA,IAAA,CAAA,YAAY,GAAiB,IAAI,OAAO,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,WAAW,GAAiB,IAAI,OAAO,EAAE,CAAC;QAEzC,IAAkB,CAAA,kBAAA,GAAG,qBAAqB,CAAC;QAC3C,IAAuB,CAAA,uBAAA,GAAG,0BAA0B,CAAC;QACrD,IAAgB,CAAA,gBAAA,GAAG,kBAAkB,CAAC;KAM1C;AAEG,IAAA,gBAAgB,CAAC,KAA4C,EAAA;AAClE,QAAA,IAAI,EAAE,KAAK,YAAY,YAAY,CAAC,EAAE;YACpC,OAAO;AACR,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,KAAK,EAAE,IAAI,CAAC;AACjC,QAAA,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,CAAC;AACtC,QAAA,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,CAAC;AACtC,QAAA,MAAM,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC;QAEjC,IAAI,OAAO,KAAK,KAAK,IAAI,UAAU,IAAI,UAAU,KAAK,CAAC,EAAE;YACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACjE,SAAA;KACF;IAEM,WAAW,CAAC,KAAwB,EAAE,OAAyB,EAAA;AACpE,QAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC7B,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;AAChC,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAChC;AACA,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,SAAA;KACF;AAEM,IAAA,aAAa,CAAC,KAAwB,EAAA;AAC3C,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,eAAe,CAAC,mBAAmB;AACnC,YAAA,eAAe,CAAC,kBAAkB;AAClC,YAAA,eAAe,CAAC,UAAU;AAC1B,YAAA,eAAe,CAAC,cAAc;SAC/B,CAAC;QAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChD;AAEM,IAAA,sBAAsB,CAAC,OAAyB,EAAA;AACrD,QAAA,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,KAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CACpD,CAAC;KACH;AAEO,IAAA,iBAAiB,CAAC,KAAwB,EAAA;AAChD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC;KACzD;AAEO,IAAA,oBAAoB,CAAC,KAAwB,EAAA;AACnD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,kBAAkB,CAAC;KAC5D;AAEO,IAAA,oBAAoB,CAAC,KAAwB,EAAA;AACnD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,kBAAkB,CAAC;KAC5D;IAEO,iBAAiB,CACvB,KAAwB,EACxB,OAAyB,EAAA;QAEzB,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AACzC,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;aAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AACrD,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,SAAA;KACF;AAEO,IAAA,kBAAkB,CAAC,KAAwB,EAAA;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAEO,iBAAiB,CACvB,KAAwB,EACxB,OAAyB,EAAA;QAEzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;KAC3C;IAEO,gBAAgB,CACtB,KAAwB,EACxB,OAAyB,EAAA;AAEzB,QAAA,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,YAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;SAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,KAC5C,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CACpD,CAAC;KACH;IAEO,qBAAqB,CAC3B,KAAwB,EACxB,OAAyB,EAAA;AAEzB,QAAA,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;QAEF,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,KACjD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CACpD,CAAC;KACH;IAEO,WAAW,GAAA;AACjB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AACtE,QAAA,OAAO,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACxC;IAEO,mBAAmB,CACzB,SAAc,EACd,cAA8B,EAAA;AAE9B,QAAA,QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;AACvE,YAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAClC,SAAS,CAAC,IAAI,EACd,cAAc,CAAC,IAAI,CACpB;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,SAAS,CAAC,KAAK,EACf,cAAc,CAAC,KAAK,CACrB;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;aACpE,CAAC,SAAS,CAAC,SAAS;AACnB,gBAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAC7B,SAAS,CAAC,SAAS,EACnB,cAAc,CAAC,QAAQ,IAAI,EAAE,CAC9B,CAAC,EACJ;KACH;+GAhKU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACtBD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAErC,MAAM,MAAM,GAAG;IACpB,YAAY,EAAE,CAAG,EAAA,QAAQ,CAAuB,qBAAA,CAAA;IAChD,WAAW,EAAE,CAAG,EAAA,QAAQ,CAAiD,+CAAA,CAAA;IACzE,qBAAqB,EAAE,CAAG,EAAA,QAAQ,CAAwC,sCAAA,CAAA;CAC3E;;ACJM,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AACnC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AACvD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,MAAM,YAAY,GAAG;AAC1B,IAAA,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC,WAAW;AAC5B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,UAAU,EAAE,iBAAiB;AAC9B,KAAA;AAED,IAAA,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC,WAAW;AAC5B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,gDAAgD;AAC7D,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,KAAK,EAAE,mBAAmB;AAC1B,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,IAAI,EAAE,0BAA0B;AACjC,KAAA;AAED,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,WAAW,EACT,0EAA0E;AAC5E,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA;AAED,IAAA,iBAAiB,EAAE;AACjB,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,WAAW,EACT,mEAAmE;AACrE,QAAA,UAAU,EAAE,SAAS;AACtB,KAAA;AAED,IAAA,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC,WAAW;AAC5B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,iCAAiC;AAC9C,QAAA,OAAO,EAAE,8CAA8C;AACvD,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,eAAe,EAAE,CAAqD,mDAAA,CAAA;AACvE,KAAA;AAED,IAAA,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,MAAM,CAAC,qBAAqB;AACtC,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,iCAAiC;AAC9C,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA;AAED,IAAA,mBAAmB,EAAE;AACnB,QAAA,cAAc,EACZ,gFAAgF;AACnF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAAG;AAC7B,IAAA,oBAAoB,EAAE,wCAAwC;AAC9D,IAAA,cAAc,EAAE,8CAA8C;AAC9D,IAAA,gBAAgB,EAAE,kDAAkD;AACpE,IAAA,eAAe,EAAE,gDAAgD;AACjE,IAAA,iBAAiB,EAAE,iDAAiD;AACpE,IAAA,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEK,MAAM,YAAY,GAAG;AAC1B,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;CACnB,CAAC;AAEK,MAAM,iBAAiB,GAAG;AAC/B,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEK,MAAM,cAAc,GAAG;AAC5B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,YAAY,EAAE,SAAS;CACxB;;MC9EY,aAAa,CAAA;AAGxB,IAAA,WAAA,GAAA;QAFO,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QAG1B,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAEO,UAAU,GAAA;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;KACvC;IAEM,eAAe,GAAA;QACpB,MAAM,CAAC,QAAQ,CAAC,IAAI;AAClB,YAAA,CAAA,QAAA,EAAW,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAG,CAAA,CAAA;gBAClC,qBAAqB;AACrB,gBAAA,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC5C;AAEM,IAAA,cAAc,CAAC,WAAmB,EAAA;AACvC,QAAA,IAAI,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC;AAEtD,QAAA,QAAQ,WAAW;YACjB,KAAK,YAAY,CAAC,IAAI;AACpB,gBAAA,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC;gBAC5C,MAAM;YACR,KAAK,YAAY,CAAC,MAAM;AACtB,gBAAA,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC;gBAC9C,MAAM;YACR,KAAK,YAAY,CAAC,KAAK;AACrB,gBAAA,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;gBAC7C,MAAM;YACR,KAAK,YAAY,CAAC,OAAO;AACvB,gBAAA,UAAU,GAAG,eAAe,CAAC,iBAAiB,CAAC;gBAC/C,MAAM;AACR,YAAA;AACE,gBAAA,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC;gBAClD,MAAM;AACT,SAAA;AAED,QAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACrC;+GAxCU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCTY,cAAc,CAAA;AAKzB,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;KACxC;AACF;;MCDY,kBAAkB,CAAA;AAO7B,IAAA,WAAA,CACU,IAAgB,EAChB,UAA6B,EACzB,MAAuB,EAAA;QAF3B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;QAPvC,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QACvB,IAAW,CAAA,WAAA,GAAQ,EAAE,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;AAQjB,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,SAAS,CAAC;KACtC;IAED,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5E;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;AACrC,SAAA;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC;AAClD,gBAAA,IAAI,EAAE,CAAC,GAAQ,KAAI;oBACjB,IAAI;wBACF,OAAO,CAAC,IAAI,CAAC,CAAC;AACd,wBAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,wBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;wBACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC7D,qBAAA;AAAC,oBAAA,OAAO,KAAK,EAAE;wBACd,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,qBAAA;iBACF;AACD,gBAAA,KAAK,EAAE,CAAC,GAAQ,KAAI;oBAClB,MAAM,CAAC,IAAI,CAAC,CAAC;AACb,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,oBAAA,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;iBACpE;AACF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,iBAAiB,CAAC,KAAU,EAAA;AAC1B,QAAA,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAQ,EAAE,CAAC;AAChC,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,YAAA,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,OAAO,EAAE;gBACX,IAAI,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;AAChE,oBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,iBAAA;qBAAM,IACL,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC;AACvC,oBAAA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,EAClC;oBACA,IAAI,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3C,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,qBAAA;AAAM,yBAAA;AACL,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/B,qBAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,IAAI,OAAO,EAAE,OAAO,EAAE;AACpB,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,qBAAA;AAAM,yBAAA;AACL,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/B,qBAAA;AACF,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;KACpC;AAED,IAAA,gBAAgB,CAAC,WAAmB,EAAA;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;AAChD,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACtC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;+GAnFU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAWI,QAAQ;;;MCVA,iBAAiB,CAAA;AAa5B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAZpD,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QACb,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QACf,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;QAClB,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AACf,QAAA,IAAA,CAAA,KAAK,GAAQ;AACX,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,UAAU;SAClB,CAAC;KAEsD;IAExD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CACtE,CAAC,KAAK,KAAI;AACR,YAAA,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;AACzB,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC7B,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACzB,SAAC,CACF,CAAC;KACH;IAED,YAAY,GAAA;QACV,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd,EAAE,IAAI,CAAC,CAAC;KACV;IACD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;KACzC;+GAxCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,qDCT9B,wYAQQ,EAAA,MAAA,EAAA,CAAA,6lEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDCK,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,wYAAA,EAAA,MAAA,EAAA,CAAA,6lEAAA,CAAA,EAAA,CAAA;;;MEOd,gBAAgB,CAAA;IAU3B,WAAoB,CAAA,EAAc,EAAU,QAAmB,EAAA;QAA3C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QALtD,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;QAG5B,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;KAEwD;AACnE,IAAA,QAAQ,MAAK;IACe,YAAY,GAAA;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAC0B,WAAW,GAAA;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAE2B,YAAY,GAAA;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IACyB,UAAU,GAAA;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IACsB,OAAO,GAAA;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IACD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;AACR,SAAA;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;AACtC,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACzD,SAAA;AAAM,aAAA;AACL,YAAA,IACE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY;AAC1C,gBAAA,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,EAC1C;gBACA,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACzD,aAAA;AACF,SAAA;KACF;IAED,IAAI,GAAA;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CACnC,CAAC;AACH,aAAA;AACF,SAAA;KACF;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;AAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC,CAAC;AACnE,SAAA;KACF;IAED,WAAW,GAAA;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;AACxD,QAAA,MAAM,SAAS,GACb,MAAM,CAAC,WAAW;YAClB,QAAQ,CAAC,eAAe,CAAC,SAAS;YAClC,QAAQ,CAAC,IAAI,CAAC,SAAS;AACvB,YAAA,CAAC,CAAC;AACJ,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7B,QAAA,IAAI,GAAG,CAAC;AACR,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;AAC5B,YAAA,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACpD,YAAA,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC/B,IAAI,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;AACtC,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAmB,iBAAA,CAAA,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAgB,cAAA,CAAA,CAAC,CAAC;AACxD,aAAA;AAAM,iBAAA;gBACL,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACnC,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;AAC9D,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;AAC7B,YAAA,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;AAC7D,YAAA,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;AAC9B,YAAA,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;YAC7D,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,cAAc,EAAE;YACrC,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACnC,YAAA,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;AAC/C,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,EAAE;YACpC,IAAI,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE;gBAC5C,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;AACtC,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAwB,sBAAA,CAAA,CAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAqB,mBAAA,CAAA,CAAC,CAAC;AAC7D,aAAA;AAAM,iBAAA;gBACL,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACnC,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACrB,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAG,EAAA,GAAG,GAAG,SAAS,CAAA,EAAA,CAAI,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;KAC3D;+GAjIU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,WAAA,EAAA,cAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACxB,iBAAA,CAAA;yHAEqB,YAAY,EAAA,CAAA;sBAA/B,KAAK;uBAAC,WAAW,CAAA;gBACT,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAMsB,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY,CAAA;gBAIC,WAAW,EAAA,CAAA;sBAArC,YAAY;uBAAC,WAAW,CAAA;gBAKG,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY,CAAA;gBAGA,UAAU,EAAA,CAAA;sBAAnC,YAAY;uBAAC,UAAU,CAAA;gBAGD,OAAO,EAAA,CAAA;sBAA7B,YAAY;uBAAC,OAAO,CAAA;;;MC8BV,qBAAqB,CAAA;IAChC,WACU,CAAA,KAAqB,EACrB,aAA4B,EAAA;QAD5B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAGtC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;QACxC,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;QAC9B,IAAgB,CAAA,gBAAA,GAAG,iBAAiB,CAAC;QACrC,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;KAP9D;IASG,mBAAmB,GAAA;AACxB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAChD;+GAhBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAtDtB,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAxDjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0/CAAA,CAAA,EAAA,CAAA;;;MClEU,YAAY,CAAA;AAKxB;;MCoBY,mBAAmB,CAAA;AAW9B,IAAA,WAAA,CACU,WAA8B,EAC9B,YAA0B,EAC1B,aAA4B,EAAA;QAF5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;QAC9B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAbtC,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;AAI/B,QAAA,IAAA,CAAA,IAAI,GAAe;AACjB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,UAAU,EAAE,cAAc;SAC3B,CAAC;QAOA,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;KACpD;IAEM,gBAAgB,GAAA;QACrB,QAAQ,IAAI,CAAC,SAAS;AACpB,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,eAAe;AAClC,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;gBACrC,MAAM;AAER,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,eAAe;AAClC,gBAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM;AACT,SAAA;KACF;+GAnCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAbpB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ylBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGI,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAf/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,CAAA;;;;;;;;;;AAUH,QAAA,CAAA,EAAA,MAAA,EAAA,CAAA,ylBAAA,CAAA,EAAA,CAAA;2JAME,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MCvBK,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAmB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAAI;+GAD9C,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;;;MCFY,SAAS,CAAA;AAGpB,IAAA,WAAA,GAAA;AAFiB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAO,CAAC;AACxD,QAAA,IAAA,CAAA,WAAW,GAAoB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACrD;AAEhB,IAAA,KAAK,CAAC,MAAY,EAAA;;AAEhB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;KACvC;AACF;;MCAY,eAAe,CAAA;IAc1B,WACU,CAAA,wBAAkD,EAClD,EAAqB,EACrB,SAAoB,EACrB,MAAoB,EACnB,MAAc,EAAA;QAJd,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACrB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;QACnB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAZxB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAEA,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAO,CAAC;AAC7C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;;;;;KAelD;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;YAC1C,IAAI,KAAK,YAAY,eAAe,EAAE;;AAErC,aAAA;YACD,IAAI,KAAK,YAAY,aAAa,EAAE;;AAElC,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxB,aAAA;YACD,IAAI,KAAK,YAAY,eAAe,EAAE;;;AAGrC,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IACD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,GAAe,EAAA;;KAE/B;AAED,IAAA,eAAe,CAAC,GAAe,EAAA;QAC7B,GAAG,CAAC,eAAe,EAAE,CAAC;KACvB;AAED,IAAA,kBAAkB,CAAC,aAAwB,EAAA;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAE9F,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAC9D,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;KACxE;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7B,SAAA;KACF;AAED,IAAA,KAAK,CAAC,IAAU,EAAA;AACd,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;KACvC;+GAlFU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAf,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKf,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB/B,+vBA4BA,EAAA,MAAA,EAAA,CAAA,kyBAAA,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,EAAAG,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDhBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,+vBAAA,EAAA,MAAA,EAAA,CAAA,kyBAAA,CAAA,EAAA,CAAA;iNAUtB,cAAc,EAAA,CAAA;sBADb,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MENpC,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAJR,eAAe,EAAE,kBAAkB,CADxC,EAAA,OAAA,EAAA,CAAA,YAAY,aAGb,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAHZ,SAAA,EAAA,CAAC,SAAS,CAAC,YAFZ,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKX,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;oBACnD,SAAS,EAAE,CAAC,SAAS,CAAC;oBACtB,OAAO,EAAC,CAAC,eAAe,CAAC;AAC1B,iBAAA,CAAA;;;MCRY,cAAc,CAAA;IACzB,WAAoB,CAAA,oBAA8B,EAAU,sBAAyC,EAAA;QAAjF,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAU;QAAU,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAmB;KAAI;;IAIzG,GAAG,CAAC,KAAU,EAAE,aAAmB,EAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAM,KAAK,EAAE,aAAa,CAAC,CAAC;KACjE;AACF;;MCJY,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAoB,wBAAkD,EAAU,MAAsB,EAAU,QAAkB,EAAA;QAA9G,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;IAE/H,IAAI,CAAC,aAAwB,EAAE,MAAoB,EAAA;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,GAAG,aAAa,CAAC;AAEpE,QAAA,OAAO,SAAS,CAAC;KAClB;AAEO,IAAA,2BAA2B,CAAC,MAAoB,EAAA;AACtD,QAAA,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,QAAA,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAE9B,QAAA,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC,QAAA,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE9B,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YAC/C,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,GAAG,CAAC,WAAW,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAChG,QAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAI,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;AAC5F,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAEvC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACtD,IAAI,CAAC,6BAA6B,EAAE,CAAC;AACvC,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,SAAS,CAAC;KAClB;IAEO,6BAA6B,GAAA;QACnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;KACnC;+GA7CU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,YAAY,EAAA,CAAA,CAAA,EAAA;;4FAEb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,YAAY;AACzB,iBAAA,CAAA;;;MCGY,uBAAuB,CAAA;AAIlC,IAAA,WAAA,CACU,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAJtC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC;QAC3C,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;KAI3B;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC3C,YAAA,IAAI,EAAE;AACJ,gBAAA,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;gBAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA,CAAC,CAAC;KACJ;+GArBU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,oEAFxB,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAED,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACb,iBAAA,CAAA;;;MCIY,yBAAyB,CAAA;AAIpC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAHhD,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAC7C,IAAS,CAAA,SAAA,GAAG,iBAAiB,CAAC;KAEsB;IAEpD,QAAQ,GAAA;QACN,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC3C,YAAA,IAAI,EAAE;AACJ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe;gBACzC,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA,CAAC,CAAC;KACJ;+GAnBU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,sEAF1B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAED,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACb,iBAAA,CAAA;;;MC8BY,oBAAoB,CAAA;AApCjC,IAAA,WAAA,GAAA;AAqCE,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;QACxC,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAK/B,KAAA;IAHQ,WAAW,GAAA;AAChB,QAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC1B;+GAPU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAlCrB,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApChC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0/CAAA,CAAA,EAAA,CAAA;;;MChBU,wBAAwB,CAAA;AAYnC,IAAA,WAAA,CACU,YAAgC,EAChC,eAAgC,EAChC,kBAAsC,EAAA;QAFtC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAChC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAChC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AAdxC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,mBAAmB,CAAC;QAEvD,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;QAC9B,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;QAChC,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;QAClC,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAC7B,QAAA,IAAA,CAAA,QAAQ,GAAY,SAAS,CAAC,MAAM,CAAC;QAE5B,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;QAgDlC,IAAe,CAAA,eAAA,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,SAAC,CAAC;QAEM,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,aAAA;AACH,SAAC,CAAC;QAlDA,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;KAChE;IAGD,WAAW,GAAA;QACT,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC9D;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAwB,KAAI;AACpE,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,WAAW,CAAC,KAAwB,EAAA;AAC1C,QAAA,MAAM,aAAa,GAAkC;AACnD,YAAA,CAAC,eAAe,CAAC,eAAe,GAAG,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACrE,YAAA,CAAC,eAAe,CAAC,kBAAkB,GAAG,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACtE,YAAA,CAAC,eAAe,CAAC,kBAAkB,GAAG,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC1E,CAAC,eAAe,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;SACtE,CAAC;AAEF,QAAA,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC/B,YAAA,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,SAAA;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,SAAA;KACF;IAEO,yBAAyB,GAAA;QAC/B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC3D;IAcO,kBAAkB,GAAA;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC3C,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,SAAA;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACrE;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;+GAjFU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAS,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAbzB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,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,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA;AACF,iBAAA,CAAA;+JAUU,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MC4BK,qBAAqB,CAAA;IAQhC,WACU,CAAA,KAAqB,EACrB,aAA4B,EAAA;QAD5B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AATtC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC;QAC1C,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAC9B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,IAAgB,CAAA,gBAAA,GAAG,iBAAiB,CAAC;QACrC,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;KAK9D;IAEG,mBAAmB,GAAA;AACxB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAChD;+GAhBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAhB,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAhDtB,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlDjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0/CAAA,CAAA,EAAA,CAAA;;;MC1BU,kCAAkC,CAAA;AA3B/C,IAAA,WAAA,GAAA;AA4BE,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,4BAA4B,CAAC;QACxD,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAEpB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AACjD,KAAA;+GALY,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,EAzBnC,QAAA,EAAA,qCAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wjCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBA3B9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qCAAqC,EACrC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,wjCAAA,CAAA,EAAA,CAAA;8BAOS,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;MCzBI,oBAAoB,CAAA;AAE/B,IAAA,WAAA,CACU,GAAqB,EACrB,GAAqB,EACrB,kBAAsC,EAAA;QAFtC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;QACrB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;QACrB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAC5C;IAEJ,QAAQ,GAAA;AACN,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7E,QAAA,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,SAAA;KACF;+GAbU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAiB,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA,CAAA;+JAEU,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MCHK,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EANb,YAAA,EAAA,CAAA,oBAAoB,CAEjC,EAAA,OAAA,EAAA,CAAA,YAAY,aAEL,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAElB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJ1B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;oBACD,OAAO,EAAC,CAAC,oBAAoB,CAAC;AAC/B,iBAAA,CAAA;;;MCDY,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJV,YAAA,EAAA,CAAA,iBAAiB,CACtB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAHf,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;MCCY,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJT,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHd,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;MCEY,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CACU,iBAAoC,EACpC,YAAgC,EAC5B,MAAuB,EAAA;QAF3B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAGxC,IAAI,MAAM,EAAE,YAAY,EAAE;AACxB,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,aAAa,EAAE,GAAG;AACvB,gBAAA,YAAY,EAAE;oBACZ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACxB,uBAAuB,EAAE,aAAa,CAAC,YAAY;wBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;qBACtD,CAAC;AACH,iBAAA;gBACD,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;gBAClD,wBAAwB,EAAE,aAAa,CAAC,0BAA0B;gBAClE,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;AACpE,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACnE,SAAA;KACF;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,MAAM,KAAK,GAAG,KAAK,EAAE,aAAa,IAAI,KAAK,CAAC;AAC5C,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;QAC3B,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AAC3C,YAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC1B,SAAA;KACF;+GAnCU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAkB,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAnB,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;0BAKN,QAAQ;;;MCGA,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAoB,YAAgC,EAAA;QAAhC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;KAAI;IAExD,SAAS,CACP,GAAqB,EACrB,IAAiB,EAAA;QAEjB,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;AACjD,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,OAAO,CAAC,gBAAgB,CAAC,EACzB,GAAG,CAAC,CAAC,KAAqB,KAAI;YAC5B,IAAI,KAAK,YAAY,YAAY,EAAE;AACjC,gBAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC3C,aAAA;AACH,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAwB,KAAI;YACtC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,YAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;SAC1B,CAAC,CACH,CAAC;KACH;+GAtBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAU,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCgBE,6BAA6B,GAAG,IAAI,cAAc,CAC7D,sCAAsC,EACtC;MAiCW,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,UAA8B,EAAA;QAA9B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;;KAEjD;IAEM,OAAO,OAAO,CACnB,iBAAiC,EAAA;AAEjC,QAAA,MAAM,SAAS,GAAU;AACvB,YAAA,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE;AACxD,YAAA,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACxD,CAAC;QAEF,IAAI,iBAAiB,CAAC,yBAAyB,EAAE;YAC/C,SAAS,CAAC,IAAI,CAAC;AACb,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,CAAC;AACJ,SAAA;QAED,OAAO;AACL,YAAA,QAAQ,EAAE,qBAAqB;AAC/B,YAAA,SAAS,EAAE,SAAS;SACrB,CAAC;KACH;+GAzBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAQ,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,SAAA,EAAA,CAFpB,wBAAwB,CAAA,EAAA,YAAA,EAAA,CA3BlC,wBAAwB;YACxB,qBAAqB;YACrB,qBAAqB;YACrB,uBAAuB;YACvB,yBAAyB;YACzB,oBAAoB;YACpB,mBAAmB;AACnB,YAAA,kCAAkC,aAGlC,YAAY;YACZ,YAAY;YACZ,iBAAiB;YACjB,gBAAgB;YAChB,cAAc;AACd,YAAA,aAAa,aAGb,wBAAwB;YACxB,qBAAqB;YACrB,qBAAqB;YACrB,uBAAuB;YACvB,yBAAyB;YACzB,oBAAoB;YACpB,mBAAmB;YACnB,kCAAkC,CAAA,EAAA,CAAA,CAAA,EAAA;AAIzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAnB9B,YAAY;YACZ,YAAY;YACZ,iBAAiB;YAEjB,cAAc;YACd,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAcJ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA/BjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,qBAAqB;wBACrB,qBAAqB;wBACrB,uBAAuB;wBACvB,yBAAyB;wBACzB,oBAAoB;wBACpB,mBAAmB;wBACnB,kCAAkC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,qBAAqB;wBACrB,qBAAqB;wBACrB,uBAAuB;wBACvB,yBAAyB;wBACzB,oBAAoB;wBACpB,mBAAmB;wBACnB,kCAAkC;AACnC,qBAAA;oBACD,SAAS,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;AClED;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/shared/types/global-error.types.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/api-config.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/exclude-api-config.constants.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/util.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/global-error.service.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/assets.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/error-handling.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/services/router.service.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.service.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.html","../../../projects/vc-error-handlers/src/lib/ui-kit/tooltip/tooltip.directive.ts","../../../projects/vc-error-handlers/src/lib/shared/components/unauthorized/unauthorized.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/vc-error-handlers/src/lib/shared/components/error-modal/error-modal.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.html","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/vc-error-handlers/src/lib/shared/components/session-expired/session-expired.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/chunk-unavailable/chunk-unavailable.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/server-error/server-error.component.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/page-not-found/page-not-found.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/component-level-server-error/component-level-server-error.component.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.directive.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/tooltip/tooltip.module.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/shared/interceptors/http.interceptor.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VcErrorHandlersService {\n\n constructor() { }\n}\n","import { MODAL_ERROR_TYPES } from '../constants/error-handling.constants';\n\nexport interface DialogData {\n heading: string;\n description: string;\n buttonText: string;\n}\n\nexport interface RequestDetails {\n method: string;\n path: string;\n query: { [key: string]: any };\n body: any;\n pageCode?: string;\n}\n\nexport enum ErrorStatusCode {\n URLNotFound = 404,\n UnauthorizedAccess = 403,\n Unauthenticated = 401,\n\n // Server-side errors\n InternalServerError = 500,\n ServiceUnavailable = 503,\n BadGateway = 502,\n RequestTimeout = 504,\n\n // Network unavailability/offline case\n NetworkUnavailable = 0,\n\n // Application-specific errors\n JSChunkUnavailable = 600,\n}\n\nexport type ModalErrorType = keyof typeof MODAL_ERROR_TYPES;\n","export const PAGE_LEVEL_API_CONFIG = [\n {\n method: 'GET',\n path: 'compliance/?mode=reports/getReportDetailsByDuedateId',\n query: null,\n body: null,\n pageCodes: ['SAP'],\n },\n {\n method: 'GET',\n path: 'compliance/?mode=reports/reportDetailsById',\n query: null,\n body: null,\n pageCodes: ['SAP'],\n },\n \n];\n\nexport const COMPONENT_LEVEL_API_CONFIG = [\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'active' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'power_users' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'light_users' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'inactive' },\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=organisationUsersList',\n query: { type: 'power_users_small' },\n body: null,\n },\n {\n method: 'GET',\n path: '/Global-Dashboard/ManageDashboards',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Global-Dashboard/MyDashboard',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=0',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=1',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=2',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList&state=1&grcType=3',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/compliance/?mode=responsibilityCenterTree',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=rcholidaylist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=roles/getRoles',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=groupsList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/compliance_post/?mode=rcProfile',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/organization_post/?mode=userProfile',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=roles/roleById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=groupDetails',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/compliance_post?mode=report/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization/?mode=memberholidaylist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/grc_object/?mode=activity/activityLogList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/grc_object/?mode=activity/viewList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/categoriesList?owner_list=1',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/risk/?mode=category/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'memberDetailsbyIds',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/organization?mode=signatureDetails',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/responsibilityList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/getLinkedPolicies',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/assignee',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/evidence/getEvidences/b-cycle-header',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/activity-logs',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/activity-logs-views',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=category/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=assessment/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assessment/?mode=assessment/fetchQuestionsByAssessmentId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=assessment/responseSummary',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assessment/?mode=assessment/individualResponse',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assessment/?mode=assessment/logs',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/subCategories',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/Assessment/?mode=assessment/getAssessmentById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/my/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/reviewing/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/managing/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/my/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/reviewing/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/managing/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/my/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/reviewing/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/to_do_responsibilities/responsibilities/managing/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/ListingReportedRisks',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/myAssessments&type',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'workshop/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/DueDateList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/RiskDetailsById',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'score/assessment',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'score/treatment',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'score/treatmentPlan',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'category/list&returnType',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/list&return_list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk/GetDiscussionById',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'workroom/getFilesAndFoldersList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilityCenter/rcList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'program/overview?owner_list=1',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendarDashboardReports',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=myResponsibility',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=auditList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=oversightResponsibility/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'complianceReport/getTrendReport',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'workroomUpdates',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'recentActivities_new',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'program/subCategories',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/program/responsibilityList/',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=dashboard/statusOverview',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=category/listForPortal&type=dashboard',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=announcements/listAll',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=announcements/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=dashboard/overdue/attestation',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=dashboard/overdue/review',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=dashboard/calendar&date',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=dashboard/dueForAttestation/dueToday',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/policy/?mode=dashboard/dueForAttestation/overdue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=dashboard/dueForAttestation/upcoming',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=dashboard/dueForAttestation/all',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/Category/CatList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assurance/Issue/MyIssues/',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assurance/Issue/Overview/',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assurance/Issue/Overseeing/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/Workroom/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/GetIssueDueDates/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assurance/Workroom/Issue/FilesAndFolders/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Workroom/Issue/ActivitiesViewLog/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assurance/ActivityLog/IssueLog/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Workroom/Issue/IssueDuedateListForTimeline',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/ListByCategoryIdRC/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/Category/IssueCategoryOverview_RC/',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/DashboardCalendar',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: '/Assurance/Issue/Priority',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/ByAssessments',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assurance/Issue/ByReportId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/heatmap',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/risk_category_overview',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/risk_score_by_rc',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/scorebycategory',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'risk_dashboard/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'dashboard/missedResponsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/responsibilities_post?mode=responsibilities_overseeing',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilities_in_trash',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'userReportsList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'reviewerReportsList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'riskAnalysis',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilitiesByUserId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilitiesByReviewerId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilityByRisk',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilityByRCId',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=complianceDueDate',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=workroomComment/getWorkroomActivities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=fetchActivityLog',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=ListActivityView',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'reviewer/ReviewerDuedateList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'compliance_post/?mode=complianceReport/dependentOfReportTree',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'manage_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'my_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'review_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilities_overseeing',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'responsibilities_in_queue',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'compliance/?mode=workroomComment/getWorkroomActivities',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'compliance/?mode=reports/responseByAssessmentAndDueDateId',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'Assessment/?mode=assessment/allAuditee',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=attachment/getAttachmentsByCategory',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=category/categoryByRoles&type=all',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/portalList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=comment/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/policy_post/?mode=folder/documents',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/audittraillist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'library/?mode=version/list',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'Assessment?mode=assessment/getAssessmentById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/allEmpoyeesWithDueDates',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/allDuedatesWithEmployee',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'fetchContent',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=default/getDefaultCategories',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=templates/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=category/userCreated',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=templates/detailsById',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'fetchTemplateContent',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=approvalworkflow/fetchall',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/reviewerPolicies',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/reviewPendingByOthers',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=manage_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=entrusted_by_me&date',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=my_responsibilities',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=responsibilities_reviewing',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'calendar_post?mode=responsibilities_overseeing',\n query: null,\n body: null,\n },\n];\n","export const EXCLUDE_API_CONFIG = [\n {\n method: 'GET',\n path: 'organization/?mode=groupsList',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/audittraillist',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'policy/?mode=policy/list',\n query: null,\n body: null,\n },\n {\n method: 'GET',\n path: 'grc_object/?mode=grc/getGRCList',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=approvalworkflow/fetchall',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: 'policy_post/?mode=announcements/delete',\n query: null,\n body: null,\n },\n {\n method: 'PUT',\n path: 'policy_put/?mode=policy/update',\n query: null,\n body: null,\n },\n {\n \n method: 'POST',\n path: 'fileupload/?destination=uploads',\n query: null,\n body: null,\n },\n {\n method: 'POST',\n path: '/ImportDocument',\n query: null,\n body: null,\n },\n\n];\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackBarService {\n public snackbarSubject = new Subject <any>();\n public snackbarState = this.snackbarSubject.asObservable();\n constructor() {}\n\n show(message: string, type?:'success'|'warning'|'info'|'alert'|'error') {\n this.snackbarSubject.next({\n show: true,\n message,\n icon:type,\n });\n }\n\n hide(){\n this.snackbarSubject.next({\n show: false,\n message: '',\n icon: '',\n });\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilsService {\n private isJsonSubset(parentJson: any, subsetJson: any): boolean {\n for (let key in subsetJson) {\n if (\n !parentJson.hasOwnProperty(key) ||\n parentJson[key] !== subsetJson[key]\n ) {\n return false;\n }\n }\n return true;\n }\n\n public extractQueryParams(params: HttpParams): { [key: string]: any } {\n const query: { [key: string]: any } = {};\n params.keys().forEach((key) => {\n query[key] = params.get(key);\n });\n return query;\n }\n\n public isStringEqual(apiMethod: string, requestMethod: string): boolean {\n return apiMethod === requestMethod;\n }\n\n public isSubstringInString(apiPath: string, requestPath: string): boolean {\n return requestPath.includes(apiPath);\n }\n\n public isSubsetOfObject(apiQuery: any, requestQuery: any): boolean {\n if (!apiQuery) return true;\n return this.isJsonSubset(requestQuery, apiQuery);\n }\n\n public isSubsetOfArray(apiBody: any, requestBody: any): boolean {\n if (!apiBody) return true;\n return this.isJsonSubset(apiBody, requestBody);\n }\n\n public isValueInArray(apiPageCodes: string[], pageCode: string): boolean {\n return apiPageCodes.includes(pageCode);\n }\n}\n","import {\n HttpErrorResponse,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs';\n\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\nimport { UtilsService } from './util.service';\n\nimport { ErrorStatusCode, RequestDetails } from '../types/global-error.types';\nimport {\n PAGE_LEVEL_API_CONFIG,\n COMPONENT_LEVEL_API_CONFIG,\n} from '../constants/api-config.constants';\n\nimport { EXCLUDE_API_CONFIG } from '../constants/exclude-api-config.constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalErrorService {\n public globalError$: Subject<any> = new Subject();\n public localError$: Subject<any> = new Subject();\n\n private pageLevelApiConfig = PAGE_LEVEL_API_CONFIG;\n private componentLevelApiConfig = COMPONENT_LEVEL_API_CONFIG;\n private excludeApiConfig = EXCLUDE_API_CONFIG;\n\n constructor(\n private snackBarService: SnackBarService,\n private utilService: UtilsService,\n private router: Router\n ) {}\n\n public handleSoftErrors(event: HttpResponse<any> | HttpErrorResponse) {\n if (!(event instanceof HttpResponse)) {\n return;\n }\n\n const responseBody = event?.body;\n const success = responseBody?.success;\n const message = responseBody?.message;\n const statusCode = event?.status;\n \n if (success === false && statusCode && statusCode !== 0) {\n this.snackBarService.show(message || 'Error occurred', 'alert');\n }\n }\n\n public handleError(error: HttpErrorResponse, request: HttpRequest<any>) {\n if (\n this.isUnauthenticated(error) ||\n this.isUnauthorizedAccess(error) ||\n this.isNetworkUnavailable(error)\n ) {\n this.publishGlobalError(error);\n } else if (this.isServerError(error)) {\n this.handleServerError(error, request);\n } else {\n this.handleSoftErrors(error);\n }\n }\n\n public isServerError(error: HttpErrorResponse): boolean {\n const serverErrorCodes = [\n ErrorStatusCode.InternalServerError,\n ErrorStatusCode.ServiceUnavailable,\n ErrorStatusCode.BadGateway,\n ErrorStatusCode.RequestTimeout,\n ];\n\n return serverErrorCodes.includes(error.status);\n }\n\n public isExcludeErrorHandling(request: HttpRequest<any>): boolean {\n const requestDetails: RequestDetails = {\n method: request.method,\n path: request.url,\n query: this.utilService.extractQueryParams(request.params),\n body: request.body,\n };\n\n return this.excludeApiConfig.some((apiConfig) =>\n this.isApiConfigMatching(apiConfig, requestDetails)\n );\n }\n\n private isUnauthenticated(error: HttpErrorResponse): boolean {\n return error.status === ErrorStatusCode.Unauthenticated;\n }\n\n private isUnauthorizedAccess(error: HttpErrorResponse): boolean {\n return error.status === ErrorStatusCode.UnauthorizedAccess;\n }\n\n private isNetworkUnavailable(error: HttpErrorResponse): boolean {\n return error.status === ErrorStatusCode.NetworkUnavailable;\n }\n\n private handleServerError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ) {\n if (this.isPageLevelError(error, request)) {\n this.publishGlobalError(error);\n } else if (this.isComponentLevelError(error, request)) {\n this.publishLocalError(error, request);\n }\n }\n\n private publishGlobalError(error: HttpErrorResponse) {\n this.globalError$.next(error);\n }\n\n private publishLocalError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ) {\n this.localError$.next({ error, request });\n }\n\n private isPageLevelError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ): boolean {\n const requestDetails: RequestDetails = {\n method: request.method,\n path: request.url,\n query: this.utilService.extractQueryParams(request.params),\n body: request.body,\n pageCode: this.getPageCode(),\n };\n\n return this.pageLevelApiConfig.some((apiConfig) =>\n this.isApiConfigMatching(apiConfig, requestDetails)\n );\n }\n\n private isComponentLevelError(\n error: HttpErrorResponse,\n request: HttpRequest<any>\n ): boolean {\n const requestDetails: RequestDetails = {\n method: request.method,\n path: request.url,\n query: this.utilService.extractQueryParams(request.params),\n body: request.body,\n };\n\n return this.componentLevelApiConfig.some((apiConfig) =>\n this.isApiConfigMatching(apiConfig, requestDetails)\n );\n }\n\n private getPageCode() {\n const currentRoute = this.router.routerState.snapshot.root.firstChild;\n return currentRoute?.data['page_path'];\n }\n\n private isApiConfigMatching(\n apiConfig: any,\n requestDetails: RequestDetails\n ): boolean {\n return (\n this.utilService.isStringEqual(apiConfig.method, requestDetails.method) &&\n this.utilService.isSubstringInString(\n apiConfig.path,\n requestDetails.path\n ) &&\n this.utilService.isSubsetOfObject(\n apiConfig.query,\n requestDetails.query\n ) &&\n this.utilService.isSubsetOfArray(apiConfig.body, requestDetails.body) &&\n (!apiConfig.pageCodes ||\n this.utilService.isValueInArray(\n apiConfig.pageCodes,\n requestDetails.pageCode || ''\n ))\n );\n }\n}\n","const BASE_URL = 'https://cdn.v-comply.com';\n\nexport const ASSETS = {\n VCOMPLY_LOGO: `${BASE_URL}/logo/prod/v-logo.svg`,\n ERROR_IMAGE: `${BASE_URL}/application/images/Error-page-illustration.svg`,\n COMPONENT_ERROR_IMAGE: `${BASE_URL}/application/images/sad-emoji-icon.svg`,\n};\n","import { ASSETS } from './assets.constants';\n\nexport const VCOMPLY_LOGO_URL = ASSETS.VCOMPLY_LOGO;\nexport const API_TIMEOUT_TIME = 1000 * 15;\nexport const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';\nexport const ERROR_FEATURE_FLAG = 'ff_error_handling';\n\nexport const ERROR_CONFIG = {\n PAGE_NOT_FOUND: {\n imageUrl: ASSETS.ERROR_IMAGE,\n title: 'Oops!',\n description: \"The page you're looking for doesn't exist.\",\n details: 'Please check the URL or return to the homepage.',\n buttonText: 'GO TO DASHBOARD',\n },\n\n UNAUTHORIZED: {\n imageUrl: ASSETS.ERROR_IMAGE,\n title: 'Oops!',\n description: \"You don't have permission to access this page.\",\n details: 'If you believe this is an error, please contact',\n email: 'help@v-comply.com',\n support: 'for support',\n buttonText: 'Go To Dashboard',\n mail: 'mailto:help@v-comply.com',\n },\n\n SESSION_EXPIRED: {\n heading: 'Session Expired!',\n description:\n 'Your session has expired. Please log in again to continue using the app.',\n buttonText: 'LOGIN',\n },\n\n CHUNK_UNAVAILABLE: {\n heading: 'Oops!',\n description:\n 'Something went wrong. Please refresh the page or try again later.',\n buttonText: 'REFRESH',\n },\n\n SERVER_ERROR: {\n imageUrl: ASSETS.ERROR_IMAGE,\n title: 'Oops!',\n description: 'We are unable to load the data.',\n details: 'Please refresh this page or try again later.',\n buttonText: 'REFRESH',\n snackBarMessage: `Oops! Something went wrong. Please try again later.`,\n },\n\n COMPONENT_LEVEL_SERVER_ERROR: {\n imageUrl: ASSETS.COMPONENT_ERROR_IMAGE,\n title: 'Oops!',\n description: 'We are unable to load the data.',\n details: 'Please refresh this section or try again later.',\n buttonText: 'RETRY',\n },\n\n NETWORK_UNAVAILABLE: {\n offlineMessage:\n \"You're currently offline. Please check your internet connection and try again.\",\n },\n};\n\nexport const REDIRECTION_URL = {\n COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',\n RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',\n POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',\n ISSUE_DASHBOARD: '/global-dashboard/issue_dashboard?module=issue',\n CASEOPS_DASHBOARD: '/global-dashboard/case_dashboard?module=caseops',\n DEFAULT: '/global-dashboard',\n};\n\nexport const MODULE_NAMES = {\n RISK: 'risk',\n POLICY: 'policy',\n ISSUE: 'issue',\n CASEOPS: 'caseops',\n};\n\nexport const MODAL_ERROR_TYPES = {\n CHUNK_NOT_FOUND: 'chunk_not_found',\n SESSION_EXPIRED: 'session_expired',\n};\n\nexport const ALT_IMAGE_TEXT = {\n ERROR_IMAGE: 'Error Image',\n VCOMPLY_LOGO: 'VComply',\n};\n","import { Injectable } from '@angular/core';\n\nimport {\n MODULE_NAMES,\n REDIRECTION_URL,\n} from '../constants/error-handling.constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouterService {\n public baseUrl: string = '';\n\n constructor() {\n this.setBaseUrl();\n }\n\n private setBaseUrl() {\n this.baseUrl = window.location.origin;\n }\n\n public redirectToLogin() {\n window.location.href =\n `https://${window.location.host}/` +\n 'signin?redirectURL=' +\n encodeURIComponent(window.location.href);\n }\n\n public redirectToHome(module_name: string) {\n let targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\n\n switch (module_name) {\n case MODULE_NAMES.RISK:\n targetPath = REDIRECTION_URL.RISK_DASHBOARD;\n break;\n case MODULE_NAMES.POLICY:\n targetPath = REDIRECTION_URL.POLICY_DASHBOARD;\n break;\n case MODULE_NAMES.ISSUE:\n targetPath = REDIRECTION_URL.ISSUE_DASHBOARD;\n break;\n case MODULE_NAMES.CASEOPS:\n targetPath = REDIRECTION_URL.CASEOPS_DASHBOARD;\n break;\n default:\n targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\n break;\n }\n\n window.location.replace(targetPath);\n }\n}\n","export class Configurations {\n public sentryConfig: any;\n public envConfig: any;\n public isErrorInterceptorEnabled?: boolean; \n\n constructor() {\n this.sentryConfig = {};\n this.envConfig = {};\n this.isErrorInterceptorEnabled = false;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { retry } from 'rxjs/operators';\nimport { AuthorizerService } from '@vcomply/authorizer';\nimport { Subscription } from 'rxjs';\nimport { Configurations } from '../configuration';\n@Injectable({\n providedIn: 'root',\n})\nexport class FeatureFlagService {\n environment!: any;\n flagFetchError = false;\n featuresMap: any = {};\n AWSFlags: any = {};\n flagSubscription!: Subscription;\n\n constructor(\n private http: HttpClient,\n private authorizer: AuthorizerService,\n @Optional() config?: Configurations\n ) {\n this.environment = config?.envConfig;\n }\n\n fetchFlags() {\n return this.http.get(this.environment.baseUrl + 'features').pipe(retry(2));\n }\n\n loadConfig() {\n if (this.flagSubscription) {\n this.flagSubscription.unsubscribe();\n }\n return new Promise((resolve, reject) => {\n this.flagSubscription = this.fetchFlags().subscribe({\n next: (res: any) => {\n try {\n resolve(true);\n this.flagFetchError = false;\n this.AWSFlags = res;\n this.buildFeatureFlags(this.authorizer.getOrganizationId());\n } catch (error) {\n reject(error);\n }\n },\n error: (err: any) => {\n reject(true);\n this.flagFetchError = true;\n console.log('An error occurred while fetching feature flags', err);\n },\n });\n });\n }\n\n buildFeatureFlags(orgId: any) {\n orgId = orgId?.toString();\n const enabledFeatures: any = {};\n Object.keys(this.AWSFlags).forEach((flag: string) => {\n const flagObj = this.AWSFlags[flag];\n enabledFeatures[flag] = false;\n if (flagObj) {\n if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {\n enabledFeatures[flag] = true;\n } else if (\n flagObj?.enabled &&\n flagObj.hasOwnProperty('enabledOrgIds') &&\n flagObj?.enabledOrgIds?.length > 0\n ) {\n if (flagObj?.enabledOrgIds?.includes(orgId)) {\n enabledFeatures[flag] = true;\n } else {\n enabledFeatures[flag] = false;\n }\n } else {\n if (flagObj?.enabled) {\n enabledFeatures[flag] = true;\n } else {\n enabledFeatures[flag] = false;\n }\n }\n } else {\n enabledFeatures[flag] = true;\n }\n });\n this.featuresMap = enabledFeatures;\n }\n\n isFeatureEnabled(featureFlag: string) {\n if (this.featuresMap.hasOwnProperty(featureFlag)) {\n return this.featuresMap[featureFlag];\n } else {\n return true;\n }\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SnackBarService } from '../snack-bar.service';\n\n@Component({\n selector: 'app-snack-bar',\n templateUrl: './snack-bar.component.html',\n styleUrls: ['./snack-bar.component.less'],\n})\nexport class SnackBarComponent implements OnInit, OnDestroy {\n show = false;\n message = '--';\n icon = '';\n type = 'alert';\n icons: any = {\n success: '',\n warning: '',\n info: '',\n alert: '',\n error: '',\n };\n snackbarSubscription!: Subscription;\n constructor(private snackbarService: SnackBarService) {}\n\n ngOnInit(): void {\n this.snackbarSubscription = this.snackbarService.snackbarState.subscribe(\n (state) => {\n if (state.icon && Object.keys(this.icons).includes(state?.icon)) {\n this.icon = this.icons[state.icon];\n this.type = state?.icon;\n }\n this.message = state.message;\n this.show = state.show;\n }\n );\n }\n\n setAutoClose() {\n setTimeout(() => {\n this.show = false;\n this.close();\n }, 3000);\n }\n close() {\n this.show = false;\n this.snackbarService.hide();\n }\n ngOnDestroy() {\n this.snackbarSubscription.unsubscribe();\n }\n}\n","<div class=\"workflow-snackbar\" *ngIf=\"show\">\n <div class=\"workflow-snackbar-inner\">\n <div class=\"workflow-snackbarText\">\n <!--  -->\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\n </div>\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\n </div>\n </div>","import {\n Directive,\n Input,\n ElementRef,\n HostListener,\n Renderer2,\n OnInit, \n} from '@angular/core';\n\n@Directive({\n selector: '[arTooltip]',\n})\nexport class ToolTipDirective implements OnInit {\n @Input('arTooltip') tooltipTitle!: string;\n @Input() placement!: string;\n @Input() type: any;\n @Input() tooltipMandatory!: boolean;\n @Input() showTooltip = true;\n @Input() animate!: boolean;\n tooltip!: HTMLElement;\n offset = 8;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n ngOnInit() {}\n @HostListener('mouseenter') onMouseEnter() {\n this.hide();\n this.show();\n }\n @HostListener('mouseover') onMouseOver() {\n this.hide();\n this.show();\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.hide();\n }\n @HostListener('mouseout') onMouseOut() {\n this.hide();\n }\n @HostListener('click') onClick() {\n this.hide();\n }\n show() {\n if (!this.showTooltip) {\n return;\n }\n this.create();\n const element = this.el.nativeElement;\n if (this.tooltipMandatory === true) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'fl-tooltip-show');\n } else {\n if (\n element.scrollWidth * element.scrollHeight >\n element.offsetWidth * element.offsetHeight\n ) {\n this.setPosition();\n this.renderer.addClass(this.tooltip, 'fl-tooltip-show');\n }\n }\n }\n\n hide() {\n if (document.body.contains(this.tooltip)) {\n if (this.renderer) {\n this.renderer.removeChild(\n document.body,\n document.getElementById('tooltip')\n );\n }\n }\n }\n\n create() {\n this.tooltip = this.renderer.createElement('span');\n this.tooltip.setAttribute('id', 'tooltip');\n this.tooltip.innerHTML = this.tooltipTitle;\n this.renderer.appendChild(document.body, this.tooltip);\n this.renderer.addClass(this.tooltip, 'fl-tooltip');\n this.renderer.addClass(this.tooltip, `fl-tooltip-${this.placement}`);\n this.renderer.addClass(this.tooltip, `${this.type}`);\n if (this.animate) {\n this.renderer.addClass(this.tooltip, `animate-${this.placement}`);\n }\n }\n\n setPosition() {\n const hostPos = this.el.nativeElement.getBoundingClientRect();\n const tooltipPos = this.tooltip.getBoundingClientRect();\n const scrollPos =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n const w = window.innerWidth;\n const h = window.innerHeight;\n let top;\n let left;\n if (this.placement === 'top') {\n top = hostPos.top - tooltipPos.height - this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n\n if (this.placement === 'bottom') {\n if (hostPos.top + tooltipPos.height > h) {\n top = hostPos.top - tooltipPos.height;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom`);\n this.renderer.addClass(this.tooltip, `fl-tooltip-top`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\n }\n }\n\n if (this.placement === 'left') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.left - tooltipPos.width - this.offset;\n }\n\n if (this.placement === 'right') {\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\n left = hostPos.right + this.offset;\n }\n if (this.placement === 'bottom-right') {\n top = hostPos.bottom + this.offset;\n left = hostPos.left - (tooltipPos.width - 28);\n }\n if (this.placement === 'bottom-left') {\n if (hostPos.top + tooltipPos.height > h - 30) {\n top = hostPos.top - tooltipPos.height;\n left = hostPos.left;\n this.renderer.removeClass(this.tooltip, `fl-tooltip-bottom-left`);\n this.renderer.addClass(this.tooltip, `fl-tooltip-top-left`);\n } else {\n top = hostPos.bottom + this.offset;\n left = hostPos.left;\n }\n }\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n ERROR_CONFIG,\n VCOMPLY_LOGO_URL,\n ORGANISATION_NAME,\n ALT_IMAGE_TEXT,\n REDIRECTION_URL,\n} from '../../constants/error-handling.constants';\n\nimport { RouterService } from '../../services/router.service';\n\n@Component({\n selector: 'lib-vc-error-unauthorized',\n template: `\n <div class=\"errorPage\">\n <div class=\"errorPage-top\" (click)=\"redirectToDashboard()\">\n <a\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\n [arTooltip]=\"errorConfig.buttonText\"\n placement=\"right\"\n type=\"white\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n [animate]=\"true\"\n [href]=\"defaultURL\"\n >\n <img\n [ngSrc]=\"VcomplyLogo\"\n [alt]=\"altImageText.VCOMPLY_LOGO\"\n width=\"24\"\n height=\"24\"\n />\n </a>\n </div>\n <div class=\"errorPage-container\">\n <div class=\"errorPage-inner\">\n <div class=\"errorPage-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"246\"\n height=\"178\"\n />\n </div>\n <div class=\"errorPage-inner-right\">\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\n <div class=\"errorPage-details\">\n {{ errorConfig.details }}\n <a [href]=\"'mailto:' + errorConfig.email\">{{\n errorConfig.email\n }}</a>\n {{ errorConfig.support }}.\n </div>\n <button class=\"errorPage-btn\" (click)=\"redirectToDashboard()\">\n {{ errorConfig.buttonText }} <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n <div class=\"errorPage-copyright\">\n © {{ currentYear }}, {{ organisationName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../common-error-page.component.less'],\n})\nexport class UnauthorizedComponent {\n constructor(\n private route: ActivatedRoute,\n private routerService: RouterService\n ) {}\n\n currentYear = new Date().getFullYear();\n errorConfig = ERROR_CONFIG.UNAUTHORIZED;\n VcomplyLogo = VCOMPLY_LOGO_URL;\n altImageText = ALT_IMAGE_TEXT;\n organisationName = ORGANISATION_NAME;\n defaultURL = this.routerService.baseUrl + REDIRECTION_URL.DEFAULT;\n\n public redirectToDashboard() {\n const module_name = this.route.snapshot.data['page_path'];\n this.routerService.redirectToHome(module_name);\n }\n}\n","export class DialogConfig<D = any> {\n data?: D;\n position?: any;\n background?: any;\n pointer?: any;\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { DialogConfig } from '../../../ui-kit/dialog/dialog-config';\n\nimport { AuthorizerService } from '@vcomply/authorizer';\nimport { RouterService } from '../../services/router.service';\n\nimport { DialogData, ModalErrorType } from '../../types/global-error.types';\nimport { MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-modal',\n template: ` <div class=\"error-dialog-box\">\n <div class=\"error-dialog-box-top\">{{ data.heading }}</div>\n <div class=\"error-dialog-box-mid\">\n {{ data.description }}\n </div>\n <div class=\"error-dialog-box-bottom\">\n <button (click)=\"onContinueAction()\" class=\"logIn-btn\">\n {{ data.buttonText }}\n </button>\n </div>\n </div>`,\n styleUrls: ['./error-modal.component.less'],\n})\nexport class ErrorModalComponent {\n errorTypes = MODAL_ERROR_TYPES;\n\n @Input() errorType: ModalErrorType | undefined;\n\n data: DialogData = {\n heading: 'Message',\n description: 'Description',\n buttonText: 'Click Action',\n };\n\n constructor(\n private authService: AuthorizerService,\n private dialogConfig: DialogConfig,\n private routerService: RouterService\n ) {\n this.setDataConfig();\n }\n\n private setDataConfig() {\n this.data = this.dialogConfig.data?.errorConfig;\n this.errorType = this.dialogConfig.data?.errorType;\n }\n\n public onContinueAction() {\n switch (this.errorType) {\n case this.errorTypes.SESSION_EXPIRED:\n this.authService.logout();\n this.routerService.redirectToLogin();\n break;\n\n case this.errorTypes.CHUNK_NOT_FOUND:\n window.location.reload();\n break;\n }\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appInsertion]',\n})\nexport class InsertionDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Observable, Subject } from 'rxjs';\n\nexport class DialogRef {\n private readonly afterDialogClosed = new Subject<any>();\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\n constructor() {}\n\n close(result?: any) {\n // debugger\n this.afterDialogClosed.next(result);\n document.body.style.overflow = 'auto';\n }\n}\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\nimport { InsertionDirective } from './insertion.directive';\nimport { Subject } from 'rxjs';\nimport { DialogRef } from './dialog-ref';\nimport { DialogConfig } from './dialog-config';\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\n\n@Component({\n selector: 'app-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n})\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\n componentRef!: ComponentRef<any>;\n position: any;\n background: any;\n pointer: any;\n @ViewChild(InsertionDirective, { static: true })\n insertionPoint!: InsertionDirective;\n animation = true;\n\n private readonly onDialogClose = new Subject<any>();\n public onClose = this.onDialogClose.asObservable();\n\n childComponentType!: Type<any>;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private cd: ChangeDetectorRef,\n private dialogRef: DialogRef,\n public config: DialogConfig,\n private router: Router\n ) {\n // this.componentRef = this.componentRef;\n // this.animate = this.animate;\n // this.insertionPoint = this.insertionPoint;\n // this.childComponentType = this.childComponentType;\n }\n ngOnInit() {\n this.position = this.config.position;\n this.background = this.config.background;\n document.body.style.overflow = 'hidden';\n setTimeout(() => {\n this.animation = false;\n }, 200);\n this.routeAction();\n }\n\n routeAction() {\n this.router.events.subscribe((event: any) => {\n if (event instanceof NavigationStart) {\n // Show loading indicator\n }\n if (event instanceof NavigationEnd) {\n // Hide loading indicator\n this.dialogRef.close();\n }\n if (event instanceof NavigationError) {\n // Hide loading indicator\n // Present error to user\n }\n });\n }\n ngAfterViewInit() {\n this.loadChildComponent(this.childComponentType);\n this.cd.detectChanges();\n }\n\n onOverlayClicked(evt: MouseEvent) {\n // this.dialogRef.close();\n }\n\n onDialogClicked(evt: MouseEvent) {\n evt.stopPropagation();\n }\n\n loadChildComponent(componentType: Type<any>) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n const viewContainerRef = this.insertionPoint.viewContainerRef;\n viewContainerRef.clear();\n\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n close(data?: any) {\n this.onDialogClose.next(data);\n document.body.style.overflow = 'auto';\n }\n}\n","<div\n class=\"overlay\"\n (click)=\"onOverlayClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER',\n black: background === 'black',\n whiteBlur: background === 'whiteBlur'\n }\" [class.pointer-none]=\"pointer === 'none'\"\n>\n <div\n class=\"dialog\"\n [class.animate]=\"animation\"\n (click)=\"onDialogClicked($event)\"\n [ngClass]=\"{\n top: position === 'TOP',\n right: position === 'RIGHT',\n bottom: position === 'BOTTOM',\n left: position === 'LEFT',\n center: position === 'CENTER'\n }\"\n >\n <ng-template appInsertion></ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DialogComponent } from './dialog.component';\nimport { InsertionDirective } from './insertion.directive';\nimport { DialogRef } from './dialog-ref';\n@NgModule({\n imports: [CommonModule],\n declarations: [DialogComponent, InsertionDirective],\n providers: [DialogRef],\n exports:[DialogComponent]\n})\nexport class DialogModule {}\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nexport class DialogInjector implements Injector {\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n // get(token: any, notFoundValue?: any){return; }\n get(token: any, notFoundValue?: any) {\n const value = this.dialogAdditionalTokens.get(token);\n if (value) {\n return value;\n }\n return this.parentDialogInjector.get<any>(token, notFoundValue);\n }\n}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DialogModule } from './dialog.module';\nimport { DialogComponent } from './dialog.component';\nimport { DialogInjector } from './dialog-injector';\nimport { DialogConfig } from './dialog-config';\nimport { DialogRef } from './dialog-ref';\n\n@Injectable({\n providedIn: DialogModule,\n})\nexport class DialogService {\n dialogComponentRef!: ComponentRef<DialogComponent>;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public open(componentType: Type<any>, config: DialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRef.instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DialogConfig) {\n const map = new WeakMap();\n map.set(DialogConfig, config);\n\n const dialogRef = new DialogRef();\n map.set(DialogRef, dialogRef);\n\n const sub = dialogRef.afterClosed.subscribe(() => {\n this.removeDialogComponentFromBody();\n sub.unsubscribe();\n });\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRef = componentRef;\n\n this.dialogComponentRef.instance.onClose.subscribe(() => {\n this.removeDialogComponentFromBody();\n });\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody() {\n this.appRef.detachView(this.dialogComponentRef.hostView);\n this.dialogComponentRef.destroy();\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\n\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\n\nimport { ERROR_CONFIG, MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-session-expired',\n template: ``,\n})\nexport class SessionExpiredComponent implements OnInit {\n errorConfig = ERROR_CONFIG.SESSION_EXPIRED;\n errorTypes = MODAL_ERROR_TYPES;\n\n constructor(\n private dialogService: DialogService\n ) {}\n\n ngOnInit() {\n this.openSessionExpiredModal();\n }\n\n private openSessionExpiredModal() {\n this.dialogService.open(ErrorModalComponent, {\n data: {\n errorType: this.errorTypes.SESSION_EXPIRED,\n errorConfig: this.errorConfig,\n },\n position: 'center',\n background: 'whiteBlur',\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\n\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\n\nimport {\n ERROR_CONFIG,\n MODAL_ERROR_TYPES,\n} from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-chunk-unavailable',\n template: ``,\n})\nexport class ChunkUnavailableComponent implements OnInit {\n errorConfig = ERROR_CONFIG.CHUNK_UNAVAILABLE;\n errorType = MODAL_ERROR_TYPES;\n\n constructor(private dialogService: DialogService) {}\n\n ngOnInit() {\n this.openSessionExpiredModal();\n }\n\n private openSessionExpiredModal() {\n this.dialogService.open(ErrorModalComponent, {\n data: {\n errorType: this.errorType.CHUNK_NOT_FOUND,\n errorConfig: this.errorConfig,\n },\n position: 'center',\n background: 'whiteBlur',\n });\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n ERROR_CONFIG,\n VCOMPLY_LOGO_URL,\n ALT_IMAGE_TEXT,\n} from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-server-error',\n template: `\n <div class=\"errorPage\">\n <div class=\"errorPage-top\">\n <img\n [ngSrc]=\"VcomplyLogo\"\n [alt]=\"altImageText.VCOMPLY_LOGO\"\n width=\"24\"\n height=\"24\"\n />\n </div>\n <div class=\"errorPage-container\">\n <div class=\"errorPage-inner\">\n <div class=\"errorPage-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"246\"\n height=\"178\"\n />\n </div>\n <div class=\"errorPage-inner-right\">\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\n <button class=\"errorPage-btn\" (click)=\"refreshPage()\">\n {{ errorConfig.buttonText }} <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../common-error-page.component.less'],\n})\nexport class ServerErrorComponent {\n errorConfig = ERROR_CONFIG.SERVER_ERROR;\n VcomplyLogo = VCOMPLY_LOGO_URL;\n altImageText = ALT_IMAGE_TEXT;\n\n public refreshPage() {\n window.location.reload();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { GlobalErrorService } from './shared/services/global-error.service';\nimport { SnackBarService } from './ui-kit/snack-bar/snack-bar.service';\n\nimport { ErrorStatusCode } from './shared/types/global-error.types';\nimport { ERROR_CONFIG } from './shared/constants/error-handling.constants';\nimport { FeatureFlagService } from './featureFlag/feature-flag.service';\n\n@Component({\n selector: 'lib-vc-error-handlers',\n template: `\n <app-snack-bar></app-snack-bar>\n <lib-vc-error-session-expired\n *ngIf=\"sessionExpired\"\n ></lib-vc-error-session-expired>\n\n <lib-vc-error-unauthorized *ngIf=\"unauthorized\"></lib-vc-error-unauthorized>\n <lib-vc-error-chunk-unavailable\n *ngIf=\"chunkUnavailable\"\n ></lib-vc-error-chunk-unavailable>\n <lib-vc-error-server-error *ngIf=\"serverError\"></lib-vc-error-server-error>\n `,\n})\nexport class VcErrorHandlersComponent implements OnInit {\n private errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;\n\n unauthorized: boolean = false;\n sessionExpired: boolean = false;\n chunkUnavailable: boolean = false;\n serverError: boolean = false;\n isOnline: boolean = navigator.onLine;\n\n @Input() disableSnackBar: boolean = false;\n @Input() feature!: FeatureFlagService;\n\n constructor(\n private errorService: GlobalErrorService,\n private snackBarService: SnackBarService,\n private featureFlagService: FeatureFlagService\n ) {\n this.subscribeGlobalError();\n }\n\n ngOnInit() {\n this.subscribeNetworkDetection();\n this.featureFlagService.featuresMap = this.feature.featuresMap;\n }\n\n\n ngOnDestroy() {\n window.removeEventListener('online', this.onNetworkOnline);\n window.removeEventListener('offline', this.onNetworkOffline);\n }\n\n private subscribeGlobalError() {\n this.errorService.globalError$.subscribe((error: HttpErrorResponse) => {\n this.handleError(error);\n });\n }\n\n private handleError(error: HttpErrorResponse) {\n const errorHandlers: { [key: number]: () => void } = {\n [ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),\n [ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),\n [ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),\n [ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),\n };\n\n if (errorHandlers[error.status]) {\n errorHandlers[error.status]();\n } else if (this.errorService.isServerError(error)) {\n this.serverError = true;\n }\n }\n\n private subscribeNetworkDetection() {\n window.addEventListener('online', this.onNetworkOnline);\n window.addEventListener('offline', this.onNetworkOffline);\n }\n\n private onNetworkOnline = () => {\n this.isOnline = true;\n this.hideSnackBar();\n };\n\n private onNetworkOffline = () => {\n this.isOnline = false;\n if (!this.disableSnackBar) {\n this.showOfflineSnackBar();\n }\n };\n\n private handleNetworkError() {\n if (!this.isOnline && !this.disableSnackBar) {\n this.showOfflineSnackBar();\n }\n }\n\n private showOfflineSnackBar() {\n this.snackBarService.show(this.errorConfig.offlineMessage, 'error');\n }\n\n private hideSnackBar() {\n this.snackBarService.hide();\n }\n}\n","import { Component, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n ERROR_CONFIG,\n VCOMPLY_LOGO_URL,\n ORGANISATION_NAME,\n ALT_IMAGE_TEXT,\n REDIRECTION_URL,\n} from '../../constants/error-handling.constants';\n\nimport { RouterService } from '../../services/router.service';\n\n@Component({\n selector: 'lib-vc-error-page-not-found',\n template: `\n <div class=\"errorPage\">\n <div class=\"errorPage-top\" (click)=\"redirectToDashboard()\">\n <a\n class=\"product-logo vx-d-flex vx-align-center vx-justify-center vx-mr-3\"\n [arTooltip]=\"errorConfig.buttonText\"\n placement=\"right\"\n type=\"white\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n [animate]=\"true\"\n [href]=\"defaultURL\"\n >\n <img\n [ngSrc]=\"VcomplyLogo\"\n [alt]=\"altImageText.VCOMPLY_LOGO\"\n width=\"24\"\n height=\"24\"\n />\n </a>\n </div>\n <div class=\"errorPage-container\">\n <div class=\"errorPage-inner\">\n <div class=\"errorPage-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"246\"\n height=\"178\"\n />\n </div>\n <div class=\"errorPage-inner-right\">\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\n <button class=\"errorPage-btn\" (click)=\"redirectToDashboard()\">\n {{ errorConfig.buttonText }} <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n <div class=\"errorPage-copyright\">\n © {{ currentYear }}, {{ organisationName }}\n </div>\n </div>\n </div>\n `,\n styleUrls: ['../common-error-page.component.less'],\n})\nexport class PageNotFoundComponent {\n errorConfig = ERROR_CONFIG.PAGE_NOT_FOUND;\n VcomplyLogo = VCOMPLY_LOGO_URL;\n altImageText = ALT_IMAGE_TEXT;\n currentYear = new Date().getFullYear();\n organisationName = ORGANISATION_NAME;\n defaultURL = this.routerService.baseUrl + REDIRECTION_URL.DEFAULT;\n\n constructor(\n private route: ActivatedRoute,\n private routerService: RouterService\n ) {}\n\n public redirectToDashboard() {\n const module_name = this.route.snapshot.data['page_path'];\n this.routerService.redirectToHome(module_name);\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\n\nimport {\n ERROR_CONFIG,\n ALT_IMAGE_TEXT,\n} from '../../constants/error-handling.constants';\n\n@Component({\n selector: 'lib-vc-error-component-server-error',\n template: `\n <div class=\"serverError\">\n <div class=\"serverError-inner\">\n <div class=\"serverError-inner-image\">\n <img\n [ngSrc]=\"errorConfig.imageUrl\"\n [alt]=\"altImageText.ERROR_IMAGE\"\n width=\"106\"\n height=\"76\"\n />\n </div>\n <div class=\"serverError-inner-bottom\">\n <div class=\"serverError-heading\">{{ errorConfig.title }}</div>\n <div class=\"serverError-text\">{{ errorConfig.description }}</div>\n <div class=\"serverError-details\">{{ errorConfig.details }}</div>\n <button class=\"serverError-btn\" (click)=\"onClick.emit(true)\">\n {{ errorConfig.buttonText }}\n <i class=\"icons\"></i>\n </button>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./component-level-server-error.component.less'],\n})\nexport class ComponentLevelServerErrorComponent {\n errorConfig = ERROR_CONFIG.COMPONENT_LEVEL_SERVER_ERROR;\n altImageText = ALT_IMAGE_TEXT;\n\n @Output() onClick = new EventEmitter<boolean>();\n}\n","import {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef\n} from \"@angular/core\";\nimport { FeatureFlagService } from \"./feature-flag.service\";\n\n\n@Directive({\n selector: \"[featureFlag]\"\n})\nexport class FeatureFlagDirective implements OnInit {\n @Input() featureFlag!: string;\n constructor(\n private tpl: TemplateRef<any>,\n private vcr: ViewContainerRef,\n private featureFlagService: FeatureFlagService\n ) {}\n\n ngOnInit() {\n const isEnabled = this.featureFlagService.isFeatureEnabled(this.featureFlag);\n if (isEnabled) {\n this.vcr.createEmbeddedView(this.tpl);\n }\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FeatureFlagDirective } from './feature-flag.directive';\n\n@NgModule({\n declarations: [FeatureFlagDirective],\n imports: [\n CommonModule\n ],\n exports:[FeatureFlagDirective]\n})\nexport class FeatureFlagModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\n\n@NgModule({\n declarations: [SnackBarComponent],\n imports: [CommonModule],\n exports: [SnackBarComponent],\n})\nexport class SnackBarModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToolTipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [ToolTipDirective],\n imports: [CommonModule],\n exports: [ToolTipDirective],\n})\nexport class TooltipModule {}\n","import { ErrorHandler, Injectable, Optional } from '@angular/core';\nimport * as Sentry from '@sentry/angular-ivy';\nimport { Configurations } from '../../configuration';\n\nimport { AuthorizerService } from '@vcomply/authorizer';\nimport { GlobalErrorService } from '../services/global-error.service';\n\nimport { ErrorStatusCode } from '../types/global-error.types';\n\n@Injectable()\nexport class SentryErrorHandler implements ErrorHandler {\n constructor(\n private authorizerService: AuthorizerService,\n private errorService: GlobalErrorService,\n @Optional() config?: Configurations\n ) {\n if (config?.sentryConfig) {\n const SENTRY_CONFIG = config.sentryConfig;\n const envConfig = config.envConfig;\n \n // Get environment from envConfig passed from frontend\n const environment = envConfig?.environment || 'production';\n \n Sentry.init({\n dsn: SENTRY_CONFIG?.DSN,\n environment: environment,\n integrations: [\n new Sentry.BrowserTracing({\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\n routingInstrumentation: Sentry.routingInstrumentation,\n }),\n ],\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\n });\n Sentry.setUser({ userDetails: this.authorizerService.getUser() });\n }\n }\n\n handleError(error: any) {\n const ERROR = error?.originalError || error;\n this.handleChunkError(ERROR);\n Sentry.captureException(ERROR);\n }\n\n handleChunkError(error: Error) {\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\n if (chunkFailedMessage.test(error?.message)) {\n window.location.reload();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse,\n HttpResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap, timeout } from 'rxjs/operators';\n\nimport { GlobalErrorService } from '../services/global-error.service';\n\nimport { API_TIMEOUT_TIME } from '../constants/error-handling.constants';\n\n@Injectable()\nexport class HttpReqInterceptor implements HttpInterceptor {\n constructor(private errorService: GlobalErrorService) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (this.errorService.isExcludeErrorHandling(req)) {\n return next.handle(req);\n }\n return next.handle(req).pipe(\n timeout(API_TIMEOUT_TIME),\n tap((event: HttpEvent<any>) => {\n if (event instanceof HttpResponse) {\n this.errorService.handleSoftErrors(event);\n }\n }),\n catchError((error: HttpErrorResponse) => {\n this.errorService.handleError(error, req);\n return throwError(error);\n })\n );\n }\n}\n","import {\n ErrorHandler,\n InjectionToken,\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\n\nimport { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component';\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\n\nimport { DialogModule } from './ui-kit/dialog/dialog.module';\nimport { FeatureFlagModule } from './featureFlag/feature-flag.module';\nimport { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';\nimport { TooltipModule } from './ui-kit/tooltip/tooltip.module';\n\nimport { FeatureFlagService } from './featureFlag/feature-flag.service';\n\nimport { BrowserOptions } from '@sentry/browser';\nimport { GlobalErrorHandler } from './shared/errorhandler/chunk-error.handler';\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\nimport { Configurations } from './configuration';\nimport { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';\nimport { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';\nimport { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';\nimport { ServerErrorComponent } from './shared/components/server-error/server-error.component';\n\nimport { HttpReqInterceptor } from './shared/interceptors/http.interceptor';\nimport { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';\nimport { ComponentLevelServerErrorComponent } from './shared/components/component-level-server-error/component-level-server-error.component';\n\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\n 'forRoot() SentryErrorHandler options'\n);\n\n@NgModule({\n declarations: [\n VcErrorHandlersComponent,\n PageNotFoundComponent,\n UnauthorizedComponent,\n SessionExpiredComponent,\n ChunkUnavailableComponent,\n ServerErrorComponent,\n ErrorModalComponent,\n ComponentLevelServerErrorComponent,\n ],\n imports: [\n CommonModule,\n DialogModule,\n FeatureFlagModule,\n NgOptimizedImage,\n SnackBarModule,\n TooltipModule,\n ],\n exports: [\n VcErrorHandlersComponent,\n PageNotFoundComponent,\n UnauthorizedComponent,\n SessionExpiredComponent,\n ChunkUnavailableComponent,\n ServerErrorComponent,\n ErrorModalComponent,\n ComponentLevelServerErrorComponent,\n ],\n bootstrap: [VcErrorHandlersComponent],\n})\nexport class VcErrorHandlersModule {\n constructor(private loadConfig: FeatureFlagService) {\n // this.loadConfig.loadConfig();\n }\n\n public static forRoot(\n environmentConfig: Configurations\n ): ModuleWithProviders<VcErrorHandlersModule> {\n const providers: any[] = [\n { provide: Configurations, useValue: environmentConfig },\n { provide: ErrorHandler, useClass: SentryErrorHandler },\n ];\n\n if (environmentConfig.isErrorInterceptorEnabled) {\n providers.push({\n provide: HTTP_INTERCEPTORS,\n useClass: HttpReqInterceptor,\n multi: true,\n });\n }\n\n return {\n ngModule: VcErrorHandlersModule,\n providers: providers,\n };\n }\n}\n","/*\n * Public API Surface of vc-error-handlers\n */\n\nexport * from './lib/vc-error-handlers.service';\nexport * from './lib/shared/services/global-error.service';\nexport * from './lib/shared/services/router.service';\nexport * from './lib/vc-error-handlers.component';\nexport * from './lib/shared/components/page-not-found/page-not-found.component';\nexport * from './lib/shared/components/unauthorized/unauthorized.component';\nexport * from './lib/shared/components/chunk-unavailable/chunk-unavailable.component';\nexport * from './lib/shared/components/server-error/server-error.component';\nexport * from './lib/shared/components/session-expired/session-expired.component';\nexport * from './lib/shared/components/error-modal/error-modal.component';\nexport * from './lib/shared/components/component-level-server-error/component-level-server-error.component';\nexport * from './lib/vc-error-handlers.module';\nexport * from './lib/shared/interceptors/http.interceptor';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SnackBarService","i2.UtilsService","i2","i3.Configurations","i1","i2.RouterService","i3","i4.ToolTipDirective","i2.DialogConfig","i3.RouterService","i1.DialogRef","i5.InsertionDirective","i1.DialogService","i1.GlobalErrorService","i2.SnackBarService","i3.FeatureFlagService","i5.SnackBarComponent","i6.UnauthorizedComponent","i7.SessionExpiredComponent","i8.ChunkUnavailableComponent","i9.ServerErrorComponent","i1.FeatureFlagService","i2.GlobalErrorService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vc-error-handlers",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": " 13.x || 14.x || 15.x || 16.x || 17.x || 18.x || 19.x || 20.x",
|
|
6
6
|
"@angular/core": "13.x || 14.x || 15.x || 16.x || 17.x || 18.x || 19.x || 20.x"
|