@oneuptime/common 12.0.25 → 12.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/Index.ts +2 -0
- package/Models/AnalyticsModels/ThreatIntelIndicator.ts +413 -0
- package/Models/DatabaseModels/AlertSeverity.ts +4 -1
- package/Models/DatabaseModels/CephClusterFeed.ts +625 -0
- package/Models/DatabaseModels/CloudResourceFeed.ts +625 -0
- package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +13 -0
- package/Models/DatabaseModels/DetectionRule.ts +9 -3
- package/Models/DatabaseModels/DockerHostFeed.ts +625 -0
- package/Models/DatabaseModels/DockerSwarmClusterFeed.ts +628 -0
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +9 -3
- package/Models/DatabaseModels/HostFeed.ts +625 -0
- package/Models/DatabaseModels/IncidentSeverity.ts +4 -1
- package/Models/DatabaseModels/Index.ts +22 -0
- package/Models/DatabaseModels/KubernetesClusterFeed.ts +628 -0
- package/Models/DatabaseModels/Monitor.ts +87 -0
- package/Models/DatabaseModels/NetworkDevice.ts +96 -5
- package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +92 -6
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +301 -31
- package/Models/DatabaseModels/NetworkSite.ts +120 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +1 -0
- package/Models/DatabaseModels/PodmanHostFeed.ts +625 -0
- package/Models/DatabaseModels/ProxmoxClusterFeed.ts +626 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +67 -0
- package/Models/DatabaseModels/ServiceFeed.ts +625 -0
- package/Models/DatabaseModels/TelemetrySourceMap.ts +474 -0
- package/Models/DatabaseModels/ThreatIntelFeed.ts +758 -0
- package/Models/DatabaseModels/UserOnCallLog.ts +1 -0
- package/Models/DatabaseModels/UserTotpAuth.ts +1 -0
- package/Models/DatabaseModels/UserWebAuthn.ts +1 -0
- package/Server/API/AlertAPI.ts +23 -1
- package/Server/API/BaseAPI.ts +14 -3
- package/Server/API/IncidentAPI.ts +41 -1
- package/Server/API/IncidentEpisodeAPI.ts +23 -1
- package/Server/API/MicrosoftTeamsAPI.ts +31 -2
- package/Server/API/ScheduledMaintenanceAPI.ts +23 -1
- package/Server/API/SlackAPI.ts +48 -0
- package/Server/API/TelemetryAPI.ts +167 -42
- package/Server/API/UserOnCallLogTimelineAPI.ts +75 -61
- package/Server/API/UserTotpAuthAPI.ts +67 -1
- package/Server/API/UserWebAuthnAPI.ts +44 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787923136162-MigrationName.ts +57 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789600000000-AddAutoProvisionedNetworkDeviceMonitors.ts +49 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789700000000-AddNetworkScaleIndexes.ts +129 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789800000000-WidenSecurityEventLastErrorColumns.ts +54 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789900000000-AddNetworkSiteRollupPolicyAndMaintenance.ts +64 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790000000000-AddTelemetrySourceMap.ts +64 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790000000001-AddSnmpConfigsToNetworkDeviceDiscoveryScan.ts +72 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790003445000-AddSnmpEnabledToNetworkDeviceDiscoveryScan.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790100000000-AddResourceActivityFeeds.ts +489 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +18 -0
- package/Server/Middleware/IdentityRateLimit.ts +53 -3
- package/Server/Services/AIService.ts +181 -41
- package/Server/Services/CephClusterFeedService.ts +99 -0
- package/Server/Services/CephClusterLabelRuleEngineService.ts +29 -0
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +23 -0
- package/Server/Services/CephClusterOwnerTeamService.ts +129 -0
- package/Server/Services/CephClusterOwnerUserService.ts +123 -0
- package/Server/Services/CephClusterService.ts +223 -2
- package/Server/Services/CloudResourceFeedService.ts +99 -0
- package/Server/Services/CloudResourceLabelRuleEngineService.ts +30 -0
- package/Server/Services/CloudResourceOwnerRuleEngineService.ts +33 -0
- package/Server/Services/CloudResourceOwnerTeamService.ts +129 -0
- package/Server/Services/CloudResourceOwnerUserService.ts +123 -0
- package/Server/Services/CloudResourceService.ts +227 -2
- package/Server/Services/DatabaseService.ts +265 -0
- package/Server/Services/DockerHostFeedService.ts +99 -0
- package/Server/Services/DockerHostLabelRuleEngineService.ts +29 -0
- package/Server/Services/DockerHostOwnerRuleEngineService.ts +23 -0
- package/Server/Services/DockerHostOwnerTeamService.ts +129 -0
- package/Server/Services/DockerHostOwnerUserService.ts +123 -0
- package/Server/Services/DockerHostService.ts +227 -2
- package/Server/Services/DockerSwarmClusterFeedService.ts +102 -0
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +30 -0
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +24 -0
- package/Server/Services/DockerSwarmClusterOwnerTeamService.ts +133 -0
- package/Server/Services/DockerSwarmClusterOwnerUserService.ts +127 -0
- package/Server/Services/DockerSwarmClusterService.ts +229 -2
- package/Server/Services/EnterpriseLicenseService.ts +15 -7
- package/Server/Services/ExceptionAggregationService.ts +12 -2
- package/Server/Services/HostFeedService.ts +99 -0
- package/Server/Services/HostLabelRuleEngineService.ts +29 -0
- package/Server/Services/HostOwnerRuleEngineService.ts +23 -0
- package/Server/Services/HostOwnerTeamService.ts +129 -0
- package/Server/Services/HostOwnerUserService.ts +123 -0
- package/Server/Services/HostService.ts +215 -2
- package/Server/Services/IncidentService.ts +11 -0
- package/Server/Services/Index.ts +24 -0
- package/Server/Services/KubernetesClusterFeedService.ts +99 -0
- package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +30 -0
- package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +24 -0
- package/Server/Services/KubernetesClusterOwnerTeamService.ts +133 -0
- package/Server/Services/KubernetesClusterOwnerUserService.ts +127 -0
- package/Server/Services/KubernetesClusterService.ts +231 -2
- package/Server/Services/LogAggregationService.ts +23 -280
- package/Server/Services/MetricAggregationService.ts +98 -1
- package/Server/Services/MonitorService.ts +177 -13
- package/Server/Services/MonitorTemplateService.ts +111 -0
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +777 -86
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +199 -16
- package/Server/Services/NetworkDeviceDiscoveryScanService.ts +1055 -14
- package/Server/Services/NetworkDeviceService.ts +750 -4
- package/Server/Services/NetworkInterfaceService.ts +415 -0
- package/Server/Services/NetworkSiteService.ts +485 -52
- package/Server/Services/PodmanHostFeedService.ts +99 -0
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +29 -0
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +23 -0
- package/Server/Services/PodmanHostOwnerTeamService.ts +129 -0
- package/Server/Services/PodmanHostOwnerUserService.ts +123 -0
- package/Server/Services/PodmanHostService.ts +227 -2
- package/Server/Services/ProjectService.ts +16 -10
- package/Server/Services/ProxmoxClusterFeedService.ts +99 -0
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +30 -0
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +24 -0
- package/Server/Services/ProxmoxClusterOwnerTeamService.ts +131 -0
- package/Server/Services/ProxmoxClusterOwnerUserService.ts +124 -0
- package/Server/Services/ProxmoxClusterService.ts +225 -2
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +61 -0
- package/Server/Services/ServiceFeedService.ts +99 -0
- package/Server/Services/ServiceLabelRuleEngineService.ts +29 -0
- package/Server/Services/ServiceOwnerRuleEngineService.ts +26 -0
- package/Server/Services/ServiceOwnerTeamService.ts +129 -0
- package/Server/Services/ServiceOwnerUserService.ts +123 -0
- package/Server/Services/ServiceService.ts +227 -3
- package/Server/Services/StatusPageSubscriberService.ts +7 -0
- package/Server/Services/TelemetryAttributeService.ts +13 -3
- package/Server/Services/TelemetrySourceMapService.ts +307 -0
- package/Server/Services/ThreatIntelFeedService.ts +222 -0
- package/Server/Services/ThreatIntelIndicatorService.ts +428 -0
- package/Server/Services/TraceAggregationService.ts +101 -11
- package/Server/Services/UserService.ts +13 -6
- package/Server/Services/UserTwoFactorBackupCodeService.ts +127 -0
- package/Server/Services/UserWebhookService.ts +11 -2
- package/Server/Static/Brand/README.md +38 -0
- package/Server/Static/Brand/favicons/apple-touch-icon.png +0 -0
- package/Server/Static/Brand/favicons/favicon-16x16.png +0 -0
- package/Server/Static/Brand/favicons/favicon-32x32.png +0 -0
- package/Server/Static/Brand/favicons/favicon.ico +0 -0
- package/Server/Static/Brand/favicons/safari-pinned-tab.svg +31 -0
- package/Server/Static/Brand/hou-wb.svg +1 -0
- package/Server/Static/Brand/oneuptime-logo.svg +1 -0
- package/Server/Static/Brand/ou-wb.svg +1 -0
- package/Server/Static/Vendor/README.md +4 -0
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +13 -3
- package/Server/Types/Database/AggregateBy.ts +83 -0
- package/Server/Types/Database/AggregateResultUtil.ts +126 -0
- package/Server/Types/Database/JSONColumnQuery.ts +18 -0
- package/Server/Types/Database/QueryHelper.ts +40 -0
- package/Server/Types/Database/QueryUtil.ts +26 -0
- package/Server/Types/Workflow/Components/API/Utils.ts +10 -1
- package/Server/Types/Workflow/Components/JavaScript.ts +8 -0
- package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +9 -0
- package/Server/Utils/AI/SRE/InvestigationGrader.ts +18 -0
- package/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.ts +422 -0
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +176 -0
- package/Server/Utils/DataSource/HttpFetch.ts +18 -0
- package/Server/Utils/Database/RelationIdUtil.ts +42 -0
- package/Server/Utils/Marketing/MarketingEventUtil.ts +38 -9
- package/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.ts +34 -3
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +9 -1
- package/Server/Utils/Monitor/Criteria/SyntheticMonitor.ts +28 -10
- package/Server/Utils/Monitor/MonitorAlert.ts +541 -332
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +330 -64
- package/Server/Utils/Monitor/MonitorIncident.ts +640 -434
- package/Server/Utils/Monitor/MonitorResource.ts +226 -49
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +46 -3
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +23 -102
- package/Server/Utils/Monitor/PerEntityCriteriaFanOut.ts +329 -0
- package/Server/Utils/NetworkDevice/DeviceHealthAggregation.ts +427 -0
- package/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.ts +310 -0
- package/Server/Utils/OnCallNotificationContext.ts +686 -0
- package/Server/Utils/PrivateNetworkWebhookConfig.ts +549 -0
- package/Server/Utils/ResourceFeed/ResourceFeedUtil.ts +139 -0
- package/Server/Utils/Response.ts +11 -1
- package/Server/Utils/SSRFProtection.ts +230 -60
- package/Server/Utils/SecurityEvent/ConnectorErrorMessage.ts +106 -0
- package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +84 -284
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +47 -20
- package/Server/Utils/SecurityEvent/SecurityEventAlerting.ts +318 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.ts +199 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.ts +252 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +739 -0
- package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.ts +533 -0
- package/Server/Utils/StartServer.ts +83 -56
- package/Server/Utils/StatusPageSubscriberWebhook.ts +3 -0
- package/Server/Utils/Telemetry/SourceMapResolver.ts +480 -0
- package/Server/Utils/TwoFactorBackupCodeNotification.ts +106 -0
- package/Server/Utils/VM/VMAPI.ts +3 -0
- package/Server/Utils/VM/VMRunner.ts +27 -1
- package/Server/Utils/VendorAssets.ts +42 -0
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +136 -6
- package/Server/Views/AcknowledgeUserOnCallNotification.ejs +11 -9
- package/Server/Views/Partials/Head.ejs +9 -9
- package/Server/Views/Partials/OnCallNotificationDetails.ejs +48 -0
- package/Server/Views/ViewMessage.ejs +11 -9
- package/Tests/App/Accounts/LoginTwoFactorRecovery.test.tsx +972 -0
- package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +401 -0
- package/Tests/App/Dashboard/DiscoveryScanEditForm.test.tsx +707 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +1908 -18
- package/Tests/App/Dashboard/ResourceFeed.test.tsx +230 -0
- package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +216 -0
- package/Tests/App/Dashboard/TopologyAddToMonitoring.test.tsx +192 -0
- package/Tests/App/Dashboard/WorkspaceNotificationRuleConditions.test.tsx +439 -0
- package/Tests/Models/DatabaseModels/DateColumnDeserialization.test.ts +182 -0
- package/Tests/Models/DatabaseModels/RelationColumnModelTypeCoverage.test.ts +82 -0
- package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +398 -0
- package/Tests/Models/DiscoveryScanNameColumn.test.ts +151 -16
- package/Tests/Models/DiscoveryScanSnmpEnabledColumn.test.ts +593 -0
- package/Tests/Models/NetworkDeviceCreateContract.test.ts +102 -0
- package/Tests/Server/API/AIGenerationProjectAIToggle.test.ts +607 -0
- package/Tests/Server/API/AIGenerationRequestBudget.test.ts +355 -0
- package/Tests/Server/API/AIKillSwitchBackstop.test.ts +602 -0
- package/Tests/Server/API/BaseAPIUpdateDateColumns.test.ts +154 -0
- package/Tests/Server/API/MicrosoftTeamsBotTestEndpoint.test.ts +335 -0
- package/Tests/Server/API/UserOnCallLogTimelineAcknowledgePage.test.ts +611 -0
- package/Tests/Server/API/UserTotpAuthAPI.test.ts +498 -4
- package/Tests/Server/API/UserWebAuthnBackupCodeMinting.test.ts +682 -0
- package/Tests/Server/Infrastructure/ExampleDockerfiles.test.ts +595 -0
- package/Tests/Server/Services/AIServiceDailyBudget.test.ts +9 -0
- package/Tests/Server/Services/AIServiceProjectAccess.test.ts +6 -0
- package/Tests/Server/Services/AutoImportScanCredentialSelect.test.ts +18 -0
- package/Tests/Server/Services/DatabaseServiceAggregateBy.test.ts +590 -0
- package/Tests/Server/Services/DatabaseServiceUpdateWriteRouting.test.ts +12 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +162 -26
- package/Tests/Server/Services/EnterpriseLicenseServiceCreate.test.ts +292 -0
- package/Tests/Server/Services/FeedRetentionConsistency.test.ts +119 -12
- package/Tests/Server/Services/LogAggregationAttributeOperators.test.ts +109 -0
- package/Tests/Server/Services/MetricAggregationAttributeOperators.test.ts +170 -0
- package/Tests/Server/Services/MonitorTemplateServiceNetworkDeviceSync.test.ts +383 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +997 -3
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +830 -0
- package/Tests/Server/Services/NetworkDeviceAutoMonitorLifecycle.test.ts +528 -0
- package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +3141 -1
- package/Tests/Server/Services/NetworkDeviceRegisteredHostnames.test.ts +1023 -0
- package/Tests/Server/Services/NetworkDeviceSiteAssignmentRuleSkip.test.ts +728 -0
- package/Tests/Server/Services/NetworkInterfaceServiceUpsert.test.ts +795 -0
- package/Tests/Server/Services/NetworkSiteRollupPolicyAndMaintenance.test.ts +903 -0
- package/Tests/Server/Services/NetworkSiteService.test.ts +165 -24
- package/Tests/Server/Services/ProjectServiceChangePlan.test.ts +5 -3
- package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +5 -2
- package/Tests/Server/Services/ResourceCreationFeedWrites.test.ts +304 -0
- package/Tests/Server/Services/ResourceFeedServices.test.ts +269 -0
- package/Tests/Server/Services/ResourceOwnerFeedWrites.test.ts +245 -0
- package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +792 -0
- package/Tests/Server/Services/TelemetrySourceMapService.test.ts +483 -0
- package/Tests/Server/Services/ThreatIntelFeedService.test.ts +351 -0
- package/Tests/Server/Services/ThreatIntelIndicatorService.test.ts +366 -0
- package/Tests/Server/Services/TraceAggregationAttributeOperators.test.ts +507 -0
- package/Tests/Server/Services/UserTwoFactorBackupCodeGenerateIfNone.test.ts +705 -0
- package/Tests/Server/Services/WorkspaceNotificationRuleOnCallDutyPolicy.test.ts +306 -0
- package/Tests/Server/Types/Database/AggregateResultUtil.test.ts +386 -0
- package/Tests/Server/Types/Database/Permissions/SelectRejectionMessageContract.test.ts +424 -0
- package/Tests/Server/Types/Database/QueryHelperWildcard.test.ts +142 -0
- package/Tests/Server/Types/Workflow/Components/ApiComponentPrivateNetwork.test.ts +163 -0
- package/Tests/Server/Types/Workflow/Components/JavaScriptPrivateNetwork.test.ts +124 -0
- package/Tests/Server/Utils/AI/CodeFixAgentCompletion.test.ts +5 -0
- package/Tests/Server/Utils/AI/InvestigationGrader.test.ts +39 -1
- package/Tests/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.test.ts +338 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGeneratorWildcard.test.ts +383 -0
- package/Tests/Server/Utils/Marketing/EmittedMarketingEvent.ts +23 -0
- package/Tests/Server/Utils/Marketing/MarketingEventUtil.test.ts +51 -0
- package/Tests/Server/Utils/Monitor/Criteria/SyntheticMonitorCriteria.test.ts +259 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorPerSeriesFanout.test.ts +557 -0
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +12 -2
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +404 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +8 -2
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +125 -98
- package/Tests/Server/Utils/Monitor/PerEntityCriteriaFanOut.test.ts +444 -0
- package/Tests/Server/Utils/Monitor/PerSeriesSecondEntityAlerting.test.ts +1112 -0
- package/Tests/Server/Utils/NetworkDevice/DeviceHealthAggregation.test.ts +717 -0
- package/Tests/Server/Utils/NetworkDevice/RulePatternValidator.test.ts +78 -0
- package/Tests/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.test.ts +363 -0
- package/Tests/Server/Utils/OfflineAssetHygiene.test.ts +35 -0
- package/Tests/Server/Utils/OnCallNotificationContext.test.ts +908 -0
- package/Tests/Server/Utils/PrivateNetworkWebhookConfig.test.ts +423 -0
- package/Tests/Server/Utils/ResourceFeed/ResourceFeedUtil.test.ts +191 -0
- package/Tests/Server/Utils/SSRFProtectionPrivateNetwork.test.ts +597 -0
- package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +819 -0
- package/Tests/Server/Utils/SecurityEvent/DetectionRuleEvaluator.test.ts +381 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +417 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +819 -0
- package/Tests/Server/Utils/SecurityEvent/SecurityEventAlerting.test.ts +246 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.test.ts +282 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.test.ts +312 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.test.ts +854 -0
- package/Tests/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.test.ts +437 -0
- package/Tests/Server/Utils/StartServerErrorStatus.test.ts +225 -0
- package/Tests/Server/Utils/StatusPage/MonitorRulePatternValidator.test.ts +62 -0
- package/Tests/Server/Utils/StatusPageSubscriberWebhookPrivateNetwork.test.ts +119 -0
- package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +542 -0
- package/Tests/Server/Utils/TwoFactorBackupCodeNotification.test.ts +272 -0
- package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +111 -0
- package/Tests/Server/Utils/VendorAssets.test.ts +117 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +101 -4
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsInstallStateDiagnostics.test.ts +922 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsRosterDiagnosticMessages.test.ts +642 -0
- package/Tests/Server/Views/OnCallAcknowledgePage.test.ts +430 -0
- package/Tests/Types/API/HostnameAuthorityParsing.test.ts +1 -0
- package/Tests/Types/API/URLMailtoQueryString.test.ts +439 -0
- package/Tests/Types/API/URLQueryString.test.ts +481 -0
- package/Tests/Types/API/URLRouteQuerySeparation.test.ts +491 -0
- package/Tests/Types/BaseDatabase/Wildcard.test.ts +163 -0
- package/Tests/Types/BaseDatabase/WildcardPattern.test.ts +149 -0
- package/Tests/Types/Database/DateColumnValue.test.ts +265 -0
- package/Tests/Types/DateToIsoStringOrNull.test.ts +67 -0
- package/Tests/Types/Log/LogQueryToFilter.test.ts +218 -43
- package/Tests/Types/Monitor/KubernetesTemplateGroupByKeys.test.ts +225 -0
- package/Tests/Types/Monitor/TemplateGroupByKeys.test.ts +296 -0
- package/Tests/Types/NetworkAutomation/RuleRunResult.test.ts +102 -0
- package/Tests/Types/NetworkAutomation/RuleRunResultDescribe.test.ts +145 -0
- package/Tests/Types/NetworkSite/SiteHealthRollupPolicy.test.ts +58 -0
- package/Tests/Types/SerializableObjectDictionaryImportCycle.test.ts +15 -0
- package/Tests/Types/Telemetry/TelemetrySearchQuery.test.ts +620 -0
- package/Tests/Types/WhatsApp/WhatsAppTemplates.test.ts +110 -0
- package/Tests/Types/Workspace/NotificationRuleConditionUtil.test.ts +76 -6
- package/Tests/Types/Workspace/NotificationRules/NotificationRuleCondition.test.ts +16 -4
- package/Tests/Types/Workspace/NotificationRules/OnCallDutyPolicyConditions.test.ts +669 -0
- package/Tests/UI/Components/DictionaryFilterOperatorWildcard.test.ts +175 -0
- package/Tests/UI/Components/IconOpticalSize.test.tsx +377 -0
- package/Tests/UI/Components/LogsHistogramDragTooltip.test.tsx +393 -0
- package/Tests/UI/Components/LogsViewerHistogramZoom.test.tsx +248 -0
- package/Tests/UI/Components/TelemetryHistogramDragTooltip.test.tsx +205 -0
- package/Tests/UI/Components/UseHistogramZoom.test.tsx +262 -0
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsChatsCardInstallGuidance.test.tsx +332 -0
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsInstallGuidanceContent.test.tsx +643 -0
- package/Tests/Utils/Monitor/InterfaceInventoryUtil.test.ts +824 -0
- package/Tests/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.test.ts +626 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +718 -0
- package/Tests/Utils/NetworkDevice/DeviceHealthStateUtil.test.ts +59 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +287 -2
- package/Tests/Utils/NetworkDiscovery/DiscoveryImportEligibility.test.ts +73 -0
- package/Tests/Utils/NetworkDiscovery/PingMonitorBuilder.test.ts +317 -0
- package/Tests/Utils/NetworkDiscovery/RescanIntervalUtil.test.ts +262 -0
- package/Tests/Utils/NetworkDiscovery/ScanModeUtil.test.ts +474 -0
- package/Tests/Utils/NetworkDiscovery/SnmpScanConfigUtil.test.ts +2442 -0
- package/Tests/Utils/NetworkSite/SiteMaintenanceUtil.test.ts +188 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +522 -0
- package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +694 -0
- package/Tests/Utils/SecurityEvent/ThreatIntel/StixPatternParser.test.ts +281 -0
- package/Tests/Utils/Telemetry/CrossSignalScope.test.ts +87 -67
- package/Types/API/URL.ts +100 -28
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +8 -0
- package/Types/BaseDatabase/NotWildcard.ts +86 -0
- package/Types/BaseDatabase/Wildcard.ts +89 -0
- package/Types/BaseDatabase/WildcardPattern.ts +176 -0
- package/Types/Database/DateColumnValue.ts +184 -0
- package/Types/Database/TableColumn.ts +40 -5
- package/Types/Date.ts +37 -0
- package/Types/Email/EmailTemplateType.ts +1 -0
- package/Types/JSON.ts +8 -0
- package/Types/Log/LogQueryToFilter.ts +167 -129
- package/Types/Monitor/DockerAlertTemplates.ts +43 -12
- package/Types/Monitor/HostAlertTemplates.ts +31 -3
- package/Types/Monitor/KubernetesAlertTemplates.ts +98 -0
- package/Types/Monitor/MonitorStep.ts +49 -0
- package/Types/Monitor/PodmanAlertTemplates.ts +39 -12
- package/Types/Monitor/SnmpMonitor/CdpNeighbor.ts +14 -0
- package/Types/Monitor/SnmpMonitor/LldpNeighbor.ts +11 -0
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +11 -4
- package/Types/NetworkAutomation/RuleRunResult.ts +191 -2
- package/Types/NetworkSite/SiteHealthRollupPolicy.ts +96 -0
- package/Types/Permission.ts +411 -0
- package/Types/Probe/ProbeApiIngestResponse.ts +42 -0
- package/Types/SecurityEvent/ThreatIntelConstants.ts +118 -0
- package/Types/SerializableObjectDictionary.ts +8 -0
- package/Types/Telemetry/SourceMap.ts +56 -0
- package/Types/Telemetry/TelemetrySearchQuery.ts +949 -0
- package/Types/Workspace/NotificationRules/NotificationRuleCondition.ts +12 -1
- package/UI/Components/Charts/Utils/useHistogramZoom.ts +101 -0
- package/UI/Components/Dictionary/DictionaryFilterOperator.ts +83 -0
- package/UI/Components/Icon/Icon.tsx +28 -1
- package/UI/Components/LogsViewer/LogsViewer.tsx +19 -3
- package/UI/Components/LogsViewer/components/LogSearchBar.tsx +26 -4
- package/UI/Components/LogsViewer/components/LogSearchHelp.tsx +34 -16
- package/UI/Components/LogsViewer/components/LogsHistogram.tsx +52 -1
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +18 -2
- package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +52 -1
- package/UI/Components/TelemetryViewer/components/TelemetrySearchBar.tsx +15 -2
- package/Utils/Metrics/MetricExplorerUrl.ts +77 -15
- package/Utils/Monitor/InterfaceInventoryUtil.ts +251 -0
- package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +333 -0
- package/Utils/Monitor/NetworkTopologyUtil.ts +249 -28
- package/Utils/NetworkDevice/DeviceHealthStateUtil.ts +14 -6
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +2 -0
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +49 -18
- package/Utils/NetworkDiscovery/PingMonitorBuilder.ts +215 -0
- package/Utils/NetworkDiscovery/RescanIntervalUtil.ts +148 -0
- package/Utils/NetworkDiscovery/ScanModeUtil.ts +105 -0
- package/Utils/NetworkDiscovery/SnmpScanConfigUtil.ts +827 -0
- package/Utils/NetworkSite/SiteMaintenanceUtil.ts +110 -0
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +350 -19
- package/Utils/NetworkSite/SiteUptimeUtil.ts +422 -21
- package/Utils/SecurityEvent/ThreatIntel/StixPatternParser.ts +383 -0
- package/Utils/Telemetry/CrossSignalScope.ts +37 -39
- package/build/dist/Models/AnalyticsModels/Index.js +2 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +325 -0
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +4 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CephClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/CephClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CloudResourceFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/CloudResourceFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +11 -0
- package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DetectionRule.js +9 -3
- package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerHostFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/DockerHostFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +9 -3
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
- package/build/dist/Models/DatabaseModels/HostFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/HostFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +4 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +22 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/KubernetesClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Monitor.js +81 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +103 -7
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +91 -6
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +276 -31
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSite.js +124 -1
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PodmanHostFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/PodmanHostFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/ProxmoxClusterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +66 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/ServiceFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetrySourceMap.js +496 -0
- package/build/dist/Models/DatabaseModels/TelemetrySourceMap.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +800 -0
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserTotpAuth.js +1 -0
- package/build/dist/Models/DatabaseModels/UserTotpAuth.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserWebAuthn.js +1 -0
- package/build/dist/Models/DatabaseModels/UserWebAuthn.js.map +1 -1
- package/build/dist/Server/API/AlertAPI.js +18 -1
- package/build/dist/Server/API/AlertAPI.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +8 -1
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentAPI.js +35 -1
- package/build/dist/Server/API/IncidentAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js +18 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +30 -2
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js +18 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
- package/build/dist/Server/API/SlackAPI.js +45 -0
- package/build/dist/Server/API/SlackAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +100 -35
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserOnCallLogTimelineAPI.js +64 -59
- package/build/dist/Server/API/UserOnCallLogTimelineAPI.js.map +1 -1
- package/build/dist/Server/API/UserTotpAuthAPI.js +65 -1
- package/build/dist/Server/API/UserTotpAuthAPI.js.map +1 -1
- package/build/dist/Server/API/UserWebAuthnAPI.js +42 -1
- package/build/dist/Server/API/UserWebAuthnAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787923136162-MigrationName.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787923136162-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789600000000-AddAutoProvisionedNetworkDeviceMonitors.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789600000000-AddAutoProvisionedNetworkDeviceMonitors.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789700000000-AddNetworkScaleIndexes.js +88 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789700000000-AddNetworkScaleIndexes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789800000000-WidenSecurityEventLastErrorColumns.js +39 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789800000000-WidenSecurityEventLastErrorColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789900000000-AddNetworkSiteRollupPolicyAndMaintenance.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789900000000-AddNetworkSiteRollupPolicyAndMaintenance.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000000-AddTelemetrySourceMap.js +32 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000000-AddTelemetrySourceMap.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000001-AddSnmpConfigsToNetworkDeviceDiscoveryScan.js +61 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790000000001-AddSnmpConfigsToNetworkDeviceDiscoveryScan.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790003445000-AddSnmpEnabledToNetworkDeviceDiscoveryScan.js +23 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790003445000-AddSnmpEnabledToNetworkDeviceDiscoveryScan.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790100000000-AddResourceActivityFeeds.js +179 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790100000000-AddResourceActivityFeeds.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/IdentityRateLimit.js +40 -3
- package/build/dist/Server/Middleware/IdentityRateLimit.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +177 -30
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterFeedService.js +89 -0
- package/build/dist/Server/Services/CephClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/CephClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/CephClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterService.js +175 -1
- package/build/dist/Server/Services/CephClusterService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceFeedService.js +89 -0
- package/build/dist/Server/Services/CloudResourceFeedService.js.map +1 -0
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +28 -3
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/CloudResourceOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerUserService.js +113 -0
- package/build/dist/Server/Services/CloudResourceOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceService.js +177 -1
- package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +201 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostFeedService.js +89 -0
- package/build/dist/Server/Services/DockerHostFeedService.js.map +1 -0
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/DockerHostOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerUserService.js +113 -0
- package/build/dist/Server/Services/DockerHostOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostService.js +177 -1
- package/build/dist/Server/Services/DockerHostService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterFeedService.js +90 -0
- package/build/dist/Server/Services/DockerSwarmClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterService.js +175 -1
- package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -1
- package/build/dist/Server/Services/EnterpriseLicenseService.js +40 -30
- package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
- package/build/dist/Server/Services/ExceptionAggregationService.js +8 -2
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/HostFeedService.js +89 -0
- package/build/dist/Server/Services/HostFeedService.js.map +1 -0
- package/build/dist/Server/Services/HostLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/HostOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerUserService.js +113 -0
- package/build/dist/Server/Services/HostOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/HostService.js +175 -1
- package/build/dist/Server/Services/HostService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +10 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +24 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterFeedService.js +89 -0
- package/build/dist/Server/Services/KubernetesClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterService.js +177 -1
- package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +19 -196
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +59 -0
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +115 -13
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +86 -0
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +561 -67
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +130 -16
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +850 -8
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +594 -5
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkInterfaceService.js +306 -0
- package/build/dist/Server/Services/NetworkInterfaceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +408 -47
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostFeedService.js +89 -0
- package/build/dist/Server/Services/PodmanHostFeedService.js.map +1 -0
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/PodmanHostOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerUserService.js +113 -0
- package/build/dist/Server/Services/PodmanHostOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostService.js +177 -1
- package/build/dist/Server/Services/PodmanHostService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +40 -30
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterFeedService.js +89 -0
- package/build/dist/Server/Services/ProxmoxClusterFeedService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +21 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js +113 -0
- package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterService.js +175 -1
- package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +56 -0
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceFeedService.js +89 -0
- package/build/dist/Server/Services/ServiceFeedService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +27 -3
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +24 -0
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerTeamService.js +120 -0
- package/build/dist/Server/Services/ServiceOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerUserService.js +113 -0
- package/build/dist/Server/Services/ServiceOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/ServiceService.js +173 -2
- package/build/dist/Server/Services/ServiceService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberService.js +7 -0
- package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryAttributeService.js +9 -3
- package/build/dist/Server/Services/TelemetryAttributeService.js.map +1 -1
- package/build/dist/Server/Services/TelemetrySourceMapService.js +265 -0
- package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -0
- package/build/dist/Server/Services/ThreatIntelFeedService.js +157 -0
- package/build/dist/Server/Services/ThreatIntelFeedService.js.map +1 -0
- package/build/dist/Server/Services/ThreatIntelIndicatorService.js +276 -0
- package/build/dist/Server/Services/ThreatIntelIndicatorService.js.map +1 -0
- package/build/dist/Server/Services/TraceAggregationService.js +62 -6
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +22 -13
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/UserTwoFactorBackupCodeService.js +120 -0
- package/build/dist/Server/Services/UserTwoFactorBackupCodeService.js.map +1 -1
- package/build/dist/Server/Services/UserWebhookService.js +11 -2
- package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +12 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/AggregateBy.js +2 -0
- package/build/dist/Server/Types/Database/AggregateBy.js.map +1 -0
- package/build/dist/Server/Types/Database/AggregateResultUtil.js +90 -0
- package/build/dist/Server/Types/Database/AggregateResultUtil.js.map +1 -0
- package/build/dist/Server/Types/Database/JSONColumnQuery.js +14 -0
- package/build/dist/Server/Types/Database/JSONColumnQuery.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +42 -0
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryUtil.js +18 -0
- package/build/dist/Server/Types/Database/QueryUtil.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js +10 -1
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js +8 -0
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +8 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +15 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.js +266 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/AttributeFilterStatement.js.map +1 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +134 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/DataSource/HttpFetch.js +8 -0
- package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
- package/build/dist/Server/Utils/Database/RelationIdUtil.js +31 -0
- package/build/dist/Server/Utils/Database/RelationIdUtil.js.map +1 -1
- package/build/dist/Server/Utils/Marketing/MarketingEventUtil.js +26 -8
- package/build/dist/Server/Utils/Marketing/MarketingEventUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js +42 -17
- package/build/dist/Server/Utils/Monitor/Criteria/ServerMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +9 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SyntheticMonitor.js +15 -2
- package/build/dist/Server/Utils/Monitor/Criteria/SyntheticMonitor.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +386 -271
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +278 -64
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +469 -350
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +183 -44
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +46 -3
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +18 -91
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/PerEntityCriteriaFanOut.js +194 -0
- package/build/dist/Server/Utils/Monitor/PerEntityCriteriaFanOut.js.map +1 -0
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js +332 -0
- package/build/dist/Server/Utils/NetworkDevice/DeviceHealthAggregation.js.map +1 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.js +279 -0
- package/build/dist/Server/Utils/NetworkSite/NetworkSiteMaintenanceSuppression.js.map +1 -0
- package/build/dist/Server/Utils/OnCallNotificationContext.js +415 -0
- package/build/dist/Server/Utils/OnCallNotificationContext.js.map +1 -0
- package/build/dist/Server/Utils/PrivateNetworkWebhookConfig.js +424 -0
- package/build/dist/Server/Utils/PrivateNetworkWebhookConfig.js.map +1 -0
- package/build/dist/Server/Utils/ResourceFeed/ResourceFeedUtil.js +108 -0
- package/build/dist/Server/Utils/ResourceFeed/ResourceFeedUtil.js.map +1 -0
- package/build/dist/Server/Utils/Response.js +12 -1
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/SSRFProtection.js +160 -58
- package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js +89 -0
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +75 -234
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +41 -16
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventAlerting.js +217 -0
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventAlerting.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.js +103 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/TaxiiClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.js +168 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelEnricher.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +527 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js +376 -0
- package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +70 -44
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js +3 -0
- package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +327 -0
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -0
- package/build/dist/Server/Utils/TwoFactorBackupCodeNotification.js +84 -0
- package/build/dist/Server/Utils/TwoFactorBackupCodeNotification.js.map +1 -0
- package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMRunner.js +10 -1
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Server/Utils/VendorAssets.js +29 -0
- package/build/dist/Server/Utils/VendorAssets.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +121 -6
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/API/URL.js +88 -27
- package/build/dist/Types/API/URL.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +8 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/BaseDatabase/NotWildcard.js +72 -0
- package/build/dist/Types/BaseDatabase/NotWildcard.js.map +1 -0
- package/build/dist/Types/BaseDatabase/Wildcard.js +75 -0
- package/build/dist/Types/BaseDatabase/Wildcard.js.map +1 -0
- package/build/dist/Types/BaseDatabase/WildcardPattern.js +137 -0
- package/build/dist/Types/BaseDatabase/WildcardPattern.js.map +1 -0
- package/build/dist/Types/Database/DateColumnValue.js +125 -0
- package/build/dist/Types/Database/DateColumnValue.js.map +1 -0
- package/build/dist/Types/Database/TableColumn.js +18 -2
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Date.js +31 -0
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/JSON.js +2 -0
- package/build/dist/Types/JSON.js.map +1 -1
- package/build/dist/Types/Log/LogQueryToFilter.js +111 -108
- package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
- package/build/dist/Types/Monitor/DockerAlertTemplates.js +40 -16
- package/build/dist/Types/Monitor/DockerAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/HostAlertTemplates.js +29 -7
- package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +98 -4
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +40 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js +36 -16
- package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -1
- package/build/dist/Types/NetworkAutomation/RuleRunResult.js +90 -0
- package/build/dist/Types/NetworkAutomation/RuleRunResult.js.map +1 -1
- package/build/dist/Types/NetworkSite/SiteHealthRollupPolicy.js +84 -0
- package/build/dist/Types/NetworkSite/SiteHealthRollupPolicy.js.map +1 -0
- package/build/dist/Types/Permission.js +354 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js +100 -0
- package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js.map +1 -0
- package/build/dist/Types/SerializableObjectDictionary.js +8 -0
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/Types/Telemetry/SourceMap.js +9 -0
- package/build/dist/Types/Telemetry/SourceMap.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetrySearchQuery.js +661 -0
- package/build/dist/Types/Telemetry/TelemetrySearchQuery.js.map +1 -0
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js +12 -1
- package/build/dist/Types/Workspace/NotificationRules/NotificationRuleCondition.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/useHistogramZoom.js +47 -0
- package/build/dist/UI/Components/Charts/Utils/useHistogramZoom.js.map +1 -0
- package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js +67 -0
- package/build/dist/UI/Components/Dictionary/DictionaryFilterOperator.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +28 -1
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +15 -3
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +25 -4
- package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogSearchHelp.js +36 -16
- package/build/dist/UI/Components/LogsViewer/components/LogSearchHelp.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js +33 -5
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +14 -2
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +33 -5
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js +14 -2
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js.map +1 -1
- package/build/dist/Utils/Metrics/MetricExplorerUrl.js +54 -9
- package/build/dist/Utils/Metrics/MetricExplorerUrl.js.map +1 -1
- package/build/dist/Utils/Monitor/InterfaceInventoryUtil.js +128 -0
- package/build/dist/Utils/Monitor/InterfaceInventoryUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +190 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +206 -28
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js +14 -7
- package/build/dist/Utils/NetworkDevice/DeviceHealthStateUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +34 -18
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js +163 -0
- package/build/dist/Utils/NetworkDiscovery/PingMonitorBuilder.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/RescanIntervalUtil.js +99 -0
- package/build/dist/Utils/NetworkDiscovery/RescanIntervalUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/ScanModeUtil.js +85 -0
- package/build/dist/Utils/NetworkDiscovery/ScanModeUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/SnmpScanConfigUtil.js +560 -0
- package/build/dist/Utils/NetworkDiscovery/SnmpScanConfigUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteMaintenanceUtil.js +56 -0
- package/build/dist/Utils/NetworkSite/SiteMaintenanceUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +185 -10
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +248 -21
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -1
- package/build/dist/Utils/SecurityEvent/ThreatIntel/StixPatternParser.js +255 -0
- package/build/dist/Utils/SecurityEvent/ThreatIntel/StixPatternParser.js.map +1 -0
- package/build/dist/Utils/Telemetry/CrossSignalScope.js +27 -30
- package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -1
- package/package.json +2 -1
- package/Tests/Types/Log/LogQueryParser.test.ts +0 -186
- package/Types/Log/LogQueryParser.ts +0 -252
- package/build/dist/Types/Log/LogQueryParser.js +0 -200
- package/build/dist/Types/Log/LogQueryParser.js.map +0 -1
|
@@ -7,6 +7,7 @@ import CreateBy from "../Types/Database/CreateBy";
|
|
|
7
7
|
import { OnCreate } from "../Types/Database/Hooks";
|
|
8
8
|
import QueryHelper from "../Types/Database/QueryHelper";
|
|
9
9
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
10
|
+
import ServerException from "../../Types/Exception/ServerException";
|
|
10
11
|
import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
11
12
|
import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
12
13
|
import ObjectID from "../../Types/ObjectID";
|
|
@@ -164,6 +165,132 @@ export class Service extends DatabaseService<Model> {
|
|
|
164
165
|
return codes;
|
|
165
166
|
}
|
|
166
167
|
|
|
168
|
+
/**
|
|
169
|
+
* Mint a set for a user who has none, and return the PLAINTEXT codes -- or
|
|
170
|
+
* report that they already had some and nothing was touched.
|
|
171
|
+
*
|
|
172
|
+
* This is what the enrolment paths call. Backup codes used to come into
|
|
173
|
+
* existence only when somebody found the card on their profile page and
|
|
174
|
+
* pressed a button, which meant that in practice nobody had any: the
|
|
175
|
+
* recovery route shipped, and the account that needed it was still offered
|
|
176
|
+
* no way in. Setting a second factor up is the moment the user is thinking
|
|
177
|
+
* about exactly this, so it is the moment the codes are made.
|
|
178
|
+
*
|
|
179
|
+
* WHY NOT JUST CALL `regenerateForUser`
|
|
180
|
+
*
|
|
181
|
+
* Because it REPLACES. Adding a second authenticator app, or a security key
|
|
182
|
+
* alongside a phone, is an enrolment too -- and running a regeneration on
|
|
183
|
+
* that would silently void the ten codes the user printed when they set the
|
|
184
|
+
* first one up. The count check is the whole point of this method: it mints
|
|
185
|
+
* for an account with no recovery route and is a no-op for an account that
|
|
186
|
+
* already has one.
|
|
187
|
+
*
|
|
188
|
+
* WHY IT WRITES WITHOUT DELETING FIRST
|
|
189
|
+
*
|
|
190
|
+
* `regenerateForUser` opens by deleting, which is right for a deliberate
|
|
191
|
+
* replacement and wrong here. Two enrolments completing at the same instant
|
|
192
|
+
* could both see a zero count; if the second one deleted, the codes the
|
|
193
|
+
* first one has already put on the user's screen would stop working while
|
|
194
|
+
* they were still reading them. Writing without deleting makes that race
|
|
195
|
+
* produce two live sets instead of one live set and one dead one -- more
|
|
196
|
+
* codes than intended, none of them a lie.
|
|
197
|
+
*
|
|
198
|
+
* For the same reason the compensating delete on a failed write removes only
|
|
199
|
+
* the rows THIS call created rather than everything the user has.
|
|
200
|
+
*
|
|
201
|
+
* @returns the plaintext codes when a set was minted, or null when the user
|
|
202
|
+
* already had codes and nothing was written.
|
|
203
|
+
*/
|
|
204
|
+
@CaptureSpan()
|
|
205
|
+
public async generateForUserIfNone(data: {
|
|
206
|
+
userId: ObjectID;
|
|
207
|
+
count?: number | undefined;
|
|
208
|
+
}): Promise<Array<string> | null> {
|
|
209
|
+
/*
|
|
210
|
+
* UNUSED codes, not all rows. The question this answers is "does this
|
|
211
|
+
* account have a way back in", and a user who has spent all ten of theirs
|
|
212
|
+
* does not -- they are in the state the profile card already flags in red.
|
|
213
|
+
* Counting spent rows as codes would mean the one account that most needs
|
|
214
|
+
* a fresh set at enrolment is the one guaranteed not to get one, which is
|
|
215
|
+
* the same shape of bug as the one this whole change exists to fix.
|
|
216
|
+
*
|
|
217
|
+
* The spent rows are left where they are. They cannot sign anybody in, and
|
|
218
|
+
* deleting them would put a destructive statement on a path whose entire
|
|
219
|
+
* safety argument is that it never removes anything.
|
|
220
|
+
*/
|
|
221
|
+
const existing: number = await this.countUnusedForUser({
|
|
222
|
+
userId: data.userId,
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
if (existing > 0) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
const count: number = data.count || BackupCodeSetSize;
|
|
230
|
+
const codes: Array<string> = TwoFactorBackupCode.generateCodeSet(count);
|
|
231
|
+
const writtenIds: Array<ObjectID> = [];
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
for (const code of codes) {
|
|
235
|
+
const backupCode: Model = new Model();
|
|
236
|
+
backupCode.userId = data.userId;
|
|
237
|
+
backupCode.codeHash = TwoFactorBackupCode.hashCode({
|
|
238
|
+
code: code,
|
|
239
|
+
userId: data.userId,
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
const written: Model = await this.create({
|
|
243
|
+
data: backupCode,
|
|
244
|
+
props: {
|
|
245
|
+
isRoot: true,
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
/*
|
|
250
|
+
* A row that came back without an id is a row this call can no longer
|
|
251
|
+
* point at, so it fails the whole mint rather than being skipped.
|
|
252
|
+
*
|
|
253
|
+
* Skipping it looks harmless and is not: the id is the only handle the
|
|
254
|
+
* compensation below has, so a row missing from that list is a row
|
|
255
|
+
* that survives a later failure in this loop -- a code nobody has ever
|
|
256
|
+
* seen, counted by `getStatusForUser` as part of a recovery route that
|
|
257
|
+
* does not exist. Failing here at least removes everything written up
|
|
258
|
+
* to this point.
|
|
259
|
+
*/
|
|
260
|
+
if (!written.id) {
|
|
261
|
+
throw new ServerException(
|
|
262
|
+
"Backup code was written without an id and cannot be tracked.",
|
|
263
|
+
);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
writtenIds.push(written.id);
|
|
267
|
+
}
|
|
268
|
+
} catch (err) {
|
|
269
|
+
/*
|
|
270
|
+
* Same bargain as `regenerateForUser`: a partial set is worse than no
|
|
271
|
+
* set, because `getStatusForUser` would then report codes to somebody
|
|
272
|
+
* who has never seen one of them. Best-effort, and by id so a set
|
|
273
|
+
* written concurrently is not collateral.
|
|
274
|
+
*/
|
|
275
|
+
for (const writtenId of writtenIds) {
|
|
276
|
+
try {
|
|
277
|
+
await this.deleteOneById({
|
|
278
|
+
id: writtenId,
|
|
279
|
+
props: {
|
|
280
|
+
isRoot: true,
|
|
281
|
+
},
|
|
282
|
+
});
|
|
283
|
+
} catch (cleanupError) {
|
|
284
|
+
logger.error(cleanupError);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
throw err;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
return codes;
|
|
292
|
+
}
|
|
293
|
+
|
|
167
294
|
/**
|
|
168
295
|
* Spend one of this user's backup codes, if the submitted code is one of
|
|
169
296
|
* them and has not been used already.
|
|
@@ -43,7 +43,14 @@ export class Service extends DatabaseService<Model> {
|
|
|
43
43
|
throw new BadDataException("Webhook name is required");
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
/*
|
|
47
|
+
* An on-call webhook is registered by the user it pages, from inside a
|
|
48
|
+
* project, so a self-hosted instance may allow it to reach an internal
|
|
49
|
+
* service (issue #3424). Off unless the operator configured it.
|
|
50
|
+
*/
|
|
51
|
+
await SSRFProtection.validateWebhookTargetIsSafe(createBy.data.webhookUrl, {
|
|
52
|
+
allowPrivateNetworkTargets: true,
|
|
53
|
+
});
|
|
47
54
|
|
|
48
55
|
return {
|
|
49
56
|
createBy,
|
|
@@ -62,7 +69,9 @@ export class Service extends DatabaseService<Model> {
|
|
|
62
69
|
const webhookUrl: unknown = updateBy.data.webhookUrl;
|
|
63
70
|
|
|
64
71
|
if (typeof webhookUrl === "string" || webhookUrl instanceof URL) {
|
|
65
|
-
await SSRFProtection.validateWebhookTargetIsSafe(webhookUrl
|
|
72
|
+
await SSRFProtection.validateWebhookTargetIsSafe(webhookUrl, {
|
|
73
|
+
allowPrivateNetworkTargets: true,
|
|
74
|
+
});
|
|
66
75
|
}
|
|
67
76
|
|
|
68
77
|
return {
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# OneUptime brand images for server-rendered pages
|
|
2
|
+
|
|
3
|
+
The logo and icons that the pages rendered out of the **App** container need -
|
|
4
|
+
the on-call acknowledge page, the already-acknowledged page and the SSO message
|
|
5
|
+
page.
|
|
6
|
+
|
|
7
|
+
These are OneUptime's own images, not third-party assets, so they do not belong
|
|
8
|
+
in `../Vendor`. They are here for the same reason that directory exists: a view
|
|
9
|
+
must not reference a path the service rendering it does not serve.
|
|
10
|
+
|
|
11
|
+
`/img/...` is served by the **Home** container. nginx routes `/` to **App** on
|
|
12
|
+
every install with billing off - which is every self-hosted install - so
|
|
13
|
+
`<img src="/img/3-transparent.svg">` on the acknowledge page 404'd and the
|
|
14
|
+
browser drew a broken image. See
|
|
15
|
+
https://github.com/OneUptime/oneuptime/issues/3457.
|
|
16
|
+
|
|
17
|
+
Every service mounts this directory read-only at `/oneuptime-assets/brand` (see
|
|
18
|
+
`Common/Server/Utils/VendorAssets.ts`). Reference the files from a view by that
|
|
19
|
+
absolute path, or from server code via the `OneUptimeLogoUrl` constant -
|
|
20
|
+
`Common/Tests/Server/Utils/OfflineAssetHygiene.test.ts` fails the build on a
|
|
21
|
+
`/oneuptime-assets/...` URL that does not resolve to a file on disk.
|
|
22
|
+
|
|
23
|
+
## Contents
|
|
24
|
+
|
|
25
|
+
| Path | Source |
|
|
26
|
+
| ----------------------------- | --------------------------------------------------- |
|
|
27
|
+
| `oneuptime-logo.svg` | `Common/UI/Images/logos/OneUptimeSVG/3-transparent.svg` |
|
|
28
|
+
| `ou-wb.svg`, `hou-wb.svg` | `Home/Static/img/` |
|
|
29
|
+
| `favicons/` | `Home/Static/img/favicons/` |
|
|
30
|
+
|
|
31
|
+
`Common/Tests/Server/Utils/VendorAssets.test.ts` asserts `oneuptime-logo.svg` is
|
|
32
|
+
byte-identical to the copies under `Common/UI` and `Home/Static`, so a rebrand
|
|
33
|
+
that updates one of them and not this one fails the build rather than leaving
|
|
34
|
+
the acknowledge page on the old mark.
|
|
35
|
+
|
|
36
|
+
Unlike the vendored libraries, these filenames carry no version, so they are
|
|
37
|
+
served with a one-hour revalidating cache rather than the year `Static/Vendor`
|
|
38
|
+
gets. A rebrand must not be stuck behind a year-old cache entry.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
3
|
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
4
|
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
|
6
|
+
preserveAspectRatio="xMidYMid meet">
|
|
7
|
+
<metadata>
|
|
8
|
+
Created by potrace 1.14, written by Peter Selinger 2001-2017
|
|
9
|
+
</metadata>
|
|
10
|
+
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
|
11
|
+
fill="#000000" stroke="none">
|
|
12
|
+
<path d="M864 4667 c-7 -19 2 -1540 9 -1567 4 -13 9 -42 12 -63 14 -91 70
|
|
13
|
+
-225 138 -331 28 -44 106 -121 162 -162 103 -73 173 -100 368 -144 72 -16 315
|
|
14
|
+
-4 402 19 268 72 459 246 551 498 31 85 41 129 59 253 5 34 10 1314 6 1482
|
|
15
|
+
l-1 27 -210 -1 c-208 0 -210 0 -211 -22 0 -11 -2 -340 -4 -731 -1 -390 -5
|
|
16
|
+
-728 -9 -750 -29 -182 -125 -315 -258 -361 -74 -26 -252 -26 -325 -1 -135 47
|
|
17
|
+
-231 205 -249 409 -4 45 -8 391 -8 768 l-1 685 -213 2 c-154 1 -215 -2 -218
|
|
18
|
+
-10z"/>
|
|
19
|
+
<path d="M3663 4169 c-125 -14 -257 -70 -354 -149 l-46 -38 -38 40 c-68 69
|
|
20
|
+
-161 105 -294 114 l-87 6 -42 -154 c-23 -84 -45 -167 -48 -184 l-6 -31 50 5
|
|
21
|
+
c62 5 118 -12 134 -41 9 -17 13 -257 14 -992 1 -533 2 -972 3 -975 0 -3 94 -5
|
|
22
|
+
208 -5 l208 1 0 359 c1 198 4 361 8 362 4 2 35 -10 69 -26 114 -51 159 -62
|
|
23
|
+
283 -66 169 -7 323 46 454 155 310 258 414 756 241 1161 -131 309 -435 493
|
|
24
|
+
-757 458z m169 -412 c75 -34 140 -102 182 -191 46 -97 60 -163 59 -286 0 -251
|
|
25
|
+
-105 -431 -280 -483 -57 -17 -157 -16 -221 2 -44 12 -139 66 -181 102 l-25 20
|
|
26
|
+
0 357 -1 357 30 28 c50 47 114 88 168 107 75 27 193 21 269 -13z"/>
|
|
27
|
+
<path d="M4932 4013 c-18 -6 -35 -13 -36 -15 -24 -27 -26 -83 -26 -688 l0
|
|
28
|
+
-642 29 -29 29 -29 650 0 649 0 26 25 c13 14 26 36 28 48 3 12 4 303 4 647 -1
|
|
29
|
+
587 -2 627 -19 653 -10 15 -30 30 -43 33 -49 13 -1255 10 -1291 -3z"/>
|
|
30
|
+
</g>
|
|
31
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="text/ecmascript" width="375" zoomAndPan="magnify" contentStyleType="text/css" viewBox="0 0 375 374.999991" height="374.999991" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g><g id="glyph-0-0"/><g id="glyph-0-1"><path d="M 1.3125 -18.390625 C 1.3125 -21.210938 1.726562 -23.847656 2.5625 -26.296875 C 3.40625 -28.773438 4.628906 -30.921875 6.234375 -32.734375 C 7.835938 -34.585938 9.789062 -36.019531 12.09375 -37.03125 C 13.25 -37.550781 14.476562 -37.941406 15.78125 -38.203125 C 17.09375 -38.460938 18.46875 -38.59375 19.90625 -38.59375 C 21.332031 -38.59375 22.703125 -38.460938 24.015625 -38.203125 C 25.328125 -37.941406 26.554688 -37.535156 27.703125 -36.984375 C 28.859375 -36.453125 29.925781 -35.816406 30.90625 -35.078125 C 31.882812 -34.347656 32.773438 -33.515625 33.578125 -32.578125 C 35.179688 -30.765625 36.421875 -28.632812 37.296875 -26.1875 C 38.128906 -23.738281 38.546875 -21.132812 38.546875 -18.375 C 38.546875 -15.625 38.128906 -13.023438 37.296875 -10.578125 C 37.015625 -9.773438 36.6875 -8.988281 36.3125 -8.21875 C 35.945312 -7.457031 35.535156 -6.734375 35.078125 -6.046875 C 34.628906 -5.367188 34.144531 -4.710938 33.625 -4.078125 C 32.820312 -3.140625 31.921875 -2.300781 30.921875 -1.5625 C 29.929688 -0.832031 28.878906 -0.207031 27.765625 0.3125 C 25.453125 1.394531 22.828125 1.9375 19.890625 1.9375 C 16.960938 1.9375 14.347656 1.394531 12.046875 0.3125 C 11.484375 0.03125 10.941406 -0.265625 10.421875 -0.578125 C 9.898438 -0.890625 9.394531 -1.226562 8.90625 -1.59375 C 8.414062 -1.957031 7.941406 -2.347656 7.484375 -2.765625 C 7.035156 -3.191406 6.617188 -3.628906 6.234375 -4.078125 C 4.628906 -5.929688 3.40625 -8.097656 2.5625 -10.578125 C 1.726562 -13.023438 1.3125 -15.628906 1.3125 -18.390625 Z M 9.015625 -18.390625 C 9.015625 -17.515625 9.070312 -16.648438 9.1875 -15.796875 C 9.3125 -14.941406 9.492188 -14.09375 9.734375 -13.25 C 10.015625 -12.445312 10.328125 -11.6875 10.671875 -10.96875 C 11.023438 -10.257812 11.445312 -9.585938 11.9375 -8.953125 C 12.082031 -8.742188 12.238281 -8.550781 12.40625 -8.375 C 12.582031 -8.207031 12.757812 -8.035156 12.9375 -7.859375 C 13.113281 -7.679688 13.296875 -7.503906 13.484375 -7.328125 C 13.679688 -7.160156 13.882812 -7.003906 14.09375 -6.859375 C 14.300781 -6.722656 14.507812 -6.582031 14.71875 -6.4375 C 14.925781 -6.300781 15.132812 -6.160156 15.34375 -6.015625 C 16.675781 -5.316406 18.195312 -4.96875 19.90625 -4.96875 C 20.53125 -4.96875 21.117188 -5.003906 21.671875 -5.078125 C 22.234375 -5.148438 22.757812 -5.265625 23.25 -5.421875 C 23.738281 -5.578125 24.191406 -5.757812 24.609375 -5.96875 C 25.972656 -6.632812 27.109375 -7.539062 28.015625 -8.6875 C 28.328125 -9.070312 28.601562 -9.484375 28.84375 -9.921875 C 29.09375 -10.359375 29.320312 -10.828125 29.53125 -11.328125 C 29.75 -11.835938 29.941406 -12.359375 30.109375 -12.890625 C 30.597656 -14.597656 30.84375 -16.429688 30.84375 -18.390625 C 30.84375 -20.128906 30.582031 -21.800781 30.0625 -23.40625 C 29.570312 -25.019531 28.835938 -26.453125 27.859375 -27.703125 C 26.921875 -28.929688 25.785156 -29.910156 24.453125 -30.640625 C 23.128906 -31.335938 21.613281 -31.6875 19.90625 -31.6875 C 19.488281 -31.6875 19.066406 -31.664062 18.640625 -31.625 C 18.222656 -31.59375 17.820312 -31.53125 17.4375 -31.4375 C 17.050781 -31.351562 16.679688 -31.25 16.328125 -31.125 C 15.984375 -31.007812 15.65625 -30.863281 15.34375 -30.6875 C 14.644531 -30.375 14.015625 -29.988281 13.453125 -29.53125 C 12.898438 -29.082031 12.394531 -28.5625 11.9375 -27.96875 C 11 -26.78125 10.265625 -25.382812 9.734375 -23.78125 C 9.253906 -22.101562 9.015625 -20.304688 9.015625 -18.390625 Z M 9.015625 -18.390625 "/></g><g id="glyph-0-2"><path d="M 10.0625 -26.140625 C 10.332031 -26.410156 10.609375 -26.648438 10.890625 -26.859375 C 11.171875 -27.078125 11.46875 -27.269531 11.78125 -27.4375 C 13.53125 -28.59375 15.570312 -29.171875 17.90625 -29.171875 C 19.625 -29.171875 21.144531 -28.898438 22.46875 -28.359375 C 23.789062 -27.816406 24.910156 -27.003906 25.828125 -25.921875 C 27.535156 -23.828125 28.390625 -21.101562 28.390625 -17.75 L 28.390625 1.3125 L 21.0625 1.3125 L 21.0625 -17.234375 C 21.0625 -17.828125 21.015625 -18.367188 20.921875 -18.859375 C 20.835938 -19.347656 20.71875 -19.78125 20.5625 -20.15625 C 20.40625 -20.539062 20.203125 -20.875 19.953125 -21.15625 C 19.742188 -21.4375 19.507812 -21.671875 19.25 -21.859375 C 18.988281 -22.054688 18.679688 -22.195312 18.328125 -22.28125 C 17.984375 -22.375 17.582031 -22.421875 17.125 -22.421875 C 16.5 -22.421875 15.867188 -22.296875 15.234375 -22.046875 C 14.578125 -21.804688 13.929688 -21.457031 13.296875 -21 C 12.671875 -20.507812 12.078125 -19.96875 11.515625 -19.375 C 11.304688 -19.09375 11.078125 -18.800781 10.828125 -18.5 C 10.585938 -18.207031 10.382812 -17.925781 10.21875 -17.65625 L 10.21875 1.3125 L 2.875 1.3125 L 2.875 -28.546875 L 10.0625 -28.546875 Z M 10.0625 -26.140625 "/></g><g id="glyph-0-3"><path d="M 8.75 -10.375 C 9.132812 -8.832031 9.796875 -7.59375 10.734375 -6.65625 C 11.953125 -5.46875 13.59375 -4.875 15.65625 -4.875 C 16.144531 -4.875 16.613281 -4.890625 17.0625 -4.921875 C 17.519531 -4.953125 17.957031 -5.003906 18.375 -5.078125 C 18.800781 -5.148438 19.207031 -5.238281 19.59375 -5.34375 C 19.976562 -5.445312 20.359375 -5.554688 20.734375 -5.671875 C 21.117188 -5.796875 21.492188 -5.925781 21.859375 -6.0625 C 22.234375 -6.207031 22.613281 -6.367188 23 -6.546875 L 24.359375 -7.171875 L 24.765625 -5.703125 L 25.875 -1.671875 L 26.1875 -0.578125 L 25.1875 -0.109375 C 23.832031 0.523438 22.316406 1.015625 20.640625 1.359375 C 19.796875 1.566406 18.910156 1.710938 17.984375 1.796875 C 17.066406 1.890625 16.097656 1.9375 15.078125 1.9375 C 12.953125 1.9375 11.015625 1.585938 9.265625 0.890625 C 7.523438 0.160156 6.039062 -0.882812 4.8125 -2.25 C 3.59375 -3.582031 2.648438 -5.222656 1.984375 -7.171875 C 1.359375 -9.054688 1.046875 -11.207031 1.046875 -13.625 C 1.046875 -15.78125 1.359375 -17.800781 1.984375 -19.6875 C 2.335938 -20.632812 2.738281 -21.523438 3.1875 -22.359375 C 3.644531 -23.203125 4.171875 -23.972656 4.765625 -24.671875 C 5.953125 -26.066406 7.382812 -27.164062 9.0625 -27.96875 C 10.738281 -28.769531 12.609375 -29.171875 14.671875 -29.171875 C 15.367188 -29.171875 16.039062 -29.125 16.6875 -29.03125 C 17.332031 -28.945312 17.957031 -28.828125 18.5625 -28.671875 C 19.175781 -28.515625 19.765625 -28.316406 20.328125 -28.078125 C 21.160156 -27.691406 21.914062 -27.242188 22.59375 -26.734375 C 23.28125 -26.234375 23.898438 -25.648438 24.453125 -24.984375 C 25.535156 -23.691406 26.359375 -22.207031 26.921875 -20.53125 C 27.160156 -19.695312 27.347656 -18.832031 27.484375 -17.9375 C 27.628906 -17.050781 27.703125 -16.148438 27.703125 -15.234375 C 27.703125 -14.992188 27.703125 -14.75 27.703125 -14.5 C 27.703125 -14.257812 27.691406 -14.007812 27.671875 -13.75 C 27.660156 -13.488281 27.65625 -13.234375 27.65625 -12.984375 C 27.65625 -12.742188 27.644531 -12.507812 27.625 -12.28125 C 27.613281 -12.050781 27.585938 -11.816406 27.546875 -11.578125 L 27.4375 -10.375 Z M 14.5625 -22.46875 C 12.882812 -22.46875 11.519531 -21.910156 10.46875 -20.796875 C 10.050781 -20.335938 9.6875 -19.773438 9.375 -19.109375 C 9.0625 -18.453125 8.816406 -17.6875 8.640625 -16.8125 L 20.6875 -16.8125 C 20.507812 -18.488281 19.984375 -19.796875 19.109375 -20.734375 C 18.035156 -21.890625 16.519531 -22.46875 14.5625 -22.46875 Z M 14.5625 -22.46875 "/></g><g id="glyph-0-4"><path d="M 26.34375 -37.96875 L 32.46875 -37.96875 L 32.46875 -14.140625 C 32.46875 -11.691406 32.117188 -9.472656 31.421875 -7.484375 C 30.722656 -5.492188 29.710938 -3.785156 28.390625 -2.359375 C 28.109375 -2.078125 27.816406 -1.8125 27.515625 -1.5625 C 27.222656 -1.320312 26.925781 -1.078125 26.625 -0.828125 C 26.332031 -0.585938 26.019531 -0.367188 25.6875 -0.171875 C 25.351562 0.015625 25.007812 0.191406 24.65625 0.359375 C 24.3125 0.535156 23.945312 0.695312 23.5625 0.84375 C 21.75 1.570312 19.726562 1.9375 17.5 1.9375 C 12.851562 1.9375 9.203125 0.554688 6.546875 -2.203125 C 3.929688 -4.960938 2.625 -8.875 2.625 -13.9375 L 2.625 -37.96875 L 10.21875 -37.96875 L 10.21875 -14.71875 C 10.21875 -11.46875 10.84375 -9.003906 12.09375 -7.328125 C 12.65625 -6.566406 13.375 -5.992188 14.25 -5.609375 C 15.125 -5.222656 16.207031 -5.03125 17.5 -5.03125 C 20.039062 -5.03125 21.90625 -5.796875 23.09375 -7.328125 C 24.382812 -8.972656 25.03125 -11.4375 25.03125 -14.71875 L 25.03125 -37.96875 Z M 26.34375 -37.96875 "/></g><g id="glyph-0-5"><path d="M 3.09375 -28.546875 C 3.789062 -28.546875 4.4375 -28.492188 5.03125 -28.390625 C 5.625 -28.285156 6.191406 -28.117188 6.734375 -27.890625 C 7.273438 -27.660156 7.769531 -27.367188 8.21875 -27.015625 C 8.675781 -26.671875 9.0625 -26.253906 9.375 -25.765625 C 9.96875 -26.359375 10.648438 -26.882812 11.421875 -27.34375 C 11.628906 -27.476562 11.835938 -27.609375 12.046875 -27.734375 C 12.253906 -27.859375 12.476562 -27.972656 12.71875 -28.078125 C 12.96875 -28.179688 13.210938 -28.273438 13.453125 -28.359375 C 13.703125 -28.441406 13.945312 -28.539062 14.1875 -28.65625 C 14.75 -28.820312 15.328125 -28.945312 15.921875 -29.03125 C 16.515625 -29.125 17.125 -29.171875 17.75 -29.171875 C 19.5 -29.171875 21.1875 -28.820312 22.8125 -28.125 C 24.4375 -27.425781 25.859375 -26.414062 27.078125 -25.09375 C 28.296875 -23.757812 29.253906 -22.148438 29.953125 -20.265625 C 30.203125 -19.640625 30.40625 -18.976562 30.5625 -18.28125 C 30.71875 -17.582031 30.835938 -16.863281 30.921875 -16.125 C 31.015625 -15.394531 31.0625 -14.644531 31.0625 -13.875 C 31.0625 -11.570312 30.710938 -9.441406 30.015625 -7.484375 C 29.660156 -6.546875 29.25 -5.65625 28.78125 -4.8125 C 28.3125 -3.976562 27.757812 -3.210938 27.125 -2.515625 C 26.914062 -2.234375 26.679688 -1.96875 26.421875 -1.71875 C 26.160156 -1.476562 25.890625 -1.234375 25.609375 -0.984375 C 25.328125 -0.742188 25.046875 -0.519531 24.765625 -0.3125 C 24.492188 -0.101562 24.195312 0.0859375 23.875 0.265625 C 23.5625 0.441406 23.25 0.597656 22.9375 0.734375 C 22.132812 1.148438 21.304688 1.453125 20.453125 1.640625 C 19.597656 1.835938 18.734375 1.9375 17.859375 1.9375 C 16.003906 1.9375 14.3125 1.570312 12.78125 0.84375 C 12.21875 0.59375 11.691406 0.3125 11.203125 0 L 11.203125 12.828125 L 3.875 12.828125 L 3.875 -20.265625 C 3.875 -21.066406 3.734375 -21.59375 3.453125 -21.84375 C 3.140625 -22.125 2.6875 -22.265625 2.09375 -22.265625 L 0.359375 -22.265625 L 0.84375 -23.9375 L 1.828125 -27.609375 L 2.09375 -28.546875 Z M 23.625 -13.71875 C 23.625 -14.457031 23.570312 -15.140625 23.46875 -15.765625 C 23.363281 -16.390625 23.210938 -16.972656 23.015625 -17.515625 C 22.828125 -18.054688 22.609375 -18.550781 22.359375 -19 C 22.117188 -19.457031 21.84375 -19.878906 21.53125 -20.265625 C 20.894531 -21.003906 20.164062 -21.554688 19.34375 -21.921875 C 18.53125 -22.285156 17.648438 -22.46875 16.703125 -22.46875 C 16.078125 -22.46875 15.484375 -22.390625 14.921875 -22.234375 C 14.367188 -22.078125 13.847656 -21.84375 13.359375 -21.53125 C 12.453125 -20.96875 11.734375 -20.375 11.203125 -19.75 L 11.203125 -7.328125 C 11.941406 -6.671875 12.75 -6.113281 13.625 -5.65625 C 14.59375 -5.132812 15.691406 -4.875 16.921875 -4.875 C 17.898438 -4.875 18.789062 -5.066406 19.59375 -5.453125 C 20.394531 -5.867188 21.09375 -6.441406 21.6875 -7.171875 C 22 -7.554688 22.265625 -7.972656 22.484375 -8.421875 C 22.710938 -8.878906 22.914062 -9.390625 23.09375 -9.953125 C 23.269531 -10.515625 23.398438 -11.109375 23.484375 -11.734375 C 23.578125 -12.359375 23.625 -13.019531 23.625 -13.71875 Z M 23.625 -13.71875 "/></g><g id="glyph-0-6"><path d="M 6.34375 -36.140625 L 11.265625 -36.140625 L 11.265625 -27.546875 L 18.796875 -27.546875 L 18.796875 -20.84375 L 11.265625 -20.84375 L 11.265625 -9.015625 C 11.265625 -8.140625 11.347656 -7.421875 11.515625 -6.859375 C 11.691406 -6.335938 11.90625 -5.9375 12.15625 -5.65625 C 12.394531 -5.375 12.691406 -5.179688 13.046875 -5.078125 C 13.253906 -5.003906 13.460938 -4.953125 13.671875 -4.921875 C 13.878906 -4.890625 14.085938 -4.875 14.296875 -4.875 C 15.023438 -4.875 15.6875 -4.976562 16.28125 -5.1875 C 17.019531 -5.46875 17.703125 -5.78125 18.328125 -6.125 L 19.6875 -6.859375 L 20.21875 -5.390625 L 21.53125 -1.625 L 21.84375 -0.625 L 20.953125 -0.109375 C 20.179688 0.378906 19.148438 0.832031 17.859375 1.25 C 17.191406 1.5 16.507812 1.675781 15.8125 1.78125 C 15.113281 1.882812 14.414062 1.9375 13.71875 1.9375 C 10.71875 1.9375 8.328125 0.941406 6.546875 -1.046875 C 5.640625 -2.054688 4.972656 -3.257812 4.546875 -4.65625 C 4.128906 -6.050781 3.921875 -7.625 3.921875 -9.375 L 3.921875 -20.84375 L -0.78125 -20.84375 L -0.78125 -27.546875 L 4.1875 -27.546875 L 5.03125 -34.984375 L 5.1875 -36.140625 Z M 6.34375 -36.140625 "/></g><g id="glyph-0-7"><path d="M 8.90625 1.3125 L 2.875 1.3125 L 2.875 -28.546875 L 10.21875 -28.546875 L 10.21875 1.3125 Z M 6.546875 -30.59375 C 5.285156 -30.59375 4.203125 -31.046875 3.296875 -31.953125 C 2.390625 -32.859375 1.9375 -33.941406 1.9375 -35.203125 C 1.9375 -36.554688 2.363281 -37.660156 3.21875 -38.515625 C 4.070312 -39.378906 5.179688 -39.8125 6.546875 -39.8125 C 7.171875 -39.8125 7.765625 -39.695312 8.328125 -39.46875 C 8.890625 -39.238281 9.382812 -38.90625 9.8125 -38.46875 C 10.25 -38.03125 10.582031 -37.53125 10.8125 -36.96875 C 11.039062 -36.414062 11.15625 -35.828125 11.15625 -35.203125 C 11.15625 -33.835938 10.726562 -32.726562 9.875 -31.875 C 9.019531 -31.019531 7.910156 -30.59375 6.546875 -30.59375 Z M 6.546875 -30.59375 "/></g><g id="glyph-0-8"><path d="M 10.0625 -26.1875 C 10.332031 -26.425781 10.597656 -26.648438 10.859375 -26.859375 C 11.128906 -27.078125 11.421875 -27.269531 11.734375 -27.4375 C 12.148438 -27.71875 12.582031 -27.972656 13.03125 -28.203125 C 13.488281 -28.429688 13.96875 -28.613281 14.46875 -28.75 C 14.976562 -28.894531 15.488281 -29 16 -29.0625 C 16.507812 -29.132812 17.039062 -29.171875 17.59375 -29.171875 C 20.039062 -29.171875 22.066406 -28.5625 23.671875 -27.34375 C 24.648438 -26.601562 25.453125 -25.691406 26.078125 -24.609375 C 26.953125 -25.585938 27.878906 -26.460938 28.859375 -27.234375 C 29.203125 -27.484375 29.566406 -27.710938 29.953125 -27.921875 C 30.335938 -28.128906 30.738281 -28.3125 31.15625 -28.46875 C 31.582031 -28.625 32.007812 -28.753906 32.4375 -28.859375 C 32.875 -28.960938 33.320312 -29.039062 33.78125 -29.09375 C 34.238281 -29.144531 34.710938 -29.171875 35.203125 -29.171875 C 35.410156 -29.171875 35.609375 -29.171875 35.796875 -29.171875 C 35.992188 -29.171875 36.1875 -29.160156 36.375 -29.140625 C 36.5625 -29.128906 36.75 -29.101562 36.9375 -29.0625 C 37.132812 -29.03125 37.320312 -28.992188 37.5 -28.953125 C 37.675781 -28.921875 37.847656 -28.890625 38.015625 -28.859375 C 38.191406 -28.828125 38.367188 -28.785156 38.546875 -28.734375 C 38.722656 -28.679688 38.894531 -28.617188 39.0625 -28.546875 C 39.238281 -28.472656 39.414062 -28.398438 39.59375 -28.328125 C 39.90625 -28.191406 40.207031 -28.035156 40.5 -27.859375 C 40.800781 -27.691406 41.082031 -27.5 41.34375 -27.28125 C 41.613281 -27.070312 41.867188 -26.851562 42.109375 -26.625 C 42.347656 -26.40625 42.578125 -26.15625 42.796875 -25.875 C 43.660156 -24.863281 44.285156 -23.660156 44.671875 -22.265625 C 45.085938 -20.898438 45.296875 -19.394531 45.296875 -17.75 L 45.296875 1.3125 L 37.96875 1.3125 L 37.96875 -17.390625 C 37.96875 -18.992188 37.617188 -20.269531 36.921875 -21.21875 C 36.296875 -22.019531 35.441406 -22.421875 34.359375 -22.421875 C 33.734375 -22.421875 33.140625 -22.296875 32.578125 -22.046875 C 31.953125 -21.765625 31.359375 -21.398438 30.796875 -20.953125 C 30.203125 -20.460938 29.625 -19.90625 29.0625 -19.28125 C 28.851562 -19 28.625 -18.695312 28.375 -18.375 C 28.132812 -18.0625 27.929688 -17.769531 27.765625 -17.5 L 27.765625 1.3125 L 20.421875 1.3125 L 20.421875 -17.390625 C 20.421875 -18.992188 20.070312 -20.269531 19.375 -21.21875 C 18.75 -22.019531 17.894531 -22.421875 16.8125 -22.421875 C 16.21875 -22.421875 15.625 -22.296875 15.03125 -22.046875 C 14.75 -21.941406 14.453125 -21.800781 14.140625 -21.625 C 13.828125 -21.457031 13.53125 -21.25 13.25 -21 C 13.144531 -20.925781 13.039062 -20.847656 12.9375 -20.765625 C 12.832031 -20.679688 12.734375 -20.59375 12.640625 -20.5 C 12.554688 -20.414062 12.460938 -20.328125 12.359375 -20.234375 C 12.253906 -20.148438 12.15625 -20.0625 12.0625 -19.96875 C 11.976562 -19.882812 11.890625 -19.789062 11.796875 -19.6875 C 11.710938 -19.582031 11.617188 -19.476562 11.515625 -19.375 C 11.304688 -19.09375 11.078125 -18.800781 10.828125 -18.5 C 10.585938 -18.207031 10.382812 -17.925781 10.21875 -17.65625 L 10.21875 1.3125 L 2.875 1.3125 L 2.875 -28.546875 L 10.0625 -28.546875 Z M 10.0625 -26.1875 "/></g></g></defs><path fill="rgb(49.409485%, 85.099792%, 34.118652%)" d="M 336.898438 199.652344 L 325.15625 199.652344 C 324.671875 199.652344 324.277344 199.257812 324.277344 198.773438 L 324.277344 187.03125 C 324.277344 186.546875 324.671875 186.152344 325.15625 186.152344 L 336.898438 186.152344 C 337.382812 186.152344 337.777344 186.546875 337.777344 187.03125 L 337.777344 198.773438 C 337.777344 199.257812 337.382812 199.652344 336.898438 199.652344 Z M 336.898438 199.652344 " fill-opacity="1" fill-rule="nonzero"/><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="37.500002" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-1" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="77.350686" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-2" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="108.351484" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-3" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="136.838704" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-4" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="171.924061" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-5" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="204.024548" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-6" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="224.813942" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-7" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="237.905493" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-8" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="285.820571" y="204.557022" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-3" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="500" zoomAndPan="magnify" viewBox="0 0 375 74.999997" height="100" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="1d83d73318"><path d="M 351.792969 35.324219 L 367.53125 35.324219 L 367.53125 51.0625 L 351.792969 51.0625 Z M 351.792969 35.324219 " clip-rule="nonzero"/></clipPath><clipPath id="32c1ad7ad2"><path d="M 366.480469 51.03125 L 352.816406 51.03125 C 352.253906 51.03125 351.792969 50.574219 351.792969 50.007812 L 351.792969 36.347656 C 351.792969 35.785156 352.253906 35.324219 352.816406 35.324219 L 366.480469 35.324219 C 367.042969 35.324219 367.5 35.785156 367.5 36.347656 L 367.5 50.007812 C 367.5 50.574219 367.042969 51.03125 366.480469 51.03125 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#1d83d73318)"><g clip-path="url(#32c1ad7ad2)"><path fill="#7ed957" d="M 351.792969 35.324219 L 367.53125 35.324219 L 367.53125 51.0625 L 351.792969 51.0625 Z M 351.792969 35.324219 " fill-opacity="1" fill-rule="nonzero"/></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(11.173064, 55.95717)"><g><path d="M 1.5625 -21.828125 C 1.5625 -25.191406 2.054688 -28.320312 3.046875 -31.21875 C 4.046875 -34.164062 5.5 -36.71875 7.40625 -38.875 C 9.3125 -41.070312 11.632812 -42.773438 14.375 -43.984375 C 15.738281 -44.597656 17.195312 -45.0625 18.75 -45.375 C 20.3125 -45.6875 21.941406 -45.84375 23.640625 -45.84375 C 25.335938 -45.84375 26.960938 -45.6875 28.515625 -45.375 C 30.078125 -45.0625 31.539062 -44.578125 32.90625 -43.921875 C 34.269531 -43.296875 35.53125 -42.546875 36.6875 -41.671875 C 37.851562 -40.804688 38.914062 -39.8125 39.875 -38.6875 C 41.78125 -36.53125 43.25 -34.003906 44.28125 -31.109375 C 45.28125 -28.203125 45.78125 -25.109375 45.78125 -21.828125 C 45.78125 -18.554688 45.28125 -15.46875 44.28125 -12.5625 C 43.957031 -11.613281 43.578125 -10.679688 43.140625 -9.765625 C 42.703125 -8.847656 42.210938 -7.984375 41.671875 -7.171875 C 41.140625 -6.367188 40.5625 -5.597656 39.9375 -4.859375 C 38.976562 -3.734375 37.90625 -2.734375 36.71875 -1.859375 C 35.539062 -0.992188 34.289062 -0.25 32.96875 0.375 C 30.226562 1.65625 27.113281 2.296875 23.625 2.296875 C 20.144531 2.296875 17.039062 1.65625 14.3125 0.375 C 13.644531 0.0390625 13 -0.3125 12.375 -0.6875 C 11.757812 -1.0625 11.160156 -1.460938 10.578125 -1.890625 C 9.992188 -2.328125 9.429688 -2.796875 8.890625 -3.296875 C 8.359375 -3.796875 7.863281 -4.316406 7.40625 -4.859375 C 5.5 -7.054688 4.046875 -9.625 3.046875 -12.5625 C 2.054688 -15.46875 1.5625 -18.554688 1.5625 -21.828125 Z M 10.703125 -21.828125 C 10.703125 -20.796875 10.773438 -19.769531 10.921875 -18.75 C 11.066406 -17.738281 11.28125 -16.734375 11.5625 -15.734375 C 11.894531 -14.785156 12.269531 -13.882812 12.6875 -13.03125 C 13.101562 -12.175781 13.601562 -11.378906 14.1875 -10.640625 C 14.351562 -10.390625 14.535156 -10.160156 14.734375 -9.953125 C 14.941406 -9.742188 15.148438 -9.535156 15.359375 -9.328125 C 15.566406 -9.117188 15.785156 -8.910156 16.015625 -8.703125 C 16.242188 -8.492188 16.484375 -8.304688 16.734375 -8.140625 C 16.984375 -7.984375 17.234375 -7.820312 17.484375 -7.65625 C 17.734375 -7.488281 17.976562 -7.320312 18.21875 -7.15625 C 19.800781 -6.320312 21.609375 -5.90625 23.640625 -5.90625 C 24.378906 -5.90625 25.082031 -5.945312 25.75 -6.03125 C 26.414062 -6.113281 27.035156 -6.25 27.609375 -6.4375 C 28.191406 -6.625 28.734375 -6.84375 29.234375 -7.09375 C 30.847656 -7.875 32.195312 -8.953125 33.28125 -10.328125 C 33.65625 -10.785156 33.984375 -11.269531 34.265625 -11.78125 C 34.554688 -12.300781 34.828125 -12.863281 35.078125 -13.46875 C 35.328125 -14.070312 35.554688 -14.679688 35.765625 -15.296875 C 36.347656 -17.328125 36.640625 -19.503906 36.640625 -21.828125 C 36.640625 -23.898438 36.328125 -25.894531 35.703125 -27.8125 C 35.117188 -29.71875 34.25 -31.414062 33.09375 -32.90625 C 31.96875 -34.351562 30.617188 -35.515625 29.046875 -36.390625 C 27.472656 -37.222656 25.671875 -37.640625 23.640625 -37.640625 C 23.140625 -37.640625 22.640625 -37.617188 22.140625 -37.578125 C 21.640625 -37.535156 21.160156 -37.460938 20.703125 -37.359375 C 20.253906 -37.253906 19.820312 -37.128906 19.40625 -36.984375 C 18.988281 -36.835938 18.59375 -36.660156 18.21875 -36.453125 C 17.394531 -36.078125 16.648438 -35.617188 15.984375 -35.078125 C 15.316406 -34.546875 14.71875 -33.925781 14.1875 -33.21875 C 13.0625 -31.8125 12.1875 -30.148438 11.5625 -28.234375 C 10.988281 -26.242188 10.703125 -24.109375 10.703125 -21.828125 Z M 10.703125 -21.828125 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(58.505968, 55.95717)"><g><path d="M 11.9375 -31.046875 C 12.269531 -31.367188 12.601562 -31.65625 12.9375 -31.90625 C 13.269531 -32.15625 13.625 -32.382812 14 -32.59375 C 16.070312 -33.957031 18.5 -34.640625 21.28125 -34.640625 C 23.3125 -34.640625 25.113281 -34.316406 26.6875 -33.671875 C 28.257812 -33.035156 29.585938 -32.078125 30.671875 -30.796875 C 32.703125 -28.304688 33.71875 -25.070312 33.71875 -21.09375 L 33.71875 1.5625 L 25 1.5625 L 25 -20.46875 C 25 -21.164062 24.945312 -21.804688 24.84375 -22.390625 C 24.738281 -22.972656 24.59375 -23.488281 24.40625 -23.9375 C 24.226562 -24.394531 23.992188 -24.789062 23.703125 -25.125 C 23.453125 -25.457031 23.171875 -25.738281 22.859375 -25.96875 C 22.546875 -26.195312 22.179688 -26.363281 21.765625 -26.46875 C 21.359375 -26.570312 20.882812 -26.625 20.34375 -26.625 C 19.59375 -26.625 18.84375 -26.476562 18.09375 -26.1875 C 17.3125 -25.894531 16.546875 -25.476562 15.796875 -24.9375 C 15.054688 -24.363281 14.351562 -23.722656 13.6875 -23.015625 C 13.4375 -22.679688 13.164062 -22.335938 12.875 -21.984375 C 12.582031 -21.628906 12.332031 -21.289062 12.125 -20.96875 L 12.125 1.5625 L 3.421875 1.5625 L 3.421875 -33.90625 L 11.9375 -33.90625 Z M 11.9375 -31.046875 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(95.327364, 55.95717)"><g><path d="M 10.390625 -12.3125 C 10.847656 -10.488281 11.632812 -9.019531 12.75 -7.90625 C 14.195312 -6.488281 16.144531 -5.78125 18.59375 -5.78125 C 19.175781 -5.78125 19.738281 -5.800781 20.28125 -5.84375 C 20.820312 -5.882812 21.335938 -5.945312 21.828125 -6.03125 C 22.328125 -6.113281 22.804688 -6.21875 23.265625 -6.34375 C 23.722656 -6.46875 24.175781 -6.601562 24.625 -6.75 C 25.082031 -6.894531 25.53125 -7.050781 25.96875 -7.21875 C 26.40625 -7.382812 26.851562 -7.570312 27.3125 -7.78125 L 28.921875 -8.515625 L 29.421875 -6.78125 L 30.734375 -1.984375 L 31.109375 -0.6875 L 29.921875 -0.125 C 28.304688 0.625 26.503906 1.207031 24.515625 1.625 C 23.515625 1.863281 22.460938 2.035156 21.359375 2.140625 C 20.265625 2.242188 19.117188 2.296875 17.921875 2.296875 C 15.390625 2.296875 13.085938 1.882812 11.015625 1.0625 C 8.941406 0.1875 7.175781 -1.054688 5.71875 -2.671875 C 4.269531 -4.242188 3.148438 -6.191406 2.359375 -8.515625 C 1.617188 -10.753906 1.25 -13.304688 1.25 -16.171875 C 1.25 -18.742188 1.617188 -21.148438 2.359375 -23.390625 C 2.773438 -24.503906 3.253906 -25.554688 3.796875 -26.546875 C 4.335938 -27.546875 4.957031 -28.460938 5.65625 -29.296875 C 7.070312 -30.953125 8.773438 -32.257812 10.765625 -33.21875 C 12.753906 -34.164062 14.972656 -34.640625 17.421875 -34.640625 C 18.242188 -34.640625 19.039062 -34.585938 19.8125 -34.484375 C 20.582031 -34.390625 21.328125 -34.25 22.046875 -34.0625 C 22.773438 -33.875 23.472656 -33.632812 24.140625 -33.34375 C 25.128906 -32.882812 26.023438 -32.351562 26.828125 -31.75 C 27.640625 -31.15625 28.378906 -30.460938 29.046875 -29.671875 C 30.335938 -28.140625 31.3125 -26.378906 31.96875 -24.390625 C 32.257812 -23.390625 32.488281 -22.359375 32.65625 -21.296875 C 32.820312 -20.242188 32.90625 -19.175781 32.90625 -18.09375 C 32.90625 -17.8125 32.90625 -17.523438 32.90625 -17.234375 C 32.90625 -16.941406 32.894531 -16.640625 32.875 -16.328125 C 32.851562 -16.015625 32.84375 -15.710938 32.84375 -15.421875 C 32.84375 -15.128906 32.832031 -14.847656 32.8125 -14.578125 C 32.789062 -14.316406 32.757812 -14.039062 32.71875 -13.75 L 32.59375 -12.3125 Z M 17.296875 -26.6875 C 15.304688 -26.6875 13.6875 -26.019531 12.4375 -24.6875 C 11.9375 -24.15625 11.5 -23.492188 11.125 -22.703125 C 10.757812 -21.910156 10.472656 -21 10.265625 -19.96875 L 24.5625 -19.96875 C 24.363281 -21.957031 23.742188 -23.507812 22.703125 -24.625 C 21.421875 -26 19.617188 -26.6875 17.296875 -26.6875 Z M 17.296875 -26.6875 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(129.163241, 55.95717)"><g><path d="M 31.28125 -45.09375 L 38.5625 -45.09375 L 38.5625 -16.796875 C 38.5625 -13.890625 38.148438 -11.253906 37.328125 -8.890625 C 36.492188 -6.523438 35.289062 -4.492188 33.71875 -2.796875 C 33.382812 -2.460938 33.039062 -2.148438 32.6875 -1.859375 C 32.332031 -1.578125 31.976562 -1.289062 31.625 -1 C 31.28125 -0.707031 30.910156 -0.445312 30.515625 -0.21875 C 30.117188 0.0078125 29.710938 0.226562 29.296875 0.4375 C 28.878906 0.644531 28.441406 0.832031 27.984375 1 C 25.828125 1.863281 23.425781 2.296875 20.78125 2.296875 C 15.257812 2.296875 10.925781 0.660156 7.78125 -2.609375 C 4.664062 -5.890625 3.109375 -10.535156 3.109375 -16.546875 L 3.109375 -45.09375 L 12.125 -45.09375 L 12.125 -17.484375 C 12.125 -13.617188 12.875 -10.691406 14.375 -8.703125 C 15.03125 -7.796875 15.875 -7.113281 16.90625 -6.65625 C 17.945312 -6.195312 19.238281 -5.96875 20.78125 -5.96875 C 23.800781 -5.96875 26.019531 -6.878906 27.4375 -8.703125 C 28.96875 -10.648438 29.734375 -13.578125 29.734375 -17.484375 L 29.734375 -45.09375 Z M 31.28125 -45.09375 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(170.836098, 55.95717)"><g><path d="M 3.671875 -33.90625 C 4.492188 -33.90625 5.257812 -33.84375 5.96875 -33.71875 C 6.675781 -33.59375 7.347656 -33.394531 7.984375 -33.125 C 8.628906 -32.851562 9.222656 -32.507812 9.765625 -32.09375 C 10.304688 -31.675781 10.765625 -31.179688 11.140625 -30.609375 C 11.835938 -31.304688 12.644531 -31.925781 13.5625 -32.46875 C 13.8125 -32.632812 14.0625 -32.789062 14.3125 -32.9375 C 14.5625 -33.082031 14.828125 -33.21875 15.109375 -33.34375 C 15.398438 -33.46875 15.691406 -33.582031 15.984375 -33.6875 C 16.273438 -33.789062 16.566406 -33.90625 16.859375 -34.03125 C 17.523438 -34.238281 18.207031 -34.390625 18.90625 -34.484375 C 19.613281 -34.585938 20.34375 -34.640625 21.09375 -34.640625 C 23.164062 -34.640625 25.164062 -34.222656 27.09375 -33.390625 C 29.019531 -32.566406 30.707031 -31.367188 32.15625 -29.796875 C 33.613281 -28.222656 34.753906 -26.316406 35.578125 -24.078125 C 35.867188 -23.328125 36.109375 -22.535156 36.296875 -21.703125 C 36.484375 -20.878906 36.628906 -20.03125 36.734375 -19.15625 C 36.835938 -18.289062 36.890625 -17.398438 36.890625 -16.484375 C 36.890625 -13.742188 36.472656 -11.210938 35.640625 -8.890625 C 35.222656 -7.773438 34.734375 -6.71875 34.171875 -5.71875 C 33.617188 -4.726562 32.96875 -3.816406 32.21875 -2.984375 C 31.96875 -2.648438 31.6875 -2.335938 31.375 -2.046875 C 31.070312 -1.765625 30.753906 -1.476562 30.421875 -1.1875 C 30.085938 -0.894531 29.753906 -0.625 29.421875 -0.375 C 29.085938 -0.125 28.734375 0.101562 28.359375 0.3125 C 27.992188 0.519531 27.625 0.707031 27.25 0.875 C 26.289062 1.375 25.300781 1.734375 24.28125 1.953125 C 23.269531 2.179688 22.25 2.296875 21.21875 2.296875 C 19.019531 2.296875 17.003906 1.863281 15.171875 1 C 14.515625 0.707031 13.894531 0.375 13.3125 0 L 13.3125 15.234375 L 4.609375 15.234375 L 4.609375 -24.078125 C 4.609375 -25.023438 4.441406 -25.644531 4.109375 -25.9375 C 3.734375 -26.269531 3.191406 -26.4375 2.484375 -26.4375 L 0.4375 -26.4375 L 1 -28.421875 L 2.171875 -32.78125 L 2.484375 -33.90625 Z M 28.046875 -16.296875 C 28.046875 -17.171875 27.984375 -17.976562 27.859375 -18.71875 C 27.742188 -19.46875 27.570312 -20.160156 27.34375 -20.796875 C 27.113281 -21.441406 26.851562 -22.035156 26.5625 -22.578125 C 26.269531 -23.117188 25.9375 -23.617188 25.5625 -24.078125 C 24.820312 -24.941406 23.960938 -25.59375 22.984375 -26.03125 C 22.003906 -26.46875 20.957031 -26.6875 19.84375 -26.6875 C 19.09375 -26.6875 18.382812 -26.59375 17.71875 -26.40625 C 17.0625 -26.21875 16.441406 -25.9375 15.859375 -25.5625 C 14.785156 -24.894531 13.9375 -24.191406 13.3125 -23.453125 L 13.3125 -8.703125 C 14.1875 -7.921875 15.140625 -7.257812 16.171875 -6.71875 C 17.335938 -6.09375 18.644531 -5.78125 20.09375 -5.78125 C 21.25 -5.78125 22.304688 -6.007812 23.265625 -6.46875 C 24.210938 -6.96875 25.039062 -7.648438 25.75 -8.515625 C 26.125 -8.972656 26.445312 -9.472656 26.71875 -10.015625 C 26.988281 -10.554688 27.226562 -11.15625 27.4375 -11.8125 C 27.644531 -12.476562 27.796875 -13.179688 27.890625 -13.921875 C 27.992188 -14.671875 28.046875 -15.460938 28.046875 -16.296875 Z M 28.046875 -16.296875 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(208.963656, 55.95717)"><g><path d="M 7.53125 -42.921875 L 13.375 -42.921875 L 13.375 -32.71875 L 22.328125 -32.71875 L 22.328125 -24.75 L 13.375 -24.75 L 13.375 -10.703125 C 13.375 -9.660156 13.476562 -8.8125 13.6875 -8.15625 C 13.894531 -7.53125 14.144531 -7.050781 14.4375 -6.71875 C 14.71875 -6.382812 15.066406 -6.15625 15.484375 -6.03125 C 15.734375 -5.945312 15.984375 -5.882812 16.234375 -5.84375 C 16.484375 -5.800781 16.734375 -5.78125 16.984375 -5.78125 C 17.847656 -5.78125 18.632812 -5.90625 19.34375 -6.15625 C 20.21875 -6.488281 21.023438 -6.863281 21.765625 -7.28125 L 23.390625 -8.15625 L 24.015625 -6.40625 L 25.5625 -1.921875 L 25.9375 -0.75 L 24.875 -0.125 C 23.96875 0.457031 22.75 1 21.21875 1.5 C 20.425781 1.78125 19.613281 1.984375 18.78125 2.109375 C 17.957031 2.234375 17.128906 2.296875 16.296875 2.296875 C 12.734375 2.296875 9.894531 1.113281 7.78125 -1.25 C 6.695312 -2.445312 5.90625 -3.875 5.40625 -5.53125 C 4.914062 -7.195312 4.671875 -9.066406 4.671875 -11.140625 L 4.671875 -24.75 L -0.9375 -24.75 L -0.9375 -32.71875 L 4.96875 -32.71875 L 5.96875 -41.546875 L 6.15625 -42.921875 Z M 7.53125 -42.921875 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(233.656391, 55.95717)"><g><path d="M 10.578125 1.5625 L 3.421875 1.5625 L 3.421875 -33.90625 L 12.125 -33.90625 L 12.125 1.5625 Z M 7.78125 -36.328125 C 6.28125 -36.328125 4.988281 -36.863281 3.90625 -37.9375 C 2.832031 -39.019531 2.296875 -40.304688 2.296875 -41.796875 C 2.296875 -43.410156 2.800781 -44.726562 3.8125 -45.75 C 4.832031 -46.769531 6.15625 -47.28125 7.78125 -47.28125 C 8.519531 -47.28125 9.222656 -47.144531 9.890625 -46.875 C 10.554688 -46.601562 11.144531 -46.207031 11.65625 -45.6875 C 12.175781 -45.164062 12.570312 -44.570312 12.84375 -43.90625 C 13.113281 -43.25 13.25 -42.546875 13.25 -41.796875 C 13.25 -40.179688 12.738281 -38.863281 11.71875 -37.84375 C 10.707031 -36.832031 9.394531 -36.328125 7.78125 -36.328125 Z M 7.78125 -36.328125 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(249.205965, 55.95717)"><g><path d="M 11.9375 -31.109375 C 12.269531 -31.390625 12.59375 -31.65625 12.90625 -31.90625 C 13.21875 -32.15625 13.5625 -32.382812 13.9375 -32.59375 C 14.4375 -32.925781 14.953125 -33.226562 15.484375 -33.5 C 16.023438 -33.769531 16.59375 -33.984375 17.1875 -34.140625 C 17.789062 -34.304688 18.394531 -34.429688 19 -34.515625 C 19.601562 -34.597656 20.238281 -34.640625 20.90625 -34.640625 C 23.800781 -34.640625 26.203125 -33.914062 28.109375 -32.46875 C 29.273438 -31.59375 30.234375 -30.515625 30.984375 -29.234375 C 32.015625 -30.398438 33.113281 -31.4375 34.28125 -32.34375 C 34.6875 -32.632812 35.117188 -32.90625 35.578125 -33.15625 C 36.035156 -33.40625 36.507812 -33.625 37 -33.8125 C 37.5 -34 38.007812 -34.148438 38.53125 -34.265625 C 39.050781 -34.390625 39.578125 -34.484375 40.109375 -34.546875 C 40.648438 -34.609375 41.210938 -34.640625 41.796875 -34.640625 C 42.046875 -34.640625 42.285156 -34.640625 42.515625 -34.640625 C 42.742188 -34.640625 42.972656 -34.628906 43.203125 -34.609375 C 43.429688 -34.585938 43.65625 -34.554688 43.875 -34.515625 C 44.101562 -34.472656 44.320312 -34.429688 44.53125 -34.390625 C 44.738281 -34.359375 44.945312 -34.320312 45.15625 -34.28125 C 45.363281 -34.238281 45.570312 -34.1875 45.78125 -34.125 C 45.988281 -34.0625 46.195312 -33.988281 46.40625 -33.90625 C 46.613281 -33.820312 46.820312 -33.738281 47.03125 -33.65625 C 47.394531 -33.488281 47.753906 -33.300781 48.109375 -33.09375 C 48.460938 -32.882812 48.796875 -32.65625 49.109375 -32.40625 C 49.421875 -32.15625 49.722656 -31.894531 50.015625 -31.625 C 50.304688 -31.351562 50.570312 -31.054688 50.8125 -30.734375 C 51.851562 -29.523438 52.601562 -28.09375 53.0625 -26.4375 C 53.5625 -24.820312 53.8125 -23.039062 53.8125 -21.09375 L 53.8125 1.5625 L 45.09375 1.5625 L 45.09375 -20.65625 C 45.09375 -22.5625 44.679688 -24.070312 43.859375 -25.1875 C 43.109375 -26.144531 42.09375 -26.625 40.8125 -26.625 C 40.0625 -26.625 39.351562 -26.476562 38.6875 -26.1875 C 37.945312 -25.851562 37.242188 -25.414062 36.578125 -24.875 C 35.867188 -24.300781 35.179688 -23.640625 34.515625 -22.890625 C 34.273438 -22.554688 34.007812 -22.203125 33.71875 -21.828125 C 33.425781 -21.460938 33.175781 -21.113281 32.96875 -20.78125 L 32.96875 1.5625 L 24.265625 1.5625 L 24.265625 -20.65625 C 24.265625 -22.5625 23.847656 -24.070312 23.015625 -25.1875 C 22.265625 -26.144531 21.25 -26.625 19.96875 -26.625 C 19.257812 -26.625 18.554688 -26.476562 17.859375 -26.1875 C 17.523438 -26.0625 17.171875 -25.894531 16.796875 -25.6875 C 16.421875 -25.476562 16.066406 -25.226562 15.734375 -24.9375 C 15.609375 -24.851562 15.484375 -24.757812 15.359375 -24.65625 C 15.234375 -24.5625 15.117188 -24.460938 15.015625 -24.359375 C 14.910156 -24.253906 14.796875 -24.148438 14.671875 -24.046875 C 14.554688 -23.941406 14.445312 -23.835938 14.34375 -23.734375 C 14.238281 -23.628906 14.132812 -23.515625 14.03125 -23.390625 C 13.925781 -23.265625 13.8125 -23.140625 13.6875 -23.015625 C 13.4375 -22.679688 13.164062 -22.335938 12.875 -21.984375 C 12.582031 -21.628906 12.332031 -21.289062 12.125 -20.96875 L 12.125 1.5625 L 3.421875 1.5625 L 3.421875 -33.90625 L 11.9375 -33.90625 Z M 11.9375 -31.109375 "/></g></g></g><g fill="#121212" fill-opacity="1"><g transform="translate(306.117405, 55.95717)"><g><path d="M 10.390625 -12.3125 C 10.847656 -10.488281 11.632812 -9.019531 12.75 -7.90625 C 14.195312 -6.488281 16.144531 -5.78125 18.59375 -5.78125 C 19.175781 -5.78125 19.738281 -5.800781 20.28125 -5.84375 C 20.820312 -5.882812 21.335938 -5.945312 21.828125 -6.03125 C 22.328125 -6.113281 22.804688 -6.21875 23.265625 -6.34375 C 23.722656 -6.46875 24.175781 -6.601562 24.625 -6.75 C 25.082031 -6.894531 25.53125 -7.050781 25.96875 -7.21875 C 26.40625 -7.382812 26.851562 -7.570312 27.3125 -7.78125 L 28.921875 -8.515625 L 29.421875 -6.78125 L 30.734375 -1.984375 L 31.109375 -0.6875 L 29.921875 -0.125 C 28.304688 0.625 26.503906 1.207031 24.515625 1.625 C 23.515625 1.863281 22.460938 2.035156 21.359375 2.140625 C 20.265625 2.242188 19.117188 2.296875 17.921875 2.296875 C 15.390625 2.296875 13.085938 1.882812 11.015625 1.0625 C 8.941406 0.1875 7.175781 -1.054688 5.71875 -2.671875 C 4.269531 -4.242188 3.148438 -6.191406 2.359375 -8.515625 C 1.617188 -10.753906 1.25 -13.304688 1.25 -16.171875 C 1.25 -18.742188 1.617188 -21.148438 2.359375 -23.390625 C 2.773438 -24.503906 3.253906 -25.554688 3.796875 -26.546875 C 4.335938 -27.546875 4.957031 -28.460938 5.65625 -29.296875 C 7.070312 -30.953125 8.773438 -32.257812 10.765625 -33.21875 C 12.753906 -34.164062 14.972656 -34.640625 17.421875 -34.640625 C 18.242188 -34.640625 19.039062 -34.585938 19.8125 -34.484375 C 20.582031 -34.390625 21.328125 -34.25 22.046875 -34.0625 C 22.773438 -33.875 23.472656 -33.632812 24.140625 -33.34375 C 25.128906 -32.882812 26.023438 -32.351562 26.828125 -31.75 C 27.640625 -31.15625 28.378906 -30.460938 29.046875 -29.671875 C 30.335938 -28.140625 31.3125 -26.378906 31.96875 -24.390625 C 32.257812 -23.390625 32.488281 -22.359375 32.65625 -21.296875 C 32.820312 -20.242188 32.90625 -19.175781 32.90625 -18.09375 C 32.90625 -17.8125 32.90625 -17.523438 32.90625 -17.234375 C 32.90625 -16.941406 32.894531 -16.640625 32.875 -16.328125 C 32.851562 -16.015625 32.84375 -15.710938 32.84375 -15.421875 C 32.84375 -15.128906 32.832031 -14.847656 32.8125 -14.578125 C 32.789062 -14.316406 32.757812 -14.039062 32.71875 -13.75 L 32.59375 -12.3125 Z M 17.296875 -26.6875 C 15.304688 -26.6875 13.6875 -26.019531 12.4375 -24.6875 C 11.9375 -24.15625 11.5 -23.492188 11.125 -22.703125 C 10.757812 -21.910156 10.472656 -21 10.265625 -19.96875 L 24.5625 -19.96875 C 24.363281 -21.957031 23.742188 -23.507812 22.703125 -24.625 C 21.421875 -26 19.617188 -26.6875 17.296875 -26.6875 Z M 17.296875 -26.6875 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="text/ecmascript" width="375" zoomAndPan="magnify" contentStyleType="text/css" viewBox="0 0 375 374.999991" height="374.999991" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g><g id="glyph-0-0"/><g id="glyph-0-1"><path d="M 80.90625 -116.609375 L 99.71875 -116.609375 L 99.71875 -43.421875 C 99.71875 -35.921875 98.644531 -29.113281 96.5 -23 C 94.363281 -16.882812 91.253906 -11.628906 87.171875 -7.234375 C 86.316406 -6.378906 85.429688 -5.578125 84.515625 -4.828125 C 83.609375 -4.078125 82.695312 -3.328125 81.78125 -2.578125 C 80.875 -1.828125 79.910156 -1.15625 78.890625 -0.5625 C 77.867188 0.03125 76.820312 0.59375 75.75 1.125 C 74.6875 1.664062 73.5625 2.148438 72.375 2.578125 C 66.800781 4.828125 60.582031 5.953125 53.71875 5.953125 C 39.457031 5.953125 28.253906 1.71875 20.109375 -6.75 C 12.066406 -15.226562 8.046875 -27.238281 8.046875 -42.78125 L 8.046875 -116.609375 L 31.359375 -116.609375 L 31.359375 -45.203125 C 31.359375 -35.222656 33.289062 -27.660156 37.15625 -22.515625 C 38.875 -20.160156 41.070312 -18.390625 43.75 -17.203125 C 46.425781 -16.023438 49.75 -15.4375 53.71875 -15.4375 C 61.550781 -15.4375 67.289062 -17.796875 70.9375 -22.515625 C 74.90625 -27.554688 76.890625 -35.117188 76.890625 -45.203125 L 76.890625 -116.609375 Z M 80.90625 -116.609375 "/></g><g id="glyph-0-2"><path d="M 9.484375 -87.65625 C 11.628906 -87.65625 13.613281 -87.492188 15.4375 -87.171875 C 17.257812 -86.847656 19 -86.335938 20.65625 -85.640625 C 22.320312 -84.953125 23.851562 -84.070312 25.25 -83 C 26.644531 -81.925781 27.828125 -80.640625 28.796875 -79.140625 C 30.617188 -80.960938 32.707031 -82.566406 35.0625 -83.953125 C 35.707031 -84.390625 36.347656 -84.796875 36.984375 -85.171875 C 37.628906 -85.546875 38.328125 -85.890625 39.078125 -86.203125 C 39.835938 -86.523438 40.59375 -86.820312 41.34375 -87.09375 C 42.09375 -87.363281 42.84375 -87.660156 43.59375 -87.984375 C 45.300781 -88.515625 47.066406 -88.914062 48.890625 -89.1875 C 50.710938 -89.457031 52.59375 -89.59375 54.53125 -89.59375 C 59.882812 -89.59375 65.054688 -88.519531 70.046875 -86.375 C 75.035156 -84.226562 79.40625 -81.117188 83.15625 -77.046875 C 86.90625 -72.972656 89.851562 -68.039062 92 -62.25 C 92.75 -60.3125 93.363281 -58.269531 93.84375 -56.125 C 94.332031 -53.988281 94.707031 -51.789062 94.96875 -49.53125 C 95.238281 -47.28125 95.375 -44.976562 95.375 -42.625 C 95.375 -35.550781 94.300781 -29.007812 92.15625 -23 C 91.09375 -20.101562 89.835938 -17.367188 88.390625 -14.796875 C 86.941406 -12.222656 85.25 -9.863281 83.3125 -7.71875 C 82.675781 -6.863281 81.953125 -6.0625 81.140625 -5.3125 C 80.335938 -4.5625 79.503906 -3.8125 78.640625 -3.0625 C 77.785156 -2.3125 76.929688 -1.613281 76.078125 -0.96875 C 75.222656 -0.320312 74.3125 0.265625 73.34375 0.796875 C 72.375 1.335938 71.410156 1.820312 70.453125 2.25 C 67.984375 3.539062 65.4375 4.476562 62.8125 5.0625 C 60.1875 5.65625 57.53125 5.953125 54.84375 5.953125 C 49.164062 5.953125 43.96875 4.828125 39.25 2.578125 C 37.53125 1.828125 35.921875 0.96875 34.421875 0 L 34.421875 39.40625 L 11.90625 39.40625 L 11.90625 -62.25 C 11.90625 -64.71875 11.472656 -66.328125 10.609375 -67.078125 C 9.648438 -67.929688 8.257812 -68.359375 6.4375 -68.359375 L 1.125 -68.359375 L 2.578125 -73.5 L 5.625 -84.765625 L 6.4375 -87.65625 Z M 72.546875 -42.140625 C 72.546875 -44.390625 72.382812 -46.476562 72.0625 -48.40625 C 71.738281 -50.34375 71.28125 -52.140625 70.6875 -53.796875 C 70.101562 -55.460938 69.429688 -56.992188 68.671875 -58.390625 C 67.921875 -59.785156 67.066406 -61.070312 66.109375 -62.25 C 64.179688 -64.5 61.957031 -66.1875 59.4375 -67.3125 C 56.914062 -68.4375 54.207031 -69 51.3125 -69 C 49.375 -69 47.546875 -68.753906 45.828125 -68.265625 C 44.117188 -67.785156 42.515625 -67.066406 41.015625 -66.109375 C 38.222656 -64.390625 36.023438 -62.566406 34.421875 -60.640625 L 34.421875 -22.515625 C 36.671875 -20.484375 39.132812 -18.769531 41.8125 -17.375 C 44.820312 -15.757812 48.203125 -14.953125 51.953125 -14.953125 C 54.953125 -14.953125 57.6875 -15.546875 60.15625 -16.734375 C 62.625 -18.015625 64.769531 -19.78125 66.59375 -22.03125 C 67.550781 -23.21875 68.378906 -24.503906 69.078125 -25.890625 C 69.773438 -27.285156 70.390625 -28.84375 70.921875 -30.5625 C 71.460938 -32.28125 71.867188 -34.101562 72.140625 -36.03125 C 72.410156 -37.957031 72.546875 -39.992188 72.546875 -42.140625 Z M 72.546875 -42.140625 "/></g></g></defs><path fill="rgb(49.409485%, 85.099792%, 34.118652%)" d="M 331.710938 235.257812 L 265.8125 235.257812 C 263.101562 235.257812 260.886719 233.046875 260.886719 230.332031 L 260.886719 164.433594 C 260.886719 161.71875 263.101562 159.507812 265.8125 159.507812 L 331.710938 159.507812 C 334.425781 159.507812 336.636719 161.71875 336.636719 164.433594 L 336.636719 230.332031 C 336.636719 233.046875 334.425781 235.257812 331.710938 235.257812 Z M 331.710938 235.257812 " fill-opacity="1" fill-rule="nonzero"/><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="38.113376" y="240.972289" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-1" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g><g fill="rgb(100%, 100%, 100%)" fill-opacity="1"><use x="145.87611" y="240.972289" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#glyph-0-2" xlink:type="simple" xlink:actuate="onLoad" xlink:show="embed"/></g></svg>
|
|
@@ -31,6 +31,10 @@ URLs did not change, only where the bytes come from.
|
|
|
31
31
|
Renaming it means editing five `index.ejs` files to match, so the version stays
|
|
32
32
|
in the filename and `TAILWIND_FILENAME` in the esbuild config.
|
|
33
33
|
|
|
34
|
+
OneUptime's own logo and icons are not here either - they are not third-party.
|
|
35
|
+
They live in `../Brand` and are mounted at `/oneuptime-assets/brand`; see that
|
|
36
|
+
directory's README.
|
|
37
|
+
|
|
34
38
|
Mermaid is not vendored here. It is already a dependency of `Common`, so
|
|
35
39
|
`VendorAssets.ts` serves `node_modules/mermaid/dist` at
|
|
36
40
|
`/oneuptime-assets/mermaid` instead - one version to keep current rather than
|
|
@@ -609,12 +609,22 @@ export default class ModelPermission {
|
|
|
609
609
|
},
|
|
610
610
|
);
|
|
611
611
|
if (!column) {
|
|
612
|
+
/*
|
|
613
|
+
* tableColumns holds AnalyticsTableColumn objects, so joining them
|
|
614
|
+
* rendered the remediation list as "[object Object], [object
|
|
615
|
+
* Object], ..." - the half of the sentence that tells the caller
|
|
616
|
+
* what to do instead said nothing at all.
|
|
617
|
+
*/
|
|
618
|
+
const selectableColumns: string = tableColumns
|
|
619
|
+
.map((tableColumn: AnalyticsTableColumn) => {
|
|
620
|
+
return tableColumn.key;
|
|
621
|
+
})
|
|
622
|
+
.join(", ");
|
|
623
|
+
|
|
612
624
|
throw new BadDataException(
|
|
613
625
|
`Invalid select clause. Cannot select on "${key}". This column does not exist on ${
|
|
614
626
|
model.singularName
|
|
615
|
-
}. Here are the columns you can select on instead: ${
|
|
616
|
-
", ",
|
|
617
|
-
)}`,
|
|
627
|
+
}. Here are the columns you can select on instead: ${selectableColumns}`,
|
|
618
628
|
);
|
|
619
629
|
}
|
|
620
630
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import Query from "./Query";
|
|
2
|
+
import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
|
|
3
|
+
import DatabaseCommonInteractionProps from "../../../Types/BaseDatabase/DatabaseCommonInteractionProps";
|
|
4
|
+
import SortOrder from "../../../Types/BaseDatabase/SortOrder";
|
|
5
|
+
import Dictionary from "../../../Types/Dictionary";
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
* The shape of a read that answers a question ABOUT a set of rows without
|
|
9
|
+
* shipping the rows.
|
|
10
|
+
*
|
|
11
|
+
* Every "how many devices are down", "how many interfaces are down across the
|
|
12
|
+
* fleet", "which six vendors do we have most of" used to be answered by
|
|
13
|
+
* fetching every matching row into a browser and reducing it there. At a
|
|
14
|
+
* hundred rows that is invisible; at eighty thousand it is a multi-megabyte
|
|
15
|
+
* payload, half a second of main-thread model hydration, and — worse — a
|
|
16
|
+
* number that silently stops being true once the fleet outgrows the page
|
|
17
|
+
* limit the fetch was capped at.
|
|
18
|
+
*
|
|
19
|
+
* `DatabaseService.aggregateBy` runs the same reduction in Postgres and
|
|
20
|
+
* returns the handful of numbers instead, through the same permission
|
|
21
|
+
* pipeline every other read goes through.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* One column of an aggregate read: a SQL expression and the name it comes back
|
|
26
|
+
* under.
|
|
27
|
+
*
|
|
28
|
+
* ## The expression is trusted; values are not
|
|
29
|
+
*
|
|
30
|
+
* `expression` is interpolated into SQL verbatim, so it MUST be a
|
|
31
|
+
* compile-time constant owned by server code — never a string built from a
|
|
32
|
+
* request body, a query parameter, or any other caller-supplied value. Every
|
|
33
|
+
* dynamic value belongs in `AggregateBy.parameters` and is referenced from the
|
|
34
|
+
* expression as a `:name` placeholder, which the driver binds:
|
|
35
|
+
*
|
|
36
|
+
* { expression: `COUNT(*) FILTER (WHERE "NetworkDevice"."siteId" = :siteId)`,
|
|
37
|
+
* alias: "devicesAtSite" }
|
|
38
|
+
*
|
|
39
|
+
* `aggregateBy` rejects an expression containing a statement separator and an
|
|
40
|
+
* alias that is not a plain identifier, so the contract is enforced rather
|
|
41
|
+
* than merely documented.
|
|
42
|
+
*
|
|
43
|
+
* Column references need the model's alias, which is the model name —
|
|
44
|
+
* `"NetworkDevice"."isReachable"` — because the permission pipeline joins
|
|
45
|
+
* relations in beside it.
|
|
46
|
+
*/
|
|
47
|
+
export interface AggregateColumn {
|
|
48
|
+
expression: string;
|
|
49
|
+
alias: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface AggregateOrder {
|
|
53
|
+
// A select alias, or a repeat of the expression. Same trust rules as above.
|
|
54
|
+
expression: string;
|
|
55
|
+
sortOrder: SortOrder;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* One row of an aggregate result, exactly as the driver returned it.
|
|
60
|
+
*
|
|
61
|
+
* Postgres hands back `COUNT`/`SUM` as strings (they are `bigint`/`numeric`,
|
|
62
|
+
* which do not fit a JS number in the general case), so callers read these
|
|
63
|
+
* through `AggregateResultUtil` rather than trusting the runtime type.
|
|
64
|
+
*/
|
|
65
|
+
export type AggregateRow = Dictionary<string | number | boolean | Date | null>;
|
|
66
|
+
|
|
67
|
+
export default interface AggregateBy<TBaseModel extends BaseModel> {
|
|
68
|
+
query: Query<TBaseModel>;
|
|
69
|
+
props: DatabaseCommonInteractionProps;
|
|
70
|
+
// At least one. These are the aggregates — COUNT, SUM, MIN, MAX...
|
|
71
|
+
select: Array<AggregateColumn>;
|
|
72
|
+
/*
|
|
73
|
+
* The columns rows are bucketed by. Each is both grouped on and selected, so
|
|
74
|
+
* a caller never has to name it twice, and omitting this produces exactly one
|
|
75
|
+
* row for the whole matched set.
|
|
76
|
+
*/
|
|
77
|
+
groupBy?: Array<AggregateColumn> | undefined;
|
|
78
|
+
orderBy?: Array<AggregateOrder> | undefined;
|
|
79
|
+
// Rows of OUTPUT (i.e. groups), not rows of input.
|
|
80
|
+
limit?: number | undefined;
|
|
81
|
+
// Bound values for the `:name` placeholders used by the expressions above.
|
|
82
|
+
parameters?: Dictionary<string | number | boolean | Date | null> | undefined;
|
|
83
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { AggregateRow } from "./AggregateBy";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Reading values back out of an aggregate row.
|
|
5
|
+
*
|
|
6
|
+
* Postgres returns COUNT and SUM as `bigint`/`numeric`, and node-postgres
|
|
7
|
+
* hands those to JavaScript as STRINGS rather than numbers, because a bigint
|
|
8
|
+
* does not fit a double in the general case. Left alone, every
|
|
9
|
+
* `counts.devicesDown` in the product would be a string that renders fine,
|
|
10
|
+
* compares wrong ("10" < "9"), and adds by concatenating.
|
|
11
|
+
*
|
|
12
|
+
* So aggregate rows are read through here, never indexed into directly.
|
|
13
|
+
*
|
|
14
|
+
* `toNumber` returns a JavaScript number, which means it IS lossy above
|
|
15
|
+
* 2^53 — 9007199254740993 comes back as 9007199254740992. That is the right
|
|
16
|
+
* trade for what these aggregates count (devices, sites, interfaces; a fleet
|
|
17
|
+
* of nine quadrillion is not the problem to solve), but it is a real ceiling:
|
|
18
|
+
* a future caller summing bytes or nanoseconds needs the string, not this.
|
|
19
|
+
*/
|
|
20
|
+
export default class AggregateResultUtil {
|
|
21
|
+
/**
|
|
22
|
+
* A count/sum column as a number. Missing, NULL and unparseable all read as
|
|
23
|
+
* `0` — an aggregate over no rows is genuinely zero, and `SUM` of an empty
|
|
24
|
+
* set is NULL rather than 0 in SQL.
|
|
25
|
+
*/
|
|
26
|
+
public static toNumber(
|
|
27
|
+
row: AggregateRow | undefined | null,
|
|
28
|
+
alias: string,
|
|
29
|
+
): number {
|
|
30
|
+
if (!row) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const value: string | number | boolean | Date | null | undefined =
|
|
35
|
+
row[alias];
|
|
36
|
+
|
|
37
|
+
if (typeof value === "number") {
|
|
38
|
+
return Number.isFinite(value) ? value : 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (typeof value === "string") {
|
|
42
|
+
const parsed: number = Number(value);
|
|
43
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* A boolean column. Postgres booleans arrive as real booleans, but a boolean
|
|
51
|
+
* that travelled through a CASE or a cast can arrive as "t"/"true"/"1".
|
|
52
|
+
*/
|
|
53
|
+
public static toBoolean(
|
|
54
|
+
row: AggregateRow | undefined | null,
|
|
55
|
+
alias: string,
|
|
56
|
+
): boolean {
|
|
57
|
+
if (!row) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const value: string | number | boolean | Date | null | undefined =
|
|
62
|
+
row[alias];
|
|
63
|
+
|
|
64
|
+
if (typeof value === "boolean") {
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (typeof value === "string") {
|
|
69
|
+
return value === "t" || value === "true" || value === "1";
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (typeof value === "number") {
|
|
73
|
+
return value === 1;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* A nullable boolean column — a three-state column like `isReachable`, where
|
|
81
|
+
* NULL is a distinct answer ("never polled") and must not collapse to false.
|
|
82
|
+
*/
|
|
83
|
+
public static toNullableBoolean(
|
|
84
|
+
row: AggregateRow | undefined | null,
|
|
85
|
+
alias: string,
|
|
86
|
+
): boolean | null {
|
|
87
|
+
if (!row) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const value: string | number | boolean | Date | null | undefined =
|
|
92
|
+
row[alias];
|
|
93
|
+
|
|
94
|
+
if (value === null || value === undefined) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return AggregateResultUtil.toBoolean(row, alias);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* A text/uuid column, or `null`. The empty string reads as `null` too: a
|
|
103
|
+
* grouped id column is only ever a real id or absent.
|
|
104
|
+
*/
|
|
105
|
+
public static toStringOrNull(
|
|
106
|
+
row: AggregateRow | undefined | null,
|
|
107
|
+
alias: string,
|
|
108
|
+
): string | null {
|
|
109
|
+
if (!row) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const value: string | number | boolean | Date | null | undefined =
|
|
114
|
+
row[alias];
|
|
115
|
+
|
|
116
|
+
if (value === null || value === undefined || value === "") {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (value instanceof Date) {
|
|
121
|
+
return value.toISOString();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return String(value);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -15,6 +15,9 @@ import LessThan from "../../../Types/BaseDatabase/LessThan";
|
|
|
15
15
|
import LessThanOrEqual from "../../../Types/BaseDatabase/LessThanOrEqual";
|
|
16
16
|
import LessThanOrNull from "../../../Types/BaseDatabase/LessThanOrNull";
|
|
17
17
|
import NotContains from "../../../Types/BaseDatabase/NotContains";
|
|
18
|
+
import Wildcard from "../../../Types/BaseDatabase/Wildcard";
|
|
19
|
+
import NotWildcard from "../../../Types/BaseDatabase/NotWildcard";
|
|
20
|
+
import { toLikePattern } from "../../../Types/BaseDatabase/WildcardPattern";
|
|
18
21
|
import NotEqual from "../../../Types/BaseDatabase/NotEqual";
|
|
19
22
|
import NotNull from "../../../Types/BaseDatabase/NotNull";
|
|
20
23
|
import Search from "../../../Types/BaseDatabase/Search";
|
|
@@ -472,6 +475,21 @@ class KeyPredicateBuilder {
|
|
|
472
475
|
return this.like(`%${escapeLikePattern(String(toScalar(value.value)))}%`);
|
|
473
476
|
}
|
|
474
477
|
|
|
478
|
+
/*
|
|
479
|
+
* Glob matching. `toLikePattern` does the escaping itself — it is the one
|
|
480
|
+
* pass that can tell a `%` the user typed from the `%` a `*` becomes — so
|
|
481
|
+
* `escapeLikePattern` must NOT be applied on top of it.
|
|
482
|
+
*/
|
|
483
|
+
if (value instanceof Wildcard) {
|
|
484
|
+
return this.like(toLikePattern(String(toScalar(value.value))));
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
if (value instanceof NotWildcard) {
|
|
488
|
+
return this.negate(
|
|
489
|
+
this.like(toLikePattern(String(toScalar(value.value)))),
|
|
490
|
+
);
|
|
491
|
+
}
|
|
492
|
+
|
|
475
493
|
if (value instanceof InBetween) {
|
|
476
494
|
const start: unknown = value.startValue;
|
|
477
495
|
const end: unknown = value.endValue;
|