@arsedizioni/ars-utils 18.3.60 → 18.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/clipper.common/common/services/clipper.service.d.ts +9 -9
  2. package/esm2022/clipper.common/common/common.module.mjs +4 -4
  3. package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +3 -3
  4. package/esm2022/clipper.common/common/services/clipper.service.mjs +37 -31
  5. package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +3 -3
  6. package/esm2022/clipper.ui/ui/document/document.component.mjs +3 -3
  7. package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +3 -3
  8. package/esm2022/clipper.ui/ui/document-manager/document-manager.mjs +3 -3
  9. package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +3 -3
  10. package/esm2022/clipper.ui/ui/references/references.component.mjs +3 -3
  11. package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +3 -3
  12. package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +3 -3
  13. package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +3 -3
  14. package/esm2022/clipper.ui/ui/search-free-text-help/search-free-text-help.component.mjs +3 -3
  15. package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +3 -3
  16. package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +3 -3
  17. package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +3 -3
  18. package/esm2022/core/core.module.mjs +8 -8
  19. package/esm2022/core/dateFnsAdapter.mjs +3 -3
  20. package/esm2022/core/directives/autoFocusDirective.mjs +3 -3
  21. package/esm2022/core/directives/changeDateIntervalDirective.mjs +3 -3
  22. package/esm2022/core/directives/copyClipboardDirective.mjs +4 -4
  23. package/esm2022/core/directives/validators.mjs +33 -33
  24. package/esm2022/core/pipes/format.pipe.mjs +4 -4
  25. package/esm2022/core/pipes/replace.pipe.mjs +4 -4
  26. package/esm2022/core/pipes/safe-html.pipe.mjs +4 -4
  27. package/esm2022/core/pipes/safe-url.pipe.mjs +4 -4
  28. package/esm2022/core/pipes/search-callback.pipe.mjs +3 -3
  29. package/esm2022/core/pipes/search-filter.pipe.mjs +4 -4
  30. package/esm2022/core/services/broadcast.service.mjs +3 -3
  31. package/esm2022/core/services/environment.service.mjs +3 -3
  32. package/esm2022/core/services/screen.service.mjs +3 -3
  33. package/esm2022/core/services/theme.service.mjs +3 -3
  34. package/esm2022/evolution.common/common/common.module.mjs +4 -4
  35. package/esm2022/evolution.common/common/interceptors/auth.interceptor.mjs +3 -3
  36. package/esm2022/evolution.common/common/services/evolution.service.mjs +14 -11
  37. package/esm2022/help/components/help-viewer/help-viewer.component.mjs +6 -6
  38. package/esm2022/help/help.module.mjs +4 -4
  39. package/esm2022/help/services/help.service.mjs +3 -3
  40. package/esm2022/support.common/common/common.module.mjs +4 -4
  41. package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +3 -3
  42. package/esm2022/support.common/common/services/support.service.mjs +10 -8
  43. package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +3 -3
  44. package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +3 -3
  45. package/esm2022/tinymce/full-screen-editor/full-screen-editor.component.mjs +3 -3
  46. package/esm2022/tinymce/tinymce.module.mjs +4 -4
  47. package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +3 -3
  48. package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +3 -3
  49. package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +3 -3
  50. package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
  51. package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +3 -3
  52. package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +3 -3
  53. package/esm2022/ui/ui/dialogs/toast/toast.component.mjs +3 -3
  54. package/esm2022/ui/ui/paginatorIntl.mjs +3 -3
  55. package/esm2022/ui/ui/services/dialog.service.mjs +3 -3
  56. package/esm2022/ui/ui/services/ui.service.mjs +3 -3
  57. package/esm2022/ui/ui/ui.module.mjs +4 -4
  58. package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +3 -3
  59. package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +3 -3
  60. package/esm2022/ui.application/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +3 -3
  61. package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +3 -3
  62. package/esm2022/ui.application/ui/components/file-input/file-input.component.mjs +3 -3
  63. package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +3 -3
  64. package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +3 -3
  65. package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +3 -3
  66. package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +3 -3
  67. package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +3 -3
  68. package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +3 -3
  69. package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +3 -3
  70. package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +3 -3
  71. package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +6 -6
  72. package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +3 -3
  73. package/esm2022/ui.application/ui/directives/resize-table-column.directive.mjs +3 -3
  74. package/esm2022/ui.application/ui/services/applicationDialog.service.mjs +3 -3
  75. package/esm2022/ui.application/ui/ui.module.mjs +4 -4
  76. package/esm2022/ui.oauth/ui/components/login/login-oauth.component.mjs +3 -3
  77. package/esm2022/ui.oauth/ui/ui.module.mjs +4 -4
  78. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +43 -37
  79. package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
  80. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +39 -39
  81. package/fesm2022/arsedizioni-ars-utils-core.mjs +89 -89
  82. package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +20 -17
  83. package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
  84. package/fesm2022/arsedizioni-ars-utils-help.mjs +13 -13
  85. package/fesm2022/arsedizioni-ars-utils-support.common.mjs +16 -14
  86. package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
  87. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +6 -6
  88. package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +7 -7
  89. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +58 -58
  90. package/fesm2022/arsedizioni-ars-utils-ui.mjs +34 -34
  91. package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +7 -7
  92. package/package.json +7 -7
  93. package/ui.application/ui/components/chips-selector/chips-selector.component.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"arsedizioni-ars-utils-evolution.common.mjs","sources":["../../../projects/ars-utils/evolution.common/common/messages.ts","../../../projects/ars-utils/evolution.common/common/definitions.ts","../../../projects/ars-utils/evolution.common/common/services/evolution.service.ts","../../../projects/ars-utils/evolution.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/evolution.common/common/common.module.ts","../../../projects/ars-utils/evolution.common/public_api.ts","../../../projects/ars-utils/evolution.common/arsedizioni-ars-utils-evolution.common.ts"],"sourcesContent":["export const EvolutionMessages = {\r\n // Login\r\n LOGIN_CHANGED: '§evo-login-changed',\r\n LOGIN_COMPLETED: '§evo-login-completed',\r\n LOGOUT_COMPLETED: '§evo-logout-completed',\r\n LOGOUT: '§evo-logout'\r\n};\r\n","import { LoginResult, SendToModel } from '@arsedizioni/ars-utils/core';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\n\r\n\r\n\r\nexport interface EvolutionLoginResult extends LoginResult<EvolutionUserInfo> {\r\n}\r\n\r\nexport interface EvolutionLoginInfo {\r\n context: EvolutionUserInfo;\r\n userCredentials?: string | null;\r\n OAUTH?: LoginOAuthType | null;\r\n}\r\n\r\nexport interface EvolutionUserLink {\r\n id?: number | null;\r\n userId: number;\r\n userName?: string | null;\r\n key: string;\r\n}\r\n\r\nexport interface EvolutionUserModuleInfo {\r\n name: string;\r\n module: number;\r\n level: number;\r\n hidden: boolean;\r\n}\r\n\r\n\r\nexport interface EvolutionLicenceModuleInfo {\r\n module: ERPModule;\r\n name: string;\r\n availableUsers: number;\r\n usedUsers: number;\r\n availableOption1?: number | null;\r\n usedOption1?: number | null;\r\n availableOption2?: number | null;\r\n usedOption2?: number | null;\r\n availableOption3?: number | null;\r\n usedOption3?: number | null;\r\n}\r\n\r\nexport interface EvolutionUserInfo {\r\n licenceId: number;\r\n userId: number;\r\n companyName: string;\r\n firstName: string;\r\n fullName: string;\r\n flags?: number | null;\r\n email: string;\r\n sessionId?: string | null;\r\n isTemporary?: boolean | null;\r\n role: number;\r\n scope: number;\r\n roleName: string;\r\n roleLevel: number;\r\n allowedModules: EvolutionUserModuleInfo[];\r\n dashboard?: number | null;\r\n dashboard2?: string | null;\r\n code?: string | null;\r\n subjectId?: number | null;\r\n subjectName?: string | null;\r\n siteId?: number | null;\r\n siteName?: string | null;\r\n siteCostCenter?: string | null;\r\n departmentId?: number | null;\r\n departmentName?: string | null;\r\n expiryDate?: string | null;\r\n isExpired?: boolean | null;\r\n isAdministrator?: boolean | null;\r\n isPowerUser?: boolean | null;\r\n isObserver?: boolean | null;\r\n isUser?: boolean | null;\r\n isSupportUser?: boolean | null;\r\n isGod?: boolean | null;\r\n administrators: string;\r\n availableModules: EvolutionLicenceModuleInfo[];\r\n availableEmployees: number;\r\n usedEmployees: number;\r\n availableStorage: number;\r\n usedStorage: number;\r\n}\r\n\r\n\r\n\r\nexport enum EvolutionServiceFlags {\r\n None = 0,\r\n NotifySystemErrors = 1,\r\n DisplayConnectionStateMessages = 1 << 1\r\n\r\n}\r\n\r\nexport enum ERPModule {\r\n Formazione = 1,\r\n DPI = 1 << 1,\r\n SorveglianzaSanitaria = 1 << 2,\r\n RegistroEScadenzario = 1 << 3,\r\n AttrezzatureEImpianti = 1 << 4,\r\n Monitoraggio = 1 << 5,\r\n Bollettino = 1 << 6,\r\n Documenti = 1 << 7\r\n\r\n}\r\n\r\nexport interface EvolutionPlaceable {\r\n licenceId?: number | null;\r\n companyName?: string | null;\r\n subjectId?: number | null;\r\n subjectName?: string | null;\r\n siteId?: number | null;\r\n siteName?: string | null;\r\n departmentId?: number | null;\r\n departmentName?: string | null;\r\n placeId?: number | null;\r\n}\r\n\r\nexport enum ERPExportType\r\n{\r\n Basic = 1,\r\n Detailed = 8,\r\n Complete = 9,\r\n Labels = 10,\r\n EmployeesCoursesMatrix = 21,\r\n EmployeesCoursesHoursMatrix = 22,\r\n EmployeesPPEsMatrix = 23,\r\n EmployeesHealthChecksMatrix = 24,\r\n TasksCoursesMatrix = 31,\r\n Training = 101,\r\n TrainingExpired = 102,\r\n TrainingExpiring = 103,\r\n TrainingAbsents = 104,\r\n TrainingClosed = 105,\r\n TrainingCurrentYear = 108,\r\n TrainingNextYear = 109,\r\n TrainingAnnualPlannng = 110,\r\n EquipmentsActivitiesCompleted = 201,\r\n EquipmentsChecksMatrix = 202,\r\n RSNormsUsage = 301,\r\n RSNormsSitesMatrix = 302,\r\n RSNormsSummary = 303,\r\n MonitoringLaws = 401,\r\n MonitoringActivities = 402,\r\n MonitoringSummary = 403,\r\n PPEs = 501,\r\n ComplianceStatistics = 601,\r\n HealthChecks = 701,\r\n}\r\n\r\nexport enum ERPExportFormat\r\n{\r\n Csv = 1,\r\n Word = 2,\r\n Pdf = 3\r\n}\r\n\r\nexport enum ERPExportSource\r\n{\r\n All = 1,\r\n Query = 2,\r\n Selection = 3\r\n}\r\n\r\nexport enum ERPExportPart\r\n{\r\n IncludeRisks = 101,\r\n IncludeTasks = 102,\r\n IncludeTaskHistory = 103,\r\n IncludeTrainingRequired = 111,\r\n IncludeTrainingDone = 112,\r\n SelectedEmployeeCourses = 121,\r\n IncludeDisabledEmployees = 131,\r\n IncludeDismissedEmployees = 132,\r\n IncludeDocumentUpdates = 201,\r\n ExcludeNonApplicableOrAcknowledged = 202,\r\n ExcluteAbblicabilityTable = 203,\r\n IncludeActivities = 204,\r\n GroupLaws = 205,\r\n IncludeApplicableOrAcknowledgedOnly = 4301,\r\n IncludePPEs = 501,\r\n IncludeHealthChecks = 601\r\n}\r\n\r\nexport interface EvolutionExportModel<T> extends SendToModel {\r\n searchParams: T;\r\n selection?: number[] | null;\r\n type: ERPExportType;\r\n sort?: number | null;\r\n source: ERPExportSource;\r\n format: ERPExportFormat;\r\n parts?: ERPExportPart[] | null;\r\n automateReport?: boolean | null;\r\n automatedReportId?: number | null;\r\n automatedReportSheetName?: string;\r\n formatExtension?: string | null; \r\n}\r\n\r\n\r\nexport enum ERPComplianceLawsSelectionType {\r\n Analysis = 1,\r\n Activity = 2,\r\n}\r\n\r\nexport enum ERPComplianceProfileRole {\r\n None = 0,\r\n Analyst = 1,\r\n Planner = 1 << 1,\r\n Validator = 1 << 2,\r\n Executor = 1 << 3,\r\n Observer = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceProfileFlags {\r\n\r\n OverrideNotificationRegisterSettings = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceScope {\r\n None = 0,\r\n Environment = 1,\r\n Safety = 1 << 1,\r\n FoodSafety = 1 << 2,\r\n Energy = 1 << 3,\r\n Health = 1 << 4,\r\n Maintenance = 1 << 5,\r\n Quality = 1 << 6,\r\n Organization = 1 << 7,\r\n Logistics = 1 << 8,\r\n Facility = 1 << 9,\r\n Security = 1 << 10\r\n}\r\n\r\nexport enum ERPComplianceNotificationLimit {\r\n None = 0,\r\n PlannerOnly = 1,\r\n ExecutorOnly = 2,\r\n Both = 3,\r\n}\r\n\r\nexport enum ERPComplianceRegisterNotificationType {\r\n None = 0,\r\n NewAnalysis = 1,\r\n AnalysisCompleted = 1 << 1,\r\n AnalysisNoticePeriodStarted = 1 << 2,\r\n AnalysisPeriodExpired = 1 << 3,\r\n AnalysisLawChanged = 1 << 14,\r\n NewPlanning = 1 << 13,\r\n PlanningCompleted = 1 << 4,\r\n PlanningNoticePeriodStarted = 1 << 5,\r\n PlanningPeriodExpired = 1 << 6,\r\n NewValidation = 1 << 15,\r\n ValidationCompleted = 1 << 7,\r\n ValidationNoticePeriodStarted = 1 << 8,\r\n ValidationPeriodExpired = 1 << 9,\r\n NewDeadline = 1 << 16,\r\n DeadlineNoticePeriodStarted = 1 << 10,\r\n DeadlineExpired = 1 << 11,\r\n ActivityCompleted = 1 << 12,\r\n //NewNoncompliance = 1 << 17,\r\n //NonComplianceNoticePeriodStarted = 1 << 18,\r\n //NonCompliancePeriodExpired = 1 << 19,\r\n //NonComplianceCompleted = 1 << 20,\r\n LawChanged = 1 << 21,\r\n}\r\n\r\nexport enum ERPComplianceRegisterSiteImportOptions {\r\n CopyAttachments = 1,\r\n KeepOriginalDates = 1 << 1,\r\n DuplicateLaws = 1 << 2,\r\n DiscardNotApplicables = 1 << 3\r\n}\r\n\r\nexport const EvolutionComplianceProfileRoles = [\r\n { name: 'Analista', value: ERPComplianceProfileRole.Analyst },\r\n { name: 'Gestore', value: ERPComplianceProfileRole.Planner },\r\n //{ name: 'Validatore', value: ERPComplianceProfileRole.Validator },\r\n { name: 'Esecutore', value: ERPComplianceProfileRole.Executor },\r\n { name: 'Osservatore', value: ERPComplianceProfileRole.Observer },\r\n];\r\n\r\nexport const EvolutionComplianceProfileFlags = [\r\n { name: 'Deroghe e limitazioni', divider: true },\r\n {\r\n name:\r\n 'Questo profilo riceve regolarmente le notifiche indipendentemente dalla configurazione generale del registro',\r\n value: ERPComplianceProfileFlags.OverrideNotificationRegisterSettings,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceScopes = [\r\n { name: 'Ambiente', value: ERPComplianceScope.Environment },\r\n { name: 'Salute e sicurezza', value: ERPComplianceScope.Safety },\r\n {\r\n name: 'Sicurezza alimentare',\r\n value: ERPComplianceScope.FoodSafety,\r\n },\r\n { name: 'Energia', value: ERPComplianceScope.Energy },\r\n { name: 'Servizi generali', value: ERPComplianceScope.Facility },\r\n { name: 'Manutenzione', value: ERPComplianceScope.Maintenance },\r\n { name: 'Qualità', value: ERPComplianceScope.Quality },\r\n { name: 'Organizzazione', value: ERPComplianceScope.Organization },\r\n { name: 'Logistica', value: ERPComplianceScope.Logistics },\r\n { name: 'Security', value: ERPComplianceScope.Security },\r\n\r\n];\r\n\r\nexport const EvolutionComplianceNotificationLimits = [\r\n { name: 'Nessuna limitazione', value: ERPComplianceNotificationLimit.None },\r\n {\r\n name: 'Solo gestore che ha pianificato',\r\n value: ERPComplianceNotificationLimit.PlannerOnly,\r\n },\r\n {\r\n name: \"Solo all'incaricato designato\",\r\n value: ERPComplianceNotificationLimit.ExecutorOnly,\r\n },\r\n {\r\n name: 'Solo a gestore e incaricato designato',\r\n value: ERPComplianceNotificationLimit.Both,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceNotifications = [\r\n { name: 'Verifica applicabilità e analisi', divider: true },\r\n {\r\n name: 'Richiesta analisi',\r\n value: ERPComplianceRegisterNotificationType.NewAnalysis,\r\n },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisPeriodExpired,\r\n },\r\n {\r\n name: 'Analisi completata',\r\n value: ERPComplianceRegisterNotificationType.AnalysisCompleted,\r\n },\r\n {\r\n name: 'Avviso norma modificata dal legislatore',\r\n value: ERPComplianceRegisterNotificationType.AnalysisLawChanged,\r\n },\r\n { name: 'Pianificazioni', divider: true },\r\n {\r\n name: 'Richiesta gestione',\r\n value: ERPComplianceRegisterNotificationType.NewPlanning,\r\n },\r\n {\r\n name: 'Preavviso: sta per scadere il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningPeriodExpired,\r\n },\r\n {\r\n name: 'Gestione completata',\r\n value: ERPComplianceRegisterNotificationType.PlanningCompleted,\r\n },\r\n {\r\n name: 'Attività completata',\r\n value: ERPComplianceRegisterNotificationType.ActivityCompleted,\r\n },\r\n /*{ name: 'Gestione non conformità', divider: true },\r\n {\r\n name: 'Apertura non comformità',\r\n value: ERPComplianceRegisterNotificationType.NewNoncompliance,\r\n },\r\n {\r\n name:\r\n \"Preavviso: sta per scadere il termine fissato per l'azione correttiva\",\r\n value:\r\n ERPComplianceRegisterNotificationType.NonComplianceNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'azione correttiva\",\r\n value: ERPComplianceRegisterNotificationType.NonCompliancePeriodExpired,\r\n },\r\n {\r\n name: 'Chiusura non conformità',\r\n value: ERPComplianceRegisterNotificationType.NonComplianceCompleted,\r\n },*/\r\n /*{ name: 'Approvazioni', divider: true },\r\n { name: 'Richiesta approvazione', value: 1 << 14 },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationPeriodExpired,\r\n },\r\n {\r\n name: 'Approvazione concessa o negata',\r\n value: ERPComplianceRegisterNotificationType.ValidationCompleted,\r\n },*/\r\n { name: 'Scadenze', divider: true },\r\n {\r\n name: 'Preavviso: 1° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.NewValidation,\r\n },\r\n {\r\n name: 'Avviso: 2° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.DeadlineNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine',\r\n value: ERPComplianceRegisterNotificationType.DeadlineExpired,\r\n },\r\n { name: 'Norme collegate', divider: true },\r\n {\r\n name: 'Modifica o abrogazione',\r\n value: ERPComplianceRegisterNotificationType.LawChanged,\r\n },\r\n\r\n];\r\n\r\nexport enum ERPComplianceLawState {\r\n ApplicableOrAknowledged = 1,\r\n NotApplicable = 2,\r\n NotAnalyzed = 3,\r\n ExpiredAnalysis = 4,\r\n UpdatedLaws = 5,\r\n Analyzed = 6,\r\n Abrogated = 7,\r\n Applicable = 8,\r\n Aknowledged = 9\r\n}\r\n\r\nexport enum ERPComplianceLawOrigin {\r\n National = 1,\r\n EU = 2,\r\n Regional = 3,\r\n Local = 4,\r\n Technical = 5,\r\n Voulontary = 6,\r\n Internal = 7,\r\n Other = 8,\r\n}\r\n\r\nexport const EvolutionComplianceLawStates = [\r\n { name: 'Applicabile', value: ERPComplianceLawState.Applicable },\r\n { name: 'Da conoscere', value: ERPComplianceLawState.Aknowledged },\r\n {\r\n name: 'Applicabile / da conoscere',\r\n value: ERPComplianceLawState.ApplicableOrAknowledged,\r\n },\r\n { name: 'Non applicabile', value: ERPComplianceLawState.NotApplicable },\r\n { name: 'Abrogata', value: ERPComplianceLawState.Abrogated },\r\n { name: 'Analizzata', value: ERPComplianceLawState.Analyzed },\r\n { name: 'Da definire', value: ERPComplianceLawState.NotAnalyzed },\r\n { name: 'In ritardo', value: ERPComplianceLawState.ExpiredAnalysis },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceLawState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceLawOrigins = [\r\n { name: 'Nazionale', value: ERPComplianceLawOrigin.National },\r\n { name: 'Comunitaria', value: ERPComplianceLawOrigin.EU },\r\n { name: 'Regionale', value: ERPComplianceLawOrigin.Regional },\r\n { name: 'Locale', value: ERPComplianceLawOrigin.Local },\r\n { name: 'Tecnica', value: ERPComplianceLawOrigin.Technical },\r\n { name: 'Interna', value: ERPComplianceLawOrigin.Internal },\r\n { name: 'Volontaria', value: ERPComplianceLawOrigin.Voulontary },\r\n { name: 'Altro', value: ERPComplianceLawOrigin.Other },\r\n];\r\n\r\nexport const EvolutionComplianceLawChangeStates = [\r\n { name: 'Aperto', value: 1 },\r\n { name: 'Chiuso', value: 2 },\r\n];\r\n\r\nexport enum ERPComplianceActivityState {\r\n NotPlanned = 1 << 7,\r\n Closed = 1 << 2,\r\n Expired = 1 << 3,\r\n Planned = 1 << 8,\r\n Cancelled = 1 << 9,\r\n UpdatedLaws = 1 << 10,\r\n AlreadyManaged = 1 << 11\r\n}\r\n\r\nexport const EvolutionComplianceActivityStates = [\r\n {\r\n name: 'Da definire',\r\n value: ERPComplianceActivityState.NotPlanned,\r\n },\r\n {\r\n name: 'Pianificata',\r\n value: ERPComplianceActivityState.Planned,\r\n },\r\n {\r\n name: 'Chiusa',\r\n value: ERPComplianceActivityState.Closed,\r\n },\r\n {\r\n name: 'In ritardo',\r\n value: ERPComplianceActivityState.Expired,\r\n },\r\n {\r\n name: 'Annullata',\r\n value: ERPComplianceActivityState.Cancelled,\r\n },\r\n {\r\n name: 'Gestita separatamente',\r\n value: ERPComplianceActivityState.AlreadyManaged,\r\n },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceActivityState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceObligationTypes = [\r\n { name: 'Autorizzazione', value: 1 },\r\n { name: 'Verifiche periodiche manutentive', value: 2 },\r\n { name: 'Misure organizzative', value: 3 },\r\n { name: 'Controlli e misurazioni', value: 4 },\r\n { name: 'Entrata in vigore', value: 5 },\r\n { name: 'Documenti aziendali obbligatori', value: 6 },\r\n {\r\n name: 'Altri adempimenti formali (comunicazioni, dichiarazioni, ecc...)',\r\n value: 7,\r\n },\r\n { name: 'Altro', value: 99 },\r\n];\r\n\r\nexport const EvolutionComplianceObligationAuthorities = [\r\n { name: 'Agenzia ECHA', value: 1 },\r\n { name: 'Albo Nazionale dei Gestori Ambientali', value: 2 },\r\n { name: 'ARPA', value: 4 },\r\n { name: 'ASL', value: 5 },\r\n { name: 'Camera di Commercio', value: 8 },\r\n { name: 'Comando provinciale dei Vigili del Fuoco', value: 10 },\r\n { name: 'Comune', value: 13 },\r\n { name: 'Consorzi gestione rifiuti particolari', value: 14 },\r\n { name: 'Gestore del servizio', value: 21 },\r\n { name: 'Gestore della rete di trasmissione nazionale', value: 22 },\r\n { name: 'INAIL - IPSEMA - ISPESL', value: 23 },\r\n { name: 'ISPRA', value: 26 },\r\n { name: 'Ministero', value: 27 },\r\n { name: 'Genio civile', value: 30 },\r\n { name: 'Organo di vigilanza competente', value: 31 },\r\n { name: 'Provincia', value: 33 },\r\n { name: 'Regione', value: 35 },\r\n { name: 'Uffici tecnici di finanza', value: 36 },\r\n { name: 'Ispettorato del lavoro', value: 37 },\r\n { name: 'Comitato Regionale Tecnico VF', value: 38 },\r\n { name: 'Prefetto', value: 39 },\r\n { name: 'Organismo notificato', value: 40 },\r\n { name: 'Città Metropolitana', value: 41 },\r\n { name: 'Nessuna', value: 28 },\r\n { name: 'Altro', value: 3 }\r\n];\r\n\r\nexport enum ERPRecurrenceFrequencyType {\r\n Day = 1,\r\n Month = 2,\r\n Year = 3,\r\n}\r\nexport const EvolutionRecurrenceFrequencyTypes = [\r\n { name: 'Anni', value: ERPRecurrenceFrequencyType.Year },\r\n { name: 'Mesi', value: ERPRecurrenceFrequencyType.Month },\r\n { name: 'Giorni', value: ERPRecurrenceFrequencyType.Day },\r\n];\r\n\r\nexport enum ERPPlacePermission {\r\n None = 0,\r\n Denied = 1,\r\n Read = 2,\r\n Write = 3\r\n}\r\n\r\nexport enum ERPPlace {\r\n Subject = 1,\r\n Site = 2,\r\n Department = 3,\r\n Area = 4,\r\n Line = 5\r\n}\r\nexport interface EvolutionPermission {\r\n placeId: number;\r\n userId: number;\r\n allowRead: number;\r\n allowWrite: number;\r\n allowNone: number;\r\n}\r\n\r\nexport interface EvolutionPlacePermission extends EvolutionPermission {\r\n id: number;\r\n subjectId?: number | null;\r\n siteId?: number | null;\r\n departmentId?: number | null;\r\n mode: number;\r\n}\r\n\r\n\r\nexport interface EvolutionContextInfo {\r\n id: number;\r\n userId?: number | null;\r\n name: string;\r\n permission: EvolutionPermission;\r\n placePermission: ERPPlacePermission;\r\n costCenter: string;\r\n selected?: boolean | null;\r\n level?: number | null;\r\n levelTitle?: string | null;\r\n}\r\n\r\n\r\nexport class EvolutionComplianceContextInfo {\r\n licenceId?: number | null;\r\n licencedCompany?: string | null;\r\n registerTitle?: string | null;\r\n registerId?: number | null;\r\n siteName?: string | null;\r\n siteId?: number | null;\r\n userId?: number | null;\r\n items?: EvolutionContextInfo[] | null;\r\n}\r\n\r\n\r\nexport interface EvolutionChangeContextModel {\r\n userId?: number | null;\r\n licenceId?: number | null;\r\n subjectId?: number | null;\r\n siteId?: number | null;\r\n registerId?: number | null;\r\n role?: ERPComplianceProfileRole | null;\r\n permission?: ERPPlacePermission | null;\r\n option1Value?: number | null;\r\n option2Value?: number | null;\r\n option3Value?: number | null;\r\n allowObservers?: boolean | null;\r\n allowDisabled?: boolean | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLaw extends EvolutionPlaceable {\r\n id?: number | null;\r\n state?: number | null;\r\n complianceRegisterId?: number | null;\r\n lot?: number | null;\r\n topicId?: string | null;\r\n topicPath?: string | null;\r\n topicName?: string | null;\r\n summary?: string | null;\r\n scope?: number| null;\r\n source?: string | null;\r\n references?: EvolutionComplianceLawReference[] | null;\r\n originalLawId?: number | null;\r\n originRegion?: string | null;\r\n origin?: number | null;\r\n originAlternativeDescription?: string | null;\r\n description?: string | null;\r\n documentShortTitle?: string | null;\r\n documentTitle?: string | null;\r\n documentNumber?: string | null;\r\n documentDate?: Date | null;\r\n documentLastUpdate?: string | null;\r\n documentLastUpdateShortTitle?: string | null;\r\n documentUpdateNotes?: string | null;\r\n documentValidated?: boolean | null;\r\n documentId?: string | null;\r\n documentModel?: number | null;\r\n documentReferences?: string | null;\r\n documentNotes?: string | null;\r\n documentForceGlobalCheckForUpdates?: boolean | null;\r\n complianceCheckItem1?: boolean | null;\r\n complianceCheckItem2?: boolean | null;\r\n complianceCheckItem3?: boolean | null;\r\n complianceCheckItem4?: boolean | null;\r\n complianceCheckItem5?: boolean | null;\r\n complianceCheckItem6?: boolean | null;\r\n complianceCheckItem7?: boolean | null;\r\n complianceCheckItem8?: boolean | null;\r\n complianceCheckItem9?: boolean | null;\r\n complianceCheckItem10?: boolean | null;\r\n complianceCheckItem11?: boolean | null;\r\n complianceCheckItem12?: boolean | null;\r\n alternativeComplianceCheckItem?: boolean | null;\r\n alternativeComplianceDescription?: string | null;\r\n applicability?: number | null;\r\n analyzedBy?: string | null;\r\n analystOperatorId?: number | null;\r\n analysisExpiringDate?: Date | null;\r\n analysisDate?: Date | null;\r\n analysisNotes?: string | null;\r\n analysisNoticeDate?: string | null;\r\n group1?: string | null;\r\n group2?: string | null;\r\n count?: number | null;\r\n created?: Date | null;\r\n createdBy?: string | null;\r\n lastUpdated?: Date | null;\r\n lastUpdatedBy?: string | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLawDocumentInfo {\r\n documentId?: string | null;\r\n documentId2?: string | null;\r\n title2?: string | null;\r\n title1?: string | null;\r\n number?: string | null;\r\n date?: Date | null;\r\n origin?: number | null;\r\n originDescription?: string | null;\r\n originAlternativeDescription?: string | null;\r\n originRegion?: string | null;\r\n notes?: string | null;\r\n references?: EvolutionComplianceLawReference[] | null;\r\n forceGlobalCheckForUpdates?: boolean | null;\r\n validated?: boolean | null;\r\n description?: string | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLawsAddParams extends EvolutionComplianceLaw {\r\n context?: EvolutionComplianceContextInfo | null;\r\n documents?: EvolutionComplianceLawDocumentInfo[] | null;\r\n shouldNotifyAnalysisCompletionAgain?: boolean | null;\r\n scopes?: number[] | null;\r\n sites?: number[] | null;\r\n registers?: number[] | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLaswExportParams extends EvolutionExportModel<any> {}\r\n\r\nexport interface EvolutionComplianceLawReference {\r\n id?: number | null;\r\n complianceLawId?: number | null;\r\n text: string;\r\n description?: string | null;\r\n anchor: string;\r\n}\r\n\r\nexport interface EvolutionComplianceActivity extends EvolutionPlaceable {\r\n id: number;\r\n state: number;\r\n monitoringActivityId?: number | null;\r\n monitoringActivityTaskId?: number | null;\r\n complianceRegisterId?: number | null;\r\n childId?: number | null;\r\n parentId?: number | null;\r\n lot?: number | null; \r\n summary?: string| null;\r\n scope?: number| null;\r\n topicId?: string | null;\r\n topicPath?: string| null;\r\n topicName?: string| null;\r\n mandatory?: boolean | null;\r\n obligationType?: number | null;\r\n obligationAuthorityId?: number | null;\r\n obligationNotes?: string| null;\r\n obligationCheckPoint?: boolean | null;\r\n description?: string| null;\r\n deadlineRecurrent?: boolean | null;\r\n deadlineFrequency?: number | null;\r\n deadlineFrequencyType?: number | null;\r\n deadlineFrequencyEndOfMonth?: boolean | null;\r\n deadlineFirstNoticeDays?: number | null;\r\n deadlineLastNoticeDays?: number | null;\r\n deadlineFirstNoticeDate?: Date | null;\r\n deadlineLastNoticeDate?: Date | null;\r\n deadlineExpiringDate?: Date | null;\r\n planningNoticeDate?: Date | null;\r\n planningExpiringDate?: Date | null;\r\n planningDate?: Date | null;\r\n plannedBy?: string| null;\r\n plannerOperatorId?: number | null;\r\n planningApplicability?: number | null;\r\n planningNotificationAdditionalEmailHeader?: string| null;\r\n planningNotificationAdditionalEmails?: string| null;\r\n planningNotificationAdditionalEmailsForAlertsOnly?: string| null;\r\n planningNamedExecutorOperatorId?: number | null;\r\n planningNamedExecutorName?: string| null;\r\n planningNamedExecutorManagerOperatorId?: number | null;\r\n planningNamedExecutorManagerName?: string| null;\r\n planningScheduleNextFromExecutionDate?: boolean | null;\r\n planningNotes?: string| null;\r\n executorOperatorId?: number | null;\r\n executed?: boolean| null;\r\n executedBy?: string| null;\r\n executionDate?: Date| null;\r\n externalReference?: string| null;\r\n externalDescription?: string| null;\r\n group1?: string| null;\r\n group2?: string| null;\r\n notes?: string| null;\r\n created?: Date| null;\r\n createdBy?: string| null;\r\n lastUpdated?: Date | null;\r\n lastUpdatedBy?: string| null;\r\n\r\n}\r\n\r\nexport interface EvolutionComplianceActivitiesAddParams extends EvolutionComplianceActivity {\r\n context?: EvolutionComplianceContextInfo | null;\r\n \r\n complianceLawId?: number | null;\r\n monitoringLawId?: number | null;\r\n enableLawChangesTracking?: boolean | null; \r\n enableActivityLawsPopulation?: boolean | null; \r\n shouldNotifyPlanningCompletionAgain?: boolean | null; \r\n scopes?: number[] | null;\r\n sites?: number[] | null;\r\n registers?: number[] | null;\r\n document?: EvolutionComplianceLawDocumentInfo | null; \r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { inject, Injectable, OnDestroy, signal } from '@angular/core';\r\nimport { ApiResult, BroadcastMessageInfo, BroadcastService, FolderTree, INode, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { of, Subscription, throwError } from 'rxjs';\r\nimport { catchError, finalize, map } from 'rxjs/operators';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\nimport { EvolutionComplianceActivitiesAddParams, EvolutionComplianceActivity, EvolutionComplianceLaw, EvolutionComplianceLawsAddParams, EvolutionLoginInfo, EvolutionLoginResult, EvolutionServiceFlags, EvolutionUserInfo, EvolutionUserLink } from './../definitions';\r\nimport { EvolutionMessages } from '../messages';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EvolutionService implements OnDestroy {\r\n\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService = inject(BroadcastService);\r\n private broadcastServiceSubscription?: Subscription | null = null;\r\n private dialogService = inject(DialogService);\r\n\r\n private _serviceUri: string = null;\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n private _flags: EvolutionServiceFlags = EvolutionServiceFlags.None;\r\n get flags(): EvolutionServiceFlags {\r\n return this._flags;\r\n }\r\n private _loginInfo: EvolutionUserInfo | null = null;\r\n get loginInfo(): EvolutionUserInfo | null {\r\n if (!this._loginInfo) {\r\n const loginInfo = localStorage.getItem('clipper_login_evolution');\r\n if (loginInfo) {\r\n try {\r\n this._loginInfo = JSON.parse(loginInfo) as EvolutionUserInfo;\r\n } catch { }\r\n }\r\n }\r\n return this._loginInfo;\r\n }\r\n public readonly loggedIn = signal<boolean>(false);\r\n public readonly loggingIn = signal<boolean>(false);\r\n\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param flags: the service flags. Default is none.\r\n */\r\n initialize(\r\n serviceUri: string,\r\n flags: EvolutionServiceFlags = EvolutionServiceFlags.None) {\r\n // Create unique client id\r\n if (!localStorage.getItem('evolution_client_id')) {\r\n localStorage.setItem('evolution_client_id', SystemUtils.generateUUID());\r\n }\r\n\r\n // Initialize\r\n this._serviceUri = serviceUri;\r\n this._flags = flags;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message: BroadcastMessageInfo) => {\r\n if (message.id === EvolutionMessages.LOGIN_CHANGED) {\r\n setTimeout(() => {\r\n this.login(\r\n message.data.email,\r\n message.data.password,\r\n true,\r\n message.data.oauth,\r\n message.data.oauthAccessToken).subscribe((r: ApiResult<EvolutionLoginResult>) => {\r\n if (!r.success)\r\n this.dialogService.error(r.message, null, \"Errore di Evolution\");\r\n else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Connesso a Evolution', 1500, 'power');\r\n }\r\n }\r\n });\r\n }, 500);\r\n } else if (message.id === EvolutionMessages.LOGOUT) {\r\n if (this.loggedIn()) {\r\n this.logout().subscribe(r => {\r\n if (!r.success) {\r\n if (r.message) {\r\n this.dialogService.error(\"<p>\" + r.message + \"</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Evolution accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>\", null, \"Errore di Evolution\");\r\n }\r\n } else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n }\r\n });\r\n } else {\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (!this.loggedIn() && this.getToken()) {\r\n // Auto login\r\n this.loggedIn.set(true);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n /**\r\n* Set JWT token\r\n* @param value : the login result\r\n*/\r\n private setToken(value: EvolutionLoginResult) {\r\n sessionStorage.setItem('evolution_jwt', value.token);\r\n sessionStorage.setItem('evolution_jwt_refresh', value.refreshToken ?? '');\r\n }\r\n\r\n\r\n /**\r\n * Return current JWT token\r\n * @param refresh: true to get the refresh token. Default is false.\r\n */\r\n getToken(refresh: boolean = false): string {\r\n let token = sessionStorage.getItem(refresh ? 'evolution_jwt_refresh' : 'evolution_jwt');\r\n if (token && token[0] === '\"') {\r\n return token.substring(1, token.length - 1);\r\n }\r\n return token ?? '';\r\n }\r\n\r\n /**\r\n * Store login info\r\n */\r\n storeLogin() {\r\n localStorage.setItem('evolution_login', JSON.stringify(this._loginInfo));\r\n }\r\n\r\n /**\r\n * Perform auto login using current link data\r\n * @param email: the optional email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param remember: remember credentials \r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n * @param onSucces: function to execute on seccess\r\n */\r\n autoLogin(\r\n email: string | null | undefined = null,\r\n password: string | null | undefined = null,\r\n remember: boolean | null | undefined = false,\r\n oauth: LoginOAuthType | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null,\r\n onSucces: Function | null | undefined = null): boolean {\r\n if (!oauth && !oauthAccessToken && (!email || !password)) {\r\n // Try to use link if exists\r\n const linkInfo = localStorage.getItem('clipper_link_evolution');\r\n if (linkInfo) {\r\n const link = JSON.parse(SystemUtils.cipher(linkInfo, 'evolution', true));\r\n if (link) {\r\n email = link.user;\r\n password = link.password;\r\n remember = true\r\n }\r\n }\r\n }\r\n this.login(email, password, remember, oauth, oauthAccessToken)\r\n .subscribe(r => {\r\n if (!r.success) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n } else {\r\n this.dialogService.toast('Connesso ad Evolution', 1500, 'power');\r\n if (onSucces) {\r\n onSucces();\r\n }\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n /**\r\n * Perform auto logout\r\n * @param onSucces: function to execute on seccess\r\n */\r\n autoLogout(\r\n onSucces: Function | null | undefined = null) {\r\n if (!this.loggedIn()) return;\r\n this.logout()\r\n .pipe(map(r => { this.clear(); return r }))\r\n .subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_CHANGED);\r\n } else {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n },\r\n complete: () => {\r\n if (onSucces) {\r\n onSucces();\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Perform login \r\n * @param email: the optional email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param remember: remember credentials \r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n * @returns: the login result\r\n */\r\n login(email: string | null | undefined = null,\r\n password: string | null | undefined = null,\r\n remember: boolean | null | undefined = false,\r\n oauth: LoginOAuthType | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null) {\r\n this.loggingIn.set(true);\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login2',\r\n {\r\n user: oauth ? null : email,\r\n password: oauth ? null : password,\r\n clientId: localStorage.getItem(\"evolution_client_id\"),\r\n OAUTH: oauth\r\n },\r\n {\r\n headers:\r\n !oauth\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken ?? '')\r\n })\r\n .pipe(\r\n finalize(() => this.dialogService.clearBusy()),\r\n catchError(err => { this.handleLoginError(); return throwError(() => err) }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n this.loggingIn.set(false);\r\n if (r.success) {\r\n // Store access token\r\n this.setToken(r.value);\r\n const loginInfo: EvolutionLoginInfo = {\r\n context: r.value.context,\r\n OAUTH: oauth\r\n }\r\n if (!oauth) {\r\n loginInfo.userCredentials =\r\n SystemUtils.cipher(\r\n JSON.stringify({\r\n email: email,\r\n password: password,\r\n remember: remember,\r\n }), loginInfo.context.userId.toString());\r\n }\r\n this._loginInfo = loginInfo.context;\r\n this.storeLogin();\r\n this.loggedIn.set(true);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Perform logout\r\n */\r\n logout() {\r\n return this.httpClient.post<any>(this._serviceUri + '/logout', {}).pipe(\r\n finalize(() => this.dialogService.clearBusy()),\r\n map(r => {\r\n this.clear();\r\n return r\r\n }),\r\n catchError((_e) => {\r\n this.clear();\r\n return of([]);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Switch the current login to a new one with the same credentials except role possibly (context change)\r\n * @param id : new user id\r\n */\r\n loginSwitch(id: number) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login-switch/',\r\n {\r\n userId: id,\r\n clientId: localStorage.getItem(\"evolution_client_id\")\r\n }\r\n )\r\n .pipe(\r\n catchError((err) => {\r\n this.handleLoginError();\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n this.loggingIn.set(false);\r\n if (r.success) {\r\n // Store access token\r\n this.setToken(r.value);\r\n this._loginInfo = r.value.context;\r\n this.loggedIn.set(true);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Handle login error\r\n */\r\n private handleLoginError() {\r\n this.loggingIn.set(false);\r\n localStorage.removeItem('evolution_login');\r\n\r\n }\r\n\r\n\r\n /**\r\n * Reset login refresh timer and login state\r\n */\r\n reset() {\r\n // Clear login info\r\n this._loginInfo = null;\r\n // Logged out\r\n this.loggedIn.set(false);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGOUT_COMPLETED);\r\n }\r\n\r\n /**\r\n * Clear login data\r\n */\r\n clear() {\r\n // Clear local storage\r\n sessionStorage.removeItem('evolution_jwt');\r\n sessionStorage.removeItem('evolution_jwt_refresh');\r\n sessionStorage.removeItem('evolution_oauth');\r\n localStorage.removeItem('evolution_login');\r\n // Reset login\r\n this.reset();\r\n }\r\n\r\n /**\r\n * Perform token refresh\r\n */\r\n refresh() {\r\n return this.httpClient.get<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/refresh2/?token=' + this.getToken(true)\r\n ).pipe(map((r: ApiResult<EvolutionLoginResult>) => {\r\n // Update token\r\n this.setToken(r.value);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n toNodes(folders: INode[]): INode[] {\r\n return this._toNodes(folders, null);\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the children group or null to root\r\n */\r\n private _toNodes(folders: INode[], parent: INode | null): INode[] {\r\n let nodes: INode[] = [];\r\n folders.forEach((n) => {\r\n let node: INode = {\r\n id: n.id,\r\n name: n.name,\r\n count: n.count,\r\n parent: parent,\r\n children: null,\r\n bag: n,\r\n };\r\n node.children =\r\n n.children && n.children.length > 0\r\n ? this._toNodes(n.children, node)\r\n : [];\r\n nodes.push(node);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * Retrieve the taxonomy\r\n */\r\n getTaxonomy() {\r\n return this.httpClient.get<ApiResult<FolderTree>>(\r\n this._serviceUri + '/taxonomy'\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve groups\r\n * @param group: the group number\r\n * @param register: the optional register id. Default is null.\r\n */\r\n getGroups(group: number = 1, register: number | null = null) {\r\n return this.httpClient.get<ApiResult<string[]>>(\r\n this._serviceUri +\r\n (register\r\n ? '/compliance/groups/?group=' +\r\n group +\r\n '&register=' +\r\n register\r\n : '/compliance/groups/?group=' + group)\r\n );\r\n }\r\n\r\n ////\r\n // CONTEXT\r\n ////\r\n /**\r\n * Change context\r\n */\r\n changeContext(params: any) {\r\n return this.httpClient.post<ApiResult<any>>(\r\n this._serviceUri + '/compliance/context',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // REGISTERS\r\n ////\r\n\r\n\r\n /**\r\n * Retrieve a register\r\n * @param id the register id\r\n */\r\n getRegister(id: number) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri +\r\n '/compliance/registers/' + id\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Collect register profiles\r\n * @param params parameters\r\n */\r\n collectRegisterProfiles(params: any) {\r\n return this.httpClient.post<ApiResult<any>>(\r\n this._serviceUri +\r\n '/compliance/registers/profiles/collect',\r\n params\r\n );\r\n }\r\n\r\n\r\n ////\r\n // LAWS\r\n ////\r\n\r\n /**\r\n * Add one or more laws\r\n * @param params parameters\r\n */\r\n addLaws(params: EvolutionComplianceLawsAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceLaw[]>>(\r\n this._serviceUri + '/compliance/laws/add',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // ACTIVITIES\r\n ////\r\n\r\n\r\n\r\n /**\r\n * Add one or more activities\r\n * @param params parameters\r\n */\r\n addActivities(params: EvolutionComplianceActivitiesAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceActivity>>(\r\n this._serviceUri + '/compliance/activities/add',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Export laws\r\n * @param params parameters\r\n */\r\n exportLaws(params: any) {\r\n return this.httpClient.post(\r\n this._serviceUri + '/compliance/laws/export',\r\n params,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n ///\r\n // LINKS\r\n ///\r\n\r\n /**\r\n * Save a user link\r\n * @param item: the user link\r\n */\r\n saveLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/save',\r\n item\r\n );\r\n }\r\n\r\n /**\r\n * Delete a user link\r\n * @param item: the user link\r\n */\r\n deleteLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/delete',\r\n item\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { BroadcastService } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { Observable, catchError, finalize, switchMap, throwError } from 'rxjs';\r\nimport { EvolutionService } from '../services/evolution.service';\r\nimport { EvolutionMessages } from '../messages';\r\nimport { EvolutionServiceFlags } from '../definitions';\r\n\r\n\r\n@Injectable()\r\nexport class EvolutionAuthInterceptor implements HttpInterceptor {\r\n private evolutionService = inject(EvolutionService);\r\n private broadcastService = inject(BroadcastService);\r\n private dialogService = inject(DialogService);\r\n private lastErrorTime: number = -1;\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (request.url.startsWith(this.evolutionService.serviceUri ?? '')) {\r\n request = request.clone({ withCredentials: true });\r\n return next.handle(this.addTokenToRequest(request))\r\n .pipe(\r\n finalize(() => this.dialogService.clearBusy()),\r\n catchError(error => {\r\n if (error.url.startsWith(this.evolutionService.serviceUri)) {\r\n if (\r\n error instanceof HttpErrorResponse &&\r\n !request.url.includes(\"/login\") &&\r\n error.status === 401\r\n ) {\r\n return this.handle401Error(request, next);\r\n }\r\n const errorStatus = parseInt(error.status ?? \"0\");\r\n if ((errorStatus > 0 && errorStatus < 500) || (this.evolutionService.flags & EvolutionServiceFlags.NotifySystemErrors) > 0) {\r\n const errorTime = new Date().getTime();\r\n if (errorTime - this.lastErrorTime > 5000) {\r\n this.lastErrorTime = errorTime;\r\n const invalidSession = errorStatus === 403;\r\n this.dialogService.error(\r\n \"<p>\" + (error.error?.message ?? error.message ?? \"Impossibile eseguire l'operazione richiesta.\").replaceAll(\"\\r\\n\", \"</p><p>\") + \"</p>\",\r\n null,\r\n \"Errore in Evolution\",\r\n undefined,\r\n undefined,\r\n invalidSession ? 5000 : 15000).afterClosed().subscribe(() => {\r\n if (invalidSession) {\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGOUT);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return throwError(() => error);\r\n }));\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n /**\r\n * Handle 401 error\r\n * @param request : the request\r\n * @param next : the http handler\r\n */\r\n private handle401Error(request: HttpRequest<any>, next: HttpHandler) {\r\n if (this.evolutionService.loggedIn()) {\r\n return this.evolutionService.refresh().pipe(\r\n switchMap(() => {\r\n return next.handle(this.addTokenToRequest(request));\r\n }),\r\n catchError(error => {\r\n return throwError(() => error);\r\n })\r\n );\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n /**\r\n * Add token to request\r\n * @param request : the request\r\n * @param token: the token or null to use curre3nt\r\n */\r\n private addTokenToRequest(\r\n request: HttpRequest<any>,\r\n token: string | null = null\r\n ): HttpRequest<any> {\r\n if (request.url.startsWith(this.evolutionService.serviceUri ?? '')) {\r\n if (!token) token = this.evolutionService.getToken();\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n 'ngsw-bypass': 'ngsw-bypass'\r\n },\r\n });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class EvolutionCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './interceptors/auth.interceptor';\r\nexport * from './services/evolution.service';\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\n\r\nexport * from './common/common.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["finalize","catchError"],"mappings":";;;;;;;;AAAa,MAAA,iBAAiB,GAAG;;AAE/B,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,eAAe,EAAE,sBAAsB;AACvC,IAAA,gBAAgB,EAAE,uBAAuB;AACzC,IAAA,MAAM,EAAE,aAAa;;;ICgFX,sBAKX;AALD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,qBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;AACtB,IAAA,qBAAA,CAAA,qBAAA,CAAA,gCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gCAAuC,CAAA;AAEzC,CAAC,EALW,qBAAqB,KAArB,qBAAqB,GAKhC,EAAA,CAAA,CAAA,CAAA;IAEW,UAUX;AAVD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd,IAAA,SAAA,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAY,CAAA;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B,CAAA;AAC9B,IAAA,SAAA,CAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAA6B,CAAA;AAC7B,IAAA,SAAA,CAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,uBAA8B,CAAA;AAC9B,IAAA,SAAA,CAAA,SAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAmB,CAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAkB,CAAA;AAEpB,CAAC,EAVW,SAAS,KAAT,SAAS,GAUpB,EAAA,CAAA,CAAA,CAAA;IAcW,cA8BX;AA9BD,CAAA,UAAY,aAAa,EAAA;AAEvB,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACT,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW,CAAA;AACX,IAAA,aAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,wBAA2B,CAAA;AAC3B,IAAA,aAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAgC,CAAA;AAChC,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,qBAAwB,CAAA;AACxB,IAAA,aAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAgC,CAAA;AAChC,IAAA,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB,CAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc,CAAA;AACd,IAAA,aAAA,CAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB,CAAA;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB,CAAA;AACtB,IAAA,aAAA,CAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB,CAAA;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB,CAAA;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB,CAAA;AACzB,IAAA,aAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB,CAAA;AACtB,IAAA,aAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,uBAA2B,CAAA;AAC3B,IAAA,aAAA,CAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,+BAAmC,CAAA;AACnC,IAAA,aAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,wBAA4B,CAAA;AAC5B,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB,CAAA;AAClB,IAAA,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AACxB,IAAA,aAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB,CAAA;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB,CAAA;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B,CAAA;AAC1B,IAAA,aAAA,CAAA,aAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB,CAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU,CAAA;AACV,IAAA,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B,CAAA;AAC1B,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB,CAAA;AACpB,CAAC,EA9BW,aAAa,KAAb,aAAa,GA8BxB,EAAA,CAAA,CAAA,CAAA;IAEW,gBAKX;AALD,CAAA,UAAY,eAAe,EAAA;AAEzB,IAAA,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AACP,IAAA,eAAA,CAAA,eAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AACT,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;IAEW,gBAKX;AALD,CAAA,UAAY,eAAe,EAAA;AAEzB,IAAA,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AACP,IAAA,eAAA,CAAA,eAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACT,IAAA,eAAA,CAAA,eAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACf,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;IAEW,cAkBX;AAlBD,CAAA,UAAY,aAAa,EAAA;AAEvB,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB,CAAA;AAClB,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB,CAAA;AAClB,IAAA,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AACxB,IAAA,aAAA,CAAA,aAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAA6B,CAAA;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB,CAAA;AACzB,IAAA,aAAA,CAAA,aAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAA6B,CAAA;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,0BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,0BAA8B,CAAA;AAC9B,IAAA,aAAA,CAAA,aAAA,CAAA,2BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,2BAA+B,CAAA;AAC/B,IAAA,aAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,wBAA4B,CAAA;AAC5B,IAAA,aAAA,CAAA,aAAA,CAAA,oCAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oCAAwC,CAAA;AACxC,IAAA,aAAA,CAAA,aAAA,CAAA,2BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,2BAA+B,CAAA;AAC/B,IAAA,aAAA,CAAA,aAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB,CAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe,CAAA;AACf,IAAA,aAAA,CAAA,aAAA,CAAA,qCAAA,CAAA,GAAA,IAAA,CAAA,GAAA,qCAA0C,CAAA;AAC1C,IAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB,CAAA;AAC3B,CAAC,EAlBW,aAAa,KAAb,aAAa,GAkBxB,EAAA,CAAA,CAAA,CAAA;IAiBW,+BAGX;AAHD,CAAA,UAAY,8BAA8B,EAAA;AACxC,IAAA,8BAAA,CAAA,8BAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,8BAAA,CAAA,8BAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACd,CAAC,EAHW,8BAA8B,KAA9B,8BAA8B,GAGzC,EAAA,CAAA,CAAA,CAAA;IAEW,yBAOX;AAPD,CAAA,UAAY,wBAAwB,EAAA;AAClC,IAAA,wBAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,wBAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACX,IAAA,wBAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,IAAA,wBAAA,CAAA,wBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAkB,CAAA;AAClB,IAAA,wBAAA,CAAA,wBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAiB,CAAA;AACjB,IAAA,wBAAA,CAAA,wBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAiB,CAAA;AACnB,CAAC,EAPW,wBAAwB,KAAxB,wBAAwB,GAOnC,EAAA,CAAA,CAAA,CAAA;IAEW,0BAGX;AAHD,CAAA,UAAY,yBAAyB,EAAA;AAEnC,IAAA,yBAAA,CAAA,yBAAA,CAAA,sCAAA,CAAA,GAAA,EAAA,CAAA,GAAA,sCAA6C,CAAA;AAC/C,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,GAGpC,EAAA,CAAA,CAAA,CAAA;IAEW,mBAaX;AAbD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAmB,CAAA;AACnB,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAoB,CAAA;AACpB,IAAA,kBAAA,CAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,IAAA,kBAAA,CAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAqB,CAAA;AACrB,IAAA,kBAAA,CAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAkB,CAAA;AAClB,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAiB,CAAA;AACjB,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA,GAAA,UAAkB,CAAA;AACpB,CAAC,EAbW,kBAAkB,KAAlB,kBAAkB,GAa7B,EAAA,CAAA,CAAA,CAAA;IAEW,+BAKX;AALD,CAAA,UAAY,8BAA8B,EAAA;AACxC,IAAA,8BAAA,CAAA,8BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,8BAAA,CAAA,8BAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,IAAA,8BAAA,CAAA,8BAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;AAChB,IAAA,8BAAA,CAAA,8BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EALW,8BAA8B,KAA9B,8BAA8B,GAKzC,EAAA,CAAA,CAAA,CAAA;IAEW,sCAwBX;AAxBD,CAAA,UAAY,qCAAqC,EAAA;AAC/C,IAAA,qCAAA,CAAA,qCAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,qCAAA,CAAA,qCAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,IAAA,qCAAA,CAAA,qCAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAA0B,CAAA;AAC1B,IAAA,qCAAA,CAAA,qCAAA,CAAA,6BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,6BAAoC,CAAA;AACpC,IAAA,qCAAA,CAAA,qCAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B,CAAA;AAC9B,IAAA,qCAAA,CAAA,qCAAA,CAAA,oBAAA,CAAA,GAAA,KAAA,CAAA,GAAA,oBAA4B,CAAA;AAC5B,IAAA,qCAAA,CAAA,qCAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,GAAA,aAAqB,CAAA;AACrB,IAAA,qCAAA,CAAA,qCAAA,CAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,mBAA0B,CAAA;AAC1B,IAAA,qCAAA,CAAA,qCAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAoC,CAAA;AACpC,IAAA,qCAAA,CAAA,qCAAA,CAAA,uBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,uBAA8B,CAAA;AAC9B,IAAA,qCAAA,CAAA,qCAAA,CAAA,eAAA,CAAA,GAAA,KAAA,CAAA,GAAA,eAAuB,CAAA;AACvB,IAAA,qCAAA,CAAA,qCAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAA4B,CAAA;AAC5B,IAAA,qCAAA,CAAA,qCAAA,CAAA,+BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,+BAAsC,CAAA;AACtC,IAAA,qCAAA,CAAA,qCAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAAgC,CAAA;AAChC,IAAA,qCAAA,CAAA,qCAAA,CAAA,aAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAqB,CAAA;AACrB,IAAA,qCAAA,CAAA,qCAAA,CAAA,6BAAA,CAAA,GAAA,IAAA,CAAA,GAAA,6BAAqC,CAAA;AACrC,IAAA,qCAAA,CAAA,qCAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,iBAAyB,CAAA;AACzB,IAAA,qCAAA,CAAA,qCAAA,CAAA,mBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,mBAA2B,CAAA;;;;;AAK3B,IAAA,qCAAA,CAAA,qCAAA,CAAA,YAAA,CAAA,GAAA,OAAA,CAAA,GAAA,YAAoB,CAAA;AACtB,CAAC,EAxBW,qCAAqC,KAArC,qCAAqC,GAwBhD,EAAA,CAAA,CAAA,CAAA;IAEW,uCAKX;AALD,CAAA,UAAY,sCAAsC,EAAA;AAChD,IAAA,sCAAA,CAAA,sCAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAmB,CAAA;AACnB,IAAA,sCAAA,CAAA,sCAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAA0B,CAAA;AAC1B,IAAA,sCAAA,CAAA,sCAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAsB,CAAA;AACtB,IAAA,sCAAA,CAAA,sCAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B,CAAA;AAChC,CAAC,EALW,sCAAsC,KAAtC,sCAAsC,GAKjD,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,+BAA+B,GAAG;IAC7C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;IAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;;IAE5D,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC/D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE;EACjE;AAEW,MAAA,+BAA+B,GAAG;AAC7C,IAAA,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE;AAChD,IAAA;AACI,QAAA,IAAI,EACA,8GAA8G;QAClH,KAAK,EAAE,yBAAyB,CAAC,oCAAoC;AACxE,KAAA;EACD;AAEW,MAAA,yBAAyB,GAAG;IACvC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,WAAW,EAAE;IAC3D,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE;AAChE,IAAA;AACI,QAAA,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,kBAAkB,CAAC,UAAU;AACvC,KAAA;IACD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAChE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,CAAC,WAAW,EAAE;IAC/D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE;IACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE;IAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;EAExD;AAEW,MAAA,qCAAqC,GAAG;IACnD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,8BAA8B,CAAC,IAAI,EAAE;AAC3E,IAAA;AACI,QAAA,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,8BAA8B,CAAC,WAAW;AACpD,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,8BAA8B,CAAC,YAAY;AACrD,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,uCAAuC;QAC7C,KAAK,EAAE,8BAA8B,CAAC,IAAI;AAC7C,KAAA;EACD;AAEW,MAAA,gCAAgC,GAAG;AAC9C,IAAA,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3D,IAAA;AACI,QAAA,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,qCAAqC,CAAC,WAAW;AAC3D,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,6DAA6D;QACnE,KAAK,EAAE,qCAAqC,CAAC,2BAA2B;AAC3E,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,qDAAqD;QAC3D,KAAK,EAAE,qCAAqC,CAAC,qBAAqB;AACrE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,qCAAqC,CAAC,iBAAiB;AACjE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,yCAAyC;QAC/C,KAAK,EAAE,qCAAqC,CAAC,kBAAkB;AAClE,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;AACzC,IAAA;AACI,QAAA,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,qCAAqC,CAAC,WAAW;AAC3D,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,+DAA+D;QACrE,KAAK,EAAE,qCAAqC,CAAC,2BAA2B;AAC3E,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,uDAAuD;QAC7D,KAAK,EAAE,qCAAqC,CAAC,qBAAqB;AACrE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qCAAqC,CAAC,iBAAiB;AACjE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qCAAqC,CAAC,iBAAiB;AACjE,KAAA;AACD;;;;;;;;;;;;;;;;;;AAkBI;AACJ;;;;;;;;;;;;;AAaI;AACJ,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;AACnC,IAAA;AACI,QAAA,IAAI,EAAE,iDAAiD;QACvD,KAAK,EAAE,qCAAqC,CAAC,aAAa;AAC7D,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,8CAA8C;QACpD,KAAK,EAAE,qCAAqC,CAAC,2BAA2B;AAC3E,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,qCAAqC,CAAC,eAAe;AAC/D,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1C,IAAA;AACI,QAAA,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,qCAAqC,CAAC,UAAU;AAC1D,KAAA;EAED;IAEU,sBAUX;AAVD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,qBAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;AAC3B,IAAA,qBAAA,CAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;AACjB,IAAA,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,IAAA,qBAAA,CAAA,qBAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAmB,CAAA;AACnB,IAAA,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACf,IAAA,qBAAA,CAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,qBAAA,CAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACb,IAAA,qBAAA,CAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd,IAAA,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACjB,CAAC,EAVW,qBAAqB,KAArB,qBAAqB,GAUhC,EAAA,CAAA,CAAA,CAAA;IAEW,uBASX;AATD,CAAA,UAAY,sBAAsB,EAAA;AAChC,IAAA,sBAAA,CAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,sBAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAM,CAAA;AACN,IAAA,sBAAA,CAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,sBAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACT,IAAA,sBAAA,CAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACb,IAAA,sBAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd,IAAA,sBAAA,CAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AACZ,IAAA,sBAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACX,CAAC,EATW,sBAAsB,KAAtB,sBAAsB,GASjC,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,4BAA4B,GAAG;IAC1C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,CAAC,UAAU,EAAE;IAChE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,CAAC,WAAW,EAAE;AAClE,IAAA;AACI,QAAA,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,qBAAqB,CAAC,uBAAuB;AACvD,KAAA;IACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,CAAC,aAAa,EAAE;IACvE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,SAAS,EAAE;IAC5D,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC7D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,CAAC,WAAW,EAAE;IACjE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,eAAe,EAAE;AACpE,IAAA;AACI,QAAA,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,qBAAqB,CAAC,WAAW;AAC3C,KAAA;EACD;AAEW,MAAA,6BAA6B,GAAG;IAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC7D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE;IACzD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE;IACvD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,CAAC,SAAS,EAAE;IAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC3D,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,CAAC,UAAU,EAAE;IAChE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE;EACtD;AAEW,MAAA,kCAAkC,GAAG;AAChD,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;EAC5B;IAEU,2BAQX;AARD,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,0BAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAmB,CAAA;AACnB,IAAA,0BAAA,CAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,0BAAA,CAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,IAAA,0BAAA,CAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,IAAA,0BAAA,CAAA,0BAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAkB,CAAA;AAClB,IAAA,0BAAA,CAAA,0BAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,GAAA,aAAqB,CAAA;AACrB,IAAA,0BAAA,CAAA,0BAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAwB,CAAA;AAC1B,CAAC,EARW,0BAA0B,KAA1B,0BAA0B,GAQrC,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,iCAAiC,GAAG;AAC/C,IAAA;AACI,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,0BAA0B,CAAC,UAAU;AAC/C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,0BAA0B,CAAC,OAAO;AAC5C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,0BAA0B,CAAC,MAAM;AAC3C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,0BAA0B,CAAC,OAAO;AAC5C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,0BAA0B,CAAC,SAAS;AAC9C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,0BAA0B,CAAC,cAAc;AACnD,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,0BAA0B,CAAC,WAAW;AAChD,KAAA;EACD;AAEW,MAAA,kCAAkC,GAAG;AAChD,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,EAAE;AACtD,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE;AACvC,IAAA,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,CAAC,EAAE;AACrD,IAAA;AACI,QAAA,IAAI,EAAE,kEAAkE;AACxE,QAAA,KAAK,EAAE,CAAC;AACX,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;EAC5B;AAEW,MAAA,wCAAwC,GAAG;AACtD,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3D,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1B,IAAA,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AACzB,IAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE;AACzC,IAAA,EAAE,IAAI,EAAE,0CAA0C,EAAE,KAAK,EAAE,EAAE,EAAE;AAC/D,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE;AAC5D,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC3C,IAAA,EAAE,IAAI,EAAE,8CAA8C,EAAE,KAAK,EAAE,EAAE,EAAE;AACnE,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9C,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,EAAE,EAAE;AACrD,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,EAAE,EAAE;AAChD,IAAA,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,EAAE;AACpD,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC3C,IAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;EAC3B;IAEU,2BAIX;AAJD,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,0BAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AACP,IAAA,0BAAA,CAAA,0BAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACT,IAAA,0BAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,GAIrC,EAAA,CAAA,CAAA,CAAA;AACY,MAAA,iCAAiC,GAAG;IAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE;IACxD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE;IACzD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,CAAC,GAAG,EAAE;EACzD;IAEU,mBAKX;AALD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;AACV,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACX,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,GAK7B,EAAA,CAAA,CAAA,CAAA;IAEW,SAMX;AAND,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,QAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACX,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,QAAA,CAAA,QAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AACd,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACR,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EANW,QAAQ,KAAR,QAAQ,GAMnB,EAAA,CAAA,CAAA,CAAA;MA+BY,8BAA8B,CAAA;AAS1C;;MChmBY,gBAAgB,CAAA;AAH7B,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAA4B,CAAA,4BAAA,GAAyB,IAAI,CAAC;AAC1D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAEtC,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;AAI3B,QAAA,IAAA,CAAA,MAAM,GAA0B,qBAAqB,CAAC,IAAI,CAAC;QAI3D,IAAU,CAAA,UAAA,GAA6B,IAAI,CAAC;AAYpC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;AA4fpD,KAAA;AAhhBC,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAED,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAsB,CAAC;iBAC9D;gBAAC,MAAM,GAAG;aACZ;SACF;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IAMD,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACrC,YAAA,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC;SACjD;KACF;AAED;;;;AAIG;AACH,IAAA,UAAU,CACR,UAAkB,EAClB,KAA+B,GAAA,qBAAqB,CAAC,IAAI,EAAA;;QAEzD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YAChD,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;SACzE;;AAGD,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;;AAGpB,QAAA,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;AACtC,YAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,OAA6B,KAAI;gBACjH,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,aAAa,EAAE;oBAClD,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,CAAC,KAAK,CACR,OAAO,CAAC,IAAI,CAAC,KAAK,EAClB,OAAO,CAAC,IAAI,CAAC,QAAQ,EACrB,IAAI,EACJ,OAAO,CAAC,IAAI,CAAC,KAAK,EAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAkC,KAAI;4BAC9E,IAAI,CAAC,CAAC,CAAC,OAAO;AACZ,gCAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;iCAC9D;AACH,gCAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,8BAA8B,IAAI,CAAC,EAAE;oCAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;iCACjE;6BACF;AACH,yBAAC,CAAC,CAAC;qBACN,EAAE,GAAG,CAAC,CAAC;iBACT;qBAAM,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,MAAM,EAAE;AAClD,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACnB,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,IAAG;AAC1B,4BAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,gCAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,oCAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,mJAAmJ,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;iCAChO;6BACF;iCAAM;AACL,gCAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,8BAA8B,IAAI,CAAC,EAAE;oCAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;iCACzE;6BACF;AACH,yBAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAI,CAAC,KAAK,EAAE,CAAC;qBACd;iBACF;AACH,aAAC,CAAC,CAAC;SACJ;;QAGD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;;AAEvC,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;YAExB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;SACtE;KAEF;AAID;;;AAGA;AACQ,IAAA,QAAQ,CAAC,KAA2B,EAAA;QAC1C,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;KAC3E;AAGD;;;AAGG;IACH,QAAQ,CAAC,UAAmB,KAAK,EAAA;AAC/B,QAAA,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,uBAAuB,GAAG,eAAe,CAAC,CAAC;QACxF,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC7B,YAAA,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,KAAK,IAAI,EAAE,CAAC;KACpB;AAED;;AAEC;IACD,UAAU,GAAA;AACR,QAAA,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1E;AAED;;;;;;;;AAQC;AACD,IAAA,SAAS,CACP,KAAmC,GAAA,IAAI,EACvC,QAAA,GAAsC,IAAI,EAC1C,QAAA,GAAuC,KAAK,EAC5C,QAA2C,IAAI,EAC/C,mBAA8C,IAAI,EAClD,WAAwC,IAAI,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE;;YAExD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAChE,IAAI,QAAQ,EAAE;AACZ,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzE,IAAI,IAAI,EAAE;AACR,oBAAA,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;AAClB,oBAAA,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACzB,QAAQ,GAAG,IAAI,CAAA;iBAChB;aACF;SACF;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC;aAC3D,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;aAClE;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjE,IAAI,QAAQ,EAAE;AACZ,oBAAA,QAAQ,EAAE,CAAC;iBACZ;aACF;AACH,SAAC,CAAC,CAAC;AACL,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;AAGG;IACH,UAAU,CACR,WAAwC,IAAI,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;QAC7B,IAAI,CAAC,MAAM,EAAE;AACV,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA,EAAE,CAAC,CAAC;AAC1C,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,IAAG;AACR,gBAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;oBACjE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;iBACpE;qBAAM;oBACL,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;iBACzE;aACF;YACD,QAAQ,EAAE,MAAK;gBACb,IAAI,QAAQ,EAAE;AACZ,oBAAA,QAAQ,EAAE,CAAC;iBACZ;aACF;AACF,SAAA,CAAC,CAAC;KACN;AAED;;;;;;;;AAQG;AACH,IAAA,KAAK,CAAC,KAAA,GAAmC,IAAI,EAC3C,WAAsC,IAAI,EAC1C,QAAuC,GAAA,KAAK,EAC5C,KAAA,GAA2C,IAAI,EAC/C,mBAA8C,IAAI,EAAA;AAClD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,IAAI,CACH,IAAI,CAAC,WAAW,GAAG,SAAS,EAC5B;YACE,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK;YAC1B,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ;AACjC,YAAA,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACrD,YAAA,KAAK,EAAE,KAAK;SACb,EACD;YACE,OAAO,EACL,CAAC,KAAK;kBACF,IAAI,WAAW,EAAE;kBACjB,IAAI,WAAW,EAAE;AAChB,qBAAA,GAAG,CAAC,eAAe,EAAE,gBAAgB,IAAI,EAAE,CAAC;SACpD,CAAC;aACH,IAAI,CACH,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAC9C,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA,EAAE,CAAC,EAC5E,GAAG,CAAC,CAAC,CAAkC,KAAI;AACzC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;;AAEb,gBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvB,gBAAA,MAAM,SAAS,GAAuB;AACpC,oBAAA,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;AACxB,oBAAA,KAAK,EAAE,KAAK;iBACb,CAAA;gBACD,IAAI,CAAC,KAAK,EAAE;AACV,oBAAA,SAAS,CAAC,eAAe;AACvB,wBAAA,WAAW,CAAC,MAAM,CAChB,IAAI,CAAC,SAAS,CAAC;AACb,4BAAA,KAAK,EAAE,KAAK;AACZ,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,QAAQ,EAAE,QAAQ;yBACnB,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC9C;AACD,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBAExB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;aAEtE;AACD,YAAA,OAAO,CAAC,CAAC;SACV,CAAC,CACH,CAAC;KACL;AAED;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAM,IAAI,CAAC,WAAW,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CACrE,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAC9C,GAAG,CAAC,CAAC,IAAG;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,YAAA,OAAO,CAAC,CAAA;AACV,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,EAAE,KAAI;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;SACf,CAAC,CAAC,CAAC;KACP;AAGD;;;AAGE;AACF,IAAA,WAAW,CAAC,EAAU,EAAA;QACpB,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,IAAI,CACH,IAAI,CAAC,WAAW,GAAG,gBAAgB,EACnC;AACE,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC;SACtD,CACF;AACA,aAAA,IAAI,CACH,UAAU,CAAC,CAAC,GAAG,KAAI;YACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,YAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/B,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAkC,KAAI;AACzC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;;AAEb,gBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AAClC,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBAExB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;aACtE;AACD,YAAA,OAAO,CAAC,CAAC;SACV,CAAC,CACH,CAAC;KACL;AAED;;AAEC;IACO,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;KAE5C;AAGD;;AAEG;IACH,KAAK,GAAA;;AAEH,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;AAEvB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;QAEzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;KACvE;AAED;;AAEG;IACH,KAAK,GAAA;;AAEH,QAAA,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC3C,QAAA,cAAc,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACnD,QAAA,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC7C,QAAA,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;AAED;;AAEE;IACF,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,GAAG,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC7D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAkC,KAAI;;AAEhD,YAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACxB,CAAC,CAAC,CAAC;KACL;AAGD;;;AAGG;AACH,IAAA,OAAO,CAAC,OAAgB,EAAA;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACrC;AAED;;;AAGG;IACK,QAAQ,CAAC,OAAgB,EAAE,MAAoB,EAAA;QACrD,IAAI,KAAK,GAAY,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpB,YAAA,IAAI,IAAI,GAAU;gBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;AACd,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,GAAG,EAAE,CAAC;aACP,CAAC;AACF,YAAA,IAAI,CAAC,QAAQ;gBACX,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;sBAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC;sBAC/B,EAAE,CAAC;AACT,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAC/B,CAAC;KACH;AAEC;;;;AAIC;AACD,IAAA,SAAS,CAAC,KAAA,GAAgB,CAAC,EAAE,WAA0B,IAAI,EAAA;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW;AAChB,aAAC,QAAQ;AACP,kBAAE,4BAA4B;oBAC9B,KAAK;oBACL,YAAY;oBACZ,QAAQ;AACR,kBAAE,4BAA4B,GAAG,KAAK,CAAC,CAC1C,CAAC;KACH;;;;AAKH;;AAEG;AACH,IAAA,aAAa,CAAC,MAAW,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,qBAAqB,EACxC,MAAM,CACP,CAAC;KACH;;;;AAOD;;;AAGG;AACH,IAAA,WAAW,CAAC,EAAU,EAAA;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW;YAChB,wBAAwB,GAAG,EAAE,CAC9B,CAAC;KACH;AAGD;;;AAGG;AACH,IAAA,uBAAuB,CAAC,MAAW,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW;YAChB,wCAAwC,EACxC,MAAM,CACP,CAAC;KACH;;;;AAOD;;;AAGG;AACH,IAAA,OAAO,CAAC,MAAwC,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,sBAAsB,EACzC,MAAM,CACP,CAAC;KACH;;;;AAQD;;;AAGG;AACH,IAAA,aAAa,CAAC,MAA8C,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAC/C,MAAM,CACP,CAAC;KACH;AAED;;;AAGE;AACF,IAAA,UAAU,CAAC,MAAW,EAAA;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,yBAAyB,EAC5C,MAAM,EACN,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,CAAC;KACH;;;;AAMD;;;AAGE;AACF,IAAA,QAAQ,CAAC,IAAuB,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,qBAAqB,EACxC,IAAI,CACL,CAAC;KACH;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,IAAuB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,uBAAuB,EAC1C,IAAI,CACL,CAAC;KACH;8GAxhBU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCFY,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACtC,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC,CAAC;AAwFpC,KAAA;IAtFC,SAAS,CACP,OAAyB,EACzB,IAAiB,EAAA;AAEjB,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;YAClE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAChD,iBAAA,IAAI,CACHA,UAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAC9CC,YAAU,CAAC,KAAK,IAAG;AACjB,gBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;oBAC1D,IACE,KAAK,YAAY,iBAAiB;AAClC,wBAAA,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC/B,wBAAA,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB;wBACA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;qBAC3C;oBACD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;oBAClD,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,IAAI,CAAC,EAAE;wBAC1H,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;wBACvC,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE;AACzC,4BAAA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;AAC/B,4BAAA,MAAM,cAAc,GAAG,WAAW,KAAK,GAAG,CAAC;4BAC3C,IAAI,CAAC,aAAa,CAAC,KAAK,CACtB,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,8CAA8C,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,EACxI,IAAI,EACJ,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,cAAc,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAK;gCAC1D,IAAI,cAAc,EAAE;oCAClB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;iCAC7D;AACH,6BAAC,CAAC,CAAC;yBACN;qBACF;iBACF;AACD,gBAAA,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;aAChC,CAAC,CAAC,CAAC;SACT;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED;;;;AAIG;IACK,cAAc,CAAC,OAAyB,EAAE,IAAiB,EAAA;AACjE,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;AACpC,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,CACzC,SAAS,CAAC,MAAK;gBACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,aAAC,CAAC,EACFA,YAAU,CAAC,KAAK,IAAG;AACjB,gBAAA,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;aAChC,CAAC,CACH,CAAC;SACH;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED;;;;AAIG;AACK,IAAA,iBAAiB,CACvB,OAAyB,EACzB,KAAA,GAAuB,IAAI,EAAA;AAE3B,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,KAAK;AAAE,gBAAA,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,KAAK,EAAE;gBACT,OAAO,OAAO,CAAC,KAAK,CAAC;AACnB,oBAAA,UAAU,EAAE;wBACV,aAAa,EAAE,SAAS,GAAG,KAAK;AAChC,wBAAA,aAAa,EAAE,aAAa;AAC7B,qBAAA;AACF,iBAAA,CAAC,CAAC;aACJ;SACF;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;8GA1FU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;;MCPE,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;+GAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,QAAQ;;;ACFT;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"arsedizioni-ars-utils-evolution.common.mjs","sources":["../../../projects/ars-utils/evolution.common/common/messages.ts","../../../projects/ars-utils/evolution.common/common/definitions.ts","../../../projects/ars-utils/evolution.common/common/services/evolution.service.ts","../../../projects/ars-utils/evolution.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/evolution.common/common/common.module.ts","../../../projects/ars-utils/evolution.common/public_api.ts","../../../projects/ars-utils/evolution.common/arsedizioni-ars-utils-evolution.common.ts"],"sourcesContent":["export const EvolutionMessages = {\r\n // Login\r\n LOGIN_CHANGED: '§evo-login-changed',\r\n LOGIN_COMPLETED: '§evo-login-completed',\r\n LOGOUT_COMPLETED: '§evo-logout-completed',\r\n LOGOUT: '§evo-logout'\r\n};\r\n","import { LoginResult, SendToModel } from '@arsedizioni/ars-utils/core';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\n\r\n\r\n\r\nexport interface EvolutionLoginResult extends LoginResult<EvolutionUserInfo> {\r\n}\r\n\r\nexport interface EvolutionLoginInfo {\r\n context: EvolutionUserInfo;\r\n userCredentials?: string | null;\r\n OAUTH?: LoginOAuthType | null;\r\n}\r\n\r\nexport interface EvolutionUserLink {\r\n id?: number | null;\r\n userId: number;\r\n userName?: string | null;\r\n key: string;\r\n}\r\n\r\nexport interface EvolutionUserModuleInfo {\r\n name: string;\r\n module: number;\r\n level: number;\r\n hidden: boolean;\r\n}\r\n\r\n\r\nexport interface EvolutionLicenceModuleInfo {\r\n module: ERPModule;\r\n name: string;\r\n availableUsers: number;\r\n usedUsers: number;\r\n availableOption1?: number | null;\r\n usedOption1?: number | null;\r\n availableOption2?: number | null;\r\n usedOption2?: number | null;\r\n availableOption3?: number | null;\r\n usedOption3?: number | null;\r\n}\r\n\r\nexport interface EvolutionUserInfo {\r\n licenceId: number;\r\n userId: number;\r\n companyName: string;\r\n firstName: string;\r\n fullName: string;\r\n flags?: number | null;\r\n email: string;\r\n sessionId?: string | null;\r\n isTemporary?: boolean | null;\r\n role: number;\r\n scope: number;\r\n roleName: string;\r\n roleLevel: number;\r\n allowedModules: EvolutionUserModuleInfo[];\r\n dashboard?: number | null;\r\n dashboard2?: string | null;\r\n code?: string | null;\r\n subjectId?: number | null;\r\n subjectName?: string | null;\r\n siteId?: number | null;\r\n siteName?: string | null;\r\n siteCostCenter?: string | null;\r\n departmentId?: number | null;\r\n departmentName?: string | null;\r\n expiryDate?: string | null;\r\n isExpired?: boolean | null;\r\n isAdministrator?: boolean | null;\r\n isPowerUser?: boolean | null;\r\n isObserver?: boolean | null;\r\n isUser?: boolean | null;\r\n isSupportUser?: boolean | null;\r\n isGod?: boolean | null;\r\n administrators: string;\r\n availableModules: EvolutionLicenceModuleInfo[];\r\n availableEmployees: number;\r\n usedEmployees: number;\r\n availableStorage: number;\r\n usedStorage: number;\r\n}\r\n\r\n\r\n\r\nexport enum EvolutionServiceFlags {\r\n None = 0,\r\n NotifySystemErrors = 1,\r\n DisplayConnectionStateMessages = 1 << 1\r\n\r\n}\r\n\r\nexport enum ERPModule {\r\n Formazione = 1,\r\n DPI = 1 << 1,\r\n SorveglianzaSanitaria = 1 << 2,\r\n RegistroEScadenzario = 1 << 3,\r\n AttrezzatureEImpianti = 1 << 4,\r\n Monitoraggio = 1 << 5,\r\n Bollettino = 1 << 6,\r\n Documenti = 1 << 7\r\n\r\n}\r\n\r\nexport interface EvolutionPlaceable {\r\n licenceId?: number | null;\r\n companyName?: string | null;\r\n subjectId?: number | null;\r\n subjectName?: string | null;\r\n siteId?: number | null;\r\n siteName?: string | null;\r\n departmentId?: number | null;\r\n departmentName?: string | null;\r\n placeId?: number | null;\r\n}\r\n\r\nexport enum ERPExportType\r\n{\r\n Basic = 1,\r\n Detailed = 8,\r\n Complete = 9,\r\n Labels = 10,\r\n EmployeesCoursesMatrix = 21,\r\n EmployeesCoursesHoursMatrix = 22,\r\n EmployeesPPEsMatrix = 23,\r\n EmployeesHealthChecksMatrix = 24,\r\n TasksCoursesMatrix = 31,\r\n Training = 101,\r\n TrainingExpired = 102,\r\n TrainingExpiring = 103,\r\n TrainingAbsents = 104,\r\n TrainingClosed = 105,\r\n TrainingCurrentYear = 108,\r\n TrainingNextYear = 109,\r\n TrainingAnnualPlannng = 110,\r\n EquipmentsActivitiesCompleted = 201,\r\n EquipmentsChecksMatrix = 202,\r\n RSNormsUsage = 301,\r\n RSNormsSitesMatrix = 302,\r\n RSNormsSummary = 303,\r\n MonitoringLaws = 401,\r\n MonitoringActivities = 402,\r\n MonitoringSummary = 403,\r\n PPEs = 501,\r\n ComplianceStatistics = 601,\r\n HealthChecks = 701,\r\n}\r\n\r\nexport enum ERPExportFormat\r\n{\r\n Csv = 1,\r\n Word = 2,\r\n Pdf = 3\r\n}\r\n\r\nexport enum ERPExportSource\r\n{\r\n All = 1,\r\n Query = 2,\r\n Selection = 3\r\n}\r\n\r\nexport enum ERPExportPart\r\n{\r\n IncludeRisks = 101,\r\n IncludeTasks = 102,\r\n IncludeTaskHistory = 103,\r\n IncludeTrainingRequired = 111,\r\n IncludeTrainingDone = 112,\r\n SelectedEmployeeCourses = 121,\r\n IncludeDisabledEmployees = 131,\r\n IncludeDismissedEmployees = 132,\r\n IncludeDocumentUpdates = 201,\r\n ExcludeNonApplicableOrAcknowledged = 202,\r\n ExcluteAbblicabilityTable = 203,\r\n IncludeActivities = 204,\r\n GroupLaws = 205,\r\n IncludeApplicableOrAcknowledgedOnly = 4301,\r\n IncludePPEs = 501,\r\n IncludeHealthChecks = 601\r\n}\r\n\r\nexport interface EvolutionExportModel<T> extends SendToModel {\r\n searchParams: T;\r\n selection?: number[] | null;\r\n type: ERPExportType;\r\n sort?: number | null;\r\n source: ERPExportSource;\r\n format: ERPExportFormat;\r\n parts?: ERPExportPart[] | null;\r\n automateReport?: boolean | null;\r\n automatedReportId?: number | null;\r\n automatedReportSheetName?: string;\r\n formatExtension?: string | null; \r\n}\r\n\r\n\r\nexport enum ERPComplianceLawsSelectionType {\r\n Analysis = 1,\r\n Activity = 2,\r\n}\r\n\r\nexport enum ERPComplianceProfileRole {\r\n None = 0,\r\n Analyst = 1,\r\n Planner = 1 << 1,\r\n Validator = 1 << 2,\r\n Executor = 1 << 3,\r\n Observer = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceProfileFlags {\r\n\r\n OverrideNotificationRegisterSettings = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceScope {\r\n None = 0,\r\n Environment = 1,\r\n Safety = 1 << 1,\r\n FoodSafety = 1 << 2,\r\n Energy = 1 << 3,\r\n Health = 1 << 4,\r\n Maintenance = 1 << 5,\r\n Quality = 1 << 6,\r\n Organization = 1 << 7,\r\n Logistics = 1 << 8,\r\n Facility = 1 << 9,\r\n Security = 1 << 10\r\n}\r\n\r\nexport enum ERPComplianceNotificationLimit {\r\n None = 0,\r\n PlannerOnly = 1,\r\n ExecutorOnly = 2,\r\n Both = 3,\r\n}\r\n\r\nexport enum ERPComplianceRegisterNotificationType {\r\n None = 0,\r\n NewAnalysis = 1,\r\n AnalysisCompleted = 1 << 1,\r\n AnalysisNoticePeriodStarted = 1 << 2,\r\n AnalysisPeriodExpired = 1 << 3,\r\n AnalysisLawChanged = 1 << 14,\r\n NewPlanning = 1 << 13,\r\n PlanningCompleted = 1 << 4,\r\n PlanningNoticePeriodStarted = 1 << 5,\r\n PlanningPeriodExpired = 1 << 6,\r\n NewValidation = 1 << 15,\r\n ValidationCompleted = 1 << 7,\r\n ValidationNoticePeriodStarted = 1 << 8,\r\n ValidationPeriodExpired = 1 << 9,\r\n NewDeadline = 1 << 16,\r\n DeadlineNoticePeriodStarted = 1 << 10,\r\n DeadlineExpired = 1 << 11,\r\n ActivityCompleted = 1 << 12,\r\n //NewNoncompliance = 1 << 17,\r\n //NonComplianceNoticePeriodStarted = 1 << 18,\r\n //NonCompliancePeriodExpired = 1 << 19,\r\n //NonComplianceCompleted = 1 << 20,\r\n LawChanged = 1 << 21,\r\n}\r\n\r\nexport enum ERPComplianceRegisterSiteImportOptions {\r\n CopyAttachments = 1,\r\n KeepOriginalDates = 1 << 1,\r\n DuplicateLaws = 1 << 2,\r\n DiscardNotApplicables = 1 << 3\r\n}\r\n\r\nexport const EvolutionComplianceProfileRoles = [\r\n { name: 'Analista', value: ERPComplianceProfileRole.Analyst },\r\n { name: 'Gestore', value: ERPComplianceProfileRole.Planner },\r\n //{ name: 'Validatore', value: ERPComplianceProfileRole.Validator },\r\n { name: 'Esecutore', value: ERPComplianceProfileRole.Executor },\r\n { name: 'Osservatore', value: ERPComplianceProfileRole.Observer },\r\n];\r\n\r\nexport const EvolutionComplianceProfileFlags = [\r\n { name: 'Deroghe e limitazioni', divider: true },\r\n {\r\n name:\r\n 'Questo profilo riceve regolarmente le notifiche indipendentemente dalla configurazione generale del registro',\r\n value: ERPComplianceProfileFlags.OverrideNotificationRegisterSettings,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceScopes = [\r\n { name: 'Ambiente', value: ERPComplianceScope.Environment },\r\n { name: 'Salute e sicurezza', value: ERPComplianceScope.Safety },\r\n {\r\n name: 'Sicurezza alimentare',\r\n value: ERPComplianceScope.FoodSafety,\r\n },\r\n { name: 'Energia', value: ERPComplianceScope.Energy },\r\n { name: 'Servizi generali', value: ERPComplianceScope.Facility },\r\n { name: 'Manutenzione', value: ERPComplianceScope.Maintenance },\r\n { name: 'Qualità', value: ERPComplianceScope.Quality },\r\n { name: 'Organizzazione', value: ERPComplianceScope.Organization },\r\n { name: 'Logistica', value: ERPComplianceScope.Logistics },\r\n { name: 'Security', value: ERPComplianceScope.Security },\r\n\r\n];\r\n\r\nexport const EvolutionComplianceNotificationLimits = [\r\n { name: 'Nessuna limitazione', value: ERPComplianceNotificationLimit.None },\r\n {\r\n name: 'Solo gestore che ha pianificato',\r\n value: ERPComplianceNotificationLimit.PlannerOnly,\r\n },\r\n {\r\n name: \"Solo all'incaricato designato\",\r\n value: ERPComplianceNotificationLimit.ExecutorOnly,\r\n },\r\n {\r\n name: 'Solo a gestore e incaricato designato',\r\n value: ERPComplianceNotificationLimit.Both,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceNotifications = [\r\n { name: 'Verifica applicabilità e analisi', divider: true },\r\n {\r\n name: 'Richiesta analisi',\r\n value: ERPComplianceRegisterNotificationType.NewAnalysis,\r\n },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisPeriodExpired,\r\n },\r\n {\r\n name: 'Analisi completata',\r\n value: ERPComplianceRegisterNotificationType.AnalysisCompleted,\r\n },\r\n {\r\n name: 'Avviso norma modificata dal legislatore',\r\n value: ERPComplianceRegisterNotificationType.AnalysisLawChanged,\r\n },\r\n { name: 'Pianificazioni', divider: true },\r\n {\r\n name: 'Richiesta gestione',\r\n value: ERPComplianceRegisterNotificationType.NewPlanning,\r\n },\r\n {\r\n name: 'Preavviso: sta per scadere il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningPeriodExpired,\r\n },\r\n {\r\n name: 'Gestione completata',\r\n value: ERPComplianceRegisterNotificationType.PlanningCompleted,\r\n },\r\n {\r\n name: 'Attività completata',\r\n value: ERPComplianceRegisterNotificationType.ActivityCompleted,\r\n },\r\n /*{ name: 'Gestione non conformità', divider: true },\r\n {\r\n name: 'Apertura non comformità',\r\n value: ERPComplianceRegisterNotificationType.NewNoncompliance,\r\n },\r\n {\r\n name:\r\n \"Preavviso: sta per scadere il termine fissato per l'azione correttiva\",\r\n value:\r\n ERPComplianceRegisterNotificationType.NonComplianceNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'azione correttiva\",\r\n value: ERPComplianceRegisterNotificationType.NonCompliancePeriodExpired,\r\n },\r\n {\r\n name: 'Chiusura non conformità',\r\n value: ERPComplianceRegisterNotificationType.NonComplianceCompleted,\r\n },*/\r\n /*{ name: 'Approvazioni', divider: true },\r\n { name: 'Richiesta approvazione', value: 1 << 14 },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationPeriodExpired,\r\n },\r\n {\r\n name: 'Approvazione concessa o negata',\r\n value: ERPComplianceRegisterNotificationType.ValidationCompleted,\r\n },*/\r\n { name: 'Scadenze', divider: true },\r\n {\r\n name: 'Preavviso: 1° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.NewValidation,\r\n },\r\n {\r\n name: 'Avviso: 2° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.DeadlineNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine',\r\n value: ERPComplianceRegisterNotificationType.DeadlineExpired,\r\n },\r\n { name: 'Norme collegate', divider: true },\r\n {\r\n name: 'Modifica o abrogazione',\r\n value: ERPComplianceRegisterNotificationType.LawChanged,\r\n },\r\n\r\n];\r\n\r\nexport enum ERPComplianceLawState {\r\n ApplicableOrAknowledged = 1,\r\n NotApplicable = 2,\r\n NotAnalyzed = 3,\r\n ExpiredAnalysis = 4,\r\n UpdatedLaws = 5,\r\n Analyzed = 6,\r\n Abrogated = 7,\r\n Applicable = 8,\r\n Aknowledged = 9\r\n}\r\n\r\nexport enum ERPComplianceLawOrigin {\r\n National = 1,\r\n EU = 2,\r\n Regional = 3,\r\n Local = 4,\r\n Technical = 5,\r\n Voulontary = 6,\r\n Internal = 7,\r\n Other = 8,\r\n}\r\n\r\nexport const EvolutionComplianceLawStates = [\r\n { name: 'Applicabile', value: ERPComplianceLawState.Applicable },\r\n { name: 'Da conoscere', value: ERPComplianceLawState.Aknowledged },\r\n {\r\n name: 'Applicabile / da conoscere',\r\n value: ERPComplianceLawState.ApplicableOrAknowledged,\r\n },\r\n { name: 'Non applicabile', value: ERPComplianceLawState.NotApplicable },\r\n { name: 'Abrogata', value: ERPComplianceLawState.Abrogated },\r\n { name: 'Analizzata', value: ERPComplianceLawState.Analyzed },\r\n { name: 'Da definire', value: ERPComplianceLawState.NotAnalyzed },\r\n { name: 'In ritardo', value: ERPComplianceLawState.ExpiredAnalysis },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceLawState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceLawOrigins = [\r\n { name: 'Nazionale', value: ERPComplianceLawOrigin.National },\r\n { name: 'Comunitaria', value: ERPComplianceLawOrigin.EU },\r\n { name: 'Regionale', value: ERPComplianceLawOrigin.Regional },\r\n { name: 'Locale', value: ERPComplianceLawOrigin.Local },\r\n { name: 'Tecnica', value: ERPComplianceLawOrigin.Technical },\r\n { name: 'Interna', value: ERPComplianceLawOrigin.Internal },\r\n { name: 'Volontaria', value: ERPComplianceLawOrigin.Voulontary },\r\n { name: 'Altro', value: ERPComplianceLawOrigin.Other },\r\n];\r\n\r\nexport const EvolutionComplianceLawChangeStates = [\r\n { name: 'Aperto', value: 1 },\r\n { name: 'Chiuso', value: 2 },\r\n];\r\n\r\nexport enum ERPComplianceActivityState {\r\n NotPlanned = 1 << 7,\r\n Closed = 1 << 2,\r\n Expired = 1 << 3,\r\n Planned = 1 << 8,\r\n Cancelled = 1 << 9,\r\n UpdatedLaws = 1 << 10,\r\n AlreadyManaged = 1 << 11\r\n}\r\n\r\nexport const EvolutionComplianceActivityStates = [\r\n {\r\n name: 'Da definire',\r\n value: ERPComplianceActivityState.NotPlanned,\r\n },\r\n {\r\n name: 'Pianificata',\r\n value: ERPComplianceActivityState.Planned,\r\n },\r\n {\r\n name: 'Chiusa',\r\n value: ERPComplianceActivityState.Closed,\r\n },\r\n {\r\n name: 'In ritardo',\r\n value: ERPComplianceActivityState.Expired,\r\n },\r\n {\r\n name: 'Annullata',\r\n value: ERPComplianceActivityState.Cancelled,\r\n },\r\n {\r\n name: 'Gestita separatamente',\r\n value: ERPComplianceActivityState.AlreadyManaged,\r\n },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceActivityState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceObligationTypes = [\r\n { name: 'Autorizzazione', value: 1 },\r\n { name: 'Verifiche periodiche manutentive', value: 2 },\r\n { name: 'Misure organizzative', value: 3 },\r\n { name: 'Controlli e misurazioni', value: 4 },\r\n { name: 'Entrata in vigore', value: 5 },\r\n { name: 'Documenti aziendali obbligatori', value: 6 },\r\n {\r\n name: 'Altri adempimenti formali (comunicazioni, dichiarazioni, ecc...)',\r\n value: 7,\r\n },\r\n { name: 'Altro', value: 99 },\r\n];\r\n\r\nexport const EvolutionComplianceObligationAuthorities = [\r\n { name: 'Agenzia ECHA', value: 1 },\r\n { name: 'Albo Nazionale dei Gestori Ambientali', value: 2 },\r\n { name: 'ARPA', value: 4 },\r\n { name: 'ASL', value: 5 },\r\n { name: 'Camera di Commercio', value: 8 },\r\n { name: 'Comando provinciale dei Vigili del Fuoco', value: 10 },\r\n { name: 'Comune', value: 13 },\r\n { name: 'Consorzi gestione rifiuti particolari', value: 14 },\r\n { name: 'Gestore del servizio', value: 21 },\r\n { name: 'Gestore della rete di trasmissione nazionale', value: 22 },\r\n { name: 'INAIL - IPSEMA - ISPESL', value: 23 },\r\n { name: 'ISPRA', value: 26 },\r\n { name: 'Ministero', value: 27 },\r\n { name: 'Genio civile', value: 30 },\r\n { name: 'Organo di vigilanza competente', value: 31 },\r\n { name: 'Provincia', value: 33 },\r\n { name: 'Regione', value: 35 },\r\n { name: 'Uffici tecnici di finanza', value: 36 },\r\n { name: 'Ispettorato del lavoro', value: 37 },\r\n { name: 'Comitato Regionale Tecnico VF', value: 38 },\r\n { name: 'Prefetto', value: 39 },\r\n { name: 'Organismo notificato', value: 40 },\r\n { name: 'Città Metropolitana', value: 41 },\r\n { name: 'Nessuna', value: 28 },\r\n { name: 'Altro', value: 3 }\r\n];\r\n\r\nexport enum ERPRecurrenceFrequencyType {\r\n Day = 1,\r\n Month = 2,\r\n Year = 3,\r\n}\r\nexport const EvolutionRecurrenceFrequencyTypes = [\r\n { name: 'Anni', value: ERPRecurrenceFrequencyType.Year },\r\n { name: 'Mesi', value: ERPRecurrenceFrequencyType.Month },\r\n { name: 'Giorni', value: ERPRecurrenceFrequencyType.Day },\r\n];\r\n\r\nexport enum ERPPlacePermission {\r\n None = 0,\r\n Denied = 1,\r\n Read = 2,\r\n Write = 3\r\n}\r\n\r\nexport enum ERPPlace {\r\n Subject = 1,\r\n Site = 2,\r\n Department = 3,\r\n Area = 4,\r\n Line = 5\r\n}\r\nexport interface EvolutionPermission {\r\n placeId: number;\r\n userId: number;\r\n allowRead: number;\r\n allowWrite: number;\r\n allowNone: number;\r\n}\r\n\r\nexport interface EvolutionPlacePermission extends EvolutionPermission {\r\n id: number;\r\n subjectId?: number | null;\r\n siteId?: number | null;\r\n departmentId?: number | null;\r\n mode: number;\r\n}\r\n\r\n\r\nexport interface EvolutionContextInfo {\r\n id: number;\r\n userId?: number | null;\r\n name: string;\r\n permission: EvolutionPermission;\r\n placePermission: ERPPlacePermission;\r\n costCenter: string;\r\n selected?: boolean | null;\r\n level?: number | null;\r\n levelTitle?: string | null;\r\n}\r\n\r\n\r\nexport class EvolutionComplianceContextInfo {\r\n licenceId?: number | null;\r\n licencedCompany?: string | null;\r\n registerTitle?: string | null;\r\n registerId?: number | null;\r\n siteName?: string | null;\r\n siteId?: number | null;\r\n userId?: number | null;\r\n items?: EvolutionContextInfo[] | null;\r\n}\r\n\r\n\r\nexport interface EvolutionChangeContextModel {\r\n userId?: number | null;\r\n licenceId?: number | null;\r\n subjectId?: number | null;\r\n siteId?: number | null;\r\n registerId?: number | null;\r\n role?: ERPComplianceProfileRole | null;\r\n permission?: ERPPlacePermission | null;\r\n option1Value?: number | null;\r\n option2Value?: number | null;\r\n option3Value?: number | null;\r\n allowObservers?: boolean | null;\r\n allowDisabled?: boolean | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLaw extends EvolutionPlaceable {\r\n id?: number | null;\r\n state?: number | null;\r\n complianceRegisterId?: number | null;\r\n lot?: number | null;\r\n topicId?: string | null;\r\n topicPath?: string | null;\r\n topicName?: string | null;\r\n summary?: string | null;\r\n scope?: number| null;\r\n source?: string | null;\r\n references?: EvolutionComplianceLawReference[] | null;\r\n originalLawId?: number | null;\r\n originRegion?: string | null;\r\n origin?: number | null;\r\n originAlternativeDescription?: string | null;\r\n description?: string | null;\r\n documentShortTitle?: string | null;\r\n documentTitle?: string | null;\r\n documentNumber?: string | null;\r\n documentDate?: Date | null;\r\n documentLastUpdate?: string | null;\r\n documentLastUpdateShortTitle?: string | null;\r\n documentUpdateNotes?: string | null;\r\n documentValidated?: boolean | null;\r\n documentId?: string | null;\r\n documentModel?: number | null;\r\n documentReferences?: string | null;\r\n documentNotes?: string | null;\r\n documentForceGlobalCheckForUpdates?: boolean | null;\r\n complianceCheckItem1?: boolean | null;\r\n complianceCheckItem2?: boolean | null;\r\n complianceCheckItem3?: boolean | null;\r\n complianceCheckItem4?: boolean | null;\r\n complianceCheckItem5?: boolean | null;\r\n complianceCheckItem6?: boolean | null;\r\n complianceCheckItem7?: boolean | null;\r\n complianceCheckItem8?: boolean | null;\r\n complianceCheckItem9?: boolean | null;\r\n complianceCheckItem10?: boolean | null;\r\n complianceCheckItem11?: boolean | null;\r\n complianceCheckItem12?: boolean | null;\r\n alternativeComplianceCheckItem?: boolean | null;\r\n alternativeComplianceDescription?: string | null;\r\n applicability?: number | null;\r\n analyzedBy?: string | null;\r\n analystOperatorId?: number | null;\r\n analysisExpiringDate?: Date | null;\r\n analysisDate?: Date | null;\r\n analysisNotes?: string | null;\r\n analysisNoticeDate?: string | null;\r\n group1?: string | null;\r\n group2?: string | null;\r\n count?: number | null;\r\n created?: Date | null;\r\n createdBy?: string | null;\r\n lastUpdated?: Date | null;\r\n lastUpdatedBy?: string | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLawDocumentInfo {\r\n documentId?: string | null;\r\n documentId2?: string | null;\r\n title2?: string | null;\r\n title1?: string | null;\r\n number?: string | null;\r\n date?: Date | null;\r\n origin?: number | null;\r\n originDescription?: string | null;\r\n originAlternativeDescription?: string | null;\r\n originRegion?: string | null;\r\n notes?: string | null;\r\n references?: EvolutionComplianceLawReference[] | null;\r\n forceGlobalCheckForUpdates?: boolean | null;\r\n validated?: boolean | null;\r\n description?: string | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLawsAddParams extends EvolutionComplianceLaw {\r\n context?: EvolutionComplianceContextInfo | null;\r\n documents?: EvolutionComplianceLawDocumentInfo[] | null;\r\n shouldNotifyAnalysisCompletionAgain?: boolean | null;\r\n scopes?: number[] | null;\r\n sites?: number[] | null;\r\n registers?: number[] | null;\r\n}\r\n\r\nexport interface EvolutionComplianceLaswExportParams extends EvolutionExportModel<any> {}\r\n\r\nexport interface EvolutionComplianceLawReference {\r\n id?: number | null;\r\n complianceLawId?: number | null;\r\n text: string;\r\n description?: string | null;\r\n anchor: string;\r\n}\r\n\r\nexport interface EvolutionComplianceActivity extends EvolutionPlaceable {\r\n id: number;\r\n state: number;\r\n monitoringActivityId?: number | null;\r\n monitoringActivityTaskId?: number | null;\r\n complianceRegisterId?: number | null;\r\n childId?: number | null;\r\n parentId?: number | null;\r\n lot?: number | null; \r\n summary?: string| null;\r\n scope?: number| null;\r\n topicId?: string | null;\r\n topicPath?: string| null;\r\n topicName?: string| null;\r\n mandatory?: boolean | null;\r\n obligationType?: number | null;\r\n obligationAuthorityId?: number | null;\r\n obligationNotes?: string| null;\r\n obligationCheckPoint?: boolean | null;\r\n description?: string| null;\r\n deadlineRecurrent?: boolean | null;\r\n deadlineFrequency?: number | null;\r\n deadlineFrequencyType?: number | null;\r\n deadlineFrequencyEndOfMonth?: boolean | null;\r\n deadlineFirstNoticeDays?: number | null;\r\n deadlineLastNoticeDays?: number | null;\r\n deadlineFirstNoticeDate?: Date | null;\r\n deadlineLastNoticeDate?: Date | null;\r\n deadlineExpiringDate?: Date | null;\r\n planningNoticeDate?: Date | null;\r\n planningExpiringDate?: Date | null;\r\n planningDate?: Date | null;\r\n plannedBy?: string| null;\r\n plannerOperatorId?: number | null;\r\n planningApplicability?: number | null;\r\n planningNotificationAdditionalEmailHeader?: string| null;\r\n planningNotificationAdditionalEmails?: string| null;\r\n planningNotificationAdditionalEmailsForAlertsOnly?: string| null;\r\n planningNamedExecutorOperatorId?: number | null;\r\n planningNamedExecutorName?: string| null;\r\n planningNamedExecutorManagerOperatorId?: number | null;\r\n planningNamedExecutorManagerName?: string| null;\r\n planningScheduleNextFromExecutionDate?: boolean | null;\r\n planningNotes?: string| null;\r\n executorOperatorId?: number | null;\r\n executed?: boolean| null;\r\n executedBy?: string| null;\r\n executionDate?: Date| null;\r\n externalReference?: string| null;\r\n externalDescription?: string| null;\r\n group1?: string| null;\r\n group2?: string| null;\r\n notes?: string| null;\r\n created?: Date| null;\r\n createdBy?: string| null;\r\n lastUpdated?: Date | null;\r\n lastUpdatedBy?: string| null;\r\n\r\n}\r\n\r\nexport interface EvolutionComplianceActivitiesAddParams extends EvolutionComplianceActivity {\r\n context?: EvolutionComplianceContextInfo | null;\r\n \r\n complianceLawId?: number | null;\r\n monitoringLawId?: number | null;\r\n enableLawChangesTracking?: boolean | null; \r\n enableActivityLawsPopulation?: boolean | null; \r\n shouldNotifyPlanningCompletionAgain?: boolean | null; \r\n scopes?: number[] | null;\r\n sites?: number[] | null;\r\n registers?: number[] | null;\r\n document?: EvolutionComplianceLawDocumentInfo | null; \r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { inject, Injectable, OnDestroy, signal } from '@angular/core';\r\nimport { ApiResult, BroadcastMessageInfo, BroadcastService, FolderTree, INode, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { of, Subscription, throwError } from 'rxjs';\r\nimport { catchError, finalize, map } from 'rxjs/operators';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\nimport { EvolutionComplianceActivitiesAddParams, EvolutionComplianceActivity, EvolutionComplianceLaw, EvolutionComplianceLawsAddParams, EvolutionLoginInfo, EvolutionLoginResult, EvolutionServiceFlags, EvolutionUserInfo, EvolutionUserLink } from './../definitions';\r\nimport { EvolutionMessages } from '../messages';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EvolutionService implements OnDestroy {\r\n\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService = inject(BroadcastService);\r\n private broadcastServiceSubscription?: Subscription | null = null;\r\n private dialogService = inject(DialogService);\r\n\r\n private _serviceUri: string = null;\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n private _flags: EvolutionServiceFlags = EvolutionServiceFlags.None;\r\n get flags(): EvolutionServiceFlags {\r\n return this._flags;\r\n }\r\n private _loginInfo: EvolutionUserInfo | null = null;\r\n get loginInfo(): EvolutionUserInfo | null {\r\n if (!this._loginInfo) {\r\n const loginInfo = localStorage.getItem('clipper_login_evolution');\r\n if (loginInfo) {\r\n try {\r\n this._loginInfo = JSON.parse(loginInfo) as EvolutionUserInfo;\r\n } catch { }\r\n }\r\n }\r\n return this._loginInfo;\r\n }\r\n public readonly loggedIn = signal<boolean>(false);\r\n public readonly loggingIn = signal<boolean>(false);\r\n\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param flags: the service flags. Default is none.\r\n */\r\n initialize(\r\n serviceUri: string,\r\n flags: EvolutionServiceFlags = EvolutionServiceFlags.None) {\r\n // Create unique client id\r\n if (!localStorage.getItem('evolution_client_id')) {\r\n localStorage.setItem('evolution_client_id', SystemUtils.generateUUID());\r\n }\r\n\r\n // Initialize\r\n this._serviceUri = serviceUri;\r\n this._flags = flags;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message: BroadcastMessageInfo) => {\r\n if (message.id === EvolutionMessages.LOGIN_CHANGED) {\r\n setTimeout(() => {\r\n this.login(\r\n message.data.email,\r\n message.data.password,\r\n true,\r\n message.data.oauth,\r\n message.data.oauthAccessToken).subscribe({\r\n next: r => {\r\n if (!r.success)\r\n this.dialogService.error(r.message, null, \"Errore di Evolution\");\r\n else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Connesso a Evolution', 1500, 'power');\r\n }\r\n }\r\n },\r\n error: () => { console.error(\"Evolution non disponibile.\") } // Avoid unwanted errors on client\r\n });\r\n }, 500);\r\n } else if (message.id === EvolutionMessages.LOGOUT) {\r\n if (this.loggedIn()) {\r\n this.logout().subscribe(r => {\r\n if (!r.success) {\r\n if (r.message) {\r\n this.dialogService.error(\"<p>\" + r.message + \"</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Evolution accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>\", null, \"Errore di Evolution\");\r\n }\r\n } else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n }\r\n });\r\n } else {\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (!this.loggedIn() && this.getToken()) {\r\n // Auto login\r\n this.loggedIn.set(true);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n /**\r\n* Set JWT token\r\n* @param value : the login result\r\n*/\r\n private setToken(value: EvolutionLoginResult) {\r\n sessionStorage.setItem('evolution_jwt', value.token);\r\n sessionStorage.setItem('evolution_jwt_refresh', value.refreshToken ?? '');\r\n }\r\n\r\n\r\n /**\r\n * Return current JWT token\r\n * @param refresh: true to get the refresh token. Default is false.\r\n */\r\n getToken(refresh: boolean = false): string {\r\n let token = sessionStorage.getItem(refresh ? 'evolution_jwt_refresh' : 'evolution_jwt');\r\n if (token && token[0] === '\"') {\r\n return token.substring(1, token.length - 1);\r\n }\r\n return token ?? '';\r\n }\r\n\r\n /**\r\n * Store login info\r\n */\r\n storeLogin() {\r\n localStorage.setItem('evolution_login', JSON.stringify(this._loginInfo));\r\n }\r\n\r\n /**\r\n * Perform auto login using current link data\r\n * @param email: the optional email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param remember: remember credentials \r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n * @param onSucces: function to execute on seccess\r\n */\r\n autoLogin(\r\n email: string | null | undefined = null,\r\n password: string | null | undefined = null,\r\n remember: boolean | null | undefined = false,\r\n oauth: LoginOAuthType | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null,\r\n onSucces: Function | null | undefined = null): boolean {\r\n if (!oauth && !oauthAccessToken && (!email || !password)) {\r\n // Try to use link if exists\r\n const linkInfo = localStorage.getItem('clipper_link_evolution');\r\n if (linkInfo) {\r\n const link = JSON.parse(SystemUtils.cipher(linkInfo, 'evolution', true));\r\n if (link) {\r\n email = link.user;\r\n password = link.password;\r\n remember = true\r\n }\r\n }\r\n }\r\n this.login(email, password, remember, oauth, oauthAccessToken)\r\n .subscribe(r => {\r\n if (!r.success) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n } else {\r\n this.dialogService.toast('Connesso ad Evolution', 1500, 'power');\r\n if (onSucces) {\r\n onSucces();\r\n }\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n /**\r\n * Perform auto logout\r\n * @param onSucces: function to execute on seccess\r\n */\r\n autoLogout(\r\n onSucces: Function | null | undefined = null) {\r\n if (!this.loggedIn()) return;\r\n this.logout()\r\n .pipe(map(r => { this.clear(); return r }))\r\n .subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_CHANGED);\r\n } else {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n },\r\n complete: () => {\r\n if (onSucces) {\r\n onSucces();\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Perform login \r\n * @param email: the optional email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param remember: remember credentials \r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n * @returns: the login result\r\n */\r\n login(email: string | null | undefined = null,\r\n password: string | null | undefined = null,\r\n remember: boolean | null | undefined = false,\r\n oauth: LoginOAuthType | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null) {\r\n this.loggingIn.set(true);\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login2',\r\n {\r\n user: oauth ? null : email,\r\n password: oauth ? null : password,\r\n clientId: localStorage.getItem(\"evolution_client_id\"),\r\n OAUTH: oauth\r\n },\r\n {\r\n headers:\r\n !oauth\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken ?? '')\r\n })\r\n .pipe(\r\n finalize(() => this.dialogService.clearBusy()),\r\n catchError(err => { this.handleLoginError(); return throwError(() => err) }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n this.loggingIn.set(false);\r\n if (r.success) {\r\n // Store access token\r\n this.setToken(r.value);\r\n const loginInfo: EvolutionLoginInfo = {\r\n context: r.value.context,\r\n OAUTH: oauth\r\n }\r\n if (!oauth) {\r\n loginInfo.userCredentials =\r\n SystemUtils.cipher(\r\n JSON.stringify({\r\n email: email,\r\n password: password,\r\n remember: remember,\r\n }), loginInfo.context.userId.toString());\r\n }\r\n this._loginInfo = loginInfo.context;\r\n this.storeLogin();\r\n this.loggedIn.set(true);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Perform logout\r\n */\r\n logout() {\r\n return this.httpClient.post<any>(this._serviceUri + '/logout', {}).pipe(\r\n finalize(() => this.dialogService.clearBusy()),\r\n map(r => {\r\n this.clear();\r\n return r\r\n }),\r\n catchError((_e) => {\r\n this.clear();\r\n return of([]);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Switch the current login to a new one with the same credentials except role possibly (context change)\r\n * @param id : new user id\r\n */\r\n loginSwitch(id: number) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login-switch/',\r\n {\r\n userId: id,\r\n clientId: localStorage.getItem(\"evolution_client_id\")\r\n }\r\n )\r\n .pipe(\r\n catchError((err) => {\r\n this.handleLoginError();\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n this.loggingIn.set(false);\r\n if (r.success) {\r\n // Store access token\r\n this.setToken(r.value);\r\n this._loginInfo = r.value.context;\r\n this.loggedIn.set(true);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Handle login error\r\n */\r\n private handleLoginError() {\r\n this.loggingIn.set(false);\r\n localStorage.removeItem('evolution_login');\r\n\r\n }\r\n\r\n\r\n /**\r\n * Reset login refresh timer and login state\r\n */\r\n reset() {\r\n // Clear login info\r\n this._loginInfo = null;\r\n // Logged out\r\n this.loggedIn.set(false);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGOUT_COMPLETED);\r\n }\r\n\r\n /**\r\n * Clear login data\r\n */\r\n clear() {\r\n // Clear local storage\r\n sessionStorage.removeItem('evolution_jwt');\r\n sessionStorage.removeItem('evolution_jwt_refresh');\r\n sessionStorage.removeItem('evolution_oauth');\r\n localStorage.removeItem('evolution_login');\r\n // Reset login\r\n this.reset();\r\n }\r\n\r\n /**\r\n * Perform token refresh\r\n */\r\n refresh() {\r\n return this.httpClient.get<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/refresh2/?token=' + this.getToken(true)\r\n ).pipe(map((r: ApiResult<EvolutionLoginResult>) => {\r\n // Update token\r\n this.setToken(r.value);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n toNodes(folders: INode[]): INode[] {\r\n return this._toNodes(folders, null);\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the children group or null to root\r\n */\r\n private _toNodes(folders: INode[], parent: INode | null): INode[] {\r\n let nodes: INode[] = [];\r\n folders.forEach((n) => {\r\n let node: INode = {\r\n id: n.id,\r\n name: n.name,\r\n count: n.count,\r\n parent: parent,\r\n children: null,\r\n bag: n,\r\n };\r\n node.children =\r\n n.children && n.children.length > 0\r\n ? this._toNodes(n.children, node)\r\n : [];\r\n nodes.push(node);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * Retrieve the taxonomy\r\n */\r\n getTaxonomy() {\r\n return this.httpClient.get<ApiResult<FolderTree>>(\r\n this._serviceUri + '/taxonomy'\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve groups\r\n * @param group: the group number\r\n * @param register: the optional register id. Default is null.\r\n */\r\n getGroups(group: number = 1, register: number | null = null) {\r\n return this.httpClient.get<ApiResult<string[]>>(\r\n this._serviceUri +\r\n (register\r\n ? '/compliance/groups/?group=' +\r\n group +\r\n '&register=' +\r\n register\r\n : '/compliance/groups/?group=' + group)\r\n );\r\n }\r\n\r\n ////\r\n // CONTEXT\r\n ////\r\n /**\r\n * Change context\r\n */\r\n changeContext(params: any) {\r\n return this.httpClient.post<ApiResult<any>>(\r\n this._serviceUri + '/compliance/context',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // REGISTERS\r\n ////\r\n\r\n\r\n /**\r\n * Retrieve a register\r\n * @param id the register id\r\n */\r\n getRegister(id: number) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri +\r\n '/compliance/registers/' + id\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Collect register profiles\r\n * @param params parameters\r\n */\r\n collectRegisterProfiles(params: any) {\r\n return this.httpClient.post<ApiResult<any>>(\r\n this._serviceUri +\r\n '/compliance/registers/profiles/collect',\r\n params\r\n );\r\n }\r\n\r\n\r\n ////\r\n // LAWS\r\n ////\r\n\r\n /**\r\n * Add one or more laws\r\n * @param params parameters\r\n */\r\n addLaws(params: EvolutionComplianceLawsAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceLaw[]>>(\r\n this._serviceUri + '/compliance/laws/add',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // ACTIVITIES\r\n ////\r\n\r\n\r\n\r\n /**\r\n * Add one or more activities\r\n * @param params parameters\r\n */\r\n addActivities(params: EvolutionComplianceActivitiesAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceActivity>>(\r\n this._serviceUri + '/compliance/activities/add',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Export laws\r\n * @param params parameters\r\n */\r\n exportLaws(params: any) {\r\n return this.httpClient.post(\r\n this._serviceUri + '/compliance/laws/export',\r\n params,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n ///\r\n // LINKS\r\n ///\r\n\r\n /**\r\n * Save a user link\r\n * @param item: the user link\r\n */\r\n saveLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/save',\r\n item\r\n );\r\n }\r\n\r\n /**\r\n * Delete a user link\r\n * @param item: the user link\r\n */\r\n deleteLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/delete',\r\n item\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { BroadcastService } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { Observable, catchError, finalize, switchMap, throwError } from 'rxjs';\r\nimport { EvolutionService } from '../services/evolution.service';\r\nimport { EvolutionMessages } from '../messages';\r\nimport { EvolutionServiceFlags } from '../definitions';\r\n\r\n\r\n@Injectable()\r\nexport class EvolutionAuthInterceptor implements HttpInterceptor {\r\n private evolutionService = inject(EvolutionService);\r\n private broadcastService = inject(BroadcastService);\r\n private dialogService = inject(DialogService);\r\n private lastErrorTime: number = -1;\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (request.url.startsWith(this.evolutionService.serviceUri ?? '')) {\r\n request = request.clone({ withCredentials: true });\r\n return next.handle(this.addTokenToRequest(request))\r\n .pipe(\r\n finalize(() => this.dialogService.clearBusy()),\r\n catchError(error => {\r\n if (error.url.startsWith(this.evolutionService.serviceUri)) {\r\n if (\r\n error instanceof HttpErrorResponse &&\r\n !request.url.includes(\"/login\") &&\r\n error.status === 401\r\n ) {\r\n return this.handle401Error(request, next);\r\n }\r\n const errorStatus = parseInt(error.status ?? \"0\");\r\n if ((errorStatus > 0 && errorStatus < 500) || (this.evolutionService.flags & EvolutionServiceFlags.NotifySystemErrors) > 0) {\r\n const errorTime = new Date().getTime();\r\n if (errorTime - this.lastErrorTime > 5000) {\r\n this.lastErrorTime = errorTime;\r\n const invalidSession = errorStatus === 403;\r\n this.dialogService.error(\r\n \"<p>\" + (error.error?.message ?? error.message ?? \"Impossibile eseguire l'operazione richiesta.\").replaceAll(\"\\r\\n\", \"</p><p>\") + \"</p>\",\r\n null,\r\n \"Errore in Evolution\",\r\n undefined,\r\n undefined,\r\n invalidSession ? 5000 : 15000).afterClosed().subscribe(() => {\r\n if (invalidSession) {\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGOUT);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return throwError(() => error);\r\n }));\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n /**\r\n * Handle 401 error\r\n * @param request : the request\r\n * @param next : the http handler\r\n */\r\n private handle401Error(request: HttpRequest<any>, next: HttpHandler) {\r\n if (this.evolutionService.loggedIn()) {\r\n return this.evolutionService.refresh().pipe(\r\n switchMap(() => {\r\n return next.handle(this.addTokenToRequest(request));\r\n }),\r\n catchError(error => {\r\n return throwError(() => error);\r\n })\r\n );\r\n }\r\n return next.handle(request);\r\n }\r\n\r\n /**\r\n * Add token to request\r\n * @param request : the request\r\n * @param token: the token or null to use curre3nt\r\n */\r\n private addTokenToRequest(\r\n request: HttpRequest<any>,\r\n token: string | null = null\r\n ): HttpRequest<any> {\r\n if (request.url.startsWith(this.evolutionService.serviceUri ?? '')) {\r\n if (!token) token = this.evolutionService.getToken();\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n 'ngsw-bypass': 'ngsw-bypass'\r\n },\r\n });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class EvolutionCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './interceptors/auth.interceptor';\r\nexport * from './services/evolution.service';\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\n\r\nexport * from './common/common.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["finalize","catchError"],"mappings":"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"}
@@ -137,10 +137,10 @@ class IndexTreeDataSource {
137
137
  update() {
138
138
  this.dataChange.next(this.data);
139
139
  }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IndexTreeDataSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
141
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IndexTreeDataSource }); }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: IndexTreeDataSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
141
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: IndexTreeDataSource }); }
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: IndexTreeDataSource, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: IndexTreeDataSource, decorators: [{
144
144
  type: Injectable
145
145
  }] });
146
146
  class HelpViewerComponent {
@@ -453,10 +453,10 @@ class HelpViewerComponent {
453
453
  let n = this.history().pop();
454
454
  this.getChapter(n.id, n.position + 1);
455
455
  }
456
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HelpViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
457
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: HelpViewerComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, providers: [IndexTreeDataSource], viewQueries: [{ propertyName: "indexPane", first: true, predicate: ["indexPane"], descendants: true }], ngImport: i0, template: "<div class=\"helpviewer-fixed\">\r\n <div style=\"height:6px\">\r\n @if (busy()) {\r\n <mat-progress-bar z-index=\"11\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n <div class=\"dialog-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"dialog-menu\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Mostra menu\" [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"toggleIndexPane()\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\">\r\n <h2 mat-dialog-title>Guida</h2>\r\n </div>\r\n <div fxFlex=\"100px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (canGoBack()) {\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n</div>\r\n<mat-dialog-content id=\"helpviewer-scrollable\">\r\n <mat-drawer-container class=\"fill\">\r\n <mat-drawer #indexPane mode=\"side\" [autoFocus]=\"false\" class=\"drawer-small drawer-transparent\">\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\">\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"tree \" style=\"max-width:310px\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple tree-node-style\"\r\n (click)=\"getChapter(node.id);\" [ngClass]=\"{'tree-node-activated': indexNode && indexNode.id === node.id}\"\r\n [disabled]=\"busy()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill class=\"small uppercase\">\r\n <button type=\"button\" fxFlexAlign=\"center\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\">{{node.name}}</div>\r\n </div>\r\n </mat-tree-node>\r\n <mat-tree-node *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding [matTreeNodePaddingIndent]=\"20\"\r\n class=\"tree-node tree-node-simple tree-node-style\"\r\n [ngClass]=\"{'tree-node-activated': indexNode && indexNode.id === node.id }\" (click)=\"getChapter(node.id)\"\r\n [disabled]=\"busy()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill class=\"small uppercase\">\r\n <button type=\"button\" fxFlexAlign=\"center\" mat-icon-button matTreeNodeToggle\r\n [attr.aria-label]=\"'Apri/chiudi ' + node.name\" class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\">{{node.name}}</div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div style=\"padding: 0 24px;\">\r\n <div fxLayout=\"column\" fxFill>\r\n <div class=\"fill\" id=\"helpviewer-scroller\" (click)=\"gotoChapter($event)\"\r\n [innerHtml]=\"(page() ?? '') | safeHtml\"></div>\r\n </div>\r\n </div>\r\n </mat-drawer-container>\r\n</mat-dialog-content>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.dialog-menu{margin-top:4px!important}.tree{overflow-x:hidden}.tree-node{min-height:36px!important;padding-right:12px;margin-right:0}.tree-node .small-icon-button{width:2rem!important;height:2rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.tree-node .small-icon-button .mat-mdc-button-touch-target{width:2rem!important;height:2rem!important}.tree-node:hover{cursor:pointer;background-color:var(--mat-menu-item-hover-state-layer-color, transparent);border-radius:24px}.tree-node-simple,.tree-node-simple>div{min-height:36px!important}.tree-node-activated,.tree-node-activated>div{min-height:36px!important;font-weight:700!important;color:var(--ars-color-accent, #7894ae)!important}a.help-link,.help-link>a{text-decoration:none;color:#2a91e0}.help-title-2,.help-title-1{font-weight:600!important}.help-word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.help-hint{margin:10px;padding:5px 20px;background-color:#fafad2;border-radius:12px}.help-summary{margin:10px;padding:5px 20px;background-color:#e6e6fa;border-radius:12px}.help-img{display:flex;align-items:center;justify-content:center;margin:10px}.help-img-200,.help-img-300,.help-img-400,.help-img-500,.help-img-700,.help-img-800{width:100%}.help-img-200{max-width:200px}.help-img-300{max-width:300px}.help-img-400{max-width:400px}.help-img-500{max-width:500px}.help-img-600{max-width:600px}.help-img-700{max-width:700px}.help-img-800{max-width:800px}.help-filter-box{background-color:#f9fbe7;border-radius:12px;padding:6px;display:inline-block;margin:0 0 8px 10px}\n"], dependencies: [{ kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i7.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i7.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i8.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i8.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i8.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
456
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HelpViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: HelpViewerComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "Bind": SystemUtils.generateUUID() } }, providers: [IndexTreeDataSource], viewQueries: [{ propertyName: "indexPane", first: true, predicate: ["indexPane"], descendants: true }], ngImport: i0, template: "<div class=\"helpviewer-fixed\">\r\n <div style=\"height:6px\">\r\n @if (busy()) {\r\n <mat-progress-bar z-index=\"11\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n <div class=\"dialog-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"dialog-menu\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Mostra menu\" [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"toggleIndexPane()\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\">\r\n <h2 mat-dialog-title>Guida</h2>\r\n </div>\r\n <div fxFlex=\"100px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (canGoBack()) {\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n</div>\r\n<mat-dialog-content id=\"helpviewer-scrollable\">\r\n <mat-drawer-container class=\"fill\">\r\n <mat-drawer #indexPane mode=\"side\" [autoFocus]=\"false\" class=\"drawer-small drawer-transparent\">\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\">\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"tree \" style=\"max-width:310px\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple tree-node-style\"\r\n (click)=\"getChapter(node.id);\" [ngClass]=\"{'tree-node-activated': indexNode && indexNode.id === node.id}\"\r\n [disabled]=\"busy()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill class=\"small uppercase\">\r\n <button type=\"button\" fxFlexAlign=\"center\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\">{{node.name}}</div>\r\n </div>\r\n </mat-tree-node>\r\n <mat-tree-node *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding [matTreeNodePaddingIndent]=\"20\"\r\n class=\"tree-node tree-node-simple tree-node-style\"\r\n [ngClass]=\"{'tree-node-activated': indexNode && indexNode.id === node.id }\" (click)=\"getChapter(node.id)\"\r\n [disabled]=\"busy()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill class=\"small uppercase\">\r\n <button type=\"button\" fxFlexAlign=\"center\" mat-icon-button matTreeNodeToggle\r\n [attr.aria-label]=\"'Apri/chiudi ' + node.name\" class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\">{{node.name}}</div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div style=\"padding: 0 24px;\">\r\n <div fxLayout=\"column\" fxFill>\r\n <div class=\"fill\" id=\"helpviewer-scroller\" (click)=\"gotoChapter($event)\"\r\n [innerHtml]=\"(page() ?? '') | safeHtml\"></div>\r\n </div>\r\n </div>\r\n </mat-drawer-container>\r\n</mat-dialog-content>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.dialog-menu{margin-top:4px!important}.tree{overflow-x:hidden}.tree-node{min-height:36px!important;padding-right:12px;margin-right:0}.tree-node .small-icon-button{width:2rem!important;height:2rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.tree-node .small-icon-button .mat-mdc-button-touch-target{width:2rem!important;height:2rem!important}.tree-node:hover{cursor:pointer;background-color:var(--mat-menu-item-hover-state-layer-color, transparent);border-radius:24px}.tree-node-simple,.tree-node-simple>div{min-height:36px!important}.tree-node-activated,.tree-node-activated>div{min-height:36px!important;font-weight:700!important;color:var(--ars-color-accent, #7894ae)!important}a.help-link,.help-link>a{text-decoration:none;color:#2a91e0}.help-title-2,.help-title-1{font-weight:600!important}.help-word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.help-hint{margin:10px;padding:5px 20px;background-color:#fafad2;border-radius:12px}.help-summary{margin:10px;padding:5px 20px;background-color:#e6e6fa;border-radius:12px}.help-img{display:flex;align-items:center;justify-content:center;margin:10px}.help-img-200,.help-img-300,.help-img-400,.help-img-500,.help-img-700,.help-img-800{width:100%}.help-img-200{max-width:200px}.help-img-300{max-width:300px}.help-img-400{max-width:400px}.help-img-500{max-width:500px}.help-img-600{max-width:600px}.help-img-700{max-width:700px}.help-img-800{max-width:800px}.help-filter-box{background-color:#f9fbe7;border-radius:12px;padding:6px;display:inline-block;margin:0 0 8px 10px}\n"], dependencies: [{ kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i1.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i1.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i7.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i7.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i8.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i8.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i8.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i8.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i8.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
458
458
  }
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HelpViewerComponent, decorators: [{
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HelpViewerComponent, decorators: [{
460
460
  type: Component,
461
461
  args: [{ host: { 'Bind': SystemUtils.generateUUID() }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [IndexTreeDataSource], standalone: true, imports: [FlexLayoutModule, MatButtonModule, MatTooltipModule, MatIconModule, MatProgressBarModule, MatDialogTitle, MatDialogContent,
462
462
  NgStyle, MatSidenavModule, MatTreeModule, NgClass, SafeHtmlPipe], template: "<div class=\"helpviewer-fixed\">\r\n <div style=\"height:6px\">\r\n @if (busy()) {\r\n <mat-progress-bar z-index=\"11\" mode=\"indeterminate\"></mat-progress-bar>\r\n }\r\n </div>\r\n <div class=\"dialog-header\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"10px\" fxFill>\r\n <div class=\"dialog-menu\">\r\n <button type=\"button\" mat-icon-button matTooltip=\"Mostra menu\" [attr.aria-label]=\"'Mostra indice'\"\r\n (click)=\"toggleIndexPane()\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"*\">\r\n <h2 mat-dialog-title>Guida</h2>\r\n </div>\r\n <div fxFlex=\"100px\" fxLayoutAlign=\"end\" class=\"dialog-close\">\r\n @if (canGoBack()) {\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Indietro\" (click)=\"back()\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n }\r\n <button fxFlexAlign=\"start\" type=\"button\" mat-icon-button matTooltip=\"Chiudi\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n</div>\r\n<mat-dialog-content id=\"helpviewer-scrollable\">\r\n <mat-drawer-container class=\"fill\">\r\n <mat-drawer #indexPane mode=\"side\" [autoFocus]=\"false\" class=\"drawer-small drawer-transparent\">\r\n <div fxLayout=\"column\" fxFill>\r\n <div fxFlex=\"*\">\r\n <mat-tree [dataSource]=\"treeData\" [treeControl]=\"treeControl\" class=\"tree \" style=\"max-width:310px\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding\r\n [matTreeNodePaddingIndent]=\"20\" class=\"tree-node tree-node-simple tree-node-style\"\r\n (click)=\"getChapter(node.id);\" [ngClass]=\"{'tree-node-activated': indexNode && indexNode.id === node.id}\"\r\n [disabled]=\"busy()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill class=\"small uppercase\">\r\n <button type=\"button\" fxFlexAlign=\"center\" mat-icon-button disabled class=\"small-icon-button\"></button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\">{{node.name}}</div>\r\n </div>\r\n </mat-tree-node>\r\n <mat-tree-node *matTreeNodeDef=\"let node;when: hasChild\" matTreeNodePadding [matTreeNodePaddingIndent]=\"20\"\r\n class=\"tree-node tree-node-simple tree-node-style\"\r\n [ngClass]=\"{'tree-node-activated': indexNode && indexNode.id === node.id }\" (click)=\"getChapter(node.id)\"\r\n [disabled]=\"busy()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill class=\"small uppercase\">\r\n <button type=\"button\" fxFlexAlign=\"center\" mat-icon-button matTreeNodeToggle\r\n [attr.aria-label]=\"'Apri/chiudi ' + node.name\" class=\"small-icon-button\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\r\n </mat-icon>\r\n </button>\r\n <div fxFlex=\"*\" fxFlexAlign=\"center\">{{node.name}}</div>\r\n </div>\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n </div>\r\n </mat-drawer>\r\n <div style=\"padding: 0 24px;\">\r\n <div fxLayout=\"column\" fxFill>\r\n <div class=\"fill\" id=\"helpviewer-scroller\" (click)=\"gotoChapter($event)\"\r\n [innerHtml]=\"(page() ?? '') | safeHtml\"></div>\r\n </div>\r\n </div>\r\n </mat-drawer-container>\r\n</mat-dialog-content>", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:10px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em;font-weight:600;padding-left:10px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}.dialog-menu{margin-top:4px!important}.tree{overflow-x:hidden}.tree-node{min-height:36px!important;padding-right:12px;margin-right:0}.tree-node .small-icon-button{width:2rem!important;height:2rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.tree-node .small-icon-button .mat-mdc-button-touch-target{width:2rem!important;height:2rem!important}.tree-node:hover{cursor:pointer;background-color:var(--mat-menu-item-hover-state-layer-color, transparent);border-radius:24px}.tree-node-simple,.tree-node-simple>div{min-height:36px!important}.tree-node-activated,.tree-node-activated>div{min-height:36px!important;font-weight:700!important;color:var(--ars-color-accent, #7894ae)!important}a.help-link,.help-link>a{text-decoration:none;color:#2a91e0}.help-title-2,.help-title-1{font-weight:600!important}.help-word-hit{font-size:inherit;background-color:#ff0;border:1px solid silver;padding:0 4px}.help-hint{margin:10px;padding:5px 20px;background-color:#fafad2;border-radius:12px}.help-summary{margin:10px;padding:5px 20px;background-color:#e6e6fa;border-radius:12px}.help-img{display:flex;align-items:center;justify-content:center;margin:10px}.help-img-200,.help-img-300,.help-img-400,.help-img-500,.help-img-700,.help-img-800{width:100%}.help-img-200{max-width:200px}.help-img-300{max-width:300px}.help-img-400{max-width:400px}.help-img-500{max-width:500px}.help-img-600{max-width:600px}.help-img-700{max-width:700px}.help-img-800{max-width:800px}.help-filter-box{background-color:#f9fbe7;border-radius:12px;padding:6px;display:inline-block;margin:0 0 8px 10px}\n"] }]
@@ -527,10 +527,10 @@ class HelpService {
527
527
  height: '99%'
528
528
  });
529
529
  }
530
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HelpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
531
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HelpService, providedIn: 'root' }); }
530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HelpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
531
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HelpService, providedIn: 'root' }); }
532
532
  }
533
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HelpService, decorators: [{
533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HelpService, decorators: [{
534
534
  type: Injectable,
535
535
  args: [{
536
536
  providedIn: 'root'
@@ -538,11 +538,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
538
538
  }] });
539
539
 
540
540
  class ArsHelpModule {
541
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ArsHelpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
542
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: ArsHelpModule }); }
543
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ArsHelpModule }); }
541
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ArsHelpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
542
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: ArsHelpModule }); }
543
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ArsHelpModule }); }
544
544
  }
545
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ArsHelpModule, decorators: [{
545
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ArsHelpModule, decorators: [{
546
546
  type: NgModule
547
547
  }] });
548
548