@oneuptime/common 12.0.29 → 12.0.31

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 (664) hide show
  1. package/Models/AnalyticsModels/SecurityEvent.ts +48 -16
  2. package/Models/AnalyticsModels/ThreatIntelIndicator.ts +10 -5
  3. package/Models/DatabaseModels/AlertSeverity.ts +44 -0
  4. package/Models/DatabaseModels/DetectionRule.ts +16 -5
  5. package/Models/DatabaseModels/GoogleSecOpsConnection.ts +14 -5
  6. package/Models/DatabaseModels/IncidentSeverity.ts +44 -0
  7. package/Models/DatabaseModels/Index.ts +13 -0
  8. package/Models/DatabaseModels/NetworkDevice.ts +113 -3
  9. package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +88 -0
  10. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +22 -0
  11. package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +499 -0
  12. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
  13. package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
  14. package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
  15. package/Models/DatabaseModels/ThreatIntelFeed.ts +16 -5
  16. package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
  17. package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
  18. package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
  19. package/Server/API/GlobalConfigAPI.ts +362 -183
  20. package/Server/API/OnCallCalendarAPI.ts +2194 -0
  21. package/Server/API/TelemetryAPI.ts +42 -4
  22. package/Server/EnvironmentConfig.ts +250 -0
  23. package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.ts +59 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.ts +25 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  28. package/Server/Middleware/MultipartFormData.ts +118 -32
  29. package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
  30. package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +9 -1
  31. package/Server/Services/AlertEpisodeOnCallRuleEngineService.ts +9 -1
  32. package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +9 -1
  33. package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +9 -1
  34. package/Server/Services/AlertGroupingEngineService.ts +9 -1
  35. package/Server/Services/AlertLabelRuleEngineService.ts +9 -1
  36. package/Server/Services/AlertOnCallRuleEngineService.ts +9 -1
  37. package/Server/Services/AlertOwnerRuleEngineService.ts +9 -1
  38. package/Server/Services/AlertPrivacyRuleEngineService.ts +9 -1
  39. package/Server/Services/AlertReminderRuleService.ts +9 -1
  40. package/Server/Services/AutoRemediationRuleEngineService.ts +9 -1
  41. package/Server/Services/CephClusterLabelRuleEngineService.ts +9 -1
  42. package/Server/Services/CephClusterOwnerRuleEngineService.ts +9 -1
  43. package/Server/Services/CloudResourceLabelRuleEngineService.ts +9 -1
  44. package/Server/Services/CloudResourceOwnerRuleEngineService.ts +9 -1
  45. package/Server/Services/DashboardLabelRuleEngineService.ts +9 -1
  46. package/Server/Services/DashboardOwnerRuleEngineService.ts +9 -1
  47. package/Server/Services/DockerHostLabelRuleEngineService.ts +9 -1
  48. package/Server/Services/DockerHostOwnerRuleEngineService.ts +9 -1
  49. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +9 -1
  50. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +9 -1
  51. package/Server/Services/HostLabelRuleEngineService.ts +9 -1
  52. package/Server/Services/HostOwnerRuleEngineService.ts +9 -1
  53. package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +9 -1
  54. package/Server/Services/IncidentEpisodeOnCallRuleEngineService.ts +9 -1
  55. package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +9 -1
  56. package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +9 -1
  57. package/Server/Services/IncidentGroupingEngineService.ts +9 -1
  58. package/Server/Services/IncidentLabelRuleEngineService.ts +9 -1
  59. package/Server/Services/IncidentOnCallRuleEngineService.ts +9 -1
  60. package/Server/Services/IncidentOwnerRuleEngineService.ts +9 -1
  61. package/Server/Services/IncidentPrivacyRuleEngineService.ts +9 -1
  62. package/Server/Services/IncidentReminderRuleService.ts +9 -1
  63. package/Server/Services/IncidentSlaRuleService.ts +9 -1
  64. package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +9 -1
  65. package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +9 -1
  66. package/Server/Services/Index.ts +14 -0
  67. package/Server/Services/IoTFleetLabelRuleEngineService.ts +9 -1
  68. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +9 -1
  69. package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +9 -1
  70. package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +9 -1
  71. package/Server/Services/KubernetesResourceService.ts +5 -1
  72. package/Server/Services/MonitorLabelRuleEngineService.ts +9 -1
  73. package/Server/Services/MonitorOwnerRuleEngineService.ts +9 -1
  74. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +35 -0
  75. package/Server/Services/NetworkDeviceAutoImportRuleService.ts +96 -0
  76. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +9 -1
  77. package/Server/Services/NetworkDeviceOidTemplateService.ts +201 -0
  78. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +9 -1
  79. package/Server/Services/NetworkDeviceService.ts +209 -1
  80. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
  81. package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +9 -1
  82. package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +9 -1
  83. package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
  84. package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +9 -1
  85. package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
  86. package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
  87. package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +9 -1
  88. package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
  89. package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
  90. package/Server/Services/PodmanHostLabelRuleEngineService.ts +9 -1
  91. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +9 -1
  92. package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
  93. package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +9 -1
  94. package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +9 -1
  95. package/Server/Services/RumApplicationLabelRuleEngineService.ts +9 -1
  96. package/Server/Services/RumApplicationOwnerRuleEngineService.ts +9 -1
  97. package/Server/Services/RunbookLabelRuleEngineService.ts +9 -1
  98. package/Server/Services/RunbookOwnerRuleEngineService.ts +9 -1
  99. package/Server/Services/RunbookRuleEngineService.ts +9 -1
  100. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +9 -1
  101. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +9 -1
  102. package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +9 -1
  103. package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +9 -1
  104. package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +9 -1
  105. package/Server/Services/ServiceLabelRuleEngineService.ts +9 -1
  106. package/Server/Services/ServiceOwnerRuleEngineService.ts +9 -1
  107. package/Server/Services/StatusPageLabelRuleEngineService.ts +9 -1
  108. package/Server/Services/StatusPageMonitorRuleEngineService.ts +7 -0
  109. package/Server/Services/StatusPageOwnerRuleEngineService.ts +9 -1
  110. package/Server/Services/TeamMemberService.ts +489 -1
  111. package/Server/Services/TeamService.ts +50 -0
  112. package/Server/Services/TelemetrySourceMapService.ts +266 -23
  113. package/Server/Services/UserNotificationSettingService.ts +44 -1
  114. package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
  115. package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
  116. package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
  117. package/Server/Services/UserService.ts +27 -0
  118. package/Server/Services/WorkflowLabelRuleEngineService.ts +9 -1
  119. package/Server/Services/WorkflowOwnerRuleEngineService.ts +9 -1
  120. package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +186 -0
  121. package/Server/Utils/Monitor/CapturedMetricAttributeUtil.ts +245 -0
  122. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +21 -2
  123. package/Server/Utils/Monitor/MonitorMetricUtil.ts +55 -21
  124. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +32 -0
  125. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +15 -2
  126. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +18 -1
  127. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +10 -0
  128. package/Server/Utils/Monitor/SeriesResourceLabels.ts +34 -0
  129. package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
  130. package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
  131. package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
  132. package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
  133. package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
  134. package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
  135. package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
  136. package/Server/Utils/Response.ts +134 -0
  137. package/Server/Utils/Rules/RuleEngineRuleRead.ts +48 -0
  138. package/Server/Utils/StartServer.ts +10 -0
  139. package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
  140. package/Server/Utils/Telemetry/ExceptionSanitizer.ts +14 -1
  141. package/Server/Utils/Telemetry/LogExceptionExtractor.ts +14 -2
  142. package/Server/Utils/Telemetry/SourceMapResolver.ts +16 -5
  143. package/Server/Utils/Telemetry/StackTraceParser.ts +399 -0
  144. package/Tests/App/Dashboard/EventOverlayHook.test.tsx +125 -0
  145. package/Tests/App/Dashboard/HeaderImageAssets.test.tsx +93 -0
  146. package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
  147. package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
  148. package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
  149. package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
  150. package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
  151. package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3 -3
  152. package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
  153. package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
  154. package/Tests/App/Dashboard/UserElementEmail.test.tsx +12 -4
  155. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +1 -1
  156. package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
  157. package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +14 -0
  158. package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +469 -0
  159. package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
  160. package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
  161. package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
  162. package/Tests/Models/SecurityDomainAccessControl.test.ts +429 -0
  163. package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
  164. package/Tests/Server/API/GlobalConfigLicense.test.ts +657 -0
  165. package/Tests/Server/API/Helpers.ts +8 -0
  166. package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
  167. package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +84 -6
  168. package/Tests/Server/API/TelemetryResolveStackTraceAPI.test.ts +805 -0
  169. package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
  170. package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
  171. package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +394 -0
  172. package/Tests/Server/Middleware/IdentityRateLimit.test.ts +1144 -0
  173. package/Tests/Server/Middleware/MultipartFormData.test.ts +618 -3
  174. package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
  175. package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
  176. package/Tests/Server/Services/MonitorLabelRuleEngineScale.test.ts +520 -0
  177. package/Tests/Server/Services/NetworkDeviceOidTemplateService.test.ts +332 -0
  178. package/Tests/Server/Services/NetworkDeviceOidTemplateWriteGuards.test.ts +409 -0
  179. package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
  180. package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
  181. package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
  182. package/Tests/Server/Services/RuleEngineRuleFetchLimit.test.ts +239 -0
  183. package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
  184. package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
  185. package/Tests/Server/Services/TelemetrySourceMapService.test.ts +1210 -2
  186. package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
  187. package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
  188. package/Tests/Server/Services/UserServiceSeatLimit.test.ts +182 -0
  189. package/Tests/Server/Types/AnalyticsDatabase/SecurityEventModelPermission.test.ts +255 -0
  190. package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
  191. package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +212 -0
  192. package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +413 -0
  193. package/Tests/Server/Utils/CodeRepository.test.ts +689 -0
  194. package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +495 -0
  195. package/Tests/Server/Utils/ExceptionSanitizer.test.ts +77 -0
  196. package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +284 -0
  197. package/Tests/Server/Utils/Monitor/MonitorCustomMetricAttributes.test.ts +503 -0
  198. package/Tests/Server/Utils/Monitor/MonitorTemplatePrototypePollution.test.ts +106 -0
  199. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +33 -4
  200. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +14 -4
  201. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +44 -0
  202. package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
  203. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
  204. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
  205. package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
  206. package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
  207. package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
  208. package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
  209. package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
  210. package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
  211. package/Tests/Server/Utils/OpenAPISpec.test.ts +536 -0
  212. package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
  213. package/Tests/Server/Utils/Rules/RuleEngineRuleRead.test.ts +115 -0
  214. package/Tests/Server/Utils/StackTraceParser.test.ts +610 -0
  215. package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
  216. package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
  217. package/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.ts +0 -0
  218. package/Tests/Server/Utils/Telemetry/SourceMapLimits.test.ts +656 -0
  219. package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +100 -0
  220. package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
  221. package/Tests/Types/Monitor/SnmpMonitor/SnmpOidListUtil.test.ts +454 -0
  222. package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
  223. package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
  224. package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
  225. package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
  226. package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
  227. package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
  228. package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
  229. package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
  230. package/Tests/Types/SecurityRolePermissions.test.ts +193 -0
  231. package/Tests/UI/Components/Charts/AnnotationLayout.test.ts +773 -0
  232. package/Tests/UI/Components/Charts/ChartAnnotationRail.test.tsx +789 -0
  233. package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +254 -0
  234. package/Tests/UI/Components/Charts/TimeAnnotation.test.ts +471 -0
  235. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +405 -0
  236. package/Tests/UI/Components/ErrorMessageRefreshControl.test.tsx +83 -0
  237. package/Tests/UI/Components/MarkdownConverters.test.ts +686 -0
  238. package/Tests/UI/Components/ModelTable/BaseModelTableDeleteAndEmptyStates.test.tsx +341 -0
  239. package/Tests/UI/Components/OrderedStatesList.test.tsx +5 -5
  240. package/Tests/UI/Components/PendingProjectInvitations.test.tsx +1 -1
  241. package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +195 -0
  242. package/Tests/UI/Components/XAxis.test.ts +270 -5
  243. package/Tests/UI/Components/XAxisDaylightSaving.test.ts +113 -0
  244. package/Tests/UI/Styles/ChartFocusRing.test.ts +153 -0
  245. package/Tests/UI/Styles/ChartFocusRingCoverage.test.tsx +377 -0
  246. package/Tests/UI/Styles/ThemeStylesheet.ts +162 -0
  247. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
  248. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  249. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +507 -0
  250. package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +951 -1
  251. package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +238 -0
  252. package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +1056 -0
  253. package/Tests/Utils/NetworkDiscovery/ReverseDnsNameUtil.test.ts +882 -0
  254. package/Types/Calendar/ICalendar.ts +442 -0
  255. package/Types/Date.ts +39 -0
  256. package/Types/Email/EmailTemplateType.ts +2 -0
  257. package/Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts +333 -0
  258. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  259. package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
  260. package/Types/OnCallDutyPolicy/Layer.ts +190 -35
  261. package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
  262. package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
  263. package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
  264. package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
  265. package/Types/Permission.ts +96 -0
  266. package/Types/Rum/SessionReplay.ts +21 -0
  267. package/Types/Telemetry/SourceMap.ts +8 -0
  268. package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.tsx +176 -0
  269. package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.ts +745 -0
  270. package/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.tsx +576 -0
  271. package/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.tsx +204 -0
  272. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +491 -544
  273. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +324 -372
  274. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +487 -540
  275. package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +7 -3
  276. package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +14 -3
  277. package/UI/Components/Charts/Types/ChartEventKind.ts +13 -0
  278. package/UI/Components/Charts/Types/ReferenceRegionProps.ts +6 -0
  279. package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +20 -3
  280. package/UI/Components/Charts/Utils/TimeAnnotation.ts +69 -35
  281. package/UI/Components/Charts/Utils/XAxis.ts +125 -18
  282. package/UI/Components/EditionLabel/EditionLabel.tsx +280 -26
  283. package/UI/Components/ErrorMessage/ErrorMessage.tsx +21 -10
  284. package/UI/Components/Feed/FeedItem.tsx +4 -5
  285. package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -2
  286. package/UI/Components/Header/UserProfile/UserProfile.tsx +1 -2
  287. package/UI/Components/Image/Image.tsx +20 -3
  288. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  289. package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +1 -2
  290. package/UI/Components/ModelTable/BaseModelTable.tsx +150 -24
  291. package/UI/Components/Table/TableHeader.tsx +64 -48
  292. package/UI/Components/Table/TableRow.tsx +13 -3
  293. package/UI/Styles/Theme.css +38 -0
  294. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +271 -0
  295. package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +6 -0
  296. package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +141 -10
  297. package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +55 -3
  298. package/Utils/NetworkDiscovery/ReverseDnsNameUtil.ts +151 -0
  299. package/Utils/Rules/RuleEngineLimits.ts +32 -0
  300. package/build/dist/Models/AnalyticsModels/SecurityEvent.js +48 -16
  301. package/build/dist/Models/AnalyticsModels/SecurityEvent.js.map +1 -1
  302. package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +10 -5
  303. package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -1
  304. package/build/dist/Models/DatabaseModels/AlertSeverity.js +46 -1
  305. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  306. package/build/dist/Models/DatabaseModels/DetectionRule.js +16 -5
  307. package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +14 -5
  309. package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +46 -1
  311. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/Index.js +13 -0
  313. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/NetworkDevice.js +115 -3
  315. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  316. package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +88 -0
  317. package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
  318. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  319. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +519 -0
  320. package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -0
  321. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
  322. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  323. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
  324. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
  325. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
  326. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
  327. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +16 -5
  328. package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -1
  329. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
  330. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
  331. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
  332. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
  333. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
  334. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
  335. package/build/dist/Server/API/GlobalConfigAPI.js +293 -176
  336. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  337. package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
  338. package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
  339. package/build/dist/Server/API/TelemetryAPI.js +31 -3
  340. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  341. package/build/dist/Server/EnvironmentConfig.js +185 -0
  342. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  343. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
  344. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
  345. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
  346. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
  347. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js +26 -0
  348. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js.map +1 -0
  349. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js +14 -0
  350. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js.map +1 -0
  351. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  352. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  353. package/build/dist/Server/Middleware/MultipartFormData.js +93 -28
  354. package/build/dist/Server/Middleware/MultipartFormData.js.map +1 -1
  355. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
  356. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
  357. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +8 -1
  358. package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
  359. package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js +8 -1
  360. package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js.map +1 -1
  361. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +8 -1
  362. package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
  363. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +8 -1
  364. package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
  365. package/build/dist/Server/Services/AlertGroupingEngineService.js +8 -1
  366. package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
  367. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +8 -1
  368. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  369. package/build/dist/Server/Services/AlertOnCallRuleEngineService.js +8 -1
  370. package/build/dist/Server/Services/AlertOnCallRuleEngineService.js.map +1 -1
  371. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +8 -1
  372. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  373. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +8 -1
  374. package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
  375. package/build/dist/Server/Services/AlertReminderRuleService.js +8 -1
  376. package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
  377. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +8 -1
  378. package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
  379. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +8 -1
  380. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
  381. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +8 -1
  382. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
  383. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +8 -1
  384. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
  385. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +8 -1
  386. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
  387. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +8 -1
  388. package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
  389. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +8 -1
  390. package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
  391. package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +8 -1
  392. package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
  393. package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +8 -1
  394. package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
  395. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +8 -1
  396. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
  397. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +8 -1
  398. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
  399. package/build/dist/Server/Services/HostLabelRuleEngineService.js +8 -1
  400. package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
  401. package/build/dist/Server/Services/HostOwnerRuleEngineService.js +8 -1
  402. package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
  403. package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +8 -1
  404. package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
  405. package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js +8 -1
  406. package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js.map +1 -1
  407. package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +8 -1
  408. package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
  409. package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +8 -1
  410. package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
  411. package/build/dist/Server/Services/IncidentGroupingEngineService.js +8 -1
  412. package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
  413. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +8 -1
  414. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  415. package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js +8 -1
  416. package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js.map +1 -1
  417. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +8 -1
  418. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  419. package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +8 -1
  420. package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
  421. package/build/dist/Server/Services/IncidentReminderRuleService.js +8 -1
  422. package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -1
  423. package/build/dist/Server/Services/IncidentSlaRuleService.js +8 -1
  424. package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -1
  425. package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +8 -1
  426. package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
  427. package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +8 -1
  428. package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
  429. package/build/dist/Server/Services/Index.js +14 -0
  430. package/build/dist/Server/Services/Index.js.map +1 -1
  431. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +8 -1
  432. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
  433. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +8 -1
  434. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
  435. package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +8 -1
  436. package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
  437. package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +8 -1
  438. package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
  439. package/build/dist/Server/Services/KubernetesResourceService.js +5 -1
  440. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
  441. package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +8 -1
  442. package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
  443. package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +8 -1
  444. package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
  445. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +30 -21
  446. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
  447. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +64 -0
  448. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
  449. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +8 -1
  450. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
  451. package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js +180 -0
  452. package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js.map +1 -0
  453. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +8 -1
  454. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
  455. package/build/dist/Server/Services/NetworkDeviceService.js +154 -1
  456. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  457. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
  458. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  459. package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +8 -1
  460. package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
  461. package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +8 -1
  462. package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
  463. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
  464. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
  465. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +8 -1
  466. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
  467. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
  468. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
  469. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
  470. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
  471. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +8 -1
  472. package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
  473. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
  474. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
  475. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
  476. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
  477. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +8 -1
  478. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
  479. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +8 -1
  480. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
  481. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
  482. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
  483. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +8 -1
  484. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
  485. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +8 -1
  486. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
  487. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +8 -1
  488. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
  489. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +8 -1
  490. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
  491. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +8 -1
  492. package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
  493. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +8 -1
  494. package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
  495. package/build/dist/Server/Services/RunbookRuleEngineService.js +8 -1
  496. package/build/dist/Server/Services/RunbookRuleEngineService.js.map +1 -1
  497. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +8 -1
  498. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  499. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +8 -1
  500. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  501. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +8 -1
  502. package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
  503. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +8 -1
  504. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
  505. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +8 -1
  506. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
  507. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +8 -1
  508. package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
  509. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +8 -1
  510. package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
  511. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +8 -1
  512. package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
  513. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +6 -0
  514. package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -1
  515. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +8 -1
  516. package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
  517. package/build/dist/Server/Services/TeamMemberService.js +396 -1
  518. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  519. package/build/dist/Server/Services/TeamService.js +43 -0
  520. package/build/dist/Server/Services/TeamService.js.map +1 -1
  521. package/build/dist/Server/Services/TelemetrySourceMapService.js +213 -19
  522. package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -1
  523. package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
  524. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  525. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
  526. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
  527. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
  528. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
  529. package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
  530. package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
  531. package/build/dist/Server/Services/UserService.js +25 -0
  532. package/build/dist/Server/Services/UserService.js.map +1 -1
  533. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +8 -1
  534. package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
  535. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +8 -1
  536. package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
  537. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +145 -0
  538. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +1 -0
  539. package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js +201 -0
  540. package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js.map +1 -0
  541. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +19 -2
  542. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  543. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +42 -23
  544. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  545. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +29 -0
  546. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  547. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +11 -2
  548. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
  549. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +16 -1
  550. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
  551. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +10 -0
  552. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  553. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +33 -0
  554. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  555. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
  556. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
  557. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
  558. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
  559. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
  560. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
  561. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
  562. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
  563. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
  564. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
  565. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
  566. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
  567. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
  568. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
  569. package/build/dist/Server/Utils/Response.js +97 -0
  570. package/build/dist/Server/Utils/Response.js.map +1 -1
  571. package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js +37 -0
  572. package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js.map +1 -0
  573. package/build/dist/Server/Utils/StartServer.js +9 -1
  574. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  575. package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
  576. package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
  577. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +12 -1
  578. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -1
  579. package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +14 -2
  580. package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
  581. package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +15 -5
  582. package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -1
  583. package/build/dist/Server/Utils/Telemetry/StackTraceParser.js +307 -0
  584. package/build/dist/Server/Utils/Telemetry/StackTraceParser.js.map +1 -1
  585. package/build/dist/Types/Calendar/ICalendar.js +290 -0
  586. package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
  587. package/build/dist/Types/Date.js +27 -0
  588. package/build/dist/Types/Date.js.map +1 -1
  589. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  590. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  591. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js +253 -0
  592. package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js.map +1 -0
  593. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  594. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  595. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
  596. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
  597. package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
  598. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  599. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
  600. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
  601. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
  602. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
  603. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
  604. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
  605. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
  606. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
  607. package/build/dist/Types/Permission.js +86 -0
  608. package/build/dist/Types/Permission.js.map +1 -1
  609. package/build/dist/Types/Rum/SessionReplay.js +19 -0
  610. package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
  611. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js +83 -0
  612. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js.map +1 -0
  613. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js +531 -0
  614. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js.map +1 -0
  615. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js +264 -0
  616. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js.map +1 -0
  617. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js +122 -0
  618. package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js.map +1 -0
  619. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +213 -233
  620. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  621. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +139 -152
  622. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  623. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +212 -232
  624. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  625. package/build/dist/UI/Components/Charts/Types/ChartEventKind.js +14 -0
  626. package/build/dist/UI/Components/Charts/Types/ChartEventKind.js.map +1 -0
  627. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +57 -28
  628. package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
  629. package/build/dist/UI/Components/Charts/Utils/XAxis.js +103 -17
  630. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  631. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +198 -23
  632. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  633. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +15 -5
  634. package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
  635. package/build/dist/UI/Components/Feed/FeedItem.js +4 -5
  636. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  637. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -2
  638. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
  639. package/build/dist/UI/Components/Header/UserProfile/UserProfile.js.map +1 -1
  640. package/build/dist/UI/Components/Image/Image.js +6 -1
  641. package/build/dist/UI/Components/Image/Image.js.map +1 -1
  642. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  643. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  644. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +1 -2
  645. package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
  646. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +104 -23
  647. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  648. package/build/dist/UI/Components/Table/TableHeader.js +20 -22
  649. package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
  650. package/build/dist/UI/Components/Table/TableRow.js +13 -4
  651. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  652. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +153 -0
  653. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -0
  654. package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
  655. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +127 -7
  656. package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
  657. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +50 -3
  658. package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
  659. package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js +132 -0
  660. package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js.map +1 -0
  661. package/build/dist/Utils/Rules/RuleEngineLimits.js +31 -0
  662. package/build/dist/Utils/Rules/RuleEngineLimits.js.map +1 -0
  663. package/jest.config.json +1 -0
  664. package/package.json +2 -2
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ import QueryHelper from "../Types/Database/QueryHelper";
10
11
  import DatabaseService from "./DatabaseService";
11
12
  import LIMIT_MAX from "../../Types/Database/LimitMax";
12
13
  import BadDataException from "../../Types/Exception/BadDataException";
@@ -16,6 +17,7 @@ import ObjectID from "../../Types/ObjectID";
16
17
  import PositiveNumber from "../../Types/PositiveNumber";
17
18
  import TeamMemberService from "./TeamMemberService";
18
19
  import ProjectSCIMService from "./ProjectSCIMService";
20
+ import ModelPermission from "../Types/Database/Permissions/Index";
19
21
  export class Service extends DatabaseService {
20
22
  constructor() {
21
23
  super(Model);
@@ -117,6 +119,7 @@ export class Service extends DatabaseService {
117
119
  limit: LIMIT_MAX,
118
120
  skip: 0,
119
121
  select: {
122
+ _id: true,
120
123
  name: true,
121
124
  isTeamDeleteable: true,
122
125
  projectId: true,
@@ -141,6 +144,46 @@ export class Service extends DatabaseService {
141
144
  throw new BadDataException(`${team.name || "This"} team cannot be deleted its a critical team for this project.`);
142
145
  }
143
146
  }
147
+ /*
148
+ * Delete these teams' memberships THROUGH TeamMemberService before the
149
+ * team rows go. The TeamMember.teamId FK is ON DELETE CASCADE, so leaving
150
+ * the rows to Postgres would remove them hook-free: no token refresh, no
151
+ * seat update, no notification-settings cleanup and no on-call cleanup —
152
+ * a user whose ONLY team was deleted kept their schedule-layer and
153
+ * escalation-rule assignments, their personal calendar feed stayed
154
+ * enabled and the rotateWhenMemberLeaves feeds were never rotated, so
155
+ * the schedule kept rotating onto (and paging) an ex-member. Runs after
156
+ * the guards above so a refused delete removes nobody. Mirrors the SCIM
157
+ * group-delete path, which already deletes members first for the same
158
+ * reason.
159
+ */
160
+ const teamIds = teams
161
+ .map((team) => {
162
+ return team.id;
163
+ })
164
+ .filter((teamId) => {
165
+ return Boolean(teamId);
166
+ });
167
+ if (teamIds.length > 0) {
168
+ /*
169
+ * DatabaseService checks DELETE permission AFTER this hook runs, and the
170
+ * lookup above only needed READ permission. Since we are about to delete
171
+ * rows on the caller's behalf, check the caller's delete permission on
172
+ * Team FIRST — otherwise someone who may read teams but not delete them
173
+ * would still wipe every membership before being refused. The framework
174
+ * re-runs the same check on the untouched query straight after, so this
175
+ * changes nothing for a caller who is allowed.
176
+ */
177
+ await ModelPermission.checkDeleteQueryPermission(Model, deleteBy.query, deleteBy.props);
178
+ await TeamMemberService.deleteBy({
179
+ query: {
180
+ teamId: QueryHelper.any(teamIds),
181
+ },
182
+ limit: LIMIT_MAX,
183
+ skip: 0,
184
+ props: { isRoot: true },
185
+ });
186
+ }
144
187
  return { deleteBy, carryForward: null };
145
188
  }
146
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TeamService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TeamService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamService.ts"],"names":[],"mappings":"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"}
@@ -15,21 +15,30 @@ import SortOrder from "../../Types/BaseDatabase/SortOrder";
15
15
  import LIMIT_MAX from "../../Types/Database/LimitMax";
16
16
  import QueryHelper from "../Types/Database/QueryHelper";
17
17
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
18
- import SourceMapResolver, { MAX_SOURCE_MAP_SIZE_IN_BYTES, } from "../Utils/Telemetry/SourceMapResolver";
18
+ import logger from "../Utils/Logger";
19
+ import SourceMapResolver, { MAX_FRAMES_TO_RESOLVE, MAX_SOURCE_MAP_SIZE_IN_BYTES, } from "../Utils/Telemetry/SourceMapResolver";
20
+ import { SourceMapMaxBytesPerResolve, SourceMapMaxMapsPerRelease, SourceMapRetentionInDays, } from "../EnvironmentConfig";
19
21
  export { MAX_SOURCE_MAP_SIZE_IN_BYTES };
20
22
  /*
21
23
  * How long uploaded maps are kept. Old releases age out automatically —
22
24
  * a map is only useful while exceptions from its release are still within
23
- * telemetry retention, and 90 days comfortably exceeds the default.
25
+ * telemetry retention, and the default comfortably exceeds it.
26
+ * SOURCE_MAP_RETENTION_DAYS overrides it.
24
27
  */
25
- export const SOURCE_MAP_RETENTION_DAYS = 90;
28
+ export const SOURCE_MAP_RETENTION_DAYS = SourceMapRetentionInDays;
26
29
  /*
27
- * How many maps one (service, release) pair may hold. Enforced by the
28
- * upload endpoint (existing bundles + new bundles must fit) and used as
29
- * the resolver's read limit, so nothing stored is ever silently ignored.
30
- * A build rarely emits more than a few dozen chunks with maps.
30
+ * How many distinct bundles one (service, release) pair may hold, from
31
+ * SOURCE_MAP_MAX_MAPS_PER_RELEASE.
32
+ *
33
+ * This is a WRITE gate and nothing else: the upload endpoint checks that
34
+ * existing bundles + new bundles fit, and rejects with a 400 naming the
35
+ * limit. It used to double as the resolver's read limit, which coupled two
36
+ * different quantities — distinct bundle paths on the write side, rows on
37
+ * the read side — and made raising it dangerous. resolveFramesForService now
38
+ * bounds itself by BYTES loaded (SourceMapMaxBytesPerResolve), so a release
39
+ * that fits this ceiling always resolves in full.
31
40
  */
32
- export const MAX_SOURCE_MAPS_PER_RELEASE = 100;
41
+ export const MAX_SOURCE_MAPS_PER_RELEASE = SourceMapMaxMapsPerRelease;
33
42
  export class Service extends DatabaseService {
34
43
  constructor() {
35
44
  super(Model);
@@ -55,9 +64,92 @@ export class Service extends DatabaseService {
55
64
  if (!createBy.data.serviceVersion || !createBy.data.serviceVersion.trim()) {
56
65
  throw new BadDataException("Service version is required.");
57
66
  }
67
+ await this.assertReleaseHasRoomFor(createBy);
58
68
  createBy.data.sizeInBytes = Buffer.byteLength(content, "utf8");
59
69
  return { createBy, carryForward: null };
60
70
  }
71
+ /**
72
+ * Enforce the per-release ceiling on the create path itself.
73
+ *
74
+ * The upload endpoint checks the whole batch up front, which is where the
75
+ * useful error message lives — but TelemetrySourceMap is a full CRUD
76
+ * resource, so POST /api/telemetry-source-map reaches create() without ever
77
+ * passing that check. Without this the configured ceiling was advisory on
78
+ * that path, and a release could quietly grow past what the operator set.
79
+ *
80
+ * Two steps, so the common case stays cheap: an indexed COUNT on every
81
+ * insert, and the exact distinct-bundle answer only once that COUNT says
82
+ * the release is at the boundary. A release is written once per CI run, and
83
+ * on the upload path the batch check has already passed, so the second step
84
+ * is effectively unreachable there.
85
+ */
86
+ async assertReleaseHasRoomFor(createBy) {
87
+ const projectId = createBy.data.projectId || createBy.props.tenantId || undefined;
88
+ const serviceId = createBy.data.serviceId || undefined;
89
+ const serviceVersion = createBy.data.serviceVersion;
90
+ /*
91
+ * Not a silent pass: a create missing any of these cannot be scoped to a
92
+ * release, and the tenant column / required-column checks reject it on
93
+ * their own with a better message than a count could give.
94
+ */
95
+ if (!projectId || !serviceId || !serviceVersion) {
96
+ return;
97
+ }
98
+ /*
99
+ * Cheap check first, and it is the one that runs in practice: a COUNT of
100
+ * ROWS on the (projectId, serviceId, serviceVersion) index. Below the
101
+ * ceiling there is nothing to decide, whatever the rows contain.
102
+ */
103
+ const existingRowCount = await this.countBy({
104
+ query: {
105
+ projectId: projectId,
106
+ serviceId: serviceId,
107
+ serviceVersion: serviceVersion,
108
+ },
109
+ skip: 0,
110
+ limit: LIMIT_MAX,
111
+ props: {
112
+ isRoot: true,
113
+ },
114
+ });
115
+ if (existingRowCount.toNumber() < MAX_SOURCE_MAPS_PER_RELEASE) {
116
+ return;
117
+ }
118
+ /*
119
+ * At or above the ceiling on rows — but rows are not the unit the ceiling
120
+ * is expressed in. The model deliberately allows more than one row per
121
+ * bundle (a racing double upload must not fail CI), so rejecting on the
122
+ * row count would fail a legitimate re-upload of a full release purely
123
+ * because a duplicate row exists. Pay for the exact answer only here,
124
+ * where the fast path has already established this is the boundary.
125
+ */
126
+ const storedBundlePaths = await this.getStoredBundlePathsForRelease({
127
+ projectId: projectId,
128
+ serviceId: serviceId,
129
+ serviceVersion: serviceVersion,
130
+ });
131
+ const distinctBundlePaths = new Set(storedBundlePaths.map((bundlePath) => {
132
+ return SourceMapResolver.normalizePath(bundlePath);
133
+ }));
134
+ /*
135
+ * Normalized, which makes this backstop slightly MORE permissive than the
136
+ * upload endpoint's raw-path gate. That is the right direction for a
137
+ * backstop: it must never be the thing that fails a request the primary
138
+ * gate already approved.
139
+ */
140
+ const incomingBundlePath = SourceMapResolver.normalizePath(createBy.data.bundlePath || "");
141
+ /*
142
+ * Adding a row for a bundle the release already holds does not grow the
143
+ * release, so it stays allowed even at the ceiling. Only a NEW distinct
144
+ * bundle is refused.
145
+ */
146
+ if (distinctBundlePaths.has(incomingBundlePath)) {
147
+ return;
148
+ }
149
+ if (distinctBundlePaths.size >= MAX_SOURCE_MAPS_PER_RELEASE) {
150
+ throw new BadDataException(`This release already holds ${distinctBundlePaths.size} source maps, which is the limit of ${MAX_SOURCE_MAPS_PER_RELEASE} per release. Delete unused maps, use a new serviceVersion, or raise SOURCE_MAP_MAX_MAPS_PER_RELEASE.`);
151
+ }
152
+ }
61
153
  /**
62
154
  * Bundle paths currently stored for a (project, service, release) tuple.
63
155
  * Used by the upload endpoint to enforce the per-release ceiling without
@@ -138,14 +230,25 @@ export class Service extends DatabaseService {
138
230
  }),
139
231
  resolvedCount: 0,
140
232
  sourceMapCount: 0,
233
+ sourceMapsSkippedForSize: 0,
141
234
  };
142
235
  }
143
236
  /*
144
- * Two-step fetch: list bundle paths first (cheap), then pull content
145
- * only for bundles that at least one frame can match. Maps can be tens
146
- * of megabytes each and a release may store up to
147
- * MAX_SOURCE_MAPS_PER_RELEASE of them loading them all for every
148
- * exception view would be a memory hazard for no benefit.
237
+ * Two-step fetch: list bundle paths first (cheap — no content), then pull
238
+ * content only for the bundles a frame can match, and only as many of
239
+ * those as the byte budget allows. Maps can be tens of megabytes each, so
240
+ * loading a whole release for every exception view would be a memory
241
+ * hazard for no benefit.
242
+ *
243
+ * The listing reads with LIMIT_MAX rather than the per-release ceiling.
244
+ * The ceiling counts distinct bundle PATHS, while a read limit counts
245
+ * ROWS, and duplicate rows for one bundle are deliberately allowed (see
246
+ * the model: a racing double upload must not fail CI). With the two
247
+ * numbers equal, one duplicate row was enough to push a distinct bundle
248
+ * out of resolution — it stored fine, showed in the dashboard, and
249
+ * silently never resolved. Reading everything and deduping afterwards
250
+ * removes that coupling; memory is bounded below by bytes, not by how
251
+ * many rows a content-free listing returns.
149
252
  */
150
253
  const sourceMapRows = await this.findBy({
151
254
  query: {
@@ -157,11 +260,12 @@ export class Service extends DatabaseService {
157
260
  _id: true,
158
261
  bundlePath: true,
159
262
  createdAt: true,
263
+ sizeInBytes: true,
160
264
  },
161
265
  sort: {
162
266
  createdAt: SortOrder.Descending,
163
267
  },
164
- limit: MAX_SOURCE_MAPS_PER_RELEASE,
268
+ limit: LIMIT_MAX,
165
269
  skip: 0,
166
270
  props: {
167
271
  isRoot: true,
@@ -184,11 +288,89 @@ export class Service extends DatabaseService {
184
288
  seenBundlePaths.add(normalizedPath);
185
289
  dedupedRows.push(row);
186
290
  }
187
- const matchedRows = dedupedRows.filter((row) => {
188
- return data.frames.some((frame) => {
189
- return (SourceMapResolver.getMatchScore(frame.fileName, row.bundlePath || "") > 0);
190
- });
291
+ /*
292
+ * Only the frames resolveFrames will actually attempt can pull a map in.
293
+ * Matching against every frame would let a caller-supplied array drive an
294
+ * O(rows x frames) scan and select maps that could never be used anyway —
295
+ * the frames array is parsed from client-supplied stack trace text, so it
296
+ * is capped rather than trusted (the API rejects absurd lengths outright).
297
+ */
298
+ const framesForMatching = data.frames.slice(0, MAX_FRAMES_TO_RESOLVE);
299
+ /*
300
+ * Score every candidate against those frames. The score is how many
301
+ * trailing path segments the frame and the bundle share, so a frame
302
+ * "static/main.a8f1.js" prefers the bundle that agrees on "static/" over
303
+ * one that only agrees on the file name. That ordering is what makes the
304
+ * byte budget below defensible: when not everything fits, what gets
305
+ * dropped is the weakest match, not an arbitrary row.
306
+ */
307
+ const scoredRows = [];
308
+ for (const row of dedupedRows) {
309
+ let bestScore = 0;
310
+ for (const frame of framesForMatching) {
311
+ const score = SourceMapResolver.getMatchScore(frame.fileName, row.bundlePath || "");
312
+ if (score > bestScore) {
313
+ bestScore = score;
314
+ }
315
+ }
316
+ if (bestScore > 0) {
317
+ scoredRows.push({
318
+ row: row,
319
+ score: bestScore,
320
+ /*
321
+ * onBeforeCreate stamps sizeInBytes on every insert, so a missing
322
+ * value means a row written straight to the database. Charge it the
323
+ * per-map ceiling rather than nothing: an unknown size must not be
324
+ * the way to slip past a budget meant to bound memory.
325
+ */
326
+ sizeInBytes: typeof row.sizeInBytes === "number" &&
327
+ Number.isFinite(row.sizeInBytes) &&
328
+ row.sizeInBytes > 0
329
+ ? row.sizeInBytes
330
+ : MAX_SOURCE_MAP_SIZE_IN_BYTES,
331
+ });
332
+ }
333
+ }
334
+ scoredRows.sort((a, b) => {
335
+ if (b.score !== a.score) {
336
+ return b.score - a.score;
337
+ }
338
+ // Same match quality: prefer the newer upload, as the dedupe does.
339
+ const aTime = a.row.createdAt
340
+ ? new Date(a.row.createdAt).getTime()
341
+ : 0;
342
+ const bTime = b.row.createdAt
343
+ ? new Date(b.row.createdAt).getTime()
344
+ : 0;
345
+ return bTime - aTime;
191
346
  });
347
+ /*
348
+ * The byte budget. This is the bound that used to be implied by the
349
+ * per-release count and is a far tighter one, because it measures the
350
+ * thing that actually consumes memory. Lower-scoring maps that still fit
351
+ * are kept (hence continue, not break) so a single oversized map does not
352
+ * cost the rest of the stack trace its symbols.
353
+ *
354
+ * The best-scoring map is always attempted even if it alone exceeds the
355
+ * budget: a budget configured below the per-map ceiling should degrade to
356
+ * "one map at a time", not to "nothing ever resolves". Peak is therefore
357
+ * max(SourceMapMaxBytesPerResolve, MAX_SOURCE_MAP_SIZE_IN_BYTES).
358
+ */
359
+ const matchedRows = [];
360
+ let budgetUsedInBytes = 0;
361
+ let sourceMapsSkippedForSize = 0;
362
+ for (const scored of scoredRows) {
363
+ const wouldExceedBudget = budgetUsedInBytes + scored.sizeInBytes > SourceMapMaxBytesPerResolve;
364
+ if (wouldExceedBudget && matchedRows.length > 0) {
365
+ sourceMapsSkippedForSize++;
366
+ continue;
367
+ }
368
+ budgetUsedInBytes += scored.sizeInBytes;
369
+ matchedRows.push(scored.row);
370
+ }
371
+ if (sourceMapsSkippedForSize > 0) {
372
+ logger.warn(`Source map resolution skipped ${sourceMapsSkippedForSize} matching map(s) for service ${data.serviceId.toString()} release ${data.serviceVersion}: loading them would exceed SOURCE_MAP_MAX_BYTES_PER_RESOLVE (${SourceMapMaxBytesPerResolve} bytes).`);
373
+ }
192
374
  const bundles = [];
193
375
  if (matchedRows.length > 0) {
194
376
  const contentRows = await this.findBy({
@@ -207,7 +389,7 @@ export class Service extends DatabaseService {
207
389
  bundlePath: true,
208
390
  content: true,
209
391
  },
210
- limit: MAX_SOURCE_MAPS_PER_RELEASE,
392
+ limit: matchedRows.length,
211
393
  skip: 0,
212
394
  props: {
213
395
  isRoot: true,
@@ -234,6 +416,12 @@ export class Service extends DatabaseService {
234
416
  * distinguishable from "no maps uploaded".
235
417
  */
236
418
  sourceMapCount: dedupedRows.length,
419
+ /*
420
+ * Non-zero means symbols are missing because of the byte budget, not
421
+ * because the maps were never uploaded — the one distinction a user
422
+ * staring at a half-resolved stack trace cannot make for themselves.
423
+ */
424
+ sourceMapsSkippedForSize: sourceMapsSkippedForSize,
237
425
  };
238
426
  }
239
427
  }
@@ -243,6 +431,12 @@ __decorate([
243
431
  __metadata("design:paramtypes", [Object]),
244
432
  __metadata("design:returntype", Promise)
245
433
  ], Service.prototype, "onBeforeCreate", null);
434
+ __decorate([
435
+ CaptureSpan(),
436
+ __metadata("design:type", Function),
437
+ __metadata("design:paramtypes", [Object]),
438
+ __metadata("design:returntype", Promise)
439
+ ], Service.prototype, "assertReleaseHasRoomFor", null);
246
440
  __decorate([
247
441
  CaptureSpan(),
248
442
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetrySourceMapService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetrySourceMapService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelemetrySourceMapService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetrySourceMapService.ts"],"names":[],"mappings":"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"}
@@ -599,6 +599,21 @@ export class Service extends DatabaseService {
599
599
  await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_WHEN_USER_IS_ADDED_TO_ON_CALL_POLICY);
600
600
  await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_WHEN_USER_IS_REMOVED_FROM_ON_CALL_POLICY);
601
601
  await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_WHEN_USER_IS_NO_LONGER_ACTIVE_ON_ON_CALL_ROSTER);
602
+ await this.addShiftReminderNotificationSettings(userId, projectId);
603
+ }
604
+ /*
605
+ * The two shift-reminder events ("before my shift starts", "my upcoming
606
+ * shift is reassigned"). Email AND push on by default: a reminder that
607
+ * only lands in a mailbox is easy to miss at 05:45, and both are the
608
+ * user's own lead times, not a page. Idempotent — the
609
+ * AddShiftReminderNotificationSettingsForUsers data migration calls this
610
+ * for every existing member, and sendUserNotification sends nothing
611
+ * without a row, so this is what makes the reminder worker's output
612
+ * non-zero for users who joined before the events existed.
613
+ */
614
+ async addShiftReminderNotificationSettings(userId, projectId) {
615
+ await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_BEFORE_USER_ON_CALL_SHIFT_STARTS, { alertByPush: true });
616
+ await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_WHEN_USER_ON_CALL_SHIFT_IS_REASSIGNED, { alertByPush: true });
602
617
  }
603
618
  async addAlertNotificationSettings(userId, projectId) {
604
619
  await this.addNotificationSettingIfNotExists(userId, projectId, NotificationSettingEventType.SEND_ALERT_CREATED_OWNER_NOTIFICATION);
@@ -624,7 +639,7 @@ export class Service extends DatabaseService {
624
639
  async ensureSettingExistsForUser(data) {
625
640
  await this.addNotificationSettingIfNotExists(data.userId, data.projectId, data.eventType);
626
641
  }
627
- async addNotificationSettingIfNotExists(userId, projectId, eventType) {
642
+ async addNotificationSettingIfNotExists(userId, projectId, eventType, options) {
628
643
  const existingNotification = await this.countBy({
629
644
  query: {
630
645
  userId,
@@ -641,6 +656,9 @@ export class Service extends DatabaseService {
641
656
  item.projectId = projectId;
642
657
  item.eventType = eventType;
643
658
  item.alertByEmail = true;
659
+ if (options === null || options === void 0 ? void 0 : options.alertByPush) {
660
+ item.alertByPush = true;
661
+ }
644
662
  await this.create({
645
663
  data: item,
646
664
  props: {
@@ -699,6 +717,13 @@ __decorate([
699
717
  ObjectID]),
700
718
  __metadata("design:returntype", Promise)
701
719
  ], Service.prototype, "addDefaultNotificationSettingsForUser", null);
720
+ __decorate([
721
+ CaptureSpan(),
722
+ __metadata("design:type", Function),
723
+ __metadata("design:paramtypes", [ObjectID,
724
+ ObjectID]),
725
+ __metadata("design:returntype", Promise)
726
+ ], Service.prototype, "addShiftReminderNotificationSettings", null);
702
727
  __decorate([
703
728
  CaptureSpan(),
704
729
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"UserNotificationSettingService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationSettingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserNotificationSettingService.js","sourceRoot":"","sources":["../../../../Server/Services/UserNotificationSettingService.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,4BAA4B,MAAM,8DAA8D,CAAC;AACxG,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAc5C,OAAO,uBAAuB,MAAM,qDAAqD,CAAC;AAO1F,OAAO,aAAa,MAAM,qCAAqC,CAAC;AAKhE,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AAEjF,MAAM,OAAO,OAAQ,SAAQ,eAAwC;IACnE;QACE,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjC,CAAC;IAGY,AAAN,KAAK,CAAC,oBAAoB,CAAC,IA8BjC;;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GACxB,MAAM,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;YACD,MAAM,EAAE;gBACN,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,qBAAqB,EAAE,IAAI;gBAC3B,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI;aACrB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEL,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,oBAAoB,CAAC,YAAY,EAAE,CAAC;gBACtC,kCAAkC;gBAClC,MAAM,UAAU,GAAqB,MAAM,gBAAgB,CAAC,MAAM,CAAC;oBACjE,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI;qBACjB;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;qBACZ;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,WAAW,CAAC,QAAQ,iCAEb,IAAI,CAAC,aAAa,KACrB,OAAO,EAAE,SAAS,CAAC,KAAM,KAE3B;wBACE,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;wBACzC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;wBACnD,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;wBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,wBAAwB;wBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;wBAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;wBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;wBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED;;;eAGG;YACH,MAAM,mBAAmB,GACvB,MAAM,2BAA2B,CAAC,6BAA6B,CAC7D,IAAI,CAAC,SAAS,CACf,CAAC;YAEJ,IAAI,oBAAoB,CAAC,UAAU,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAmB,MAAM,cAAc,CAAC,MAAM,CAAC;oBAC5D,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI;qBACjB;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;qBACZ;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;oBAChC,UAAU,CAAC,OAAO,iCAEX,IAAI,CAAC,UAAU,KAClB,EAAE,EAAE,OAAO,CAAC,KAAM,KAEpB;wBACE,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,kBAAkB,EAAE,mBAAmB;wBACvC,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;wBACzC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;wBACnD,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;wBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,wBAAwB;wBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;wBAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;wBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;wBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,CAAC,eAAe,EAAE,CAAC;gBACzC,MAAM,aAAa,GACjB,MAAM,mBAAmB,CAAC,MAAM,CAAC;oBAC/B,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI;qBACjB;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;qBACZ;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CACT,8EAA8E,CAC/E,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;wBACzC,MAAM,eAAe,GACnB,gCAAgC,CAC9B,IAAI,CAAC,eAAe,EACpB,YAAY,CAAC,KAAM,CACpB,CAAC;wBAEJ,eAAe,CAAC,mBAAmB,CAAC,eAAe,EAAE;4BACnD,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,cAAc,EAAE,IAAI,CAAC,cAAc;4BACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;4BACzC,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;4BACnD,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;4BACvD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,cAAc,EAAE,IAAI,CAAC,cAAc;4BACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;4BAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;4BAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;yBACxC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;4BACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpB,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,CAAC,eAAe,EAAE,CAAC;gBACzC,MAAM,aAAa,GACjB,MAAM,mBAAmB,CAAC,MAAM,CAAC;oBAC/B,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI;qBACjB;oBACD,MAAM,EAAE;wBACN,cAAc,EAAE,IAAI;qBACrB;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL;;;;;mBAKG;gBACH,MAAM,0BAA0B,GAAY,OAAO,CACjD,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAC3B,CAAC;gBAEF,MAAM,UAAU,GAA8B,CAC5C,KAAa,EACL,EAAE;oBACV,OAAO,KAAK;yBACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;yBACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;yBACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC3B,CAAC,CAAC;gBAEF,IAAI,YAAY,GAAW,EAAE,CAAC;gBAC9B,IAAI,iBAAiB,GACnB,SAAS,CAAC;gBAEZ,IAAI,0BAA0B,EAAE,CAAC;oBAC/B,YAAY,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC;oBAC1C,iBAAiB,GAAG,IAAI,CAAC,eAAgB,CAAC,SAAS,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAW,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;oBACzD,MAAM,OAAO,GAAW,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;oBAEtD,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAkB,EAAE,CAAC;wBAChC,IAAI,OAAO,EAAE,CAAC;4BACZ,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACjD,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;wBACjD,CAAC;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;wBAClC,CAAC;wBACD,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChC,iBAAiB,GAAG,MAAM,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CACT,+DAA+D,CAChE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;wBACzC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;4BACjC,SAAS;wBACX,CAAC;wBAED,MAAM,eAAe,GAAoB;4BACvC,EAAE,EAAE,YAAY,CAAC,cAAc;4BAC/B,IAAI,EAAE,YAAY;4BAClB,SAAS,EAAE,iBAAiB;4BAC5B,qBAAqB,EACnB,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,qBAAqB,mCAAI,IAAI;yBACtD,CAAC;wBAEF,eAAe,CAAC,mBAAmB,CAAC,eAAe,EAAE;4BACnD,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,cAAc,EAAE,IAAI,CAAC,cAAc;4BACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;4BACzC,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;4BACnD,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;4BACvD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,cAAc,EAAE,IAAI,CAAC,cAAc;4BACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;4BAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;4BAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;yBACxC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;4BACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpB,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IACE,oBAAoB,CAAC,YAAY;gBACjC,oBAAoB,CAAC,qBAAqB,EAC1C,CAAC;gBACD;;;;;;mBAMG;gBACH,MAAM,OAAO,GAAW,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;gBACzD,MAAM,OAAO,GAAW,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;gBAEtD,IAAI,iBAAiB,GAAW,EAAE,CAAC;gBAEnC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAkB,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,IAAI,wBAAwB,IAAI,CAAC,CAAC;oBAC5D,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtB,CAAC;oBACD,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAA6B;wBAC9C,KAAK,EAAE,0BAA0B;wBACjC,IAAI,EAAE,iBAAiB;qBACxB,CAAC;oBACF,MAAM,aAAa,GAAiC,CAAC,aAAa,CAAC,CAAC;oBAEpE,IAAI,oBAAoB,CAAC,YAAY,EAAE,CAAC;wBACtC,MAAM,UAAU,GAAqB,MAAM,gBAAgB,CAAC,MAAM,CAAC;4BACjE,KAAK,EAAE;gCACL,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,UAAU,EAAE,IAAI;6BACjB;4BACD,MAAM,EAAE;gCACN,WAAW,EAAE,IAAI;6BAClB;4BACD,KAAK,EAAE,iBAAiB;4BACxB,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE;gCACL,MAAM,EAAE,IAAI;6BACb;yBACF,CAAC,CAAC;wBAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;4BACnC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gCAC3B,SAAS;4BACX,CAAC;4BAED,gCAAgC,CAAC,uBAAuB,CAAC;gCACvD,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,aAAa,EAAE,aAAa,CAAC,KAAK;gCAClC,eAAe,EAAE,SAAS,CAAC,WAAW;gCACtC,aAAa,EAAE,aAAa;gCAC5B,cAAc,EAAE,OAAO,IAAI,OAAO;gCAClC,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gCAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gCACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gCACzC,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,cAAc,EAAE,IAAI,CAAC,cAAc;gCACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;gCAC/D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;6BACxC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gCACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACpB,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAED,IAAI,oBAAoB,CAAC,qBAAqB,EAAE,CAAC;wBAC/C,MAAM,0BAA0B,GAC9B,MAAM,yBAAyB,CAAC,MAAM,CAAC;4BACrC,KAAK,EAAE;gCACL,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,UAAU,EAAE,IAAI;6BACjB;4BACD,MAAM,EAAE;gCACN,oBAAoB,EAAE,IAAI;6BAC3B;4BACD,KAAK,EAAE,iBAAiB;4BACxB,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE;gCACL,MAAM,EAAE,IAAI;6BACb;yBACF,CAAC,CAAC;wBAEL,KAAK,MAAM,kBAAkB,IAAI,0BAA0B,EAAE,CAAC;4BAC5D,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;gCAC7C,SAAS;4BACX,CAAC;4BAED,gCAAgC,CAAC,uBAAuB,CAAC;gCACvD,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,aAAa,EAAE,aAAa,CAAC,cAAc;gCAC3C,eAAe,EAAE,kBAAkB,CAAC,oBAAoB;gCACxD,aAAa,EAAE,aAAa;gCAC5B,cAAc,EAAE,OAAO,IAAI,OAAO;gCAClC,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gCAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,cAAc,EAAE,IAAI,CAAC,cAAc;gCACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gCACzC,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,cAAc,EAAE,IAAI,CAAC,cAAc;gCACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;gCAC/D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;6BACxC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;gCACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACpB,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAoB,MAAM,eAAe,CAAC,MAAM,CAAC;oBAC9D,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI;qBACjB;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;qBACZ;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,WAAW,CAAC,QAAQ,iCAEb,IAAI,CAAC,kBAAkB,KAC1B,EAAE,EAAE,QAAQ,CAAC,KAAM,KAErB;wBACE,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,kBAAkB,EAAE,mBAAmB;wBACvC,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;wBACzC,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;wBACnD,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;wBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,wBAAwB;wBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;wBAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;wBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;wBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,CACV,qCAAqC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,IAAI,CAAC,SAAS,EAAE,CAC1F,CAAC;gBACF,uBAAuB,CAAC,0BAA0B,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,uBAAuB,EAC5B;oBACE,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,wBAAwB;oBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;oBAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;oBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;oBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,oBAAoB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,YAAY,GAChB,MAAM,kBAAkB,CAAC,MAAM,CAAC;oBAC9B,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B;oBACD,MAAM,EAAE;wBACN,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,IAAI;qBACX;oBACD,KAAK,EAAE,iBAAiB;oBACxB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,MAAM,cAAc,GAAe;oBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACpC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC9B,OAAO,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,EAAE;oBAC1C,OAAO,EAAE,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,KAAI,EAAE;iBACxC,CAAC;gBAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC5D,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC1D,CAAC;gBACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAChC,cAAc,CAAC,wBAAwB,CAAC;wBACtC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;gBAC3C,CAAC;gBACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAChE,CAAC;gBACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAClC,cAAc,CAAC,0BAA0B,CAAC;wBACxC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACtC,cAAc,CAAC,8BAA8B,CAAC;wBAC5C,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,CAAC;gBACjD,CAAC;gBAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACvC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;wBAC5B,SAAS;oBACX,CAAC;oBAED,cAAc,CAAC,WAAW,CACxB;wBACE,GAAG,EAAE,WAAW,CAAC,UAAU;wBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,OAAO,EAAE,cAAc;wBACvB,MAAM,EAAE,WAAW,CAAC,MAAM;qBAC3B,EACD;wBACE,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;wBACnD,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;wBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;wBAC/D,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;wBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;wBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,wCAAwC,CACnD,MAAgB,EAChB,SAAmB;QAEnB,oDAAoD;QACpD,MAAM,KAAK,GAAmB,MAAM,iBAAiB,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE;gBACL,SAAS;gBACT,MAAM;gBACN,qBAAqB,EAAE,IAAI;aAC5B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC;gBAClB,KAAK,EAAE;oBACL,SAAS;oBACT,MAAM;iBACP;gBACD,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,qCAAqC,CAChD,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,sCAAsC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,2CAA2C,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,yCAAyC,CACvE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,iCAAiC,CAC/D,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,2CAA2C,CACvD,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,sDAAsD,CACpF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,mCAAmC,CACjE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,4CAA4C,CAC1E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAC3C,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,wCAAwC,CACtE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,8CAA8C,CAC5E,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,yCAAyC,CACvE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,8CAA8C,CAC5E,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,mEAAmE,CACjG,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,mDAAmD,CACjF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,6BAA6B,CACxC,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,gCAAgC,CAC9D,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,qCAAqC,CACnE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,yCAAyC,CACvE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,6CAA6C,CAC3E,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,oDAAoD,CAClF,CAAC;QAEF,MAAM,IAAI,CAAC,oCAAoC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;OASG;IAEU,AAAN,KAAK,CAAC,oCAAoC,CAC/C,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,qCAAqC,EAClE,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,0CAA0C,EACvE,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,qCAAqC,CACnE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,2CAA2C,CACzE,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,sCAAsC,CACpE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mCAAmC,CAC/C,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,6CAA6C,CAC3E,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,mDAAmD,CACjF,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,8CAA8C,CAC5E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sCAAsC,CAClD,MAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,gDAAgD,CAC9E,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,sDAAsD,CACpF,CAAC;QAEF,MAAM,IAAI,CAAC,iCAAiC,CAC1C,MAAM,EACN,SAAS,EACT,4BAA4B,CAAC,iDAAiD,CAC/E,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IAEU,AAAN,KAAK,CAAC,0BAA0B,CAAC,IAIvC;QACC,MAAM,IAAI,CAAC,iCAAiC,CAC1C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,MAAgB,EAChB,SAAmB,EACnB,SAAuC,EACvC,OAA+C;QAE/C,MAAM,oBAAoB,GAAmB,MAAM,IAAI,CAAC,OAAO,CAAC;YAC9D,KAAK,EAAE;gBACL,MAAM;gBACN,SAAS;gBACT,SAAS;aACV;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAA4B,IAAI,uBAAuB,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAA2C;QAE3C,kDAAkD;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CACxB,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAmB,MAAM,IAAI,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE;gBACL,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;gBAClC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;aACnC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,SAAS;SACxB,CAAC;IACJ,CAAC;CACF;AAp+Bc;IADZ,WAAW,EAAE;;;;mDA2mBb;AAGY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;uEA2BpB;AAGY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;oEAWpB;AA6IY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;mEAepB;AA8EY;IADZ,WAAW,EAAE;;;;yDAWb;AAwCwB;IADxB,WAAW,EAAE;;;;6CA4Cb;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}