From b05e3a0c1387a1174c2e7b44b9b86ed65ce4b297 Mon Sep 17 00:00:00 2001 From: Snider Date: Mon, 26 Jan 2026 21:21:53 +0000 Subject: [PATCH] feat(components): add new Blade components for Flux UI including icons, charts, and form elements --- .env.example | 65 - README.md | 12 +- TODO.md | 9 +- app/Website/Demo/Boot.php | 96 - .../Demo/Middleware/EnsureInstalled.php | 70 - app/Website/Demo/Routes/web.php | 38 - .../Demo/View/Blade/layouts/app.blade.php | 28 - .../Demo/View/Blade/web/install.blade.php | 246 - .../Demo/View/Blade/web/landing.blade.php | 56 - .../Demo/View/Blade/web/login.blade.php | 43 - app/Website/Demo/View/Modal/Install.php | 216 - app/Website/Demo/View/Modal/Landing.php | 23 - app/Website/Demo/View/Modal/Login.php | 66 - artisan | 13 - bootstrap/app.php | 19 - bootstrap/cache/.gitkeep | 0 .../2026/jan/code-review.md | 0 .../2026/jan/features.md | 0 composer.json | 118 +- config/app.php | 126 - config/auth.php | 115 - config/cache.php | 117 - config/core.php | 364 +- config/database.php | 220 - config/filesystems.php | 80 - config/logging.php | 132 - config/mail.php | 118 - config/mcp.php | 160 - config/queue.php | 129 - config/services.php | 38 - config/session.php | 217 - database/.gitignore | 1 - database/factories/UserFactory.php | 44 - .../0001_01_01_000000_create_users_table.php | 49 - .../0001_01_01_000001_create_cache_table.php | 35 - .../0001_01_01_000002_create_jobs_table.php | 57 - database/seeders/DatabaseSeeder.php | 25 - docs/.vitepress/config.js | 2 +- docs/changelog.md | 2 +- docs/contributing.md | 2 +- docs/public/CNAME | 1 + packages/core-admin/README.md | 113 - packages/core-admin/TODO.md | 227 - .../core-admin/changelog/2026/jan/features.md | 70 - packages/core-admin/composer.json | 25 - .../views/components/forms/button.blade.php | 82 - .../views/components/forms/checkbox.blade.php | 88 - .../components/forms/form-group.blade.php | 50 - .../views/components/forms/input.blade.php | 77 - .../views/components/forms/select.blade.php | 108 - .../views/components/forms/textarea.blade.php | 87 - .../views/components/forms/toggle.blade.php | 104 - packages/core-admin/src/Boot.php | 88 - .../Forms/Concerns/HasAuthorizationProps.php | 101 - .../src/Forms/View/Components/Button.php | 135 - .../src/Forms/View/Components/Checkbox.php | 89 - .../src/Forms/View/Components/FormGroup.php | 88 - .../src/Forms/View/Components/Input.php | 99 - .../src/Forms/View/Components/Select.php | 146 - .../src/Forms/View/Components/Textarea.php | 104 - .../src/Forms/View/Components/Toggle.php | 127 - packages/core-admin/src/Mod/Hub/Boot.php | 268 - .../Mod/Hub/Controllers/TeapotController.php | 158 - .../Hub/Database/Seeders/ServiceSeeder.php | 110 - .../core-admin/src/Mod/Hub/Lang/en_GB/hub.php | 1034 - ...1_11_000001_create_honeypot_hits_table.php | 35 - ..._000001_create_platform_services_table.php | 49 - ...add_website_class_to_platform_services.php | 35 - .../src/Mod/Hub/Models/HoneypotHit.php | 206 - .../core-admin/src/Mod/Hub/Models/Service.php | 149 - .../Mod/Hub/Tests/Feature/HubRoutesTest.php | 255 - .../Tests/Feature/WorkspaceSwitcherTest.php | 198 - .../Mod/Hub/Tests/UseCase/DashboardBasic.php | 53 - .../src/Search/Concerns/HasSearchProvider.php | 49 - .../src/Search/Contracts/SearchProvider.php | 120 - .../Providers/AdminPageSearchProvider.php | 216 - .../src/Search/SearchProviderRegistry.php | 305 - .../core-admin/src/Search/SearchResult.php | 104 - .../Tests/SearchProviderRegistryTest.php | 237 - .../src/Search/Tests/SearchResultTest.php | 165 - packages/core-admin/src/Website/Hub/Boot.php | 195 - .../src/Website/Hub/Routes/admin.php | 74 - .../View/Blade/admin/account-usage.blade.php | 691 - .../View/Blade/admin/activity-log.blade.php | 19 - .../View/Blade/admin/ai-services.blade.php | 316 - .../Hub/View/Blade/admin/analytics.blade.php | 62 - .../View/Blade/admin/boost-purchase.blade.php | 90 - .../admin/components/developer-bar.blade.php | 505 - .../Blade/admin/components/header.blade.php | 183 - .../Blade/admin/components/sidebar.blade.php | 4 - .../Hub/View/Blade/admin/console.blade.php | 132 - .../View/Blade/admin/content-editor.blade.php | 654 - .../Blade/admin/content-manager.blade.php | 161 - .../admin/content-manager/calendar.blade.php | 100 - .../admin/content-manager/dashboard.blade.php | 240 - .../admin/content-manager/kanban.blade.php | 58 - .../admin/content-manager/list.blade.php | 176 - .../admin/content-manager/webhooks.blade.php | 165 - .../Hub/View/Blade/admin/content.blade.php | 298 - .../Hub/View/Blade/admin/dashboard.blade.php | 96 - .../Hub/View/Blade/admin/databases.blade.php | 233 - .../View/Blade/admin/deployments.blade.php | 160 - .../Hub/View/Blade/admin/dev/cache.blade.php | 148 - .../Hub/View/Blade/admin/dev/logs.blade.php | 112 - .../Hub/View/Blade/admin/dev/routes.blade.php | 111 - .../admin/entitlement/dashboard.blade.php | 452 - .../entitlement/feature-manager.blade.php | 77 - .../entitlement/package-manager.blade.php | 101 - .../View/Blade/admin/global-search.blade.php | 211 - .../Hub/View/Blade/admin/honeypot.blade.php | 180 - .../View/Blade/admin/layouts/app.blade.php | 126 - .../View/Blade/admin/platform-user.blade.php | 706 - .../Hub/View/Blade/admin/platform.blade.php | 278 - .../Hub/View/Blade/admin/profile.blade.php | 175 - .../View/Blade/admin/prompt-manager.blade.php | 242 - .../Blade/admin/service-manager.blade.php | 79 - .../View/Blade/admin/services-admin.blade.php | 1900 -- .../Hub/View/Blade/admin/settings.blade.php | 390 - .../View/Blade/admin/site-settings.blade.php | 253 - .../Hub/View/Blade/admin/sites.blade.php | 72 - .../Blade/admin/usage-dashboard.blade.php | 209 - .../Blade/admin/waitlist-manager.blade.php | 40 - .../Blade/admin/workspace-switcher.blade.php | 58 - .../admin/wp-connector-settings.blade.php | 150 - .../Hub/View/Modal/Admin/AIServices.php | 179 - .../Hub/View/Modal/Admin/AccountUsage.php | 339 - .../Hub/View/Modal/Admin/ActivityLog.php | 181 - .../Hub/View/Modal/Admin/Analytics.php | 69 - .../Hub/View/Modal/Admin/BoostPurchase.php | 77 - .../Website/Hub/View/Modal/Admin/Console.php | 53 - .../Website/Hub/View/Modal/Admin/Content.php | 295 - .../Hub/View/Modal/Admin/ContentEditor.php | 843 - .../Hub/View/Modal/Admin/ContentManager.php | 520 - .../Hub/View/Modal/Admin/Dashboard.php | 22 - .../Hub/View/Modal/Admin/Databases.php | 219 - .../Hub/View/Modal/Admin/Deployments.php | 274 - .../Modal/Admin/Entitlement/Dashboard.php | 534 - .../Admin/Entitlement/FeatureManager.php | 259 - .../Admin/Entitlement/PackageManager.php | 306 - .../Hub/View/Modal/Admin/GlobalSearch.php | 257 - .../Website/Hub/View/Modal/Admin/Honeypot.php | 84 - .../Website/Hub/View/Modal/Admin/Platform.php | 162 - .../Hub/View/Modal/Admin/PlatformUser.php | 697 - .../Website/Hub/View/Modal/Admin/Profile.php | 128 - .../Hub/View/Modal/Admin/PromptManager.php | 335 - .../Hub/View/Modal/Admin/ServiceManager.php | 244 - .../Hub/View/Modal/Admin/ServicesAdmin.php | 1973 -- .../Website/Hub/View/Modal/Admin/Settings.php | 247 - .../Hub/View/Modal/Admin/SiteSettings.php | 297 - .../Website/Hub/View/Modal/Admin/Sites.php | 282 - .../Hub/View/Modal/Admin/UsageDashboard.php | 41 - .../Hub/View/Modal/Admin/WaitlistManager.php | 330 - .../View/Modal/Admin/WorkspaceSwitcher.php | 75 - .../View/Modal/Admin/WpConnectorSettings.php | 136 - packages/core-api/README.md | 155 - packages/core-api/TODO.md | 246 - .../core-api/changelog/2026/jan/features.md | 122 - packages/core-api/composer.json | 24 - packages/core-api/src/Mod/Api/Boot.php | 98 - .../src/Mod/Api/Concerns/HasApiResponses.php | 92 - .../src/Mod/Api/Concerns/HasApiTokens.php | 76 - .../Mod/Api/Concerns/ResolvesWorkspace.php | 84 - .../Console/Commands/CheckApiUsageAlerts.php | 291 - .../Commands/CleanupExpiredGracePeriods.php | 67 - .../Mod/Api/Controllers/McpApiController.php | 625 - .../Api/Database/Factories/ApiKeyFactory.php | 253 - .../Documentation/Attributes/ApiHidden.php | 41 - .../Documentation/Attributes/ApiParameter.php | 101 - .../Documentation/Attributes/ApiResponse.php | 80 - .../Documentation/Attributes/ApiSecurity.php | 51 - .../Api/Documentation/Attributes/ApiTag.php | 38 - .../Documentation/DocumentationController.php | 128 - .../DocumentationServiceProvider.php | 87 - .../Documentation/Examples/CommonExamples.php | 278 - .../src/Mod/Api/Documentation/Extension.php | 40 - .../Extensions/ApiKeyAuthExtension.php | 234 - .../Extensions/RateLimitExtension.php | 228 - .../Extensions/WorkspaceHeaderExtension.php | 111 - .../Middleware/ProtectDocumentation.php | 76 - .../Mod/Api/Documentation/ModuleDiscovery.php | 209 - .../Mod/Api/Documentation/OpenApiBuilder.php | 819 - .../src/Mod/Api/Documentation/Routes/docs.php | 36 - .../Api/Documentation/Views/redoc.blade.php | 60 - .../Api/Documentation/Views/scalar.blade.php | 28 - .../Api/Documentation/Views/swagger.blade.php | 65 - .../src/Mod/Api/Documentation/config.php | 319 - .../Exceptions/RateLimitExceededException.php | 56 - .../src/Mod/Api/Guards/AccessTokenGuard.php | 98 - .../src/Mod/Api/Jobs/DeliverWebhookJob.php | 182 - .../Mod/Api/Middleware/AuthenticateApiKey.php | 125 - .../src/Mod/Api/Middleware/CheckApiScope.php | 52 - .../Mod/Api/Middleware/EnforceApiScope.php | 65 - .../src/Mod/Api/Middleware/PublicApiCors.php | 64 - .../src/Mod/Api/Middleware/RateLimitApi.php | 352 - .../src/Mod/Api/Middleware/TrackApiUsage.php | 81 - ...026_01_07_002358_create_api_keys_table.php | 41 - ..._002400_create_webhook_endpoints_table.php | 40 - ...002401_create_webhook_deliveries_table.php | 40 - ...0_add_secure_hashing_to_api_keys_table.php | 46 - .../core-api/src/Mod/Api/Models/ApiKey.php | 412 - .../core-api/src/Mod/Api/Models/ApiUsage.php | 135 - .../src/Mod/Api/Models/ApiUsageDaily.php | 172 - .../src/Mod/Api/Models/WebhookDelivery.php | 209 - .../src/Mod/Api/Models/WebhookEndpoint.php | 266 - .../HighApiUsageNotification.php | 111 - .../src/Mod/Api/RateLimit/RateLimit.php | 42 - .../src/Mod/Api/RateLimit/RateLimitResult.php | 71 - .../Mod/Api/RateLimit/RateLimitService.php | 247 - .../src/Mod/Api/Resources/ApiKeyResource.php | 59 - .../src/Mod/Api/Resources/ErrorResource.php | 93 - .../Mod/Api/Resources/PaginatedCollection.php | 49 - .../Api/Resources/WebhookEndpointResource.php | 67 - .../Mod/Api/Resources/WorkspaceResource.php | 68 - packages/core-api/src/Mod/Api/Routes/api.php | 103 - .../src/Mod/Api/Services/ApiKeyService.php | 217 - .../Mod/Api/Services/ApiSnippetService.php | 427 - .../src/Mod/Api/Services/ApiUsageService.php | 361 - .../src/Mod/Api/Services/WebhookService.php | 192 - .../src/Mod/Api/Services/WebhookSignature.php | 206 - .../Api/Tests/Feature/ApiKeyRotationTest.php | 232 - .../Api/Tests/Feature/ApiKeySecurityTest.php | 381 - .../src/Mod/Api/Tests/Feature/ApiKeyTest.php | 617 - .../Tests/Feature/ApiScopeEnforcementTest.php | 232 - .../Mod/Api/Tests/Feature/ApiUsageTest.php | 362 - .../Feature/OpenApiDocumentationTest.php | 120 - .../Mod/Api/Tests/Feature/RateLimitTest.php | 532 - .../Api/Tests/Feature/WebhookDeliveryTest.php | 770 - packages/core-api/src/Mod/Api/config.php | 237 - packages/core-api/src/Website/Api/Boot.php | 35 - .../Api/Controllers/DocsController.php | 72 - .../core-api/src/Website/Api/Routes/web.php | 34 - .../Website/Api/Services/OpenApiGenerator.php | 348 - .../src/Website/Api/View/Blade/docs.blade.php | 111 - .../Blade/guides/authentication.blade.php | 187 - .../Api/View/Blade/guides/errors.blade.php | 211 - .../Api/View/Blade/guides/index.blade.php | 88 - .../Api/View/Blade/guides/qrcodes.blade.php | 202 - .../View/Blade/guides/quickstart.blade.php | 193 - .../Api/View/Blade/guides/webhooks.blade.php | 586 - .../Website/Api/View/Blade/index.blade.php | 136 - .../Api/View/Blade/layouts/docs.blade.php | 166 - .../View/Blade/partials/endpoint.blade.php | 37 - .../Website/Api/View/Blade/redoc.blade.php | 73 - .../Api/View/Blade/reference.blade.php | 261 - .../Website/Api/View/Blade/scalar.blade.php | 71 - .../Website/Api/View/Blade/swagger.blade.php | 58 - packages/core-mcp/README.md | 203 - packages/core-mcp/TODO.md | 305 - .../core-mcp/changelog/2026/jan/features.md | 121 - .../core-mcp/changelog/2026/jan/security.md | 52 - packages/core-mcp/composer.json | 28 - packages/core-mcp/src/Mod/Mcp/Boot.php | 98 - .../Commands/CleanupToolCallLogsCommand.php | 111 - .../Commands/McpAgentServerCommand.php | 2064 -- .../Console/Commands/McpMonitorCommand.php | 199 - .../Console/Commands/PruneMetricsCommand.php | 97 - .../Commands/VerifyAuditLogCommand.php | 104 - .../src/Mod/Mcp/Context/WorkspaceContext.php | 112 - .../Mod/Mcp/Controllers/McpApiController.php | 492 - .../core-mcp/src/Mod/Mcp/DTO/ToolStats.php | 95 - .../Database/Seeders/SensitiveToolSeeder.php | 130 - .../Mod/Mcp/Dependencies/DependencyType.php | 57 - .../Mod/Mcp/Dependencies/HasDependencies.php | 21 - .../Mod/Mcp/Dependencies/ToolDependency.php | 134 - .../src/Mod/Mcp/Events/ToolExecuted.php | 114 - .../Mcp/Exceptions/CircuitOpenException.php | 27 - .../Exceptions/ForbiddenQueryException.php | 64 - .../Exceptions/MissingDependencyException.php | 87 - .../MissingWorkspaceContextException.php | 45 - .../core-mcp/src/Mod/Mcp/Lang/en_GB/mcp.php | 179 - .../Mod/Mcp/Listeners/RecordToolExecution.php | 164 - .../src/Mod/Mcp/Middleware/CheckMcpQuota.php | 89 - .../src/Mod/Mcp/Middleware/McpApiKeyAuth.php | 85 - .../Mod/Mcp/Middleware/McpAuthenticate.php | 102 - .../Middleware/ValidateToolDependencies.php | 146 - .../Middleware/ValidateWorkspaceContext.php | 91 - ...7_004936_create_mcp_api_requests_table.php | 40 - ...6_000001_create_mcp_tool_metrics_table.php | 48 - ...6_000002_create_mcp_usage_quotas_table.php | 29 - ..._26_000003_create_mcp_audit_logs_table.php | 78 - ..._000004_create_mcp_tool_versions_table.php | 41 - .../src/Mod/Mcp/Models/McpApiRequest.php | 176 - .../src/Mod/Mcp/Models/McpAuditLog.php | 383 - .../src/Mod/Mcp/Models/McpSensitiveTool.php | 127 - .../src/Mod/Mcp/Models/McpToolCall.php | 161 - .../src/Mod/Mcp/Models/McpToolCallStat.php | 263 - .../src/Mod/Mcp/Models/McpToolVersion.php | 359 - .../src/Mod/Mcp/Models/McpUsageQuota.php | 193 - .../src/Mod/Mcp/Models/ToolMetric.php | 278 - .../src/Mod/Mcp/Resources/AppConfig.php | 24 - .../src/Mod/Mcp/Resources/ContentResource.php | 170 - .../src/Mod/Mcp/Resources/DatabaseSchema.php | 27 - .../core-mcp/src/Mod/Mcp/Routes/admin.php | 70 - .../Mod/Mcp/Services/AgentSessionService.php | 336 - .../Mod/Mcp/Services/AgentToolRegistry.php | 244 - .../src/Mod/Mcp/Services/AuditLogService.php | 480 - .../src/Mod/Mcp/Services/CircuitBreaker.php | 442 - .../src/Mod/Mcp/Services/DataRedactor.php | 305 - .../src/Mod/Mcp/Services/McpHealthService.php | 303 - .../Mod/Mcp/Services/McpMetricsService.php | 267 - .../src/Mod/Mcp/Services/McpQuotaService.php | 395 - .../Mod/Mcp/Services/McpWebhookDispatcher.php | 128 - .../src/Mod/Mcp/Services/OpenApiGenerator.php | 409 - .../Mod/Mcp/Services/SqlQueryValidator.php | 302 - .../Mod/Mcp/Services/ToolAnalyticsService.php | 386 - .../Mcp/Services/ToolDependencyService.php | 496 - .../src/Mod/Mcp/Services/ToolRateLimiter.php | 144 - .../src/Mod/Mcp/Services/ToolRegistry.php | 353 - .../Mod/Mcp/Services/ToolVersionService.php | 478 - .../Mcp/Tests/Unit/McpQuotaServiceTest.php | 245 - .../Tests/Unit/ToolDependencyServiceTest.php | 480 - .../Mcp/Tests/Unit/ToolVersionServiceTest.php | 441 - ...ValidateWorkspaceContextMiddlewareTest.php | 110 - .../Unit/WorkspaceContextSecurityTest.php | 190 - .../Mcp/Tests/UseCase/ApiKeyManagerBasic.php | 71 - .../Mod/Mcp/Tools/Commerce/CreateCoupon.php | 100 - .../Mcp/Tools/Commerce/GetBillingStatus.php | 77 - .../Mod/Mcp/Tools/Commerce/ListInvoices.php | 76 - .../Mod/Mcp/Tools/Commerce/UpgradePlan.php | 120 - .../Concerns/RequiresWorkspaceContext.php | 135 - .../Tools/Concerns/ValidatesDependencies.php | 123 - .../src/Mod/Mcp/Tools/ContentTools.php | 633 - .../core-mcp/src/Mod/Mcp/Tools/GetStats.php | 30 - .../core-mcp/src/Mod/Mcp/Tools/ListRoutes.php | 32 - .../core-mcp/src/Mod/Mcp/Tools/ListSites.php | 32 - .../core-mcp/src/Mod/Mcp/Tools/ListTables.php | 28 - .../src/Mod/Mcp/Tools/QueryDatabase.php | 281 - .../Blade/admin/analytics/dashboard.blade.php | 233 - .../analytics/partials/stats-card.blade.php | 32 - .../analytics/partials/tool-table.blade.php | 100 - .../admin/analytics/tool-detail.blade.php | 183 - .../Blade/admin/api-key-manager.blade.php | 268 - .../Blade/admin/audit-log-viewer.blade.php | 400 - .../View/Blade/admin/mcp-playground.blade.php | 502 - .../Mcp/View/Blade/admin/playground.blade.php | 281 - .../View/Blade/admin/quota-usage.blade.php | 186 - .../View/Blade/admin/request-log.blade.php | 153 - .../admin/tool-version-manager.blade.php | 537 - .../Mcp/View/Modal/Admin/ApiKeyManager.php | 112 - .../Mcp/View/Modal/Admin/AuditLogViewer.php | 249 - .../Mcp/View/Modal/Admin/McpPlayground.php | 539 - .../Mod/Mcp/View/Modal/Admin/Playground.php | 263 - .../Mod/Mcp/View/Modal/Admin/QuotaUsage.php | 93 - .../Mod/Mcp/View/Modal/Admin/RequestLog.php | 86 - .../Modal/Admin/ToolAnalyticsDashboard.php | 249 - .../View/Modal/Admin/ToolAnalyticsDetail.php | 109 - .../View/Modal/Admin/ToolVersionManager.php | 349 - packages/core-mcp/src/Website/Mcp/Boot.php | 48 - .../Mcp/Controllers/McpRegistryController.php | 482 - .../core-mcp/src/Website/Mcp/Routes/web.php | 48 - .../Mcp/View/Blade/web/analytics.blade.php | 115 - .../Mcp/View/Blade/web/api-explorer.blade.php | 219 - .../View/Blade/web/api-key-manager.blade.php | 268 - .../Mcp/View/Blade/web/connect.blade.php | 217 - .../Mcp/View/Blade/web/dashboard.blade.php | 283 - .../Mcp/View/Blade/web/index.blade.php | 126 - .../Website/Mcp/View/Blade/web/keys.blade.php | 6 - .../Mcp/View/Blade/web/landing.blade.php | 205 - .../Mcp/View/Blade/web/mcp-metrics.blade.php | 309 - .../View/Blade/web/mcp-playground.blade.php | 180 - .../Mcp/View/Blade/web/playground.blade.php | 274 - .../Mcp/View/Blade/web/request-log.blade.php | 153 - .../Website/Mcp/View/Blade/web/show.blade.php | 227 - .../View/Blade/web/unified-search.blade.php | 202 - .../Website/Mcp/View/Modal/ApiExplorer.php | 271 - .../Website/Mcp/View/Modal/ApiKeyManager.php | 110 - .../src/Website/Mcp/View/Modal/Dashboard.php | 188 - .../src/Website/Mcp/View/Modal/McpMetrics.php | 90 - .../Website/Mcp/View/Modal/McpPlayground.php | 358 - .../src/Website/Mcp/View/Modal/Playground.php | 293 - .../src/Website/Mcp/View/Modal/RequestLog.php | 100 - .../Website/Mcp/View/Modal/UnifiedSearch.php | 82 - .../tests/Feature/SqlQueryValidatorTest.php | 453 - packages/core-php/README.md | 161 - packages/core-php/TODO.md | 336 - packages/core-php/composer.json | 51 - packages/core-php/config/core.php | 455 - packages/core-php/phpunit.xml | 30 - packages/core-php/src/Mod/Tenant/Boot.php | 173 - .../Tenant/Concerns/BelongsToNamespace.php | 247 - .../Tenant/Concerns/BelongsToWorkspace.php | 349 - .../Mod/Tenant/Concerns/HasWorkspaceCache.php | 272 - .../Concerns/TwoFactorAuthenticatable.php | 250 - .../Console/Commands/CheckUsageAlerts.php | 261 - .../Commands/ProcessAccountDeletions.php | 82 - .../Console/Commands/RefreshUserStats.php | 56 - .../Console/Commands/ResetBillingCycles.php | 411 - .../Contracts/EntitlementWebhookEvent.php | 37 - .../TwoFactorAuthenticationProvider.php | 36 - .../Api/EntitlementWebhookController.php | 256 - .../Controllers/EntitlementApiController.php | 493 - .../Tenant/Controllers/ReferralController.php | 138 - .../Controllers/WorkspaceController.php | 277 - .../WorkspaceInvitationController.php | 68 - .../Tenant/Database/Factories/UserFactory.php | 73 - .../Database/Factories/UserTokenFactory.php | 87 - .../Factories/WaitlistEntryFactory.php | 59 - .../Database/Factories/WorkspaceFactory.php | 81 - .../Factories/WorkspaceInvitationFactory.php | 75 - .../Database/Seeders/DemoTestUserSeeder.php | 170 - .../Database/Seeders/DemoWorkspaceSeeder.php | 165 - .../Tenant/Database/Seeders/FeatureSeeder.php | 901 - .../Seeders/SystemWorkspaceSeeder.php | 57 - .../Database/Seeders/WorkspaceSeeder.php | 183 - .../src/Mod/Tenant/Enums/UserTier.php | 81 - .../Tenant/Enums/WebhookDeliveryStatus.php | 12 - .../Events/Webhook/BoostActivatedEvent.php | 58 - .../Events/Webhook/BoostExpiredEvent.php | 58 - .../Events/Webhook/LimitReachedEvent.php | 52 - .../Events/Webhook/LimitWarningEvent.php | 56 - .../Events/Webhook/PackageChangedEvent.php | 67 - .../Exceptions/EntitlementException.php | 46 - .../MissingWorkspaceContextException.php | 133 - .../src/Mod/Tenant/Features/ApolloTier.php | 79 - .../src/Mod/Tenant/Features/BetaFeatures.php | 42 - .../src/Mod/Tenant/Features/HadesTier.php | 70 - .../Tenant/Features/UnlimitedWorkspaces.php | 75 - .../src/Mod/Tenant/Jobs/ComputeUserStats.php | 43 - .../Jobs/DispatchEntitlementWebhook.php | 188 - .../Tenant/Jobs/ProcessAccountDeletion.php | 130 - .../src/Mod/Tenant/Lang/en_GB/tenant.php | 567 - .../Mod/Tenant/Listeners/SendWelcomeEmail.php | 21 - .../Tenant/Mail/AccountDeletionRequested.php | 62 - .../Middleware/CheckWorkspacePermission.php | 96 - .../Tenant/Middleware/RequireAdminDomain.php | 34 - .../Middleware/RequireWorkspaceContext.php | 118 - .../Tenant/Middleware/ResolveNamespace.php | 59 - .../ResolveWorkspaceFromSubdomain.php | 142 - ...0001_01_01_000000_create_tenant_tables.php | 316 - ...000_create_workspace_invitations_table.php | 37 - ...20000_create_usage_alert_history_table.php | 35 - ...000_create_entitlement_webhooks_tables.php | 63 - ...26_140000_create_workspace_teams_table.php | 59 - .../Tenant/Models/AccountDeletionRequest.php | 160 - .../Mod/Tenant/Models/AgentReferralBonus.php | 110 - .../core-php/src/Mod/Tenant/Models/Boost.php | 220 - .../src/Mod/Tenant/Models/EntitlementLog.php | 207 - .../Mod/Tenant/Models/EntitlementWebhook.php | 245 - .../Models/EntitlementWebhookDelivery.php | 139 - .../src/Mod/Tenant/Models/Feature.php | 159 - .../Mod/Tenant/Models/NamespacePackage.php | 176 - .../src/Mod/Tenant/Models/Namespace_.php | 321 - .../src/Mod/Tenant/Models/Package.php | 244 - .../Mod/Tenant/Models/UsageAlertHistory.php | 198 - .../src/Mod/Tenant/Models/UsageRecord.php | 121 - .../core-php/src/Mod/Tenant/Models/User.php | 596 - .../src/Mod/Tenant/Models/UserToken.php | 126 - .../Mod/Tenant/Models/UserTwoFactorAuth.php | 38 - .../src/Mod/Tenant/Models/WaitlistEntry.php | 126 - .../src/Mod/Tenant/Models/Workspace.php | 834 - .../Mod/Tenant/Models/WorkspaceInvitation.php | 168 - .../src/Mod/Tenant/Models/WorkspaceMember.php | 377 - .../Mod/Tenant/Models/WorkspacePackage.php | 164 - .../src/Mod/Tenant/Models/WorkspaceTeam.php | 517 - .../BoostExpiredNotification.php | 144 - .../Notifications/UsageAlertNotification.php | 162 - .../WaitlistInviteNotification.php | 69 - .../Notifications/WelcomeNotification.php | 57 - .../WorkspaceInvitationNotification.php | 65 - .../core-php/src/Mod/Tenant/Routes/api.php | 82 - .../core-php/src/Mod/Tenant/Routes/web.php | 59 - .../Tenant/Rules/CheckUserPasswordRule.php | 45 - .../Mod/Tenant/Rules/ResourceStatusRule.php | 39 - .../src/Mod/Tenant/Scopes/WorkspaceScope.php | 174 - .../Mod/Tenant/Services/EntitlementResult.php | 174 - .../Tenant/Services/EntitlementService.php | 821 - .../Services/EntitlementWebhookService.php | 361 - .../Mod/Tenant/Services/NamespaceManager.php | 278 - .../Mod/Tenant/Services/NamespaceService.php | 288 - .../src/Mod/Tenant/Services/TotpService.php | 194 - .../Mod/Tenant/Services/UsageAlertService.php | 356 - .../Mod/Tenant/Services/UserStatsService.php | 284 - .../Tenant/Services/WorkspaceCacheManager.php | 458 - .../Mod/Tenant/Services/WorkspaceManager.php | 221 - .../Mod/Tenant/Services/WorkspaceService.php | 156 - .../Tenant/Services/WorkspaceTeamService.php | 629 - .../Tests/Feature/AccountDeletionTest.php | 334 - .../Tests/Feature/AuthenticationTest.php | 124 - .../Tests/Feature/EntitlementApiTest.php | 251 - .../Tests/Feature/EntitlementServiceTest.php | 641 - .../Feature/Guards/AccessTokenGuardTest.php | 180 - .../Mod/Tenant/Tests/Feature/ProfileTest.php | 131 - .../Tests/Feature/ResetBillingCyclesTest.php | 462 - .../Mod/Tenant/Tests/Feature/SettingsTest.php | 215 - .../Feature/TwoFactorAuthenticatableTest.php | 334 - .../Tests/Feature/UsageAlertServiceTest.php | 261 - .../Mod/Tenant/Tests/Feature/WaitlistTest.php | 181 - .../Tests/Feature/WorkspaceCacheTest.php | 584 - .../Tests/Feature/WorkspaceInvitationTest.php | 192 - .../Tests/Feature/WorkspaceSecurityTest.php | 433 - .../Tests/Feature/WorkspaceTenancyTest.php | 165 - .../entitlement-webhook-manager.blade.php | 401 - .../Blade/admin/workspace-details.blade.php | 696 - .../Blade/admin/workspace-manager.blade.php | 417 - .../account-deletion-requested.blade.php | 44 - .../View/Blade/emails/usage-alert.blade.php | 60 - .../web/account/cancel-deletion.blade.php | 28 - .../web/account/confirm-deletion.blade.php | 220 - .../View/Blade/web/workspace/home.blade.php | 156 - .../Modal/Admin/EntitlementWebhookManager.php | 356 - .../View/Modal/Admin/WorkspaceDetails.php | 584 - .../View/Modal/Admin/WorkspaceManager.php | 666 - .../Tenant/View/Modal/Web/CancelDeletion.php | 36 - .../Tenant/View/Modal/Web/ConfirmDeletion.php | 116 - .../Tenant/View/Modal/Web/WorkspaceHome.php | 67 - packages/core-php/tests/TestCase.php | 29 - phpunit.xml | 18 +- public/index.php | 9 - public/vendor/fontawesome/css/all.css | 21849 ---------------- public/vendor/fontawesome/css/all.min.css | 9 - public/vendor/fontawesome/css/brands.css | 2227 -- public/vendor/fontawesome/css/brands.min.css | 6 - .../vendor/fontawesome/css/chisel-regular.css | 31 - .../fontawesome/css/chisel-regular.min.css | 6 - .../vendor/fontawesome/css/duotone-light.css | 71 - .../fontawesome/css/duotone-light.min.css | 6 - .../fontawesome/css/duotone-regular.css | 71 - .../fontawesome/css/duotone-regular.min.css | 6 - .../vendor/fontawesome/css/duotone-thin.css | 71 - .../fontawesome/css/duotone-thin.min.css | 6 - public/vendor/fontawesome/css/duotone.css | 62 - public/vendor/fontawesome/css/duotone.min.css | 6 - public/vendor/fontawesome/css/etch-solid.css | 31 - .../vendor/fontawesome/css/etch-solid.min.css | 6 - public/vendor/fontawesome/css/fontawesome.css | 19421 -------------- .../fontawesome/css/fontawesome.min.css | 8 - .../fontawesome/css/jelly-duo-regular.css | 71 - .../fontawesome/css/jelly-duo-regular.min.css | 6 - .../fontawesome/css/jelly-fill-regular.css | 31 - .../css/jelly-fill-regular.min.css | 6 - .../vendor/fontawesome/css/jelly-regular.css | 31 - .../fontawesome/css/jelly-regular.min.css | 6 - public/vendor/fontawesome/css/light.css | 31 - public/vendor/fontawesome/css/light.min.css | 6 - .../fontawesome/css/notdog-duo-solid.css | 71 - .../fontawesome/css/notdog-duo-solid.min.css | 6 - .../vendor/fontawesome/css/notdog-solid.css | 31 - .../fontawesome/css/notdog-solid.min.css | 6 - public/vendor/fontawesome/css/regular.css | 31 - public/vendor/fontawesome/css/regular.min.css | 6 - .../fontawesome/css/sharp-duotone-light.css | 71 - .../css/sharp-duotone-light.min.css | 6 - .../fontawesome/css/sharp-duotone-regular.css | 71 - .../css/sharp-duotone-regular.min.css | 6 - .../fontawesome/css/sharp-duotone-solid.css | 71 - .../css/sharp-duotone-solid.min.css | 6 - .../fontawesome/css/sharp-duotone-thin.css | 71 - .../css/sharp-duotone-thin.min.css | 6 - public/vendor/fontawesome/css/sharp-light.css | 31 - .../fontawesome/css/sharp-light.min.css | 6 - .../vendor/fontawesome/css/sharp-regular.css | 31 - .../fontawesome/css/sharp-regular.min.css | 6 - public/vendor/fontawesome/css/sharp-solid.css | 31 - .../fontawesome/css/sharp-solid.min.css | 6 - public/vendor/fontawesome/css/sharp-thin.css | 31 - .../vendor/fontawesome/css/sharp-thin.min.css | 6 - .../fontawesome/css/slab-press-regular.css | 31 - .../css/slab-press-regular.min.css | 6 - .../vendor/fontawesome/css/slab-regular.css | 31 - .../fontawesome/css/slab-regular.min.css | 6 - public/vendor/fontawesome/css/solid.css | 31 - public/vendor/fontawesome/css/solid.min.css | 6 - public/vendor/fontawesome/css/svg-with-js.css | 556 - .../fontawesome/css/svg-with-js.min.css | 6 - public/vendor/fontawesome/css/svg.css | 182 - public/vendor/fontawesome/css/svg.min.css | 6 - public/vendor/fontawesome/css/thin.css | 31 - public/vendor/fontawesome/css/thin.min.css | 6 - .../fontawesome/css/thumbprint-light.css | 71 - .../fontawesome/css/thumbprint-light.min.css | 6 - .../fontawesome/css/utility-duo-semibold.css | 71 - .../css/utility-duo-semibold.min.css | 6 - .../fontawesome/css/utility-fill-semibold.css | 31 - .../css/utility-fill-semibold.min.css | 6 - .../fontawesome/css/utility-semibold.css | 31 - .../fontawesome/css/utility-semibold.min.css | 6 - .../vendor/fontawesome/css/v4-font-face.css | 27 - .../fontawesome/css/v4-font-face.min.css | 6 - public/vendor/fontawesome/css/v4-shims.css | 2818 -- .../vendor/fontawesome/css/v4-shims.min.css | 6 - .../vendor/fontawesome/css/v5-font-face.css | 35 - .../fontawesome/css/v5-font-face.min.css | 6 - .../fontawesome/css/whiteboard-semibold.css | 31 - .../css/whiteboard-semibold.min.css | 6 - .../fontawesome/webfonts/fa-brands-400.woff2 | Bin 101468 -> 0 bytes .../webfonts/fa-chisel-regular-400.woff2 | Bin 27092 -> 0 bytes .../fontawesome/webfonts/fa-duotone-900.woff2 | Bin 318648 -> 0 bytes .../webfonts/fa-duotone-light-300.woff2 | Bin 504012 -> 0 bytes .../webfonts/fa-duotone-regular-400.woff2 | Bin 468972 -> 0 bytes .../webfonts/fa-duotone-thin-100.woff2 | Bin 563944 -> 0 bytes .../webfonts/fa-etch-solid-900.woff2 | Bin 14512 -> 0 bytes .../webfonts/fa-jelly-duo-regular-400.woff2 | Bin 47884 -> 0 bytes .../webfonts/fa-jelly-fill-regular-400.woff2 | Bin 29000 -> 0 bytes .../webfonts/fa-jelly-regular-400.woff2 | Bin 37524 -> 0 bytes .../fontawesome/webfonts/fa-light-300.woff2 | Bin 357168 -> 0 bytes .../webfonts/fa-notdog-duo-solid-900.woff2 | Bin 41112 -> 0 bytes .../webfonts/fa-notdog-solid-900.woff2 | Bin 30696 -> 0 bytes .../fontawesome/webfonts/fa-regular-400.woff2 | Bin 333068 -> 0 bytes .../webfonts/fa-sharp-duotone-light-300.woff2 | Bin 418624 -> 0 bytes .../fa-sharp-duotone-regular-400.woff2 | Bin 389184 -> 0 bytes .../webfonts/fa-sharp-duotone-solid-900.woff2 | Bin 263968 -> 0 bytes .../webfonts/fa-sharp-duotone-thin-100.woff2 | Bin 447692 -> 0 bytes .../webfonts/fa-sharp-light-300.woff2 | Bin 295952 -> 0 bytes .../webfonts/fa-sharp-regular-400.woff2 | Bin 275860 -> 0 bytes .../webfonts/fa-sharp-solid-900.woff2 | Bin 209804 -> 0 bytes .../webfonts/fa-sharp-thin-100.woff2 | Bin 312212 -> 0 bytes .../webfonts/fa-slab-press-regular-400.woff2 | Bin 28148 -> 0 bytes .../webfonts/fa-slab-regular-400.woff2 | Bin 28992 -> 0 bytes .../fontawesome/webfonts/fa-solid-900.woff2 | Bin 259372 -> 0 bytes .../fontawesome/webfonts/fa-thin-100.woff2 | Bin 387012 -> 0 bytes .../webfonts/fa-thumbprint-light-300.woff2 | Bin 26236 -> 0 bytes .../fa-utility-duo-semibold-600.woff2 | Bin 36892 -> 0 bytes .../fa-utility-fill-semibold-600.woff2 | Bin 21696 -> 0 bytes .../webfonts/fa-utility-semibold-600.woff2 | Bin 26124 -> 0 bytes .../webfonts/fa-v4compatibility.woff2 | Bin 4016 -> 0 bytes .../webfonts/fa-whiteboard-semibold-600.woff2 | Bin 59100 -> 0 bytes resources/css/admin.css | 5 - resources/css/app.css | 5 - resources/js/app.js | 1 - resources/js/bootstrap.js | 4 - resources/views/welcome.blade.php | 277 - routes/api.php | 3 - routes/console.php | 3 - routes/web.php | 7 - .../src => src}/Core/Actions/Action.php | 0 .../src => src}/Core/Actions/Actionable.php | 0 .../src => src}/Core/Activity/Boot.php | 0 .../Core/Activity/Concerns/LogsActivity.php | 0 .../Activity/Console/ActivityPruneCommand.php | 0 .../Core/Activity/Models/Activity.php | 0 .../Core/Activity/Scopes/ActivityScopes.php | 0 .../Activity/Services/ActivityLogService.php | 0 .../View/Blade/admin/activity-feed.blade.php | 0 .../View/Modal/Admin/ActivityFeed.php | 0 {packages/core-php/src => src}/Core/Boot.php | 1 + .../Core/Bouncer/BlocklistService.php | 7 +- .../src => src}/Core/Bouncer/Boot.php | 1 + .../Core/Bouncer/BouncerMiddleware.php | 1 + .../Seeders/WebsiteRedirectSeeder.php | 1 + .../Bouncer/Gate/ActionGateMiddleware.php | 0 .../Core/Bouncer/Gate/ActionGateService.php | 0 .../Core/Bouncer/Gate/Attributes/Action.php | 0 .../src => src}/Core/Bouncer/Gate/Boot.php | 0 ...000002_create_action_permission_tables.php | 0 .../Bouncer/Gate/Models/ActionPermission.php | 0 .../Bouncer/Gate/Models/ActionRequest.php | 0 .../Core/Bouncer/Gate/RouteActionMacro.php | 0 .../Gate/Tests/Feature/ActionGateTest.php | 0 .../Gate/Tests/Unit/ActionGateServiceTest.php | 0 ...001_01_01_000001_create_bouncer_tables.php | 1 + .../Core/Bouncer/RedirectService.php | 2 + .../Tests/Unit/BlocklistServiceTest.php | 0 .../core-php/src => src}/Core/Cdn/Boot.php | 1 + .../src => src}/Core/Cdn/Console/CdnPurge.php | 1 + .../Cdn/Console/OffloadMigrateCommand.php | 1 + .../Core/Cdn/Console/PushAssetsToCdn.php | 1 + .../Core/Cdn/Console/PushFluxToCdn.php | 1 + .../src => src}/Core/Cdn/Facades/Cdn.php | 1 + .../Core/Cdn/Jobs/PushAssetToCdn.php | 1 + .../Cdn/Middleware/LocalCdnMiddleware.php | 1 + .../Cdn/Middleware/RewriteOffloadedUrls.php | 3 +- .../Core/Cdn/Models/StorageOffload.php | 1 + .../Core/Cdn/Services/AssetPipeline.php | 3 +- .../Core/Cdn/Services/BunnyCdnService.php | 1 + .../Core/Cdn/Services/BunnyStorageService.php | 5 +- .../Core/Cdn/Services/CdnUrlBuilder.php | 2 +- .../Core/Cdn/Services/FluxCdnService.php | 4 + .../Core/Cdn/Services/StorageOffload.php | 1 + .../Core/Cdn/Services/StorageUrlResolver.php | 5 +- .../Core/Cdn/Traits/HasCdnUrls.php | 1 + .../core-php/src => src}/Core/Cdn/config.php | 1 + .../core-php/src => src}/Core/Cdn/offload.php | 1 + .../core-php/src => src}/Core/Config/Boot.php | 1 + .../src => src}/Core/Config/Config.php | 1 + .../Core/Config/ConfigExporter.php | 13 +- .../Core/Config/ConfigResolver.php | 1 + .../src => src}/Core/Config/ConfigResult.php | 1 + .../src => src}/Core/Config/ConfigService.php | 3 +- .../Core/Config/ConfigVersioning.php | 10 +- .../Config/Console/ConfigExportCommand.php | 1 + .../Config/Console/ConfigImportCommand.php | 1 + .../Core/Config/Console/ConfigListCommand.php | 1 + .../Config/Console/ConfigPrimeCommand.php | 1 + .../Config/Console/ConfigVersionCommand.php | 1 + .../Core/Config/Contracts/ConfigProvider.php | 4 +- .../Database/Seeders/ConfigKeySeeder.php | 1 + .../Core/Config/Enums/ConfigType.php | 1 + .../Core/Config/Enums/ScopeType.php | 1 + .../Core/Config/Events/ConfigChanged.php | 1 + .../Core/Config/Events/ConfigInvalidated.php | 1 + .../Core/Config/Events/ConfigLocked.php | 1 + .../src => src}/Core/Config/ImportResult.php | 1 + ...0001_01_01_000001_create_config_tables.php | 1 + ...02_add_soft_deletes_to_config_profiles.php | 1 + ...000003_add_is_sensitive_to_config_keys.php | 1 + ...01_000004_create_config_versions_table.php | 1 + .../Core/Config/Models/Channel.php | 1 + .../Core/Config/Models/ConfigKey.php | 1 + .../Core/Config/Models/ConfigProfile.php | 1 + .../Core/Config/Models/ConfigResolved.php | 1 + .../Core/Config/Models/ConfigValue.php | 3 +- .../Core/Config/Models/ConfigVersion.php | 3 +- .../src => src}/Core/Config/Routes/admin.php | 1 + .../Tests/Feature/ConfigServiceTest.php | 1 + .../src => src}/Core/Config/VersionDiff.php | 1 + .../View/Blade/admin/config-panel.blade.php | 0 .../Blade/admin/workspace-config.blade.php | 0 .../Config/View/Modal/Admin/ConfigPanel.php | 3 +- .../View/Modal/Admin/WorkspaceConfig.php | 3 +- .../src => src}/Core/Console/Boot.php | 1 + .../Core/Console/Commands/InstallCommand.php | 6 +- .../Core/Console/Commands/MakeModCommand.php | 10 +- .../Core/Console/Commands/MakePlugCommand.php | 4 +- .../Console/Commands/MakeWebsiteCommand.php | 16 +- .../Console/Commands/NewProjectCommand.php | 1 + .../Commands/PruneEmailShieldStatsCommand.php | 5 +- .../Core/Crypt/EncryptArrayObject.php | 1 + .../src => src}/Core/Crypt/LthnHash.php | 16 +- .../Seeders/Attributes/SeederAfter.php | 0 .../Seeders/Attributes/SeederBefore.php | 0 .../Seeders/Attributes/SeederPriority.php | 0 .../Database/Seeders/CoreDatabaseSeeder.php | 0 .../CircularDependencyException.php | 0 .../Core/Database/Seeders/SeederDiscovery.php | 0 .../Core/Database/Seeders/SeederRegistry.php | 0 .../Core/Events/AdminPanelBooting.php | 2 +- .../Core/Events/ApiRoutesRegistering.php | 2 +- .../Core/Events/ClientRoutesRegistering.php | 2 +- .../Core/Events/Concerns/HasEventVersion.php | 3 +- .../Core/Events/ConsoleBooting.php | 2 +- .../Core/Events/DomainResolving.php | 7 +- .../src => src}/Core/Events/EventAuditLog.php | 2 +- .../Core/Events/FrameworkBooted.php | 3 +- .../Core/Events/LifecycleEvent.php | 2 +- .../Core/Events/ListenerProfiler.php | 41 +- .../src => src}/Core/Events/MailSending.php | 3 +- .../Core/Events/McpToolsRegistering.php | 2 +- .../Core/Events/MediaRequested.php | 3 +- .../Core/Events/QueueWorkerBooting.php | 2 +- .../Core/Events/SearchRequested.php | 3 +- .../Core/Events/WebRoutesRegistering.php | 2 +- .../Core/Front/Admin/AdminMenuRegistry.php | 22 +- .../Core/Front/Admin/AdminTagCompiler.php | 1 + .../Blade/components/action-link.blade.php | 0 .../Blade/components/activity-feed.blade.php | 0 .../Blade/components/activity-log.blade.php | 0 .../Admin/Blade/components/alert.blade.php | 0 .../Blade/components/card-grid.blade.php | 0 .../Blade/components/clear-filters.blade.php | 0 .../Blade/components/data-table.blade.php | 0 .../Blade/components/editable-table.blade.php | 0 .../Blade/components/empty-state.blade.php | 0 .../components/entitlement-gate.blade.php | 0 .../Blade/components/filter-bar.blade.php | 0 .../Admin/Blade/components/filter.blade.php | 0 .../Admin/Blade/components/flash.blade.php | 0 .../Admin/Blade/components/header.blade.php | 0 .../Blade/components/link-grid.blade.php | 0 .../Blade/components/manager-table.blade.php | 0 .../Blade/components/metric-card.blade.php | 0 .../Admin/Blade/components/metrics.blade.php | 0 .../Admin/Blade/components/module.blade.php | 0 .../Blade/components/nav-group.blade.php | 0 .../Admin/Blade/components/nav-item.blade.php | 0 .../Admin/Blade/components/nav-link.blade.php | 0 .../Admin/Blade/components/nav-menu.blade.php | 0 .../Blade/components/nav-panel.blade.php | 0 .../Blade/components/page-header.blade.php | 0 .../Admin/Blade/components/panel.blade.php | 0 .../Blade/components/progress-list.blade.php | 0 .../Admin/Blade/components/search.blade.php | 0 .../Blade/components/service-card.blade.php | 0 .../Blade/components/service-cards.blade.php | 0 .../Admin/Blade/components/sidebar.blade.php | 0 .../Admin/Blade/components/sidemenu.blade.php | 0 .../Blade/components/stat-card.blade.php | 0 .../Admin/Blade/components/stats.blade.php | 0 .../Blade/components/status-cards.blade.php | 0 .../Admin/Blade/components/tabs.blade.php | 0 .../Blade/components/tabs/panel.blade.php | 0 .../Blade/components/workspace-card.blade.php | 0 .../Front/Admin/Blade/layouts/app.blade.php | 0 .../src => src}/Core/Front/Admin/Boot.php | 1 + .../Admin/Concerns/HasMenuPermissions.php | 4 +- .../Admin/Contracts/AdminMenuProvider.php | 4 +- .../Admin/Contracts/DynamicMenuProvider.php | 3 +- .../Front/Admin/Support/MenuItemBuilder.php | 14 +- .../Front/Admin/Support/MenuItemGroup.php | 9 +- .../Core/Front/Admin/TabContext.php | 1 + .../Front/Admin/Validation/IconValidator.php | 1 + .../Admin/View/Components/ActivityFeed.php | 1 + .../Admin/View/Components/ActivityLog.php | 1 + .../Front/Admin/View/Components/Alert.php | 2 + .../Front/Admin/View/Components/CardGrid.php | 1 + .../Admin/View/Components/ClearFilters.php | 1 + .../Front/Admin/View/Components/DataTable.php | 1 + .../Admin/View/Components/EditableTable.php | 1 + .../Front/Admin/View/Components/Filter.php | 3 + .../Front/Admin/View/Components/FilterBar.php | 1 + .../Front/Admin/View/Components/LinkGrid.php | 1 + .../Admin/View/Components/ManagerTable.php | 1 + .../Front/Admin/View/Components/Metrics.php | 1 + .../Admin/View/Components/ProgressList.php | 1 + .../Front/Admin/View/Components/Search.php | 1 + .../Admin/View/Components/ServiceCard.php | 11 + .../Front/Admin/View/Components/Sidemenu.php | 1 + .../Front/Admin/View/Components/Stats.php | 1 + .../Admin/View/Components/StatusCards.php | 1 + .../Core/Front/Api/ApiVersionService.php | 0 .../src => src}/Core/Front/Api/Boot.php | 0 .../Core/Front/Api/Middleware/ApiSunset.php | 0 .../Core/Front/Api/Middleware/ApiVersion.php | 0 .../src => src}/Core/Front/Api/README.md | 0 .../Core/Front/Api/VersionedRoutes.php | 0 .../src => src}/Core/Front/Api/config.php | 0 .../core-php/src => src}/Core/Front/Boot.php | 1 + .../Core/Front/COMPONENT_PATTERN.md | 0 .../src => src}/Core/Front/Cli/Boot.php | 1 + .../Front/Client/Blade/dashboard.blade.php | 0 .../Front/Client/Blade/layouts/app.blade.php | 0 .../src => src}/Core/Front/Client/Boot.php | 1 + .../src => src}/Core/Front/Client/README.md | 0 .../Core/Front/Client/Routes/client.php | 1 + .../Core/Front/Client/View/Dashboard.php | 1 + .../Core/Front/Components/Boot.php | 1 + .../Core/Front/Components/Button.php | 1 + .../Core/Front/Components/Card.php | 1 + .../Core/Front/Components/Component.php | 3 +- .../Core/Front/Components/CoreTagCompiler.php | 1 + .../Core/Front/Components/Heading.php | 1 + .../Core/Front/Components/Layout.php | 80 +- .../Core/Front/Components/NavList.php | 1 + .../Core/Front/Components/Text.php | 1 + .../Components/View/Blade/accordion.blade.php | 0 .../View/Blade/accordion/content.blade.php | 0 .../View/Blade/accordion/heading.blade.php | 0 .../View/Blade/accordion/item.blade.php | 0 .../View/Blade/autocomplete.blade.php | 0 .../View/Blade/autocomplete/item.blade.php | 0 .../Components/View/Blade/avatar.blade.php | 0 .../Components/View/Blade/badge.blade.php | 0 .../Components/View/Blade/button.blade.php | 0 .../View/Blade/button/group.blade.php | 0 .../Components/View/Blade/calendar.blade.php | 0 .../Components/View/Blade/callout.blade.php | 0 .../View/Blade/callout/heading.blade.php | 0 .../View/Blade/callout/text.blade.php | 0 .../Components/View/Blade/card.blade.php | 0 .../Components/View/Blade/chart.blade.php | 0 .../View/Blade/chart/area.blade.php | 0 .../View/Blade/chart/axis.blade.php | 0 .../View/Blade/chart/axis/grid.blade.php | 0 .../View/Blade/chart/axis/line.blade.php | 0 .../View/Blade/chart/axis/mark.blade.php | 0 .../View/Blade/chart/axis/tick.blade.php | 0 .../View/Blade/chart/cursor.blade.php | 0 .../View/Blade/chart/legend.blade.php | 0 .../View/Blade/chart/line.blade.php | 0 .../View/Blade/chart/point.blade.php | 0 .../View/Blade/chart/summary.blade.php | 0 .../Components/View/Blade/chart/svg.blade.php | 0 .../View/Blade/chart/tooltip.blade.php | 0 .../Blade/chart/tooltip/heading.blade.php | 0 .../View/Blade/chart/tooltip/value.blade.php | 0 .../View/Blade/chart/viewport.blade.php | 0 .../Components/View/Blade/checkbox.blade.php | 0 .../View/Blade/checkbox/group.blade.php | 0 .../Components/View/Blade/command.blade.php | 0 .../View/Blade/command/empty.blade.php | 0 .../View/Blade/command/input.blade.php | 0 .../View/Blade/command/item.blade.php | 0 .../View/Blade/command/items.blade.php | 0 .../satellite/footer-custom.blade.php | 0 .../components/satellite/layout.blade.php | 0 .../Components/View/Blade/composer.blade.php | 0 .../Components/View/Blade/context.blade.php | 0 .../View/Blade/date-picker.blade.php | 0 .../View/Blade/date-picker/button.blade.php | 0 .../View/Blade/date-picker/input.blade.php | 0 .../View/Blade/description.blade.php | 0 .../Components/View/Blade/dropdown.blade.php | 0 .../Components/View/Blade/editor.blade.php | 0 .../View/Blade/editor/button.blade.php | 0 .../View/Blade/editor/content.blade.php | 0 .../View/Blade/editor/toolbar.blade.php | 0 .../Components/View/Blade/error.blade.php | 0 .../View/Blade/errors/404.blade.php | 0 .../View/Blade/errors/500.blade.php | 0 .../View/Blade/errors/503.blade.php | 0 .../View/Blade/examples/blog-post.blade.php | 0 .../View/Blade/examples/checkout.blade.php | 0 .../View/Blade/examples/guide.blade.php | 0 .../View/Blade/examples/help-centre.blade.php | 0 .../View/Blade/examples/hlcrf-test.blade.php | 0 .../Components/View/Blade/field.blade.php | 0 .../Components/View/Blade/file-item.blade.php | 0 .../View/Blade/file-item/remove.blade.php | 0 .../View/Blade/file-upload.blade.php | 0 .../View/Blade/file-upload/dropzone.blade.php | 0 .../View/Blade/forms/button.blade.php | 0 .../View/Blade/forms/checkbox.blade.php | 0 .../View/Blade/forms/input.blade.php | 0 .../View/Blade/forms/select.blade.php | 0 .../View/Blade/forms/textarea.blade.php | 0 .../View/Blade/forms/toggle.blade.php | 0 .../Components/View/Blade/heading.blade.php | 0 .../Components/View/Blade/icon.blade.php | 0 .../View/Blade/icon/check-circle.blade.php | 0 .../View/Blade/icon/check.blade.php | 0 .../View/Blade/icon/clipboard.blade.php | 0 .../View/Blade/icon/clock.blade.php | 0 .../Blade/icon/code-bracket-square.blade.php | 0 .../View/Blade/icon/code-bracket.blade.php | 0 .../View/Blade/icon/document-text.blade.php | 0 .../Components/View/Blade/icon/key.blade.php | 0 .../View/Blade/icon/lock-closed.blade.php | 0 .../View/Blade/icon/x-circle.blade.php | 0 .../View/Blade/icon/x-mark.blade.php | 0 .../Components/View/Blade/input.blade.php | 0 .../View/Blade/input/group.blade.php | 0 .../View/Blade/input/group/prefix.blade.php | 0 .../Components/View/Blade/kanban.blade.php | 0 .../View/Blade/kanban/card.blade.php | 0 .../View/Blade/kanban/column.blade.php | 0 .../View/Blade/kanban/column/cards.blade.php | 0 .../View/Blade/kanban/column/footer.blade.php | 0 .../View/Blade/kanban/column/header.blade.php | 0 .../Components/View/Blade/label.blade.php | 0 .../Components/View/Blade/layout.blade.php | 0 .../View/Blade/layout/content.blade.php | 0 .../View/Blade/layout/footer.blade.php | 0 .../View/Blade/layout/header.blade.php | 0 .../View/Blade/layout/left.blade.php | 0 .../View/Blade/layout/right.blade.php | 0 .../View/Blade/layouts/app.blade.php | 0 .../View/Blade/layouts/content.blade.php | 0 .../View/Blade/layouts/focused.blade.php | 0 .../View/Blade/layouts/mcp.blade.php | 0 .../View/Blade/layouts/minimal.blade.php | 0 .../Blade/layouts/partials/base.blade.php | 0 .../layouts/partials/fonts-inline.blade.php | 0 .../Blade/layouts/partials/fonts.blade.php | 0 .../Blade/layouts/partials/footer.blade.php | 0 .../Blade/layouts/partials/header.blade.php | 0 .../View/Blade/layouts/sidebar-left.blade.php | 0 .../Blade/layouts/sidebar-right.blade.php | 0 .../View/Blade/layouts/workspace.blade.php | 0 .../Components/View/Blade/main.blade.php | 0 .../Components/View/Blade/menu.blade.php | 0 .../View/Blade/menu/checkbox.blade.php | 0 .../View/Blade/menu/group.blade.php | 0 .../Components/View/Blade/menu/item.blade.php | 0 .../View/Blade/menu/radio.blade.php | 0 .../View/Blade/menu/separator.blade.php | 0 .../View/Blade/menu/submenu.blade.php | 0 .../Components/View/Blade/modal.blade.php | 0 .../Components/View/Blade/navbar.blade.php | 0 .../View/Blade/navbar/item.blade.php | 0 .../Components/View/Blade/navlist.blade.php | 0 .../View/Blade/navlist/group.blade.php | 0 .../View/Blade/navlist/item.blade.php | 0 .../Components/View/Blade/navmenu.blade.php | 0 .../Components/View/Blade/pillbox.blade.php | 0 .../View/Blade/pillbox/create.blade.php | 0 .../View/Blade/pillbox/empty.blade.php | 0 .../View/Blade/pillbox/input.blade.php | 0 .../View/Blade/pillbox/option.blade.php | 0 .../View/Blade/pillbox/search.blade.php | 0 .../View/Blade/pillbox/trigger.blade.php | 0 .../Components/View/Blade/popover.blade.php | 0 .../Components/View/Blade/radio.blade.php | 0 .../View/Blade/radio/group.blade.php | 0 .../Components/View/Blade/select.blade.php | 0 .../View/Blade/select/option.blade.php | 0 .../Components/View/Blade/separator.blade.php | 0 .../Components/View/Blade/slider.blade.php | 0 .../View/Blade/slider/tick.blade.php | 0 .../View/Blade/subheading.blade.php | 0 .../Components/View/Blade/switch.blade.php | 0 .../Front/Components/View/Blade/tab.blade.php | 0 .../Components/View/Blade/tab/group.blade.php | 0 .../Components/View/Blade/tab/panel.blade.php | 0 .../Components/View/Blade/table.blade.php | 0 .../View/Blade/table/cell.blade.php | 0 .../View/Blade/table/column.blade.php | 0 .../View/Blade/table/columns.blade.php | 0 .../Components/View/Blade/table/row.blade.php | 0 .../View/Blade/table/rows.blade.php | 0 .../Components/View/Blade/tabs.blade.php | 0 .../Components/View/Blade/text.blade.php | 0 .../Components/View/Blade/textarea.blade.php | 0 .../View/Blade/time-picker.blade.php | 0 .../Components/View/Blade/tooltip.blade.php | 0 .../Components/View/Blade/web/home.blade.php | 0 .../Components/View/Blade/web/page.blade.php | 0 .../View/Blade/web/waitlist.blade.php | 0 .../src => src}/Core/Front/Controller.php | 1 + .../core-php/src => src}/Core/Front/HLCRF.md | 0 .../src => src}/Core/Front/Mcp/Boot.php | 1 + .../Front/Mcp/Contracts/McpToolHandler.php | 1 + .../src => src}/Core/Front/Mcp/McpContext.php | 1 + .../Front/Services/DeviceDetectionService.php | 1 + .../src => src}/Core/Front/Stdio/Boot.php | 1 + .../Tests/Unit/DeviceDetectionServiceTest.php | 1 + .../Web/Blade/components/nav-item.blade.php | 0 .../Front/Web/Blade/components/page.blade.php | 0 .../Front/Web/Blade/layouts/app.blade.php | 0 .../src => src}/Core/Front/Web/Boot.php | 1 + .../Front/Web/Middleware/FindDomainRecord.php | 3 +- .../Middleware/RedirectIfAuthenticated.php | 1 + .../Front/Web/Middleware/ResilientSession.php | 1 + .../Core/Front/Web/WebTagCompiler.php | 1 + .../src => src}/Core/Headers/Boot.php | 1 + .../Core/Headers/CspNonceService.php | 3 +- .../src => src}/Core/Headers/DetectDevice.php | 1 + .../Core/Headers/DetectLocation.php | 1 + .../Livewire/HeaderConfigurationManager.php | 46 +- .../Core/Headers/SecurityHeaders.php | 2 + .../Core/Headers/Testing/HeaderAssertions.php | 1 + .../Headers/Testing/SecurityHeaderTester.php | 5 +- .../header-configuration-manager.blade.php | 0 .../src => src}/Core/Headers/config.php | 1 + .../src => src}/Core/Headers/helpers.php | 1 + .../src => src}/Core/Helpers/Boot.php | 1 + .../core-php/src => src}/Core/Helpers/Cdn.php | 1 + .../Core/Helpers/CommandResult.php | 1 + .../src => src}/Core/Helpers/File.php | 1 + .../src => src}/Core/Helpers/HadesEncrypt.php | 1 + .../Core/Helpers/HorizonStatus.php | 1 + .../core-php/src => src}/Core/Helpers/Log.php | 1 + .../Core/Helpers/LoginRateLimiter.php | 1 + .../Core/Helpers/PrivacyHelper.php | 1 + .../src => src}/Core/Helpers/RateLimit.php | 1 + .../src => src}/Core/Helpers/RecoveryCode.php | 1 + .../Core/Helpers/Rules/HexRule.php | 1 + .../Core/Helpers/ServiceCollection.php | 1 + .../src => src}/Core/Helpers/SystemLogs.php | 1 + .../src => src}/Core/Helpers/TimezoneList.php | 1 + .../src => src}/Core/Helpers/UtmHelper.php | 1 + {packages/core-php/src => src}/Core/Init.php | 1 + .../core-php/src => src}/Core/Input/Input.php | 3 +- .../src => src}/Core/Input/Sanitiser.php | 131 +- .../Input/Tests/Unit/InputFilteringTest.php | 1 + .../core-php/src => src}/Core/Lang/Boot.php | 1 + .../Commands/TranslationCoverageCommand.php | 6 +- .../Commands/TranslationMemoryCommand.php | 3 +- .../Lang/Coverage/TranslationCoverage.php | 8 +- .../Coverage/TranslationCoverageReport.php | 2 +- .../Core/Lang/IcuMessageFormatter.php | 1 + .../Core/Lang/LangServiceProvider.php | 1 + .../Contracts/TranslationMemoryRepository.php | 43 +- .../Lang/TranslationMemory/FuzzyMatcher.php | 32 +- .../JsonTranslationMemoryRepository.php | 3 +- .../Lang/TranslationMemory/TmxExporter.php | 41 +- .../Lang/TranslationMemory/TmxImporter.php | 23 +- .../TranslationMemory/TranslationMemory.php | 138 +- .../TranslationMemoryEntry.php | 35 +- .../src => src}/Core/Lang/en_GB/core.php | 1 + .../src => src}/Core/LazyModuleListener.php | 4 +- .../Core/LifecycleEventProvider.php | 2 +- .../core-php/src => src}/Core/Mail/Boot.php | 1 + .../src => src}/Core/Mail/EmailShield.php | 4 +- .../src => src}/Core/Mail/EmailShieldStat.php | 1 + .../Core/Mail/EmailValidationResult.php | 1 + .../Core/Mail/Rules/ValidatedEmail.php | 3 +- .../Core/Media/Abstracts/Image.php | 1 + .../Core/Media/Abstracts/MediaConversion.php | 5 +- .../core-php/src => src}/Core/Media/Boot.php | 0 .../MediaImageResizerConversion.php | 1 + .../Conversions/MediaVideoThumbConversion.php | 1 + .../Core/Media/Events/ConversionProgress.php | 21 +- .../Core/Media/Image/ExifStripper.php | 3 +- .../Core/Media/Image/ImageOptimization.php | 1 + .../Core/Media/Image/ImageOptimizer.php | 1 + .../Core/Media/Image/ModernFormatSupport.php | 3 +- .../Core/Media/Image/OptimizationResult.php | 1 + .../Core/Media/Jobs/GenerateThumbnail.php | 0 .../Media/Jobs/ProcessMediaConversion.php | 8 +- .../src => src}/Core/Media/Routes/web.php | 0 .../Support/ConversionProgressReporter.php | 17 +- .../Core/Media/Support/ImageResizer.php | 1 + .../Media/Support/MediaConversionData.php | 1 + .../Core/Media/Support/TemporaryDirectory.php | 1 + .../Core/Media/Support/TemporaryFile.php | 3 +- .../Core/Media/Thumbnail/LazyThumbnail.php | 0 .../Media/Thumbnail/ThumbnailController.php | 0 .../Core/Media/Thumbnail/helpers.php | 0 .../src => src}/Core/Media/config.php | 1 + .../src => src}/Core/ModuleRegistry.php | 2 +- .../src => src}/Core/ModuleScanner.php | 6 +- {packages/core-php/src => src}/Core/Pro.php | 2 + {packages/core-php/src => src}/Core/README.md | 0 .../src => src}/Core/RELEASE-BLOCKERS.md | 10 +- .../Core/Search/Analytics/SearchAnalytics.php | 1 + ..._000001_create_search_analytics_tables.php | 1 + .../core-php/src => src}/Core/Search/Boot.php | 1 + .../Search/Suggestions/SearchSuggestions.php | 1 + .../Core/Search/Support/SearchHighlighter.php | 19 +- .../src => src}/Core/Search/Unified.php | 1 + .../src => src}/Core/Search/config.php | 1 + .../Core/Seo/Analytics/SeoScoreTrend.php | 9 +- .../core-php/src => src}/Core/Seo/Boot.php | 1 + .../Console/Commands/AuditCanonicalUrls.php | 1 + .../Commands/GenerateServiceOgImages.php | 1 + .../Seo/Console/Commands/RecordSeoScores.php | 1 + .../Console/Commands/TestStructuredData.php | 3 +- .../Seo/Controllers/OgImageController.php | 1 + .../Seo/Controllers/SitemapController.php | 1 + .../src => src}/Core/Seo/HasSeoMetadata.php | 1 + .../Core/Seo/Jobs/GenerateOgImageJob.php | 1 + .../Core/Seo/Models/SeoScoreHistory.php | 5 +- .../core-php/src => src}/Core/Seo/Schema.php | 1 + .../src => src}/Core/Seo/SeoMetadata.php | 9 +- .../Seo/Services/SchemaBuilderService.php | 1 + .../Seo/Services/ServiceOgImageService.php | 1 + .../Seo/Validation/CanonicalUrlValidator.php | 1 + .../Core/Seo/Validation/OgImageValidator.php | 1 + .../Core/Seo/Validation/SchemaValidator.php | 1 + .../Seo/Validation/StructuredDataTester.php | 3 +- .../Service/Concerns/HasServiceVersion.php | 1 + .../Service/Contracts/HealthCheckable.php | 2 +- .../Service/Contracts/ServiceDefinition.php | 3 +- .../Service/Contracts/ServiceDependency.php | 3 +- .../Core/Service/Enums/ServiceStatus.php | 1 + .../Core/Service/HealthCheckResult.php | 1 + .../Service/ServiceDependencyException.php | 3 +- .../Core/Service/ServiceDiscovery.php | 11 +- .../Core/Service/ServiceVersion.php | 3 +- .../Tests/Unit/HealthCheckResultTest.php | 1 + .../Service/Tests/Unit/ServiceStatusTest.php | 1 + .../Service/Tests/Unit/ServiceVersionTest.php | 1 + .../Core/Storage/CacheResilienceProvider.php | 9 +- .../src => src}/Core/Storage/CacheWarmer.php | 7 +- .../Core/Storage/CircuitBreaker.php | 1 + .../Storage/Commands/WarmCacheCommand.php | 4 +- .../Storage/Events/RedisFallbackActivated.php | 1 + .../Core/Storage/ResilientRedisStore.php | 1 + .../Core/Storage/StorageMetrics.php | 7 +- .../Core/Storage/TierConfiguration.php | 1 + .../Core/Storage/TieredCacheStore.php | 34 +- {packages/core-php/src => src}/Core/TODO.md | 0 .../Tests/Feature/AdminComponentsTest.php | 1 + .../Tests/Feature/AdminRouteSmokeTest.php | 18 +- .../Feature/BladeViewCompilationTest.php | 1 + .../Core/Tests/Feature/CdnIntegrationTest.php | 1 + .../Core/Tests/Feature/Config/ChannelTest.php | 1 + .../Tests/Feature/Config/ConfigValueTest.php | 1 + .../Core/Tests/Feature/CoreComponentsTest.php | 51 +- .../Tests/Feature/DatabaseMigrationTest.php | 1 + .../Core/Tests/Feature/EmailShieldTest.php | 3 +- .../Core/Tests/Feature/ErrorPagesTest.php | 1 + .../Core/Tests/Feature/ImageOptimizerTest.php | 1 + .../Tests/Feature/MailConfigurationTest.php | 3 +- .../Feature/ModuleScannerIntegrationTest.php | 1 + .../Feature/OffloadMigrateCommandTest.php | 1 + .../Tests/Feature/PerformanceBaselineTest.php | 1 + .../Tests/Feature/ResilientSessionTest.php | 1 + .../Feature/RewriteOffloadedUrlsTest.php | 1 + .../Core/Tests/Feature/SecurityFixesTest.php | 1 + .../Tests/Feature/SecurityHeadersTest.php | 1 + .../Core/Tests/Feature/StorageOffloadTest.php | 1 + .../Tests/Feature/ValidationRulesTest.php | 3 +- .../Core/Tests/Unit/ApiVersionTest.php | 0 .../Core/Tests/Unit/ComponentBuildersTest.php | 1 + .../Unit/Crypt/EncryptArrayObjectTest.php | 1 + .../Core/Tests/Unit/HadesEncryptTest.php | 1 + .../Tests/Unit/LazyModuleListenerTest.php | 1 - .../Core/Tests/Unit/LthnHashTest.php | 1 + .../Core/Tests/Unit/ModuleScannerTest.php | 0 .../Core/Tests/Unit/PrivacyHelperTest.php | 1 + .../Unit/Services/BunnyCdnServiceTest.php | 1 + .../Core/Tests/Unit/UtmHelperTest.php | 1 + .../core-php/src => src}/Core/config.php | 0 {packages/core-php/src => src}/Core/views.md | 0 {packages/core-php/src => src}/Mod/Boot.php | 0 .../core-php/src => src}/Mod/Trees/Boot.php | 0 .../Mod/Trees/Console/AddTreeReserve.php | 0 .../Mod/Trees/Console/DonateTreesToTFTF.php | 0 .../Mod/Trees/Console/ProcessQueuedTrees.php | 0 .../Controllers/Api/TreeStatsController.php | 0 .../Mod/Trees/Database/Seeders/TreeSeeder.php | 6 +- .../Mod/Trees/Jobs/PlantTreeWithTFTF.php | 0 .../Mod/Trees/Lang/en_GB/trees.php | 0 .../Listeners/PlantTreeForAgentReferral.php | 2 +- .../Trees/Middleware/IncludeAgentContext.php | 2 +- .../Mod/Trees/Models/TreeDonation.php | 0 .../Mod/Trees/Models/TreePlanting.php | 0 .../Mod/Trees/Models/TreePlantingStats.php | 0 .../Mod/Trees/Models/TreeReserve.php | 0 .../LowTreeReserveNotification.php | 0 .../src => src}/Mod/Trees/Routes/api.php | 2 +- .../src => src}/Mod/Trees/Routes/web.php | 0 .../Tests/Feature/DailyLimitAndBonusTest.php | 2 +- .../Tests/Feature/QueueProcessingTest.php | 0 .../Trees/Tests/Feature/ReferralRouteTest.php | 0 .../Tests/Feature/SignupReferralTest.php | 2 +- .../Mod/Trees/Tests/Feature/StatsApiTest.php | 0 .../Feature/SubscriberMonthlyCommandTest.php | 4 +- .../Trees/Tests/Feature/TreePlantingTest.php | 0 .../Mod/Trees/Tests/Feature/TreesPageTest.php | 0 .../Trees/Tests/Unit/AgentDetectionTest.php | 0 .../Mod/Trees/View/Blade/web/index.blade.php | 0 .../Mod/Trees/View/Modal/Web/Index.php | 0 {packages/core-php/src => src}/Plug/Boot.php | 0 .../Plug/Concern/BuildsResponse.php | 2 +- .../Plug/Concern/ManagesTokens.php | 0 .../src => src}/Plug/Concern/UsesHttp.php | 0 .../core-php/src => src}/Plug/Enum/Status.php | 0 .../core-php/src => src}/Plug/Registry.php | 0 .../core-php/src => src}/Plug/Response.php | 0 .../core-php/src => src}/Website/Boot.php | 0 .../src => src}/Website/DomainResolver.php | 0 .../core-php/src => src}/Website/README.md | 0 .../src => src}/Website/Service/Boot.php | 0 .../Website/Service/Routes/web.php | 0 .../View/Blade/components/footer.blade.php | 0 .../View/Blade/components/header.blade.php | 0 .../Service/View/Blade/features.blade.php | 0 .../Service/View/Blade/landing.blade.php | 0 .../View/Blade/layouts/service.blade.php | 0 .../Website/Service/View/Features.php | 3 +- .../Website/Service/View/Landing.php | 0 .../stubs => stubs}/Mod/Example/Boot.php.stub | 0 .../Mod/Example/Routes/admin.php.stub | 0 .../Mod/Example/Routes/api.php.stub | 0 .../Mod/Example/Routes/web.php.stub | 0 .../Mod/Example/config.php.stub | 0 .../Plug/Example/Boot.php.stub | 0 .../Website/Example/Boot.php.stub | 0 .../Feature/ActivityLogServiceTest.php | 0 .../Feature/AdminMenuRegistryTest.php | 5 +- .../Feature/EventAuditLogTest.php | 0 .../tests => tests}/Feature/InputTest.php | 0 .../Feature/LazyModuleListenerTest.php | 0 .../Feature/LifecycleEventProviderTest.php | 0 .../Feature/LifecycleEventsTest.php | 0 .../Feature/LogsActivityTraitTest.php | 0 .../Feature/ModuleRegistryTest.php | 0 .../Feature/ModuleScannerTest.php | 4 +- .../tests => tests}/Feature/ProTest.php | 0 .../tests => tests}/Feature/SanitiserTest.php | 6 +- .../Feature/SeederDiscoveryTest.php | 0 .../Feature/SeederRegistryTest.php | 0 .../Fixtures/Core/TestCore/Boot.php | 0 .../Fixtures/Custom/TestCustom/Boot.php | 0 .../Fixtures/Mcp/TestHandler.php | 0 .../Alpha/Database/Seeders/AlphaSeeder.php | 0 .../Mod/Beta/Database/Seeders/BetaSeeder.php | 0 .../Database/Seeders/CircularASeeder.php | 0 .../Database/Seeders/CircularBSeeder.php | 0 .../Fixtures/Mod/Example/Boot.php | 0 .../Gamma/Database/Seeders/DeltaSeeder.php | 0 .../Gamma/Database/Seeders/GammaSeeder.php | 0 .../Fixtures/Mod/HighPriority/Boot.php | 0 .../Fixtures/Mod/NoListens/Boot.php | 0 .../Fixtures/Mod/NonArrayListens/Boot.php | 0 .../Fixtures/Mod/NonStaticListens/Boot.php | 0 .../Fixtures/Mod/PrivateListens/Boot.php | 0 .../Mod/ServiceProviderModule/Boot.php | 0 .../Fixtures/Plug/TestPlugin/Boot.php | 0 .../Fixtures/Website/TestSite/Boot.php | 0 tests/TestCase.php | 27 +- vite.config.js | 13 - 1263 files changed, 1204 insertions(+), 149451 deletions(-) delete mode 100644 .env.example delete mode 100644 app/Website/Demo/Boot.php delete mode 100644 app/Website/Demo/Middleware/EnsureInstalled.php delete mode 100644 app/Website/Demo/Routes/web.php delete mode 100644 app/Website/Demo/View/Blade/layouts/app.blade.php delete mode 100644 app/Website/Demo/View/Blade/web/install.blade.php delete mode 100644 app/Website/Demo/View/Blade/web/landing.blade.php delete mode 100644 app/Website/Demo/View/Blade/web/login.blade.php delete mode 100644 app/Website/Demo/View/Modal/Install.php delete mode 100644 app/Website/Demo/View/Modal/Landing.php delete mode 100644 app/Website/Demo/View/Modal/Login.php delete mode 100755 artisan delete mode 100644 bootstrap/app.php delete mode 100644 bootstrap/cache/.gitkeep rename {packages/core-php/changelog => changelog}/2026/jan/code-review.md (100%) rename {packages/core-php/changelog => changelog}/2026/jan/features.md (100%) delete mode 100644 config/app.php delete mode 100644 config/auth.php delete mode 100644 config/cache.php delete mode 100644 config/database.php delete mode 100644 config/filesystems.php delete mode 100644 config/logging.php delete mode 100644 config/mail.php delete mode 100644 config/mcp.php delete mode 100644 config/queue.php delete mode 100644 config/services.php delete mode 100644 config/session.php delete mode 100644 database/.gitignore delete mode 100644 database/factories/UserFactory.php delete mode 100644 database/migrations/0001_01_01_000000_create_users_table.php delete mode 100644 database/migrations/0001_01_01_000001_create_cache_table.php delete mode 100644 database/migrations/0001_01_01_000002_create_jobs_table.php delete mode 100644 database/seeders/DatabaseSeeder.php create mode 100644 docs/public/CNAME delete mode 100644 packages/core-admin/README.md delete mode 100644 packages/core-admin/TODO.md delete mode 100644 packages/core-admin/changelog/2026/jan/features.md delete mode 100644 packages/core-admin/composer.json delete mode 100644 packages/core-admin/resources/views/components/forms/button.blade.php delete mode 100644 packages/core-admin/resources/views/components/forms/checkbox.blade.php delete mode 100644 packages/core-admin/resources/views/components/forms/form-group.blade.php delete mode 100644 packages/core-admin/resources/views/components/forms/input.blade.php delete mode 100644 packages/core-admin/resources/views/components/forms/select.blade.php delete mode 100644 packages/core-admin/resources/views/components/forms/textarea.blade.php delete mode 100644 packages/core-admin/resources/views/components/forms/toggle.blade.php delete mode 100644 packages/core-admin/src/Boot.php delete mode 100644 packages/core-admin/src/Forms/Concerns/HasAuthorizationProps.php delete mode 100644 packages/core-admin/src/Forms/View/Components/Button.php delete mode 100644 packages/core-admin/src/Forms/View/Components/Checkbox.php delete mode 100644 packages/core-admin/src/Forms/View/Components/FormGroup.php delete mode 100644 packages/core-admin/src/Forms/View/Components/Input.php delete mode 100644 packages/core-admin/src/Forms/View/Components/Select.php delete mode 100644 packages/core-admin/src/Forms/View/Components/Textarea.php delete mode 100644 packages/core-admin/src/Forms/View/Components/Toggle.php delete mode 100644 packages/core-admin/src/Mod/Hub/Boot.php delete mode 100644 packages/core-admin/src/Mod/Hub/Controllers/TeapotController.php delete mode 100644 packages/core-admin/src/Mod/Hub/Database/Seeders/ServiceSeeder.php delete mode 100644 packages/core-admin/src/Mod/Hub/Lang/en_GB/hub.php delete mode 100644 packages/core-admin/src/Mod/Hub/Migrations/2026_01_11_000001_create_honeypot_hits_table.php delete mode 100644 packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000001_create_platform_services_table.php delete mode 100644 packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000002_add_website_class_to_platform_services.php delete mode 100644 packages/core-admin/src/Mod/Hub/Models/HoneypotHit.php delete mode 100644 packages/core-admin/src/Mod/Hub/Models/Service.php delete mode 100644 packages/core-admin/src/Mod/Hub/Tests/Feature/HubRoutesTest.php delete mode 100644 packages/core-admin/src/Mod/Hub/Tests/Feature/WorkspaceSwitcherTest.php delete mode 100644 packages/core-admin/src/Mod/Hub/Tests/UseCase/DashboardBasic.php delete mode 100644 packages/core-admin/src/Search/Concerns/HasSearchProvider.php delete mode 100644 packages/core-admin/src/Search/Contracts/SearchProvider.php delete mode 100644 packages/core-admin/src/Search/Providers/AdminPageSearchProvider.php delete mode 100644 packages/core-admin/src/Search/SearchProviderRegistry.php delete mode 100644 packages/core-admin/src/Search/SearchResult.php delete mode 100644 packages/core-admin/src/Search/Tests/SearchProviderRegistryTest.php delete mode 100644 packages/core-admin/src/Search/Tests/SearchResultTest.php delete mode 100644 packages/core-admin/src/Website/Hub/Boot.php delete mode 100644 packages/core-admin/src/Website/Hub/Routes/admin.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/account-usage.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/activity-log.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/ai-services.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/analytics.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/boost-purchase.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/components/developer-bar.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/components/header.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/components/sidebar.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/console.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-editor.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/calendar.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/dashboard.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/kanban.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/list.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/webhooks.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/content.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/dashboard.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/databases.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/deployments.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/dev/cache.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/dev/logs.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/dev/routes.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/dashboard.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/feature-manager.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/package-manager.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/global-search.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/honeypot.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/layouts/app.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/platform-user.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/platform.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/profile.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/prompt-manager.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/service-manager.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/services-admin.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/settings.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/site-settings.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/sites.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/usage-dashboard.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/waitlist-manager.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/workspace-switcher.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Blade/admin/wp-connector-settings.blade.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/AIServices.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/AccountUsage.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/ActivityLog.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Analytics.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/BoostPurchase.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Console.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Content.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentEditor.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentManager.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Dashboard.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Databases.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Deployments.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/Dashboard.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/FeatureManager.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/PackageManager.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/GlobalSearch.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Honeypot.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Platform.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/PlatformUser.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Profile.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/PromptManager.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/ServiceManager.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/ServicesAdmin.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Settings.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/SiteSettings.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/Sites.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/UsageDashboard.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/WaitlistManager.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/WorkspaceSwitcher.php delete mode 100644 packages/core-admin/src/Website/Hub/View/Modal/Admin/WpConnectorSettings.php delete mode 100644 packages/core-api/README.md delete mode 100644 packages/core-api/TODO.md delete mode 100644 packages/core-api/changelog/2026/jan/features.md delete mode 100644 packages/core-api/composer.json delete mode 100644 packages/core-api/src/Mod/Api/Boot.php delete mode 100644 packages/core-api/src/Mod/Api/Concerns/HasApiResponses.php delete mode 100644 packages/core-api/src/Mod/Api/Concerns/HasApiTokens.php delete mode 100644 packages/core-api/src/Mod/Api/Concerns/ResolvesWorkspace.php delete mode 100644 packages/core-api/src/Mod/Api/Console/Commands/CheckApiUsageAlerts.php delete mode 100644 packages/core-api/src/Mod/Api/Console/Commands/CleanupExpiredGracePeriods.php delete mode 100644 packages/core-api/src/Mod/Api/Controllers/McpApiController.php delete mode 100644 packages/core-api/src/Mod/Api/Database/Factories/ApiKeyFactory.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Attributes/ApiHidden.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Attributes/ApiParameter.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Attributes/ApiResponse.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Attributes/ApiSecurity.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Attributes/ApiTag.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/DocumentationController.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/DocumentationServiceProvider.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Examples/CommonExamples.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Extension.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Extensions/ApiKeyAuthExtension.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Extensions/RateLimitExtension.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Extensions/WorkspaceHeaderExtension.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Middleware/ProtectDocumentation.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/ModuleDiscovery.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/OpenApiBuilder.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Routes/docs.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Views/redoc.blade.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Views/scalar.blade.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/Views/swagger.blade.php delete mode 100644 packages/core-api/src/Mod/Api/Documentation/config.php delete mode 100644 packages/core-api/src/Mod/Api/Exceptions/RateLimitExceededException.php delete mode 100644 packages/core-api/src/Mod/Api/Guards/AccessTokenGuard.php delete mode 100644 packages/core-api/src/Mod/Api/Jobs/DeliverWebhookJob.php delete mode 100644 packages/core-api/src/Mod/Api/Middleware/AuthenticateApiKey.php delete mode 100644 packages/core-api/src/Mod/Api/Middleware/CheckApiScope.php delete mode 100644 packages/core-api/src/Mod/Api/Middleware/EnforceApiScope.php delete mode 100644 packages/core-api/src/Mod/Api/Middleware/PublicApiCors.php delete mode 100644 packages/core-api/src/Mod/Api/Middleware/RateLimitApi.php delete mode 100644 packages/core-api/src/Mod/Api/Middleware/TrackApiUsage.php delete mode 100644 packages/core-api/src/Mod/Api/Migrations/2026_01_07_002358_create_api_keys_table.php delete mode 100644 packages/core-api/src/Mod/Api/Migrations/2026_01_07_002400_create_webhook_endpoints_table.php delete mode 100644 packages/core-api/src/Mod/Api/Migrations/2026_01_07_002401_create_webhook_deliveries_table.php delete mode 100644 packages/core-api/src/Mod/Api/Migrations/2026_01_27_000000_add_secure_hashing_to_api_keys_table.php delete mode 100644 packages/core-api/src/Mod/Api/Models/ApiKey.php delete mode 100644 packages/core-api/src/Mod/Api/Models/ApiUsage.php delete mode 100644 packages/core-api/src/Mod/Api/Models/ApiUsageDaily.php delete mode 100644 packages/core-api/src/Mod/Api/Models/WebhookDelivery.php delete mode 100644 packages/core-api/src/Mod/Api/Models/WebhookEndpoint.php delete mode 100644 packages/core-api/src/Mod/Api/Notifications/HighApiUsageNotification.php delete mode 100644 packages/core-api/src/Mod/Api/RateLimit/RateLimit.php delete mode 100644 packages/core-api/src/Mod/Api/RateLimit/RateLimitResult.php delete mode 100644 packages/core-api/src/Mod/Api/RateLimit/RateLimitService.php delete mode 100644 packages/core-api/src/Mod/Api/Resources/ApiKeyResource.php delete mode 100644 packages/core-api/src/Mod/Api/Resources/ErrorResource.php delete mode 100644 packages/core-api/src/Mod/Api/Resources/PaginatedCollection.php delete mode 100644 packages/core-api/src/Mod/Api/Resources/WebhookEndpointResource.php delete mode 100644 packages/core-api/src/Mod/Api/Resources/WorkspaceResource.php delete mode 100644 packages/core-api/src/Mod/Api/Routes/api.php delete mode 100644 packages/core-api/src/Mod/Api/Services/ApiKeyService.php delete mode 100644 packages/core-api/src/Mod/Api/Services/ApiSnippetService.php delete mode 100644 packages/core-api/src/Mod/Api/Services/ApiUsageService.php delete mode 100644 packages/core-api/src/Mod/Api/Services/WebhookService.php delete mode 100644 packages/core-api/src/Mod/Api/Services/WebhookSignature.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyRotationTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/ApiKeySecurityTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/ApiScopeEnforcementTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/ApiUsageTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/OpenApiDocumentationTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/RateLimitTest.php delete mode 100644 packages/core-api/src/Mod/Api/Tests/Feature/WebhookDeliveryTest.php delete mode 100644 packages/core-api/src/Mod/Api/config.php delete mode 100644 packages/core-api/src/Website/Api/Boot.php delete mode 100644 packages/core-api/src/Website/Api/Controllers/DocsController.php delete mode 100644 packages/core-api/src/Website/Api/Routes/web.php delete mode 100644 packages/core-api/src/Website/Api/Services/OpenApiGenerator.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/docs.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/guides/authentication.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/guides/errors.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/guides/index.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/guides/qrcodes.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/guides/quickstart.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/guides/webhooks.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/index.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/layouts/docs.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/partials/endpoint.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/redoc.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/reference.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/scalar.blade.php delete mode 100644 packages/core-api/src/Website/Api/View/Blade/swagger.blade.php delete mode 100644 packages/core-mcp/README.md delete mode 100644 packages/core-mcp/TODO.md delete mode 100644 packages/core-mcp/changelog/2026/jan/features.md delete mode 100644 packages/core-mcp/changelog/2026/jan/security.md delete mode 100644 packages/core-mcp/composer.json delete mode 100644 packages/core-mcp/src/Mod/Mcp/Boot.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Console/Commands/CleanupToolCallLogsCommand.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Console/Commands/McpAgentServerCommand.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Console/Commands/McpMonitorCommand.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Console/Commands/PruneMetricsCommand.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Console/Commands/VerifyAuditLogCommand.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Context/WorkspaceContext.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Controllers/McpApiController.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/DTO/ToolStats.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Database/Seeders/SensitiveToolSeeder.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Dependencies/DependencyType.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Dependencies/HasDependencies.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Dependencies/ToolDependency.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Events/ToolExecuted.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Exceptions/CircuitOpenException.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Exceptions/ForbiddenQueryException.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Exceptions/MissingDependencyException.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Exceptions/MissingWorkspaceContextException.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Lang/en_GB/mcp.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Listeners/RecordToolExecution.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Middleware/CheckMcpQuota.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Middleware/McpApiKeyAuth.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Middleware/McpAuthenticate.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Middleware/ValidateToolDependencies.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Middleware/ValidateWorkspaceContext.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_07_004936_create_mcp_api_requests_table.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000001_create_mcp_tool_metrics_table.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000002_create_mcp_usage_quotas_table.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000003_create_mcp_audit_logs_table.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000004_create_mcp_tool_versions_table.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpApiRequest.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpAuditLog.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpSensitiveTool.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpToolCall.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpToolCallStat.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpToolVersion.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/McpUsageQuota.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Models/ToolMetric.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Resources/AppConfig.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Resources/ContentResource.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Resources/DatabaseSchema.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Routes/admin.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/AgentSessionService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/AgentToolRegistry.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/AuditLogService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/CircuitBreaker.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/DataRedactor.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/McpHealthService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/McpMetricsService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/McpQuotaService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/McpWebhookDispatcher.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/OpenApiGenerator.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/SqlQueryValidator.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/ToolAnalyticsService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/ToolDependencyService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/ToolRateLimiter.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/ToolRegistry.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Services/ToolVersionService.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tests/Unit/McpQuotaServiceTest.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolDependencyServiceTest.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolVersionServiceTest.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tests/Unit/ValidateWorkspaceContextMiddlewareTest.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tests/Unit/WorkspaceContextSecurityTest.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tests/UseCase/ApiKeyManagerBasic.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/Commerce/CreateCoupon.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/Commerce/GetBillingStatus.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/Commerce/ListInvoices.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/Commerce/UpgradePlan.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/Concerns/RequiresWorkspaceContext.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/Concerns/ValidatesDependencies.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/ContentTools.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/GetStats.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/ListRoutes.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/ListSites.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/ListTables.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/Tools/QueryDatabase.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/dashboard.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/stats-card.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/tool-table.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/tool-detail.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/api-key-manager.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/audit-log-viewer.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/mcp-playground.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/playground.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/quota-usage.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/request-log.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Blade/admin/tool-version-manager.blade.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ApiKeyManager.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/AuditLogViewer.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/McpPlayground.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/Playground.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/QuotaUsage.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/RequestLog.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDashboard.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDetail.php delete mode 100644 packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolVersionManager.php delete mode 100644 packages/core-mcp/src/Website/Mcp/Boot.php delete mode 100644 packages/core-mcp/src/Website/Mcp/Controllers/McpRegistryController.php delete mode 100644 packages/core-mcp/src/Website/Mcp/Routes/web.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/analytics.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/api-explorer.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/api-key-manager.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/connect.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/dashboard.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/index.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/keys.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/landing.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-metrics.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-playground.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/playground.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/request-log.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/show.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Blade/web/unified-search.blade.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/ApiExplorer.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/ApiKeyManager.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/Dashboard.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/McpMetrics.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/McpPlayground.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/Playground.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/RequestLog.php delete mode 100644 packages/core-mcp/src/Website/Mcp/View/Modal/UnifiedSearch.php delete mode 100644 packages/core-mcp/tests/Feature/SqlQueryValidatorTest.php delete mode 100644 packages/core-php/README.md delete mode 100644 packages/core-php/TODO.md delete mode 100644 packages/core-php/composer.json delete mode 100644 packages/core-php/config/core.php delete mode 100644 packages/core-php/phpunit.xml delete mode 100644 packages/core-php/src/Mod/Tenant/Boot.php delete mode 100644 packages/core-php/src/Mod/Tenant/Concerns/BelongsToNamespace.php delete mode 100644 packages/core-php/src/Mod/Tenant/Concerns/BelongsToWorkspace.php delete mode 100644 packages/core-php/src/Mod/Tenant/Concerns/HasWorkspaceCache.php delete mode 100644 packages/core-php/src/Mod/Tenant/Concerns/TwoFactorAuthenticatable.php delete mode 100644 packages/core-php/src/Mod/Tenant/Console/Commands/CheckUsageAlerts.php delete mode 100644 packages/core-php/src/Mod/Tenant/Console/Commands/ProcessAccountDeletions.php delete mode 100644 packages/core-php/src/Mod/Tenant/Console/Commands/RefreshUserStats.php delete mode 100644 packages/core-php/src/Mod/Tenant/Console/Commands/ResetBillingCycles.php delete mode 100644 packages/core-php/src/Mod/Tenant/Contracts/EntitlementWebhookEvent.php delete mode 100644 packages/core-php/src/Mod/Tenant/Contracts/TwoFactorAuthenticationProvider.php delete mode 100644 packages/core-php/src/Mod/Tenant/Controllers/Api/EntitlementWebhookController.php delete mode 100644 packages/core-php/src/Mod/Tenant/Controllers/EntitlementApiController.php delete mode 100644 packages/core-php/src/Mod/Tenant/Controllers/ReferralController.php delete mode 100644 packages/core-php/src/Mod/Tenant/Controllers/WorkspaceController.php delete mode 100644 packages/core-php/src/Mod/Tenant/Controllers/WorkspaceInvitationController.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Factories/UserFactory.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Factories/UserTokenFactory.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Factories/WaitlistEntryFactory.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceFactory.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceInvitationFactory.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Seeders/DemoTestUserSeeder.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Seeders/DemoWorkspaceSeeder.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Seeders/FeatureSeeder.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Seeders/SystemWorkspaceSeeder.php delete mode 100644 packages/core-php/src/Mod/Tenant/Database/Seeders/WorkspaceSeeder.php delete mode 100644 packages/core-php/src/Mod/Tenant/Enums/UserTier.php delete mode 100644 packages/core-php/src/Mod/Tenant/Enums/WebhookDeliveryStatus.php delete mode 100644 packages/core-php/src/Mod/Tenant/Events/Webhook/BoostActivatedEvent.php delete mode 100644 packages/core-php/src/Mod/Tenant/Events/Webhook/BoostExpiredEvent.php delete mode 100644 packages/core-php/src/Mod/Tenant/Events/Webhook/LimitReachedEvent.php delete mode 100644 packages/core-php/src/Mod/Tenant/Events/Webhook/LimitWarningEvent.php delete mode 100644 packages/core-php/src/Mod/Tenant/Events/Webhook/PackageChangedEvent.php delete mode 100644 packages/core-php/src/Mod/Tenant/Exceptions/EntitlementException.php delete mode 100644 packages/core-php/src/Mod/Tenant/Exceptions/MissingWorkspaceContextException.php delete mode 100644 packages/core-php/src/Mod/Tenant/Features/ApolloTier.php delete mode 100644 packages/core-php/src/Mod/Tenant/Features/BetaFeatures.php delete mode 100644 packages/core-php/src/Mod/Tenant/Features/HadesTier.php delete mode 100644 packages/core-php/src/Mod/Tenant/Features/UnlimitedWorkspaces.php delete mode 100644 packages/core-php/src/Mod/Tenant/Jobs/ComputeUserStats.php delete mode 100644 packages/core-php/src/Mod/Tenant/Jobs/DispatchEntitlementWebhook.php delete mode 100644 packages/core-php/src/Mod/Tenant/Jobs/ProcessAccountDeletion.php delete mode 100644 packages/core-php/src/Mod/Tenant/Lang/en_GB/tenant.php delete mode 100644 packages/core-php/src/Mod/Tenant/Listeners/SendWelcomeEmail.php delete mode 100644 packages/core-php/src/Mod/Tenant/Mail/AccountDeletionRequested.php delete mode 100644 packages/core-php/src/Mod/Tenant/Middleware/CheckWorkspacePermission.php delete mode 100644 packages/core-php/src/Mod/Tenant/Middleware/RequireAdminDomain.php delete mode 100644 packages/core-php/src/Mod/Tenant/Middleware/RequireWorkspaceContext.php delete mode 100644 packages/core-php/src/Mod/Tenant/Middleware/ResolveNamespace.php delete mode 100644 packages/core-php/src/Mod/Tenant/Middleware/ResolveWorkspaceFromSubdomain.php delete mode 100644 packages/core-php/src/Mod/Tenant/Migrations/0001_01_01_000000_create_tenant_tables.php delete mode 100644 packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_000000_create_workspace_invitations_table.php delete mode 100644 packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_120000_create_usage_alert_history_table.php delete mode 100644 packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_entitlement_webhooks_tables.php delete mode 100644 packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_workspace_teams_table.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/AccountDeletionRequest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/AgentReferralBonus.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/Boost.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/EntitlementLog.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/EntitlementWebhook.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/EntitlementWebhookDelivery.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/Feature.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/NamespacePackage.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/Namespace_.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/Package.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/UsageAlertHistory.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/UsageRecord.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/User.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/UserToken.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/UserTwoFactorAuth.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/WaitlistEntry.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/Workspace.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/WorkspaceInvitation.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/WorkspaceMember.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/WorkspacePackage.php delete mode 100644 packages/core-php/src/Mod/Tenant/Models/WorkspaceTeam.php delete mode 100644 packages/core-php/src/Mod/Tenant/Notifications/BoostExpiredNotification.php delete mode 100644 packages/core-php/src/Mod/Tenant/Notifications/UsageAlertNotification.php delete mode 100644 packages/core-php/src/Mod/Tenant/Notifications/WaitlistInviteNotification.php delete mode 100644 packages/core-php/src/Mod/Tenant/Notifications/WelcomeNotification.php delete mode 100644 packages/core-php/src/Mod/Tenant/Notifications/WorkspaceInvitationNotification.php delete mode 100644 packages/core-php/src/Mod/Tenant/Routes/api.php delete mode 100644 packages/core-php/src/Mod/Tenant/Routes/web.php delete mode 100644 packages/core-php/src/Mod/Tenant/Rules/CheckUserPasswordRule.php delete mode 100644 packages/core-php/src/Mod/Tenant/Rules/ResourceStatusRule.php delete mode 100644 packages/core-php/src/Mod/Tenant/Scopes/WorkspaceScope.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/EntitlementResult.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/EntitlementService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/EntitlementWebhookService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/NamespaceManager.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/NamespaceService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/TotpService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/UsageAlertService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/UserStatsService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/WorkspaceCacheManager.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/WorkspaceManager.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/WorkspaceService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Services/WorkspaceTeamService.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/AccountDeletionTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/AuthenticationTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementApiTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementServiceTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/Guards/AccessTokenGuardTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/ProfileTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/ResetBillingCyclesTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/SettingsTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/TwoFactorAuthenticatableTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/UsageAlertServiceTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/WaitlistTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceCacheTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceInvitationTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceSecurityTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceTenancyTest.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/admin/entitlement-webhook-manager.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-details.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-manager.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/emails/account-deletion-requested.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/emails/usage-alert.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/web/account/cancel-deletion.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/web/account/confirm-deletion.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Blade/web/workspace/home.blade.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Modal/Admin/EntitlementWebhookManager.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceDetails.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceManager.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Modal/Web/CancelDeletion.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Modal/Web/ConfirmDeletion.php delete mode 100644 packages/core-php/src/Mod/Tenant/View/Modal/Web/WorkspaceHome.php delete mode 100644 packages/core-php/tests/TestCase.php delete mode 100644 public/index.php delete mode 100644 public/vendor/fontawesome/css/all.css delete mode 100644 public/vendor/fontawesome/css/all.min.css delete mode 100644 public/vendor/fontawesome/css/brands.css delete mode 100644 public/vendor/fontawesome/css/brands.min.css delete mode 100644 public/vendor/fontawesome/css/chisel-regular.css delete mode 100644 public/vendor/fontawesome/css/chisel-regular.min.css delete mode 100644 public/vendor/fontawesome/css/duotone-light.css delete mode 100644 public/vendor/fontawesome/css/duotone-light.min.css delete mode 100644 public/vendor/fontawesome/css/duotone-regular.css delete mode 100644 public/vendor/fontawesome/css/duotone-regular.min.css delete mode 100644 public/vendor/fontawesome/css/duotone-thin.css delete mode 100644 public/vendor/fontawesome/css/duotone-thin.min.css delete mode 100644 public/vendor/fontawesome/css/duotone.css delete mode 100644 public/vendor/fontawesome/css/duotone.min.css delete mode 100644 public/vendor/fontawesome/css/etch-solid.css delete mode 100644 public/vendor/fontawesome/css/etch-solid.min.css delete mode 100644 public/vendor/fontawesome/css/fontawesome.css delete mode 100644 public/vendor/fontawesome/css/fontawesome.min.css delete mode 100644 public/vendor/fontawesome/css/jelly-duo-regular.css delete mode 100644 public/vendor/fontawesome/css/jelly-duo-regular.min.css delete mode 100644 public/vendor/fontawesome/css/jelly-fill-regular.css delete mode 100644 public/vendor/fontawesome/css/jelly-fill-regular.min.css delete mode 100644 public/vendor/fontawesome/css/jelly-regular.css delete mode 100644 public/vendor/fontawesome/css/jelly-regular.min.css delete mode 100644 public/vendor/fontawesome/css/light.css delete mode 100644 public/vendor/fontawesome/css/light.min.css delete mode 100644 public/vendor/fontawesome/css/notdog-duo-solid.css delete mode 100644 public/vendor/fontawesome/css/notdog-duo-solid.min.css delete mode 100644 public/vendor/fontawesome/css/notdog-solid.css delete mode 100644 public/vendor/fontawesome/css/notdog-solid.min.css delete mode 100644 public/vendor/fontawesome/css/regular.css delete mode 100644 public/vendor/fontawesome/css/regular.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-light.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-light.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-regular.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-regular.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-solid.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-solid.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-thin.css delete mode 100644 public/vendor/fontawesome/css/sharp-duotone-thin.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-light.css delete mode 100644 public/vendor/fontawesome/css/sharp-light.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-regular.css delete mode 100644 public/vendor/fontawesome/css/sharp-regular.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-solid.css delete mode 100644 public/vendor/fontawesome/css/sharp-solid.min.css delete mode 100644 public/vendor/fontawesome/css/sharp-thin.css delete mode 100644 public/vendor/fontawesome/css/sharp-thin.min.css delete mode 100644 public/vendor/fontawesome/css/slab-press-regular.css delete mode 100644 public/vendor/fontawesome/css/slab-press-regular.min.css delete mode 100644 public/vendor/fontawesome/css/slab-regular.css delete mode 100644 public/vendor/fontawesome/css/slab-regular.min.css delete mode 100644 public/vendor/fontawesome/css/solid.css delete mode 100644 public/vendor/fontawesome/css/solid.min.css delete mode 100644 public/vendor/fontawesome/css/svg-with-js.css delete mode 100644 public/vendor/fontawesome/css/svg-with-js.min.css delete mode 100644 public/vendor/fontawesome/css/svg.css delete mode 100644 public/vendor/fontawesome/css/svg.min.css delete mode 100644 public/vendor/fontawesome/css/thin.css delete mode 100644 public/vendor/fontawesome/css/thin.min.css delete mode 100644 public/vendor/fontawesome/css/thumbprint-light.css delete mode 100644 public/vendor/fontawesome/css/thumbprint-light.min.css delete mode 100644 public/vendor/fontawesome/css/utility-duo-semibold.css delete mode 100644 public/vendor/fontawesome/css/utility-duo-semibold.min.css delete mode 100644 public/vendor/fontawesome/css/utility-fill-semibold.css delete mode 100644 public/vendor/fontawesome/css/utility-fill-semibold.min.css delete mode 100644 public/vendor/fontawesome/css/utility-semibold.css delete mode 100644 public/vendor/fontawesome/css/utility-semibold.min.css delete mode 100644 public/vendor/fontawesome/css/v4-font-face.css delete mode 100644 public/vendor/fontawesome/css/v4-font-face.min.css delete mode 100644 public/vendor/fontawesome/css/v4-shims.css delete mode 100644 public/vendor/fontawesome/css/v4-shims.min.css delete mode 100644 public/vendor/fontawesome/css/v5-font-face.css delete mode 100644 public/vendor/fontawesome/css/v5-font-face.min.css delete mode 100644 public/vendor/fontawesome/css/whiteboard-semibold.css delete mode 100644 public/vendor/fontawesome/css/whiteboard-semibold.min.css delete mode 100644 public/vendor/fontawesome/webfonts/fa-brands-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-chisel-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-duotone-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-duotone-light-300.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-duotone-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-duotone-thin-100.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-etch-solid-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-jelly-duo-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-jelly-fill-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-jelly-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-light-300.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-notdog-duo-solid-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-notdog-solid-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-duotone-light-300.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-duotone-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-duotone-solid-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-duotone-thin-100.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-light-300.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-solid-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-sharp-thin-100.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-slab-press-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-slab-regular-400.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-solid-900.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-thin-100.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-thumbprint-light-300.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-utility-duo-semibold-600.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-utility-fill-semibold-600.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-utility-semibold-600.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-v4compatibility.woff2 delete mode 100644 public/vendor/fontawesome/webfonts/fa-whiteboard-semibold-600.woff2 delete mode 100644 resources/css/admin.css delete mode 100644 resources/css/app.css delete mode 100644 resources/js/app.js delete mode 100644 resources/js/bootstrap.js delete mode 100644 resources/views/welcome.blade.php delete mode 100644 routes/api.php delete mode 100644 routes/console.php delete mode 100644 routes/web.php rename {packages/core-php/src => src}/Core/Actions/Action.php (100%) rename {packages/core-php/src => src}/Core/Actions/Actionable.php (100%) rename {packages/core-php/src => src}/Core/Activity/Boot.php (100%) rename {packages/core-php/src => src}/Core/Activity/Concerns/LogsActivity.php (100%) rename {packages/core-php/src => src}/Core/Activity/Console/ActivityPruneCommand.php (100%) rename {packages/core-php/src => src}/Core/Activity/Models/Activity.php (100%) rename {packages/core-php/src => src}/Core/Activity/Scopes/ActivityScopes.php (100%) rename {packages/core-php/src => src}/Core/Activity/Services/ActivityLogService.php (100%) rename {packages/core-php/src => src}/Core/Activity/View/Blade/admin/activity-feed.blade.php (100%) rename {packages/core-php/src => src}/Core/Activity/View/Modal/Admin/ActivityFeed.php (100%) rename {packages/core-php/src => src}/Core/Boot.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/BlocklistService.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/Boot.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/BouncerMiddleware.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/Database/Seeders/WebsiteRedirectSeeder.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/ActionGateMiddleware.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/ActionGateService.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Attributes/Action.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Boot.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Migrations/0001_01_01_000002_create_action_permission_tables.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Models/ActionPermission.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Models/ActionRequest.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/RouteActionMacro.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Tests/Feature/ActionGateTest.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Gate/Tests/Unit/ActionGateServiceTest.php (100%) rename {packages/core-php/src => src}/Core/Bouncer/Migrations/0001_01_01_000001_create_bouncer_tables.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/RedirectService.php (99%) rename {packages/core-php/src => src}/Core/Bouncer/Tests/Unit/BlocklistServiceTest.php (100%) rename {packages/core-php/src => src}/Core/Cdn/Boot.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Console/CdnPurge.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Console/OffloadMigrateCommand.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Console/PushAssetsToCdn.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Console/PushFluxToCdn.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Facades/Cdn.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Jobs/PushAssetToCdn.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Middleware/LocalCdnMiddleware.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Middleware/RewriteOffloadedUrls.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Models/StorageOffload.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/AssetPipeline.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/BunnyCdnService.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/BunnyStorageService.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/CdnUrlBuilder.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/FluxCdnService.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/StorageOffload.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Services/StorageUrlResolver.php (99%) rename {packages/core-php/src => src}/Core/Cdn/Traits/HasCdnUrls.php (99%) rename {packages/core-php/src => src}/Core/Cdn/config.php (99%) rename {packages/core-php/src => src}/Core/Cdn/offload.php (99%) rename {packages/core-php/src => src}/Core/Config/Boot.php (99%) rename {packages/core-php/src => src}/Core/Config/Config.php (99%) rename {packages/core-php/src => src}/Core/Config/ConfigExporter.php (98%) rename {packages/core-php/src => src}/Core/Config/ConfigResolver.php (99%) rename {packages/core-php/src => src}/Core/Config/ConfigResult.php (99%) rename {packages/core-php/src => src}/Core/Config/ConfigService.php (99%) rename {packages/core-php/src => src}/Core/Config/ConfigVersioning.php (97%) rename {packages/core-php/src => src}/Core/Config/Console/ConfigExportCommand.php (99%) rename {packages/core-php/src => src}/Core/Config/Console/ConfigImportCommand.php (99%) rename {packages/core-php/src => src}/Core/Config/Console/ConfigListCommand.php (99%) rename {packages/core-php/src => src}/Core/Config/Console/ConfigPrimeCommand.php (99%) rename {packages/core-php/src => src}/Core/Config/Console/ConfigVersionCommand.php (99%) rename {packages/core-php/src => src}/Core/Config/Contracts/ConfigProvider.php (96%) rename {packages/core-php/src => src}/Core/Config/Database/Seeders/ConfigKeySeeder.php (99%) rename {packages/core-php/src => src}/Core/Config/Enums/ConfigType.php (99%) rename {packages/core-php/src => src}/Core/Config/Enums/ScopeType.php (99%) rename {packages/core-php/src => src}/Core/Config/Events/ConfigChanged.php (99%) rename {packages/core-php/src => src}/Core/Config/Events/ConfigInvalidated.php (99%) rename {packages/core-php/src => src}/Core/Config/Events/ConfigLocked.php (99%) rename {packages/core-php/src => src}/Core/Config/ImportResult.php (99%) rename {packages/core-php/src => src}/Core/Config/Migrations/0001_01_01_000001_create_config_tables.php (99%) rename {packages/core-php/src => src}/Core/Config/Migrations/0001_01_01_000002_add_soft_deletes_to_config_profiles.php (99%) rename {packages/core-php/src => src}/Core/Config/Migrations/0001_01_01_000003_add_is_sensitive_to_config_keys.php (99%) rename {packages/core-php/src => src}/Core/Config/Migrations/0001_01_01_000004_create_config_versions_table.php (99%) rename {packages/core-php/src => src}/Core/Config/Models/Channel.php (99%) rename {packages/core-php/src => src}/Core/Config/Models/ConfigKey.php (99%) rename {packages/core-php/src => src}/Core/Config/Models/ConfigProfile.php (99%) rename {packages/core-php/src => src}/Core/Config/Models/ConfigResolved.php (99%) rename {packages/core-php/src => src}/Core/Config/Models/ConfigValue.php (99%) rename {packages/core-php/src => src}/Core/Config/Models/ConfigVersion.php (98%) rename {packages/core-php/src => src}/Core/Config/Routes/admin.php (99%) rename {packages/core-php/src => src}/Core/Config/Tests/Feature/ConfigServiceTest.php (99%) rename {packages/core-php/src => src}/Core/Config/VersionDiff.php (99%) rename {packages/core-php/src => src}/Core/Config/View/Blade/admin/config-panel.blade.php (100%) rename {packages/core-php/src => src}/Core/Config/View/Blade/admin/workspace-config.blade.php (100%) rename {packages/core-php/src => src}/Core/Config/View/Modal/Admin/ConfigPanel.php (99%) rename {packages/core-php/src => src}/Core/Config/View/Modal/Admin/WorkspaceConfig.php (99%) rename {packages/core-php/src => src}/Core/Console/Boot.php (99%) rename {packages/core-php/src => src}/Core/Console/Commands/InstallCommand.php (98%) rename {packages/core-php/src => src}/Core/Console/Commands/MakeModCommand.php (97%) rename {packages/core-php/src => src}/Core/Console/Commands/MakePlugCommand.php (99%) rename {packages/core-php/src => src}/Core/Console/Commands/MakeWebsiteCommand.php (97%) rename {packages/core-php/src => src}/Core/Console/Commands/NewProjectCommand.php (99%) rename {packages/core-php/src => src}/Core/Console/Commands/PruneEmailShieldStatsCommand.php (96%) rename {packages/core-php/src => src}/Core/Crypt/EncryptArrayObject.php (99%) rename {packages/core-php/src => src}/Core/Crypt/LthnHash.php (98%) rename {packages/core-php/src => src}/Core/Database/Seeders/Attributes/SeederAfter.php (100%) rename {packages/core-php/src => src}/Core/Database/Seeders/Attributes/SeederBefore.php (100%) rename {packages/core-php/src => src}/Core/Database/Seeders/Attributes/SeederPriority.php (100%) rename {packages/core-php/src => src}/Core/Database/Seeders/CoreDatabaseSeeder.php (100%) rename {packages/core-php/src => src}/Core/Database/Seeders/Exceptions/CircularDependencyException.php (100%) rename {packages/core-php/src => src}/Core/Database/Seeders/SeederDiscovery.php (100%) rename {packages/core-php/src => src}/Core/Database/Seeders/SeederRegistry.php (100%) rename {packages/core-php/src => src}/Core/Events/AdminPanelBooting.php (98%) rename {packages/core-php/src => src}/Core/Events/ApiRoutesRegistering.php (98%) rename {packages/core-php/src => src}/Core/Events/ClientRoutesRegistering.php (98%) rename {packages/core-php/src => src}/Core/Events/Concerns/HasEventVersion.php (98%) rename {packages/core-php/src => src}/Core/Events/ConsoleBooting.php (97%) rename {packages/core-php/src => src}/Core/Events/DomainResolving.php (94%) rename {packages/core-php/src => src}/Core/Events/EventAuditLog.php (99%) rename {packages/core-php/src => src}/Core/Events/FrameworkBooted.php (98%) rename {packages/core-php/src => src}/Core/Events/LifecycleEvent.php (99%) rename {packages/core-php/src => src}/Core/Events/ListenerProfiler.php (93%) rename {packages/core-php/src => src}/Core/Events/MailSending.php (98%) rename {packages/core-php/src => src}/Core/Events/McpToolsRegistering.php (98%) rename {packages/core-php/src => src}/Core/Events/MediaRequested.php (98%) rename {packages/core-php/src => src}/Core/Events/QueueWorkerBooting.php (98%) rename {packages/core-php/src => src}/Core/Events/SearchRequested.php (98%) rename {packages/core-php/src => src}/Core/Events/WebRoutesRegistering.php (98%) rename {packages/core-php/src => src}/Core/Front/Admin/AdminMenuRegistry.php (97%) rename {packages/core-php/src => src}/Core/Front/Admin/AdminTagCompiler.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/action-link.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/activity-feed.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/activity-log.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/alert.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/card-grid.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/clear-filters.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/data-table.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/editable-table.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/empty-state.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/entitlement-gate.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/filter-bar.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/filter.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/flash.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/header.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/link-grid.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/manager-table.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/metric-card.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/metrics.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/module.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/nav-group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/nav-item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/nav-link.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/nav-menu.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/nav-panel.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/page-header.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/panel.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/progress-list.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/search.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/service-card.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/service-cards.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/sidebar.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/sidemenu.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/stat-card.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/stats.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/status-cards.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/tabs.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/tabs/panel.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/components/workspace-card.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Blade/layouts/app.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Admin/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/Concerns/HasMenuPermissions.php (97%) rename {packages/core-php/src => src}/Core/Front/Admin/Contracts/AdminMenuProvider.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/Contracts/DynamicMenuProvider.php (97%) rename {packages/core-php/src => src}/Core/Front/Admin/Support/MenuItemBuilder.php (98%) rename {packages/core-php/src => src}/Core/Front/Admin/Support/MenuItemGroup.php (97%) rename {packages/core-php/src => src}/Core/Front/Admin/TabContext.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/Validation/IconValidator.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/ActivityFeed.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/ActivityLog.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/Alert.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/CardGrid.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/ClearFilters.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/DataTable.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/EditableTable.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/Filter.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/FilterBar.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/LinkGrid.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/ManagerTable.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/Metrics.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/ProgressList.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/Search.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/ServiceCard.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/Sidemenu.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/Stats.php (99%) rename {packages/core-php/src => src}/Core/Front/Admin/View/Components/StatusCards.php (99%) rename {packages/core-php/src => src}/Core/Front/Api/ApiVersionService.php (100%) rename {packages/core-php/src => src}/Core/Front/Api/Boot.php (100%) rename {packages/core-php/src => src}/Core/Front/Api/Middleware/ApiSunset.php (100%) rename {packages/core-php/src => src}/Core/Front/Api/Middleware/ApiVersion.php (100%) rename {packages/core-php/src => src}/Core/Front/Api/README.md (100%) rename {packages/core-php/src => src}/Core/Front/Api/VersionedRoutes.php (100%) rename {packages/core-php/src => src}/Core/Front/Api/config.php (100%) rename {packages/core-php/src => src}/Core/Front/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/COMPONENT_PATTERN.md (100%) rename {packages/core-php/src => src}/Core/Front/Cli/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Client/Blade/dashboard.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Client/Blade/layouts/app.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Client/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Client/README.md (100%) rename {packages/core-php/src => src}/Core/Front/Client/Routes/client.php (99%) rename {packages/core-php/src => src}/Core/Front/Client/View/Dashboard.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Button.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Card.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Component.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/CoreTagCompiler.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Heading.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Layout.php (77%) rename {packages/core-php/src => src}/Core/Front/Components/NavList.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/Text.php (99%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/accordion.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/accordion/content.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/accordion/heading.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/accordion/item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/autocomplete.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/autocomplete/item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/avatar.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/badge.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/button.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/button/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/calendar.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/callout.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/callout/heading.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/callout/text.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/card.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/area.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/axis.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/axis/grid.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/axis/line.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/axis/mark.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/axis/tick.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/cursor.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/legend.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/line.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/point.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/summary.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/svg.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/tooltip.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/tooltip/heading.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/tooltip/value.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/chart/viewport.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/checkbox.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/checkbox/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/command.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/command/empty.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/command/input.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/command/item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/command/items.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/components/satellite/footer-custom.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/components/satellite/layout.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/composer.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/context.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/date-picker.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/date-picker/button.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/date-picker/input.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/description.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/dropdown.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/editor.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/editor/button.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/editor/content.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/editor/toolbar.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/error.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/errors/404.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/errors/500.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/errors/503.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/examples/blog-post.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/examples/checkout.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/examples/guide.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/examples/help-centre.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/examples/hlcrf-test.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/field.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/file-item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/file-item/remove.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/file-upload.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/file-upload/dropzone.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/forms/button.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/forms/checkbox.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/forms/input.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/forms/select.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/forms/textarea.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/forms/toggle.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/heading.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/check-circle.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/check.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/clipboard.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/clock.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/code-bracket-square.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/code-bracket.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/document-text.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/key.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/lock-closed.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/x-circle.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/icon/x-mark.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/input.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/input/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/input/group/prefix.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/kanban.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/kanban/card.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/kanban/column.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/kanban/column/cards.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/kanban/column/footer.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/kanban/column/header.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/label.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layout.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layout/content.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layout/footer.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layout/header.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layout/left.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layout/right.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/app.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/content.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/focused.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/mcp.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/minimal.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/partials/base.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/partials/fonts-inline.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/partials/fonts.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/partials/footer.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/partials/header.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/sidebar-left.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/sidebar-right.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/layouts/workspace.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/main.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu/checkbox.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu/item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu/radio.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu/separator.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/menu/submenu.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/modal.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/navbar.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/navbar/item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/navlist.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/navlist/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/navlist/item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/navmenu.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox/create.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox/empty.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox/input.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox/option.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox/search.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/pillbox/trigger.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/popover.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/radio.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/radio/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/select.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/select/option.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/separator.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/slider.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/slider/tick.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/subheading.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/switch.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/tab.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/tab/group.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/tab/panel.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/table.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/table/cell.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/table/column.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/table/columns.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/table/row.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/table/rows.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/tabs.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/text.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/textarea.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/time-picker.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/tooltip.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/web/home.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/web/page.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Components/View/Blade/web/waitlist.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Controller.php (99%) rename {packages/core-php/src => src}/Core/Front/HLCRF.md (100%) rename {packages/core-php/src => src}/Core/Front/Mcp/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Mcp/Contracts/McpToolHandler.php (99%) rename {packages/core-php/src => src}/Core/Front/Mcp/McpContext.php (99%) rename {packages/core-php/src => src}/Core/Front/Services/DeviceDetectionService.php (99%) rename {packages/core-php/src => src}/Core/Front/Stdio/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Tests/Unit/DeviceDetectionServiceTest.php (99%) rename {packages/core-php/src => src}/Core/Front/Web/Blade/components/nav-item.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Web/Blade/components/page.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Web/Blade/layouts/app.blade.php (100%) rename {packages/core-php/src => src}/Core/Front/Web/Boot.php (99%) rename {packages/core-php/src => src}/Core/Front/Web/Middleware/FindDomainRecord.php (98%) rename {packages/core-php/src => src}/Core/Front/Web/Middleware/RedirectIfAuthenticated.php (99%) rename {packages/core-php/src => src}/Core/Front/Web/Middleware/ResilientSession.php (99%) rename {packages/core-php/src => src}/Core/Front/Web/WebTagCompiler.php (99%) rename {packages/core-php/src => src}/Core/Headers/Boot.php (99%) rename {packages/core-php/src => src}/Core/Headers/CspNonceService.php (98%) rename {packages/core-php/src => src}/Core/Headers/DetectDevice.php (99%) rename {packages/core-php/src => src}/Core/Headers/DetectLocation.php (99%) rename {packages/core-php/src => src}/Core/Headers/Livewire/HeaderConfigurationManager.php (90%) rename {packages/core-php/src => src}/Core/Headers/SecurityHeaders.php (99%) rename {packages/core-php/src => src}/Core/Headers/Testing/HeaderAssertions.php (99%) rename {packages/core-php/src => src}/Core/Headers/Testing/SecurityHeaderTester.php (99%) rename {packages/core-php/src => src}/Core/Headers/Views/livewire/header-configuration-manager.blade.php (100%) rename {packages/core-php/src => src}/Core/Headers/config.php (99%) rename {packages/core-php/src => src}/Core/Headers/helpers.php (99%) rename {packages/core-php/src => src}/Core/Helpers/Boot.php (99%) rename {packages/core-php/src => src}/Core/Helpers/Cdn.php (99%) rename {packages/core-php/src => src}/Core/Helpers/CommandResult.php (99%) rename {packages/core-php/src => src}/Core/Helpers/File.php (99%) rename {packages/core-php/src => src}/Core/Helpers/HadesEncrypt.php (99%) rename {packages/core-php/src => src}/Core/Helpers/HorizonStatus.php (99%) rename {packages/core-php/src => src}/Core/Helpers/Log.php (99%) rename {packages/core-php/src => src}/Core/Helpers/LoginRateLimiter.php (99%) rename {packages/core-php/src => src}/Core/Helpers/PrivacyHelper.php (99%) rename {packages/core-php/src => src}/Core/Helpers/RateLimit.php (99%) rename {packages/core-php/src => src}/Core/Helpers/RecoveryCode.php (99%) rename {packages/core-php/src => src}/Core/Helpers/Rules/HexRule.php (99%) rename {packages/core-php/src => src}/Core/Helpers/ServiceCollection.php (99%) rename {packages/core-php/src => src}/Core/Helpers/SystemLogs.php (99%) rename {packages/core-php/src => src}/Core/Helpers/TimezoneList.php (99%) rename {packages/core-php/src => src}/Core/Helpers/UtmHelper.php (99%) rename {packages/core-php/src => src}/Core/Init.php (99%) rename {packages/core-php/src => src}/Core/Input/Input.php (92%) rename {packages/core-php/src => src}/Core/Input/Sanitiser.php (86%) rename {packages/core-php/src => src}/Core/Input/Tests/Unit/InputFilteringTest.php (99%) rename {packages/core-php/src => src}/Core/Lang/Boot.php (99%) rename {packages/core-php/src => src}/Core/Lang/Console/Commands/TranslationCoverageCommand.php (97%) rename {packages/core-php/src => src}/Core/Lang/Console/Commands/TranslationMemoryCommand.php (99%) rename {packages/core-php/src => src}/Core/Lang/Coverage/TranslationCoverage.php (98%) rename {packages/core-php/src => src}/Core/Lang/Coverage/TranslationCoverageReport.php (99%) rename {packages/core-php/src => src}/Core/Lang/IcuMessageFormatter.php (99%) rename {packages/core-php/src => src}/Core/Lang/LangServiceProvider.php (99%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/Contracts/TranslationMemoryRepository.php (75%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/FuzzyMatcher.php (93%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/JsonTranslationMemoryRepository.php (99%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/TmxExporter.php (91%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/TmxImporter.php (95%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/TranslationMemory.php (79%) rename {packages/core-php/src => src}/Core/Lang/TranslationMemory/TranslationMemoryEntry.php (88%) rename {packages/core-php/src => src}/Core/Lang/en_GB/core.php (99%) rename {packages/core-php/src => src}/Core/LazyModuleListener.php (98%) rename {packages/core-php/src => src}/Core/LifecycleEventProvider.php (99%) rename {packages/core-php/src => src}/Core/Mail/Boot.php (99%) rename {packages/core-php/src => src}/Core/Mail/EmailShield.php (99%) rename {packages/core-php/src => src}/Core/Mail/EmailShieldStat.php (99%) rename {packages/core-php/src => src}/Core/Mail/EmailValidationResult.php (99%) rename {packages/core-php/src => src}/Core/Mail/Rules/ValidatedEmail.php (99%) rename {packages/core-php/src => src}/Core/Media/Abstracts/Image.php (99%) rename {packages/core-php/src => src}/Core/Media/Abstracts/MediaConversion.php (99%) rename {packages/core-php/src => src}/Core/Media/Boot.php (100%) rename {packages/core-php/src => src}/Core/Media/Conversions/MediaImageResizerConversion.php (99%) rename {packages/core-php/src => src}/Core/Media/Conversions/MediaVideoThumbConversion.php (99%) rename {packages/core-php/src => src}/Core/Media/Events/ConversionProgress.php (95%) rename {packages/core-php/src => src}/Core/Media/Image/ExifStripper.php (99%) rename {packages/core-php/src => src}/Core/Media/Image/ImageOptimization.php (99%) rename {packages/core-php/src => src}/Core/Media/Image/ImageOptimizer.php (99%) rename {packages/core-php/src => src}/Core/Media/Image/ModernFormatSupport.php (99%) rename {packages/core-php/src => src}/Core/Media/Image/OptimizationResult.php (99%) rename {packages/core-php/src => src}/Core/Media/Jobs/GenerateThumbnail.php (100%) rename {packages/core-php/src => src}/Core/Media/Jobs/ProcessMediaConversion.php (98%) rename {packages/core-php/src => src}/Core/Media/Routes/web.php (100%) rename {packages/core-php/src => src}/Core/Media/Support/ConversionProgressReporter.php (96%) rename {packages/core-php/src => src}/Core/Media/Support/ImageResizer.php (99%) rename {packages/core-php/src => src}/Core/Media/Support/MediaConversionData.php (99%) rename {packages/core-php/src => src}/Core/Media/Support/TemporaryDirectory.php (99%) rename {packages/core-php/src => src}/Core/Media/Support/TemporaryFile.php (98%) rename {packages/core-php/src => src}/Core/Media/Thumbnail/LazyThumbnail.php (100%) rename {packages/core-php/src => src}/Core/Media/Thumbnail/ThumbnailController.php (100%) rename {packages/core-php/src => src}/Core/Media/Thumbnail/helpers.php (100%) rename {packages/core-php/src => src}/Core/Media/config.php (99%) rename {packages/core-php/src => src}/Core/ModuleRegistry.php (99%) rename {packages/core-php/src => src}/Core/ModuleScanner.php (97%) rename {packages/core-php/src => src}/Core/Pro.php (99%) rename {packages/core-php/src => src}/Core/README.md (100%) rename {packages/core-php/src => src}/Core/RELEASE-BLOCKERS.md (96%) rename {packages/core-php/src => src}/Core/Search/Analytics/SearchAnalytics.php (99%) rename {packages/core-php/src => src}/Core/Search/Analytics/migrations/2024_01_01_000001_create_search_analytics_tables.php (99%) rename {packages/core-php/src => src}/Core/Search/Boot.php (99%) rename {packages/core-php/src => src}/Core/Search/Suggestions/SearchSuggestions.php (99%) rename {packages/core-php/src => src}/Core/Search/Support/SearchHighlighter.php (96%) rename {packages/core-php/src => src}/Core/Search/Unified.php (99%) rename {packages/core-php/src => src}/Core/Search/config.php (99%) rename {packages/core-php/src => src}/Core/Seo/Analytics/SeoScoreTrend.php (98%) rename {packages/core-php/src => src}/Core/Seo/Boot.php (99%) rename {packages/core-php/src => src}/Core/Seo/Console/Commands/AuditCanonicalUrls.php (99%) rename {packages/core-php/src => src}/Core/Seo/Console/Commands/GenerateServiceOgImages.php (99%) rename {packages/core-php/src => src}/Core/Seo/Console/Commands/RecordSeoScores.php (99%) rename {packages/core-php/src => src}/Core/Seo/Console/Commands/TestStructuredData.php (99%) rename {packages/core-php/src => src}/Core/Seo/Controllers/OgImageController.php (99%) rename {packages/core-php/src => src}/Core/Seo/Controllers/SitemapController.php (99%) rename {packages/core-php/src => src}/Core/Seo/HasSeoMetadata.php (99%) rename {packages/core-php/src => src}/Core/Seo/Jobs/GenerateOgImageJob.php (99%) rename {packages/core-php/src => src}/Core/Seo/Models/SeoScoreHistory.php (98%) rename {packages/core-php/src => src}/Core/Seo/Schema.php (99%) rename {packages/core-php/src => src}/Core/Seo/SeoMetadata.php (97%) rename {packages/core-php/src => src}/Core/Seo/Services/SchemaBuilderService.php (99%) rename {packages/core-php/src => src}/Core/Seo/Services/ServiceOgImageService.php (99%) rename {packages/core-php/src => src}/Core/Seo/Validation/CanonicalUrlValidator.php (99%) rename {packages/core-php/src => src}/Core/Seo/Validation/OgImageValidator.php (99%) rename {packages/core-php/src => src}/Core/Seo/Validation/SchemaValidator.php (99%) rename {packages/core-php/src => src}/Core/Seo/Validation/StructuredDataTester.php (99%) rename {packages/core-php/src => src}/Core/Service/Concerns/HasServiceVersion.php (99%) rename {packages/core-php/src => src}/Core/Service/Contracts/HealthCheckable.php (98%) rename {packages/core-php/src => src}/Core/Service/Contracts/ServiceDefinition.php (98%) rename {packages/core-php/src => src}/Core/Service/Contracts/ServiceDependency.php (99%) rename {packages/core-php/src => src}/Core/Service/Enums/ServiceStatus.php (99%) rename {packages/core-php/src => src}/Core/Service/HealthCheckResult.php (99%) rename {packages/core-php/src => src}/Core/Service/ServiceDependencyException.php (98%) rename {packages/core-php/src => src}/Core/Service/ServiceDiscovery.php (98%) rename {packages/core-php/src => src}/Core/Service/ServiceVersion.php (99%) rename {packages/core-php/src => src}/Core/Service/Tests/Unit/HealthCheckResultTest.php (99%) rename {packages/core-php/src => src}/Core/Service/Tests/Unit/ServiceStatusTest.php (99%) rename {packages/core-php/src => src}/Core/Service/Tests/Unit/ServiceVersionTest.php (99%) rename {packages/core-php/src => src}/Core/Storage/CacheResilienceProvider.php (98%) rename {packages/core-php/src => src}/Core/Storage/CacheWarmer.php (99%) rename {packages/core-php/src => src}/Core/Storage/CircuitBreaker.php (99%) rename {packages/core-php/src => src}/Core/Storage/Commands/WarmCacheCommand.php (98%) rename {packages/core-php/src => src}/Core/Storage/Events/RedisFallbackActivated.php (99%) rename {packages/core-php/src => src}/Core/Storage/ResilientRedisStore.php (99%) rename {packages/core-php/src => src}/Core/Storage/StorageMetrics.php (98%) rename {packages/core-php/src => src}/Core/Storage/TierConfiguration.php (99%) rename {packages/core-php/src => src}/Core/Storage/TieredCacheStore.php (95%) rename {packages/core-php/src => src}/Core/TODO.md (100%) rename {packages/core-php/src => src}/Core/Tests/Feature/AdminComponentsTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/AdminRouteSmokeTest.php (96%) rename {packages/core-php/src => src}/Core/Tests/Feature/BladeViewCompilationTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/CdnIntegrationTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/Config/ChannelTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/Config/ConfigValueTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/CoreComponentsTest.php (94%) rename {packages/core-php/src => src}/Core/Tests/Feature/DatabaseMigrationTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/EmailShieldTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/ErrorPagesTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/ImageOptimizerTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/MailConfigurationTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/ModuleScannerIntegrationTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/OffloadMigrateCommandTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/PerformanceBaselineTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/ResilientSessionTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/RewriteOffloadedUrlsTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/SecurityFixesTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/SecurityHeadersTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/StorageOffloadTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Feature/ValidationRulesTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/ApiVersionTest.php (100%) rename {packages/core-php/src => src}/Core/Tests/Unit/ComponentBuildersTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/Crypt/EncryptArrayObjectTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/HadesEncryptTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/LazyModuleListenerTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/LthnHashTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/ModuleScannerTest.php (100%) rename {packages/core-php/src => src}/Core/Tests/Unit/PrivacyHelperTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/Services/BunnyCdnServiceTest.php (99%) rename {packages/core-php/src => src}/Core/Tests/Unit/UtmHelperTest.php (99%) rename {packages/core-php/src => src}/Core/config.php (100%) rename {packages/core-php/src => src}/Core/views.md (100%) rename {packages/core-php/src => src}/Mod/Boot.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Boot.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Console/AddTreeReserve.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Console/DonateTreesToTFTF.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Console/ProcessQueuedTrees.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Controllers/Api/TreeStatsController.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Database/Seeders/TreeSeeder.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Jobs/PlantTreeWithTFTF.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Lang/en_GB/trees.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Listeners/PlantTreeForAgentReferral.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Middleware/IncludeAgentContext.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Models/TreeDonation.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Models/TreePlanting.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Models/TreePlantingStats.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Models/TreeReserve.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Notifications/LowTreeReserveNotification.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Routes/api.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Routes/web.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/DailyLimitAndBonusTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/QueueProcessingTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/ReferralRouteTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/SignupReferralTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/StatsApiTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/SubscriberMonthlyCommandTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/TreePlantingTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Feature/TreesPageTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/Tests/Unit/AgentDetectionTest.php (100%) rename {packages/core-php/src => src}/Mod/Trees/View/Blade/web/index.blade.php (100%) rename {packages/core-php/src => src}/Mod/Trees/View/Modal/Web/Index.php (100%) rename {packages/core-php/src => src}/Plug/Boot.php (100%) rename {packages/core-php/src => src}/Plug/Concern/BuildsResponse.php (100%) rename {packages/core-php/src => src}/Plug/Concern/ManagesTokens.php (100%) rename {packages/core-php/src => src}/Plug/Concern/UsesHttp.php (100%) rename {packages/core-php/src => src}/Plug/Enum/Status.php (100%) rename {packages/core-php/src => src}/Plug/Registry.php (100%) rename {packages/core-php/src => src}/Plug/Response.php (100%) rename {packages/core-php/src => src}/Website/Boot.php (100%) rename {packages/core-php/src => src}/Website/DomainResolver.php (100%) rename {packages/core-php/src => src}/Website/README.md (100%) rename {packages/core-php/src => src}/Website/Service/Boot.php (100%) rename {packages/core-php/src => src}/Website/Service/Routes/web.php (100%) rename {packages/core-php/src => src}/Website/Service/View/Blade/components/footer.blade.php (100%) rename {packages/core-php/src => src}/Website/Service/View/Blade/components/header.blade.php (100%) rename {packages/core-php/src => src}/Website/Service/View/Blade/features.blade.php (100%) rename {packages/core-php/src => src}/Website/Service/View/Blade/landing.blade.php (100%) rename {packages/core-php/src => src}/Website/Service/View/Blade/layouts/service.blade.php (100%) rename {packages/core-php/src => src}/Website/Service/View/Features.php (99%) rename {packages/core-php/src => src}/Website/Service/View/Landing.php (100%) rename {packages/core-php/stubs => stubs}/Mod/Example/Boot.php.stub (100%) rename {packages/core-php/stubs => stubs}/Mod/Example/Routes/admin.php.stub (100%) rename {packages/core-php/stubs => stubs}/Mod/Example/Routes/api.php.stub (100%) rename {packages/core-php/stubs => stubs}/Mod/Example/Routes/web.php.stub (100%) rename {packages/core-php/stubs => stubs}/Mod/Example/config.php.stub (100%) rename {packages/core-php/stubs => stubs}/Plug/Example/Boot.php.stub (100%) rename {packages/core-php/stubs => stubs}/Website/Example/Boot.php.stub (100%) rename {packages/core-php/tests => tests}/Feature/ActivityLogServiceTest.php (100%) rename {packages/core-php/tests => tests}/Feature/AdminMenuRegistryTest.php (98%) rename {packages/core-php/tests => tests}/Feature/EventAuditLogTest.php (100%) rename {packages/core-php/tests => tests}/Feature/InputTest.php (100%) rename {packages/core-php/tests => tests}/Feature/LazyModuleListenerTest.php (100%) rename {packages/core-php/tests => tests}/Feature/LifecycleEventProviderTest.php (100%) rename {packages/core-php/tests => tests}/Feature/LifecycleEventsTest.php (100%) rename {packages/core-php/tests => tests}/Feature/LogsActivityTraitTest.php (100%) rename {packages/core-php/tests => tests}/Feature/ModuleRegistryTest.php (100%) rename {packages/core-php/tests => tests}/Feature/ModuleScannerTest.php (99%) rename {packages/core-php/tests => tests}/Feature/ProTest.php (100%) rename {packages/core-php/tests => tests}/Feature/SanitiserTest.php (98%) rename {packages/core-php/tests => tests}/Feature/SeederDiscoveryTest.php (100%) rename {packages/core-php/tests => tests}/Feature/SeederRegistryTest.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Core/TestCore/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Custom/TestCustom/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mcp/TestHandler.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Alpha/Database/Seeders/AlphaSeeder.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Beta/Database/Seeders/BetaSeeder.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Circular/Database/Seeders/CircularASeeder.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Circular/Database/Seeders/CircularBSeeder.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Example/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Gamma/Database/Seeders/DeltaSeeder.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/Gamma/Database/Seeders/GammaSeeder.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/HighPriority/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/NoListens/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/NonArrayListens/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/NonStaticListens/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/PrivateListens/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Mod/ServiceProviderModule/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Plug/TestPlugin/Boot.php (100%) rename {packages/core-php/tests => tests}/Fixtures/Website/TestSite/Boot.php (100%) delete mode 100644 vite.config.js diff --git a/.env.example b/.env.example deleted file mode 100644 index c0660ea..0000000 --- a/.env.example +++ /dev/null @@ -1,65 +0,0 @@ -APP_NAME=Laravel -APP_ENV=local -APP_KEY= -APP_DEBUG=true -APP_URL=http://localhost - -APP_LOCALE=en -APP_FALLBACK_LOCALE=en -APP_FAKER_LOCALE=en_US - -APP_MAINTENANCE_DRIVER=file -# APP_MAINTENANCE_STORE=database - -# PHP_CLI_SERVER_WORKERS=4 - -BCRYPT_ROUNDS=12 - -LOG_CHANNEL=stack -LOG_STACK=single -LOG_DEPRECATIONS_CHANNEL=null -LOG_LEVEL=debug - -DB_CONNECTION=sqlite -# DB_HOST=127.0.0.1 -# DB_PORT=3306 -# DB_DATABASE=laravel -# DB_USERNAME=root -# DB_PASSWORD= - -SESSION_DRIVER=database -SESSION_LIFETIME=120 -SESSION_ENCRYPT=false -SESSION_PATH=/ -SESSION_DOMAIN=null - -BROADCAST_CONNECTION=log -FILESYSTEM_DISK=local -QUEUE_CONNECTION=database - -CACHE_STORE=database -# CACHE_PREFIX= - -MEMCACHED_HOST=127.0.0.1 - -REDIS_CLIENT=phpredis -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -MAIL_MAILER=log -MAIL_SCHEME=null -MAIL_HOST=127.0.0.1 -MAIL_PORT=2525 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_FROM_ADDRESS="hello@example.com" -MAIL_FROM_NAME="${APP_NAME}" - -AWS_ACCESS_KEY_ID= -AWS_SECRET_ACCESS_KEY= -AWS_DEFAULT_REGION=us-east-1 -AWS_BUCKET= -AWS_USE_PATH_STYLE_ENDPOINT=false - -VITE_APP_NAME="${APP_NAME}" diff --git a/README.md b/README.md index f24f872..862040c 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,13 @@ A modular monolith framework for Laravel with event-driven architecture, lazy mo ## Documentation -📚 **[Read the full documentation →](https://host-uk.github.io/core-php/)** +📚 **[Read the full documentation →](https://core.help/)** -- [Getting Started](https://host-uk.github.io/core-php/guide/getting-started) -- [Installation Guide](https://host-uk.github.io/core-php/guide/installation) -- [Architecture Overview](https://host-uk.github.io/core-php/architecture/lifecycle-events) -- [API Reference](https://host-uk.github.io/core-php/packages/api) -- [Security Guide](https://host-uk.github.io/core-php/security/overview) +- [Getting Started](https://core.help/guide/getting-started) +- [Installation Guide](https://core.help/guide/installation) +- [Architecture Overview](https://core.help/architecture/lifecycle-events) +- [API Reference](https://core.help/packages/api) +- [Security Guide](https://core.help/security/overview) ## Features diff --git a/TODO.md b/TODO.md index b1602a1..81ffb47 100644 --- a/TODO.md +++ b/TODO.md @@ -8,7 +8,8 @@ No pending tasks. For completed features and implementation details, see each package's changelog: -- `packages/core-php/changelog/` -- `packages/core-admin/changelog/` -- `packages/core-api/changelog/` -- `packages/core-mcp/changelog/` +- `changelog/` (this repo) +- [core-admin changelog](https://github.com/host-uk/core-admin) +- [core-api changelog](https://github.com/host-uk/core-api) +- [core-mcp changelog](https://github.com/host-uk/core-mcp) +- [core-tenant changelog](https://github.com/host-uk/core-tenant) diff --git a/app/Website/Demo/Boot.php b/app/Website/Demo/Boot.php deleted file mode 100644 index 78fe142..0000000 --- a/app/Website/Demo/Boot.php +++ /dev/null @@ -1,96 +0,0 @@ - - */ - public static array $domains = [ - '/^core\.(test|localhost)$/', - ]; - - /** - * Events this module listens to for lazy loading. - * - * @var array - */ - public static array $listens = [ - DomainResolving::class => 'onDomainResolving', - WebRoutesRegistering::class => 'onWebRoutes', - ]; - - /** - * Handle domain resolution - register if we match. - */ - public function onDomainResolving(DomainResolving $event): void - { - foreach (static::$domains as $pattern) { - if ($event->matches($pattern)) { - $event->register(static::class); - - return; - } - } - } - - public function register(): void - { - // - } - - /** - * Get domains for this website. - * - * @return array - */ - protected function domains(): array - { - return app(DomainResolver::class)->domainsFor(self::class); - } - - /** - * Register public web routes. - */ - public function onWebRoutes(WebRoutesRegistering $event): void - { - $event->views('demo', __DIR__.'/View/Blade'); - - // Register routes for all configured domains - $domains = $this->domains(); - - if (empty($domains)) { - // No domain mapping - register globally (for demo/dev) - $event->routes(fn () => Route::middleware('web') - ->group(__DIR__.'/Routes/web.php')); - } else { - foreach ($domains as $domain) { - $event->routes(fn () => Route::middleware('web') - ->domain($domain) - ->group(__DIR__.'/Routes/web.php')); - } - } - - // Livewire components - names must match Livewire's auto-discovery from namespace - $event->livewire('website.demo.view.modal.landing', View\Modal\Landing::class); - $event->livewire('website.demo.view.modal.login', View\Modal\Login::class); - $event->livewire('website.demo.view.modal.install', View\Modal\Install::class); - } -} diff --git a/app/Website/Demo/Middleware/EnsureInstalled.php b/app/Website/Demo/Middleware/EnsureInstalled.php deleted file mode 100644 index 05710de..0000000 --- a/app/Website/Demo/Middleware/EnsureInstalled.php +++ /dev/null @@ -1,70 +0,0 @@ -shouldSkip($request)) { - return $next($request); - } - - // Check if app needs installation - if ($this->needsInstallation()) { - return redirect()->route('install'); - } - - return $next($request); - } - - protected function shouldSkip(Request $request): bool - { - foreach ($this->except as $pattern) { - if ($request->is($pattern)) { - return true; - } - } - - return false; - } - - protected function needsInstallation(): bool - { - try { - // Check if users table exists and has at least one user - if (! Schema::hasTable('users')) { - return true; - } - - // Check if any users exist - return \DB::table('users')->count() === 0; - } catch (\Exception $e) { - // Database connection failed - needs installation - return true; - } - } -} diff --git a/app/Website/Demo/Routes/web.php b/app/Website/Demo/Routes/web.php deleted file mode 100644 index 3dd128b..0000000 --- a/app/Website/Demo/Routes/web.php +++ /dev/null @@ -1,38 +0,0 @@ -name('install'); - -// Routes that require installation -Route::middleware(EnsureInstalled::class)->group(function () { - Route::get('/', Landing::class)->name('home'); - - // Authentication routes - Route::get('/login', Login::class) - ->middleware('guest') - ->name('login'); - - Route::match(['get', 'post'], '/logout', function () { - Auth::logout(); - - request()->session()->invalidate(); - request()->session()->regenerateToken(); - - return redirect('/'); - })->middleware('auth')->name('logout'); -}); diff --git a/app/Website/Demo/View/Blade/layouts/app.blade.php b/app/Website/Demo/View/Blade/layouts/app.blade.php deleted file mode 100644 index c583a41..0000000 --- a/app/Website/Demo/View/Blade/layouts/app.blade.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - {{ $title ?? config('app.name', 'Core PHP') }} - - @vite(['resources/css/app.css', 'resources/js/app.js']) - @fluxAppearance - @livewireStyles - - - -
-
-
-
- -
- {{ $slot }} -
- - @fluxScripts - @livewireScripts - - diff --git a/app/Website/Demo/View/Blade/web/install.blade.php b/app/Website/Demo/View/Blade/web/install.blade.php deleted file mode 100644 index 04500e6..0000000 --- a/app/Website/Demo/View/Blade/web/install.blade.php +++ /dev/null @@ -1,246 +0,0 @@ -
-
- {{-- Header --}} -
-

Install {{ config('app.name', 'Core PHP') }}

-

Let's get your application set up

-
- - {{-- Progress Steps --}} -
- @foreach ([1 => 'Requirements', 2 => 'Admin User', 3 => 'Complete'] as $num => $label) -
-
-
$step >= $num, - 'bg-zinc-700 text-zinc-400' => $step < $num, - ])> - @if ($step > $num) - - - - @else - {{ $num }} - @endif -
- {{ $label }} -
- @if ($num < 3) -
$step > $num, - 'bg-zinc-700' => $step <= $num, - ])>
- @endif -
- @endforeach -
- - {{-- Error/Success Messages --}} - @if ($error) -
- {{ $error }} -
- @endif - - @if ($success) -
- {{ $success }} -
- @endif - - {{-- Step 1: Requirements --}} - @if ($step === 1) -
-

System Requirements

- -
- @foreach ($checks as $key => $check) -
-
- @if ($check['passed']) -
- - - -
- @else -
- - - -
- @endif -
-
{{ $check['label'] }}
-
{{ $check['description'] }}
-
-
- - {{ $check['value'] }} - -
- @endforeach -
- - @if (!$checks['migrations']['passed']) - - @endif - -
- -
-
- @endif - - {{-- Step 2: Create Admin User --}} - @if ($step === 2) -
-

Create Admin Account

- -
- - - @error('name') -

{{ $message }}

- @enderror -
- -
- - - @error('email') -

{{ $message }}

- @enderror -
- -
- - - @error('password') -

{{ $message }}

- @enderror -
- -
- - -
- - - -
- - -
-
- @endif - - {{-- Step 3: Complete --}} - @if ($step === 3) -
-
- - - -
- -

Installation Complete!

-

- {{ config('app.name', 'Core PHP') }} is ready to use. -

- -
-

Your credentials:

-
-
- Email: - {{ $email }} -
- @if ($createDemo) -
- Demo account: -
-
- Email: - demo@example.com -
-
- Password: - password -
- @endif -
-
- - -
- @endif -
-
diff --git a/app/Website/Demo/View/Blade/web/landing.blade.php b/app/Website/Demo/View/Blade/web/landing.blade.php deleted file mode 100644 index 3316731..0000000 --- a/app/Website/Demo/View/Blade/web/landing.blade.php +++ /dev/null @@ -1,56 +0,0 @@ -
- {{-- Hero Section --}} -
-

- {{ config('app.name', 'Core PHP') }} -

-

- A modular monolith framework for Laravel. - Build SaaS applications with event-driven architecture. -

- -
- - {{-- Features Grid --}} -
-
-
- - - -
-

Modular Architecture

-

Event-driven modules that load lazily. Only what you need, when you need it.

-
- -
-
- - - -
-

Multi-Website

-

Domain-scoped website modules. Each site isolated, all in one codebase.

-
- -
-
- - - -
-

Flux UI Ready

-

Built for Livewire 4 and Flux UI. Modern, composable components.

-
-
-
diff --git a/app/Website/Demo/View/Blade/web/login.blade.php b/app/Website/Demo/View/Blade/web/login.blade.php deleted file mode 100644 index a681b78..0000000 --- a/app/Website/Demo/View/Blade/web/login.blade.php +++ /dev/null @@ -1,43 +0,0 @@ -
-
- {{-- Header --}} -
- Sign in to {{ config('app.name', 'Core PHP') }} - Enter your credentials to continue -
- - {{-- Login Form --}} -
- {{-- Email --}} - - - {{-- Password --}} - - - {{-- Remember Me --}} - - - {{-- Submit --}} - - Sign in - - - - {{-- Back to home --}} - - ← Back to home - -
-
diff --git a/app/Website/Demo/View/Modal/Install.php b/app/Website/Demo/View/Modal/Install.php deleted file mode 100644 index db56011..0000000 --- a/app/Website/Demo/View/Modal/Install.php +++ /dev/null @@ -1,216 +0,0 @@ -runChecks(); - - // If already installed, redirect - if ($this->isInstalled()) { - $this->redirect('/', navigate: true); - } - } - - public function runChecks(): void - { - $this->checks = [ - 'php' => [ - 'label' => 'PHP Version', - 'description' => 'PHP 8.2 or higher required', - 'passed' => version_compare(PHP_VERSION, '8.2.0', '>='), - 'value' => PHP_VERSION, - ], - 'database' => [ - 'label' => 'Database Connection', - 'description' => 'MySQL/MariaDB/SQLite connection', - 'passed' => $this->checkDatabase(), - 'value' => $this->getDatabaseInfo(), - ], - 'migrations' => [ - 'label' => 'Database Tables', - 'description' => 'Core tables created', - 'passed' => $this->checkMigrations(), - 'value' => $this->checkMigrations() ? 'Ready' : 'Pending', - ], - 'storage' => [ - 'label' => 'Storage Writable', - 'description' => 'storage/ directory is writable', - 'passed' => is_writable(storage_path()), - 'value' => is_writable(storage_path()) ? 'Writable' : 'Not writable', - ], - 'cache' => [ - 'label' => 'Cache Writable', - 'description' => 'bootstrap/cache/ is writable', - 'passed' => is_writable(base_path('bootstrap/cache')), - 'value' => is_writable(base_path('bootstrap/cache')) ? 'Writable' : 'Not writable', - ], - ]; - } - - protected function checkDatabase(): bool - { - try { - DB::connection()->getPdo(); - - return true; - } catch (\Exception $e) { - return false; - } - } - - protected function getDatabaseInfo(): string - { - try { - $driver = config('database.default'); - $database = config("database.connections.{$driver}.database"); - - return ucfirst($driver).': '.$database; - } catch (\Exception $e) { - return 'Not configured'; - } - } - - protected function checkMigrations(): bool - { - try { - return Schema::hasTable('users'); - } catch (\Exception $e) { - return false; - } - } - - protected function isInstalled(): bool - { - try { - return Schema::hasTable('users') && DB::table('users')->count() > 0; - } catch (\Exception $e) { - return false; - } - } - - public function runMigrations(): void - { - $this->error = null; - - try { - Artisan::call('migrate', ['--force' => true]); - $this->runChecks(); - $this->success = 'Migrations completed successfully!'; - } catch (\Exception $e) { - $this->error = 'Migration failed: '.$e->getMessage(); - } - } - - public function nextStep(): void - { - $this->error = null; - $this->success = null; - - if ($this->step === 1) { - // Validate all checks pass - $allPassed = collect($this->checks)->every(fn ($check) => $check['passed']); - - if (! $allPassed) { - $this->error = 'Please resolve all requirements before continuing.'; - - return; - } - } - - $this->step++; - } - - public function previousStep(): void - { - $this->error = null; - $this->success = null; - $this->step = max(1, $this->step - 1); - } - - public function createUser(): void - { - $this->error = null; - - $this->validate([ - 'name' => ['required', 'string', 'max:255'], - 'email' => ['required', 'email', 'max:255'], - 'password' => ['required', 'string', 'min:8', 'confirmed'], - ]); - - try { - // Create admin user - $user = User::create([ - 'name' => $this->name, - 'email' => $this->email, - 'password' => Hash::make($this->password), - 'email_verified_at' => now(), - ]); - - // Create demo user if requested - if ($this->createDemo) { - User::create([ - 'name' => 'Demo User', - 'email' => 'demo@example.com', - 'password' => Hash::make('password'), - 'email_verified_at' => now(), - ]); - } - - // Log in as the new admin - Auth::login($user); - - $this->step = 3; - } catch (\Exception $e) { - $this->error = 'Failed to create user: '.$e->getMessage(); - } - } - - public function finish(): void - { - $this->redirect('/hub', navigate: true); - } - - #[Layout('demo::layouts.app', ['title' => 'Install'])] - public function render() - { - return view('demo::web.install'); - } -} diff --git a/app/Website/Demo/View/Modal/Landing.php b/app/Website/Demo/View/Modal/Landing.php deleted file mode 100644 index bfef088..0000000 --- a/app/Website/Demo/View/Modal/Landing.php +++ /dev/null @@ -1,23 +0,0 @@ -layout('demo::layouts.app', [ - 'title' => config('app.name', 'Core PHP'), - ]); - } -} diff --git a/app/Website/Demo/View/Modal/Login.php b/app/Website/Demo/View/Modal/Login.php deleted file mode 100644 index 48df4c0..0000000 --- a/app/Website/Demo/View/Modal/Login.php +++ /dev/null @@ -1,66 +0,0 @@ -validate([ - 'email' => ['required', 'email'], - 'password' => ['required', 'string'], - ]); - - $limiter = app(LoginRateLimiter::class); - - if ($limiter->tooManyAttempts(request())) { - throw ValidationException::withMessages([ - 'email' => __('auth.throttle', [ - 'seconds' => $limiter->availableIn(request()), - ]), - ]); - } - - if (! Auth::attempt(['email' => $this->email, 'password' => $this->password], $this->remember)) { - $limiter->increment(request()); - - throw ValidationException::withMessages([ - 'email' => __('auth.failed'), - ]); - } - - $limiter->clear(request()); - - session()->regenerate(); - - $this->redirect('/hub', navigate: true); - } - - #[Layout('demo::layouts.app', ['title' => 'Sign In'])] - public function render() - { - return view('demo::web.login'); - } -} diff --git a/artisan b/artisan deleted file mode 100755 index a4f0ee0..0000000 --- a/artisan +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env php -handleCommand(new ArgvInput); - -exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php deleted file mode 100644 index d654276..0000000 --- a/bootstrap/app.php +++ /dev/null @@ -1,19 +0,0 @@ -withRouting( - web: __DIR__.'/../routes/web.php', - api: __DIR__.'/../routes/api.php', - commands: __DIR__.'/../routes/console.php', - health: '/up', - ) - ->withMiddleware(function (Middleware $middleware) { - // - }) - ->withExceptions(function (Exceptions $exceptions) { - // - })->create(); diff --git a/bootstrap/cache/.gitkeep b/bootstrap/cache/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/packages/core-php/changelog/2026/jan/code-review.md b/changelog/2026/jan/code-review.md similarity index 100% rename from packages/core-php/changelog/2026/jan/code-review.md rename to changelog/2026/jan/code-review.md diff --git a/packages/core-php/changelog/2026/jan/features.md b/changelog/2026/jan/features.md similarity index 100% rename from packages/core-php/changelog/2026/jan/features.md rename to changelog/2026/jan/features.md diff --git a/composer.json b/composer.json index 97dcaed..490c764 100644 --- a/composer.json +++ b/composer.json @@ -1,108 +1,62 @@ { - "name": "host-uk/core-app", - "type": "project", - "description": "Core PHP Framework - Demo Application", - "keywords": ["laravel", "modular", "monolith", "framework"], + "name": "host-uk/core", + "description": "Modular monolith framework for Laravel - event-driven architecture with lazy module loading", + "keywords": ["laravel", "modular", "monolith", "framework", "events", "modules"], "license": "EUPL-1.2", + "authors": [ + { + "name": "Host UK", + "email": "support@host.uk.com" + } + ], "require": { "php": "^8.2", - "host-uk/core": "@dev", - "host-uk/core-admin": "@dev", - "host-uk/core-api": "@dev", - "host-uk/core-mcp": "@dev", - "laravel/framework": "^12.0", - "laravel/pennant": "^1.18", - "laravel/tinker": "^2.10.1", - "livewire/flux": "^2.0", - "livewire/flux-pro": "^2.10", - "livewire/livewire": "^3.0" + "laravel/framework": "^11.0|^12.0", + "laravel/pennant": "^1.0", + "livewire/livewire": "^3.0|^4.0" }, "require-dev": { "fakerphp/faker": "^1.23", - "laravel/pail": "^1.2.2", "laravel/pint": "^1.18", - "laravel/sail": "^1.41", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.6", - "orchestra/testbench": "*", - "phpunit/phpunit": "^11.5.3", + "orchestra/testbench": "^9.0|^10.0", + "phpunit/phpunit": "^11.5", "spatie/laravel-activitylog": "^4.8" }, + "suggest": { + "spatie/laravel-activitylog": "Required for activity logging features (^4.0)" + }, "autoload": { "psr-4": { - "App\\": "app/", - "Website\\": "app/Website/", - "Database\\Factories\\": "database/factories/", - "Database\\Seeders\\": "database/seeders/" - } + "Core\\": "src/Core/", + "Core\\Website\\": "src/Website/", + "Core\\Mod\\": "src/Mod/", + "Core\\Plug\\": "src/Plug/" + }, + "files": [ + "src/Core/Media/Thumbnail/helpers.php" + ] }, "autoload-dev": { "psr-4": { - "Tests\\": "tests/", - "Core\\Tests\\": "packages/core-php/tests/", - "Core\\Mod\\Mcp\\Tests\\": "packages/core-mcp/tests/", - "Core\\Mod\\Tenant\\Tests\\": "packages/core-php/src/Mod/Tenant/Tests/", - "Mod\\": "packages/core-php/tests/Fixtures/Mod/", - "Plug\\": "packages/core-php/tests/Fixtures/Plug/", - "Website\\": "packages/core-php/tests/Fixtures/Website/" + "Core\\Tests\\": "tests/", + "Mod\\": "tests/Fixtures/Mod/", + "Plug\\": "tests/Fixtures/Plug/", + "Website\\": "tests/Fixtures/Website/" } }, - "repositories": [ - { - "name": "flux-pro", - "type": "composer", - "url": "https://composer.fluxui.dev" - }, - { - "type": "path", - "url": "packages/core-php", - "options": { - "symlink": true - } - }, - { - "type": "path", - "url": "packages/core-admin", - "options": { - "symlink": true - } - }, - { - "type": "path", - "url": "packages/core-api", - "options": { - "symlink": true - } - }, - { - "type": "path", - "url": "packages/core-mcp", - "options": { - "symlink": true - } - } - ], "scripts": { - "post-autoload-dump": [ - "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", - "@php artisan package:discover --ansi" - ], - "post-update-cmd": [ - "@php artisan vendor:publish --tag=laravel-assets --ansi --force" - ], - "post-root-package-install": [ - "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" - ], - "post-create-project-cmd": [ - "@php artisan key:generate --ansi", - "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"", - "@php artisan migrate --graceful --ansi" - ], - "test": "vendor/bin/phpunit" + "test": "vendor/bin/phpunit", + "pint": "vendor/bin/pint" }, "extra": { "laravel": { - "dont-discover": [] + "providers": [ + "Core\\LifecycleEventProvider", + "Core\\Lang\\LangServiceProvider", + "Core\\Bouncer\\Gate\\Boot" + ] } }, "config": { diff --git a/config/app.php b/config/app.php deleted file mode 100644 index e13ef11..0000000 --- a/config/app.php +++ /dev/null @@ -1,126 +0,0 @@ - env('APP_NAME', 'Laravel'), - - /* - |-------------------------------------------------------------------------- - | Application Environment - |-------------------------------------------------------------------------- - | - | This value determines the "environment" your application is currently - | running in. This may determine how you prefer to configure various - | services the application utilizes. Set this in your ".env" file. - | - */ - - 'env' => env('APP_ENV', 'production'), - - /* - |-------------------------------------------------------------------------- - | Application Debug Mode - |-------------------------------------------------------------------------- - | - | When your application is in debug mode, detailed error messages with - | stack traces will be shown on every error that occurs within your - | application. If disabled, a simple generic error page is shown. - | - */ - - 'debug' => (bool) env('APP_DEBUG', false), - - /* - |-------------------------------------------------------------------------- - | Application URL - |-------------------------------------------------------------------------- - | - | This URL is used by the console to properly generate URLs when using - | the Artisan command line tool. You should set this to the root of - | the application so that it's available within Artisan commands. - | - */ - - 'url' => env('APP_URL', 'http://localhost'), - - /* - |-------------------------------------------------------------------------- - | Application Timezone - |-------------------------------------------------------------------------- - | - | Here you may specify the default timezone for your application, which - | will be used by the PHP date and date-time functions. The timezone - | is set to "UTC" by default as it is suitable for most use cases. - | - */ - - 'timezone' => 'UTC', - - /* - |-------------------------------------------------------------------------- - | Application Locale Configuration - |-------------------------------------------------------------------------- - | - | The application locale determines the default locale that will be used - | by Laravel's translation / localization methods. This option can be - | set to any locale for which you plan to have translation strings. - | - */ - - 'locale' => env('APP_LOCALE', 'en_GB'), - - 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en_GB'), - - 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), - - /* - |-------------------------------------------------------------------------- - | Encryption Key - |-------------------------------------------------------------------------- - | - | This key is utilized by Laravel's encryption services and should be set - | to a random, 32 character string to ensure that all encrypted values - | are secure. You should do this prior to deploying the application. - | - */ - - 'cipher' => 'AES-256-CBC', - - 'key' => env('APP_KEY'), - - 'previous_keys' => [ - ...array_filter( - explode(',', (string) env('APP_PREVIOUS_KEYS', '')) - ), - ], - - /* - |-------------------------------------------------------------------------- - | Maintenance Mode Driver - |-------------------------------------------------------------------------- - | - | These configuration options determine the driver used to determine and - | manage Laravel's "maintenance mode" status. The "cache" driver will - | allow maintenance mode to be controlled across multiple machines. - | - | Supported drivers: "file", "cache" - | - */ - - 'maintenance' => [ - 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), - 'store' => env('APP_MAINTENANCE_STORE', 'database'), - ], - -]; diff --git a/config/auth.php b/config/auth.php deleted file mode 100644 index 7d466b8..0000000 --- a/config/auth.php +++ /dev/null @@ -1,115 +0,0 @@ - [ - 'guard' => env('AUTH_GUARD', 'web'), - 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), - ], - - /* - |-------------------------------------------------------------------------- - | Authentication Guards - |-------------------------------------------------------------------------- - | - | Next, you may define every authentication guard for your application. - | Of course, a great default configuration has been defined for you - | which utilizes session storage plus the Eloquent user provider. - | - | All authentication guards have a user provider, which defines how the - | users are actually retrieved out of your database or other storage - | system used by the application. Typically, Eloquent is utilized. - | - | Supported: "session" - | - */ - - 'guards' => [ - 'web' => [ - 'driver' => 'session', - 'provider' => 'users', - ], - ], - - /* - |-------------------------------------------------------------------------- - | User Providers - |-------------------------------------------------------------------------- - | - | All authentication guards have a user provider, which defines how the - | users are actually retrieved out of your database or other storage - | system used by the application. Typically, Eloquent is utilized. - | - | If you have multiple user tables or models you may configure multiple - | providers to represent the model / table. These providers may then - | be assigned to any extra authentication guards you have defined. - | - | Supported: "database", "eloquent" - | - */ - - 'providers' => [ - 'users' => [ - 'driver' => 'eloquent', - 'model' => env('AUTH_MODEL', Core\Mod\Tenant\Models\User::class), - ], - - // 'users' => [ - // 'driver' => 'database', - // 'table' => 'users', - // ], - ], - - /* - |-------------------------------------------------------------------------- - | Resetting Passwords - |-------------------------------------------------------------------------- - | - | These configuration options specify the behavior of Laravel's password - | reset functionality, including the table utilized for token storage - | and the user provider that is invoked to actually retrieve users. - | - | The expiry time is the number of minutes that each reset token will be - | considered valid. This security feature keeps tokens short-lived so - | they have less time to be guessed. You may change this as needed. - | - | The throttle setting is the number of seconds a user must wait before - | generating more password reset tokens. This prevents the user from - | quickly generating a very large amount of password reset tokens. - | - */ - - 'passwords' => [ - 'users' => [ - 'provider' => 'users', - 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), - 'expire' => 60, - 'throttle' => 60, - ], - ], - - /* - |-------------------------------------------------------------------------- - | Password Confirmation Timeout - |-------------------------------------------------------------------------- - | - | Here you may define the number of seconds before a password confirmation - | window expires and users are asked to re-enter their password via the - | confirmation screen. By default, the timeout lasts for three hours. - | - */ - - 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), - -]; diff --git a/config/cache.php b/config/cache.php deleted file mode 100644 index b32aead..0000000 --- a/config/cache.php +++ /dev/null @@ -1,117 +0,0 @@ - env('CACHE_STORE', 'database'), - - /* - |-------------------------------------------------------------------------- - | Cache Stores - |-------------------------------------------------------------------------- - | - | Here you may define all of the cache "stores" for your application as - | well as their drivers. You may even define multiple stores for the - | same cache driver to group types of items stored in your caches. - | - | Supported drivers: "array", "database", "file", "memcached", - | "redis", "dynamodb", "octane", - | "failover", "null" - | - */ - - 'stores' => [ - - 'array' => [ - 'driver' => 'array', - 'serialize' => false, - ], - - 'database' => [ - 'driver' => 'database', - 'connection' => env('DB_CACHE_CONNECTION'), - 'table' => env('DB_CACHE_TABLE', 'cache'), - 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'), - 'lock_table' => env('DB_CACHE_LOCK_TABLE'), - ], - - 'file' => [ - 'driver' => 'file', - 'path' => storage_path('framework/cache/data'), - 'lock_path' => storage_path('framework/cache/data'), - ], - - 'memcached' => [ - 'driver' => 'memcached', - 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ - env('MEMCACHED_USERNAME'), - env('MEMCACHED_PASSWORD'), - ], - 'options' => [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, - ], - 'servers' => [ - [ - 'host' => env('MEMCACHED_HOST', '127.0.0.1'), - 'port' => env('MEMCACHED_PORT', 11211), - 'weight' => 100, - ], - ], - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'), - 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'), - ], - - 'dynamodb' => [ - 'driver' => 'dynamodb', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), - 'endpoint' => env('DYNAMODB_ENDPOINT'), - ], - - 'octane' => [ - 'driver' => 'octane', - ], - - 'failover' => [ - 'driver' => 'failover', - 'stores' => [ - 'database', - 'array', - ], - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Cache Key Prefix - |-------------------------------------------------------------------------- - | - | When utilizing the APC, database, memcached, Redis, and DynamoDB cache - | stores, there might be other applications using the same cache. For - | that reason, you may prefix every cache key to avoid collisions. - | - */ - - 'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'), - -]; diff --git a/config/core.php b/config/core.php index aa9141e..bf5f195 100644 --- a/config/core.php +++ b/config/core.php @@ -43,10 +43,8 @@ return [ */ 'module_paths' => [ - // Application modules (user-created) - app_path('Core'), - app_path('Mod'), - app_path('Website'), + // app_path('Core'), + // app_path('Mod'), ], /* @@ -96,4 +94,362 @@ return [ 'default_style' => 'solid', ], + /* + |-------------------------------------------------------------------------- + | Search Configuration + |-------------------------------------------------------------------------- + | + | Configure the unified search feature including searchable API endpoints. + | Add your application's API endpoints here to include them in search results. + | + */ + + 'search' => [ + 'api_endpoints' => [ + // Example endpoints - override in your application's config + // ['method' => 'GET', 'path' => '/api/v1/users', 'description' => 'List users'], + // ['method' => 'POST', 'path' => '/api/v1/users', 'description' => 'Create user'], + ], + ], + + /* + |-------------------------------------------------------------------------- + | Email Shield Configuration + |-------------------------------------------------------------------------- + | + | Configure the Email Shield validation and statistics module. + | Statistics track daily email validation counts for monitoring and + | analysis. Old records are automatically pruned based on retention period. + | + | Schedule the prune command in your app/Console/Kernel.php: + | $schedule->command('email-shield:prune')->daily(); + | + */ + + 'email_shield' => [ + // Number of days to retain email shield statistics records. + // Records older than this will be deleted by the prune command. + // Set to 0 to disable automatic pruning. + 'retention_days' => env('CORE_EMAIL_SHIELD_RETENTION_DAYS', 90), + ], + + /* + |-------------------------------------------------------------------------- + | Admin Menu Configuration + |-------------------------------------------------------------------------- + | + | Configure the admin menu caching behaviour. Menu items are cached per + | user/workspace combination to improve performance on repeated requests. + | + */ + + 'admin_menu' => [ + // Whether to enable caching for static menu items. + // Set to false during development for instant menu updates. + 'cache_enabled' => env('CORE_ADMIN_MENU_CACHE', true), + + // Cache TTL in seconds (default: 5 minutes). + // Lower values mean more frequent cache misses but fresher menus. + 'cache_ttl' => env('CORE_ADMIN_MENU_CACHE_TTL', 300), + ], + + /* + |-------------------------------------------------------------------------- + | Storage Resilience Configuration + |-------------------------------------------------------------------------- + | + | Configure how the application handles Redis failures. When Redis becomes + | unavailable, the system can either silently fall back to database storage + | or throw an exception. + | + */ + + 'storage' => [ + // Whether to silently fall back to database when Redis fails. + // Set to false to throw exceptions on Redis failure. + 'silent_fallback' => env('CORE_STORAGE_SILENT_FALLBACK', true), + + // Log level for fallback events: 'debug', 'info', 'notice', 'warning', 'error', 'critical' + 'fallback_log_level' => env('CORE_STORAGE_FALLBACK_LOG_LEVEL', 'warning'), + + // Whether to dispatch RedisFallbackActivated events for monitoring/alerting + 'dispatch_fallback_events' => env('CORE_STORAGE_DISPATCH_EVENTS', true), + + /* + |---------------------------------------------------------------------- + | Circuit Breaker Configuration + |---------------------------------------------------------------------- + | + | The circuit breaker prevents cascading failures when Redis becomes + | unavailable. When failures exceed the threshold, the circuit opens + | and requests go directly to the fallback, avoiding repeated + | connection attempts that slow down the application. + | + */ + + 'circuit_breaker' => [ + // Enable/disable the circuit breaker + 'enabled' => env('CORE_STORAGE_CIRCUIT_BREAKER_ENABLED', true), + + // Number of failures before opening the circuit + 'failure_threshold' => env('CORE_STORAGE_CIRCUIT_BREAKER_FAILURES', 5), + + // Seconds to wait before attempting recovery (half-open state) + 'recovery_timeout' => env('CORE_STORAGE_CIRCUIT_BREAKER_RECOVERY', 30), + + // Number of successful operations to close the circuit + 'success_threshold' => env('CORE_STORAGE_CIRCUIT_BREAKER_SUCCESSES', 2), + + // Cache driver for storing circuit breaker state (use non-Redis driver) + 'state_driver' => env('CORE_STORAGE_CIRCUIT_BREAKER_DRIVER', 'file'), + ], + + /* + |---------------------------------------------------------------------- + | Storage Metrics Configuration + |---------------------------------------------------------------------- + | + | Storage metrics collect information about cache operations including + | hit/miss rates, latencies, and fallback activations. Use these + | metrics for monitoring cache health and performance tuning. + | + */ + + 'metrics' => [ + // Enable/disable metrics collection + 'enabled' => env('CORE_STORAGE_METRICS_ENABLED', true), + + // Maximum latency samples to keep per driver (for percentile calculations) + 'max_samples' => env('CORE_STORAGE_METRICS_MAX_SAMPLES', 1000), + + // Whether to log metrics events + 'log_enabled' => env('CORE_STORAGE_METRICS_LOG', true), + ], + ], + + /* + |-------------------------------------------------------------------------- + | Service Configuration + |-------------------------------------------------------------------------- + | + | Configure service discovery and dependency resolution. Services are + | discovered by scanning module paths for classes implementing + | ServiceDefinition. + | + */ + + 'services' => [ + // Whether to cache service discovery results + 'cache_discovery' => env('CORE_SERVICES_CACHE_DISCOVERY', true), + ], + + /* + |-------------------------------------------------------------------------- + | Language & Translation Configuration + |-------------------------------------------------------------------------- + | + | Configure translation fallback chains and missing key validation. + | The fallback chain allows regional locales to fall back to their base + | locale before using the application's fallback locale. + | + | Example chain: en_GB -> en -> fallback_locale (from config/app.php) + | + */ + + 'lang' => [ + // Enable locale chain fallback (e.g., en_GB -> en -> fallback) + // When true, regional locales like 'en_GB' will first try 'en' before + // falling back to the application's fallback_locale. + 'fallback_chain' => env('CORE_LANG_FALLBACK_CHAIN', true), + + // Warn about missing translation keys in development environments. + // Set to true to always enable, false to always disable, or leave + // null to auto-enable in local/development/testing environments. + 'validate_keys' => env('CORE_LANG_VALIDATE_KEYS'), + + // Log missing translation keys when validation is enabled. + 'log_missing_keys' => env('CORE_LANG_LOG_MISSING_KEYS', true), + + // Log level for missing translation key warnings. + // Options: 'debug', 'info', 'notice', 'warning', 'error', 'critical' + 'missing_key_log_level' => env('CORE_LANG_MISSING_KEY_LOG_LEVEL', 'debug'), + + // Enable ICU message format support. + // Requires the PHP intl extension for full functionality. + // When disabled, ICU patterns will use basic placeholder replacement. + 'icu_enabled' => env('CORE_LANG_ICU_ENABLED', true), + ], + + /* + |-------------------------------------------------------------------------- + | Bouncer Action Gate Configuration + |-------------------------------------------------------------------------- + | + | Configure the action whitelisting system. Philosophy: "If it wasn't + | trained, it doesn't exist." Every controller action must be explicitly + | permitted. Unknown actions are blocked (production) or prompt for + | approval (training mode). + | + */ + + 'bouncer' => [ + // Enable training mode to allow approving new actions interactively. + // In production, this should be false to enforce strict whitelisting. + // In development/staging, enable to train the system with valid actions. + 'training_mode' => env('CORE_BOUNCER_TRAINING_MODE', false), + + // Whether to enable the action gate middleware. + // Set to false to completely disable action whitelisting. + 'enabled' => env('CORE_BOUNCER_ENABLED', true), + + // Guards that should have action gating applied. + // Actions on routes using these middleware groups will be checked. + 'guarded_middleware' => ['web', 'admin', 'api', 'client'], + + // Routes matching these patterns will bypass the action gate. + // Use for login pages, public assets, health checks, etc. + 'bypass_patterns' => [ + 'login', + 'logout', + 'register', + 'password/*', + 'sanctum/*', + 'livewire/*', + '_debugbar/*', + 'horizon/*', + 'telescope/*', + ], + + // Number of days to retain action request logs. + // Set to 0 to disable automatic pruning. + 'log_retention_days' => env('CORE_BOUNCER_LOG_RETENTION', 30), + + // Whether to log allowed requests (can generate many records). + // Recommended: false in production, true during training. + 'log_allowed_requests' => env('CORE_BOUNCER_LOG_ALLOWED', false), + + /* + |---------------------------------------------------------------------- + | Honeypot Configuration + |---------------------------------------------------------------------- + | + | Configure the honeypot system that traps bots ignoring robots.txt. + | Paths listed in robots.txt as disallowed are monitored; any request + | indicates a bot that doesn't respect robots.txt. + | + */ + + 'honeypot' => [ + // Whether to auto-block IPs that hit critical honeypot paths. + // When enabled, IPs hitting paths like /admin or /.env are blocked. + // Set to false to require manual review of all honeypot hits. + 'auto_block_critical' => env('CORE_BOUNCER_HONEYPOT_AUTO_BLOCK', true), + + // Rate limiting for honeypot logging to prevent DoS via log flooding. + // Maximum number of log entries per IP within the time window. + 'rate_limit_max' => env('CORE_BOUNCER_HONEYPOT_RATE_LIMIT_MAX', 10), + + // Rate limit time window in seconds (default: 60 = 1 minute). + 'rate_limit_window' => env('CORE_BOUNCER_HONEYPOT_RATE_LIMIT_WINDOW', 60), + + // Severity levels for honeypot paths. + // 'critical' - Active probing (admin panels, config files). + // 'warning' - General robots.txt violation. + 'severity_levels' => [ + 'critical' => env('CORE_BOUNCER_HONEYPOT_SEVERITY_CRITICAL', 'critical'), + 'warning' => env('CORE_BOUNCER_HONEYPOT_SEVERITY_WARNING', 'warning'), + ], + + // Paths that indicate critical/malicious probing. + // Requests to these paths result in 'critical' severity. + // Supports prefix matching (e.g., 'admin' matches '/admin', '/admin/login'). + 'critical_paths' => [ + 'admin', + 'wp-admin', + 'wp-login.php', + 'administrator', + 'phpmyadmin', + '.env', + '.git', + ], + ], + ], + + /* + |-------------------------------------------------------------------------- + | Workspace Cache Configuration + |-------------------------------------------------------------------------- + | + | Configure workspace-scoped caching for multi-tenant resources. + | Models using the BelongsToWorkspace trait can cache their collections + | with automatic invalidation when records are created, updated, or deleted. + | + | The cache system supports both tagged cache stores (Redis, Memcached) + | and non-tagged stores (file, database, array). Tagged stores provide + | more efficient cache invalidation. + | + */ + + 'workspace_cache' => [ + // Whether to enable workspace-scoped caching. + // Set to false to completely disable caching (all queries hit the database). + 'enabled' => env('CORE_WORKSPACE_CACHE_ENABLED', true), + + // Default TTL in seconds for cached workspace queries. + // Individual queries can override this with their own TTL. + 'ttl' => env('CORE_WORKSPACE_CACHE_TTL', 300), + + // Cache key prefix to avoid collisions with other cache keys. + // Change this if you need to separate cache data between deployments. + 'prefix' => env('CORE_WORKSPACE_CACHE_PREFIX', 'workspace_cache'), + + // Whether to use cache tags if available. + // Tags provide more efficient cache invalidation (flush by workspace or model). + // Only works with tag-supporting stores (Redis, Memcached). + // Set to false to always use key-based cache management. + 'use_tags' => env('CORE_WORKSPACE_CACHE_USE_TAGS', true), + ], + + /* + |-------------------------------------------------------------------------- + | Activity Logging Configuration + |-------------------------------------------------------------------------- + | + | Configure activity logging for audit trails across modules. + | Uses spatie/laravel-activitylog under the hood with workspace-aware + | enhancements for multi-tenant environments. + | + | Models can use the Core\Activity\Concerns\LogsActivity trait to + | automatically log create, update, and delete operations. + | + */ + + 'activity' => [ + // Whether to enable activity logging globally. + // Set to false to completely disable activity logging. + 'enabled' => env('CORE_ACTIVITY_ENABLED', true), + + // The log name to use for activities. + // Different log names can be used to separate activities by context. + 'log_name' => env('CORE_ACTIVITY_LOG_NAME', 'default'), + + // Whether to include workspace_id in activity properties. + // Enable this in multi-tenant applications to scope activities per workspace. + 'include_workspace' => env('CORE_ACTIVITY_INCLUDE_WORKSPACE', true), + + // Default events to log when using the LogsActivity trait. + // Models can override this with the $activityLogEvents property. + 'default_events' => ['created', 'updated', 'deleted'], + + // Number of days to retain activity logs. + // Use the activity:prune command to clean up old logs. + // Set to 0 to disable automatic pruning. + 'retention_days' => env('CORE_ACTIVITY_RETENTION_DAYS', 90), + + // Custom Activity model class (optional). + // Set this to use a custom Activity model with additional scopes. + // Default: Core\Activity\Models\Activity::class + 'activity_model' => env('CORE_ACTIVITY_MODEL', \Core\Activity\Models\Activity::class), + ], + ]; diff --git a/config/database.php b/config/database.php deleted file mode 100644 index 033b966..0000000 --- a/config/database.php +++ /dev/null @@ -1,220 +0,0 @@ - env('DB_CONNECTION', 'sqlite'), - - /* - |-------------------------------------------------------------------------- - | Database Connections - |-------------------------------------------------------------------------- - | - | Below are all of the database connections defined for your application. - | An example configuration is provided for each database system which - | is supported by Laravel. You're free to add / remove connections. - | - */ - - 'connections' => [ - - 'sqlite' => [ - 'driver' => 'sqlite', - 'url' => env('DB_URL'), - 'database' => env('DB_DATABASE', database_path('database.sqlite')), - 'prefix' => '', - 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), - 'busy_timeout' => null, - 'journal_mode' => null, - 'synchronous' => null, - 'transaction_mode' => 'DEFERRED', - ], - - 'mysql' => [ - 'driver' => 'mysql', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => env('DB_CHARSET', 'utf8mb4'), - 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - (PHP_VERSION_ID >= 80500 ? \Pdo\Mysql::ATTR_SSL_CA : \PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - 'mariadb' => [ - 'driver' => 'mariadb', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => env('DB_CHARSET', 'utf8mb4'), - 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - (PHP_VERSION_ID >= 80500 ? \Pdo\Mysql::ATTR_SSL_CA : \PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - 'pgsql' => [ - 'driver' => 'pgsql', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => env('DB_CHARSET', 'utf8'), - 'prefix' => '', - 'prefix_indexes' => true, - 'search_path' => 'public', - 'sslmode' => env('DB_SSLMODE', 'prefer'), - ], - - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - 'url' => env('DB_URL'), - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', '1433'), - 'database' => env('DB_DATABASE', 'laravel'), - 'username' => env('DB_USERNAME', 'root'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => env('DB_CHARSET', 'utf8'), - 'prefix' => '', - 'prefix_indexes' => true, - // 'encrypt' => env('DB_ENCRYPT', 'yes'), - // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), - ], - - /* - |-------------------------------------------------------------------------- - | MCP Read-Only Connection - |-------------------------------------------------------------------------- - | - | This connection is used by the MCP QueryDatabase tool. It should be - | configured with a database user that has SELECT-only permissions. - | - | For MySQL, create a read-only user: - | CREATE USER 'mcp_readonly'@'localhost' IDENTIFIED BY 'password'; - | GRANT SELECT ON your_database.* TO 'mcp_readonly'@'localhost'; - | FLUSH PRIVILEGES; - | - | If MCP_DB_CONNECTION is not set, this falls back to the default connection. - | In production, always configure a dedicated read-only user. - | - */ - 'mcp_readonly' => [ - 'driver' => env('MCP_DB_DRIVER', env('DB_CONNECTION', 'mysql')), - 'url' => env('MCP_DB_URL'), - 'host' => env('MCP_DB_HOST', env('DB_HOST', '127.0.0.1')), - 'port' => env('MCP_DB_PORT', env('DB_PORT', '3306')), - 'database' => env('MCP_DB_DATABASE', env('DB_DATABASE', 'laravel')), - 'username' => env('MCP_DB_USERNAME', env('DB_USERNAME', 'root')), - 'password' => env('MCP_DB_PASSWORD', env('DB_PASSWORD', '')), - 'unix_socket' => env('MCP_DB_SOCKET', env('DB_SOCKET', '')), - 'charset' => env('DB_CHARSET', 'utf8mb4'), - 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - (PHP_VERSION_ID >= 80500 ? \Pdo\Mysql::ATTR_SSL_CA : \PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Migration Repository Table - |-------------------------------------------------------------------------- - | - | This table keeps track of all the migrations that have already run for - | your application. Using this information, we can determine which of - | the migrations on disk haven't actually been run on the database. - | - */ - - 'migrations' => [ - 'table' => 'migrations', - 'update_date_on_publish' => true, - ], - - /* - |-------------------------------------------------------------------------- - | Redis Databases - |-------------------------------------------------------------------------- - | - | Redis is an open source, fast, and advanced key-value store that also - | provides a richer body of commands than a typical key-value system - | such as Memcached. You may define your connection settings here. - | - */ - - 'redis' => [ - - 'client' => env('REDIS_CLIENT', 'phpredis'), - - 'options' => [ - 'cluster' => env('REDIS_CLUSTER', 'redis'), - 'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-database-'), - 'persistent' => env('REDIS_PERSISTENT', false), - ], - - 'default' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'username' => env('REDIS_USERNAME'), - 'password' => env('REDIS_PASSWORD'), - 'port' => env('REDIS_PORT', '6379'), - 'database' => env('REDIS_DB', '0'), - 'max_retries' => env('REDIS_MAX_RETRIES', 3), - 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), - 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), - 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), - ], - - 'cache' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'username' => env('REDIS_USERNAME'), - 'password' => env('REDIS_PASSWORD'), - 'port' => env('REDIS_PORT', '6379'), - 'database' => env('REDIS_CACHE_DB', '1'), - 'max_retries' => env('REDIS_MAX_RETRIES', 3), - 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), - 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), - 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), - ], - - ], - -]; diff --git a/config/filesystems.php b/config/filesystems.php deleted file mode 100644 index 37d8fca..0000000 --- a/config/filesystems.php +++ /dev/null @@ -1,80 +0,0 @@ - env('FILESYSTEM_DISK', 'local'), - - /* - |-------------------------------------------------------------------------- - | Filesystem Disks - |-------------------------------------------------------------------------- - | - | Below you may configure as many filesystem disks as necessary, and you - | may even configure multiple disks for the same driver. Examples for - | most supported storage drivers are configured here for reference. - | - | Supported drivers: "local", "ftp", "sftp", "s3" - | - */ - - 'disks' => [ - - 'local' => [ - 'driver' => 'local', - 'root' => storage_path('app/private'), - 'serve' => true, - 'throw' => false, - 'report' => false, - ], - - 'public' => [ - 'driver' => 'local', - 'root' => storage_path('app/public'), - 'url' => rtrim(env('APP_URL', 'http://localhost'), '/').'/storage', - 'visibility' => 'public', - 'throw' => false, - 'report' => false, - ], - - 's3' => [ - 'driver' => 's3', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION'), - 'bucket' => env('AWS_BUCKET'), - 'url' => env('AWS_URL'), - 'endpoint' => env('AWS_ENDPOINT'), - 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), - 'throw' => false, - 'report' => false, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Symbolic Links - |-------------------------------------------------------------------------- - | - | Here you may configure the symbolic links that will be created when the - | `storage:link` Artisan command is executed. The array keys should be - | the locations of the links and the values should be their targets. - | - */ - - 'links' => [ - public_path('storage') => storage_path('app/public'), - ], - -]; diff --git a/config/logging.php b/config/logging.php deleted file mode 100644 index 9e998a4..0000000 --- a/config/logging.php +++ /dev/null @@ -1,132 +0,0 @@ - env('LOG_CHANNEL', 'stack'), - - /* - |-------------------------------------------------------------------------- - | Deprecations Log Channel - |-------------------------------------------------------------------------- - | - | This option controls the log channel that should be used to log warnings - | regarding deprecated PHP and library features. This allows you to get - | your application ready for upcoming major versions of dependencies. - | - */ - - 'deprecations' => [ - 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), - 'trace' => env('LOG_DEPRECATIONS_TRACE', false), - ], - - /* - |-------------------------------------------------------------------------- - | Log Channels - |-------------------------------------------------------------------------- - | - | Here you may configure the log channels for your application. Laravel - | utilizes the Monolog PHP logging library, which includes a variety - | of powerful log handlers and formatters that you're free to use. - | - | Available drivers: "single", "daily", "slack", "syslog", - | "errorlog", "monolog", "custom", "stack" - | - */ - - 'channels' => [ - - 'stack' => [ - 'driver' => 'stack', - 'channels' => explode(',', (string) env('LOG_STACK', 'single')), - 'ignore_exceptions' => false, - ], - - 'single' => [ - 'driver' => 'single', - 'path' => storage_path('logs/laravel.log'), - 'level' => env('LOG_LEVEL', 'debug'), - 'replace_placeholders' => true, - ], - - 'daily' => [ - 'driver' => 'daily', - 'path' => storage_path('logs/laravel.log'), - 'level' => env('LOG_LEVEL', 'debug'), - 'days' => env('LOG_DAILY_DAYS', 14), - 'replace_placeholders' => true, - ], - - 'slack' => [ - 'driver' => 'slack', - 'url' => env('LOG_SLACK_WEBHOOK_URL'), - 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), - 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), - 'level' => env('LOG_LEVEL', 'critical'), - 'replace_placeholders' => true, - ], - - 'papertrail' => [ - 'driver' => 'monolog', - 'level' => env('LOG_LEVEL', 'debug'), - 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), - 'handler_with' => [ - 'host' => env('PAPERTRAIL_URL'), - 'port' => env('PAPERTRAIL_PORT'), - 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), - ], - 'processors' => [PsrLogMessageProcessor::class], - ], - - 'stderr' => [ - 'driver' => 'monolog', - 'level' => env('LOG_LEVEL', 'debug'), - 'handler' => StreamHandler::class, - 'handler_with' => [ - 'stream' => 'php://stderr', - ], - 'formatter' => env('LOG_STDERR_FORMATTER'), - 'processors' => [PsrLogMessageProcessor::class], - ], - - 'syslog' => [ - 'driver' => 'syslog', - 'level' => env('LOG_LEVEL', 'debug'), - 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), - 'replace_placeholders' => true, - ], - - 'errorlog' => [ - 'driver' => 'errorlog', - 'level' => env('LOG_LEVEL', 'debug'), - 'replace_placeholders' => true, - ], - - 'null' => [ - 'driver' => 'monolog', - 'handler' => NullHandler::class, - ], - - 'emergency' => [ - 'path' => storage_path('logs/laravel.log'), - ], - - ], - -]; diff --git a/config/mail.php b/config/mail.php deleted file mode 100644 index 522b284..0000000 --- a/config/mail.php +++ /dev/null @@ -1,118 +0,0 @@ - env('MAIL_MAILER', 'log'), - - /* - |-------------------------------------------------------------------------- - | Mailer Configurations - |-------------------------------------------------------------------------- - | - | Here you may configure all of the mailers used by your application plus - | their respective settings. Several examples have been configured for - | you and you are free to add your own as your application requires. - | - | Laravel supports a variety of mail "transport" drivers that can be used - | when delivering an email. You may specify which one you're using for - | your mailers below. You may also add additional mailers if needed. - | - | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", - | "postmark", "resend", "log", "array", - | "failover", "roundrobin" - | - */ - - 'mailers' => [ - - 'smtp' => [ - 'transport' => 'smtp', - 'scheme' => env('MAIL_SCHEME'), - 'url' => env('MAIL_URL'), - 'host' => env('MAIL_HOST', '127.0.0.1'), - 'port' => env('MAIL_PORT', 2525), - 'username' => env('MAIL_USERNAME'), - 'password' => env('MAIL_PASSWORD'), - 'timeout' => null, - 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'http://localhost'), PHP_URL_HOST)), - ], - - 'ses' => [ - 'transport' => 'ses', - ], - - 'postmark' => [ - 'transport' => 'postmark', - // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), - // 'client' => [ - // 'timeout' => 5, - // ], - ], - - 'resend' => [ - 'transport' => 'resend', - ], - - 'sendmail' => [ - 'transport' => 'sendmail', - 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), - ], - - 'log' => [ - 'transport' => 'log', - 'channel' => env('MAIL_LOG_CHANNEL'), - ], - - 'array' => [ - 'transport' => 'array', - ], - - 'failover' => [ - 'transport' => 'failover', - 'mailers' => [ - 'smtp', - 'log', - ], - 'retry_after' => 60, - ], - - 'roundrobin' => [ - 'transport' => 'roundrobin', - 'mailers' => [ - 'ses', - 'postmark', - ], - 'retry_after' => 60, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Global "From" Address - |-------------------------------------------------------------------------- - | - | You may wish for all emails sent by your application to be sent from - | the same address. Here you may specify a name and address that is - | used globally for all emails that are sent by your application. - | - */ - - 'from' => [ - 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Example'), - ], - -]; diff --git a/config/mcp.php b/config/mcp.php deleted file mode 100644 index e271434..0000000 --- a/config/mcp.php +++ /dev/null @@ -1,160 +0,0 @@ - [ - /* - |-------------------------------------------------------------------------- - | Read-Only Connection - |-------------------------------------------------------------------------- - | - | The database connection to use for MCP query execution. This should - | be configured with a read-only database user for defence in depth. - | - | Set to null to use the default connection (not recommended for production). - | - */ - 'connection' => env('MCP_DB_CONNECTION', 'mcp_readonly'), - - /* - |-------------------------------------------------------------------------- - | Query Whitelist - |-------------------------------------------------------------------------- - | - | Enable or disable whitelist-based query validation. When enabled, - | queries must match at least one pattern in the whitelist to execute. - | - */ - 'use_whitelist' => env('MCP_DB_USE_WHITELIST', true), - - /* - |-------------------------------------------------------------------------- - | Custom Whitelist Patterns - |-------------------------------------------------------------------------- - | - | Additional regex patterns to allow. The default whitelist allows basic - | SELECT queries. Add patterns here for application-specific queries. - | - | Example: - | '/^\s*SELECT\s+.*\s+FROM\s+`?users`?\s+WHERE\s+id\s*=\s*\d+;?\s*$/i' - | - */ - 'whitelist_patterns' => [ - // Add custom patterns here - ], - - /* - |-------------------------------------------------------------------------- - | Blocked Tables - |-------------------------------------------------------------------------- - | - | Tables that cannot be queried even with valid SELECT queries. - | Use this to protect sensitive tables from MCP access. - | - */ - 'blocked_tables' => [ - 'users', - 'password_reset_tokens', - 'sessions', - 'personal_access_tokens', - 'failed_jobs', - ], - - /* - |-------------------------------------------------------------------------- - | Row Limit - |-------------------------------------------------------------------------- - | - | Maximum number of rows that can be returned from a query. - | This prevents accidentally returning huge result sets. - | - */ - 'max_rows' => env('MCP_DB_MAX_ROWS', 1000), - ], - - /* - |-------------------------------------------------------------------------- - | Tool Usage Analytics - |-------------------------------------------------------------------------- - | - | Configuration for MCP tool usage analytics and metrics tracking. - | - */ - - 'analytics' => [ - /* - |-------------------------------------------------------------------------- - | Enable Analytics - |-------------------------------------------------------------------------- - | - | Enable or disable tool usage analytics. When disabled, no metrics - | will be recorded for tool executions. - | - */ - 'enabled' => env('MCP_ANALYTICS_ENABLED', true), - - /* - |-------------------------------------------------------------------------- - | Data Retention - |-------------------------------------------------------------------------- - | - | Number of days to retain analytics data before pruning. - | Use the mcp:prune-metrics command to clean up old data. - | - */ - 'retention_days' => env('MCP_ANALYTICS_RETENTION_DAYS', 90), - - /* - |-------------------------------------------------------------------------- - | Batch Size - |-------------------------------------------------------------------------- - | - | Number of metrics to accumulate before flushing to the database. - | Higher values improve write performance but may lose data on crashes. - | - */ - 'batch_size' => env('MCP_ANALYTICS_BATCH_SIZE', 100), - ], - - /* - |-------------------------------------------------------------------------- - | Log Retention - |-------------------------------------------------------------------------- - | - | Configuration for MCP log retention and cleanup. - | - */ - - 'log_retention' => [ - /* - |-------------------------------------------------------------------------- - | Detailed Logs Retention - |-------------------------------------------------------------------------- - | - | Number of days to retain detailed tool call logs. - | - */ - 'days' => env('MCP_LOG_RETENTION_DAYS', 90), - - /* - |-------------------------------------------------------------------------- - | Statistics Retention - |-------------------------------------------------------------------------- - | - | Number of days to retain aggregated statistics. - | Should typically be longer than detailed logs. - | - */ - 'stats_days' => env('MCP_LOG_RETENTION_STATS_DAYS', 365), - ], - -]; diff --git a/config/queue.php b/config/queue.php deleted file mode 100644 index 79c2c0a..0000000 --- a/config/queue.php +++ /dev/null @@ -1,129 +0,0 @@ - env('QUEUE_CONNECTION', 'database'), - - /* - |-------------------------------------------------------------------------- - | Queue Connections - |-------------------------------------------------------------------------- - | - | Here you may configure the connection options for every queue backend - | used by your application. An example configuration is provided for - | each backend supported by Laravel. You're also free to add more. - | - | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", - | "deferred", "background", "failover", "null" - | - */ - - 'connections' => [ - - 'sync' => [ - 'driver' => 'sync', - ], - - 'database' => [ - 'driver' => 'database', - 'connection' => env('DB_QUEUE_CONNECTION'), - 'table' => env('DB_QUEUE_TABLE', 'jobs'), - 'queue' => env('DB_QUEUE', 'default'), - 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90), - 'after_commit' => false, - ], - - 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), - 'queue' => env('BEANSTALKD_QUEUE', 'default'), - 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90), - 'block_for' => 0, - 'after_commit' => false, - ], - - 'sqs' => [ - 'driver' => 'sqs', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), - 'queue' => env('SQS_QUEUE', 'default'), - 'suffix' => env('SQS_SUFFIX'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'after_commit' => false, - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'), - 'queue' => env('REDIS_QUEUE', 'default'), - 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90), - 'block_for' => null, - 'after_commit' => false, - ], - - 'deferred' => [ - 'driver' => 'deferred', - ], - - 'background' => [ - 'driver' => 'background', - ], - - 'failover' => [ - 'driver' => 'failover', - 'connections' => [ - 'database', - 'deferred', - ], - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Job Batching - |-------------------------------------------------------------------------- - | - | The following options configure the database and table that store job - | batching information. These options can be updated to any database - | connection and table which has been defined by your application. - | - */ - - 'batching' => [ - 'database' => env('DB_CONNECTION', 'sqlite'), - 'table' => 'job_batches', - ], - - /* - |-------------------------------------------------------------------------- - | Failed Queue Jobs - |-------------------------------------------------------------------------- - | - | These options configure the behavior of failed queue job logging so you - | can control how and where failed jobs are stored. Laravel ships with - | support for storing failed jobs in a simple file or in a database. - | - | Supported drivers: "database-uuids", "dynamodb", "file", "null" - | - */ - - 'failed' => [ - 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), - 'database' => env('DB_CONNECTION', 'sqlite'), - 'table' => 'failed_jobs', - ], - -]; diff --git a/config/services.php b/config/services.php deleted file mode 100644 index 6a90eb8..0000000 --- a/config/services.php +++ /dev/null @@ -1,38 +0,0 @@ - [ - 'key' => env('POSTMARK_API_KEY'), - ], - - 'resend' => [ - 'key' => env('RESEND_API_KEY'), - ], - - 'ses' => [ - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - ], - - 'slack' => [ - 'notifications' => [ - 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), - 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), - ], - ], - -]; diff --git a/config/session.php b/config/session.php deleted file mode 100644 index 5b541b7..0000000 --- a/config/session.php +++ /dev/null @@ -1,217 +0,0 @@ - env('SESSION_DRIVER', 'database'), - - /* - |-------------------------------------------------------------------------- - | Session Lifetime - |-------------------------------------------------------------------------- - | - | Here you may specify the number of minutes that you wish the session - | to be allowed to remain idle before it expires. If you want them - | to expire immediately when the browser is closed then you may - | indicate that via the expire_on_close configuration option. - | - */ - - 'lifetime' => (int) env('SESSION_LIFETIME', 120), - - 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), - - /* - |-------------------------------------------------------------------------- - | Session Encryption - |-------------------------------------------------------------------------- - | - | This option allows you to easily specify that all of your session data - | should be encrypted before it's stored. All encryption is performed - | automatically by Laravel and you may use the session like normal. - | - */ - - 'encrypt' => env('SESSION_ENCRYPT', false), - - /* - |-------------------------------------------------------------------------- - | Session File Location - |-------------------------------------------------------------------------- - | - | When utilizing the "file" session driver, the session files are placed - | on disk. The default storage location is defined here; however, you - | are free to provide another location where they should be stored. - | - */ - - 'files' => storage_path('framework/sessions'), - - /* - |-------------------------------------------------------------------------- - | Session Database Connection - |-------------------------------------------------------------------------- - | - | When using the "database" or "redis" session drivers, you may specify a - | connection that should be used to manage these sessions. This should - | correspond to a connection in your database configuration options. - | - */ - - 'connection' => env('SESSION_CONNECTION'), - - /* - |-------------------------------------------------------------------------- - | Session Database Table - |-------------------------------------------------------------------------- - | - | When using the "database" session driver, you may specify the table to - | be used to store sessions. Of course, a sensible default is defined - | for you; however, you're welcome to change this to another table. - | - */ - - 'table' => env('SESSION_TABLE', 'sessions'), - - /* - |-------------------------------------------------------------------------- - | Session Cache Store - |-------------------------------------------------------------------------- - | - | When using one of the framework's cache driven session backends, you may - | define the cache store which should be used to store the session data - | between requests. This must match one of your defined cache stores. - | - | Affects: "dynamodb", "memcached", "redis" - | - */ - - 'store' => env('SESSION_STORE'), - - /* - |-------------------------------------------------------------------------- - | Session Sweeping Lottery - |-------------------------------------------------------------------------- - | - | Some session drivers must manually sweep their storage location to get - | rid of old sessions from storage. Here are the chances that it will - | happen on a given request. By default, the odds are 2 out of 100. - | - */ - - 'lottery' => [2, 100], - - /* - |-------------------------------------------------------------------------- - | Session Cookie Name - |-------------------------------------------------------------------------- - | - | Here you may change the name of the session cookie that is created by - | the framework. Typically, you should not need to change this value - | since doing so does not grant a meaningful security improvement. - | - */ - - 'cookie' => env( - 'SESSION_COOKIE', - Str::slug((string) env('APP_NAME', 'laravel')).'-session' - ), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Path - |-------------------------------------------------------------------------- - | - | The session cookie path determines the path for which the cookie will - | be regarded as available. Typically, this will be the root path of - | your application, but you're free to change this when necessary. - | - */ - - 'path' => env('SESSION_PATH', '/'), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Domain - |-------------------------------------------------------------------------- - | - | This value determines the domain and subdomains the session cookie is - | available to. By default, the cookie will be available to the root - | domain without subdomains. Typically, this shouldn't be changed. - | - */ - - 'domain' => env('SESSION_DOMAIN'), - - /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you when it can't be done securely. - | - */ - - 'secure' => env('SESSION_SECURE_COOKIE'), - - /* - |-------------------------------------------------------------------------- - | HTTP Access Only - |-------------------------------------------------------------------------- - | - | Setting this value to true will prevent JavaScript from accessing the - | value of the cookie and the cookie will only be accessible through - | the HTTP protocol. It's unlikely you should disable this option. - | - */ - - 'http_only' => env('SESSION_HTTP_ONLY', true), - - /* - |-------------------------------------------------------------------------- - | Same-Site Cookies - |-------------------------------------------------------------------------- - | - | This option determines how your cookies behave when cross-site requests - | take place, and can be used to mitigate CSRF attacks. By default, we - | will set this value to "lax" to permit secure cross-site requests. - | - | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value - | - | Supported: "lax", "strict", "none", null - | - */ - - 'same_site' => env('SESSION_SAME_SITE', 'lax'), - - /* - |-------------------------------------------------------------------------- - | Partitioned Cookies - |-------------------------------------------------------------------------- - | - | Setting this value to true will tie the cookie to the top-level site for - | a cross-site context. Partitioned cookies are accepted by the browser - | when flagged "secure" and the Same-Site attribute is set to "none". - | - */ - - 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), - -]; diff --git a/database/.gitignore b/database/.gitignore deleted file mode 100644 index 9b19b93..0000000 --- a/database/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.sqlite* diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php deleted file mode 100644 index 584104c..0000000 --- a/database/factories/UserFactory.php +++ /dev/null @@ -1,44 +0,0 @@ - - */ -class UserFactory extends Factory -{ - /** - * The current password being used by the factory. - */ - protected static ?string $password; - - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - return [ - 'name' => fake()->name(), - 'email' => fake()->unique()->safeEmail(), - 'email_verified_at' => now(), - 'password' => static::$password ??= Hash::make('password'), - 'remember_token' => Str::random(10), - ]; - } - - /** - * Indicate that the model's email address should be unverified. - */ - public function unverified(): static - { - return $this->state(fn (array $attributes) => [ - 'email_verified_at' => null, - ]); - } -} diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php deleted file mode 100644 index 05fb5d9..0000000 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ /dev/null @@ -1,49 +0,0 @@ -id(); - $table->string('name'); - $table->string('email')->unique(); - $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); - $table->rememberToken(); - $table->timestamps(); - }); - - Schema::create('password_reset_tokens', function (Blueprint $table) { - $table->string('email')->primary(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - }); - - Schema::create('sessions', function (Blueprint $table) { - $table->string('id')->primary(); - $table->foreignId('user_id')->nullable()->index(); - $table->string('ip_address', 45)->nullable(); - $table->text('user_agent')->nullable(); - $table->longText('payload'); - $table->integer('last_activity')->index(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('users'); - Schema::dropIfExists('password_reset_tokens'); - Schema::dropIfExists('sessions'); - } -}; diff --git a/database/migrations/0001_01_01_000001_create_cache_table.php b/database/migrations/0001_01_01_000001_create_cache_table.php deleted file mode 100644 index ed758bd..0000000 --- a/database/migrations/0001_01_01_000001_create_cache_table.php +++ /dev/null @@ -1,35 +0,0 @@ -string('key')->primary(); - $table->mediumText('value'); - $table->integer('expiration')->index(); - }); - - Schema::create('cache_locks', function (Blueprint $table) { - $table->string('key')->primary(); - $table->string('owner'); - $table->integer('expiration')->index(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('cache'); - Schema::dropIfExists('cache_locks'); - } -}; diff --git a/database/migrations/0001_01_01_000002_create_jobs_table.php b/database/migrations/0001_01_01_000002_create_jobs_table.php deleted file mode 100644 index 425e705..0000000 --- a/database/migrations/0001_01_01_000002_create_jobs_table.php +++ /dev/null @@ -1,57 +0,0 @@ -id(); - $table->string('queue')->index(); - $table->longText('payload'); - $table->unsignedTinyInteger('attempts'); - $table->unsignedInteger('reserved_at')->nullable(); - $table->unsignedInteger('available_at'); - $table->unsignedInteger('created_at'); - }); - - Schema::create('job_batches', function (Blueprint $table) { - $table->string('id')->primary(); - $table->string('name'); - $table->integer('total_jobs'); - $table->integer('pending_jobs'); - $table->integer('failed_jobs'); - $table->longText('failed_job_ids'); - $table->mediumText('options')->nullable(); - $table->integer('cancelled_at')->nullable(); - $table->integer('created_at'); - $table->integer('finished_at')->nullable(); - }); - - Schema::create('failed_jobs', function (Blueprint $table) { - $table->id(); - $table->string('uuid')->unique(); - $table->text('connection'); - $table->text('queue'); - $table->longText('payload'); - $table->longText('exception'); - $table->timestamp('failed_at')->useCurrent(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('jobs'); - Schema::dropIfExists('job_batches'); - Schema::dropIfExists('failed_jobs'); - } -}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php deleted file mode 100644 index 6b901f8..0000000 --- a/database/seeders/DatabaseSeeder.php +++ /dev/null @@ -1,25 +0,0 @@ -create(); - - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); - } -} diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js index 11a8bf6..e0241ca 100644 --- a/docs/.vitepress/config.js +++ b/docs/.vitepress/config.js @@ -3,7 +3,7 @@ import { defineConfig } from 'vitepress' export default defineConfig({ title: 'Core PHP Framework', description: 'Modular monolith framework for Laravel', - base: '/core-php/', + base: '/', ignoreDeadLinks: [ // Ignore localhost links diff --git a/docs/changelog.md b/docs/changelog.md index 4d9304c..b8c714d 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -206,6 +206,6 @@ Special thanks to the open-source community! --- For more information, visit: -- [Documentation](https://host-uk.github.io/core-php/) +- [Documentation](https://core.help/) - [GitHub Repository](https://github.com/host-uk/core-php) - [Issue Tracker](https://github.com/host-uk/core-php/issues) diff --git a/docs/contributing.md b/docs/contributing.md index d7f9824..3e0a63c 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -461,6 +461,6 @@ By contributing, you agree that your contributions will be licensed under the EU - Open a [Discussion](https://github.com/host-uk/core-php/discussions) - Join our [Discord](https://discord.gg/host-uk) -- Read the [Documentation](https://host-uk.github.io/core-php/) +- Read the [Documentation](https://core.help/) Thank you for contributing! 🎉 diff --git a/docs/public/CNAME b/docs/public/CNAME new file mode 100644 index 0000000..008ea5a --- /dev/null +++ b/docs/public/CNAME @@ -0,0 +1 @@ +core.help diff --git a/packages/core-admin/README.md b/packages/core-admin/README.md deleted file mode 100644 index 01ebaa8..0000000 --- a/packages/core-admin/README.md +++ /dev/null @@ -1,113 +0,0 @@ -# Core Admin Package - -Admin panel components, Livewire modals, and service management interface for the Core PHP Framework. - -## Installation - -```bash -composer require host-uk/core-admin -``` - -## Features - -### Admin Menu System -Declarative menu registration with automatic permission checking: - -```php -use Core\Front\Admin\Contracts\AdminMenuProvider; - -class MyModuleMenu implements AdminMenuProvider -{ - public function registerMenu(AdminMenuRegistry $registry): void - { - $registry->addItem('products', [ - 'label' => 'Products', - 'icon' => 'cube', - 'route' => 'admin.products.index', - 'permission' => 'products.view', - ]); - } -} -``` - -### Livewire Modals -Full-page Livewire components for admin interfaces: - -```php -use Livewire\Component; -use Livewire\Attributes\Title; - -#[Title('Product Manager')] -class ProductManager extends Component -{ - public function render(): View - { - return view('admin.products.manager') - ->layout('hub::admin.layouts.app'); - } -} -``` - -### Form Components -Reusable form components with authorization: - -- `` - Text inputs with validation -- `` - Dropdowns -- `` - Checkboxes -- `` - Toggle switches -- `` - Text areas -- `` - Buttons with loading states - -```blade - -``` - -### Global Search -Extensible search provider system: - -```php -use Core\Admin\Search\Contracts\SearchProvider; - -class ProductSearchProvider implements SearchProvider -{ - public function search(string $query): array - { - return Product::where('name', 'like', "%{$query}%") - ->take(5) - ->get() - ->map(fn($p) => new SearchResult( - title: $p->name, - url: route('admin.products.edit', $p), - icon: 'cube' - )) - ->toArray(); - } -} -``` - -### Service Management Interface -Unified dashboard for viewing workspace services and statistics. - -## Configuration - -The package auto-discovers admin menu providers and search providers from your modules. - -## Requirements - -- PHP 8.2+ -- Laravel 11+ or 12+ -- Livewire 3.0+ -- Flux UI 2.0+ - -## Changelog - -See [changelog/2026/jan/features.md](changelog/2026/jan/features.md) for recent changes. - -## License - -EUPL-1.2 - See [LICENSE](../../LICENSE) for details. diff --git a/packages/core-admin/TODO.md b/packages/core-admin/TODO.md deleted file mode 100644 index ef70508..0000000 --- a/packages/core-admin/TODO.md +++ /dev/null @@ -1,227 +0,0 @@ -# Core-Admin TODO - -## Testing & Quality Assurance - -### High Priority - -- [ ] **Test Coverage: Search System** - Test global search functionality - - [ ] Test SearchProviderRegistry with multiple providers - - [ ] Test AdminPageSearchProvider query matching - - [ ] Test SearchResult highlighting - - [ ] Test search analytics tracking - - [ ] Test workspace-scoped search results - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Form Components** - Test authorization props - - [ ] Test Button component with :can/:cannot props - - [ ] Test Input component with authorization - - [ ] Test Select/Checkbox/Toggle with permissions - - [ ] Test workspace context in form components - - **Estimated effort:** 2-3 hours - -- [ ] **Test Coverage: Livewire Modals** - Test modal system - - [ ] Test modal opening/closing - - [ ] Test file uploads in modals - - [ ] Test validation in modals - - [ ] Test nested modals - - [ ] Test modal events and lifecycle - - **Estimated effort:** 3-4 hours - -### Medium Priority - -- [ ] **Test Coverage: Admin Menu System** - Test menu building - - [ ] Test AdminMenuRegistry with multiple providers - - [ ] Test MenuItemBuilder with badges - - [ ] Test menu authorization (can/canAny) - - [ ] Test menu active state detection - - [ ] Test IconValidator - - **Estimated effort:** 2-3 hours - -- [ ] **Test Coverage: HLCRF Components** - Test layout system - - [ ] Test HierarchicalLayoutBuilder parsing - - [ ] Test nested layout rendering - - [ ] Test self-documenting IDs (H-0, C-R-2, etc.) - - [ ] Test responsive breakpoints - - **Estimated effort:** 4-5 hours - -### Low Priority - -- [ ] **Test Coverage: Teapot/Honeypot** - Test anti-spam - - [ ] Test TeapotController honeypot detection - - [ ] Test HoneypotHit recording - - [ ] Test automatic IP blocking - - [ ] Test hit pruning - - **Estimated effort:** 2-3 hours - -## Features & Enhancements - -### High Priority - -- [ ] **Feature: Data Tables Component** - Reusable admin tables - - [ ] Create sortable table component - - [ ] Add bulk action support - - [ ] Implement column filtering - - [ ] Add export to CSV/Excel - - [ ] Test with large datasets (1000+ rows) - - **Estimated effort:** 6-8 hours - - **Files:** `src/Admin/Tables/` - -- [ ] **Feature: Dashboard Widgets** - Composable dashboard - - [ ] Create widget system with layouts - - [ ] Add drag-and-drop widget arrangement - - [ ] Implement widget state persistence - - [ ] Create common widgets (stats, charts, lists) - - [ ] Test widget refresh and real-time updates - - **Estimated effort:** 8-10 hours - - **Files:** `src/Admin/Dashboard/` - -- [ ] **Feature: Notification Center** - In-app notifications - - [ ] Create notification inbox component - - [ ] Add real-time notification delivery - - [ ] Implement notification preferences - - [ ] Add notification grouping - - [ ] Test with high notification volume - - **Estimated effort:** 6-8 hours - - **Files:** `src/Admin/Notifications/` - -### Medium Priority - -- [ ] **Enhancement: Form Builder** - Dynamic form generation - - [ ] Create form builder UI - - [ ] Support custom field types - - [ ] Add conditional field visibility - - [ ] Implement form templates - - [ ] Test complex multi-step forms - - **Estimated effort:** 8-10 hours - - **Files:** `src/Forms/Builder/` - -- [ ] **Enhancement: Activity Feed Component** - Visual activity log - - [ ] Create activity feed Livewire component - - [ ] Add filtering by event type/user/date - - [ ] Implement infinite scroll - - [ ] Add export functionality - - [ ] Test with large activity logs - - **Estimated effort:** 4-5 hours - - **Files:** `src/Activity/Components/` - -- [ ] **Enhancement: File Manager** - Media browser - - [ ] Create file browser component - - [ ] Add upload with drag-and-drop - - [ ] Implement folder organization - - [ ] Add image preview and editing - - [ ] Test with S3/CDN integration - - **Estimated effort:** 10-12 hours - - **Files:** `src/Media/Manager/` - -### Low Priority - -- [ ] **Enhancement: Theme Customizer** - Visual theme editor - - [ ] Create color picker for brand colors - - [ ] Add font selection - - [ ] Implement logo upload - - [ ] Add CSS custom property generation - - [ ] Test theme persistence per workspace - - **Estimated effort:** 6-8 hours - - **Files:** `src/Theming/` - -- [ ] **Enhancement: Keyboard Shortcuts** - Power user features - - [ ] Implement global shortcut system - - [ ] Add command palette (Cmd+K) - - [ ] Create shortcut configuration UI - - [ ] Add accessibility support - - **Estimated effort:** 4-5 hours - - **Files:** `src/Shortcuts/` - -## Security & Authorization - -- [ ] **Audit: Admin Route Security** - Verify all admin routes protected - - [ ] Audit all admin controllers for authorization - - [ ] Ensure #[Action] attributes on sensitive operations - - [ ] Verify middleware chains - - [ ] Test unauthorized access attempts - - **Estimated effort:** 3-4 hours - -- [ ] **Enhancement: Action Audit Log** - Track admin actions - - [ ] Log all admin operations - - [ ] Track who/what/when for compliance - - [ ] Add audit log viewer - - [ ] Implement tamper-proof logging - - **Estimated effort:** 4-5 hours - - **Files:** `src/Audit/` - -## Documentation - -- [x] **Guide: Creating Admin Panels** - Step-by-step guide - - [x] Document menu registration - - [x] Show modal creation examples - - [x] Explain authorization integration - - [x] Add complete example module - - **Completed:** January 2026 - - **File:** `docs/packages/admin/creating-admin-panels.md` - -- [x] **Guide: HLCRF Deep Dive** - Advanced layout patterns - - [x] Document all layout combinations - - [x] Show responsive design patterns - - [x] Explain ID system in detail - - [x] Add complex real-world examples - - **Completed:** January 2026 - - **File:** `docs/packages/admin/hlcrf-deep-dive.md` - -- [x] **API Reference: Components** - Component prop documentation - - [x] Document all form component props - - [x] Add prop validation rules - - [x] Show authorization prop examples - - [x] Include accessibility notes - - **Completed:** January 2026 - - **File:** `docs/packages/admin/components-reference.md` - -## Code Quality - -- [ ] **Refactor: Extract Modal Manager** - Separate concerns - - [ ] Extract modal state management - - [ ] Create dedicated ModalManager service - - [ ] Add modal queue support - - [ ] Test modal lifecycle - - **Estimated effort:** 3-4 hours - -- [ ] **Refactor: Standardize Component Props** - Consistent API - - [ ] Audit all component props - - [ ] Standardize naming (can/cannot/canAny) - - [ ] Add prop validation - - [ ] Update documentation - - **Estimated effort:** 2-3 hours - -- [ ] **PHPStan: Fix Level 5 Errors** - Improve type safety - - [ ] Fix property type declarations - - [ ] Add missing return types - - [ ] Fix array shape types - - **Estimated effort:** 2-3 hours - -## Performance - -- [ ] **Optimization: Search Indexing** - Faster admin search - - [ ] Profile search performance - - [ ] Add search result caching - - [ ] Implement debounced search - - [ ] Optimize query building - - **Estimated effort:** 2-3 hours - -- [ ] **Optimization: Menu Rendering** - Reduce menu overhead - - [ ] Cache menu structure - - [ ] Lazy load menu icons - - [ ] Optimize authorization checks - - **Estimated effort:** 1-2 hours - ---- - -## Completed (January 2026) - -- [x] **Forms: Authorization Props** - Added :can/:cannot/:canAny to all form components -- [x] **Search: Provider System** - Global search with multiple providers -- [x] **Search: Analytics** - Track search queries and results -- [x] **Documentation** - Complete admin package documentation -- [x] **Guide: Creating Admin Panels** - Menu registration, modals, authorization, example module -- [x] **Guide: HLCRF Deep Dive** - Layout combinations, ID system, responsive patterns -- [x] **API Reference: Components** - Form component props with authorization examples - -*See `changelog/2026/jan/` for completed features.* diff --git a/packages/core-admin/changelog/2026/jan/features.md b/packages/core-admin/changelog/2026/jan/features.md deleted file mode 100644 index 96025c9..0000000 --- a/packages/core-admin/changelog/2026/jan/features.md +++ /dev/null @@ -1,70 +0,0 @@ -# Core-Admin - January 2026 - -## Features Implemented - -### Form Authorization Components - -Authorization-aware form components that automatically disable/hide based on permissions. - -**Files:** -- `src/Forms/Concerns/HasAuthorizationProps.php` - Authorization trait -- `src/Forms/View/Components/` - Input, Textarea, Select, Checkbox, Button, Toggle, FormGroup -- `resources/views/components/forms/` - Blade templates - -**Components:** -- `` - Text input with label, helper, error -- `` - Textarea with auto-resize -- `` - Dropdown with grouped options -- `` - Checkbox with description -- `` - Button with variants, loading state -- `` - Toggle with instant save -- `` - Wrapper for spacing - -**Usage:** -```blade - - - - Delete - -``` - ---- - -### Global Search (⌘K) - -Unified search across resources with keyboard navigation. - -**Files:** -- `src/Search/Contracts/SearchProvider.php` - Provider interface -- `src/Search/SearchProviderRegistry.php` - Registry with fuzzy matching -- `src/Search/SearchResult.php` - Result DTO -- `src/Search/Providers/AdminPageSearchProvider.php` - Built-in provider -- `src/Website/Hub/View/Modal/Admin/GlobalSearch.php` - Livewire component - -**Features:** -- ⌘K / Ctrl+K keyboard shortcut -- Arrow key navigation, Enter to select -- Fuzzy matching support -- Recent searches -- Grouped results by provider - -**Usage:** -```php -// Register custom provider -app(SearchProviderRegistry::class)->register(new MySearchProvider()); -``` - ---- - -## Design Decisions - -### Soketi (Real-time WebSocket) - -Excluded per project decision. Self-hosted Soketi integration not required at this time. diff --git a/packages/core-admin/composer.json b/packages/core-admin/composer.json deleted file mode 100644 index 7a2be27..0000000 --- a/packages/core-admin/composer.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "host-uk/core-admin", - "description": "Admin panel module for Core PHP framework", - "keywords": ["laravel", "admin", "panel", "dashboard"], - "license": "EUPL-1.2", - "require": { - "php": "^8.2", - "host-uk/core": "@dev" - }, - "autoload": { - "psr-4": { - "Core\\Admin\\": "src/", - "Website\\Hub\\": "src/Website/Hub/" - } - }, - "extra": { - "laravel": { - "providers": [ - "Core\\Admin\\Boot" - ] - } - }, - "minimum-stability": "stable", - "prefer-stable": true -} diff --git a/packages/core-admin/resources/views/components/forms/button.blade.php b/packages/core-admin/resources/views/components/forms/button.blade.php deleted file mode 100644 index 67fe9fa..0000000 --- a/packages/core-admin/resources/views/components/forms/button.blade.php +++ /dev/null @@ -1,82 +0,0 @@ -{{-- - Button Component - - A button with authorization support, variants, loading states, and icons. - - Props: - - type: string - Button type (button, submit, reset) - - variant: string - Button style: primary, secondary, danger, ghost - - size: string - Button size: sm, md, lg - - icon: string|null - Icon name (left position) - - iconRight: string|null - Icon name (right position) - - loading: bool - Show loading state - - loadingText: string|null - Text to show during loading - - disabled: bool - Whether button is disabled - - canGate: string|null - Gate/ability to check - - canResource: mixed|null - Resource to check against - - canHide: bool - Hide instead of disable when unauthorized - - Usage: - - Save Changes - - - - Delete - - - {{-- With loading state --}} - - Save - Saving... - ---}} - -@if(!$hidden) - -@endif diff --git a/packages/core-admin/resources/views/components/forms/checkbox.blade.php b/packages/core-admin/resources/views/components/forms/checkbox.blade.php deleted file mode 100644 index bfb6036..0000000 --- a/packages/core-admin/resources/views/components/forms/checkbox.blade.php +++ /dev/null @@ -1,88 +0,0 @@ -{{-- - Checkbox Component - - A checkbox with authorization support, label positioning, and description. - - Props: - - id: string (required) - Checkbox element ID - - label: string|null - Label text - - description: string|null - Description text below label - - error: string|null - Error message - - labelPosition: string - Label position: 'left' or 'right' (default: 'right') - - disabled: bool - Whether checkbox is disabled - - canGate: string|null - Gate/ability to check - - canResource: mixed|null - Resource to check against - - canHide: bool - Hide instead of disable when unauthorized - - Usage: - - - {{-- Label on left --}} - ---}} - -@if(!$hidden) -
only(['class', 'x-show', 'x-if', 'x-cloak'])->merge(['class' => 'space-y-1']) }}> -
$labelPosition === 'left', - ])> - {{-- Checkbox --}} -
- except(['class', 'x-show', 'x-if', 'x-cloak'])->class([ - 'h-4 w-4 rounded transition-colors duration-200', - 'border-gray-300 dark:border-gray-600', - 'text-violet-600 dark:text-violet-500', - 'focus:ring-2 focus:ring-violet-500/20 focus:ring-offset-0', - 'bg-white dark:bg-gray-800', - // Disabled state - 'bg-gray-100 dark:bg-gray-900 cursor-not-allowed' => $disabled, - ]) }} - /> -
- - {{-- Label and description --}} - @if($label || $description) -
- @if($label) - - @endif - - @if($description) -

{{ $description }}

- @endif -
- @endif -
- - {{-- Error message --}} - @if($error) -

{{ $error }}

- @elseif($errors->has($id)) -

{{ $errors->first($id) }}

- @endif -
-@endif diff --git a/packages/core-admin/resources/views/components/forms/form-group.blade.php b/packages/core-admin/resources/views/components/forms/form-group.blade.php deleted file mode 100644 index fea442b..0000000 --- a/packages/core-admin/resources/views/components/forms/form-group.blade.php +++ /dev/null @@ -1,50 +0,0 @@ -{{-- - Form Group Component - - A wrapper component for consistent form field spacing and error display. - - Props: - - label: string|null - Label text - - for: string|null - ID of the form element (for label) - - error: string|null - Error bag key to check - - helper: string|null - Helper text - - required: bool - Show required indicator - - Usage: - - - - - {{-- Without label --}} - - - ---}} - -
merge(['class' => 'space-y-1']) }}> - {{-- Label --}} - @if($label) - - @endif - - {{-- Content slot --}} - {{ $slot }} - - {{-- Helper text --}} - @if($helper && !$hasError()) -

{{ $helper }}

- @endif - - {{-- Error message --}} - @if($hasError()) -

{{ $errorMessage }}

- @endif -
diff --git a/packages/core-admin/resources/views/components/forms/input.blade.php b/packages/core-admin/resources/views/components/forms/input.blade.php deleted file mode 100644 index b3c9804..0000000 --- a/packages/core-admin/resources/views/components/forms/input.blade.php +++ /dev/null @@ -1,77 +0,0 @@ -{{-- - Input Component - - A text input with authorization support, labels, helper text, and error display. - - Props: - - id: string (required) - Input element ID - - label: string|null - Label text - - helper: string|null - Helper text below input - - error: string|null - Error message (auto-resolved from validation bag if not provided) - - type: string - Input type (text, email, password, etc.) - - placeholder: string|null - Placeholder text - - disabled: bool - Whether input is disabled - - required: bool - Whether input is required - - canGate: string|null - Gate/ability to check - - canResource: mixed|null - Resource to check against - - canHide: bool - Hide instead of disable when unauthorized - - Usage: - ---}} - -@if(!$hidden) -
only(['class', 'x-show', 'x-if', 'x-cloak'])->merge(['class' => 'space-y-1']) }}> - {{-- Label --}} - @if($label) - - @endif - - {{-- Input --}} - except(['class', 'x-show', 'x-if', 'x-cloak'])->class([ - 'block w-full rounded-lg border px-3 py-2 text-sm transition-colors duration-200', - 'bg-white dark:bg-gray-800', - 'text-gray-900 dark:text-gray-100', - 'placeholder-gray-400 dark:placeholder-gray-500', - 'focus:outline-none focus:ring-2 focus:ring-offset-0', - // Normal state - 'border-gray-300 dark:border-gray-600 focus:border-violet-500 focus:ring-violet-500/20' => !$error, - // Error state - 'border-red-500 dark:border-red-500 focus:border-red-500 focus:ring-red-500/20' => $error, - // Disabled state - 'bg-gray-50 dark:bg-gray-900 text-gray-500 dark:text-gray-400 cursor-not-allowed' => $disabled, - ]) }} - /> - - {{-- Helper text --}} - @if($helper && !$error) -

{{ $helper }}

- @endif - - {{-- Error message --}} - @if($error) -

{{ $error }}

- @elseif($errors->has($id)) -

{{ $errors->first($id) }}

- @endif -
-@endif diff --git a/packages/core-admin/resources/views/components/forms/select.blade.php b/packages/core-admin/resources/views/components/forms/select.blade.php deleted file mode 100644 index a0b741d..0000000 --- a/packages/core-admin/resources/views/components/forms/select.blade.php +++ /dev/null @@ -1,108 +0,0 @@ -{{-- - Select Component - - A dropdown select with authorization support, options, and error display. - - Props: - - id: string (required) - Select element ID - - options: array - Options as value => label or grouped options - - label: string|null - Label text - - helper: string|null - Helper text below select - - error: string|null - Error message - - placeholder: string|null - Placeholder option text - - multiple: bool - Allow multiple selection - - disabled: bool - Whether select is disabled - - required: bool - Whether select is required - - canGate: string|null - Gate/ability to check - - canResource: mixed|null - Resource to check against - - canHide: bool - Hide instead of disable when unauthorized - - Usage: - - - {{-- With grouped options --}} - ---}} - -@if(!$hidden) -
only(['class', 'x-show', 'x-if', 'x-cloak'])->merge(['class' => 'space-y-1']) }}> - {{-- Label --}} - @if($label) - - @endif - - {{-- Select --}} - - - {{-- Helper text --}} - @if($helper && !$error) -

{{ $helper }}

- @endif - - {{-- Error message --}} - @if($error) -

{{ $error }}

- @elseif($errors->has($id)) -

{{ $errors->first($id) }}

- @endif -
-@endif diff --git a/packages/core-admin/resources/views/components/forms/textarea.blade.php b/packages/core-admin/resources/views/components/forms/textarea.blade.php deleted file mode 100644 index 0549fea..0000000 --- a/packages/core-admin/resources/views/components/forms/textarea.blade.php +++ /dev/null @@ -1,87 +0,0 @@ -{{-- - Textarea Component - - A textarea with authorization support, auto-resize, labels, and error display. - - Props: - - id: string (required) - Textarea element ID - - label: string|null - Label text - - helper: string|null - Helper text below textarea - - error: string|null - Error message - - placeholder: string|null - Placeholder text - - rows: int - Number of visible rows (default: 3) - - autoResize: bool - Enable auto-resize via Alpine.js - - disabled: bool - Whether textarea is disabled - - required: bool - Whether textarea is required - - canGate: string|null - Gate/ability to check - - canResource: mixed|null - Resource to check against - - canHide: bool - Hide instead of disable when unauthorized - - Usage: - ---}} - -@if(!$hidden) -
only(['class', 'x-show', 'x-if', 'x-cloak'])->merge(['class' => 'space-y-1']) }}> - {{-- Label --}} - @if($label) - - @endif - - {{-- Textarea --}} - - - {{-- Helper text --}} - @if($helper && !$error) -

{{ $helper }}

- @endif - - {{-- Error message --}} - @if($error) -

{{ $error }}

- @elseif($errors->has($id)) -

{{ $errors->first($id) }}

- @endif -
-@endif diff --git a/packages/core-admin/resources/views/components/forms/toggle.blade.php b/packages/core-admin/resources/views/components/forms/toggle.blade.php deleted file mode 100644 index ed843a8..0000000 --- a/packages/core-admin/resources/views/components/forms/toggle.blade.php +++ /dev/null @@ -1,104 +0,0 @@ -{{-- - Toggle Component - - A toggle switch with authorization support and instant save capability. - - Props: - - id: string (required) - Toggle element ID - - label: string|null - Label text - - description: string|null - Description text - - error: string|null - Error message - - size: string - Toggle size: sm, md, lg - - instantSave: bool - Enable instant save on change - - instantSaveMethod: string|null - Livewire method to call on change - - disabled: bool - Whether toggle is disabled - - canGate: string|null - Gate/ability to check - - canResource: mixed|null - Resource to check against - - canHide: bool - Hide instead of disable when unauthorized - - Usage: - - - {{-- With instant save --}} - ---}} - -@if(!$hidden) -
only(['class', 'x-show', 'x-if', 'x-cloak'])->merge(['class' => 'space-y-1']) }}> -
- {{-- Label and description --}} - @if($label || $description) -
- @if($label) - - @endif - - @if($description) -

{{ $description }}

- @endif -
- @endif - - {{-- Toggle switch --}} - -
- - {{-- Error message --}} - @if($error) -

{{ $error }}

- @elseif($errors->has($id)) -

{{ $errors->first($id) }}

- @endif -
-@endif diff --git a/packages/core-admin/src/Boot.php b/packages/core-admin/src/Boot.php deleted file mode 100644 index 53b1ea2..0000000 --- a/packages/core-admin/src/Boot.php +++ /dev/null @@ -1,88 +0,0 @@ -addPaths([ - __DIR__.'/Website', - ]); - - // Register the search provider registry as a singleton - $this->app->singleton(SearchProviderRegistry::class); - } - - public function boot(): void - { - // Load Hub translations - $this->loadTranslationsFrom(__DIR__.'/Mod/Hub/Lang', 'hub'); - - // Register form components - $this->registerFormComponents(); - - // Register the default search providers - $this->registerSearchProviders(); - } - - /** - * Register form components with authorization support. - * - * Components are registered with the 'core-forms' prefix: - * - - * - - * - - * - - * - - * - - * - - */ - protected function registerFormComponents(): void - { - // Register views namespace for form component templates - $this->loadViewsFrom(dirname(__DIR__).'/resources/views', 'core-forms'); - - // Register class-backed form components - Blade::component('core-forms.input', Input::class); - Blade::component('core-forms.textarea', Textarea::class); - Blade::component('core-forms.select', Select::class); - Blade::component('core-forms.checkbox', Checkbox::class); - Blade::component('core-forms.button', Button::class); - Blade::component('core-forms.toggle', Toggle::class); - Blade::component('core-forms.form-group', FormGroup::class); - } - - /** - * Register the default search providers. - */ - protected function registerSearchProviders(): void - { - $registry = $this->app->make(SearchProviderRegistry::class); - - // Register the built-in admin page search provider - $registry->register($this->app->make(AdminPageSearchProvider::class)); - } -} diff --git a/packages/core-admin/src/Forms/Concerns/HasAuthorizationProps.php b/packages/core-admin/src/Forms/Concerns/HasAuthorizationProps.php deleted file mode 100644 index dff78c2..0000000 --- a/packages/core-admin/src/Forms/Concerns/HasAuthorizationProps.php +++ /dev/null @@ -1,101 +0,0 @@ - - * Delete - * ``` - */ -trait HasAuthorizationProps -{ - /** - * The gate/ability to check (e.g., 'update', 'delete'). - */ - public ?string $canGate = null; - - /** - * The resource/model to check the gate against. - */ - public mixed $canResource = null; - - /** - * Whether to hide the component (instead of disabling) when unauthorized. - */ - public bool $canHide = false; - - /** - * Resolve whether the component should be disabled based on authorization. - * - * If `canGate` and `canResource` are both provided and the user lacks - * the required permission, the component will be disabled. - * - * @param bool $explicitlyDisabled Whether the component was explicitly disabled via props - */ - protected function resolveDisabledState(bool $explicitlyDisabled = false): bool - { - // Already explicitly disabled - no need to check authorization - if ($explicitlyDisabled) { - return true; - } - - // No authorization check configured - if (! $this->canGate || $this->canResource === null) { - return false; - } - - // Check if user can perform the action - return ! $this->userCan(); - } - - /** - * Resolve whether the component should be hidden based on authorization. - * - * Only hides if `canHide` is true and the user lacks permission. - */ - protected function resolveHiddenState(): bool - { - // Not configured to hide on unauthorized - if (! $this->canHide) { - return false; - } - - // No authorization check configured - if (! $this->canGate || $this->canResource === null) { - return false; - } - - // Hide if user cannot perform the action - return ! $this->userCan(); - } - - /** - * Check if the current user can perform the gate action on the resource. - */ - protected function userCan(): bool - { - $user = auth()->user(); - - if (! $user) { - return false; - } - - return $user->can($this->canGate, $this->canResource); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/Button.php b/packages/core-admin/src/Forms/View/Components/Button.php deleted file mode 100644 index a11ff8f..0000000 --- a/packages/core-admin/src/Forms/View/Components/Button.php +++ /dev/null @@ -1,135 +0,0 @@ - - * Save Changes - * - * - * - * Delete - * - * ``` - */ -class Button extends Component -{ - use HasAuthorizationProps; - - public string $type; - - public string $variant; - - public string $size; - - public ?string $icon; - - public ?string $iconRight; - - public bool $loading; - - public ?string $loadingText; - - public bool $disabled; - - public bool $hidden; - - public string $variantClasses; - - public string $sizeClasses; - - public function __construct( - string $type = 'button', - string $variant = 'primary', - string $size = 'md', - ?string $icon = null, - ?string $iconRight = null, - bool $loading = false, - ?string $loadingText = null, - bool $disabled = false, - // Authorization props - ?string $canGate = null, - mixed $canResource = null, - bool $canHide = false, - ) { - $this->type = $type; - $this->variant = $variant; - $this->size = $size; - $this->icon = $icon; - $this->iconRight = $iconRight; - $this->loading = $loading; - $this->loadingText = $loadingText; - - // Authorization setup - $this->canGate = $canGate; - $this->canResource = $canResource; - $this->canHide = $canHide; - - // Resolve states based on authorization - $this->disabled = $this->resolveDisabledState($disabled); - $this->hidden = $this->resolveHiddenState(); - - // Resolve variant and size classes - $this->variantClasses = $this->resolveVariantClasses(); - $this->sizeClasses = $this->resolveSizeClasses(); - } - - protected function resolveVariantClasses(): string - { - return match ($this->variant) { - 'primary' => 'bg-violet-600 hover:bg-violet-700 text-white focus:ring-violet-500 disabled:bg-violet-400', - 'secondary' => 'bg-gray-100 hover:bg-gray-200 text-gray-700 dark:bg-gray-700 dark:hover:bg-gray-600 dark:text-gray-200 focus:ring-gray-500 disabled:bg-gray-100 disabled:dark:bg-gray-800', - 'danger' => 'bg-red-600 hover:bg-red-700 text-white focus:ring-red-500 disabled:bg-red-400', - 'ghost' => 'bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-700 dark:text-gray-300 focus:ring-gray-500', - default => 'bg-violet-600 hover:bg-violet-700 text-white focus:ring-violet-500 disabled:bg-violet-400', - }; - } - - protected function resolveSizeClasses(): string - { - return match ($this->size) { - 'sm' => 'px-3 py-1.5 text-sm', - 'lg' => 'px-6 py-3 text-base', - default => 'px-4 py-2 text-sm', - }; - } - - public function render() - { - return view('core-forms::components.forms.button'); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/Checkbox.php b/packages/core-admin/src/Forms/View/Components/Checkbox.php deleted file mode 100644 index a9d8181..0000000 --- a/packages/core-admin/src/Forms/View/Components/Checkbox.php +++ /dev/null @@ -1,89 +0,0 @@ - - * ``` - */ -class Checkbox extends Component -{ - use HasAuthorizationProps; - - public string $id; - - public ?string $label; - - public ?string $description; - - public ?string $error; - - public string $labelPosition; - - public bool $disabled; - - public bool $hidden; - - public function __construct( - string $id, - ?string $label = null, - ?string $description = null, - ?string $error = null, - string $labelPosition = 'right', - bool $disabled = false, - // Authorization props - ?string $canGate = null, - mixed $canResource = null, - bool $canHide = false, - ) { - $this->id = $id; - $this->label = $label; - $this->description = $description; - $this->error = $error; - $this->labelPosition = $labelPosition; - - // Authorization setup - $this->canGate = $canGate; - $this->canResource = $canResource; - $this->canHide = $canHide; - - // Resolve states based on authorization - $this->disabled = $this->resolveDisabledState($disabled); - $this->hidden = $this->resolveHiddenState(); - } - - public function render() - { - return view('core-forms::components.forms.checkbox'); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/FormGroup.php b/packages/core-admin/src/Forms/View/Components/FormGroup.php deleted file mode 100644 index 9e47675..0000000 --- a/packages/core-admin/src/Forms/View/Components/FormGroup.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - *
- * ``` - */ -class FormGroup extends Component -{ - public ?string $label; - - public ?string $for; - - public ?string $error; - - public ?string $helper; - - public bool $required; - - public string $errorMessage; - - public function __construct( - ?string $label = null, - ?string $for = null, - ?string $error = null, - ?string $helper = null, - bool $required = false, - ) { - $this->label = $label; - $this->for = $for; - $this->error = $error; - $this->helper = $helper; - $this->required = $required; - - // Resolve error message from validation bag - $this->errorMessage = $this->resolveError(); - } - - protected function resolveError(): string - { - if (! $this->error) { - return ''; - } - - $errors = session('errors'); - - if (! $errors) { - return ''; - } - - return $errors->first($this->error) ?? ''; - } - - public function hasError(): bool - { - return ! empty($this->errorMessage); - } - - public function render() - { - return view('core-forms::components.forms.form-group'); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/Input.php b/packages/core-admin/src/Forms/View/Components/Input.php deleted file mode 100644 index e9e3a45..0000000 --- a/packages/core-admin/src/Forms/View/Components/Input.php +++ /dev/null @@ -1,99 +0,0 @@ - - * ``` - */ -class Input extends Component -{ - use HasAuthorizationProps; - - public string $id; - - public ?string $label; - - public ?string $helper; - - public ?string $error; - - public string $type; - - public ?string $placeholder; - - public bool $disabled; - - public bool $hidden; - - public bool $required; - - public function __construct( - string $id, - ?string $label = null, - ?string $helper = null, - ?string $error = null, - string $type = 'text', - ?string $placeholder = null, - bool $disabled = false, - bool $required = false, - // Authorization props - ?string $canGate = null, - mixed $canResource = null, - bool $canHide = false, - ) { - $this->id = $id; - $this->label = $label; - $this->helper = $helper; - $this->error = $error; - $this->type = $type; - $this->placeholder = $placeholder; - $this->required = $required; - - // Authorization setup - $this->canGate = $canGate; - $this->canResource = $canResource; - $this->canHide = $canHide; - - // Resolve states based on authorization - $this->disabled = $this->resolveDisabledState($disabled); - $this->hidden = $this->resolveHiddenState(); - } - - public function render() - { - return view('core-forms::components.forms.input'); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/Select.php b/packages/core-admin/src/Forms/View/Components/Select.php deleted file mode 100644 index 4dba7eb..0000000 --- a/packages/core-admin/src/Forms/View/Components/Select.php +++ /dev/null @@ -1,146 +0,0 @@ - label or flat array) - * - Placeholder option - * - Multiple selection support - * - Label with automatic `for` attribute - * - Helper text support - * - Error display from validation - * - Dark mode support - * - * Usage: - * ```blade - * - * ``` - */ -class Select extends Component -{ - use HasAuthorizationProps; - - public string $id; - - public ?string $label; - - public ?string $helper; - - public ?string $error; - - public ?string $placeholder; - - public array $options; - - public array $normalizedOptions; - - public bool $multiple; - - public bool $disabled; - - public bool $hidden; - - public bool $required; - - public function __construct( - string $id, - array $options = [], - ?string $label = null, - ?string $helper = null, - ?string $error = null, - ?string $placeholder = null, - bool $multiple = false, - bool $disabled = false, - bool $required = false, - // Authorization props - ?string $canGate = null, - mixed $canResource = null, - bool $canHide = false, - ) { - $this->id = $id; - $this->label = $label; - $this->helper = $helper; - $this->error = $error; - $this->placeholder = $placeholder; - $this->options = $options; - $this->multiple = $multiple; - $this->required = $required; - - // Normalize options to value => label format - $this->normalizedOptions = $this->normalizeOptions($options); - - // Authorization setup - $this->canGate = $canGate; - $this->canResource = $canResource; - $this->canHide = $canHide; - - // Resolve states based on authorization - $this->disabled = $this->resolveDisabledState($disabled); - $this->hidden = $this->resolveHiddenState(); - } - - /** - * Normalize options to ensure consistent value => label format. - */ - protected function normalizeOptions(array $options): array - { - $normalized = []; - - foreach ($options as $key => $value) { - // Handle grouped options (optgroup) - if (is_array($value) && ! isset($value['label'])) { - $normalized[$key] = $this->normalizeOptions($value); - - continue; - } - - // Handle array format: ['label' => 'Display', 'value' => 'actual'] - if (is_array($value) && isset($value['label'])) { - $normalized[$value['value'] ?? $key] = $value['label']; - - continue; - } - - // Handle flat array: ['option1', 'option2'] - if (is_int($key)) { - $normalized[$value] = $value; - - continue; - } - - // Handle associative array: ['value' => 'Label'] - $normalized[$key] = $value; - } - - return $normalized; - } - - public function render() - { - return view('core-forms::components.forms.select'); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/Textarea.php b/packages/core-admin/src/Forms/View/Components/Textarea.php deleted file mode 100644 index b4eb6df..0000000 --- a/packages/core-admin/src/Forms/View/Components/Textarea.php +++ /dev/null @@ -1,104 +0,0 @@ - - * ``` - */ -class Textarea extends Component -{ - use HasAuthorizationProps; - - public string $id; - - public ?string $label; - - public ?string $helper; - - public ?string $error; - - public ?string $placeholder; - - public int $rows; - - public bool $autoResize; - - public bool $disabled; - - public bool $hidden; - - public bool $required; - - public function __construct( - string $id, - ?string $label = null, - ?string $helper = null, - ?string $error = null, - ?string $placeholder = null, - int $rows = 3, - bool $autoResize = false, - bool $disabled = false, - bool $required = false, - // Authorization props - ?string $canGate = null, - mixed $canResource = null, - bool $canHide = false, - ) { - $this->id = $id; - $this->label = $label; - $this->helper = $helper; - $this->error = $error; - $this->placeholder = $placeholder; - $this->rows = $rows; - $this->autoResize = $autoResize; - $this->required = $required; - - // Authorization setup - $this->canGate = $canGate; - $this->canResource = $canResource; - $this->canHide = $canHide; - - // Resolve states based on authorization - $this->disabled = $this->resolveDisabledState($disabled); - $this->hidden = $this->resolveHiddenState(); - } - - public function render() - { - return view('core-forms::components.forms.textarea'); - } -} diff --git a/packages/core-admin/src/Forms/View/Components/Toggle.php b/packages/core-admin/src/Forms/View/Components/Toggle.php deleted file mode 100644 index 4530d30..0000000 --- a/packages/core-admin/src/Forms/View/Components/Toggle.php +++ /dev/null @@ -1,127 +0,0 @@ - - * ``` - */ -class Toggle extends Component -{ - use HasAuthorizationProps; - - public string $id; - - public ?string $label; - - public ?string $description; - - public ?string $error; - - public string $size; - - public bool $instantSave; - - public ?string $instantSaveMethod; - - public bool $disabled; - - public bool $hidden; - - public string $trackClasses; - - public string $thumbClasses; - - public function __construct( - string $id, - ?string $label = null, - ?string $description = null, - ?string $error = null, - string $size = 'md', - bool $instantSave = false, - ?string $instantSaveMethod = null, - bool $disabled = false, - // Authorization props - ?string $canGate = null, - mixed $canResource = null, - bool $canHide = false, - ) { - $this->id = $id; - $this->label = $label; - $this->description = $description; - $this->error = $error; - $this->size = $size; - $this->instantSave = $instantSave; - $this->instantSaveMethod = $instantSaveMethod; - - // Authorization setup - $this->canGate = $canGate; - $this->canResource = $canResource; - $this->canHide = $canHide; - - // Resolve states based on authorization - $this->disabled = $this->resolveDisabledState($disabled); - $this->hidden = $this->resolveHiddenState(); - - // Resolve size classes - [$this->trackClasses, $this->thumbClasses] = $this->resolveSizeClasses(); - } - - protected function resolveSizeClasses(): array - { - return match ($this->size) { - 'sm' => ['w-8 h-4', 'w-3 h-3'], - 'lg' => ['w-14 h-7', 'w-6 h-6'], - default => ['w-11 h-6', 'w-5 h-5'], - }; - } - - /** - * Get the wire:change directive for instant save. - */ - public function wireChange(): ?string - { - if (! $this->instantSave) { - return null; - } - - // Default to 'save' method if not specified - return $this->instantSaveMethod ?? 'save'; - } - - public function render() - { - return view('core-forms::components.forms.toggle'); - } -} diff --git a/packages/core-admin/src/Mod/Hub/Boot.php b/packages/core-admin/src/Mod/Hub/Boot.php deleted file mode 100644 index 5f09f3c..0000000 --- a/packages/core-admin/src/Mod/Hub/Boot.php +++ /dev/null @@ -1,268 +0,0 @@ - - */ - public static array $listens = [ - AdminPanelBooting::class => 'onAdminPanel', - ]; - - public function boot(): void - { - $this->loadMigrationsFrom(__DIR__.'/Migrations'); - $this->loadTranslationsFrom(__DIR__.'/Lang', 'hub'); - - app(AdminMenuRegistry::class)->register($this); - } - - /** - * Admin menu items for Hub (platform base items). - */ - public function adminMenuItems(): array - { - return [ - // Dashboard - [ - 'group' => 'dashboard', - 'priority' => 0, - 'item' => fn () => [ - 'label' => 'Dashboard', - 'href' => route('hub.dashboard'), - 'icon' => 'gauge', - 'color' => 'indigo', - 'active' => request()->routeIs('hub.dashboard'), - ], - ], - // Workspaces - Overview - [ - 'group' => 'workspaces', - 'priority' => 10, - 'item' => fn () => [ - 'label' => 'Overview', - 'href' => route('hub.sites'), - 'icon' => 'layer-group', - 'color' => 'blue', - 'active' => request()->routeIs('hub.sites') || request()->routeIs('hub.sites.settings'), - ], - ], - // Workspaces - Content - [ - 'group' => 'workspaces', - 'priority' => 20, - 'item' => fn () => [ - 'label' => 'Content', - 'href' => route('hub.content-manager', ['workspace' => app(WorkspaceService::class)->currentSlug()]), - 'icon' => 'file-lines', - 'color' => 'emerald', - 'active' => request()->routeIs('hub.content-manager') || request()->routeIs('hub.content-editor*'), - ], - ], - // Workspaces - Configuration - [ - 'group' => 'workspaces', - 'priority' => 30, - 'item' => fn () => [ - 'label' => 'Configuration', - 'href' => '/hub/config', - 'icon' => 'sliders', - 'color' => 'slate', - 'active' => request()->is('hub/config*'), - ], - ], - // Account - Profile - [ - 'group' => 'settings', - 'priority' => 10, - 'item' => fn () => [ - 'label' => 'Profile', - 'href' => route('hub.account'), - 'icon' => 'user', - 'color' => 'sky', - 'active' => request()->routeIs('hub.account') && ! request()->routeIs('hub.account.*'), - ], - ], - // Account - Settings - [ - 'group' => 'settings', - 'priority' => 20, - 'item' => fn () => [ - 'label' => 'Settings', - 'href' => route('hub.account.settings'), - 'icon' => 'gear', - 'color' => 'zinc', - 'active' => request()->routeIs('hub.account.settings*'), - ], - ], - // Account - Usage (consolidated: usage overview, boosts, AI services) - [ - 'group' => 'settings', - 'priority' => 30, - 'item' => fn () => [ - 'label' => 'Usage', - 'href' => route('hub.account.usage'), - 'icon' => 'chart-pie', - 'color' => 'amber', - 'active' => request()->routeIs('hub.account.usage'), - ], - ], - // Admin - Platform - [ - 'group' => 'admin', - 'priority' => 10, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Platform', - 'href' => route('hub.platform'), - 'icon' => 'crown', - 'color' => 'amber', - 'active' => request()->routeIs('hub.platform*'), - ], - ], - // Admin - Entitlements - [ - 'group' => 'admin', - 'priority' => 11, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Entitlements', - 'href' => route('hub.entitlements'), - 'icon' => 'key', - 'color' => 'violet', - 'active' => request()->routeIs('hub.entitlements*'), - ], - ], - // Admin - Services - [ - 'group' => 'admin', - 'priority' => 13, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Services', - 'href' => route('hub.admin.services'), - 'icon' => 'cubes', - 'color' => 'indigo', - 'active' => request()->routeIs('hub.admin.services'), - ], - ], - // Admin - Infrastructure - [ - 'group' => 'admin', - 'priority' => 60, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Infrastructure', - 'icon' => 'server', - 'color' => 'slate', - 'active' => request()->routeIs('hub.console*') || request()->routeIs('hub.databases*') || request()->routeIs('hub.deployments*') || request()->routeIs('hub.honeypot'), - 'children' => [ - ['label' => 'Console', 'icon' => 'terminal', 'href' => route('hub.console'), 'active' => request()->routeIs('hub.console*')], - ['label' => 'Databases', 'icon' => 'database', 'href' => route('hub.databases'), 'active' => request()->routeIs('hub.databases*')], - ['label' => 'Deployments', 'icon' => 'rocket', 'href' => route('hub.deployments'), 'active' => request()->routeIs('hub.deployments*')], - ['label' => 'Honeypot', 'icon' => 'bug', 'href' => route('hub.honeypot'), 'active' => request()->routeIs('hub.honeypot')], - ], - ], - ], - // Admin - Config - [ - 'group' => 'admin', - 'priority' => 85, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Config', - 'href' => route('admin.config'), - 'icon' => 'sliders', - 'color' => 'zinc', - 'active' => request()->routeIs('admin.config'), - ], - ], - // Admin - Workspaces - [ - 'group' => 'admin', - 'priority' => 15, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Workspaces', - 'href' => route('hub.admin.workspaces'), - 'icon' => 'layer-group', - 'color' => 'blue', - 'active' => request()->routeIs('hub.admin.workspaces'), - ], - ], - ]; - } - - public function register(): void - { - // - } - - // ------------------------------------------------------------------------- - // Event-driven handlers - // ------------------------------------------------------------------------- - - public function onAdminPanel(AdminPanelBooting $event): void - { - $event->views($this->moduleName, __DIR__.'/View/Blade'); - - if (file_exists(__DIR__.'/Routes/admin.php')) { - $event->routes(fn () => require __DIR__.'/Routes/admin.php'); - } - - // Core admin components - $event->livewire('hub.admin.dashboard', View\Modal\Admin\Dashboard::class); - $event->livewire('hub.admin.content', View\Modal\Admin\Content::class); - $event->livewire('hub.admin.content-manager', View\Modal\Admin\ContentManager::class); - $event->livewire('hub.admin.content-editor', View\Modal\Admin\ContentEditor::class); - $event->livewire('hub.admin.sites', View\Modal\Admin\Sites::class); - $event->livewire('hub.admin.console', View\Modal\Admin\Console::class); - $event->livewire('hub.admin.databases', View\Modal\Admin\Databases::class); - $event->livewire('hub.admin.profile', View\Modal\Admin\Profile::class); - $event->livewire('hub.admin.settings', View\Modal\Admin\Settings::class); - $event->livewire('hub.admin.account-usage', View\Modal\Admin\AccountUsage::class); - $event->livewire('hub.admin.site-settings', View\Modal\Admin\SiteSettings::class); - $event->livewire('hub.admin.deployments', View\Modal\Admin\Deployments::class); - $event->livewire('hub.admin.platform', View\Modal\Admin\Platform::class); - $event->livewire('hub.admin.platform-user', View\Modal\Admin\PlatformUser::class); - $event->livewire('hub.admin.prompt-manager', View\Modal\Admin\PromptManager::class); - $event->livewire('hub.admin.waitlist-manager', View\Modal\Admin\WaitlistManager::class); - $event->livewire('hub.admin.workspace-switcher', View\Modal\Admin\WorkspaceSwitcher::class); - $event->livewire('hub.admin.wp-connector-settings', View\Modal\Admin\WpConnectorSettings::class); - $event->livewire('hub.admin.services-admin', View\Modal\Admin\ServicesAdmin::class); - $event->livewire('hub.admin.service-manager', View\Modal\Admin\ServiceManager::class); - - // Entitlement - $event->livewire('hub.admin.entitlement.dashboard', View\Modal\Admin\Entitlement\Dashboard::class); - $event->livewire('hub.admin.entitlement.feature-manager', View\Modal\Admin\Entitlement\FeatureManager::class); - $event->livewire('hub.admin.entitlement.package-manager', View\Modal\Admin\Entitlement\PackageManager::class); - - // Global UI components - $event->livewire('hub.admin.global-search', View\Modal\Admin\GlobalSearch::class); - $event->livewire('hub.admin.activity-log', View\Modal\Admin\ActivityLog::class); - - // Security - $event->livewire('hub.admin.honeypot', View\Modal\Admin\Honeypot::class); - - // Workspace management (Tenant module) - $event->livewire('tenant.admin.workspace-manager', \Core\Mod\Tenant\View\Modal\Admin\WorkspaceManager::class); - $event->livewire('tenant.admin.workspace-details', \Core\Mod\Tenant\View\Modal\Admin\WorkspaceDetails::class); - } -} diff --git a/packages/core-admin/src/Mod/Hub/Controllers/TeapotController.php b/packages/core-admin/src/Mod/Hub/Controllers/TeapotController.php deleted file mode 100644 index d50113b..0000000 --- a/packages/core-admin/src/Mod/Hub/Controllers/TeapotController.php +++ /dev/null @@ -1,158 +0,0 @@ -userAgent(); - $botName = HoneypotHit::detectBot($userAgent); - $path = $request->path(); - $severity = HoneypotHit::severityForPath($path); - $ip = $request->ip(); - - // Rate limit honeypot logging to prevent DoS via log flooding. - // Each IP gets limited to N log entries per time window. - $rateLimitKey = 'honeypot:log:'.$ip; - $maxAttempts = (int) config('core.bouncer.honeypot.rate_limit_max', 10); - $decaySeconds = (int) config('core.bouncer.honeypot.rate_limit_window', 60); - - if (! RateLimiter::tooManyAttempts($rateLimitKey, $maxAttempts)) { - RateLimiter::hit($rateLimitKey, $decaySeconds); - - // Optional services - use app() since route skips web middleware - $geoIp = app(DetectLocation::class); - - HoneypotHit::create([ - 'ip_address' => $ip, - 'user_agent' => substr($userAgent ?? '', 0, 1000), - 'referer' => substr($request->header('Referer', ''), 0, 2000), - 'path' => $path, - 'method' => $request->method(), - 'headers' => $this->sanitizeHeaders($request->headers->all()), - 'country' => $geoIp?->getCountryCode($ip), - 'city' => $geoIp?->getCity($ip), - 'is_bot' => $botName !== null, - 'bot_name' => $botName, - 'severity' => $severity, - ]); - } - - // Auto-block critical hits (active probing) if enabled in config. - // Skip localhost in dev to avoid blocking yourself. - $autoBlockEnabled = config('core.bouncer.honeypot.auto_block_critical', true); - $isLocalhost = in_array($ip, ['127.0.0.1', '::1'], true); - $isCritical = $severity === HoneypotHit::getSeverityCritical(); - - if ($autoBlockEnabled && $isCritical && ! $isLocalhost) { - app(BlocklistService::class)->block($ip, 'honeypot_critical'); - } - - // Return the 418 I'm a teapot response - return response($this->teapotBody(), 418, [ - 'Content-Type' => 'text/html; charset=utf-8', - 'X-Powered-By' => 'Earl Grey', - 'X-Severity' => $severity, - ]); - } - - /** - * Remove sensitive headers before storing. - */ - protected function sanitizeHeaders(array $headers): array - { - $sensitive = ['cookie', 'authorization', 'x-csrf-token', 'x-xsrf-token']; - - foreach ($sensitive as $key) { - unset($headers[$key]); - } - - return $headers; - } - - /** - * The teapot response body. - */ - protected function teapotBody(): string - { - return <<<'HTML' - - - - - - 418 I'm a Teapot - - - -
🫖
-

418 I'm a Teapot

-

The server refuses to brew coffee because it is, permanently, a teapot.

-

- RFC 2324 · - RFC 7168 -

- - -HTML; - } -} diff --git a/packages/core-admin/src/Mod/Hub/Database/Seeders/ServiceSeeder.php b/packages/core-admin/src/Mod/Hub/Database/Seeders/ServiceSeeder.php deleted file mode 100644 index 07554be..0000000 --- a/packages/core-admin/src/Mod/Hub/Database/Seeders/ServiceSeeder.php +++ /dev/null @@ -1,110 +0,0 @@ -> - */ - protected array $services = [ - \Service\Hub\Boot::class, // Internal service - \Service\Bio\Boot::class, - \Service\Social\Boot::class, - \Service\Analytics\Boot::class, - \Service\Trust\Boot::class, - \Service\Notify\Boot::class, - \Service\Support\Boot::class, - \Service\Commerce\Boot::class, - \Service\Agentic\Boot::class, - ]; - - public function run(): void - { - if (! Schema::hasTable('platform_services')) { - $this->command?->warn('platform_services table does not exist. Run migrations first.'); - - return; - } - - $seeded = 0; - $updated = 0; - - foreach ($this->services as $serviceClass) { - if (! class_exists($serviceClass)) { - $this->command?->warn("Service class not found: {$serviceClass}"); - - continue; - } - - if (! method_exists($serviceClass, 'definition')) { - $this->command?->warn("Service {$serviceClass} does not have definition()"); - - continue; - } - - $definition = $serviceClass::definition(); - - if (! $definition) { - continue; - } - - $existing = Service::where('code', $definition['code'])->first(); - - if ($existing) { - // Sync core fields from definition (code is source of truth) - $existing->update([ - 'module' => $definition['module'], - 'name' => $definition['name'], - 'tagline' => $definition['tagline'] ?? null, - 'description' => $definition['description'] ?? null, - 'icon' => $definition['icon'] ?? null, - 'color' => $definition['color'] ?? null, - 'entitlement_code' => $definition['entitlement_code'] ?? null, - 'sort_order' => $definition['sort_order'] ?? 50, - // Domain routing - only set if not already configured (admin can override) - 'marketing_domain' => $existing->marketing_domain ?? ($definition['marketing_domain'] ?? null), - 'website_class' => $existing->website_class ?? ($definition['website_class'] ?? null), - ]); - $updated++; - } else { - Service::create([ - 'code' => $definition['code'], - 'module' => $definition['module'], - 'name' => $definition['name'], - 'tagline' => $definition['tagline'] ?? null, - 'description' => $definition['description'] ?? null, - 'icon' => $definition['icon'] ?? null, - 'color' => $definition['color'] ?? null, - 'marketing_domain' => $definition['marketing_domain'] ?? null, - 'website_class' => $definition['website_class'] ?? null, - 'entitlement_code' => $definition['entitlement_code'] ?? null, - 'sort_order' => $definition['sort_order'] ?? 50, - 'is_enabled' => true, - 'is_public' => true, - 'is_featured' => false, - ]); - $seeded++; - } - } - - $this->command?->info("Services seeded: {$seeded} created, {$updated} updated."); - } -} diff --git a/packages/core-admin/src/Mod/Hub/Lang/en_GB/hub.php b/packages/core-admin/src/Mod/Hub/Lang/en_GB/hub.php deleted file mode 100644 index fd3278c..0000000 --- a/packages/core-admin/src/Mod/Hub/Lang/en_GB/hub.php +++ /dev/null @@ -1,1034 +0,0 @@ - [ - 'title' => 'Dashboard', - 'subtitle' => 'Your creator toolkit at a glance', - 'greeting' => 'Hello :name', - 'greeting_subtitle' => 'What would you like to work on today?', - 'your_workspaces' => 'Your Workspaces', - 'manage_all' => 'Manage All', - 'enabled_services' => 'Enabled services', - 'no_services' => 'No services enabled yet', - 'add_services' => 'Add Services', - 'manage_workspace' => 'Manage', - 'service_count' => 'service|services', - 'renews_on' => 'Renews :date', - 'manage_billing' => 'Manage Billing', - 'no_workspaces_title' => 'No workspaces yet', - 'no_workspaces_description' => 'Create your first workspace to get started with Host UK services.', - 'create_workspace' => 'Create Workspace', - 'learn_more' => 'Learn More', - ], - - 'actions' => [ - 'edit_content' => 'Edit Content', - ], - - 'sections' => [ - 'recent_activity' => 'Recent Activity', - 'quick_actions' => 'Quick Actions', - ], - - 'quick_actions' => [ - 'edit_content' => [ - 'title' => 'Edit Content', - 'subtitle' => 'Manage WordPress content', - ], - 'manage_workspaces' => [ - 'title' => 'Manage Workspaces', - 'subtitle' => 'View and configure workspaces', - ], - 'server_console' => [ - 'title' => 'Server Console', - 'subtitle' => 'Access server terminal', - ], - 'view_analytics' => [ - 'title' => 'View Analytics', - 'subtitle' => 'Traffic and performance', - ], - 'profile' => [ - 'title' => 'Profile', - 'subtitle' => 'Manage your account', - ], - ], - - // Console page - 'console' => [ - 'title' => 'Server Console', - 'subtitle' => 'Secure terminal access to your hosted applications', - 'labels' => [ - 'select_server' => 'Select Server', - 'terminal' => 'Terminal', - 'enter_command' => 'Enter command...', - 'connecting' => 'Connecting to :name...', - 'establishing_connection' => 'Establishing secure connection via Coolify API...', - 'connected' => 'Connected successfully.', - 'select_server_prompt' => 'Select a server from the list to open a terminal session', - 'terminal_disabled' => 'Terminal functionality will be enabled once Coolify API integration is complete', - ], - 'coolify' => [ - 'title' => 'Coolify Integration', - 'description' => 'This console will connect to your Coolify instance for secure terminal access to containers.', - ], - ], - - // AI Services page - 'ai_services' => [ - 'title' => 'AI Services', - 'subtitle' => 'Configure AI providers for content generation in Host Social.', - 'labels' => [ - 'api_key' => 'API Key', - 'secret_key' => 'Secret Key', - 'model' => 'Model', - 'active' => 'Active', - 'save' => 'Save', - 'saving' => 'Saving...', - ], - 'providers' => [ - 'claude' => [ - 'name' => 'Claude', - 'title' => 'Claude (Anthropic)', - 'api_key_link' => 'Generate an API key from Anthropic Console', - ], - 'gemini' => [ - 'name' => 'Gemini', - 'title' => 'Gemini (Google)', - 'api_key_link' => 'Generate an API key from Google AI Studio', - ], - 'openai' => [ - 'name' => 'OpenAI', - 'title' => 'OpenAI', - 'api_key_link' => 'Generate an API key from OpenAI Platform', - ], - ], - ], - - // Prompts page - 'prompts' => [ - 'title' => 'Prompt Manager', - 'subtitle' => 'Manage AI prompts for content generation', - 'labels' => [ - 'new_prompt' => 'New Prompt', - 'search_prompts' => 'Search prompts...', - 'all_categories' => 'All categories', - 'all_models' => 'All models', - 'empty' => 'No prompts found. Create your first prompt to get started.', - ], - 'editor' => [ - 'edit_title' => 'Edit Prompt', - 'new_title' => 'New Prompt', - 'name' => 'Name', - 'name_placeholder' => 'help-article-generator', - 'category' => 'Category', - 'description' => 'Description', - 'description_placeholder' => 'What does this prompt do?', - 'model' => 'Model', - 'temperature' => 'Temperature', - 'max_tokens' => 'Max Tokens', - 'system_prompt' => 'System Prompt', - 'user_template' => 'User Template', - 'user_template_hint' => 'Use @{{variable}} for template variables', - 'template_variables' => 'Template Variables', - 'add_variable' => 'Add Variable', - 'variable_name' => 'variable_name', - 'variable_description' => 'Description', - 'variable_default' => 'Default value', - 'no_variables' => 'No variables defined', - 'active' => 'Active', - 'active_description' => 'Enable this prompt for use in content generation', - 'version_history' => 'Version History', - 'cancel' => 'Cancel', - 'update_prompt' => 'Update Prompt', - 'create_prompt' => 'Create Prompt', - ], - 'categories' => [ - 'content' => 'Content', - 'seo' => 'SEO', - 'refinement' => 'Refinement', - 'translation' => 'Translation', - 'analysis' => 'Analysis', - ], - 'models' => [ - 'claude' => 'Claude (Anthropic)', - 'gemini' => 'Gemini (Google)', - ], - 'versions' => [ - 'title' => 'Version History', - 'version' => 'Version :number', - 'by' => 'by :name', - 'restore' => 'Restore', - 'no_history' => 'No version history available', - ], - ], - - // Services admin page translations - 'services' => [ - // Tab labels for each service - 'tabs' => [ - 'dashboard' => 'Dashboard', - 'pages' => 'Pages', - 'projects' => 'Projects', - 'websites' => 'Websites', - 'goals' => 'Goals', - 'subscribers' => 'Subscribers', - 'campaigns' => 'Campaigns', - 'notifications' => 'Widgets', - 'accounts' => 'Accounts', - 'posts' => 'Posts', - 'inbox' => 'Inbox', - 'settings' => 'Settings', - 'orders' => 'Orders', - 'subscriptions' => 'Subscriptions', - 'coupons' => 'Coupons', - ], - - // Table column headers - 'columns' => [ - 'namespace' => 'Namespace', - 'type' => 'Type', - 'status' => 'Status', - 'clicks' => 'Clicks', - 'project' => 'Project', - 'pages' => 'Pages', - 'created' => 'Created', - 'website' => 'Mod', - 'name' => 'Name', - 'host' => 'Host', - 'pageviews_mtd' => 'Pageviews (MTD)', - 'subscribers' => 'Subscribers', - 'endpoint' => 'Endpoint', - 'subscribed' => 'Subscribed', - 'campaign' => 'Campaign', - 'stats' => 'Stats', - 'widgets' => 'Widgets', - 'widget' => 'Widget', - 'impressions' => 'Impressions', - 'conversions' => 'Conversions', - 'performance' => 'Performance', - ], - - // Status labels - 'status' => [ - 'active' => 'Active', - 'disabled' => 'Disabled', - 'inactive' => 'Inactive', - 'sent' => 'Sent', - 'sending' => 'Sending', - 'scheduled' => 'Scheduled', - 'draft' => 'Draft', - 'failed' => 'Failed', - ], - - // Action buttons and links - 'actions' => [ - 'manage_biohost' => 'Manage Bio', - 'manage_analytics' => 'Manage Analytics', - 'manage_notifyhost' => 'Manage Notify', - 'manage_trusthost' => 'Manage Trust', - 'manage_supporthost' => 'Manage Support', - 'manage_commerce' => 'Manage Commerce', - 'create_page' => 'Create Page', - 'manage_projects' => 'Manage Projects', - 'add_website' => 'Add Mod', - 'view_all' => 'View All', - 'create_campaign' => 'Create Campaign', - 'create_goal' => 'Create Goal', - ], - - // Section headings - 'headings' => [ - 'your_bio_pages' => 'Your Bio Pages', - 'all_pages' => 'All Pages', - 'projects' => 'Projects', - 'websites_by_pageviews' => 'Websites by Pageviews', - 'all_websites' => 'All Websites', - 'goals_coming_soon' => 'Goals management coming soon', - 'websites_by_subscribers' => 'Websites by Subscribers', - 'recent_subscribers' => 'Recent Subscribers', - 'campaigns' => 'Campaigns', - 'all_campaigns' => 'All Campaigns', - 'widgets_by_impressions' => 'Widgets by Impressions', - 'top_pages' => 'Top Pages', - 'pageviews_trend' => 'Pageviews Trend', - 'traffic_sources' => 'Traffic Sources', - 'devices' => 'Devices', - ], - - // Empty state messages - 'empty' => [ - 'bio_pages' => 'No bio pages found. Create your first one!', - 'pages' => 'No pages found', - 'projects' => 'No projects found', - 'websites' => 'No websites found', - 'subscribers' => 'No subscribers found', - 'campaigns' => 'No campaigns found', - 'widgets' => 'No widgets found', - 'tickets' => 'No tickets found', - 'orders' => 'No orders found', - 'subscriptions' => 'No subscriptions found', - 'coupons' => 'No coupons found', - 'page_data' => 'No page data yet', - 'no_websites_title' => 'No websites tracked', - 'no_websites_description' => 'Add a website to start tracking pageviews and visitor analytics.', - 'no_goals_title' => 'No goals defined', - 'no_goals_description' => 'Create conversion goals to track important actions on your websites.', - 'no_traffic_data' => 'No traffic data yet', - 'no_device_data' => 'No device data yet', - 'no_subscribers_title' => 'No subscribers yet', - 'no_campaigns_title' => 'No campaigns yet', - ], - - // Miscellaneous - 'misc' => [ - 'na' => 'N/A', - 'sent_count' => ':count sent', - ], - - // Summary bar metrics - 'summary' => [ - 'pageviews' => 'Pageviews', - 'visitors' => 'Visitors', - 'bounce_rate' => 'Bounce Rate', - 'avg_duration' => 'Avg. Duration', - ], - - // Date range options - 'date_range' => [ - '7d' => 'Last 7 days', - '30d' => 'Last 30 days', - '90d' => 'Last 90 days', - 'all' => 'All time', - ], - - // Analytics acquisition channels - 'analytics' => [ - 'channels' => [ - 'direct' => 'Direct', - 'search' => 'Search', - 'social' => 'Social', - 'referral' => 'Referral', - ], - 'devices' => [ - 'desktop' => 'Desktop', - 'mobile' => 'Mobile', - 'tablet' => 'Tablet', - ], - ], - - // Service names (for tabs and titles) - 'names' => [ - 'bio' => 'Bio', - 'social' => 'Social', - 'analytics' => 'Analytics', - 'notify' => 'Notify', - 'trust' => 'Trust', - 'support' => 'Support', - 'commerce' => 'Commerce', - ], - - // Support service contextual metrics - 'support' => [ - 'inbox_health' => 'Inbox Health', - 'open_tickets' => 'Open Tickets', - 'avg_response_time' => 'Avg Response Time', - 'oldest' => 'Oldest', - 'todays_activity' => "Today's Activity", - 'new_today' => 'New Conversations', - 'resolved_today' => 'Resolved Today', - 'messages_sent' => 'Messages Sent', - 'performance' => 'Performance (This Month)', - 'first_response' => 'First Response Time', - 'resolution_time' => 'Resolution Time', - 'na' => 'N/A', - 'recent_conversations' => 'Recent Conversations', - 'view_inbox' => 'View Inbox', - 'empty_inbox' => 'No conversations yet', - 'empty_inbox_description' => 'Messages will appear here when customers reach out.', - 'unknown' => 'Unknown', - 'open_full_inbox' => 'Open full inbox', - 'open_settings' => 'Open settings', - ], - - // Stat card labels - Bio - 'stats' => [ - 'bio' => [ - 'total_pages' => 'Total Pages', - 'active_pages' => 'Active Pages', - 'total_clicks' => 'Total Clicks', - 'projects' => 'Projects', - ], - 'social' => [ - 'total_accounts' => 'Total Accounts', - 'active_accounts' => 'Active Accounts', - 'scheduled_posts' => 'Scheduled Posts', - 'published_posts' => 'Published Posts', - ], - 'analytics' => [ - 'total_websites' => 'Total Websites', - 'active_websites' => 'Active Websites', - 'pageviews_today' => 'Pageviews Today', - 'sessions_today' => 'Sessions Today', - ], - 'notify' => [ - 'websites' => 'Websites', - 'active_subscribers' => 'Active Subscribers', - 'active_campaigns' => 'Active Campaigns', - 'messages_today' => 'Messages Today', - ], - 'trust' => [ - 'total_campaigns' => 'Total Campaigns', - 'active_campaigns' => 'Active Campaigns', - 'total_widgets' => 'Total Widgets', - 'total_impressions' => 'Total Impressions', - ], - ], - - // Trust module specific metrics - 'trust' => [ - 'metrics' => [ - 'impressions' => 'Impressions', - 'clicks' => 'Clicks', - 'conversions' => 'Conversions', - 'ctr' => 'CTR', - 'cvr' => 'CVR', - ], - 'support' => [ - 'open_tickets' => 'Open Tickets', - 'unread_messages' => 'Unread Messages', - 'avg_response_time' => 'Avg Response Time', - 'resolved_today' => 'Resolved Today', - ], - 'commerce' => [ - 'total_orders' => 'Total Orders', - 'pending_orders' => 'Pending Orders', - 'active_subscriptions' => 'Active Subscriptions', - 'revenue_mtd' => 'Revenue (MTD)', - ], - ], - ], - - // Workspace Settings page - 'workspace_settings' => [ - 'title' => 'Workspace Settings', - 'subtitle' => 'Configure your workspace deployment and environment', - 'under_construction' => 'Under Construction', - 'coming_soon_message' => 'Workspace settings management is currently being built. This page will allow you to configure deployment settings, environment variables, SSL certificates, and more.', - ], - - // Global Search - 'search' => [ - 'button' => 'Search...', - 'placeholder' => 'Search pages, workspaces, settings...', - 'no_results' => 'No results found for ":query"', - 'navigate' => 'to navigate', - 'select' => 'to select', - 'close' => 'to close', - 'start_typing' => 'Start typing to search...', - 'tips' => 'Search pages, settings, and more', - 'recent' => 'Recent', - 'clear_recent' => 'Clear', - 'remove' => 'Remove', - ], - - // Workspace Switcher - 'workspace_switcher' => [ - 'title' => 'Switch Workspace', - ], - - // Workspaces page - 'workspaces' => [ - 'title' => 'Workspaces', - 'subtitle' => 'Manage your workspaces', - 'add' => 'Add Workspace', - 'empty' => 'No workspaces found.', - 'active' => 'Active', - 'activate' => 'Activate', - 'activated' => 'Workspace activated', - ], - - /* - |-------------------------------------------------------------------------- - | Usage Dashboard - |-------------------------------------------------------------------------- - */ - 'usage' => [ - 'title' => 'Usage & Limits', - 'subtitle' => 'Monitor your workspace usage and available features', - - 'packages' => [ - 'title' => 'Active Packages', - 'subtitle' => 'Your current subscription packages', - 'empty' => 'No active packages', - 'empty_hint' => 'Contact support to activate your subscription', - 'renews' => 'Renews :time', - ], - - 'badges' => [ - 'base' => 'Base', - 'addon' => 'Addon', - 'active' => 'Active', - 'not_included' => 'Not included', - 'unlimited' => 'Unlimited', - 'enabled' => 'Enabled', - ], - - 'categories' => [ - 'general' => 'General', - ], - - 'warnings' => [ - 'approaching_limit' => 'Approaching limit - :remaining remaining', - ], - - 'empty' => [ - 'title' => 'No usage data available', - 'hint' => 'Usage will appear here once you start using features', - ], - - 'active_boosts' => [ - 'title' => 'Active Boosts', - 'subtitle' => 'One-time top-ups for additional capacity', - 'remaining' => 'remaining', - ], - - 'duration' => [ - 'cycle_bound' => 'Expires at cycle end', - 'expires' => 'Expires :time', - 'permanent' => 'Permanent', - ], - - 'cta' => [ - 'title' => 'Need more capacity?', - 'subtitle' => 'Upgrade your package or add boosts to increase your limits', - 'add_boosts' => 'Add Boosts', - 'view_plans' => 'View Plans', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Boost Purchase - |-------------------------------------------------------------------------- - */ - 'boosts' => [ - 'title' => 'Purchase Boost', - 'subtitle' => 'Add one-time top-ups to increase your limits', - - 'types' => [ - 'unlimited' => 'Unlimited', - 'enable' => 'Enable', - ], - - 'duration' => [ - 'cycle_bound' => 'Expires at cycle end', - 'limited' => 'Limited duration', - 'permanent' => 'Permanent', - ], - - 'actions' => [ - 'purchase' => 'Purchase', - 'back' => 'Back to Usage', - ], - - 'empty' => [ - 'title' => 'No boosts available', - 'hint' => 'Boost options will appear here when configured', - ], - - 'info' => [ - 'title' => 'About Boosts', - 'cycle_bound' => 'Expires at the end of your billing cycle, unused capacity does not roll over', - 'duration_based' => 'Valid for a specific time period from purchase', - 'permanent' => 'One-time purchase that never expires', - ], - - 'labels' => [ - 'cycle_bound' => 'Cycle-bound:', - 'duration_based' => 'Duration-based:', - 'permanent' => 'Permanent:', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Settings Page - |-------------------------------------------------------------------------- - */ - 'settings' => [ - 'title' => 'Account Settings', - 'subtitle' => 'Manage your account settings and preferences', - - 'sections' => [ - 'profile' => [ - 'title' => 'Profile Information', - 'description' => 'Update your account\'s profile information and email address.', - ], - 'preferences' => [ - 'title' => 'Preferences', - 'description' => 'Configure your language, timezone, and display preferences.', - ], - 'two_factor' => [ - 'title' => 'Two-Factor Authentication', - 'description' => 'Add additional security to your account using two-factor authentication.', - ], - 'password' => [ - 'title' => 'Update Password', - 'description' => 'Ensure your account is using a long, random password to stay secure.', - ], - 'delete_account' => [ - 'title' => 'Delete Account', - 'description' => 'Permanently delete your account and all of its data.', - ], - ], - - 'fields' => [ - 'name' => 'Name', - 'name_placeholder' => 'Your name', - 'email' => 'Email', - 'email_placeholder' => 'your@email.com', - 'language' => 'Language', - 'timezone' => 'Timezone', - 'time_format' => 'Time Format', - 'time_format_12' => '12-hour (AM/PM)', - 'time_format_24' => '24-hour', - 'week_starts_on' => 'Week Starts On', - 'week_sunday' => 'Sunday', - 'week_monday' => 'Monday', - 'current_password' => 'Current Password', - 'new_password' => 'New Password', - 'confirm_password' => 'Confirm Password', - 'verification_code' => 'Verification Code', - 'verification_code_placeholder' => 'Enter 6-digit code', - 'delete_reason' => 'Reason for leaving (optional)', - 'delete_reason_placeholder' => 'Help us improve by sharing why you\'re leaving...', - ], - - 'actions' => [ - 'save_profile' => 'Save Profile', - 'save_preferences' => 'Save Preferences', - 'update_password' => 'Update Password', - 'enable' => 'Enable', - 'disable' => 'Disable', - 'confirm' => 'Confirm', - 'cancel' => 'Cancel', - 'view_recovery_codes' => 'View Recovery Codes', - 'regenerate_codes' => 'Regenerate Codes', - 'delete_account' => 'Delete Account', - 'request_deletion' => 'Request Account Deletion', - 'cancel_deletion' => 'Cancel Deletion', - ], - - 'two_factor' => [ - 'not_enabled' => 'Two-factor authentication is not enabled.', - 'not_enabled_description' => 'When two factor authentication is enabled, you will be prompted for a secure, random token during authentication.', - 'setup_instructions' => 'Scan the QR code below with your authenticator app (Google Authenticator, Authy, etc.), or enter the secret key manually.', - 'secret_key' => 'Secret Key:', - 'enabled' => 'Two-factor authentication is enabled.', - 'recovery_codes_warning' => 'Store these recovery codes securely. They can be used to access your account if you lose your 2FA device.', - ], - - 'delete' => [ - 'warning_title' => 'Warning: This action is irreversible', - 'warning_delay' => 'Your account will be deleted in 7 days', - 'warning_workspaces' => 'All workspaces you own will be permanently removed', - 'warning_content' => 'All content, media, and settings will be erased', - 'warning_email' => 'You\'ll receive an email with options to delete immediately or cancel', - 'scheduled_title' => 'Account Deletion Scheduled', - 'scheduled_description' => 'Your account will be automatically deleted on :date (in :days days).', - 'scheduled_email_note' => 'Check your email for a link to delete immediately or cancel this request.', - 'initial_description' => 'Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.', - ], - - 'messages' => [ - 'profile_updated' => 'Profile updated successfully.', - 'preferences_updated' => 'Preferences saved.', - 'password_updated' => 'Password changed successfully.', - 'two_factor_upgrading' => 'Two-factor authentication is currently being upgraded. Please try again later.', - 'deletion_scheduled' => 'Account deletion scheduled. Check your email for options.', - 'deletion_cancelled' => 'Account deletion has been cancelled.', - ], - - 'nav' => [ - 'profile' => 'Profile', - 'preferences' => 'Preferences', - 'security' => 'Security', - 'password' => 'Password', - 'danger_zone' => 'Danger Zone', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Profile Page - |-------------------------------------------------------------------------- - */ - 'profile' => [ - 'member_since' => 'Member since :date', - - 'sections' => [ - 'quotas' => 'Usage & Quotas', - 'services' => 'Services', - 'activity' => 'Recent Activity', - 'quick_actions' => 'Quick Actions', - ], - - 'quotas' => [ - 'unlimited' => 'Unlimited', - 'need_more' => 'Need more?', - 'need_more_description' => 'Upgrade to unlock higher limits and more features.', - ], - - 'activity' => [ - 'no_activity' => 'No recent activity', - ], - - 'actions' => [ - 'settings' => 'Settings', - 'upgrade' => 'Upgrade', - 'edit_profile' => 'Edit Profile', - 'change_password' => 'Change Password', - 'export_data' => 'Export Data', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Content Manager (content-manager.blade.php) - |-------------------------------------------------------------------------- - */ - 'content_manager' => [ - 'title' => 'Content Manager', - 'subtitle' => 'Local content management with WordPress sync', - 'actions' => [ - 'new_content' => 'New Content', - 'sync_all' => 'Sync All', - 'purge_cdn' => 'Purge CDN', - ], - 'tabs' => [ - 'dashboard' => 'Dashboard', - 'kanban' => 'Kanban', - 'calendar' => 'Calendar', - 'list' => 'List', - 'webhooks' => 'Webhooks', - ], - 'command' => [ - 'placeholder' => 'Search content or run commands...', - 'sync_all' => 'Sync all content', - 'purge_cache' => 'Purge CDN cache', - 'open_wordpress' => 'Open WordPress', - 'no_results' => 'No results found', - ], - 'preview' => [ - 'sync_label' => 'Sync', - 'author' => 'Author', - 'excerpt' => 'Excerpt', - 'content_clean_html' => 'Content (Clean HTML)', - 'taxonomies' => 'Taxonomies', - 'structured_content' => 'Structured Content (JSON)', - 'created' => 'Created', - 'modified' => 'Modified', - 'last_synced' => 'Last Synced', - 'never' => 'Never', - 'wordpress_id' => 'WordPress ID', - ], - // Dashboard tab - 'dashboard' => [ - 'total_content' => 'Total Content', - 'posts' => 'Posts', - 'published' => 'Published', - 'drafts' => 'Drafts', - 'synced' => 'Synced', - 'failed' => 'Failed', - 'content_created' => 'Content created (last 30 days)', - 'tooltip_posts' => 'Posts', - 'content_by_type' => 'Content by type', - 'pages' => 'Pages', - 'sync_status' => 'Sync status', - 'pending' => 'Pending', - 'stale' => 'Stale', - 'taxonomies' => 'Taxonomies', - 'categories' => 'Categories', - 'tags' => 'Tags', - 'webhooks_today' => 'Webhooks today', - 'received' => 'Received', - ], - // Kanban tab - 'kanban' => [ - 'no_items' => 'No items', - ], - // Calendar tab - 'calendar' => [ - 'content_schedule' => 'Content schedule', - 'legend' => [ - 'published' => 'Published', - 'draft' => 'Draft', - 'scheduled' => 'Scheduled', - ], - 'days' => [ - 'sun' => 'Sun', - 'mon' => 'Mon', - 'tue' => 'Tue', - 'wed' => 'Wed', - 'thu' => 'Thu', - 'fri' => 'Fri', - 'sat' => 'Sat', - ], - 'more' => '+:count more', - ], - // List tab - 'list' => [ - 'search_placeholder' => 'Search content...', - 'filters' => [ - 'all_types' => 'All Types', - 'posts' => 'Posts', - 'pages' => 'Pages', - 'all_status' => 'All Status', - 'published' => 'Published', - 'draft' => 'Draft', - 'pending' => 'Pending', - 'scheduled' => 'Scheduled', - 'private' => 'Private', - 'all_sync' => 'All Sync Status', - 'synced' => 'Synced', - 'stale' => 'Stale', - 'failed' => 'Failed', - 'all_sources' => 'All Sources', - 'native' => 'Native', - 'host_uk' => 'Host UK', - 'satellite' => 'Satellite', - 'wordpress_legacy' => 'WordPress (Legacy)', - 'all_categories' => 'All Categories', - 'clear' => 'Clear', - 'clear_filters' => 'Clear filters', - ], - 'columns' => [ - 'title' => 'Title', - 'type' => 'Type', - 'status' => 'Status', - 'sync' => 'Sync', - 'categories' => 'Categories', - 'created' => 'Created', - 'last_synced' => 'Last Synced', - ], - 'never' => 'Never', - 'no_content' => 'No content found', - 'edit' => 'Edit', - 'preview' => 'Preview', - ], - // Webhooks tab - 'webhooks' => [ - 'today' => 'Today', - 'completed' => 'Completed', - 'pending' => 'Pending', - 'failed' => 'Failed', - 'columns' => [ - 'id' => 'ID', - 'event' => 'Event', - 'content' => 'Content', - 'status' => 'Status', - 'source_ip' => 'Source IP', - 'received' => 'Received', - 'processed' => 'Processed', - ], - 'actions' => [ - 'retry' => 'Retry', - 'view_payload' => 'View Payload', - ], - 'error' => 'Error', - 'no_logs' => 'No webhook logs found', - 'no_logs_description' => 'Webhooks from WordPress will appear here', - 'endpoint' => [ - 'title' => 'Webhook Endpoint', - 'description' => 'Configure your WordPress plugin to send webhooks to this endpoint with the :header header containing the HMAC-SHA256 signature.', - ], - 'payload_modal' => [ - 'title' => 'Webhook Payload', - ], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Content (content.blade.php) - |-------------------------------------------------------------------------- - */ - 'content' => [ - 'title' => 'Content', - 'subtitle' => 'Manage your WordPress content', - 'new_post' => 'New Post', - 'new_page' => 'New Page', - 'tabs' => [ - 'posts' => 'Posts', - 'pages' => 'Pages', - 'media' => 'Media', - ], - 'filters' => [ - 'all_status' => 'All Status', - 'published' => 'Published', - 'draft' => 'Draft', - 'pending' => 'Pending', - 'private' => 'Private', - 'sort' => 'Sort', - 'date' => 'Date', - 'title' => 'Title', - 'status' => 'Status', - ], - 'columns' => [ - 'id' => 'ID', - 'title' => 'Title', - 'status' => 'Status', - 'date' => 'Date', - 'modified' => 'Modified', - ], - 'untitled' => 'Untitled', - 'no_media' => 'No media found', - 'no_posts' => 'No posts found', - 'no_pages' => 'No pages found', - 'actions' => [ - 'edit' => 'Edit', - 'view' => 'View', - 'duplicate' => 'Duplicate', - 'delete' => 'Delete', - 'delete_confirm' => 'Are you sure you want to delete this?', - ], - 'editor' => [ - 'new' => 'New', - 'edit' => 'Edit', - 'title_label' => 'Title', - 'title_placeholder' => 'Enter title...', - 'status_label' => 'Status', - 'status' => [ - 'draft' => 'Draft', - 'publish' => 'Published', - 'pending' => 'Pending Review', - 'private' => 'Private', - ], - 'excerpt_label' => 'Excerpt', - 'excerpt_placeholder' => 'Brief summary...', - 'content_label' => 'Content', - 'content_placeholder' => 'Write your content here... (HTML supported)', - 'cancel' => 'Cancel', - 'create' => 'Create', - 'update' => 'Update', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Content Editor (content-editor.blade.php) - |-------------------------------------------------------------------------- - */ - 'content_editor' => [ - 'title' => [ - 'edit' => 'Edit Content', - 'new' => 'New Content', - ], - 'save_status' => [ - 'last_saved' => 'Last saved :time', - 'not_saved' => 'Not saved', - 'unsaved_changes' => 'Unsaved changes', - 'revisions' => ':count revision|:count revisions', - ], - 'actions' => [ - 'ai_assist' => 'AI Assist', - 'save_draft' => 'Save Draft', - 'schedule' => 'Schedule', - 'publish' => 'Publish', - ], - 'status' => [ - 'draft' => 'Draft', - 'pending' => 'Pending', - 'publish' => 'Published', - 'future' => 'Scheduled', - 'private' => 'Private', - ], - 'fields' => [ - 'title_placeholder' => 'Enter title...', - 'url_slug' => 'URL Slug', - 'type' => 'Type', - 'type_page' => 'Page', - 'type_post' => 'Post', - 'excerpt' => 'Excerpt', - 'excerpt_description' => 'Brief summary for search results and previews', - 'content' => 'Content', - 'content_placeholder' => 'Start writing your content...', - ], - 'sidebar' => [ - 'settings' => 'Settings', - 'seo' => 'SEO', - 'media' => 'Media', - 'history' => 'History', - ], - 'scheduling' => [ - 'title' => 'Scheduling', - 'schedule_later' => 'Schedule for later', - 'schedule_description' => 'Publish at a specific date and time', - 'publish_date' => 'Publish date', - ], - 'categories' => [ - 'title' => 'Categories', - 'none' => 'No categories yet', - ], - 'tags' => [ - 'title' => 'Tags', - 'add_placeholder' => 'Add tag...', - ], - 'seo' => [ - 'title' => 'Search Engine Optimisation', - 'meta_title' => 'Meta title', - 'meta_title_description' => 'Recommended: 50-60 characters', - 'meta_title_placeholder' => 'Page title', - 'characters' => ':count/:max characters', - 'meta_description' => 'Meta description', - 'meta_description_description' => 'Recommended: 150-160 characters', - 'meta_description_placeholder' => 'Brief description for search results...', - 'focus_keywords' => 'Focus keywords', - 'focus_keywords_placeholder' => 'keyword1, keyword2, keyword3', - 'preview_title' => 'Search preview', - 'preview_description_fallback' => 'Page description will appear here...', - ], - 'media' => [ - 'featured_image' => 'Featured Image', - 'drag_drop' => 'Drag and drop an image, or', - 'browse' => 'browse', - 'upload' => 'Upload', - 'select_from_library' => 'Or select from library', - ], - 'revisions' => [ - 'title' => 'Revision History', - 'no_revisions' => 'No revisions yet. Save your content to create the first revision.', - 'save_first' => 'Save your content first to start tracking revisions.', - 'restore' => 'Restore', - 'words' => ':count words', - 'change_types' => [ - 'publish' => 'Publish', - 'edit' => 'Edit', - 'restore' => 'Restore', - 'schedule' => 'Schedule', - ], - ], - 'ai' => [ - 'command_placeholder' => 'Search AI commands or type a prompt...', - 'quick_actions' => 'Quick Actions', - 'result_title' => 'AI Result', - 'discard' => 'Discard', - 'insert' => 'Insert', - 'replace_content' => 'Replace Content', - 'run' => 'Run', - 'processing' => 'Processing...', - 'thinking' => 'AI is thinking...', - 'cancel' => 'Cancel', - 'footer_close' => 'Press :key to close', - 'footer_powered' => 'Powered by Claude and Gemini', - ], - ], -]; diff --git a/packages/core-admin/src/Mod/Hub/Migrations/2026_01_11_000001_create_honeypot_hits_table.php b/packages/core-admin/src/Mod/Hub/Migrations/2026_01_11_000001_create_honeypot_hits_table.php deleted file mode 100644 index 75b5bce..0000000 --- a/packages/core-admin/src/Mod/Hub/Migrations/2026_01_11_000001_create_honeypot_hits_table.php +++ /dev/null @@ -1,35 +0,0 @@ -id(); - $table->string('ip_address', 45); - $table->string('user_agent', 1000)->nullable(); - $table->string('referer', 2000)->nullable(); - $table->string('path', 255); - $table->string('method', 10); - $table->json('headers')->nullable(); - $table->string('country', 2)->nullable(); - $table->string('city', 100)->nullable(); - $table->boolean('is_bot')->default(false); - $table->string('bot_name', 100)->nullable(); - $table->timestamps(); - - $table->index('ip_address'); - $table->index('created_at'); - $table->index('is_bot'); - }); - } - - public function down(): void - { - Schema::dropIfExists('honeypot_hits'); - } -}; diff --git a/packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000001_create_platform_services_table.php b/packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000001_create_platform_services_table.php deleted file mode 100644 index b2a9146..0000000 --- a/packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000001_create_platform_services_table.php +++ /dev/null @@ -1,49 +0,0 @@ -id(); - $table->string('code', 50)->unique(); // 'bio', 'social' - matches module's service key - $table->string('module', 50); // 'WebPage', 'Social' - source module name - $table->string('name', 100); // 'Bio' - display name - $table->string('tagline', 200)->nullable(); // 'Link-in-bio pages' - short marketing tagline - $table->text('description')->nullable(); // Marketing description - $table->string('icon', 50)->nullable(); // Font Awesome icon name - $table->string('color', 20)->nullable(); // Tailwind color name - $table->string('marketing_domain', 100)->nullable(); // 'lthn.test', 'social.host.test' - $table->string('marketing_url', 255)->nullable(); // Full marketing page URL override - $table->string('docs_url', 255)->nullable(); // Documentation URL - $table->boolean('is_enabled')->default(true); // Global enable/disable - $table->boolean('is_public')->default(true); // Show in public service catalogue - $table->boolean('is_featured')->default(false); // Feature in marketing - $table->string('entitlement_code', 50)->nullable(); // 'core.srv.bio' - links to entitlement system - $table->integer('sort_order')->default(50); - $table->json('metadata')->nullable(); // Extensible for future needs - $table->timestamps(); - - $table->index('is_enabled'); - $table->index('is_public'); - $table->index('sort_order'); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('platform_services'); - } -}; diff --git a/packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000002_add_website_class_to_platform_services.php b/packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000002_add_website_class_to_platform_services.php deleted file mode 100644 index c55aabe..0000000 --- a/packages/core-admin/src/Mod/Hub/Migrations/2026_01_20_000002_add_website_class_to_platform_services.php +++ /dev/null @@ -1,35 +0,0 @@ -string('website_class', 150)->nullable()->after('marketing_domain'); - - $table->index('marketing_domain'); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('platform_services', function (Blueprint $table) { - $table->dropIndex(['marketing_domain']); - $table->dropColumn('website_class'); - }); - } -}; diff --git a/packages/core-admin/src/Mod/Hub/Models/HoneypotHit.php b/packages/core-admin/src/Mod/Hub/Models/HoneypotHit.php deleted file mode 100644 index 5373e89..0000000 --- a/packages/core-admin/src/Mod/Hub/Models/HoneypotHit.php +++ /dev/null @@ -1,206 +0,0 @@ - 'array', - 'is_bot' => 'boolean', - ]; - - /** - * Severity levels for honeypot hits. - * - * These can be overridden via config('core.bouncer.honeypot.severity_levels'). - */ - public const SEVERITY_WARNING = 'warning'; // Ignored robots.txt (/teapot) - public const SEVERITY_CRITICAL = 'critical'; // Active probing (/admin) - - /** - * Default critical paths (used when config is not available). - */ - protected static array $defaultCriticalPaths = [ - 'admin', - 'wp-admin', - 'wp-login.php', - 'administrator', - 'phpmyadmin', - '.env', - '.git', - ]; - - /** - * Get the severity level string for 'critical'. - */ - public static function getSeverityCritical(): string - { - return config('core.bouncer.honeypot.severity_levels.critical', self::SEVERITY_CRITICAL); - } - - /** - * Get the severity level string for 'warning'. - */ - public static function getSeverityWarning(): string - { - return config('core.bouncer.honeypot.severity_levels.warning', self::SEVERITY_WARNING); - } - - /** - * Get the list of critical paths. - */ - public static function getCriticalPaths(): array - { - return config('core.bouncer.honeypot.critical_paths', self::$defaultCriticalPaths); - } - - /** - * Determine severity based on path. - * - * Uses configurable critical paths from config('core.bouncer.honeypot.critical_paths'). - */ - public static function severityForPath(string $path): string - { - $criticalPaths = self::getCriticalPaths(); - - $path = ltrim($path, '/'); - - foreach ($criticalPaths as $critical) { - if (str_starts_with($path, $critical)) { - return self::getSeverityCritical(); - } - } - - return self::getSeverityWarning(); - } - - /** - * Known bad bot patterns. - */ - protected static array $botPatterns = [ - 'AhrefsBot' => 'Ahrefs', - 'SemrushBot' => 'Semrush', - 'MJ12bot' => 'Majestic', - 'DotBot' => 'Moz', - 'BLEXBot' => 'BLEXBot', - 'PetalBot' => 'Petal', - 'YandexBot' => 'Yandex', - 'bingbot' => 'Bing', - 'Googlebot' => 'Google', - 'Bytespider' => 'ByteDance', - 'GPTBot' => 'OpenAI', - 'CCBot' => 'Common Crawl', - 'ClaudeBot' => 'Anthropic', - 'anthropic-ai' => 'Anthropic', - 'DataForSeoBot' => 'DataForSEO', - 'serpstatbot' => 'Serpstat', - 'curl/' => 'cURL', - 'python-requests' => 'Python', - 'Go-http-client' => 'Go', - 'wget' => 'Wget', - 'scrapy' => 'Scrapy', - 'HeadlessChrome' => 'HeadlessChrome', - 'PhantomJS' => 'PhantomJS', - ]; - - /** - * Detect if the user agent is a known bot. - */ - public static function detectBot(?string $userAgent): ?string - { - if (empty($userAgent)) { - return 'Unknown (no UA)'; - } - - foreach (self::$botPatterns as $pattern => $name) { - if (stripos($userAgent, $pattern) !== false) { - return $name; - } - } - - return null; - } - - /** - * Scope for recent hits. - */ - public function scopeRecent($query, int $hours = 24) - { - return $query->where('created_at', '>=', now()->subHours($hours)); - } - - /** - * Scope for a specific IP. - */ - public function scopeFromIp($query, string $ip) - { - return $query->where('ip_address', $ip); - } - - /** - * Scope for bots only. - */ - public function scopeBots($query) - { - return $query->where('is_bot', true); - } - - /** - * Scope for critical severity (blocklist candidates). - */ - public function scopeCritical($query) - { - return $query->where('severity', self::SEVERITY_CRITICAL); - } - - /** - * Scope for warning severity. - */ - public function scopeWarning($query) - { - return $query->where('severity', self::SEVERITY_WARNING); - } - - /** - * Get stats for the dashboard. - */ - public static function getStats(): array - { - return [ - 'total' => self::count(), - 'today' => self::whereDate('created_at', today())->count(), - 'this_week' => self::where('created_at', '>=', now()->subWeek())->count(), - 'unique_ips' => self::distinct('ip_address')->count('ip_address'), - 'bots' => self::where('is_bot', true)->count(), - 'top_ips' => self::selectRaw('ip_address, COUNT(*) as hits') - ->groupBy('ip_address') - ->orderByDesc('hits') - ->limit(10) - ->get(), - 'top_bots' => self::selectRaw('bot_name, COUNT(*) as hits') - ->whereNotNull('bot_name') - ->groupBy('bot_name') - ->orderByDesc('hits') - ->limit(10) - ->get(), - ]; - } -} diff --git a/packages/core-admin/src/Mod/Hub/Models/Service.php b/packages/core-admin/src/Mod/Hub/Models/Service.php deleted file mode 100644 index edf4884..0000000 --- a/packages/core-admin/src/Mod/Hub/Models/Service.php +++ /dev/null @@ -1,149 +0,0 @@ - 'boolean', - 'is_public' => 'boolean', - 'is_featured' => 'boolean', - 'metadata' => 'array', - 'sort_order' => 'integer', - ]; - - /** - * Scope: only enabled services. - */ - public function scopeEnabled(Builder $query): Builder - { - return $query->where('is_enabled', true); - } - - /** - * Scope: only public services (visible in catalogue). - */ - public function scopePublic(Builder $query): Builder - { - return $query->where('is_public', true); - } - - /** - * Scope: only featured services. - */ - public function scopeFeatured(Builder $query): Builder - { - return $query->where('is_featured', true); - } - - /** - * Scope: order by sort_order, then name. - */ - public function scopeOrdered(Builder $query): Builder - { - return $query->orderBy('sort_order')->orderBy('name'); - } - - /** - * Scope: services with a marketing domain configured. - */ - public function scopeWithMarketingDomain(Builder $query): Builder - { - return $query->whereNotNull('marketing_domain') - ->whereNotNull('website_class'); - } - - /** - * Find a service by its code. - */ - public static function findByCode(string $code): ?self - { - return self::where('code', $code)->first(); - } - - /** - * Get domain → website_class mappings for enabled services. - * - * Used by DomainResolver for routing marketing domains. - * - * @return array domain => website_class - */ - public static function getDomainMappings(): array - { - return self::enabled() - ->withMarketingDomain() - ->pluck('website_class', 'marketing_domain') - ->toArray(); - } - - /** - * Get the marketing URL, falling back to marketing_domain if no override set. - */ - public function getMarketingUrlAttribute(?string $value): ?string - { - if ($value) { - return $value; - } - - if ($this->marketing_domain) { - $scheme = app()->environment('local') ? 'http' : 'https'; - - return "{$scheme}://{$this->marketing_domain}"; - } - - return null; - } - - /** - * Check if a specific metadata key exists. - */ - public function hasMeta(string $key): bool - { - return isset($this->metadata[$key]); - } - - /** - * Get a specific metadata value. - */ - public function getMeta(string $key, mixed $default = null): mixed - { - return $this->metadata[$key] ?? $default; - } - - /** - * Set a metadata value. - */ - public function setMeta(string $key, mixed $value): void - { - $metadata = $this->metadata ?? []; - $metadata[$key] = $value; - $this->metadata = $metadata; - } -} diff --git a/packages/core-admin/src/Mod/Hub/Tests/Feature/HubRoutesTest.php b/packages/core-admin/src/Mod/Hub/Tests/Feature/HubRoutesTest.php deleted file mode 100644 index 0c5ea59..0000000 --- a/packages/core-admin/src/Mod/Hub/Tests/Feature/HubRoutesTest.php +++ /dev/null @@ -1,255 +0,0 @@ -user = User::factory()->create([ - 'account_type' => 'hades', - ]); -}); - -describe('Hub Routes (Guest)', function () { - it('redirects guests from hub home to login', function () { - $this->get('/hub') - ->assertRedirect(); - }); - - it('redirects guests from hub dashboard to login', function () { - $this->get('/hub/dashboard') - ->assertRedirect(); - }); - - it('redirects guests from SocialHost to login', function () { - $this->get('/hub/social') - ->assertRedirect(); - }); - - it('redirects guests from profile to login', function () { - $this->get('/hub/profile') - ->assertRedirect(); - }); - - it('redirects guests from settings to login', function () { - $this->get('/hub/settings') - ->assertRedirect(); - }); - - it('redirects guests from billing to login', function () { - $this->get('/hub/billing') - ->assertRedirect(); - }); - - it('redirects guests from analytics to login', function () { - $this->get('/hub/analytics') - ->assertRedirect(); - }); - - it('redirects guests from bio to login', function () { - $this->get('/hub/bio') - ->assertRedirect(); - }); - - it('redirects guests from notify to login', function () { - $this->get('/hub/notify') - ->assertRedirect(); - }); - - it('redirects guests from trust to login', function () { - $this->get('/hub/trust') - ->assertRedirect(); - }); -}); - -describe('Hub Home (Authenticated)', function () { - it('renders hub home with welcome banner', function () { - $this->actingAs($this->user) - ->get('/hub') - ->assertOk() - ->assertSee('Dashboard') - ->assertSee('Your creator toolkit at a glance'); - }); - - it('displays service cards on hub home', function () { - $this->actingAs($this->user) - ->get('/hub') - ->assertOk() - ->assertSee('BioHost') - ->assertSee('SocialHost'); - }); -}); - -describe('Hub Profile (Authenticated)', function () { - it('renders profile page with user information', function () { - $this->actingAs($this->user) - ->get('/hub/profile') - ->assertOk() - ->assertSee($this->user->name) - ->assertSee($this->user->email); - }); - - it('displays tier badge on profile', function () { - $this->actingAs($this->user) - ->get('/hub/profile') - ->assertOk() - ->assertSee('Settings'); - }); -}); - -describe('Hub Settings (Authenticated)', function () { - it('renders settings page with profile form', function () { - $this->actingAs($this->user) - ->get('/hub/settings') - ->assertOk() - ->assertSee('Account Settings') - ->assertSee('Profile Information'); - }); - - it('displays save button on settings', function () { - $this->actingAs($this->user) - ->get('/hub/settings') - ->assertOk() - ->assertSee('Save Profile'); - }); -}); - -describe('Billing Dashboard (Authenticated)', function () { - it('renders billing dashboard with current plan', function () { - $this->actingAs($this->user) - ->get('/hub/billing') - ->assertOk() - ->assertSee('Billing') - ->assertSee('Current Plan'); - }); - - it('displays plan upgrade option', function () { - $this->actingAs($this->user) - ->get('/hub/billing') - ->assertOk() - ->assertSee('Upgrade'); - }); -}); - -describe('SocialHost Dashboard (Authenticated)', function () { - it('renders social dashboard with analytics heading', function () { - $this->actingAs($this->user) - ->get('/hub/social') - ->assertOk() - ->assertSee('Dashboard') - ->assertSee('social accounts'); - }); - - it('displays period selector on social dashboard', function () { - $this->actingAs($this->user) - ->get('/hub/social') - ->assertOk() - ->assertSee('7 days') - ->assertSee('30 days'); - }); -}); - -describe('AnalyticsHost Index (Authenticated)', function () { - it('renders analytics index with page header', function () { - $this->actingAs($this->user) - ->get('/hub/analytics') - ->assertOk() - ->assertSee('Analytics') - ->assertSee('Privacy-focused'); - }); - - it('displays add website button on analytics', function () { - $this->actingAs($this->user) - ->get('/hub/analytics') - ->assertOk() - ->assertSee('Add Mod'); - }); -}); - -describe('BioHost Index (Authenticated)', function () { - it('renders bio index with page header', function () { - $this->actingAs($this->user) - ->get('/hub/bio') - ->assertOk() - ->assertSee('Bio'); - }); - - it('displays new bio page button', function () { - $this->actingAs($this->user) - ->get('/hub/bio') - ->assertOk() - ->assertSee('New'); - }); -}); - -describe('NotifyHost Index (Authenticated)', function () { - it('renders notify index with page header', function () { - $this->actingAs($this->user) - ->get('/hub/notify') - ->assertOk() - ->assertSee('Notify'); - }); - - it('displays add website button on notify', function () { - $this->actingAs($this->user) - ->get('/hub/notify') - ->assertOk() - ->assertSee('Add'); - }); -}); - -describe('TrustHost Index (Authenticated)', function () { - it('renders trust index with page header', function () { - $this->actingAs($this->user) - ->get('/hub/trust') - ->assertOk() - ->assertSee('Trust'); - }); - - it('displays add campaign button on trust', function () { - $this->actingAs($this->user) - ->get('/hub/trust') - ->assertOk() - ->assertSee('Add'); - }); -}); - -describe('Dev API Routes (Hades only)', function () { - it('allows Hades users to access dev logs API', function () { - $this->actingAs($this->user) - ->getJson('/hub/api/dev/logs') - ->assertOk() - ->assertJsonIsArray(); - }); - - it('allows Hades users to access dev routes API', function () { - $this->actingAs($this->user) - ->getJson('/hub/api/dev/routes') - ->assertOk() - ->assertJsonIsArray(); - }); - - it('allows Hades users to access dev session API', function () { - $this->actingAs($this->user) - ->getJson('/hub/api/dev/session') - ->assertOk() - ->assertJsonStructure(['id', 'ip', 'user_agent']); - }); - - it('denies non-Hades users access to dev APIs', function () { - $regularUser = User::factory()->create([ - 'account_type' => 'apollo', - ]); - - $this->actingAs($regularUser) - ->getJson('/hub/api/dev/logs') - ->assertForbidden(); - }); -}); diff --git a/packages/core-admin/src/Mod/Hub/Tests/Feature/WorkspaceSwitcherTest.php b/packages/core-admin/src/Mod/Hub/Tests/Feature/WorkspaceSwitcherTest.php deleted file mode 100644 index 8c75be6..0000000 --- a/packages/core-admin/src/Mod/Hub/Tests/Feature/WorkspaceSwitcherTest.php +++ /dev/null @@ -1,198 +0,0 @@ -user = User::factory()->create(); - - $this->workspaceA = Workspace::factory()->create([ - 'name' => 'Workspace A', - 'slug' => 'workspace-a', - ]); - - $this->workspaceB = Workspace::factory()->create([ - 'name' => 'Workspace B', - 'slug' => 'workspace-b', - ]); - - // Attach user to both workspaces - $this->user->hostWorkspaces()->attach($this->workspaceA, ['role' => 'owner', 'is_default' => true]); - $this->user->hostWorkspaces()->attach($this->workspaceB, ['role' => 'editor']); - } - - public function test_component_loads_with_user_workspaces(): void - { - $this->actingAs($this->user); - - Livewire::test(WorkspaceSwitcher::class) - ->assertSet('workspaces', function ($workspaces) { - return count($workspaces) === 2 - && isset($workspaces['workspace-a']) - && isset($workspaces['workspace-b']); - }) - ->assertSet('current.slug', 'workspace-a'); // Default workspace - } - - public function test_current_workspace_is_set_from_session(): void - { - $this->actingAs($this->user); - - // Set workspace B in session - session(['workspace' => 'workspace-b']); - - Livewire::test(WorkspaceSwitcher::class) - ->assertSet('current.slug', 'workspace-b'); - } - - public function test_switch_workspace_updates_session(): void - { - $this->actingAs($this->user); - - // Initialize - currentModel() sets session to default workspace - $service = app(WorkspaceService::class); - $model = $service->currentModel(); - $this->assertEquals('workspace-a', $model->slug); - $this->assertEquals('workspace-a', session('workspace')); - - Livewire::test(WorkspaceSwitcher::class) - ->call('switchWorkspace', 'workspace-b'); - - // Check session was updated - $this->assertEquals('workspace-b', session('workspace')); - } - - public function test_switch_workspace_dispatches_event(): void - { - $this->actingAs($this->user); - - Livewire::test(WorkspaceSwitcher::class) - ->call('switchWorkspace', 'workspace-b') - ->assertDispatched('workspace-changed', workspace: 'workspace-b'); - } - - public function test_switch_workspace_redirects(): void - { - $this->actingAs($this->user); - - Livewire::test(WorkspaceSwitcher::class) - ->call('switchWorkspace', 'workspace-b') - ->assertRedirect(); - } - - public function test_cannot_switch_to_workspace_user_does_not_belong_to(): void - { - $this->actingAs($this->user); - - $otherWorkspace = Workspace::factory()->create(['slug' => 'other-workspace']); - - Livewire::test(WorkspaceSwitcher::class) - ->call('switchWorkspace', 'other-workspace'); - - // Session should NOT be changed to the other workspace - $this->assertNotEquals('other-workspace', session('workspace')); - } - - public function test_workspace_service_set_current_returns_false_for_invalid_workspace(): void - { - $this->actingAs($this->user); - - $service = app(WorkspaceService::class); - - $this->assertFalse($service->setCurrent('nonexistent-workspace')); - $this->assertTrue($service->setCurrent('workspace-b')); - } - - public function test_switched_workspace_persists_across_component_instances(): void - { - $this->actingAs($this->user); - - // Initialize session with default workspace - app(WorkspaceService::class)->currentModel(); - - // Switch workspace - Livewire::test(WorkspaceSwitcher::class) - ->call('switchWorkspace', 'workspace-b'); - - // Create a NEW component instance - it should see the switched workspace - // Note: We need to manually set the session since Livewire tests are isolated - session(['workspace' => 'workspace-b']); - - Livewire::test(WorkspaceSwitcher::class) - ->assertSet('current.slug', 'workspace-b') - ->assertSet('current.name', 'Workspace B'); - } - - public function test_switch_workspace_closes_dropdown(): void - { - $this->actingAs($this->user); - - Livewire::test(WorkspaceSwitcher::class) - ->set('open', true) - ->call('switchWorkspace', 'workspace-b') - ->assertSet('open', false); - } - - public function test_component_renders_all_workspaces_in_dropdown(): void - { - $this->actingAs($this->user); - - Livewire::test(WorkspaceSwitcher::class) - ->assertSee('Workspace A') - ->assertSee('Workspace B') - ->assertSee('Switch Workspace'); - } - - public function test_switch_workspace_redirects_to_captured_url(): void - { - $this->actingAs($this->user); - - // Set a specific returnUrl and verify redirect uses it - Livewire::test(WorkspaceSwitcher::class) - ->set('returnUrl', 'https://example.com/test-page') - ->call('switchWorkspace', 'workspace-b') - ->assertRedirect('https://example.com/test-page'); - } - - public function test_return_url_is_captured_on_mount(): void - { - $this->actingAs($this->user); - - // Just verify returnUrl is set (not empty) - Livewire::test(WorkspaceSwitcher::class) - ->assertSet('returnUrl', fn ($url) => ! empty($url)); - } - - public function test_switch_workspace_falls_back_to_dashboard_if_no_return_url(): void - { - $this->actingAs($this->user); - - // If returnUrl is empty, should redirect to dashboard - Livewire::test(WorkspaceSwitcher::class) - ->set('returnUrl', '') - ->call('switchWorkspace', 'workspace-b') - ->assertRedirect(route('hub.dashboard')); - } -} diff --git a/packages/core-admin/src/Mod/Hub/Tests/UseCase/DashboardBasic.php b/packages/core-admin/src/Mod/Hub/Tests/UseCase/DashboardBasic.php deleted file mode 100644 index d7021f3..0000000 --- a/packages/core-admin/src/Mod/Hub/Tests/UseCase/DashboardBasic.php +++ /dev/null @@ -1,53 +0,0 @@ -user = User::factory()->create([ - 'email' => 'test@example.com', - 'password' => bcrypt('password'), - ]); - - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - }); - - it('can login and view the dashboard with all sections', function () { - // Login - $page = visit('/login'); - - $page->fill('email', 'test@example.com') - ->fill('password', 'password') - ->click(__('pages::pages.login.submit')) - ->assertPathContains('/hub'); - - // Verify dashboard title and subtitle (from translations) - $page->assertSee(__('hub::hub.dashboard.title')) - ->assertSee(__('hub::hub.dashboard.subtitle')); - - // Verify action button - $page->assertSee(__('hub::hub.dashboard.actions.edit_content')); - - // Check activity section - $page->assertSee(__('hub::hub.dashboard.sections.recent_activity')); - - // Check quick actions section - $page->assertSee(__('hub::hub.quick_actions.manage_workspaces.title')) - ->assertSee(__('hub::hub.quick_actions.profile.title')); - }); -}); diff --git a/packages/core-admin/src/Search/Concerns/HasSearchProvider.php b/packages/core-admin/src/Search/Concerns/HasSearchProvider.php deleted file mode 100644 index 77db755..0000000 --- a/packages/core-admin/src/Search/Concerns/HasSearchProvider.php +++ /dev/null @@ -1,49 +0,0 @@ - 'unique-identifier', - * 'title' => 'Result Title', - * 'subtitle' => 'Optional description', - * 'url' => '/path/to/resource', - * 'icon' => 'optional-override-icon', - * 'meta' => ['optional' => 'metadata'], - * ] - * ``` - * - * ## Registration - * - * Providers are typically registered via `SearchProviderRegistry::register()` - * during the AdminPanelBooting event or in a service provider's boot method. - * - * - * @see SearchProviderRegistry For provider registration and discovery - * @see SearchResult For the result data structure - */ -interface SearchProvider -{ - /** - * Get the search type identifier. - * - * This is used for grouping results in the UI and for filtering. - * Examples: 'pages', 'users', 'posts', 'products', 'settings'. - */ - public function searchType(): string; - - /** - * Get the display label for this search type. - * - * This is shown as the group header in the search results. - * Should be a human-readable, translatable string. - */ - public function searchLabel(): string; - - /** - * Get the icon name for this search type. - * - * Used to display an icon next to search results from this provider. - * Should be a valid Heroicon or FontAwesome icon name. - */ - public function searchIcon(): string; - - /** - * Execute a search query. - * - * Searches the provider's data source for matches against the query. - * Should implement fuzzy matching where appropriate for better UX. - * - * @param string $query The search query string - * @param int $limit Maximum number of results to return (default: 5) - * @return Collection Collection of search results - */ - public function search(string $query, int $limit = 5): Collection; - - /** - * Get the URL for a search result. - * - * Generates the navigation URL for a given search result. - * This allows providers to implement custom URL generation logic. - * - * @param mixed $result The search result (model or array) - * @return string The URL to navigate to - */ - public function getUrl(mixed $result): string; - - /** - * Get the priority for ordering in search results. - * - * Lower numbers appear first. Default should be 50. - * Use lower numbers (10-40) for important/frequently accessed resources. - * Use higher numbers (60-100) for less important resources. - */ - public function searchPriority(): int; - - /** - * Check if this provider should be active for the current context. - * - * Override this to implement permission checks or context-based filtering. - * For example, only show certain searches to admin users. - * - * @param object|null $user The authenticated user - * @param object|null $workspace The current workspace context - */ - public function isAvailable(?object $user, ?object $workspace): bool; -} diff --git a/packages/core-admin/src/Search/Providers/AdminPageSearchProvider.php b/packages/core-admin/src/Search/Providers/AdminPageSearchProvider.php deleted file mode 100644 index 8d92e86..0000000 --- a/packages/core-admin/src/Search/Providers/AdminPageSearchProvider.php +++ /dev/null @@ -1,216 +0,0 @@ - - */ - protected array $pages = [ - [ - 'id' => 'dashboard', - 'title' => 'Dashboard', - 'subtitle' => 'Overview and quick actions', - 'url' => '/hub', - 'icon' => 'house', - ], - [ - 'id' => 'workspaces', - 'title' => 'Workspaces', - 'subtitle' => 'Manage your workspaces', - 'url' => '/hub/sites', - 'icon' => 'folders', - ], - [ - 'id' => 'profile', - 'title' => 'Profile', - 'subtitle' => 'Your account profile', - 'url' => '/hub/account', - 'icon' => 'user', - ], - [ - 'id' => 'settings', - 'title' => 'Settings', - 'subtitle' => 'Account settings and preferences', - 'url' => '/hub/account/settings', - 'icon' => 'gear', - ], - [ - 'id' => 'usage', - 'title' => 'Usage & Limits', - 'subtitle' => 'Monitor your usage and quotas', - 'url' => '/hub/account/usage', - 'icon' => 'chart-pie', - ], - [ - 'id' => 'ai-services', - 'title' => 'AI Services', - 'subtitle' => 'Configure AI providers', - 'url' => '/hub/ai-services', - 'icon' => 'sparkles', - ], - [ - 'id' => 'prompts', - 'title' => 'Prompt Manager', - 'subtitle' => 'Manage AI prompts', - 'url' => '/hub/prompts', - 'icon' => 'command', - ], - [ - 'id' => 'content-manager', - 'title' => 'Content Manager', - 'subtitle' => 'Manage WordPress content', - 'url' => '/hub/content-manager', - 'icon' => 'newspaper', - ], - [ - 'id' => 'deployments', - 'title' => 'Deployments', - 'subtitle' => 'View deployment history', - 'url' => '/hub/deployments', - 'icon' => 'rocket', - ], - [ - 'id' => 'databases', - 'title' => 'Databases', - 'subtitle' => 'Database management', - 'url' => '/hub/databases', - 'icon' => 'database', - ], - [ - 'id' => 'console', - 'title' => 'Server Console', - 'subtitle' => 'Terminal access', - 'url' => '/hub/console', - 'icon' => 'terminal', - ], - [ - 'id' => 'analytics', - 'title' => 'Analytics', - 'subtitle' => 'Traffic and performance', - 'url' => '/hub/analytics', - 'icon' => 'chart-line', - ], - [ - 'id' => 'activity', - 'title' => 'Activity Log', - 'subtitle' => 'Recent account activity', - 'url' => '/hub/activity', - 'icon' => 'clock-rotate-left', - ], - ]; - - protected SearchProviderRegistry $registry; - - public function __construct(SearchProviderRegistry $registry) - { - $this->registry = $registry; - } - - /** - * Get the search type identifier. - */ - public function searchType(): string - { - return 'pages'; - } - - /** - * Get the display label for this search type. - */ - public function searchLabel(): string - { - return __('Pages'); - } - - /** - * Get the icon name for this search type. - */ - public function searchIcon(): string - { - return 'rectangle-stack'; - } - - /** - * Get the priority for ordering in search results. - */ - public function searchPriority(): int - { - return 10; // Show pages first - } - - /** - * Execute a search query. - * - * @param string $query The search query string - * @param int $limit Maximum number of results to return - */ - public function search(string $query, int $limit = 5): Collection - { - return collect($this->pages) - ->filter(function ($page) use ($query) { - // Match against title and subtitle - return $this->registry->fuzzyMatch($query, $page['title']) - || $this->registry->fuzzyMatch($query, $page['subtitle']); - }) - ->sortByDesc(function ($page) use ($query) { - // Sort by relevance to title - return $this->registry->relevanceScore($query, $page['title']); - }) - ->take($limit) - ->map(function ($page) { - return new SearchResult( - id: $page['id'], - title: $page['title'], - url: $page['url'], - type: $this->searchType(), - icon: $page['icon'], - subtitle: $page['subtitle'], - ); - }) - ->values(); - } - - /** - * Get the URL for a search result. - * - * @param mixed $result The search result - */ - public function getUrl(mixed $result): string - { - if ($result instanceof SearchResult) { - return $result->url; - } - - return $result['url'] ?? '#'; - } -} diff --git a/packages/core-admin/src/Search/SearchProviderRegistry.php b/packages/core-admin/src/Search/SearchProviderRegistry.php deleted file mode 100644 index c5fa718..0000000 --- a/packages/core-admin/src/Search/SearchProviderRegistry.php +++ /dev/null @@ -1,305 +0,0 @@ -getAllItems(); - * return $results->filter(function ($item) use ($query) { - * return app(SearchProviderRegistry::class) - * ->fuzzyMatch($query, $item->title); - * })->take($limit); - * } - * ``` - */ -class SearchProviderRegistry -{ - /** - * Registered search providers. - * - * @var array - */ - protected array $providers = []; - - /** - * Register a search provider. - */ - public function register(SearchProvider $provider): void - { - $this->providers[] = $provider; - } - - /** - * Register multiple search providers. - * - * @param array $providers - */ - public function registerMany(array $providers): void - { - foreach ($providers as $provider) { - $this->register($provider); - } - } - - /** - * Get all registered providers. - * - * @return array - */ - public function providers(): array - { - return $this->providers; - } - - /** - * Get available providers for a given context. - * - * @param object|null $user The authenticated user - * @param object|null $workspace The current workspace context - * @return Collection - */ - public function availableProviders(?object $user, ?object $workspace): Collection - { - return collect($this->providers) - ->filter(fn (SearchProvider $provider) => $provider->isAvailable($user, $workspace)) - ->sortBy(fn (SearchProvider $provider) => $provider->searchPriority()); - } - - /** - * Search across all available providers. - * - * Returns results grouped by search type, sorted by provider priority. - * - * @param string $query The search query - * @param object|null $user The authenticated user - * @param object|null $workspace The current workspace context - * @param int $limitPerProvider Maximum results per provider - * @return array - */ - public function search( - string $query, - ?object $user, - ?object $workspace, - int $limitPerProvider = 5 - ): array { - $grouped = []; - - foreach ($this->availableProviders($user, $workspace) as $provider) { - $type = $provider->searchType(); - $results = $provider->search($query, $limitPerProvider); - - // Convert results to array format with type/icon - $formattedResults = $results->map(function ($result) use ($provider) { - if ($result instanceof SearchResult) { - return $result->withTypeAndIcon( - $provider->searchType(), - $provider->searchIcon() - )->toArray(); - } - - // Handle array results - if (is_array($result)) { - $searchResult = SearchResult::fromArray($result); - - return $searchResult->withTypeAndIcon( - $provider->searchType(), - $provider->searchIcon() - )->toArray(); - } - - // Handle model objects with getUrl - return [ - 'id' => (string) ($result->id ?? uniqid()), - 'title' => (string) ($result->title ?? $result->name ?? ''), - 'subtitle' => (string) ($result->subtitle ?? $result->description ?? ''), - 'url' => $provider->getUrl($result), - 'type' => $provider->searchType(), - 'icon' => $provider->searchIcon(), - 'meta' => [], - ]; - })->toArray(); - - if (! empty($formattedResults)) { - $grouped[$type] = [ - 'label' => $provider->searchLabel(), - 'icon' => $provider->searchIcon(), - 'results' => $formattedResults, - ]; - } - } - - return $grouped; - } - - /** - * Flatten search results into a single array for keyboard navigation. - * - * @param array $grouped Grouped search results - */ - public function flattenResults(array $grouped): array - { - $flat = []; - - foreach ($grouped as $type => $group) { - foreach ($group['results'] as $result) { - $flat[] = $result; - } - } - - return $flat; - } - - /** - * Check if a query fuzzy-matches a target string. - * - * Supports: - * - Case-insensitive partial matching - * - Word-start matching (e.g., "ps" matches "Post Settings") - * - Abbreviation matching (e.g., "gs" matches "Global Search") - * - * @param string $query The search query - * @param string $target The target string to match against - */ - public function fuzzyMatch(string $query, string $target): bool - { - $query = Str::lower(trim($query)); - $target = Str::lower(trim($target)); - - // Empty query matches nothing - if ($query === '') { - return false; - } - - // Direct substring match (most common case) - if (Str::contains($target, $query)) { - return true; - } - - // Word-start matching: each character matches start of consecutive words - // e.g., "ps" matches "Post Settings", "gs" matches "Global Search" - $words = preg_split('/\s+/', $target); - $queryChars = str_split($query); - $wordIndex = 0; - $charIndex = 0; - - while ($charIndex < count($queryChars) && $wordIndex < count($words)) { - $char = $queryChars[$charIndex]; - $word = $words[$wordIndex]; - - if (Str::startsWith($word, $char)) { - $charIndex++; - } - $wordIndex++; - } - - if ($charIndex === count($queryChars)) { - return true; - } - - // Abbreviation matching: all query chars appear in order - // e.g., "gsr" matches "Global Search Results" - $targetIndex = 0; - foreach ($queryChars as $char) { - $foundAt = strpos($target, $char, $targetIndex); - if ($foundAt === false) { - return false; - } - $targetIndex = $foundAt + 1; - } - - return true; - } - - /** - * Calculate a relevance score for sorting results. - * - * Higher scores indicate better matches. - * - * @param string $query The search query - * @param string $target The target string - * @return int Score from 0-100 - */ - public function relevanceScore(string $query, string $target): int - { - $query = Str::lower(trim($query)); - $target = Str::lower(trim($target)); - - if ($query === '' || $target === '') { - return 0; - } - - // Exact match - if ($target === $query) { - return 100; - } - - // Starts with query - if (Str::startsWith($target, $query)) { - return 90; - } - - // Contains query as whole word - if (preg_match('/\b'.preg_quote($query, '/').'\b/', $target)) { - return 80; - } - - // Contains query - if (Str::contains($target, $query)) { - return 70; - } - - // Word-start matching - $words = preg_split('/\s+/', $target); - $queryChars = str_split($query); - $matched = 0; - $wordIndex = 0; - - foreach ($queryChars as $char) { - while ($wordIndex < count($words)) { - if (Str::startsWith($words[$wordIndex], $char)) { - $matched++; - $wordIndex++; - break; - } - $wordIndex++; - } - } - - if ($matched === count($queryChars)) { - return 60; - } - - // Fuzzy match - if ($this->fuzzyMatch($query, $target)) { - return 40; - } - - return 0; - } -} diff --git a/packages/core-admin/src/Search/SearchResult.php b/packages/core-admin/src/Search/SearchResult.php deleted file mode 100644 index 7035317..0000000 --- a/packages/core-admin/src/Search/SearchResult.php +++ /dev/null @@ -1,104 +0,0 @@ -id, - title: $this->title, - url: $this->url, - type: $type, - icon: $this->icon !== 'document' ? $this->icon : $icon, - subtitle: $this->subtitle, - meta: $this->meta, - ); - } - - /** - * Convert the result to an array. - */ - public function toArray(): array - { - return [ - 'id' => $this->id, - 'title' => $this->title, - 'subtitle' => $this->subtitle, - 'url' => $this->url, - 'type' => $this->type, - 'icon' => $this->icon, - 'meta' => $this->meta, - ]; - } - - /** - * Specify data which should be serialized to JSON. - */ - public function jsonSerialize(): array - { - return $this->toArray(); - } -} diff --git a/packages/core-admin/src/Search/Tests/SearchProviderRegistryTest.php b/packages/core-admin/src/Search/Tests/SearchProviderRegistryTest.php deleted file mode 100644 index 55d7663..0000000 --- a/packages/core-admin/src/Search/Tests/SearchProviderRegistryTest.php +++ /dev/null @@ -1,237 +0,0 @@ -registry = new SearchProviderRegistry; - } - - public function test_can_register_provider(): void - { - $provider = $this->createMockProvider('test', 'Test', 'document'); - - $this->registry->register($provider); - - $this->assertCount(1, $this->registry->providers()); - } - - public function test_can_register_many_providers(): void - { - $providers = [ - $this->createMockProvider('pages', 'Pages', 'document'), - $this->createMockProvider('users', 'Users', 'user'), - ]; - - $this->registry->registerMany($providers); - - $this->assertCount(2, $this->registry->providers()); - } - - public function test_fuzzy_match_direct_substring(): void - { - $this->assertTrue($this->registry->fuzzyMatch('dash', 'Dashboard')); - $this->assertTrue($this->registry->fuzzyMatch('board', 'Dashboard')); - $this->assertTrue($this->registry->fuzzyMatch('settings', 'Account Settings')); - } - - public function test_fuzzy_match_case_insensitive(): void - { - $this->assertTrue($this->registry->fuzzyMatch('DASH', 'dashboard')); - $this->assertTrue($this->registry->fuzzyMatch('Dashboard', 'DASHBOARD')); - } - - public function test_fuzzy_match_word_start(): void - { - // "gs" should match "Global Search" (G + S) - $this->assertTrue($this->registry->fuzzyMatch('gs', 'Global Search')); - - // "ps" should match "Post Settings" - $this->assertTrue($this->registry->fuzzyMatch('ps', 'Post Settings')); - - // "ul" should match "Usage Limits" - $this->assertTrue($this->registry->fuzzyMatch('ul', 'Usage Limits')); - } - - public function test_fuzzy_match_abbreviation(): void - { - // Characters appear in order - $this->assertTrue($this->registry->fuzzyMatch('dbd', 'dashboard')); - $this->assertTrue($this->registry->fuzzyMatch('gsr', 'global search results')); - } - - public function test_fuzzy_match_empty_query_returns_false(): void - { - $this->assertFalse($this->registry->fuzzyMatch('', 'Dashboard')); - $this->assertFalse($this->registry->fuzzyMatch(' ', 'Dashboard')); - } - - public function test_fuzzy_match_no_match(): void - { - $this->assertFalse($this->registry->fuzzyMatch('xyz', 'Dashboard')); - $this->assertFalse($this->registry->fuzzyMatch('zzz', 'Settings')); - } - - public function test_relevance_score_exact_match(): void - { - $score = $this->registry->relevanceScore('dashboard', 'dashboard'); - $this->assertEquals(100, $score); - } - - public function test_relevance_score_starts_with(): void - { - $score = $this->registry->relevanceScore('dash', 'dashboard'); - $this->assertEquals(90, $score); - } - - public function test_relevance_score_contains(): void - { - $score = $this->registry->relevanceScore('board', 'dashboard'); - $this->assertEquals(70, $score); - } - - public function test_relevance_score_word_start(): void - { - $score = $this->registry->relevanceScore('gs', 'global search'); - $this->assertEquals(60, $score); - } - - public function test_relevance_score_no_match(): void - { - $score = $this->registry->relevanceScore('xyz', 'dashboard'); - $this->assertEquals(0, $score); - } - - public function test_search_returns_grouped_results(): void - { - $provider = $this->createMockProvider('pages', 'Pages', 'document', [ - new SearchResult('1', 'Dashboard', '/hub', 'pages', 'house', 'Overview'), - new SearchResult('2', 'Settings', '/hub/settings', 'pages', 'gear', 'Preferences'), - ]); - - $this->registry->register($provider); - - $results = $this->registry->search('dash', null, null); - - $this->assertArrayHasKey('pages', $results); - $this->assertEquals('Pages', $results['pages']['label']); - $this->assertEquals('document', $results['pages']['icon']); - $this->assertCount(2, $results['pages']['results']); - } - - public function test_search_respects_provider_availability(): void - { - $availableProvider = $this->createMockProvider('pages', 'Pages', 'document', [], true); - $unavailableProvider = $this->createMockProvider('admin', 'Admin', 'shield', [], false); - - $this->registry->register($availableProvider); - $this->registry->register($unavailableProvider); - - $available = $this->registry->availableProviders(null, null); - - $this->assertCount(1, $available); - } - - public function test_flatten_results(): void - { - $grouped = [ - 'pages' => [ - 'label' => 'Pages', - 'icon' => 'document', - 'results' => [ - ['id' => '1', 'title' => 'Dashboard'], - ['id' => '2', 'title' => 'Settings'], - ], - ], - 'users' => [ - 'label' => 'Users', - 'icon' => 'user', - 'results' => [ - ['id' => '3', 'title' => 'Admin'], - ], - ], - ]; - - $flat = $this->registry->flattenResults($grouped); - - $this->assertCount(3, $flat); - $this->assertEquals('Dashboard', $flat[0]['title']); - $this->assertEquals('Settings', $flat[1]['title']); - $this->assertEquals('Admin', $flat[2]['title']); - } - - /** - * Create a mock search provider. - */ - protected function createMockProvider( - string $type, - string $label, - string $icon, - array $results = [], - bool $available = true - ): SearchProvider { - return new class($type, $label, $icon, $results, $available) implements SearchProvider - { - use HasSearchProvider; - - public function __construct( - protected string $type, - protected string $label, - protected string $icon, - protected array $results, - protected bool $available - ) {} - - public function searchType(): string - { - return $this->type; - } - - public function searchLabel(): string - { - return $this->label; - } - - public function searchIcon(): string - { - return $this->icon; - } - - public function search(string $query, int $limit = 5): Collection - { - return collect($this->results)->take($limit); - } - - public function getUrl(mixed $result): string - { - return $result['url'] ?? '#'; - } - - public function isAvailable(?object $user, ?object $workspace): bool - { - return $this->available; - } - }; - } -} diff --git a/packages/core-admin/src/Search/Tests/SearchResultTest.php b/packages/core-admin/src/Search/Tests/SearchResultTest.php deleted file mode 100644 index 8a085ae..0000000 --- a/packages/core-admin/src/Search/Tests/SearchResultTest.php +++ /dev/null @@ -1,165 +0,0 @@ - 'value'], - ); - - $this->assertEquals('123', $result->id); - $this->assertEquals('Dashboard', $result->title); - $this->assertEquals('/hub', $result->url); - $this->assertEquals('pages', $result->type); - $this->assertEquals('house', $result->icon); - $this->assertEquals('Overview and quick actions', $result->subtitle); - $this->assertEquals(['key' => 'value'], $result->meta); - } - - public function test_can_create_from_array(): void - { - $data = [ - 'id' => '456', - 'title' => 'Settings', - 'url' => '/hub/settings', - 'type' => 'pages', - 'icon' => 'gear', - 'subtitle' => 'Account settings', - 'meta' => ['order' => 2], - ]; - - $result = SearchResult::fromArray($data); - - $this->assertEquals('456', $result->id); - $this->assertEquals('Settings', $result->title); - $this->assertEquals('/hub/settings', $result->url); - $this->assertEquals('pages', $result->type); - $this->assertEquals('gear', $result->icon); - $this->assertEquals('Account settings', $result->subtitle); - $this->assertEquals(['order' => 2], $result->meta); - } - - public function test_from_array_with_missing_fields(): void - { - $data = [ - 'title' => 'Minimal', - ]; - - $result = SearchResult::fromArray($data); - - $this->assertNotEmpty($result->id); // Should generate an ID - $this->assertEquals('Minimal', $result->title); - $this->assertEquals('#', $result->url); - $this->assertEquals('unknown', $result->type); - $this->assertEquals('document', $result->icon); - $this->assertNull($result->subtitle); - $this->assertEquals([], $result->meta); - } - - public function test_to_array(): void - { - $result = new SearchResult( - id: '789', - title: 'Test', - url: '/test', - type: 'test', - icon: 'test-icon', - subtitle: 'Test subtitle', - meta: ['foo' => 'bar'], - ); - - $array = $result->toArray(); - - $this->assertEquals([ - 'id' => '789', - 'title' => 'Test', - 'subtitle' => 'Test subtitle', - 'url' => '/test', - 'type' => 'test', - 'icon' => 'test-icon', - 'meta' => ['foo' => 'bar'], - ], $array); - } - - public function test_json_serialize(): void - { - $result = new SearchResult( - id: '1', - title: 'JSON Test', - url: '/json', - type: 'json', - icon: 'code', - ); - - $json = json_encode($result); - $decoded = json_decode($json, true); - - $this->assertEquals('1', $decoded['id']); - $this->assertEquals('JSON Test', $decoded['title']); - $this->assertEquals('/json', $decoded['url']); - } - - public function test_with_type_and_icon(): void - { - $original = new SearchResult( - id: '1', - title: 'Test', - url: '/test', - type: 'old-type', - icon: 'document', // Default icon - ); - - $modified = $original->withTypeAndIcon('new-type', 'new-icon'); - - // Original should be unchanged (immutable) - $this->assertEquals('old-type', $original->type); - $this->assertEquals('document', $original->icon); - - // Modified should have new values - $this->assertEquals('new-type', $modified->type); - $this->assertEquals('new-icon', $modified->icon); - - // Other properties should be preserved - $this->assertEquals('1', $modified->id); - $this->assertEquals('Test', $modified->title); - $this->assertEquals('/test', $modified->url); - } - - public function test_with_type_and_icon_preserves_custom_icon(): void - { - $original = new SearchResult( - id: '1', - title: 'Test', - url: '/test', - type: 'old-type', - icon: 'custom-icon', // Not the default - ); - - $modified = $original->withTypeAndIcon('new-type', 'fallback-icon'); - - // Should keep the custom icon, not use the fallback - $this->assertEquals('custom-icon', $modified->icon); - $this->assertEquals('new-type', $modified->type); - } -} diff --git a/packages/core-admin/src/Website/Hub/Boot.php b/packages/core-admin/src/Website/Hub/Boot.php deleted file mode 100644 index 0b74e4c..0000000 --- a/packages/core-admin/src/Website/Hub/Boot.php +++ /dev/null @@ -1,195 +0,0 @@ - - */ - public static array $domains = [ - '/^core\.(test|localhost)$/', - '/^hub\.core\.(test|localhost)$/', - ]; - - /** - * Events this module listens to for lazy loading. - * - * @var array - */ - public static array $listens = [ - DomainResolving::class => 'onDomainResolving', - AdminPanelBooting::class => 'onAdminPanel', - ]; - - /** - * Handle domain resolution - register if we match. - */ - public function onDomainResolving(DomainResolving $event): void - { - foreach (static::$domains as $pattern) { - if ($event->matches($pattern)) { - $event->register(static::class); - - return; - } - } - } - - public function register(): void - { - // - } - - /** - * Get domains for this website. - * - * @return array - */ - protected function domains(): array - { - return app(DomainResolver::class)->domainsFor(self::class); - } - - /** - * Register admin panel routes and components. - */ - public function onAdminPanel(AdminPanelBooting $event): void - { - $event->views('hub', __DIR__.'/View/Blade'); - - // Load translations (path should point to Lang folder, Laravel adds locale subdirectory) - $event->translations('hub', dirname(__DIR__, 2).'/Mod/Hub/Lang'); - - // Register Livewire components - $event->livewire('hub.admin.workspace-switcher', \Website\Hub\View\Modal\Admin\WorkspaceSwitcher::class); - $event->livewire('hub.admin.global-search', \Website\Hub\View\Modal\Admin\GlobalSearch::class); - - // Register menu provider - app(AdminMenuRegistry::class)->register($this); - - // Register routes for configured domains - foreach ($this->domains() as $domain) { - $event->routes(fn () => Route::prefix('hub') - ->name('hub.') - ->domain($domain) - ->group(__DIR__.'/Routes/admin.php')); - } - } - - /** - * Provide admin menu items. - */ - public function adminMenuItems(): array - { - return [ - // Dashboard - standalone group - [ - 'group' => 'dashboard', - 'priority' => 10, - 'item' => fn () => [ - 'label' => __('hub::hub.dashboard.title'), - 'icon' => 'house', - 'href' => route('hub.dashboard'), - 'active' => request()->routeIs('hub.dashboard'), - ], - ], - - // Workspaces - [ - 'group' => 'workspaces', - 'priority' => 10, - 'item' => fn () => [ - 'label' => __('hub::hub.workspaces.title'), - 'icon' => 'folders', - 'href' => route('hub.sites'), - 'active' => request()->routeIs('hub.sites*'), - ], - ], - - // Account - Profile - [ - 'group' => 'settings', - 'priority' => 10, - 'item' => fn () => [ - 'label' => __('hub::hub.quick_actions.profile.title'), - 'icon' => 'user', - 'href' => route('hub.account'), - 'active' => request()->routeIs('hub.account') && ! request()->routeIs('hub.account.*'), - ], - ], - - // Account - Settings - [ - 'group' => 'settings', - 'priority' => 20, - 'item' => fn () => [ - 'label' => __('hub::hub.settings.title'), - 'icon' => 'gear', - 'href' => route('hub.account.settings'), - 'active' => request()->routeIs('hub.account.settings'), - ], - ], - - // Account - Usage - [ - 'group' => 'settings', - 'priority' => 30, - 'item' => fn () => [ - 'label' => __('hub::hub.usage.title'), - 'icon' => 'chart-pie', - 'href' => route('hub.account.usage'), - 'active' => request()->routeIs('hub.account.usage'), - ], - ], - - // Admin - Platform (Hades only) - [ - 'group' => 'admin', - 'priority' => 10, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Platform', - 'icon' => 'server', - 'href' => route('hub.platform'), - 'active' => request()->routeIs('hub.platform*'), - ], - ], - - // Admin - Services (Hades only) - [ - 'group' => 'admin', - 'priority' => 20, - 'admin' => true, - 'item' => fn () => [ - 'label' => 'Services', - 'icon' => 'puzzle-piece', - 'href' => route('hub.admin.services'), - 'active' => request()->routeIs('hub.admin.services'), - ], - ], - ]; - } -} diff --git a/packages/core-admin/src/Website/Hub/Routes/admin.php b/packages/core-admin/src/Website/Hub/Routes/admin.php deleted file mode 100644 index 5b615bd..0000000 --- a/packages/core-admin/src/Website/Hub/Routes/admin.php +++ /dev/null @@ -1,74 +0,0 @@ -name('dashboard'); -Route::redirect('/dashboard', '/hub')->name('dashboard.redirect'); -Route::get('/content/{workspace}/{type}', \Website\Hub\View\Modal\Admin\Content::class)->name('content') - ->where('type', 'posts|pages|media'); -Route::get('/content-manager/{workspace}/{view?}', \Website\Hub\View\Modal\Admin\ContentManager::class)->name('content-manager') - ->where('view', 'dashboard|kanban|calendar|list|webhooks'); -Route::get('/content-editor/{workspace}/new/{contentType?}', \Website\Hub\View\Modal\Admin\ContentEditor::class)->name('content-editor.create'); -Route::get('/content-editor/{workspace}/{id}', \Website\Hub\View\Modal\Admin\ContentEditor::class)->name('content-editor.edit') - ->where('id', '[0-9]+'); -// /hub/workspaces redirects to current workspace settings (workspace switcher handles selection) -Route::get('/workspaces', \Website\Hub\View\Modal\Admin\Sites::class)->name('sites'); -Route::redirect('/sites', '/hub/workspaces'); -Route::get('/console', \Website\Hub\View\Modal\Admin\Console::class)->name('console'); -Route::get('/databases', \Website\Hub\View\Modal\Admin\Databases::class)->name('databases'); -// Account section -Route::get('/account', \Website\Hub\View\Modal\Admin\Profile::class)->name('account'); -Route::get('/account/settings', \Website\Hub\View\Modal\Admin\Settings::class)->name('account.settings'); -Route::get('/account/usage', \Website\Hub\View\Modal\Admin\AccountUsage::class)->name('account.usage'); -Route::redirect('/profile', '/hub/account'); -Route::redirect('/settings', '/hub/account/settings'); -Route::redirect('/usage', '/hub/account/usage'); -Route::redirect('/boosts', '/hub/account/usage?tab=boosts'); -Route::redirect('/ai-services', '/hub/account/usage?tab=ai'); -// Route::get('/config/{path?}', \Core\Config\View\Modal\Admin\WorkspaceConfig::class) -// ->where('path', '.*') -// ->name('workspace.config'); -// Route::redirect('/workspace/config', '/hub/config'); -Route::get('/workspaces/{workspace}/{tab?}', \Website\Hub\View\Modal\Admin\SiteSettings::class) - ->where('tab', 'services|general|deployment|environment|ssl|backups|danger') - ->name('sites.settings'); -Route::get('/deployments', \Website\Hub\View\Modal\Admin\Deployments::class)->name('deployments'); -Route::get('/platform', \Website\Hub\View\Modal\Admin\Platform::class)->name('platform'); -Route::get('/platform/user/{id}', \Website\Hub\View\Modal\Admin\PlatformUser::class)->name('platform.user') - ->where('id', '[0-9]+'); -Route::get('/prompts', \Website\Hub\View\Modal\Admin\PromptManager::class)->name('prompts'); - -// Entitlement management (admin only) -Route::get('/entitlements', \Website\Hub\View\Modal\Admin\Entitlement\Dashboard::class)->name('entitlements'); -Route::get('/entitlements/packages', \Website\Hub\View\Modal\Admin\Entitlement\PackageManager::class)->name('entitlements.packages'); -Route::get('/entitlements/features', \Website\Hub\View\Modal\Admin\Entitlement\FeatureManager::class)->name('entitlements.features'); - -// Waitlist management (admin only - Hades tier) -Route::get('/admin/waitlist', \Website\Hub\View\Modal\Admin\WaitlistManager::class)->name('admin.waitlist'); - -// Workspace management (admin only - Hades tier) -// Route::get('/admin/workspaces', \Core\Mod\Tenant\View\Modal\Admin\WorkspaceManager::class)->name('admin.workspaces'); -// Route::get('/admin/workspaces/{id}', \Core\Mod\Tenant\View\Modal\Admin\WorkspaceDetails::class)->name('admin.workspaces.details') -// ->where('id', '[0-9]+'); - -// Service management (admin only - Hades tier) -Route::get('/admin/services', \Website\Hub\View\Modal\Admin\ServiceManager::class)->name('admin.services'); - -// Services - workspace admin for Bio, Social, Analytics, Notify, Trust, Support, Commerce -Route::get('/services/{service?}/{tab?}', \Website\Hub\View\Modal\Admin\ServicesAdmin::class) - ->where('service', 'bio|social|analytics|notify|trust|support|commerce') - ->where('tab', 'dashboard|pages|channels|projects|accounts|posts|websites|goals|subscribers|campaigns|notifications|inbox|settings|orders|subscriptions|coupons') - ->name('services'); - -// Security - Honeypot monitoring -Route::get('/honeypot', \Website\Hub\View\Modal\Admin\Honeypot::class)->name('honeypot'); diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/account-usage.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/account-usage.blade.php deleted file mode 100644 index 5aafc3a..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/account-usage.blade.php +++ /dev/null @@ -1,691 +0,0 @@ -
- - - {{-- Card with sidebar --}} -
-
- - {{-- Sidebar navigation --}} -
- {{-- Usage group --}} -
- -
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • - -
  • -
-
- - {{-- Integrations group --}} -
- -
    -
  • - -
  • -
-
-
- - {{-- Content panel --}} -
- {{-- Overview Section --}} - @if($activeSection === 'overview') -
-
-

Usage Overview

-

Monitor your current usage and limits.

-
- - {{-- Active Packages --}} -
-

Active Packages

- @if(empty($activePackages)) -
- -

No active packages

-
- @else -
- @foreach($activePackages as $workspacePackage) -
- @if($workspacePackage['package']['icon'] ?? null) -
- -
- @endif -
-

{{ $workspacePackage['package']['name'] ?? 'Unknown' }}

-
- @if($workspacePackage['package']['is_base_package'] ?? false) - Base - @else - Addon - @endif - Active -
-
-
- @endforeach -
- @endif -
- - {{-- Usage by Category - Accordion --}} - @if(!empty($usageSummary)) - - @foreach($usageSummary as $category => $features) - @php - $categoryIcon = match($category) { - 'social' => 'share-nodes', - 'bio', 'biolink' => 'link', - 'analytics' => 'chart-line', - 'notify' => 'bell', - 'trust' => 'shield-check', - 'support' => 'headset', - 'ai' => 'microchip', - 'mcp', 'api' => 'plug', - 'host', 'service' => 'server', - default => 'cubes', - }; - $categoryColor = match($category) { - 'social' => 'pink', - 'bio', 'biolink' => 'emerald', - 'analytics' => 'blue', - 'notify' => 'amber', - 'trust' => 'green', - 'support' => 'violet', - 'ai' => 'purple', - 'mcp', 'api' => 'indigo', - 'host', 'service' => 'sky', - default => 'gray', - }; - $allowedCount = collect($features)->where('allowed', true)->count(); - $totalCount = count($features); - @endphp - - -
-
- - - - {{ $category ?? 'General' }} -
- - {{ $allowedCount }}/{{ $totalCount }} - -
-
- -
- @foreach($features as $feature) -
- {{ $feature['name'] }} - @if(!$feature['allowed']) - Not included - @elseif($feature['unlimited']) - Unlimited - @elseif($feature['type'] === 'limit' && isset($feature['limit'])) - @php - $percentage = min($feature['percentage'] ?? 0, 100); - $badgeColor = match(true) { - $percentage >= 90 => 'red', - $percentage >= 75 => 'amber', - default => 'green', - }; - @endphp - {{ $feature['used'] }}/{{ $feature['limit'] }} - @elseif($feature['type'] === 'boolean') - Active - @endif -
- @endforeach -
-
-
- @endforeach -
- @else -
- -

No usage data available

-
- @endif - - {{-- Active Boosts --}} - @if(!empty($activeBoosts)) -
-

Active Boosts

-
- @foreach($activeBoosts as $boost) -
-
- {{ $boost['feature_code'] }} -
- @switch($boost['boost_type']) - @case('add_limit') - +{{ number_format($boost['limit_value']) }} - @break - @case('unlimited') - Unlimited - @break - @case('enable') - Enabled - @break - @endswitch -
-
- @if($boost['boost_type'] === 'add_limit' && $boost['limit_value']) -
- {{ number_format($boost['remaining_limit'] ?? $boost['limit_value']) }} - remaining -
- @endif -
- @endforeach -
-
- @endif -
- @endif - - {{-- Workspaces Section --}} - @if($activeSection === 'workspaces') -
-
-

Workspaces

-

View all your workspaces and their subscription details.

-
- - @php $workspaces = $this->userWorkspaces; @endphp - - @if(count($workspaces) > 0) - {{-- Cost Summary --}} - @php - $totalMonthly = collect($workspaces)->sum('price'); - $activeCount = collect($workspaces)->where('status', 'active')->count(); - @endphp -
-
-
-
- -
-
-

£{{ number_format($totalMonthly, 2) }}

-

Monthly total

-
-
-
-
-
-
- -
-
-

{{ count($workspaces) }}

-

Total workspaces

-
-
-
-
-
-
- -
-
-

{{ $activeCount }}

-

Active subscriptions

-
-
-
-
- - {{-- Workspace List --}} -
- @foreach($workspaces as $ws) -
-
-
-
- {{ strtoupper(substr($ws['workspace']->name, 0, 2)) }} -
-
-

{{ $ws['workspace']->name }}

-
- - {{ ucfirst($ws['status']) }} - - {{ $ws['plan'] }} -
-
-
-
-
- @if($ws['price'] > 0) -

£{{ number_format($ws['price'], 2) }}/mo

- @else -

Free

- @endif - @if($ws['renewsAt']) -

- Renews {{ $ws['renewsAt']->format('j M Y') }} -

- @endif -
-
- - - -
-
-
- @if($ws['serviceCount'] > 0) -
-

Active Services

-
- @foreach($ws['services'] as $service) - - - {{ $service['label'] }} - - @endforeach -
-
- @endif -
- @endforeach -
- @else -
- -

No workspaces found

-

Create a workspace to get started.

-
- @endif -
- @endif - - {{-- Entitlements Section --}} - @if($activeSection === 'entitlements') -
-
-

Entitlements

-

View all available features and your current access levels.

-
- - @forelse($this->allFeatures as $category => $features) -
-

- @php - $categoryIcon = match($category) { - 'social' => 'share-nodes', - 'bio' => 'link', - 'analytics' => 'chart-line', - 'notify' => 'bell', - 'trust' => 'shield-check', - 'support' => 'headset', - 'ai' => 'microchip', - 'mcp' => 'plug', - default => 'cubes', - }; - $categoryColor = match($category) { - 'social' => 'pink', - 'bio' => 'emerald', - 'analytics' => 'blue', - 'notify' => 'amber', - 'trust' => 'green', - 'support' => 'violet', - 'ai' => 'purple', - 'mcp' => 'indigo', - default => 'gray', - }; - @endphp - - - - {{ $category ?? 'General' }} -

-
- - - - - - - - - - - @foreach($features as $feature) - @php - $workspace = auth()->user()?->defaultHostWorkspace(); - $check = $workspace ? app(\Core\Mod\Tenant\Services\EntitlementService::class)->can($workspace, $feature['code']) : null; - $allowed = $check?->isAllowed() ?? false; - $limit = $check?->effectiveLimit ?? null; - $unlimited = $check?->isUnlimited ?? false; - @endphp - - - - - - - @endforeach - -
FeatureCodeTypeYour Access
- {{ $feature['name'] }} - @if($feature['description'] ?? null) -

{{ Str::limit($feature['description'], 50) }}

- @endif -
- {{ $feature['code'] }} - - - {{ ucfirst($feature['type']) }} - - - @if(!$allowed) - Not included - @elseif($unlimited) - Unlimited - @elseif($feature['type'] === 'boolean') - Enabled - @elseif($limit !== null) - {{ number_format($limit) }} - @else - Enabled - @endif -
-
-
- @empty -
- -

No features defined

-
- @endforelse - - {{-- Upgrade prompt --}} - @if(!auth()->user()?->isHades()) -
-
-
-

Need more access?

-

Upgrade your plan to unlock additional features and higher limits.

-
- - View Plans - -
-
- @endif -
- @endif - - {{-- Boosts Section --}} - @if($activeSection === 'boosts') -
-
-

Purchase Boosts

-

Add extra capacity to your account.

-
- - @if(count($boostOptions) > 0) -
- @foreach($boostOptions as $boost) -
-
-
-

{{ $boost['feature_name'] }}

-

{{ $boost['description'] }}

-
- @switch($boost['boost_type']) - @case('add_limit') - +{{ number_format($boost['limit_value']) }} - @break - @case('unlimited') - Unlimited - @break - @case('enable') - Enable - @break - @endswitch -
-
-
- @switch($boost['duration_type']) - @case('cycle_bound') - Billing cycle - @break - @case('duration') - Limited time - @break - @case('permanent') - Permanent - @break - @endswitch -
- - Purchase - -
-
- @endforeach -
- @else -
- -

No boosts available

-

Check back later for available boosts.

-
- @endif - - {{-- Info box --}} -
-

- About Boosts -

-
    -
  • Billing cycle: Resets with your billing period
  • -
  • Limited time: Expires after a set duration
  • -
  • Permanent: Never expires
  • -
-
-
- @endif - - {{-- AI Services Section --}} - @if($activeSection === 'ai') -
-
-

AI Services

-

Configure your AI provider API keys.

-
- - {{-- AI Provider Tabs --}} -
- -
- - {{-- Claude Panel --}} - @if($activeAiTab === 'claude') -
- - API Key - - - Get your API key from Anthropic - - - - - - Model - - @foreach($this->claudeModelsComputed as $value => $label) - {{ $label }} - @endforeach - - - - - -
- Save Claude Settings -
- - @endif - - {{-- Gemini Panel --}} - @if($activeAiTab === 'gemini') -
- - API Key - - - Get your API key from Google AI Studio - - - - - - Model - - @foreach($this->geminiModelsComputed as $value => $label) - {{ $label }} - @endforeach - - - - - -
- Save Gemini Settings -
- - @endif - - {{-- OpenAI Panel --}} - @if($activeAiTab === 'openai') -
- - Secret Key - - - Get your API key from OpenAI - - - - - - -
- Save OpenAI Settings -
- - @endif -
- @endif -
- -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/activity-log.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/activity-log.blade.php deleted file mode 100644 index 8126a68..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/activity-log.blade.php +++ /dev/null @@ -1,19 +0,0 @@ - - - - @if(count($this->logNames) > 0) - - @endif - @if(count($this->events) > 0) - - @endif - - - - - diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/ai-services.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/ai-services.blade.php deleted file mode 100644 index 9908080..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/ai-services.blade.php +++ /dev/null @@ -1,316 +0,0 @@ -
- -
-
-

{{ __('hub::hub.ai_services.title') }}

-

{{ __('hub::hub.ai_services.subtitle') }}

-
-
- - - @if($savedMessage) -
-
- - {{ $savedMessage }} -
-
- @endif - - -
- -
- - - @if($activeTab === 'claude') -
-
- - - -
-

{{ __('hub::hub.ai_services.providers.claude.title') }}

-

- - {{ __('hub::hub.ai_services.providers.claude.api_key_link') }} - -

-
-
- -
- -
- - - @error('claudeApiKey') -

{{ $message }}

- @enderror -
- - -
- - - @error('claudeModel') -

{{ $message }}

- @enderror -
- - -
- - -
- - -
-
- @endif - - - @if($activeTab === 'gemini') -
-
- - - - - - - - - - -
-

{{ __('hub::hub.ai_services.providers.gemini.title') }}

-

- - {{ __('hub::hub.ai_services.providers.gemini.api_key_link') }} - -

-
-
- -
- -
- - - @error('geminiApiKey') -

{{ $message }}

- @enderror -
- - -
- - - @error('geminiModel') -

{{ $message }}

- @enderror -
- - -
- - -
- - -
-
- @endif - - - @if($activeTab === 'openai') -
-
- - - -
-

{{ __('hub::hub.ai_services.providers.openai.title') }}

-

- - {{ __('hub::hub.ai_services.providers.openai.api_key_link') }} - -

-
-
- -
- -
- - - @error('openaiSecretKey') -

{{ $message }}

- @enderror -
- - -
- - -
- - -
-
- @endif -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/analytics.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/analytics.blade.php deleted file mode 100644 index 3be8f2b..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/analytics.blade.php +++ /dev/null @@ -1,62 +0,0 @@ -
- -
-
-

Analytics

-

Privacy-first insights across all your sites

-
-
-
- Last 30 days -
-
-
- - -
-
-
- -
-
-

Coming Soon

-

- Analytics integration is on the roadmap. This dashboard will display real-time visitor data, page views, traffic sources, and conversion metrics—all without cookies. -

-
-
-
- - -
- @foreach($metrics as $metric) -
-
- - {{ $metric['label'] }} -
-
{{ $metric['value'] }}
-
- @endforeach -
- - -
- @foreach($chartData as $key => $chart) -
-
-

{{ $chart['title'] }}

-

{{ $chart['description'] }}

-
-
-
-
- - Chart placeholder -
-
-
-
- @endforeach -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/boost-purchase.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/boost-purchase.blade.php deleted file mode 100644 index e6fb1ea..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/boost-purchase.blade.php +++ /dev/null @@ -1,90 +0,0 @@ -
- -
-

{{ __('hub::hub.boosts.title') }}

-

{{ __('hub::hub.boosts.subtitle') }}

-
- -
- @if(count($boostOptions) > 0) -
- @foreach($boostOptions as $boost) -
-
-
-

- {{ $boost['feature_name'] }} -

-

- {{ $boost['description'] }} -

-
- @switch($boost['boost_type']) - @case('add_limit') - +{{ number_format($boost['limit_value']) }} - @break - @case('unlimited') - {{ __('hub::hub.boosts.types.unlimited') }} - @break - @case('enable') - {{ __('hub::hub.boosts.types.enable') }} - @break - @endswitch -
- -
-
- @switch($boost['duration_type']) - @case('cycle_bound') - - {{ __('hub::hub.boosts.duration.cycle_bound') }} - @break - @case('duration') - - {{ __('hub::hub.boosts.duration.limited') }} - @break - @case('permanent') - - {{ __('hub::hub.boosts.duration.permanent') }} - @break - @endswitch -
- - {{ __('hub::hub.boosts.actions.purchase') }} - -
-
- @endforeach -
- @else -
-
- -

{{ __('hub::hub.boosts.empty.title') }}

-

{{ __('hub::hub.boosts.empty.hint') }}

-
-
- @endif - - -
-

- - {{ __('hub::hub.boosts.info.title') }} -

-
    -
  • {{ __('hub::hub.boosts.labels.cycle_bound') }} {{ __('hub::hub.boosts.info.cycle_bound') }}
  • -
  • {{ __('hub::hub.boosts.labels.duration_based') }} {{ __('hub::hub.boosts.info.duration_based') }}
  • -
  • {{ __('hub::hub.boosts.labels.permanent') }} {{ __('hub::hub.boosts.info.permanent') }}
  • -
-
- - -
- - - {{ __('hub::hub.boosts.actions.back') }} - -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/components/developer-bar.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/components/developer-bar.blade.php deleted file mode 100644 index 2542254..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/components/developer-bar.blade.php +++ /dev/null @@ -1,505 +0,0 @@ -@php - $user = auth()->user(); - $showDevBar = $user && method_exists($user, 'isHades') && $user->isHades(); - - // Performance metrics - $queryCount = count(DB::getQueryLog()); - $startTime = defined('LARAVEL_START') ? LARAVEL_START : microtime(true); - $loadTime = number_format((microtime(true) - $startTime) * 1000, 2); - $memoryUsage = number_format(memory_get_peak_usage(true) / 1024 / 1024, 1); - - // Check available dev tools - $hasHorizon = class_exists(\Laravel\Horizon\Horizon::class); - $hasPulse = class_exists(\Laravel\Pulse\Pulse::class); - $hasTelescope = class_exists(\Laravel\Telescope\Telescope::class) && config('telescope.enabled', false); -@endphp - -@if($showDevBar) -
- -
- -
-
-

Recent Logs

- -
-
- - - -
-
- - -
-
-

Routes

- -
-
- - -
-
- - -
-

Session & Request

-
-
-
Session ID
-
-
-
-
User Agent
-
-
-
-
IP Address
-
-
-
-
PHP Version
-
{{ PHP_VERSION }}
-
-
-
Laravel Version
-
{{ app()->version() }}
-
-
-
Environment
-
{{ app()->environment() }}
-
-
-
- - -
-

Cache Management

-
- - - - - -
-

- - These actions run artisan cache commands on the server. -

-
- - -
- -

Classic

-
- - - - - -
- - -

Sharp

-
- - - - - -
- - -

Specialty

-
- - - - - - - - - - - - - - -
- - -

Size

-
- - - - - - - -
- -

- - Current: - + -

-
-
- - -
-
- -
-
- - {{ app()->environment() }} - - | - - Hades - -
- -
- - -
- - - - - - - - - - - | - - - @if($hasHorizon) - - - - @endif - - @if($hasPulse) - - - - @endif - - @if($hasTelescope) - - - - @endif -
- - -
- - - -
-
-
-
- - - -@endif \ No newline at end of file diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/components/header.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/components/header.blade.php deleted file mode 100644 index f71d30a..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/components/header.blade.php +++ /dev/null @@ -1,183 +0,0 @@ -
-
-
- - -
- - - - - - - -
- - -
- - - - - -
- - -
- - - - - -
- - - @php - $user = auth()->user(); - $userName = $user?->name ?? 'Guest'; - $userEmail = $user?->email ?? ''; - $userTier = ($user && method_exists($user, 'getTier')) ? ($user->getTier()?->label() ?? 'Free') : 'Free'; - $userInitials = collect(explode(' ', $userName))->map(fn($n) => strtoupper(substr($n, 0, 1)))->take(2)->join(''); - @endphp -
- -
-
-
{{ $userName }}
-
{{ $userEmail }}
-
- -
-
- -
- -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/components/sidebar.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/components/sidebar.blade.php deleted file mode 100644 index 73d7db6..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/components/sidebar.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/console.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/console.blade.php deleted file mode 100644 index efb0237..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/console.blade.php +++ /dev/null @@ -1,132 +0,0 @@ -
- -
-
-

{{ __('hub::hub.console.title') }}

-

{{ __('hub::hub.console.subtitle') }}

-
-
- -
- -
-
-
-

{{ __('hub::hub.console.labels.select_server') }}

-
-
-
    - @foreach($servers as $server) -
  • - -
  • - @endforeach -
-
-
- - -
-
-
- -
-
-

{{ __('hub::hub.console.coolify.title') }}

-

{{ __('hub::hub.console.coolify.description') }}

-
-
-
-
- - -
-
- -
-
-
-
-
-
- @if($selectedServer) - @php $selectedServerData = collect($servers)->firstWhere('id', $selectedServer); @endphp - {{ $selectedServerData['name'] ?? __('hub::hub.console.labels.terminal') }} - @else - {{ __('hub::hub.console.labels.terminal') }} - @endif -
- - -
-
- - -
- @if($selectedServer) -
-
{{ __('hub::hub.console.labels.connecting', ['name' => $selectedServerData['name'] ?? 'server']) }}
-
{{ __('hub::hub.console.labels.establishing_connection') }}
-
{{ __('hub::hub.console.labels.connected') }}
-
- root@{{ strtolower(str_replace(' ', '-', $selectedServerData['name'] ?? 'server')) }}:~$ - _ -
-
- @else -
- -

{{ __('hub::hub.console.labels.select_server_prompt') }}

-
- @endif -
- - - @if($selectedServer) -
-
- $ - - -
-

- - {{ __('hub::hub.console.labels.terminal_disabled') }} -

-
- @endif -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-editor.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-editor.blade.php deleted file mode 100644 index 7f6d9c8..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-editor.blade.php +++ /dev/null @@ -1,654 +0,0 @@ -
- {{-- Header --}} -
-
-
- - - -
-

- {{ $contentId ? __('hub::hub.content_editor.title.edit') : __('hub::hub.content_editor.title.new') }} -

-

- @if($lastSaved) - {{ __('hub::hub.content_editor.save_status.last_saved', ['time' => $lastSaved]) }} - @else - {{ __('hub::hub.content_editor.save_status.not_saved') }} - @endif - @if($isDirty) - • {{ __('hub::hub.content_editor.save_status.unsaved_changes') }} - @endif - @if($revisionCount > 0) - • {{ trans_choice('hub::hub.content_editor.save_status.revisions', $revisionCount, ['count' => $revisionCount]) }} - @endif -

-
-
- -
- {{-- AI Command Button --}} - - {{ __('hub::hub.content_editor.actions.ai_assist') }} - - - {{-- Status --}} - - {{ __('hub::hub.content_editor.status.draft') }} - {{ __('hub::hub.content_editor.status.pending') }} - {{ __('hub::hub.content_editor.status.publish') }} - {{ __('hub::hub.content_editor.status.future') }} - {{ __('hub::hub.content_editor.status.private') }} - - - {{-- Save --}} - - {{ __('hub::hub.content_editor.actions.save_draft') }} - - - {{-- Schedule/Publish --}} - @if($isScheduled) - - {{ __('hub::hub.content_editor.actions.schedule') }} - - @else - - {{ __('hub::hub.content_editor.actions.publish') }} - - @endif -
-
-
- - {{-- Main Content Area --}} -
- {{-- Editor Panel --}} -
-
-
- {{-- Title --}} -
- -
- - {{-- Slug & Type Row --}} -
-
- -
-
- - {{ __('hub::hub.content_editor.fields.type_page') }} - {{ __('hub::hub.content_editor.fields.type_post') }} - -
-
- - {{-- Excerpt --}} -
- -
- - {{-- Main Editor (AC7 - Rich Text) --}} -
- -
- -
-
-
-
-
- - {{-- Sidebar --}} -
- {{-- Sidebar Tabs --}} -
-
- - - - -
-
- -
- {{-- Settings Panel --}} -
- {{-- Scheduling (AC11) --}} -
-

{{ __('hub::hub.content_editor.scheduling.title') }}

- - - - @if($isScheduled) - - @endif -
- -
- - {{-- Categories (AC9) --}} -
-

{{ __('hub::hub.content_editor.categories.title') }}

- - @if(count($this->categories) > 0) -
- @foreach($this->categories as $category) - - @endforeach -
- @else -

{{ __('hub::hub.content_editor.categories.none') }}

- @endif -
- -
- - {{-- Tags (AC9) --}} -
-

{{ __('hub::hub.content_editor.tags.title') }}

- - {{-- Selected Tags --}} - @if(count($selectedTags) > 0) -
- @foreach($this->tags as $tag) - @if(in_array($tag['id'], $selectedTags)) - - {{ $tag['name'] }} - - @endif - @endforeach -
- @endif - - {{-- Add New Tag --}} -
- - -
- - {{-- Existing Tags to Select --}} - @if(count($this->tags) > 0) -
- @foreach($this->tags as $tag) - @if(!in_array($tag['id'], $selectedTags)) - - @endif - @endforeach -
- @endif -
-
- - {{-- SEO Panel (AC10) --}} -
-

{{ __('hub::hub.content_editor.seo.title') }}

- - -
- {{ __('hub::hub.content_editor.seo.characters', ['count' => strlen($seoTitle), 'max' => 70]) }} -
- - -
- {{ __('hub::hub.content_editor.seo.characters', ['count' => strlen($seoDescription), 'max' => 160]) }} -
- - - - {{-- SEO Preview --}} -
-

{{ __('hub::hub.content_editor.seo.preview_title') }}

-
- {{ $seoTitle ?: $title ?: __('hub::hub.content_editor.seo.meta_title_placeholder') }} -
-
- example.com/{{ $slug ?: 'page-url' }} -
-
- {{ $seoDescription ?: $excerpt ?: __('hub::hub.content_editor.seo.preview_description_fallback') }} -
-
-
- - {{-- Media Panel (AC8) --}} -
-

{{ __('hub::hub.content_editor.media.featured_image') }}

- - {{-- Current Featured Image --}} - @if($this->featuredMedia) -
- {{ $this->featuredMedia->alt_text }} - -
- @else - {{-- Upload Zone --}} -
- -

- {{ __('hub::hub.content_editor.media.drag_drop') }} -

- -
- - @if($featuredImageUpload) -
- - {{ $featuredImageUpload->getClientOriginalName() }} - - - {{ __('hub::hub.content_editor.media.upload') }} - -
- @endif - @endif - - {{-- Media Library --}} - @if(count($this->mediaLibrary) > 0) -
-

{{ __('hub::hub.content_editor.media.select_from_library') }}

-
- @foreach($this->mediaLibrary as $media) - - @endforeach -
-
- @endif -
- - {{-- Revisions Panel (AC12) --}} -
-

{{ __('hub::hub.content_editor.revisions.title') }}

- - @if($contentId) - @if(count($revisions) > 0) -
- @foreach($revisions as $revision) -
-
- - {{ ucfirst($revision['change_type']) }} - - - #{{ $revision['revision_number'] }} - -
-

- {{ $revision['title'] }} -

-
- - {{ \Carbon\Carbon::parse($revision['created_at'])->diffForHumans() }} - - - {{ __('hub::hub.content_editor.revisions.restore') }} - -
- @if($revision['word_count']) -

- {{ number_format($revision['word_count']) }} words -

- @endif -
- @endforeach -
- @else -

{{ __('hub::hub.content_editor.revisions.no_revisions') }}

- @endif - @else -

{{ __('hub::hub.content_editor.revisions.save_first') }}

- @endif -
-
-
-
- - {{-- AI Command Palette Modal --}} - -
- {{-- Search Input --}} -
- - - -
- - {{-- Quick Actions --}} - @if(empty($commandSearch) && !$selectedPromptId) -
-

- {{ __('hub::hub.content_editor.ai.quick_actions') }} -

-
- @foreach($this->quickActions as $action) - - @endforeach -
-
- @endif - - {{-- Prompt List --}} - @if(!$selectedPromptId) -
- @foreach($this->prompts as $category => $categoryPrompts) -
-

- {{ ucfirst($category) }} -

- @foreach($categoryPrompts as $prompt) - -
-
{{ $prompt['name'] }}
-
{{ $prompt['description'] }}
-
- - {{ $prompt['model'] }} - -
- @endforeach -
- @endforeach -
- @endif - - {{-- Prompt Variables Form --}} - @if($selectedPromptId) - @php $selectedPrompt = \App\Models\Prompt::find($selectedPromptId); @endphp -
-
- -
-

- {{ $selectedPrompt->name }} -

-

{{ $selectedPrompt->description }}

-
-
- - @if($selectedPrompt->variables) - @foreach($selectedPrompt->variables as $name => $config) - @if($name !== 'content') -
- @if(($config['type'] ?? 'string') === 'string') - - @elseif(($config['type'] ?? 'string') === 'boolean') - - @endif -
- @endif - @endforeach - @endif - -
- - {{ __('hub::hub.content_editor.ai.cancel') }} - - - {{ __('hub::hub.content_editor.ai.run') }} - {{ __('hub::hub.content_editor.ai.processing') }} - -
-
- @endif - - {{-- AI Result --}} - @if($aiResult) -
-

- {{ __('hub::hub.content_editor.ai.result_title') }} -

-
-
- {!! nl2br(e($aiResult)) !!} -
-
-
- - {{ __('hub::hub.content_editor.ai.discard') }} - - - {{ __('hub::hub.content_editor.ai.insert') }} - - - {{ __('hub::hub.content_editor.ai.replace_content') }} - -
-
- @endif - - {{-- Processing Indicator --}} - @if($aiProcessing) -
-
- - - - - {{ __('hub::hub.content_editor.ai.thinking') }} -
-
- @endif - - {{-- Footer --}} -
-
- {!! __('hub::hub.content_editor.ai.footer_close', ['key' => 'Esc']) !!} - {{ __('hub::hub.content_editor.ai.footer_powered') }} -
-
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager.blade.php deleted file mode 100644 index 11302d9..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager.blade.php +++ /dev/null @@ -1,161 +0,0 @@ -
- -
-
-
- {{ __('hub::hub.content_manager.title') }} - @if($currentWorkspace) - - {{ $currentWorkspace->name }} - - @endif -
- {{ __('hub::hub.content_manager.subtitle') }} -
- - -
- @if($syncMessage) - - {{ $syncMessage }} - - @endif - - {{ __('hub::hub.content_manager.actions.new_content') }} - - - {{ __('hub::hub.content_manager.actions.sync_all') }} - - - {{ __('hub::hub.content_manager.actions.purge_cdn') }} - -
-
- - - - - - @if($view === 'dashboard') - @include('hub::admin.content-manager.dashboard') - @elseif($view === 'kanban') - @include('hub::admin.content-manager.kanban') - @elseif($view === 'calendar') - @include('hub::admin.content-manager.calendar') - @elseif($view === 'list') - @include('hub::admin.content-manager.list') - @elseif($view === 'webhooks') - @include('hub::admin.content-manager.webhooks') - @endif - - - - - - - @if($this->selectedItem) - -
- {{ $this->selectedItem->title }} -
- - -
- -
- - - - {{ __('hub::hub.content_manager.preview.sync_label') }}: {{ ucfirst($this->selectedItem->sync_status) }} - -
- - - @if($this->selectedItem->author) -
- @if($this->selectedItem->author->avatar_url) - - @else - {{ substr($this->selectedItem->author->name, 0, 1) }} - @endif -
- {{ $this->selectedItem->author->name }} - {{ __('hub::hub.content_manager.preview.author') }} -
-
- @endif - - - @if($this->selectedItem->excerpt) -
- {{ __('hub::hub.content_manager.preview.excerpt') }} - {{ $this->selectedItem->excerpt }} -
- @endif - - -
- {{ __('hub::hub.content_manager.preview.content_clean_html') }} -
- {!! $this->selectedItem->content_html_clean ?: $this->selectedItem->content_html_original !!} -
-
- - - @if($this->selectedItem->categories->isNotEmpty() || $this->selectedItem->tags->isNotEmpty()) -
- {{ __('hub::hub.content_manager.preview.taxonomies') }} -
- @foreach($this->selectedItem->categories as $category) - {{ $category->name }} - @endforeach - @foreach($this->selectedItem->tags as $tag) - #{{ $tag->name }} - @endforeach -
-
- @endif - - - @if($this->selectedItem->content_json) -
- {{ __('hub::hub.content_manager.preview.structured_content') }} -
-
{{ json_encode($this->selectedItem->content_json, JSON_PRETTY_PRINT) }}
-
-
- @endif - - - - -
-
- {{ __('hub::hub.content_manager.preview.created') }}: - {{ $this->selectedItem->wp_created_at?->format('M j, Y H:i') ?? '-' }} -
-
- {{ __('hub::hub.content_manager.preview.modified') }}: - {{ $this->selectedItem->wp_modified_at?->format('M j, Y H:i') ?? '-' }} -
-
- {{ __('hub::hub.content_manager.preview.last_synced') }}: - {{ $this->selectedItem->synced_at?->diffForHumans() ?? __('hub::hub.content_manager.preview.never') }} -
-
- {{ __('hub::hub.content_manager.preview.wordpress_id') }}: - #{{ $this->selectedItem->wp_id }} -
-
-
- @endif -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/calendar.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/calendar.blade.php deleted file mode 100644 index a88fc7e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/calendar.blade.php +++ /dev/null @@ -1,100 +0,0 @@ - - - @php - $now = now(); - $startOfMonth = $now->copy()->startOfMonth(); - $endOfMonth = $now->copy()->endOfMonth(); - $startDay = $startOfMonth->dayOfWeek; - $daysInMonth = $now->daysInMonth; - - // Group events by date - $eventsByDate = collect($this->calendarEvents)->groupBy('date'); - @endphp - - -
-
- {{ $now->format('F Y') }} - {{ __('hub::hub.content_manager.calendar.content_schedule') }} -
-
-
-
- {{ __('hub::hub.content_manager.calendar.legend.published') }} -
-
-
- {{ __('hub::hub.content_manager.calendar.legend.draft') }} -
-
-
- {{ __('hub::hub.content_manager.calendar.legend.scheduled') }} -
-
-
- - - -
- @foreach([ - __('hub::hub.content_manager.calendar.days.sun'), - __('hub::hub.content_manager.calendar.days.mon'), - __('hub::hub.content_manager.calendar.days.tue'), - __('hub::hub.content_manager.calendar.days.wed'), - __('hub::hub.content_manager.calendar.days.thu'), - __('hub::hub.content_manager.calendar.days.fri'), - __('hub::hub.content_manager.calendar.days.sat') - ] as $day) -
- {{ $day }} -
- @endforeach -
- - -
- {{-- Empty cells for days before start of month --}} - @for($i = 0; $i < $startDay; $i++) -
- @endfor - - {{-- Days of the month --}} - @for($day = 1; $day <= $daysInMonth; $day++) - @php - $dateStr = $now->copy()->setDay($day)->format('Y-m-d'); - $dayEvents = $eventsByDate->get($dateStr, collect()); - $isToday = $now->copy()->setDay($day)->isToday(); - @endphp -
-
- {{ $day }} -
-
- @foreach($dayEvents->take(3) as $event) - - @endforeach - @if($dayEvents->count() > 3) -
- {{ __('hub::hub.content_manager.calendar.more', ['count' => $dayEvents->count() - 3]) }} -
- @endif -
-
- @endfor - - {{-- Empty cells for days after end of month --}} - @php - $remainingCells = 7 - (($startDay + $daysInMonth) % 7); - if ($remainingCells == 7) $remainingCells = 0; - @endphp - @for($i = 0; $i < $remainingCells; $i++) -
- @endfor -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/dashboard.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/dashboard.blade.php deleted file mode 100644 index 6083edf..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/dashboard.blade.php +++ /dev/null @@ -1,240 +0,0 @@ - -
- -
-
- -
-
- {{ $this->stats['total'] }} - {{ __('hub::hub.content_manager.dashboard.total_content') }} -
-
-
- - -
-
- -
-
- {{ $this->stats['posts'] }} - {{ __('hub::hub.content_manager.dashboard.posts') }} -
-
-
- - -
-
- -
-
- {{ $this->stats['published'] }} - {{ __('hub::hub.content_manager.dashboard.published') }} -
-
-
- - -
-
- -
-
- {{ $this->stats['drafts'] }} - {{ __('hub::hub.content_manager.dashboard.drafts') }} -
-
-
- - -
-
- -
-
- {{ $this->stats['synced'] }} - {{ __('hub::hub.content_manager.dashboard.synced') }} -
-
-
- - -
-
- -
-
- {{ $this->stats['failed'] }} - {{ __('hub::hub.content_manager.dashboard.failed') }} -
-
-
-
- - -
- - -
- {{ __('hub::hub.content_manager.dashboard.content_created') }} -
- -
- - - - - - - - - - - - - - - - - -
-
- - - -
- {{ __('hub::hub.content_manager.dashboard.content_by_type') }} -
- -
-
- @php - $total = $this->stats['posts'] + $this->stats['pages']; - $postsPercent = $total > 0 ? round(($this->stats['posts'] / $total) * 100) : 0; - $pagesPercent = $total > 0 ? round(($this->stats['pages'] / $total) * 100) : 0; - @endphp - -
-
- {{ __('hub::hub.content_manager.dashboard.posts') }} - {{ $this->stats['posts'] }} ({{ $postsPercent }}%) -
-
-
-
-
- -
-
- {{ __('hub::hub.content_manager.dashboard.pages') }} - {{ $this->stats['pages'] }} ({{ $pagesPercent }}%) -
-
-
-
-
-
- - - -
-
- {{ $this->stats['categories'] }} - {{ __('hub::hub.content_manager.dashboard.categories') }} -
-
- {{ $this->stats['tags'] }} - {{ __('hub::hub.content_manager.dashboard.tags') }} -
-
-
-
-
- - -
- -
- {{ __('hub::hub.content_manager.dashboard.sync_status') }} -
- -
-
-
-
- {{ __('hub::hub.content_manager.dashboard.synced') }} -
- {{ $this->stats['synced'] }} -
-
-
-
- {{ __('hub::hub.content_manager.dashboard.pending') }} -
- {{ $this->stats['pending'] }} -
-
-
-
- {{ __('hub::hub.content_manager.dashboard.stale') }} -
- {{ $this->stats['stale'] }} -
-
-
-
- {{ __('hub::hub.content_manager.dashboard.failed') }} -
- {{ $this->stats['failed'] }} -
-
-
- - -
- {{ __('hub::hub.content_manager.dashboard.taxonomies') }} -
- -
-
-
- - {{ __('hub::hub.content_manager.dashboard.categories') }} -
- {{ $this->stats['categories'] }} -
-
-
- - {{ __('hub::hub.content_manager.dashboard.tags') }} -
- {{ $this->stats['tags'] }} -
-
-
- - -
- {{ __('hub::hub.content_manager.dashboard.webhooks_today') }} -
- -
-
-
- - {{ __('hub::hub.content_manager.dashboard.received') }} -
- {{ $this->stats['webhooks_today'] }} -
-
-
- - {{ __('hub::hub.content_manager.dashboard.failed') }} -
- {{ $this->stats['webhooks_failed'] }} -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/kanban.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/kanban.blade.php deleted file mode 100644 index 9a9c9e0..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/kanban.blade.php +++ /dev/null @@ -1,58 +0,0 @@ - - - @foreach($this->kanbanColumns as $column) - - - - @if($column['status'] === 'draft') - - @endif - - - - - @forelse($column['items'] as $item) - - - - - - - {{ $item->title }} - - @if($item->excerpt) - - {{ Str::limit($item->excerpt, 80) }} - - @endif - - - @if($item->categories && $item->categories->isNotEmpty()) - @foreach($item->categories->take(2) as $category) - {{ $category->name }} - @endforeach - @if($item->categories->count() > 2) - +{{ $item->categories->count() - 2 }} - @endif - @endif -
- - {{ $item->wp_created_at?->format('M j') ?? '-' }} - -
-
- @empty -
- - {{ __('hub::hub.content_manager.kanban.no_items') }} -
- @endforelse -
-
- @endforeach -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/list.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/list.blade.php deleted file mode 100644 index 9429d05..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/list.blade.php +++ /dev/null @@ -1,176 +0,0 @@ - - -
-
- - - - - - {{ __('hub::hub.content_manager.list.filters.all_types') }} - {{ __('hub::hub.content_manager.list.filters.posts') }} - {{ __('hub::hub.content_manager.list.filters.pages') }} - - - - - {{ __('hub::hub.content_manager.list.filters.all_status') }} - {{ __('hub::hub.content_manager.list.filters.published') }} - {{ __('hub::hub.content_manager.list.filters.draft') }} - {{ __('hub::hub.content_manager.list.filters.pending') }} - {{ __('hub::hub.content_manager.list.filters.scheduled') }} - {{ __('hub::hub.content_manager.list.filters.private') }} - - - - - {{ __('hub::hub.content_manager.list.filters.all_sync') }} - {{ __('hub::hub.content_manager.list.filters.synced') }} - {{ __('hub::hub.content_manager.list.filters.pending') }} - {{ __('hub::hub.content_manager.list.filters.stale') }} - {{ __('hub::hub.content_manager.list.filters.failed') }} - - - - - {{ __('hub::hub.content_manager.list.filters.all_sources') }} - {{ __('hub::hub.content_manager.list.filters.native') }} - {{ __('hub::hub.content_manager.list.filters.host_uk') }} - {{ __('hub::hub.content_manager.list.filters.satellite') }} - @if(config('services.content.wordpress_enabled')) - {{ __('hub::hub.content_manager.list.filters.wordpress_legacy') }} - @endif - - - - @if(count($this->categories) > 0) - - {{ __('hub::hub.content_manager.list.filters.all_categories') }} - @foreach($this->categories as $slug => $name) - {{ $name }} - @endforeach - - @endif - - - @if($search || $type || $status || $syncStatus || $category || $contentType) - - {{ __('hub::hub.content_manager.list.filters.clear') }} - - @endif -
-
-
- - - - - - - {{ __('hub::hub.content_manager.list.columns.title') }} - - - - - - - - - - - - @forelse($this->content as $item) - - -
- - {{ $item->slug }} -
-
- - - - - - - - - - - - - - -
- @if($item->usesFluxEditor()) - - @endif - -
-
-
- @empty - - -
- - {{ __('hub::hub.content_manager.list.no_content') }} - @if($search || $type || $status || $syncStatus || $category) - - {{ __('hub::hub.content_manager.list.filters.clear_filters') }} - - @endif -
-
-
- @endforelse -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/webhooks.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/webhooks.blade.php deleted file mode 100644 index 052e9cf..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content-manager/webhooks.blade.php +++ /dev/null @@ -1,165 +0,0 @@ - -
- -
-
- -
-
- {{ $this->stats['webhooks_today'] }} - {{ __('hub::hub.content_manager.webhooks.today') }} -
-
-
- - -
-
- -
-
- {{ $this->webhookLogs->where('status', 'completed')->count() }} - {{ __('hub::hub.content_manager.webhooks.completed') }} -
-
-
- - -
-
- -
-
- {{ $this->webhookLogs->where('status', 'pending')->count() }} - {{ __('hub::hub.content_manager.webhooks.pending') }} -
-
-
- - -
-
- -
-
- {{ $this->stats['webhooks_failed'] }} - {{ __('hub::hub.content_manager.webhooks.failed') }} -
-
-
-
- - - - - - {{ __('hub::hub.content_manager.webhooks.columns.id') }} - {{ __('hub::hub.content_manager.webhooks.columns.event') }} - - {{ __('hub::hub.content_manager.webhooks.columns.status') }} - - - - - - - - @forelse($this->webhookLogs as $log) - - - #{{ $log->id }} - - - - {{ $log->event_type }} - - - - - - - - - - - - - - - - - - - - @if($log->status === 'failed') - - {{ __('hub::hub.content_manager.webhooks.actions.retry') }} - - @endif - - - {{ __('hub::hub.content_manager.webhooks.actions.view_payload') }} - - - @if($log->error_message) - -
- {{ __('hub::hub.content_manager.webhooks.error') }}: {{ Str::limit($log->error_message, 80) }} -
- @endif -
-
-
-
- @empty - - -
- - {{ __('hub::hub.content_manager.webhooks.no_logs') }} - - {{ __('hub::hub.content_manager.webhooks.no_logs_description') }} - -
-
-
- @endforelse -
-
-
- - - - {{ __('hub::hub.content_manager.webhooks.endpoint.title') }} -
- POST {{ url('/api/v1/webhook/content') }} -
- - {{ __('hub::hub.content_manager.webhooks.endpoint.description', ['header' => 'X-WP-Signature']) }} - -
- - -
- -
- {{ __('hub::hub.content_manager.webhooks.payload_modal.title') }} -
- -
-

-        
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/content.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/content.blade.php deleted file mode 100644 index 6c67741..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/content.blade.php +++ /dev/null @@ -1,298 +0,0 @@ -
- -
-
-
-

{{ __('hub::hub.content.title') }}

- - - {{ $currentWorkspace['name'] ?? 'Hestia Main' }} - -
-

{{ __('hub::hub.content.subtitle') }}

-
- @if($tab !== 'media') -
- -
- @endif -
- - - - - -
- @foreach ($this->stats as $stat) -
-
{{ $stat['title'] }}
-
{{ $stat['value'] }}
-
- - {{ $stat['trend'] }} -
-
- @endforeach -
- - -
-
-
- - - - - -
- - -
- - -
-
-
- - - @if($tab === 'media' && $view === 'grid') - -
- @forelse($this->rows as $item) -
- @if(($item['media_type'] ?? 'image') === 'image') - {{ $item['title']['rendered'] ?? '' }} - @else -
- -
- @endif -
- {{ $item['title']['rendered'] ?? __('hub::hub.content.untitled') }} -
-
- @empty -
- -

{{ __('hub::hub.content.no_media') }}

-
- @endforelse -
- @else - -
-
- - - - - - - - - - - - - - @forelse ($this->rows as $row) - - - - - - - - - - @empty - - - - @endforelse - -
- - {{ __('hub::hub.content.columns.title') }}
- - -
- @if($tab === 'media') -
- @if(($row['media_type'] ?? 'image') === 'image') - - @else -
- -
- @endif -
- @endif -
-
{{ $row['title']['rendered'] ?? __('hub::hub.content.untitled') }}
- @if($tab !== 'media' && !empty($row['excerpt']['rendered'])) -
{{ Str::limit(strip_tags($row['excerpt']['rendered']), 50) }}
- @endif -
-
-
-
- -
- @if($tab !== 'media') - - @endif - - -
- -
-
-
-
- -

{{ $tab === 'posts' ? __('hub::hub.content.no_posts') : ($tab === 'pages' ? __('hub::hub.content.no_pages') : __('hub::hub.content.no_media')) }}

-
-
-
-
- @endif - - - @if($this->paginator->hasPages()) -
- {{ $this->paginator->links() }} -
- @endif - - - @if($showEditor) - - @endif -
\ No newline at end of file diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/dashboard.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/dashboard.blade.php deleted file mode 100644 index 66d2440..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/dashboard.blade.php +++ /dev/null @@ -1,96 +0,0 @@ -
- {{-- Welcome Header --}} -
-

Welcome to {{ config('app.name', 'Core PHP') }}

-

Your application is ready to use.

-
- - {{-- Quick Stats --}} -
-
-
-
- - - -
-
-

Users

-

{{ \Core\Mod\Tenant\Models\User::count() }}

-
-
-
- -
-
-
- - - -
-
-

Status

-

Active

-
-
-
- -
-
-
- - - -
-
-

Laravel

-

{{ app()->version() }}

-
-
-
-
- - {{-- Quick Actions --}} - - - {{-- User Info --}} -
-

Logged in as

-
-
- {{ substr(auth()->user()->name ?? 'U', 0, 1) }} -
-
-

{{ auth()->user()->name ?? 'User' }}

-

{{ auth()->user()->email ?? '' }}

-
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/databases.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/databases.blade.php deleted file mode 100644 index 45be416..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/databases.blade.php +++ /dev/null @@ -1,233 +0,0 @@ -
- - Databases & Integrations - -
- - {{-- Internal WordPress (hestia.host.uk.com) --}} - -
-
-
- -
-
- Host UK WordPress - Internal content management system -
-
- - {{ ucfirst($internalWpHealth['status'] ?? 'Unknown') }} - -
- -
- {{-- API Status --}} -
- REST API -
- @if($internalWpHealth['api_available'] ?? false) -
- Available - @else -
- Unavailable - @endif -
-
- - {{-- Post Count --}} -
- Posts - - {{ number_format($internalWpHealth['post_count'] ?? 0) }} - -
- - {{-- Page Count --}} -
- Pages - - {{ number_format($internalWpHealth['page_count'] ?? 0) }} - -
-
- -
- {{ $internalWpHealth['url'] ?? 'Not configured' }} - Last checked: {{ isset($internalWpHealth['last_check']) ? \Carbon\Carbon::parse($internalWpHealth['last_check'])->diffForHumans() : 'Never' }} -
- -
- - Refresh - - - Manage Content - -
-
- - {{-- External WordPress Connector --}} - -
-
- -
-
- WordPress Connector - Connect your self-hosted WordPress site to sync content -
-
- -
- {{-- Enable Toggle --}} - - - @if($wpConnectorEnabled) - {{-- WordPress URL --}} - - - {{-- Webhook Configuration --}} -
- Plugin Configuration - - Install the Host Hub Connector plugin on your WordPress site and enter these settings: - - - {{-- Webhook URL --}} -
- Webhook URL -
- - -
-
- - {{-- Webhook Secret --}} -
- Webhook Secret -
- - - -
- - Keep this secret safe. It's used to verify webhooks are from your WordPress site. - -
-
- - {{-- Connection Status --}} -
-
- @if($this->isWpConnectorVerified) -
-
- Connected - @if($this->wpConnectorLastSync) - Last sync: {{ $this->wpConnectorLastSync }} - @endif -
- @else -
-
- Not verified - Test the connection to verify -
- @endif -
- - - Test Connection - -
- - @if($testResult) - - {{ $testResult }} - - @endif - - {{-- Plugin Download --}} -
-
- -
- WordPress Plugin - - Download and install the Host Hub Connector plugin on your WordPress site to enable content syncing. - - - Download Plugin - -
-
-
- @endif -
- -
- - Save Settings - -
-
- - {{-- Future Integrations Placeholder --}} - -
-
- -
- More Integrations Coming Soon - - Connect additional databases and external systems - -
-
- -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/deployments.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/deployments.blade.php deleted file mode 100644 index 3ce3458..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/deployments.blade.php +++ /dev/null @@ -1,160 +0,0 @@ -
- Deployments & System Status - Monitor system health and recent deployments - - {{-- Current Deployment Info --}} - -
-
-
- -
-
- Current Deployment - Branch: {{ $this->gitInfo['branch'] }} -
-
-
- - Refresh - -
-
- -
-
- Commit - {{ $this->gitInfo['commit'] }} -
-
- Message - {{ \Illuminate\Support\Str::limit($this->gitInfo['message'], 30) }} -
-
- Author - {{ $this->gitInfo['author'] }} -
-
- Deployed - {{ $this->gitInfo['date'] ?? 'Unknown' }} -
-
-
- - {{-- Stats Grid --}} -
- @foreach($this->stats as $stat) - -
-
- -
-
- {{ $stat['label'] }} - {{ $stat['value'] }} -
-
-
- @endforeach -
- -
- {{-- Service Health --}} - - Service Health - -
- @foreach($this->services as $service) -
-
- -
- {{ $service['name'] }} - @if(isset($service['details'])) - - @if(isset($service['details']['version'])) - v{{ $service['details']['version'] }} - @endif - @if(isset($service['details']['memory'])) - · {{ $service['details']['memory'] }} - @endif - @if(isset($service['details']['pending'])) - · {{ $service['details']['pending'] }} pending - @endif - @if(isset($service['details']['used_percent'])) - · {{ $service['details']['used_percent'] }} used - @endif - - @endif - @if(isset($service['error'])) - {{ $service['error'] }} - @endif -
-
-
- @if($service['status'] === 'healthy') - - Healthy - @elseif($service['status'] === 'warning') - - Warning - @elseif($service['status'] === 'unknown') - - Unknown - @else - - Unhealthy - @endif -
-
- @endforeach -
- -
- - Clear Application Cache - -
-
- - {{-- Recent Commits --}} - - Recent Commits - - @if(count($this->recentCommits) > 0) -
- @foreach($this->recentCommits as $commit) -
- {{ $commit['hash'] }} -
- {{ $commit['message'] }} - {{ $commit['author'] }} · {{ $commit['date'] }} -
-
- @endforeach -
- @else -
- - No commit history available - Git may not be available in this environment -
- @endif -
-
- - {{-- Future Coolify Integration Notice --}} - -
-
- -
-
- Coming Soon: Deployment Management - - Full deployment management with Coolify integration is planned. You'll be able to trigger deployments, view build logs, rollback to previous versions, and monitor deployment health. - -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/cache.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/cache.blade.php deleted file mode 100644 index 225131e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/cache.blade.php +++ /dev/null @@ -1,148 +0,0 @@ -
- {{-- Page header --}} -
-
-

Cache Management

-

Clear application caches and optimise performance

-
-
- - {{-- Cache actions grid --}} -
- {{-- Application Cache --}} -
-
-
- -
-
-

Application Cache

-

Redis/file cache data

-
-
- - Clear Cache - Clearing... - -
- - {{-- Config Cache --}} -
-
-
- -
-
-

Configuration Cache

-

Compiled config files

-
-
- - Clear Config - Clearing... - -
- - {{-- View Cache --}} -
-
-
- -
-
-

View Cache

-

Compiled Blade templates

-
-
- - Clear Views - Clearing... - -
- - {{-- Route Cache --}} -
-
-
- -
-
-

Route Cache

-

Compiled route files

-
-
- - Clear Routes - Clearing... - -
- - {{-- Clear All --}} -
-
-
- -
-
-

Clear All

-

All caches at once

-
-
- - Clear All Caches - Clearing... - -
- - {{-- Optimise --}} -
-
-
- -
-
-

Optimise

-

Rebuild all caches

-
-
- - Optimise App - Optimising... - -
-
- - {{-- Last action output --}} - @if($lastOutput) -
-
-

Last Action: {{ $lastAction }}

-
-
{{ $lastOutput }}
-
- @endif -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/logs.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/logs.blade.php deleted file mode 100644 index c9f8222..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/logs.blade.php +++ /dev/null @@ -1,112 +0,0 @@ -
- {{-- Page header --}} -
-
-

Application Logs

-

View recent Laravel log entries

-
-
- - -
-
- - {{-- Level filter --}} -
- - - - - -
- - {{-- Logs table --}} -
- @if(count($logs) === 0) -
- -

No log entries found

-
- @else -
- - - - - - - - - - @foreach($logs as $log) - - - - - - @endforeach - -
TimeLevelMessage
- {{ $log['time'] }} - - @php - $levelClass = match($log['level']) { - 'error', 'critical', 'alert', 'emergency' => 'bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400', - 'warning' => 'bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400', - 'info', 'notice' => 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400', - default => 'bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-400', - }; - @endphp - - {{ strtoupper($log['level']) }} - - - {{ Str::limit($log['message'], 300) }} -
-
- @endif -
- - {{-- Show count --}} -
- Showing {{ count($logs) }} of last {{ $limit }} log entries -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/routes.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/routes.blade.php deleted file mode 100644 index 95ff9d2..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/dev/routes.blade.php +++ /dev/null @@ -1,111 +0,0 @@ -
- {{-- Page header --}} -
-
-

Application Routes

-

Browse all registered routes ({{ count($routes) }} total)

-
-
- - {{-- Search and filter --}} -
-
- -
-
- - - - - -
-
- - {{-- Routes table --}} -
- @php $filteredRoutes = $this->filteredRoutes; @endphp - @if(count($filteredRoutes) === 0) -
- -

No routes match your search

-
- @else -
- - - - - - - - - - - @foreach($filteredRoutes as $route) - - - - - - - @endforeach - -
MethodURINameAction
- @php - $methodClass = match($route['method']) { - 'GET' => 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400', - 'POST' => 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400', - 'PUT', 'PATCH' => 'bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400', - 'DELETE' => 'bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400', - default => 'bg-gray-100 text-gray-700 dark:bg-gray-700 dark:text-gray-400', - }; - @endphp - - {{ $route['method'] }} - - - {{ $route['uri'] }} - - {{ $route['name'] ?? '-' }} - - {{ Str::limit($route['action'], 60) }} -
-
- @endif -
- - {{-- Show count --}} -
- Showing {{ count($filteredRoutes) }} of {{ count($routes) }} routes -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/dashboard.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/dashboard.blade.php deleted file mode 100644 index 2ac53c0..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/dashboard.blade.php +++ /dev/null @@ -1,452 +0,0 @@ -
- {{-- Header --}} -
-
-
-
- -
-
-

Entitlements

-

Manage what workspaces can access and how much they can use

-
-
- - - Hades Only - -
-
- - {{-- Flash messages --}} - @if(session('success')) -
-
- - {{ session('success') }} -
-
- @endif - - @if(session('error')) -
-
- - {{ session('error') }} -
-
- @endif - - {{-- Tabs --}} -
- -
- - {{-- Tab Content --}} -
- {{-- Overview Tab --}} - @if($tab === 'overview') -
- {{-- Explanation --}} -
-

How Entitlements Work

-
-

- The entitlement system controls what workspaces can access and how much they can use. Think of it as a flexible permissions and quota system. -

- -
- {{-- Features --}} -
-
-
- -
-

Features

-
-

- The atomic building blocks. Each feature is something you can check: "Can they do X?" or "How many X can they have?" -

-
-
- boolean - On/off access (e.g., core.srv.bio) -
-
- limit - Quota (e.g., bio.pages = 10) -
-
-
- - {{-- Packages --}} -
-
-
- -
-

Packages

-
-

- Bundles of features sold as products. A "Pro" package might include 50 bio pages, social access, and analytics. -

-
-
- base - One per workspace (plans) -
-
- addon - Stackable extras -
-
-
- - {{-- Boosts --}} -
-
-
- -
-

Boosts

-
-

- One-off grants for specific features. Admin can give a workspace +100 pages or enable a feature temporarily. -

-
-
- permanent - Forever (or until revoked) -
-
- expiring - Time-limited -
-
-
-
- -
-
The Flow
-
- Features - - bundled into - - Packages - - assigned to - - Workspaces -
-

- Boosts bypass packages to grant features directly to workspaces (for support, promotions, etc.) -

-
-
-
- - {{-- Stats Grid --}} -
-
-
-
- -
-
-
{{ $this->stats['packages']['total'] }}
-
Packages
-
-
-
- {{ $this->stats['packages']['active'] }} active - {{ $this->stats['packages']['public'] }} public -
-
- -
-
-
- -
-
-
{{ $this->stats['features']['total'] }}
-
Features
-
-
-
- {{ $this->stats['features']['boolean'] }} boolean - {{ $this->stats['features']['limit'] }} limits -
-
- -
-
-
- -
-
-
{{ $this->stats['assignments']['workspace_packages'] }}
-
Active Assignments
-
-
-
- Workspaces with packages -
-
- -
-
-
- -
-
-
{{ $this->stats['assignments']['active_boosts'] }}
-
Active Boosts
-
-
-
- Direct feature grants -
-
-
- - {{-- Categories --}} -
-

Feature Categories

-
- @forelse($this->stats['categories'] as $category) - - {{ $category }} - - @empty - No categories defined - @endforelse -
-
-
- @endif - - {{-- Packages Tab --}} - @if($tab === 'packages') -
-
-
-

Packages

-

Bundles of features assigned to workspaces

-
- - New Package - -
- -
- -
-
- @endif - - {{-- Features Tab --}} - @if($tab === 'features') -
-
-
-

Features

-

Individual capabilities that can be checked and tracked

-
- - New Feature - -
- -
- -
-
- @endif -
- - {{-- Package Modal --}} - -
-
-
- -
- {{ $editingPackageId ? 'Edit Package' : 'Create Package' }} -
- -
-
- - -
- - - -
- - - -
- -
- - -
- -
- - -
- -
- Cancel - - {{ $editingPackageId ? 'Update' : 'Create' }} - -
- -
-
- - {{-- Feature Modal --}} - -
-
-
- -
- {{ $editingFeatureId ? 'Edit Feature' : 'Create Feature' }} -
- -
-
- - -
- - - -
- - -
- -
- - Boolean (on/off) - Limit (quota) - Unlimited - - - - Never - Monthly - Rolling Window - -
- - @if($featureResetType === 'rolling') - - @endif - - @if($featureType === 'limit') - - None - @foreach($this->parentFeatures as $parent) - {{ $parent->name }} ({{ $parent->code }}) - @endforeach - - @endif - - - -
- Cancel - - {{ $editingFeatureId ? 'Update' : 'Create' }} - -
- -
-
- - {{-- Features Assignment Modal --}} - -
-
-
- -
- Assign Features to Package -
- -
- @foreach($this->allFeatures as $category => $categoryFeatures) -
-

{{ $category ?: 'General' }}

-
- @foreach($categoryFeatures as $feature) -
- -
-
{{ $feature->name }}
- {{ $feature->code }} -
- @if($feature->type === 'limit') - - @elseif($feature->type === 'unlimited') - Unlimited - @else - Boolean - @endif -
- @endforeach -
-
- @endforeach - -
- Cancel - Save Features -
-
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/feature-manager.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/feature-manager.blade.php deleted file mode 100644 index ad5c7ef..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/feature-manager.blade.php +++ /dev/null @@ -1,77 +0,0 @@ - - - New Feature - - - - - - - {{-- Create/Edit Feature Modal --}} - - - {{ $editingId ? 'Edit Feature' : 'Create Feature' }} - - -
-
- - -
- - - -
- - - @foreach ($this->categories as $cat) - - @endforeach - - - - -
- -
- - - - - - - - - - - -
- - @if ($reset_type === 'rolling') - - @endif - - - - @foreach ($this->parentFeatures as $parent) - - @endforeach - - - - -
- Cancel - - {{ $editingId ? 'Update' : 'Create' }} - -
- -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/package-manager.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/package-manager.blade.php deleted file mode 100644 index 69a31c0..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/entitlement/package-manager.blade.php +++ /dev/null @@ -1,101 +0,0 @@ - - - New Package - - - - - - - {{-- Create/Edit Package Modal --}} - - - {{ $editingId ? 'Edit Package' : 'Create Package' }} - - -
-
- - -
- - - -
- - - -
- - - -
- - -
- -
- - -
- -
- Cancel - - {{ $editingId ? 'Update' : 'Create' }} - -
- -
- - {{-- Features Assignment Modal --}} - - Assign Features - -
- @foreach ($this->features as $category => $categoryFeatures) -
- {{ $category }} -
- @foreach ($categoryFeatures as $feature) -
- -
-
{{ $feature->name }}
- {{ $feature->code }} -
- @if ($feature->type === 'limit') - - @elseif ($feature->type === 'unlimited') - Unlimited - @else - Boolean - @endif -
- @endforeach -
-
- @endforeach - -
- Cancel - Save Features -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/global-search.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/global-search.blade.php deleted file mode 100644 index d6200f2..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/global-search.blade.php +++ /dev/null @@ -1,211 +0,0 @@ -{{-- -Global search component with Command+K keyboard shortcut. - -Include in your layout: - - -Features: -- Command+K / Ctrl+K to open -- Arrow key navigation (up/down) -- Enter to select -- Escape to close -- Recent searches -- Grouped results by provider type ---}} - -
- {{-- Search modal --}} - -
- {{-- Search input --}} -
- - - @if($query) - - @endif -
- - {{-- Results --}} - @if(strlen($query) >= 2) -
- @php $currentIndex = 0; @endphp - - @forelse($this->results as $type => $group) - @if(count($group['results']) > 0) - {{-- Category header --}} -
- - - {{ $group['label'] }} - -
- - {{-- Results list --}} - @foreach($group['results'] as $item) - - @php $currentIndex++; @endphp - @endforeach - @endif - @empty - {{-- No results --}} -
- -

- {{ __('hub::hub.search.no_results', ['query' => $query]) }} -

-
- @endforelse - - @if(!$this->hasResults && strlen($query) >= 2) -
- -

- {{ __('hub::hub.search.no_results', ['query' => $query]) }} -

-
- @endif -
- - {{-- Footer with keyboard hints --}} -
-
- - - - {{ __('hub::hub.search.navigate') }} - - - - {{ __('hub::hub.search.select') }} - - - esc - {{ __('hub::hub.search.close') }} - -
-
- - @elseif($this->showRecentSearches) - {{-- Recent searches --}} -
-
- - {{ __('hub::hub.search.recent') }} - - -
-
- @foreach($recentSearches as $index => $recent) -
- - -
- @endforeach -
-
- - @else - {{-- Initial state --}} -
- -

- {{ __('hub::hub.search.start_typing') }} -

-

- {{ __('hub::hub.search.tips') }} -

-
- @endif -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/honeypot.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/honeypot.blade.php deleted file mode 100644 index a68ceaf..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/honeypot.blade.php +++ /dev/null @@ -1,180 +0,0 @@ -
- {{-- Header --}} -
-
-

Honeypot Monitor

-

- Track requests to disallowed paths. These may indicate malicious crawlers. -

-
-
- - - Purge 30d+ - -
-
- - {{-- Flash Message --}} - @if (session()->has('message')) - - {{ session('message') }} - - @endif - - {{-- Stats Grid --}} -
-
-
{{ number_format($stats['total']) }}
-
Total Hits
-
-
-
{{ number_format($stats['today']) }}
-
Today
-
-
-
{{ number_format($stats['this_week']) }}
-
This Week
-
-
-
{{ number_format($stats['unique_ips']) }}
-
Unique IPs
-
-
-
{{ number_format($stats['bots']) }}
-
Known Bots
-
-
- - {{-- Top Offenders --}} -
- {{-- Top IPs --}} -
-
-

Top IPs

-
-
- @forelse($stats['top_ips'] as $row) -
- {{ $row->ip_address }} - {{ $row->hits }} hits -
- @empty -
No data yet
- @endforelse -
-
- - {{-- Top Bots --}} -
-
-

Top Bots

-
-
- @forelse($stats['top_bots'] as $row) -
- {{ $row->bot_name }} - {{ $row->hits }} hits -
- @empty -
No bots detected yet
- @endforelse -
-
-
- - {{-- Filters --}} -
-
- -
- - - - - -
- - {{-- Hits Table --}} -
-
- - - - - - - - - - - - - @forelse($hits as $hit) - - - - - - - - - @empty - - - - @endforelse - -
- Time - @if($sortField === 'created_at') - - @endif - - IP Address - - Path - - Bot - - User Agent -
- {{ $hit->created_at->diffForHumans() }} - - {{ $hit->ip_address }} - @if($hit->country) - {{ $hit->country }} - @endif - - {{ $hit->path }} - - @if($hit->is_bot) - - {{ $hit->bot_name ?? 'Bot' }} - - @else - - - @endif - - {{ Str::limit($hit->user_agent, 60) }} - - - Block - -
- No honeypot hits recorded yet. Good news - no one's ignoring your robots.txt! -
-
- - {{-- Pagination --}} - @if($hits->hasPages()) -
- {{ $hits->links() }} -
- @endif -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/layouts/app.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/layouts/app.blade.php deleted file mode 100644 index e8cded6..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/layouts/app.blade.php +++ /dev/null @@ -1,126 +0,0 @@ -@php - $darkMode = request()->cookie('dark-mode') === 'true'; -@endphp - - - - - - - - {{ $title ?? 'Admin' }} - {{ config('app.name', 'Host Hub') }} - - {{-- Critical CSS: Prevents white flash during page load/navigation --}} - - - - - - @include('layouts::partials.fonts') - - - @if(file_exists(public_path('vendor/fontawesome/css/all.min.css'))) - - @else - - @endif - - - @vite(['resources/css/admin.css', 'resources/js/app.js']) - - - @fluxAppearance - - - - - -
- - @include('hub::admin.components.sidebar') - - -
- - @include('hub::admin.components.header') - -
- {{ $slot }} -
- -
- -
- - -@persist('toast') - -@endpersist - - -@persist('global-search') - -@endpersist - - -@include('hub::admin.components.developer-bar') - - -@fluxScripts - -@stack('scripts') - - - - diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/platform-user.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/platform-user.blade.php deleted file mode 100644 index d572c7c..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/platform-user.blade.php +++ /dev/null @@ -1,706 +0,0 @@ -
- {{-- Header --}} -
-
- - - Platform Users - - / - {{ $user->name }} -
- -
-
- @php - $tierColor = match($user->tier?->value ?? 'free') { - 'hades' => 'violet', - 'apollo' => 'blue', - default => 'gray', - }; - @endphp -
- -
-
-

{{ $user->name }}

-
- {{ $user->email }} - - {{ ucfirst($user->tier?->value ?? 'free') }} - - @if($user->email_verified_at) - - - Verified - - @else - - - Unverified - - @endif -
-
-
- - - Hades Only - -
-
- - {{-- Action message --}} - @if($actionMessage) -
-
- - {{ $actionMessage }} -
-
- @endif - - {{-- Pending deletion warning --}} - @if($pendingDeletion) -
-
-
-
- -
-
-
Account deletion scheduled
-
- This account is scheduled for deletion on {{ $pendingDeletion->expires_at->format('j F Y') }}. - @if($pendingDeletion->reason) - Reason: {{ $pendingDeletion->reason }} - @endif -
-
-
- - Cancel deletion - -
-
- @endif - - {{-- Tabs --}} -
- -
- - {{-- Tab Content --}} -
- {{-- Overview Tab --}} - @if($activeTab === 'overview') -
- {{-- Main content --}} -
- {{-- Account Information --}} -
-

Account Information

-
-
-
User ID
-
{{ $user->id }}
-
-
-
Created
-
{{ $user->created_at?->format('d M Y, H:i') }}
-
-
-
Last Updated
-
{{ $user->updated_at?->format('d M Y, H:i') }}
-
-
-
Email Verified
-
- {{ $user->email_verified_at ? $user->email_verified_at->format('d M Y, H:i') : 'Not verified' }} -
-
- @if($user->tier_expires_at) -
-
Tier Expires
-
{{ $user->tier_expires_at->format('d M Y') }}
-
- @endif -
-
- - {{-- Tier Management --}} -
-

Tier Management

-
-
- - @foreach($tiers as $tier) - {{ ucfirst($tier->value) }} - @endforeach - -
- Save Tier -
-
- - {{-- Email Verification --}} -
-

Email Verification

-
-
- - Save -
- - - Resend verification - -
-
-
- - {{-- Sidebar --}} -
- {{-- Quick Stats --}} -
-

Quick Stats

-
-
- Workspaces - {{ $dataCounts['workspaces'] }} -
-
- Deletion Requests - {{ $dataCounts['deletion_requests'] }} -
-
-
- - {{-- Account Details --}} -
-

Details

-
-
-
Tier
-
{{ $user->tier?->value ?? 'free' }}
-
-
-
Status
-
- @if($user->email_verified_at) - Active - @else - Pending Verification - @endif -
-
-
-
-
-
- @endif - - {{-- Workspaces Tab --}} - @if($activeTab === 'workspaces') -
- {{-- Workspace List --}} -
-
-

Workspaces ({{ $this->workspaces->count() }})

-
- - @if($this->workspaces->isEmpty()) -
-
- -
-

No workspaces

-

This user hasn't created any workspaces yet.

-
- @else -
- @foreach($this->workspaces as $workspace) -
-
-
-
- -
-
-
{{ $workspace->name }}
-
{{ $workspace->slug }}
-
-
- - - Add Package - -
- - @if($workspace->workspacePackages->isEmpty()) -
No packages provisioned
- @else -
- @foreach($workspace->workspacePackages as $wp) -
-
-
- -
-
-
{{ $wp->package->name }}
-
{{ $wp->package->code }}
-
-
-
- @if($wp->package->is_base_package) - Base - @endif - - {{ ucfirst($wp->status ?? 'active') }} - - -
-
- @endforeach -
- @endif -
- @endforeach -
- @endif -
-
- @endif - - {{-- Entitlements Tab --}} - @if($activeTab === 'entitlements') -
- @if($this->workspaces->isEmpty()) -
-
- -
-

No workspaces

-

This user has no workspaces to manage entitlements for.

-
- @else - @foreach($this->workspaceEntitlements as $wsId => $data) - @php $workspace = $data['workspace']; $stats = $data['stats']; $boosts = $data['boosts']; $summary = $data['summary']; @endphp -
- {{-- Workspace Header --}} -
-
-
- -
-
-

{{ $workspace->name }}

-
{{ $workspace->slug }}
-
-
- - - Add Entitlement - -
- - {{-- Quick Stats --}} -
-
-
-
{{ $stats['total'] }}
-
Total
-
-
-
{{ $stats['allowed'] }}
-
Allowed
-
-
-
{{ $stats['denied'] }}
-
Denied
-
-
-
{{ $stats['boosts'] }}
-
Boosts
-
-
-
- - {{-- Active Boosts --}} - @if($boosts->count() > 0) -
-

- - Active Boosts -

-
- @foreach($boosts as $boost) -
-
-
- -
-
-
{{ $boost->feature_code }}
-
- {{ str_replace('_', ' ', $boost->boost_type) }} - @if($boost->limit_value) - · +{{ number_format($boost->limit_value) }} - @endif - @if($boost->expires_at) - · Expires {{ $boost->expires_at->format('d M Y') }} - @else - · Permanent - @endif -
-
-
- -
- @endforeach -
-
- @endif - - {{-- Allowed Entitlements Summary --}} -
-

Allowed Features

- @php - $allowedFeatures = $summary->flatten(1)->where('allowed', true); - @endphp - @if($allowedFeatures->isEmpty()) -

No features enabled

- @else -
- @foreach($allowedFeatures as $entitlement) -
- - {{ $entitlement['name'] }} - @if(!$entitlement['unlimited'] && $entitlement['limit']) - ({{ number_format($entitlement['used'] ?? 0) }}/{{ number_format($entitlement['limit']) }}) - @endif -
- @endforeach -
- @endif -
-
- @endforeach - @endif -
- @endif - - {{-- Data & Privacy Tab --}} - @if($activeTab === 'data') -
- {{-- Main content --}} -
- {{-- Stored Data Preview --}} -
-
-
-

Stored Data

-

GDPR Article 15 - Right of access

-
- - - Export JSON - -
-
-
{{ json_encode($userData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) }}
-
-
-
- - {{-- Sidebar --}} -
- {{-- GDPR Info --}} -
-

GDPR Compliance

-
-
-
- -
-
-
Article 20
-
Data portability
-
-
-
-
- -
-
-
Article 15
-
Right of access
-
-
-
-
- -
-
-
Article 17
-
Right to erasure
-
-
-
-
-
-
- @endif - - {{-- Danger Zone Tab --}} - @if($activeTab === 'danger') -
- {{-- Scheduled Deletion --}} -
-
-
-
- -
-
-

Schedule Deletion

-

GDPR Article 17 - Right to erasure

-
-
-
-
-

- Schedule account deletion with a 7-day grace period. The user will be notified and can cancel during this time. -

- - - Schedule Deletion - -
-
- - {{-- Immediate Deletion --}} -
-
-
-
- -
-
-

Immediate Deletion

-

Permanently delete account and all data

-
-
-
-
-

- Permanently delete this account and all associated data immediately. This action cannot be undone. -

- - - Delete Immediately - -
-
- - {{-- Anonymisation --}} -
-
-
-
- -
-
-

Anonymise Account

-

Replace PII with anonymous data

-
-
-
-
-

- Replace all personally identifiable information with anonymous data while keeping the account structure intact. This is an alternative to full deletion. -

- - - Anonymise User - -
-
-
- @endif -
- - {{-- Delete confirmation modal --}} - -
-
-
- -
- - {{ $immediateDelete ? 'Delete account immediately' : 'Schedule account deletion' }} - -
- -

- @if($immediateDelete) - This will permanently delete {{ $user->email }} and all associated data immediately. This action cannot be undone. - @else - This will schedule {{ $user->email }} for deletion in 7 days. The user can cancel during this period. - @endif -

- - - -
- Cancel - - {{ $immediateDelete ? 'Delete permanently' : 'Schedule deletion' }} - -
-
-
- - {{-- Package provisioning modal --}} - -
-
-
- -
- Provision Package -
- - @if($selectedWorkspaceId) - @php - $selectedWorkspace = $this->workspaces->firstWhere('id', $selectedWorkspaceId); - @endphp -
-
Workspace
-
{{ $selectedWorkspace?->name ?? 'Unknown' }}
-
- @endif - - - Choose a package... - @foreach($this->availablePackages as $package) - - {{ $package->name }} - @if($package->is_base_package) (Base) @endif - @if(!$package->is_public) (Internal) @endif - - @endforeach - - -
-

- The package will be assigned immediately with no expiry date. You can modify or remove it later. -

-
- -
- Cancel - - Provision Package - -
-
-
- - {{-- Entitlement provisioning modal --}} - -
-
-
- -
- Add Entitlement -
- - @if($entitlementWorkspaceId) - @php - $entitlementWorkspace = $this->workspaces->firstWhere('id', $entitlementWorkspaceId); - @endphp -
-
Workspace
-
{{ $entitlementWorkspace?->name ?? 'Unknown' }}
-
- @endif - - - @foreach($this->allFeatures->groupBy('category') as $category => $features) - ── {{ ucfirst($category ?: 'General') }} ── - @foreach($features as $feature) - - {{ $feature->name }} ({{ $feature->code }}) - - @endforeach - @endforeach - - - - Enable (Toggle on) - Add Limit (Extra quota) - Unlimited - - - @if($entitlementType === 'add_limit') - - @endif - - - Permanent - Expires on date - - - @if($entitlementDuration === 'duration') - - @endif - -
-

- This will create a boost that grants the selected feature directly to this workspace, independent of packages. -

-
- -
- Cancel - - Add Entitlement - -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/platform.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/platform.blade.php deleted file mode 100644 index f4387fc..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/platform.blade.php +++ /dev/null @@ -1,278 +0,0 @@ -
- -
-
-

Platform Admin

-

Manage users, tiers, and platform operations

-
-
- - - Hades Only - -
-
- - - @if($actionMessage) -
-
- - {{ $actionMessage }} -
-
- @endif - - -
-
-
{{ number_format($stats['total_users']) }}
-
Total Users
-
-
-
{{ number_format($stats['verified_users']) }}
-
Verified
-
-
-
{{ number_format($stats['hades_users']) }}
-
Hades
-
-
-
{{ number_format($stats['apollo_users']) }}
-
Apollo
-
-
-
{{ number_format($stats['free_users']) }}
-
Free
-
-
-
{{ number_format($stats['users_today']) }}
-
Today
-
-
-
{{ number_format($stats['users_this_week']) }}
-
This Week
-
-
- -
- -
-
-
-
-

User Management

-
- - - - - All Tiers - @foreach($tiers as $tier) - {{ ucfirst($tier->value) }} - @endforeach - - - - All Status - Verified - Unverified - -
-
-
-
- - - - - - - - - - - - - @forelse($users as $user) - - - - - - - - - @empty - - - - @endforelse - -
-
- Name - @if($sortField === 'name') - - @endif -
-
-
- Email - @if($sortField === 'email') - - @endif -
-
TierVerified -
- Joined - @if($sortField === 'created_at') - - @endif -
-
Actions
-
-
- {{ substr($user->name, 0, 2) }} -
- {{ $user->name }} -
-
- {{ $user->email }} - - @php - $tierColor = match($user->tier?->value ?? 'free') { - 'hades' => 'violet', - 'apollo' => 'blue', - default => 'gray', - }; - @endphp - - {{ ucfirst($user->tier?->value ?? 'free') }} - - - @if($user->email_verified_at) - - - Verified - - @else - - - Pending - - @endif - - {{ $user->created_at->format('d M Y') }} - -
- @if(!$user->email_verified_at) - - @endif - - - -
-
- No users found matching your criteria. -
-
- @if($users->hasPages()) -
- {{ $users->links() }} -
- @endif -
-
- - -
- -
-
-

System Info

-
-
- @foreach($systemInfo as $label => $value) -
- {{ str_replace('_', ' ', ucwords($label, '_')) }} - {{ $value }} -
- @endforeach -
-
- - -
-
-

DevOps Tools

-
-
- - - -
-
- - - -
-
- -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/profile.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/profile.blade.php deleted file mode 100644 index b3b7126..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/profile.blade.php +++ /dev/null @@ -1,175 +0,0 @@ -
- -
- -
- -
- -
-
- {{ $userInitials }} -
-
-
-

{{ $userName }}

- - {{ $userTier }} - -
-

{{ $userEmail }}

- @if($memberSince) -

{{ __('hub::hub.profile.member_since', ['date' => $memberSince]) }}

- @endif -
- -
-
-
- -
- -
- -
-
-

- {{ __('hub::hub.profile.sections.quotas') }} -

-
-
-
- @foreach($quotas as $key => $quota) -
-
- {{ $quota['label'] }} - - @if($quota['limit']) - {{ $quota['used'] }} / {{ $quota['limit'] }} - @else - {{ $quota['used'] }} ({{ __('hub::hub.profile.quotas.unlimited') }}) - @endif - -
- @if($quota['limit']) - @php - $percentage = min(100, ($quota['used'] / $quota['limit']) * 100); - $barColor = $percentage > 90 ? 'bg-red-500' : ($percentage > 70 ? 'bg-amber-500' : 'bg-violet-500'); - @endphp -
-
-
- @else -
- @endif -
- @endforeach -
- - @if($userTier !== 'Hades') -
-
-
-

{{ __('hub::hub.profile.quotas.need_more') }}

-

{{ __('hub::hub.profile.quotas.need_more_description') }}

-
- - {{ __('hub::hub.profile.actions.upgrade') }} - -
-
- @endif -
-
- - -
-
-

- {{ __('hub::hub.profile.sections.services') }} -

-
-
-
- @foreach($serviceStats as $service) -
-
- -
-
-
- {{ $service['name'] }} - @if($service['status'] === 'active') - - @else - - @endif -
-

{{ $service['stat'] }}

-
-
- @endforeach -
-
-
-
- - -
- -
-
-

- {{ __('hub::hub.profile.sections.activity') }} -

-
-
- @if(count($recentActivity) > 0) -
- @foreach($recentActivity as $activity) -
-
- -
-
-

{{ $activity['message'] }}

-

{{ $activity['time'] }}

-
-
- @endforeach -
- @else -

{{ __('hub::hub.profile.activity.no_activity') }}

- @endif -
-
- - - -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/prompt-manager.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/prompt-manager.blade.php deleted file mode 100644 index 3dcacee..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/prompt-manager.blade.php +++ /dev/null @@ -1,242 +0,0 @@ - - - {{ __('hub::hub.prompts.labels.new_prompt') }} - - - - - - - - - - - - {{-- Editor Modal --}} - -
- - {{ $editingPromptId ? __('hub::hub.prompts.editor.edit_title') : __('hub::hub.prompts.editor.new_title') }} - - -
- {{-- Basic Info --}} -
- - - - {{ __('hub::hub.prompts.categories.content') }} - {{ __('hub::hub.prompts.categories.seo') }} - {{ __('hub::hub.prompts.categories.refinement') }} - {{ __('hub::hub.prompts.categories.translation') }} - {{ __('hub::hub.prompts.categories.analysis') }} - -
- - - - {{-- Model Settings --}} -
- - {{ __('hub::hub.prompts.models.claude') }} - {{ __('hub::hub.prompts.models.gemini') }} - - - - - -
- - {{-- System Prompt with Monaco --}} -
- {{ __('hub::hub.prompts.editor.system_prompt') }} -
-
-
-
- - {{-- User Template with Monaco --}} -
- {{ __('hub::hub.prompts.editor.user_template') }} - {{ __('hub::hub.prompts.editor.user_template_hint') }} -
-
-
-
- - {{-- Variables --}} -
-
- {{ __('hub::hub.prompts.editor.template_variables') }} - - {{ __('hub::hub.prompts.editor.add_variable') }} - -
- - @if(count($variables) > 0) -
- @foreach($variables as $index => $var) -
- - - - -
- @endforeach -
- @else - {{ __('hub::hub.prompts.editor.no_variables') }} - @endif -
- - {{-- Active Toggle --}} - - - {{-- Actions --}} -
- @if($editingPromptId) - - {{ __('hub::hub.prompts.editor.version_history') }} - - @else -
- @endif - -
- - {{ __('hub::hub.prompts.editor.cancel') }} - - - {{ $editingPromptId ? __('hub::hub.prompts.editor.update_prompt') : __('hub::hub.prompts.editor.create_prompt') }} - -
-
- -
-
- - {{-- Version History Modal --}} - - {{ __('hub::hub.prompts.versions.title') }} - - @if($this->promptVersions->isNotEmpty()) -
- @foreach($this->promptVersions as $version) -
-
- {{ __('hub::hub.prompts.versions.version', ['number' => $version->version]) }} - - {{ $version->created_at->format('M j, Y H:i') }} - @if($version->creator) - {{ __('hub::hub.prompts.versions.by', ['name' => $version->creator->name]) }} - @endif - -
- - {{ __('hub::hub.prompts.versions.restore') }} - -
- @endforeach -
- @else - {{ __('hub::hub.prompts.versions.no_history') }} - @endif -
-
- -@push('scripts') - -@endpush diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/service-manager.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/service-manager.blade.php deleted file mode 100644 index a516ca5..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/service-manager.blade.php +++ /dev/null @@ -1,79 +0,0 @@ - - - - Sync from Modules - - - - - - - - {{-- Edit Service Modal --}} - - Edit Service - -
- {{-- Read-only section --}} -
-
Module Information (read-only)
-
-
-
Code
- {{ $code }} -
-
-
Module
- {{ $module }} -
-
-
Entitlement
- {{ $entitlement_code ?: '-' }} -
-
-
- - {{-- Editable fields --}} -
- - -
- - - -
- - - -
- -
-
Marketing Configuration
-
- - -
- -
- -
-
Visibility
-
- - - -
-
- -
- Cancel - Update Service -
- -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/services-admin.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/services-admin.blade.php deleted file mode 100644 index 4a57c57..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/services-admin.blade.php +++ /dev/null @@ -1,1900 +0,0 @@ -@php - // Icon name to Font Awesome class mapping - $iconMap = [ - 'link' => 'fa-solid fa-link', - 'share-nodes' => 'fa-solid fa-share-nodes', - 'chart-line' => 'fa-solid fa-chart-line', - 'chart-simple' => 'fa-solid fa-chart-simple', - 'bell' => 'fa-solid fa-bell', - 'shield-check' => 'fa-solid fa-shield-check', - 'badge-check' => 'fa-solid fa-badge-check', - 'file' => 'fa-solid fa-file', - 'check-circle' => 'fa-solid fa-check-circle', - 'cursor-arrow-rays' => 'fa-solid fa-arrow-pointer', - 'folder' => 'fa-solid fa-folder', - 'globe' => 'fa-solid fa-globe', - 'eye' => 'fa-solid fa-eye', - 'users' => 'fa-solid fa-users', - 'bullhorn' => 'fa-solid fa-bullhorn', - 'paper-plane' => 'fa-solid fa-paper-plane', - 'megaphone' => 'fa-solid fa-bullhorn', - 'palette' => 'fa-solid fa-palette', - 'hand-raised' => 'fa-solid fa-hand', - 'x-mark' => 'fa-solid fa-xmark', - 'circle-stack' => 'fa-solid fa-layer-group', - 'plus' => 'fa-solid fa-plus', - 'calendar' => 'fa-solid fa-calendar', - 'headset' => 'fa-solid fa-headset', - 'shopping-cart' => 'fa-solid fa-shopping-cart', - 'inbox' => 'fa-solid fa-inbox', - 'gear' => 'fa-solid fa-gear', - 'receipt' => 'fa-solid fa-receipt', - 'rotate' => 'fa-solid fa-rotate', - 'ticket' => 'fa-solid fa-ticket', - 'gauge' => 'fa-solid fa-gauge', - 'pen-to-square' => 'fa-solid fa-pen-to-square', - 'bullseye' => 'fa-solid fa-bullseye', - 'chart-bar' => 'fa-solid fa-chart-bar', - 'globe-alt' => 'fa-solid fa-globe', - 'flag' => 'fa-solid fa-flag', - 'copy' => 'fa-solid fa-copy', - 'swatchbook' => 'fa-solid fa-swatchbook', - 'image' => 'fa-solid fa-image', - ]; - $faIcon = fn($name) => $iconMap[$name] ?? 'fa-solid fa-circle'; -@endphp - -
- {{-- Service Tabs (from each module's Boot.php via AdminMenuRegistry) --}} - - - {{-- Content Panel --}} -
- {{-- BIO SERVICE --}} - @if ($service === 'bio') - @if ($tab === 'dashboard') -
- @foreach ($this->bioStatCards as $card) -
- {{-- Coloured left border accent --}} -
$card['color'] === 'violet', - 'bg-green-500' => $card['color'] === 'green', - 'bg-blue-500' => $card['color'] === 'blue', - 'bg-orange-500' => $card['color'] === 'orange', - ])>
- -
-
-
- {{-- Label first (smaller, secondary) --}} -

{{ $card['label'] }}

- - {{-- Value (larger, bolder, primary) --}} -

{{ $card['value'] }}

-
- - {{-- Icon with background circle --}} -
$card['color'] === 'violet', - 'bg-green-100 dark:bg-green-900/30' => $card['color'] === 'green', - 'bg-blue-100 dark:bg-blue-900/30' => $card['color'] === 'blue', - 'bg-orange-100 dark:bg-orange-900/30' => $card['color'] === 'orange', - ])> - $card['color'] === 'violet', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - 'text-blue-600 dark:text-blue-400' => $card['color'] === 'blue', - 'text-orange-600 dark:text-orange-400' => $card['color'] === 'orange', - ])> -
-
-
-
- @endforeach -
- - {{-- Top Pages Table --}} -
-
-

{{ __('hub::hub.services.headings.your_bio_pages') }}

- -
-
- - - {{ __('hub::hub.services.columns.namespace') }} - {{ __('hub::hub.services.columns.type') }} - {{ __('hub::hub.services.columns.status') }} - {{ __('hub::hub.services.columns.clicks') }} - - - - @forelse ($this->bioPages->take(10) as $page) - - - - {{ $page->url }} - - - - {{ ucfirst($page->type) }} - - - - {{ $page->is_enabled ? __('hub::hub.services.status.active') : __('hub::hub.services.status.disabled') }} - - - {{ number_format($page->clicks) }} - - @empty - - - {{ __('hub::hub.services.empty.bio_pages') }} - - - @endforelse - - -
-
- @elseif ($tab === 'pages') -
-
-

{{ __('hub::hub.services.headings.all_pages') }}

- - {{ __('hub::hub.services.actions.create_page') }} - -
-
- - - {{ __('hub::hub.services.columns.namespace') }} - {{ __('hub::hub.services.columns.type') }} - {{ __('hub::hub.services.columns.project') }} - {{ __('hub::hub.services.columns.status') }} - {{ __('hub::hub.services.columns.clicks') }} - - - - @forelse ($this->bioPages as $page) - - - - {{ $page->url }} - - - - {{ ucfirst($page->type) }} - - {{ $page->project?->name ?? '-' }} - - - {{ $page->is_enabled ? __('hub::hub.services.status.active') : __('hub::hub.services.status.disabled') }} - - - {{ number_format($page->clicks) }} - - @empty - - - {{ __('hub::hub.services.empty.pages') }} - - - @endforelse - - -
-
- @elseif ($tab === 'projects') -
-
-

{{ __('hub::hub.services.headings.projects') }}

- - {{ __('hub::hub.services.actions.manage_projects') }} - -
- - - {{ __('hub::hub.services.columns.project') }} - {{ __('hub::hub.services.columns.pages') }} - {{ __('hub::hub.services.columns.created') }} - - - - @forelse ($this->bioProjects as $project) - - {{ $project->name }} - {{ $project->biolinks_count }} - {{ $project->created_at->format('d M Y') }} - - @empty - - - {{ __('hub::hub.services.empty.projects') }} - - - @endforelse - - -
- @endif - @endif - - {{-- SOCIAL SERVICE --}} - @if ($service === 'social') - @if ($tab === 'dashboard') -
- @foreach ($this->socialStatCards as $card) -
- {{-- Coloured left border accent --}} -
$card['color'] === 'violet', - 'bg-green-500' => $card['color'] === 'green', - 'bg-blue-500' => $card['color'] === 'blue', - 'bg-orange-500' => $card['color'] === 'orange', - ])>
- -
-
-
- {{-- Label first (smaller, secondary) --}} -

{{ $card['label'] }}

- - {{-- Value (larger, bolder, primary) --}} -

{{ $card['value'] }}

-
- - {{-- Icon with background circle --}} -
$card['color'] === 'violet', - 'bg-green-100 dark:bg-green-900/30' => $card['color'] === 'green', - 'bg-blue-100 dark:bg-blue-900/30' => $card['color'] === 'blue', - 'bg-orange-100 dark:bg-orange-900/30' => $card['color'] === 'orange', - ])> - $card['color'] === 'violet', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - 'text-blue-600 dark:text-blue-400' => $card['color'] === 'blue', - 'text-orange-600 dark:text-orange-400' => $card['color'] === 'orange', - ])> -
-
-
-
- @endforeach -
- - {{-- Connected Accounts --}} -
-
-

Connected Accounts

- - - Manage Accounts - -
- - - Account - Provider - {{ __('hub::hub.services.columns.status') }} - - - - @forelse ($this->socialAccounts->take(10) as $account) - - -
- @if ($account->image_url) - {{ $account->name }} - @else -
- -
- @endif -
- {{ $account->name }} - @if ($account->username) -

@{{ $account->username }}

- @endif -
-
-
- - {{ ucfirst($account->provider) }} - - - - {{ $account->status === 'active' ? __('hub::hub.services.status.active') : ucfirst($account->status) }} - - -
- @empty - - - No accounts connected yet. Connect your social media accounts to start scheduling posts. - - - @endforelse -
-
-
- @elseif ($tab === 'accounts') -
-
-

All Accounts

- - - Connect Account - -
- - - Account - Provider - {{ __('hub::hub.services.columns.status') }} - Last Synced - - - - @forelse ($this->socialAccounts as $account) - - -
- @if ($account->image_url) - {{ $account->name }} - @else -
- -
- @endif -
- {{ $account->name }} - @if ($account->username) -

@{{ $account->username }}

- @endif -
-
-
- - {{ ucfirst($account->provider) }} - - - - {{ $account->status === 'active' ? __('hub::hub.services.status.active') : ucfirst($account->status) }} - - - {{ $account->last_synced_at?->diffForHumans() ?? 'Never' }} -
- @empty - - - No accounts found - - - @endforelse -
-
-
- @elseif ($tab === 'posts') -
-
-

Recent Posts

- - - Create Post - -
- - - Post - Accounts - {{ __('hub::hub.services.columns.status') }} - {{ __('hub::hub.services.columns.created') }} - - - - @forelse ($this->socialPosts as $post) - - - {{ Str::limit($post->content['body'] ?? $post->content['caption'] ?? 'No content', 100) }} - - -
- @foreach ($post->accounts->take(3) as $account) - @if ($account->image_url) - {{ $account->name }} - @else -
- -
- @endif - @endforeach - @if ($post->accounts->count() > 3) - - +{{ $post->accounts->count() - 3 }} - - @endif -
-
- - - {{ $post->status->label() }} - - - {{ $post->created_at->diffForHumans() }} -
- @empty - - No posts found - - @endforelse -
-
-
- @endif - @endif - - {{-- ANALYTICS SERVICE --}} - @if ($service === 'analytics') - @if ($tab === 'pages' && $this->isViewingPageDetails) - {{-- Page Details View --}} -
- {{-- Header with back button --}} -
- -
-

{{ $this->pageDetailsPath }}

-

{{ $this->pageDetailsWebsite?->name }} · {{ $this->pageDetailsWebsite?->host }}

-
- - - - - -
- - {{-- Primary Stats --}} - @php $pageStats = $this->pageDetailsStats; @endphp -
-
-
Views
-
{{ number_format($pageStats['views']) }}
-
-
-
Visitors
-
{{ number_format($pageStats['visitors']) }}
-
-
-
Bounce Rate
-
{{ $pageStats['bounce_rate'] }}%
-
-
-
Views/Visitor
-
{{ $pageStats['views_per_visitor'] }}
-
-
- - {{-- Secondary Stats --}} -
-
-
Entries
-
{{ number_format($pageStats['entries']) }}
-
Sessions started here
-
-
-
Exits
-
{{ number_format($pageStats['exits']) }}
-
Sessions ended here
-
-
-
Exit Rate
-
{{ $pageStats['exit_rate'] }}%
-
Of views that left
-
-
-
Avg. Duration
-
{{ $this->formatDuration($pageStats['avg_duration']) }}
-
Time on page
-
-
- - {{-- Page Traffic Chart --}} - @if(! empty($this->pageDetailsChartData)) -
-

Page Traffic

- - - - - - - - - - - - - - - - - - - - - - -
- @endif - - {{-- Breakdowns Row --}} -
- {{-- Referrers --}} -
-

Referrers

- @if(count($this->pageDetailsReferrers) > 0) -
- @foreach($this->pageDetailsReferrers as $ref) -
- {{ $ref['referrer_host'] }} - {{ number_format($ref['sessions']) }} -
- @endforeach -
- @else -

No referrer data

- @endif -
- - {{-- Devices --}} -
-

Devices

- @if(count($this->pageDetailsDevices) > 0) -
- @foreach($this->pageDetailsDevices as $device => $count) -
-
- - {{ $device ?? 'Unknown' }} -
- {{ number_format($count) }} -
- @endforeach -
- @else -

No data

- @endif -
- - {{-- Browsers --}} -
-

Browsers

- @if(count($this->pageDetailsBrowsers) > 0) -
- @foreach($this->pageDetailsBrowsers as $browser => $count) -
- {{ $browser ?? 'Unknown' }} - {{ number_format($count) }} -
- @endforeach -
- @else -

No data

- @endif -
-
-
- @elseif ($tab === 'pages') - {{-- Top Pages Table --}} -
-
-

{{ __('hub::hub.services.headings.top_pages') }}

- - - - - - -
-
- @if($this->analyticsTopPages->isNotEmpty()) - @php $primaryWebsite = $this->analyticsWebsites->first(); @endphp - - - Page - Views - Visitors - Bounce - - - @foreach($this->analyticsTopPages as $page) - - - @if($primaryWebsite) - - @else - {{ $page->path }} - @endif - - {{ number_format($page->views) }} - {{ number_format($page->visitors) }} - - @if($page->bounce_rate !== null) - {{ $page->bounce_rate }}% - @else - — - @endif - - - @endforeach - - - @else -
-
- -
- No page data yet - - {{ __('hub::hub.services.empty.page_data') }} - -
- @endif -
-
- @elseif ($tab === 'dashboard') - @php - $summaryMetrics = $this->analyticsSummaryMetrics; - @endphp - - {{-- Stats Card + Chart Row --}} -
- {{-- Combined Stats Card --}} -
-
-

Overview

- - - - - - -
- - {{-- Primary metrics --}} -
-
-
- - Pageviews -
-
{{ number_format($summaryMetrics['total_pageviews']) }}
-
-
-
- - Visitors -
-
{{ number_format($summaryMetrics['unique_visitors']) }}
-
-
- - {{-- Secondary metrics --}} -
-
-
- - Bounce Rate -
-
{{ $summaryMetrics['bounce_rate'] }}%
-
-
-
- - Avg. Duration -
-
{{ $this->formatDuration($summaryMetrics['avg_session_duration']) }}
-
-
- - {{-- Mod stats --}} -
-
-
-
- -
-
-
{{ $this->analyticsStats['total_websites'] }}
-
Websites
-
-
-
-
- -
-
-
{{ $this->analyticsStats['active_websites'] }}
-
Active
-
-
-
-
-
- - {{-- Pageviews Chart --}} - @if(! empty($this->analyticsChartData)) -
-
-

{{ __('hub::hub.services.headings.pageviews_trend') }}

-
- - - - - - - - - - - - - - - - - - - - - - - -
- @endif -
- - {{-- Acquisition Channels and Device Breakdown --}} -
- {{-- Acquisition Channels --}} -
-

{{ __('hub::hub.services.headings.traffic_sources') }}

- - @if(! empty($this->analyticsAcquisitionChannels)) -
- @foreach($this->analyticsAcquisitionChannels as $channel) -
-
- {{ $channel['name'] }} - {{ $channel['percentage'] }}% - {{ number_format($channel['count']) }} -
- @endforeach -
- @else -
- -

{{ __('hub::hub.services.empty.no_traffic_data') }}

-
- @endif -
- - {{-- Device Breakdown --}} -
-

{{ __('hub::hub.services.headings.devices') }}

- - @if(! empty($this->analyticsDeviceBreakdown)) -
- @foreach($this->analyticsDeviceBreakdown as $device) -
- -
{{ $device['percentage'] }}%
-
{{ $device['name'] }}
-
- @endforeach -
- @else -
- -

{{ __('hub::hub.services.empty.no_device_data') }}

-
- @endif -
-
- @elseif ($tab === 'channels') - {{-- Channels - All analytics sources grouped by type --}} -
- {{-- Header --}} -
-
- Channels - All your analytics sources: websites, bio pages, social, and more -
- - - - - - -
- - @if($this->analyticsChannels->isNotEmpty()) - {{-- Channel list grouped by type --}} - @foreach($this->analyticsChannelsByType as $typeKey => $group) - @php $maxPageviews = $group['channels']->max('pageviews_count') ?: 1; @endphp -
-
-
- -
-

{{ $group['label'] }}

- {{ $group['channels']->count() }} -
-
- @foreach($group['channels'] as $channel) -
-
-
-
- {{ $channel->name }} - - - {{ $channel->is_enabled ? 'Active' : 'Disabled' }} - -
- {{ number_format($channel->pageviews_count) }} -
-
-
-
-
-
- @endforeach -
-
- @endforeach - - {{-- Selected channel detail view (inline) --}} - @if($this->selectedWebsiteId) - @php $site = $this->selectedWebsite; @endphp - @if($site) -
- {{-- Header --}} -
-
-
- -
-
-

{{ $site->name }}

-

{{ $site->host }}

-
-
-
- {{ $site->channel_type?->label() ?? 'Mod' }} - -
-
- -
- {{-- Stats cards --}} -
-
-
Visitors
-
{{ number_format($site->visitors_count) }}
-
-
-
Sessions
-
{{ number_format($site->sessions_count) }}
-
-
-
Pageviews
-
{{ number_format($site->pageviews_count) }}
-
-
-
Bounce Rate
-
{{ $site->bounce_rate }}%
-
-
-
Avg. Duration
-
{{ $this->formatDuration($site->avg_duration) }}
-
-
- - {{-- Chart --}} - @if(! empty($this->selectedWebsiteChartData)) -
-

Traffic Overview

- - - - - - - - - - - - - - - - - - -
- @endif - - {{-- Top pages --}} - @if(count($this->selectedWebsiteTopPages) > 0) -
-

Top Pages

-
- - - - - - - - - - @foreach($this->selectedWebsiteTopPages as $page) - - - - - - @endforeach - -
PageViewsVisitors
- {{ $page['path'] }} - {{ number_format($page['views']) }}{{ number_format($page['visitors']) }}
-
-
- @endif -
-
- @endif - @endif - @else - {{-- No channels yet --}} -
-
-
- -
- No channels yet - - Channels are created automatically when you add websites, bio pages, or connect social accounts. - -
-
- @endif -
- @elseif ($tab === 'goals') - {{-- Goals Header --}} -
-
- {{ __('hub::hub.services.tabs.goals') }} - {{ __('hub::hub.services.empty.no_goals_description') }} -
- - {{ __('hub::hub.services.actions.create_goal') }} - -
- - @if($this->analyticsGoals->isNotEmpty()) - {{-- Goals Grid --}} -
- @foreach($this->analyticsGoals as $goal) - @php - $typeInfo = $this->analyticsGoalTypes[$goal->type] ?? ['label' => ucfirst($goal->type), 'color' => 'zinc', 'icon' => 'flag']; - @endphp -
-
-
- {{ $goal->name }} -
- {{ $typeInfo['label'] }} - @if($goal->website) - {{ $goal->website->name }} - @endif -
-
- - - - Edit - - {{ $goal->is_enabled ? 'Disable' : 'Enable' }} - - - -
- - {{-- Goal Configuration --}} -
- @switch($goal->type) - @case('pageview') -
- - {{ $goal->path ?? '/' }} -
- @break - @case('event') -
- - {{ $goal->key ?? 'custom_event' }} -
- @break - @case('duration') -
- - {{ $goal->threshold ?? 0 }}s minimum -
- @break - @case('pages_per_session') -
- - {{ $goal->threshold ?? 0 }} pages minimum -
- @break - @endswitch -
- - {{-- Stats Row --}} -
-
-
- {{ __('hub::hub.services.columns.conversions') }} - {{ number_format($goal->conversions_count ?? 0) }} -
-
- - {{ $goal->is_enabled ? __('hub::hub.services.status.active') : __('hub::hub.services.status.disabled') }} - -
-
- @endforeach -
- @else - {{-- Empty State --}} -
-
-
- -
- {{ __('hub::hub.services.empty.no_goals_title') }} - - {{ __('hub::hub.services.empty.no_goals_description') }} - - - {{ __('hub::hub.services.actions.create_goal') }} - -
-
- @endif - @elseif ($tab === 'settings') - @php $primaryWebsite = $this->analyticsWebsites->first(); @endphp - @if($primaryWebsite) -
- {{-- General Settings --}} -
-

General Settings

-
-
-
- -
-
- -
-
- -
- - - - -

- @if($analyticsSettingsTrackingType === 'lightweight') - Privacy-first: anonymised IPs, no cookies, no personal data. - @else - Full tracking: session replay, scroll depth. Requires consent. - @endif -

-
- -
- - -
- -
- -

Visits from these IPs won't be tracked

-
- -
- Save Settings -
-
-
- - {{-- Tracking Code --}} -
-

Tracking Code

-

Add this to your website's <head>:

-
-
<script defer data-key="{{ $primaryWebsite->pixel_key }}" src="{{ asset('js/analytics.js') }}"></script>
-
- -
-

Pixel Key:

-
- {{ $primaryWebsite->pixel_key }} - - - -
-
-
-
- @else -
-
-
- -
-

No website configured

-

Add a website to configure analytics settings.

- - Add Website - -
-
- @endif - @endif - @endif - - {{-- NOTIFY SERVICE --}} - @if ($service === 'notify') - @if ($tab === 'dashboard') -
- @foreach ($this->notifyStatCards as $card) -
- {{-- Coloured left border accent --}} -
$card['color'] === 'indigo' || $card['color'] === 'purple', - 'bg-blue-500' => $card['color'] === 'blue', - 'bg-orange-500' => $card['color'] === 'orange', - 'bg-green-500' => $card['color'] === 'green', - ])>
- -
-
-
- {{-- Label first (smaller, secondary) --}} -

{{ $card['label'] }}

- - {{-- Value (larger, bolder, primary) --}} -

{{ $card['value'] }}

-
- - {{-- Icon with background circle --}} -
$card['color'] === 'indigo' || $card['color'] === 'purple', - 'bg-blue-100 dark:bg-blue-900/30' => $card['color'] === 'blue', - 'bg-orange-100 dark:bg-orange-900/30' => $card['color'] === 'orange', - 'bg-green-100 dark:bg-green-900/30' => $card['color'] === 'green', - ])> - $card['color'] === 'indigo' || $card['color'] === 'purple', - 'text-blue-600 dark:text-blue-400' => $card['color'] === 'blue', - 'text-orange-600 dark:text-orange-400' => $card['color'] === 'orange', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - ])> -
-
-
-
- @endforeach -
- - {{-- Websites by Subscribers --}} -
-
-

{{ __('hub::hub.services.headings.websites_by_subscribers') }}

- - - {{ __('hub::hub.services.actions.manage_notifyhost') }} - -
- - - {{ __('hub::hub.services.columns.website') }} - {{ __('hub::hub.services.columns.host') }} - {{ __('hub::hub.services.columns.subscribers') }} - - - - @forelse ($this->notifyWebsites as $website) - - {{ $website->name }} - {{ $website->host }} - - {{ number_format($website->subscribers_count) }} - - - @empty - - -
-
- -
- {{ __('hub::hub.services.empty.no_websites_title') }} - {{ __('hub::hub.services.empty.websites') }} -
-
-
- @endforelse -
-
-
- @elseif ($tab === 'subscribers') -
-
-

{{ __('hub::hub.services.headings.recent_subscribers') }}

- - - {{ __('hub::hub.services.actions.view_all') }} - -
- - - {{ __('hub::hub.services.columns.endpoint') }} - {{ __('hub::hub.services.columns.website') }} - {{ __('hub::hub.services.columns.status') }} - {{ __('hub::hub.services.columns.subscribed') }} - - - - @forelse ($this->notifySubscribers as $sub) - - {{ Str::limit($sub->endpoint, 50) }} - {{ $sub->website?->name ?? __('hub::hub.services.misc.na') }} - - - {{ $sub->is_subscribed ? __('hub::hub.services.status.active') : __('hub::hub.services.status.inactive') }} - - - {{ $sub->subscribed_at?->diffForHumans() ?? __('hub::hub.services.misc.na') }} - - @empty - - -
-
- -
- {{ __('hub::hub.services.empty.no_subscribers_title') }} - {{ __('hub::hub.services.empty.subscribers') }} -
-
-
- @endforelse -
-
-
- @elseif ($tab === 'campaigns') -
-
-

{{ __('hub::hub.services.headings.campaigns') }}

- - - {{ __('hub::hub.services.actions.create_campaign') }} - -
- - - {{ __('hub::hub.services.columns.campaign') }} - {{ __('hub::hub.services.columns.website') }} - {{ __('hub::hub.services.columns.status') }} - {{ __('hub::hub.services.columns.stats') }} - - - - @forelse ($this->notifyCampaigns as $campaign) - - {{ $campaign->name }} - {{ $campaign->website?->name ?? __('hub::hub.services.misc.na') }} - - - {{ __('hub::hub.services.status.' . $campaign->status) }} - - - - @if ($campaign->status === 'sent') -
- {{ number_format($campaign->delivery_rate ?? 0, 1) }}% - {{ number_format($campaign->click_through_rate ?? 0, 1) }}% -
- @else - - - @endif -
-
- @empty - - -
-
- -
- {{ __('hub::hub.services.empty.no_campaigns_title') }} - {{ __('hub::hub.services.empty.campaigns') }} -
-
-
- @endforelse -
-
-
- @endif - @endif - - {{-- TRUST SERVICE --}} - @if ($service === 'trust') - @if ($tab === 'dashboard') - {{-- Aggregated Campaign Metrics Summary --}} -
-
-
{{ number_format($this->trustAggregatedMetrics['impressions']) }}
-
{{ __('hub::hub.services.trust.metrics.impressions') }}
-
-
-
{{ number_format($this->trustAggregatedMetrics['clicks']) }}
-
{{ __('hub::hub.services.trust.metrics.clicks') }}
-
-
-
{{ number_format($this->trustAggregatedMetrics['conversions']) }}
-
{{ __('hub::hub.services.trust.metrics.conversions') }}
-
-
-
{{ $this->trustAggregatedMetrics['ctr'] }}%
-
{{ __('hub::hub.services.trust.metrics.ctr') }}
-
-
-
{{ $this->trustAggregatedMetrics['cvr'] }}%
-
{{ __('hub::hub.services.trust.metrics.cvr') }}
-
-
- -
- @foreach ($this->trustStatCards as $card) -
- {{-- Coloured left border accent --}} -
$card['color'] === 'blue', - 'bg-green-500' => $card['color'] === 'green', - 'bg-purple-500' => $card['color'] === 'purple', - 'bg-orange-500' => $card['color'] === 'orange', - ])>
- -
-
-
- {{-- Label first (smaller, secondary) --}} -

{{ $card['label'] }}

- - {{-- Value (larger, bolder, primary) --}} -

{{ $card['value'] }}

-
- - {{-- Icon with background circle --}} -
$card['color'] === 'blue', - 'bg-green-100 dark:bg-green-900/30' => $card['color'] === 'green', - 'bg-purple-100 dark:bg-purple-900/30' => $card['color'] === 'purple', - 'bg-orange-100 dark:bg-orange-900/30' => $card['color'] === 'orange', - ])> - $card['color'] === 'blue', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - 'text-purple-600 dark:text-purple-400' => $card['color'] === 'purple', - 'text-orange-600 dark:text-orange-400' => $card['color'] === 'orange', - ])> -
-
-
-
- @endforeach -
- - {{-- Campaigns Summary --}} -
-
-

{{ __('hub::hub.services.headings.campaigns') }}

- - - {{ __('hub::hub.services.actions.manage_trusthost') }} - -
- - - {{ __('hub::hub.services.columns.campaign') }} - {{ __('hub::hub.services.columns.widgets') }} - {{ __('hub::hub.services.columns.performance') }} - {{ __('hub::hub.services.columns.status') }} - - - - @forelse ($this->trustCampaigns->take(5) as $campaign) - @php - // Calculate CVR for performance colour - $impressions = $campaign->notifications->sum('impressions'); - $conversions = $campaign->notifications->sum('conversions'); - $cvr = $impressions > 0 ? ($conversions / $impressions) * 100 : 0; - $perfClass = match(true) { - $cvr >= 5 => 'border-l-4 border-l-green-500', - $cvr >= 1 => 'border-l-4 border-l-yellow-500', - $impressions > 0 => 'border-l-4 border-l-red-500', - default => '', - }; - $perfBadgeColor = match(true) { - $cvr >= 5 => 'green', - $cvr >= 1 => 'yellow', - default => 'zinc', - }; - @endphp - - -
- - {{ $campaign->name }} -
-
- {{ $campaign->notifications_count }} - - @if($impressions > 0) - {{ number_format($cvr, 1) }}% CVR - @else - - - @endif - - - - {{ $campaign->is_enabled ? __('hub::hub.services.status.active') : __('hub::hub.services.status.disabled') }} - - -
- @empty - - {{ __('hub::hub.services.empty.campaigns') }} - - @endforelse -
-
-
- @elseif ($tab === 'campaigns') -
-
-

{{ __('hub::hub.services.headings.all_campaigns') }}

- - - {{ __('hub::hub.services.actions.create_campaign') }} - -
- - - {{ __('hub::hub.services.columns.campaign') }} - {{ __('hub::hub.services.columns.widgets') }} - {{ __('hub::hub.services.columns.status') }} - - - - @forelse ($this->trustCampaigns as $campaign) - - -
- - {{ $campaign->name }} -
-
- {{ $campaign->notifications_count }} - - - {{ $campaign->is_enabled ? __('hub::hub.services.status.active') : __('hub::hub.services.status.disabled') }} - - -
- @empty - - {{ __('hub::hub.services.empty.campaigns') }} - - @endforelse -
-
-
- @elseif ($tab === 'notifications') -
-
-

{{ __('hub::hub.services.headings.widgets_by_impressions') }}

- - - {{ __('hub::hub.services.actions.view_all') }} - -
- - - {{ __('hub::hub.services.columns.widget') }} - {{ __('hub::hub.services.columns.campaign') }} - {{ __('hub::hub.services.columns.impressions') }} - {{ __('hub::hub.services.columns.clicks') }} - {{ __('hub::hub.services.columns.conversions') }} - - - - @forelse ($this->trustNotifications as $notification) - - {{ $notification->name }} - {{ $notification->campaign?->name ?? __('hub::hub.services.misc.na') }} - {{ number_format($notification->impressions) }} - {{ number_format($notification->clicks) }} - {{ number_format($notification->conversions) }} - - @empty - - {{ __('hub::hub.services.empty.widgets') }} - - @endforelse - - -
- @endif - @endif - - {{-- SUPPORT SERVICE --}} - @if ($service === 'support') - @if ($tab === 'dashboard') - {{-- Inbox Health Section --}} -
-

{{ __('hub::hub.services.support.inbox_health') }}

-
- @foreach($this->supportInboxHealthCards as $card) -
-
$card['color'] === 'blue', - 'bg-green-500' => $card['color'] === 'green', - ])>
-
-
-
-
$card['color'] === 'blue', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - ])>{{ $card['value'] }}
-
{{ $card['label'] }}
-
-
$card['color'] === 'blue', - 'bg-green-100 dark:bg-green-900/30' => $card['color'] === 'green', - ])> - $card['color'] === 'blue', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - ])> -
-
- @if(isset($card['oldest']) && $card['oldest']) -
- {{ __('hub::hub.services.support.oldest') }}: {{ $card['oldest']->created_at->diffForHumans() }} -
- @endif -
-
- @endforeach -
-
- - {{-- Today's Activity Section --}} -
-

{{ __('hub::hub.services.support.todays_activity') }}

-
- @foreach($this->supportActivityCards as $card) -
-
$card['color'] === 'violet', - 'bg-green-500' => $card['color'] === 'green', - 'bg-blue-500' => $card['color'] === 'blue', - ])>
-
-
-
-
$card['color'] === 'violet', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - 'text-blue-600 dark:text-blue-400' => $card['color'] === 'blue', - ])>{{ $card['value'] }}
-
{{ $card['label'] }}
-
-
$card['color'] === 'violet', - 'bg-green-100 dark:bg-green-900/30' => $card['color'] === 'green', - 'bg-blue-100 dark:bg-blue-900/30' => $card['color'] === 'blue', - ])> - $card['color'] === 'violet', - 'text-green-600 dark:text-green-400' => $card['color'] === 'green', - 'text-blue-600 dark:text-blue-400' => $card['color'] === 'blue', - ])> -
-
-
-
- @endforeach -
-
- - {{-- Performance Section --}} -
-

{{ __('hub::hub.services.support.performance') }}

-
- @foreach($this->supportPerformanceCards as $card) -
-
$card['color'] === 'amber', - 'bg-teal-500' => $card['color'] === 'teal', - ])>
-
-
-
-
$card['color'] === 'amber', - 'text-teal-600 dark:text-teal-400' => $card['color'] === 'teal', - ])>{{ $card['value'] }}
-
{{ $card['label'] }}
-
-
$card['color'] === 'amber', - 'bg-teal-100 dark:bg-teal-900/30' => $card['color'] === 'teal', - ])> - $card['color'] === 'amber', - 'text-teal-600 dark:text-teal-400' => $card['color'] === 'teal', - ])> -
-
-
-
- @endforeach -
-
- - {{-- Recent Conversations --}} -
-
-

{{ __('hub::hub.services.support.recent_conversations') }}

- - - {{ __('hub::hub.services.support.view_inbox') }} - -
- @if($this->supportRecentConversations->isEmpty()) -
-
- -
-

{{ __('hub::hub.services.support.empty_inbox') }}

-

{{ __('hub::hub.services.support.empty_inbox_description') }}

-
- @else -
    - @foreach($this->supportRecentConversations as $conversation) -
  • -
    -
    -
    $conversation->status === 'active', - 'bg-yellow-100 dark:bg-yellow-900/30' => $conversation->status === 'pending', - 'bg-zinc-100 dark:bg-zinc-900/30' => $conversation->status === 'closed', - 'bg-red-100 dark:bg-red-900/30' => $conversation->status === 'spam', - ])> - $conversation->status === 'active', - 'text-yellow-600 dark:text-yellow-400' => $conversation->status === 'pending', - 'text-zinc-600 dark:text-zinc-400' => $conversation->status === 'closed', - 'text-red-600 dark:text-red-400' => $conversation->status === 'spam', - ])> -
    -
    -
    -
    - - {{ $conversation->customer?->name ?? $conversation->customer?->email ?? __('hub::hub.services.support.unknown') }} - - - {{ ucfirst($conversation->status) }} - -
    -

    {{ $conversation->subject }}

    - @if($conversation->latestThread) -

    - {{ Str::limit(strip_tags($conversation->latestThread->body ?? ''), 60) }} -

    - @endif -
    - #{{ $conversation->number }} - {{ $conversation->mailbox?->name ?? __('hub::hub.services.support.na') }} - {{ $conversation->created_at->diffForHumans() }} -
    -
    -
    -
  • - @endforeach -
- @endif -
- @elseif ($tab === 'inbox') - - @elseif ($tab === 'settings') - - @endif - @endif - - {{-- COMMERCE SERVICE --}} - @if ($service === 'commerce') - @if ($tab === 'dashboard') -
-
- -

Commerce Dashboard

-

Manage orders, subscriptions, and coupons.

- - - Go to Dashboard - -
-
- @elseif ($tab === 'orders') -
-
-

- Open orders → -

-
-
- @elseif ($tab === 'subscriptions') - - @elseif ($tab === 'coupons') -
- -
- @endif - @endif -
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/settings.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/settings.blade.php deleted file mode 100644 index aeff5bc..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/settings.blade.php +++ /dev/null @@ -1,390 +0,0 @@ -
- - - {{-- Settings card with sidebar --}} -
-
- - {{-- Sidebar navigation --}} -
- {{-- Account settings group --}} -
- -
    -
  • - -
  • -
  • - -
  • -
-
- - {{-- Security settings group --}} -
- -
    - @if($isTwoFactorEnabled) -
  • - -
  • - @endif -
  • - -
  • -
-
- - {{-- Danger zone --}} - @if($isDeleteAccountEnabled) -
- -
    -
  • - -
  • -
-
- @endif -
- - {{-- Content panel --}} -
- {{-- Profile Section --}} - @if($activeSection === 'profile') -
- - {{ __('hub::hub.settings.sections.profile.title') }} - {{ __('hub::hub.settings.sections.profile.description') }} - -
- - - -
- -
- - {{ __('hub::hub.settings.actions.save_profile') }} - -
-
-
- @endif - - {{-- Preferences Section --}} - @if($activeSection === 'preferences') -
-

{{ __('hub::hub.settings.sections.preferences.title') }}

-

{{ __('hub::hub.settings.sections.preferences.description') }}

- -
-
- - {{ __('hub::hub.settings.fields.language') }} - - @foreach($locales as $loc) - {{ $loc['long'] }} - @endforeach - - - - - - {{ __('hub::hub.settings.fields.timezone') }} - - @foreach($timezones as $group => $zones) - - @foreach($zones as $zone => $label) - {{ $label }} - @endforeach - - @endforeach - - - - - - {{ __('hub::hub.settings.fields.time_format') }} - - {{ __('hub::hub.settings.fields.time_format_12') }} - {{ __('hub::hub.settings.fields.time_format_24') }} - - - - - - {{ __('hub::hub.settings.fields.week_starts_on') }} - - {{ __('hub::hub.settings.fields.week_sunday') }} - {{ __('hub::hub.settings.fields.week_monday') }} - - - -
- -
- - {{ __('hub::hub.settings.actions.save_preferences') }} - -
-
-
- @endif - - {{-- Two-Factor Authentication Section --}} - @if($activeSection === 'two_factor' && $isTwoFactorEnabled) -
-

{{ __('hub::hub.settings.sections.two_factor.title') }}

-

{{ __('hub::hub.settings.sections.two_factor.description') }}

- - @if(!$userHasTwoFactorEnabled && !$showTwoFactorSetup) -
-
-

{{ __('hub::hub.settings.two_factor.not_enabled') }}

-

{{ __('hub::hub.settings.two_factor.not_enabled_description') }}

-
- - {{ __('hub::hub.settings.actions.enable') }} - -
- @endif - - @if($showTwoFactorSetup) -
-
-

- {{ __('hub::hub.settings.two_factor.setup_instructions') }} -

-
-
- {!! $twoFactorQrCode !!} -
-
-

{{ __('hub::hub.settings.two_factor.secret_key') }}

- {{ $twoFactorSecretKey }} -
-
-
- - - {{ __('hub::hub.settings.fields.verification_code') }} - - - - -
- - {{ __('hub::hub.settings.actions.confirm') }} - - - {{ __('hub::hub.settings.actions.cancel') }} - -
-
- @endif - - @if($userHasTwoFactorEnabled && !$showTwoFactorSetup) -
-
- - {{ __('hub::hub.settings.two_factor.enabled') }} -
- - @if($showRecoveryCodes && count($recoveryCodes) > 0) -
-

- {{ __('hub::hub.settings.two_factor.recovery_codes_warning') }} -

-
- @foreach($recoveryCodes as $code) - {{ $code }} - @endforeach -
-
- @endif - -
- - {{ __('hub::hub.settings.actions.view_recovery_codes') }} - - - {{ __('hub::hub.settings.actions.regenerate_codes') }} - - - {{ __('hub::hub.settings.actions.disable') }} - -
-
- @endif -
- @endif - - {{-- Password Section --}} - @if($activeSection === 'password') -
-

{{ __('hub::hub.settings.sections.password.title') }}

-

{{ __('hub::hub.settings.sections.password.description') }}

- -
- - {{ __('hub::hub.settings.fields.current_password') }} - - - - - - {{ __('hub::hub.settings.fields.new_password') }} - - - - - - {{ __('hub::hub.settings.fields.confirm_password') }} - - - - -
- - {{ __('hub::hub.settings.actions.update_password') }} - -
-
-
- @endif - - {{-- Delete Account Section --}} - @if($activeSection === 'delete' && $isDeleteAccountEnabled) -
-

{{ __('hub::hub.settings.sections.delete_account.title') }}

-

{{ __('hub::hub.settings.sections.delete_account.description') }}

- - @if($pendingDeletion) - {{-- Pending Deletion State --}} -
-
- -
-

{{ __('hub::hub.settings.delete.scheduled_title') }}

-

- {{ __('hub::hub.settings.delete.scheduled_description', ['date' => $pendingDeletion->expires_at->format('F j, Y \a\t g:i A'), 'days' => $pendingDeletion->daysRemaining()]) }} -

-

- {{ __('hub::hub.settings.delete.scheduled_email_note') }} -

-
-
-
- - {{ __('hub::hub.settings.actions.cancel_deletion') }} - - @elseif($showDeleteConfirmation) - {{-- Confirmation Form --}} -
-
-

- {{ __('hub::hub.settings.delete.warning_title') }} -

-
    -
  • {{ __('hub::hub.settings.delete.warning_delay') }}
  • -
  • {{ __('hub::hub.settings.delete.warning_workspaces') }}
  • -
  • {{ __('hub::hub.settings.delete.warning_content') }}
  • -
  • {{ __('hub::hub.settings.delete.warning_email') }}
  • -
-
- - - {{ __('hub::hub.settings.fields.delete_reason') }} - - - -
- - {{ __('hub::hub.settings.actions.request_deletion') }} - - - {{ __('hub::hub.settings.actions.cancel') }} - -
-
- @else - {{-- Initial State --}} -

- {{ __('hub::hub.settings.delete.initial_description') }} -

- - {{ __('hub::hub.settings.actions.delete_account') }} - - @endif -
- @endif -
- -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/site-settings.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/site-settings.blade.php deleted file mode 100644 index 460cbb1..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/site-settings.blade.php +++ /dev/null @@ -1,253 +0,0 @@ -@php - // Map service colors to actual Tailwind classes (dynamic classes don't work with Tailwind purge) - $colorClasses = [ - 'violet' => [ - 'bg' => 'bg-violet-500/20', - 'icon' => 'text-violet-500', - 'link' => 'text-violet-500 hover:text-violet-600', - ], - 'blue' => [ - 'bg' => 'bg-blue-500/20', - 'icon' => 'text-blue-500', - 'link' => 'text-blue-500 hover:text-blue-600', - ], - 'cyan' => [ - 'bg' => 'bg-cyan-500/20', - 'icon' => 'text-cyan-500', - 'link' => 'text-cyan-500 hover:text-cyan-600', - ], - 'orange' => [ - 'bg' => 'bg-orange-500/20', - 'icon' => 'text-orange-500', - 'link' => 'text-orange-500 hover:text-orange-600', - ], - 'yellow' => [ - 'bg' => 'bg-yellow-500/20', - 'icon' => 'text-yellow-500', - 'link' => 'text-yellow-500 hover:text-yellow-600', - ], - 'teal' => [ - 'bg' => 'bg-teal-500/20', - 'icon' => 'text-teal-500', - 'link' => 'text-teal-500 hover:text-teal-600', - ], - ]; -@endphp - -
- -
-
-
- Site Settings - @if($this->workspace) - - {{ $this->workspace->name }} - - @endif -
- Configure your site services and settings -
- -
- - New Workspace - -
-
- - @if (session()->has('success')) -
- {{ session('success') }} -
- @endif - - @if (session()->has('error')) -
- {{ session('error') }} -
- @endif - - @if(!$this->workspace) -
-
- -
-

No Workspace Selected

-

Please select a workspace using the switcher in the header.

-
-
-
- @else - - - - - @if($tab === 'services') -
-

Enable services for this site

- - Get More Services - -
- -
- @foreach($this->serviceCards as $service) - @php $colors = $colorClasses[$service['color']] ?? $colorClasses['violet']; @endphp -
- {{-- Card Header --}} -
-
-
-
- -
-
-

{{ $service['name'] }}

-

{{ $service['description'] }}

-
-
- @unless($service['entitled']) - - Add - - @endunless -
-
- - {{-- Features List --}} -
-
    - @foreach($service['features'] as $feature) -
  • - - {{ $feature }} -
  • - @endforeach -
-
- - {{-- Card Footer --}} -
-
- @if($service['entitled']) - Active - - Manage - - @else - Not active - Locked - @endif -
-
-
- @endforeach -
- @elseif($tab === 'general') -
-
-

General Settings

-
-
-
- Site name - {{ $this->workspace->name }} -
-
- Domain - {{ $this->workspace->domain ?? 'Not configured' }} -
-
- Description - {{ $this->workspace->description ?? 'No description' }} -
-
- Status - @if($this->workspace->is_active) - Active - @else - Inactive - @endif -
-
-
- @elseif($tab === 'deployment') -
-
- -
-

Coming Soon

-

- Deployment settings will allow you to configure Git repository, branches, build commands, and deploy hooks. -

-
-
-
- @elseif($tab === 'environment') -
-
- -
-

Coming Soon

-

- Environment settings will allow you to configure environment variables, secrets, and runtime versions. -

-
-
-
- @elseif($tab === 'ssl') -
-
- -
-

Coming Soon

-

- SSL & Security settings will allow you to manage SSL certificates, force HTTPS, and HTTP/2 configuration. -

-
-
-
- @elseif($tab === 'backups') -
-
- -
-

Coming Soon

-

- Backup settings will allow you to configure backup frequency, retention periods, and restore points. -

-
-
-
- @elseif($tab === 'danger') -
-
- -
-

Danger Zone

-

- These actions are destructive and cannot be undone. -

-
-
-
-

Transfer Ownership

-

Transfer this site to another user

-
- Transfer -
-
-
-

Delete Site

-

Permanently delete this site and all its data

-
- Delete -
-
-
-
-
- @endif - @endif -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/sites.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/sites.blade.php deleted file mode 100644 index 306c3f8..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/sites.blade.php +++ /dev/null @@ -1,72 +0,0 @@ - - - {{ __('hub::hub.workspaces.add') }} - - - @if($this->workspaces->isEmpty()) -
- -

{{ __('hub::hub.workspaces.empty') }}

-
- @else -
- @foreach($this->workspaces as $workspace) - @php - $isCurrent = $workspace->slug === $this->currentWorkspaceSlug; - $colorMap = [ - 'violet' => 'bg-violet-100 dark:bg-violet-500/20 text-violet-500', - 'blue' => 'bg-blue-100 dark:bg-blue-500/20 text-blue-500', - 'green' => 'bg-green-100 dark:bg-green-500/20 text-green-500', - 'orange' => 'bg-orange-100 dark:bg-orange-500/20 text-orange-500', - 'red' => 'bg-red-100 dark:bg-red-500/20 text-red-500', - 'cyan' => 'bg-cyan-100 dark:bg-cyan-500/20 text-cyan-500', - 'gray' => 'bg-gray-100 dark:bg-gray-500/20 text-gray-500', - ]; - $color = $workspace->color ?? 'violet'; - $iconClasses = $colorMap[$color] ?? $colorMap['violet']; - @endphp -
-
-
-
-
- -
-
-

{{ $workspace->name }}

-

{{ $workspace->domain ?? $workspace->slug }}

-
-
- @if($isCurrent) - - {{ __('hub::hub.workspaces.active') }} - - @else - - {{ __('hub::hub.workspaces.activate') }} - - @endif -
- - @if($workspace->description) -

{{ $workspace->description }}

- @endif -
- -
-
- @if($workspace->domain) - - Visit - - @endif -
- - Settings - -
-
- @endforeach -
- @endif -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/usage-dashboard.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/usage-dashboard.blade.php deleted file mode 100644 index d735104..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/usage-dashboard.blade.php +++ /dev/null @@ -1,209 +0,0 @@ -
- -
-

{{ __('hub::hub.usage.title') }}

-

{{ __('hub::hub.usage.subtitle') }}

-
- -
- -
-
-

{{ __('hub::hub.usage.packages.title') }}

-

{{ __('hub::hub.usage.packages.subtitle') }}

-
-
- @if($activePackages->isEmpty()) -
- -

{{ __('hub::hub.usage.packages.empty') }}

-

{{ __('hub::hub.usage.packages.empty_hint') }}

-
- @else -
- @foreach($activePackages as $workspacePackage) -
- @if($workspacePackage->package->icon) -
- -
- @endif -
-

- {{ $workspacePackage->package->name }} -

- @if($workspacePackage->package->description) -

- {{ $workspacePackage->package->description }} -

- @endif -
- @if($workspacePackage->package->is_base_package) - {{ __('hub::hub.usage.badges.base') }} - @else - {{ __('hub::hub.usage.badges.addon') }} - @endif - {{ __('hub::hub.usage.badges.active') }} - @if($workspacePackage->expires_at) - - {{ __('hub::hub.usage.packages.renews', ['time' => $workspacePackage->expires_at->diffForHumans()]) }} - - @endif -
-
-
- @endforeach -
- @endif -
-
- - - @forelse($usageSummary as $category => $features) -
-
-

{{ $category ?? __('hub::hub.usage.categories.general') }}

-
-
- @foreach($features as $feature) -
-
-
- - {{ $feature['name'] }} - - @if(!$feature['allowed']) - {{ __('hub::hub.usage.badges.not_included') }} - @elseif($feature['unlimited']) - {{ __('hub::hub.usage.badges.unlimited') }} - @elseif($feature['type'] === 'boolean') - {{ __('hub::hub.usage.badges.enabled') }} - @endif -
- - @if($feature['allowed'] && !$feature['unlimited'] && $feature['type'] === 'limit') - - {{ number_format($feature['used']) }} / {{ number_format($feature['limit']) }} - - @endif -
- - @if($feature['allowed'] && !$feature['unlimited'] && $feature['type'] === 'limit') -
- @php - $percentage = min($feature['percentage'] ?? 0, 100); - $colorClass = match(true) { - $percentage >= 90 => 'bg-red-500', - $percentage >= 75 => 'bg-amber-500', - default => 'bg-green-500', - }; - @endphp -
-
- @if($feature['near_limit']) -

- - {{ __('hub::hub.usage.warnings.approaching_limit', ['remaining' => $feature['remaining']]) }} -

- @endif - @endif -
- @endforeach -
-
- @empty -
-
- -

{{ __('hub::hub.usage.empty.title') }}

-

{{ __('hub::hub.usage.empty.hint') }}

-
-
- @endforelse - - - @if($activeBoosts->isNotEmpty()) -
-
-

{{ __('hub::hub.usage.active_boosts.title') }}

-

{{ __('hub::hub.usage.active_boosts.subtitle') }}

-
-
-
- @foreach($activeBoosts as $boost) -
-
- - {{ $boost->feature_code }} - -
- @switch($boost->boost_type) - @case('add_limit') - - +{{ number_format($boost->limit_value) }} - - @break - @case('unlimited') - {{ __('hub::hub.usage.badges.unlimited') }} - @break - @case('enable') - {{ __('hub::hub.usage.badges.enabled') }} - @break - @endswitch - - @switch($boost->duration_type) - @case('cycle_bound') - {{ __('hub::hub.usage.duration.cycle_bound') }} - @break - @case('duration') - @if($boost->expires_at) - - {{ __('hub::hub.usage.duration.expires', ['time' => $boost->expires_at->diffForHumans()]) }} - - @endif - @break - @case('permanent') - {{ __('hub::hub.usage.duration.permanent') }} - @break - @endswitch -
-
- @if($boost->boost_type === 'add_limit' && $boost->limit_value) -
- - {{ number_format($boost->getRemainingLimit()) }} - - {{ __('hub::hub.usage.active_boosts.remaining') }} -
- @endif -
- @endforeach -
-
-
- @endif - - -
-

- {{ __('hub::hub.usage.cta.title') }} -

-

- {{ __('hub::hub.usage.cta.subtitle') }} -

-
- - - {{ __('hub::hub.usage.cta.add_boosts') }} - - - - {{ __('hub::hub.usage.cta.view_plans') }} - -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/waitlist-manager.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/waitlist-manager.blade.php deleted file mode 100644 index 57ba181..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/waitlist-manager.blade.php +++ /dev/null @@ -1,40 +0,0 @@ - - - Export CSV - @if (count($selected) > 0) - - Invite Selected ({{ count($selected) }}) - - @endif - - - - - {{-- Stats Cards --}} - - - - - - - - - - - -
- -
-
- - -
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/workspace-switcher.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/workspace-switcher.blade.php deleted file mode 100644 index d71efd0..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/workspace-switcher.blade.php +++ /dev/null @@ -1,58 +0,0 @@ -
- - - - -
-
-

{{ __('hub::hub.workspace_switcher.title') }}

-
-
- @foreach($workspaces as $slug => $workspace) - - @endforeach -
-
-
- - {{ $current['domain'] }} -
-
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Blade/admin/wp-connector-settings.blade.php b/packages/core-admin/src/Website/Hub/View/Blade/admin/wp-connector-settings.blade.php deleted file mode 100644 index 9848f66..0000000 --- a/packages/core-admin/src/Website/Hub/View/Blade/admin/wp-connector-settings.blade.php +++ /dev/null @@ -1,150 +0,0 @@ -
- - -
- -
- WordPress Connector - Connect your self-hosted WordPress site to sync content -
-
- -
- - - - @if($enabled) - - - - -
- Plugin Configuration - - Install the Host Hub Connector plugin on your WordPress site and enter these settings: - - - -
- Webhook URL -
- - -
-
- - -
- Webhook Secret -
- - - -
- - Keep this secret safe. It's used to verify webhooks are from your WordPress site. - -
-
- - -
-
- @if($this->isVerified) -
-
- Connected - @if($this->lastSync) - Last sync: {{ $this->lastSync }} - @endif -
- @else -
-
- Not verified - Test the connection to verify -
- @endif -
- - - Test Connection - -
- - @if($testResult) - - {{ $testResult }} - - @endif - - -
-
- -
- WordPress Plugin - - Download and install the Host Hub Connector plugin on your WordPress site to enable content syncing. - - - Download Plugin - -
-
-
- @endif -
- -
- - Save Settings - -
-
-
diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/AIServices.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/AIServices.php deleted file mode 100644 index ddd404a..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/AIServices.php +++ /dev/null @@ -1,179 +0,0 @@ - 'Claude Sonnet 4 (Recommended)', - 'claude-opus-4-20250514' => 'Claude Opus 4', - 'claude-3-5-sonnet-20241022' => 'Claude 3.5 Sonnet', - 'claude-3-5-haiku-20241022' => 'Claude 3.5 Haiku (Fast)', - ]; - - protected array $geminiModels = [ - 'gemini-2.0-flash' => 'Gemini 2.0 Flash (Recommended)', - 'gemini-2.0-flash-lite' => 'Gemini 2.0 Flash Lite (Fast)', - 'gemini-1.5-pro' => 'Gemini 1.5 Pro', - 'gemini-1.5-flash' => 'Gemini 1.5 Flash', - ]; - - protected ServiceManager $serviceManager; - - public function boot(ServiceManager $serviceManager): void - { - $this->serviceManager = $serviceManager; - } - - public function mount(): void - { - $this->loadServices(); - } - - protected function loadServices(): void - { - // Load Claude - try { - $claude = $this->serviceManager->get('claude'); - $this->claudeApiKey = $claude['configuration']['api_key'] ?? ''; - $this->claudeModel = $claude['configuration']['model'] ?? 'claude-sonnet-4-20250514'; - $this->claudeActive = $claude['active'] ?? false; - } catch (\Exception $e) { - // Service not configured yet - } - - // Load Gemini - try { - $gemini = $this->serviceManager->get('gemini'); - $this->geminiApiKey = $gemini['configuration']['api_key'] ?? ''; - $this->geminiModel = $gemini['configuration']['model'] ?? 'gemini-2.0-flash'; - $this->geminiActive = $gemini['active'] ?? false; - } catch (\Exception $e) { - // Service not configured yet - } - - // Load OpenAI - try { - $openai = $this->serviceManager->get('openai'); - $this->openaiSecretKey = $openai['configuration']['secret_key'] ?? ''; - $this->openaiActive = $openai['active'] ?? false; - } catch (\Exception $e) { - // Service not configured yet - } - } - - public function saveClaude(): void - { - $this->validate([ - 'claudeApiKey' => 'required_if:claudeActive,true', - 'claudeModel' => 'required|in:'.implode(',', array_keys($this->claudeModels)), - ], [ - 'claudeApiKey.required_if' => 'API key is required when the service is active.', - ]); - - (new UpdateOrCreateService)( - name: 'claude', - configuration: [ - 'api_key' => $this->claudeApiKey, - 'model' => $this->claudeModel, - ], - active: $this->claudeActive - ); - - // Clear the cache so changes take effect - $this->serviceManager->forget('claude'); - - $this->savedMessage = 'Claude settings saved.'; - $this->dispatch('service-saved'); - } - - public function saveGemini(): void - { - $this->validate([ - 'geminiApiKey' => 'required_if:geminiActive,true', - 'geminiModel' => 'required|in:'.implode(',', array_keys($this->geminiModels)), - ], [ - 'geminiApiKey.required_if' => 'API key is required when the service is active.', - ]); - - (new UpdateOrCreateService)( - name: 'gemini', - configuration: [ - 'api_key' => $this->geminiApiKey, - 'model' => $this->geminiModel, - ], - active: $this->geminiActive - ); - - $this->serviceManager->forget('gemini'); - - $this->savedMessage = 'Gemini settings saved.'; - $this->dispatch('service-saved'); - } - - public function saveOpenAI(): void - { - $this->validate([ - 'openaiSecretKey' => 'required_if:openaiActive,true', - ], [ - 'openaiSecretKey.required_if' => 'API key is required when the service is active.', - ]); - - (new UpdateOrCreateService)( - name: 'openai', - configuration: [ - 'secret_key' => $this->openaiSecretKey, - ], - active: $this->openaiActive - ); - - $this->serviceManager->forget('openai'); - - $this->savedMessage = 'OpenAI settings saved.'; - $this->dispatch('service-saved'); - } - - public function getClaudeModelsProperty(): array - { - return $this->claudeModels; - } - - public function getGeminiModelsProperty(): array - { - return $this->geminiModels; - } - - public function render() - { - return view('hub::admin.ai-services') - ->layout('hub::admin.layouts.app', ['title' => 'AI Services']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/AccountUsage.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/AccountUsage.php deleted file mode 100644 index f1b17ed..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/AccountUsage.php +++ /dev/null @@ -1,339 +0,0 @@ - 'Claude Sonnet 4 (Recommended)', - 'claude-opus-4-20250514' => 'Claude Opus 4', - 'claude-3-5-sonnet-20241022' => 'Claude 3.5 Sonnet', - 'claude-3-5-haiku-20241022' => 'Claude 3.5 Haiku (Fast)', - ]; - - protected array $geminiModels = [ - 'gemini-2.0-flash' => 'Gemini 2.0 Flash (Recommended)', - 'gemini-2.0-flash-lite' => 'Gemini 2.0 Flash Lite (Fast)', - 'gemini-1.5-pro' => 'Gemini 1.5 Pro', - 'gemini-1.5-flash' => 'Gemini 1.5 Flash', - ]; - - protected ServiceManager $serviceManager; - - protected EntitlementService $entitlementService; - - public function boot(ServiceManager $serviceManager, EntitlementService $entitlementService): void - { - $this->serviceManager = $serviceManager; - $this->entitlementService = $entitlementService; - } - - public function mount(): void - { - $this->loadDataForTab($this->activeSection); - } - - /** - * Load data when tab changes. - */ - public function updatedActiveSection(string $tab): void - { - $this->loadDataForTab($tab); - } - - /** - * Load only the data needed for the active tab. - */ - protected function loadDataForTab(string $tab): void - { - match ($tab) { - 'overview' => $this->loadUsageData(), - 'boosts' => $this->loadBoostOptions(), - 'ai' => $this->loadAiServices(), - default => null, - }; - } - - protected function loadUsageData(): void - { - if ($this->usageSummary !== null) { - return; // Already loaded - } - - $workspace = Auth::user()?->defaultHostWorkspace(); - - if (! $workspace) { - $this->usageSummary = []; - $this->activePackages = []; - $this->activeBoosts = []; - - return; - } - - $this->usageSummary = $this->entitlementService->getUsageSummary($workspace)->toArray(); - $this->activePackages = $this->entitlementService->getActivePackages($workspace)->toArray(); - $this->activeBoosts = $this->entitlementService->getActiveBoosts($workspace)->toArray(); - } - - protected function loadBoostOptions(): void - { - if ($this->boostOptions !== null) { - return; // Already loaded - } - - $addonMapping = config('services.blesta.addon_mapping', []); - - $this->boostOptions = collect($addonMapping)->map(function ($config, $blestaId) { - $feature = Feature::where('code', $config['feature_code'])->first(); - - return [ - 'blesta_id' => $blestaId, - 'feature_code' => $config['feature_code'], - 'feature_name' => $feature?->name ?? $config['feature_code'], - 'boost_type' => $config['boost_type'], - 'limit_value' => $config['limit_value'] ?? null, - 'duration_type' => $config['duration_type'], - 'description' => $this->getBoostDescription($config), - ]; - })->values()->toArray(); - } - - protected function getBoostDescription(array $config): string - { - $type = $config['boost_type']; - $value = $config['limit_value'] ?? null; - $duration = $config['duration_type']; - - $description = match ($type) { - 'add_limit' => "+{$value} additional", - 'unlimited' => 'Unlimited access', - 'enable' => 'Feature enabled', - default => 'Boost', - }; - - $durationText = match ($duration) { - 'cycle_bound' => 'until billing cycle ends', - 'duration' => 'for limited time', - 'permanent' => 'permanently', - default => '', - }; - - return trim("{$description} {$durationText}"); - } - - protected function loadAiServices(): void - { - if ($this->aiServicesLoaded) { - return; // Already loaded - } - - try { - $claude = $this->serviceManager->get('claude'); - $this->claudeApiKey = $claude['configuration']['api_key'] ?? ''; - $this->claudeModel = $claude['configuration']['model'] ?? 'claude-sonnet-4-20250514'; - $this->claudeActive = $claude['active'] ?? false; - } catch (\Exception) { - } - - try { - $gemini = $this->serviceManager->get('gemini'); - $this->geminiApiKey = $gemini['configuration']['api_key'] ?? ''; - $this->geminiModel = $gemini['configuration']['model'] ?? 'gemini-2.0-flash'; - $this->geminiActive = $gemini['active'] ?? false; - } catch (\Exception) { - } - - try { - $openai = $this->serviceManager->get('openai'); - $this->openaiSecretKey = $openai['configuration']['secret_key'] ?? ''; - $this->openaiActive = $openai['active'] ?? false; - } catch (\Exception) { - } - - $this->aiServicesLoaded = true; - } - - public function purchaseBoost(string $blestaId): void - { - $blestaUrl = config('services.blesta.url', 'https://billing.host.uk.com'); - $this->redirect("{$blestaUrl}/order/addon/{$blestaId}"); - } - - public function saveClaude(): void - { - $this->validate([ - 'claudeApiKey' => 'required_if:claudeActive,true', - 'claudeModel' => 'required|in:'.implode(',', array_keys($this->claudeModels)), - ], [ - 'claudeApiKey.required_if' => 'API key is required when the service is active.', - ]); - - (new UpdateOrCreateService)( - name: 'claude', - configuration: [ - 'api_key' => $this->claudeApiKey, - 'model' => $this->claudeModel, - ], - active: $this->claudeActive - ); - - $this->serviceManager->forget('claude'); - Flux::toast(text: 'Claude settings saved.', variant: 'success'); - } - - public function saveGemini(): void - { - $this->validate([ - 'geminiApiKey' => 'required_if:geminiActive,true', - 'geminiModel' => 'required|in:'.implode(',', array_keys($this->geminiModels)), - ], [ - 'geminiApiKey.required_if' => 'API key is required when the service is active.', - ]); - - (new UpdateOrCreateService)( - name: 'gemini', - configuration: [ - 'api_key' => $this->geminiApiKey, - 'model' => $this->geminiModel, - ], - active: $this->geminiActive - ); - - $this->serviceManager->forget('gemini'); - Flux::toast(text: 'Gemini settings saved.', variant: 'success'); - } - - public function saveOpenAI(): void - { - $this->validate([ - 'openaiSecretKey' => 'required_if:openaiActive,true', - ], [ - 'openaiSecretKey.required_if' => 'API key is required when the service is active.', - ]); - - (new UpdateOrCreateService)( - name: 'openai', - configuration: [ - 'secret_key' => $this->openaiSecretKey, - ], - active: $this->openaiActive - ); - - $this->serviceManager->forget('openai'); - Flux::toast(text: 'OpenAI settings saved.', variant: 'success'); - } - - #[Computed] - public function claudeModelsComputed(): array - { - return $this->claudeModels; - } - - #[Computed] - public function geminiModelsComputed(): array - { - return $this->geminiModels; - } - - /** - * Get all features grouped by category for entitlements display. - */ - #[Computed] - public function allFeatures(): array - { - return Feature::orderBy('category') - ->orderBy('name') - ->get() - ->groupBy('category') - ->toArray(); - } - - /** - * Get all user workspaces with subscription and cost information. - */ - #[Computed] - public function userWorkspaces(): array - { - $user = Auth::user(); - if (! $user) { - return []; - } - - $registry = app(AdminMenuRegistry::class); - $isHades = $user->isHades(); - - return $user->workspaces() - ->orderBy('name') - ->get() - ->map(function (Workspace $workspace) use ($registry, $isHades) { - $subscription = $workspace->activeSubscription(); - $services = $registry->getAllServiceItems($workspace, $isHades); - - return [ - 'workspace' => $workspace, - 'subscription' => $subscription, - 'plan' => $subscription?->workspacePackage?->package?->name ?? 'Free', - 'status' => $subscription?->status ?? 'inactive', - 'renewsAt' => $subscription?->current_period_end, - 'price' => $subscription?->workspacePackage?->package?->price ?? 0, - 'currency' => $subscription?->workspacePackage?->package?->currency ?? 'GBP', - 'services' => $services, - 'serviceCount' => count($services), - ]; - }) - ->toArray(); - } - - public function render() - { - return view('hub::admin.account-usage') - ->layout('hub::admin.layouts.app', ['title' => 'Usage & Billing']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ActivityLog.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/ActivityLog.php deleted file mode 100644 index bb90ef7..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ActivityLog.php +++ /dev/null @@ -1,181 +0,0 @@ -distinct() - ->pluck('log_name') - ->filter() - ->values() - ->toArray(); - } - - /** - * Get available events for filtering. - */ - #[Computed] - public function events(): array - { - return Activity::query() - ->distinct() - ->pluck('event') - ->filter() - ->values() - ->toArray(); - } - - /** - * Get paginated activity records. - */ - #[Computed] - public function activities(): LengthAwarePaginator - { - $user = auth()->user(); - $workspace = $user?->defaultHostWorkspace(); - - $query = Activity::query() - ->with(['causer', 'subject']) - ->latest(); - - // Filter by workspace members if workspace exists - if ($workspace) { - $memberIds = $workspace->users->pluck('id'); - $query->whereIn('causer_id', $memberIds); - } - - // Filter by log name - if ($this->logName) { - $query->where('log_name', $this->logName); - } - - // Filter by event - if ($this->event) { - $query->where('event', $this->event); - } - - // Search in description - if ($this->search) { - $query->where('description', 'like', "%{$this->search}%"); - } - - return $query->paginate(20); - } - - /** - * Clear all filters. - */ - public function clearFilters(): void - { - $this->search = ''; - $this->logName = ''; - $this->event = ''; - $this->resetPage(); - } - - #[Computed] - public function logNameOptions(): array - { - $options = ['' => 'All logs']; - foreach ($this->logNames as $name) { - $options[$name] = Str::title($name); - } - - return $options; - } - - #[Computed] - public function eventOptions(): array - { - $options = ['' => 'All events']; - foreach ($this->events as $eventName) { - $options[$eventName] = Str::title($eventName); - } - - return $options; - } - - #[Computed] - public function activityItems(): array - { - return $this->activities->map(function ($activity) { - $item = [ - 'description' => $activity->description, - 'event' => $activity->event ?? 'activity', - 'timestamp' => $activity->created_at, - ]; - - // Actor - if ($activity->causer) { - $item['actor'] = [ - 'name' => $activity->causer->name ?? 'User', - 'initials' => substr($activity->causer->name ?? 'U', 0, 1), - ]; - } - - // Subject - if ($activity->subject) { - $item['subject'] = [ - 'type' => class_basename($activity->subject_type), - 'name' => $activity->subject->name - ?? $activity->subject->title - ?? $activity->subject->url - ?? (string) $activity->subject_id, - ]; - } - - // Changes diff - if ($activity->properties->has('old') && $activity->properties->has('new')) { - $item['changes'] = [ - 'old' => $activity->properties['old'], - 'new' => $activity->properties['new'], - ]; - } - - return $item; - })->all(); - } - - public function render() - { - return view('hub::admin.activity-log') - ->layout('hub::admin.layouts.app', ['title' => 'Activity Log']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Analytics.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Analytics.php deleted file mode 100644 index ec7e96b..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Analytics.php +++ /dev/null @@ -1,69 +0,0 @@ -metrics = [ - [ - 'label' => 'Total Visitors', - 'value' => '—', - 'change' => null, - 'icon' => 'users', - ], - [ - 'label' => 'Page Views', - 'value' => '—', - 'change' => null, - 'icon' => 'eye', - ], - [ - 'label' => 'Bounce Rate', - 'value' => '—', - 'change' => null, - 'icon' => 'arrow-right-from-bracket', - ], - [ - 'label' => 'Avg. Session', - 'value' => '—', - 'change' => null, - 'icon' => 'clock', - ], - ]; - - // Placeholder chart sections - $this->chartData = [ - 'visitors' => [ - 'title' => 'Visitors Over Time', - 'description' => 'Daily unique visitors across all sites', - ], - 'pages' => [ - 'title' => 'Top Pages', - 'description' => 'Most visited pages this period', - ], - 'sources' => [ - 'title' => 'Traffic Sources', - 'description' => 'Where your visitors come from', - ], - 'devices' => [ - 'title' => 'Devices', - 'description' => 'Device breakdown of your audience', - ], - ]; - } - - public function render() - { - return view('hub::admin.analytics') - ->layout('hub::admin.layouts.app', ['title' => 'Analytics']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/BoostPurchase.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/BoostPurchase.php deleted file mode 100644 index 0f7943b..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/BoostPurchase.php +++ /dev/null @@ -1,77 +0,0 @@ -check()) { - abort(403, 'Authentication required.'); - } - - // Get boost options from config - $addonMapping = config('services.blesta.addon_mapping', []); - - $this->boostOptions = collect($addonMapping)->map(function ($config, $blestaId) { - $feature = Feature::where('code', $config['feature_code'])->first(); - - return [ - 'blesta_id' => $blestaId, - 'feature_code' => $config['feature_code'], - 'feature_name' => $feature?->name ?? $config['feature_code'], - 'boost_type' => $config['boost_type'], - 'limit_value' => $config['limit_value'] ?? null, - 'duration_type' => $config['duration_type'], - 'description' => $this->getBoostDescription($config), - ]; - })->values()->toArray(); - } - - protected function getBoostDescription(array $config): string - { - $type = $config['boost_type']; - $value = $config['limit_value'] ?? null; - $duration = $config['duration_type']; - - $description = match ($type) { - 'add_limit' => "+{$value} additional", - 'unlimited' => 'Unlimited access', - 'enable' => 'Feature enabled', - default => 'Boost', - }; - - $durationText = match ($duration) { - 'cycle_bound' => 'until billing cycle ends', - 'duration' => 'for limited time', - 'permanent' => 'permanently', - default => '', - }; - - return trim("{$description} {$durationText}"); - } - - public function purchaseBoost(string $blestaId): void - { - // Redirect to Blesta for purchase - // TODO: Implement when Blesta is configured - $blestaUrl = config('services.blesta.url', 'https://billing.host.uk.com'); - - $this->redirect("{$blestaUrl}/order/addon/{$blestaId}"); - } - - public function render() - { - return view('hub::admin.boost-purchase') - ->layout('hub::admin.layouts.app', ['title' => 'Purchase Boost']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Console.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Console.php deleted file mode 100644 index 156bc1e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Console.php +++ /dev/null @@ -1,53 +0,0 @@ -servers = [ - [ - 'id' => 1, - 'name' => 'Bio (Production)', - 'type' => 'WordPress', - 'status' => 'online', - ], - [ - 'id' => 2, - 'name' => 'Social (Production)', - 'type' => 'Laravel', - 'status' => 'online', - ], - [ - 'id' => 3, - 'name' => 'Analytics (Production)', - 'type' => 'Node.js', - 'status' => 'online', - ], - [ - 'id' => 4, - 'name' => 'Host Hub (Development)', - 'type' => 'Laravel', - 'status' => 'online', - ], - ]; - } - - public function selectServer(int $serverId): void - { - $this->selectedServer = $serverId; - } - - public function render() - { - return view('hub::admin.console') - ->layout('hub::admin.layouts.app', ['title' => 'Console']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Content.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Content.php deleted file mode 100644 index fa709b6..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Content.php +++ /dev/null @@ -1,295 +0,0 @@ -workspaceService = $workspaceService; - } - - public function mount(string $workspace = 'main', string $type = 'posts'): void - { - $this->tab = $type; - - // Set workspace from URL - $this->workspaceService->setCurrent($workspace); - $this->currentWorkspace = $this->workspaceService->current(); - - $this->loadContent(); - } - - #[On('workspace-changed')] - public function handleWorkspaceChange(string $workspace): void - { - $this->currentWorkspace = $this->workspaceService->current(); - $this->resetPage(); - $this->loadContent(); - } - - #[Computed] - public function stats(): array - { - $published = collect($this->items)->where('status', 'publish')->count(); - $drafts = collect($this->items)->where('status', 'draft')->count(); - - return [ - [ - 'title' => 'Total '.ucfirst($this->tab), - 'value' => (string) $this->total, - 'trend' => '+12%', - 'trendUp' => true, - 'icon' => $this->tab === 'posts' ? 'newspaper' : ($this->tab === 'pages' ? 'file-lines' : 'images'), - ], - [ - 'title' => 'Published', - 'value' => (string) $published, - 'trend' => '+8%', - 'trendUp' => true, - 'icon' => 'check-circle', - ], - [ - 'title' => 'Drafts', - 'value' => (string) $drafts, - 'trend' => '-3%', - 'trendUp' => false, - 'icon' => 'pencil', - ], - [ - 'title' => 'This Week', - 'value' => (string) collect($this->items)->filter(fn ($i) => \Carbon\Carbon::parse($i['date'] ?? $i['modified'] ?? now())->isCurrentWeek())->count(), - 'trend' => '+24%', - 'trendUp' => true, - 'icon' => 'calendar', - ], - ]; - } - - #[Computed] - public function paginator(): LengthAwarePaginator - { - $page = $this->getPage(); - - return new LengthAwarePaginator( - items: array_slice($this->items, ($page - 1) * $this->perPage, $this->perPage), - total: $this->total, - perPage: $this->perPage, - currentPage: $page, - options: ['path' => request()->url()] - ); - } - - #[Computed] - public function rows(): array - { - return $this->paginator()->items(); - } - - public function loadContent(): void - { - // Load demo data - native content system to be implemented - $this->loadDemoData(); - - // Apply sorting - $this->applySorting(); - } - - protected function applySorting(): void - { - $items = collect($this->items); - - $items = match ($this->sort) { - 'title' => $items->sortBy(fn ($i) => $i['title']['rendered'] ?? '', SORT_REGULAR, $this->dir === 'desc'), - 'status' => $items->sortBy('status', SORT_REGULAR, $this->dir === 'desc'), - 'modified' => $items->sortBy('modified', SORT_REGULAR, $this->dir === 'desc'), - default => $items->sortBy('date', SORT_REGULAR, $this->dir === 'desc'), - }; - - $this->items = $items->values()->all(); - } - - protected function loadDemoData(): void - { - $workspaceName = $this->currentWorkspace['name'] ?? 'Host UK'; - $workspaceSlug = $this->currentWorkspace['slug'] ?? 'main'; - - if ($this->tab === 'posts') { - $this->items = []; - for ($i = 1; $i <= 25; $i++) { - $this->items[] = [ - 'id' => $i, - 'title' => ['rendered' => "{$workspaceName} Post #{$i}"], - 'content' => ['rendered' => "

Content for post {$i} in {$workspaceName}.

"], - 'status' => $i % 3 === 0 ? 'draft' : 'publish', - 'date' => now()->subDays($i)->toIso8601String(), - 'modified' => now()->subDays($i - 1)->toIso8601String(), - 'excerpt' => ['rendered' => "Excerpt for post {$i}"], - ]; - } - $this->total = 25; - } elseif ($this->tab === 'pages') { - $pageNames = ['Home', 'About', 'Services', 'Contact', 'Privacy', 'Terms', 'FAQ', 'Blog', 'Portfolio', 'Team']; - $this->items = []; - foreach ($pageNames as $i => $name) { - $this->items[] = [ - 'id' => $i + 10, - 'title' => ['rendered' => $name], - 'content' => ['rendered' => "

{$workspaceName} {$name} page content.

"], - 'status' => 'publish', - 'date' => now()->subMonths($i)->toIso8601String(), - 'modified' => now()->subDays($i)->toIso8601String(), - 'excerpt' => ['rendered' => ''], - ]; - } - $this->total = count($pageNames); - } else { - $this->items = []; - for ($i = 1; $i <= 12; $i++) { - $this->items[] = [ - 'id' => 100 + $i, - 'title' => ['rendered' => "{$workspaceSlug}-image-{$i}.jpg"], - 'media_type' => 'image', - 'source_url' => '/images/placeholder.jpg', - 'date' => now()->subDays($i)->toIso8601String(), - ]; - } - $this->total = 12; - } - } - - public function setSort(string $sort): void - { - if ($this->sort === $sort) { - $this->dir = $this->dir === 'asc' ? 'desc' : 'asc'; - } else { - $this->sort = $sort; - $this->dir = 'desc'; - } - $this->loadContent(); - } - - public function setStatus(string $status): void - { - $this->status = $status; - $this->resetPage(); - $this->loadContent(); - } - - public function setView(string $view): void - { - $this->view = $view; - } - - public function createNew(): void - { - $this->isCreating = true; - $this->editingId = null; - $this->editTitle = ''; - $this->editContent = ''; - $this->editStatus = 'draft'; - $this->editExcerpt = ''; - $this->showEditor = true; - } - - public function edit(int $id): void - { - $this->isCreating = false; - $this->editingId = $id; - - $item = collect($this->items)->firstWhere('id', $id); - if ($item) { - $this->editTitle = $item['title']['rendered'] ?? ''; - $this->editContent = $item['content']['rendered'] ?? ''; - $this->editStatus = $item['status'] ?? 'draft'; - $this->editExcerpt = $item['excerpt']['rendered'] ?? ''; - } - - $this->showEditor = true; - } - - public function save(): void - { - // Native content save - to be implemented - // For now, just close editor and dispatch event - - $this->closeEditor(); - $this->dispatch('content-saved'); - } - - public function delete(int $id): void - { - // Native content delete - to be implemented - // For demo, just remove from items - $this->items = array_values(array_filter($this->items, fn ($p) => $p['id'] !== $id)); - $this->total = count($this->items); - } - - public function closeEditor(): void - { - $this->showEditor = false; - $this->editingId = null; - $this->isCreating = false; - } - - public function render() - { - return view('hub::admin.content') - ->layout('hub::admin.layouts.app', ['title' => 'Content']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentEditor.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentEditor.php deleted file mode 100644 index 01af915..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentEditor.php +++ /dev/null @@ -1,843 +0,0 @@ - 'required|string|max:255', - 'slug' => 'required|string|max:255', - 'excerpt' => 'nullable|string|max:500', - 'content' => 'required|string', - 'type' => 'required|in:page,post', - 'status' => 'required|in:draft,publish,pending,future,private', - 'contentType' => 'required|in:native,hostuk,satellite,wordpress', - 'publishAt' => 'nullable|date', - 'seoTitle' => 'nullable|string|max:70', - 'seoDescription' => 'nullable|string|max:160', - 'seoKeywords' => 'nullable|string|max:255', - 'featuredImageUpload' => 'nullable|image|max:5120', // 5MB max - ]; - - public function boot(AgenticManager $ai, EntitlementService $entitlements): void - { - $this->ai = $ai; - $this->entitlements = $entitlements; - } - - public function mount(): void - { - $workspace = request()->route('workspace', 'main'); - $id = request()->route('id'); - $contentType = request()->route('contentType', 'native'); - - $workspaceModel = Workspace::where('slug', $workspace)->first(); - $this->workspaceId = $workspaceModel?->id; - $this->contentType = $contentType === 'hostuk' ? 'native' : $contentType; - - if ($id) { - $this->loadContent((int) $id); - } - } - - /** - * Load existing content for editing. - */ - public function loadContent(int $id): void - { - $item = ContentItem::with(['taxonomies', 'revisions'])->findOrFail($id); - - $this->contentId = $item->id; - $this->workspaceId = $item->workspace_id; - $this->contentType = $item->content_type instanceof ContentType - ? $item->content_type->value - : ($item->content_type ?? 'native'); - $this->type = $item->type; - $this->status = $item->status; - $this->title = $item->title; - $this->slug = $item->slug; - $this->excerpt = $item->excerpt ?? ''; - $this->content = $item->content_html ?? $item->content_markdown ?? ''; - $this->lastSaved = $item->updated_at?->diffForHumans(); - $this->revisionCount = $item->revision_count ?? 0; - - // Scheduling - $this->publishAt = $item->publish_at?->format('Y-m-d\TH:i'); - $this->isScheduled = $item->status === 'future' && $item->publish_at !== null; - - // SEO - $seoMeta = $item->seo_meta ?? []; - $this->seoTitle = $seoMeta['title'] ?? ''; - $this->seoDescription = $seoMeta['description'] ?? ''; - $this->seoKeywords = $seoMeta['keywords'] ?? ''; - $this->ogImage = $seoMeta['og_image'] ?? null; - - // Taxonomies - $this->selectedCategories = $item->categories->pluck('id')->toArray(); - $this->selectedTags = $item->tags->pluck('id')->toArray(); - - // Media - $this->featuredMediaId = $item->featured_media_id; - } - - /** - * Get available categories for this workspace. - */ - #[Computed] - public function categories(): array - { - if (! $this->workspaceId) { - return []; - } - - return ContentTaxonomy::where('workspace_id', $this->workspaceId) - ->where('type', 'category') - ->orderBy('name') - ->get() - ->toArray(); - } - - /** - * Get available tags for this workspace. - */ - #[Computed] - public function tags(): array - { - if (! $this->workspaceId) { - return []; - } - - return ContentTaxonomy::where('workspace_id', $this->workspaceId) - ->where('type', 'tag') - ->orderBy('name') - ->get() - ->toArray(); - } - - /** - * Get available media for this workspace. - */ - #[Computed] - public function mediaLibrary(): array - { - if (! $this->workspaceId) { - return []; - } - - return ContentMedia::where('workspace_id', $this->workspaceId) - ->images() - ->orderByDesc('created_at') - ->take(20) - ->get() - ->toArray(); - } - - /** - * Get the featured media object. - */ - #[Computed] - public function featuredMedia(): ?ContentMedia - { - if (! $this->featuredMediaId) { - return null; - } - - return ContentMedia::find($this->featuredMediaId); - } - - /** - * Generate slug from title. - */ - public function updatedTitle(string $value): void - { - if (empty($this->slug) || $this->slug === Str::slug($this->title)) { - $this->slug = Str::slug($value); - } - $this->isDirty = true; - } - - /** - * Mark as dirty when content changes. - */ - public function updatedContent(): void - { - $this->isDirty = true; - } - - /** - * Handle scheduling toggle. - */ - public function updatedIsScheduled(bool $value): void - { - if ($value) { - $this->status = 'future'; - if (empty($this->publishAt)) { - // Default to tomorrow at 9am - $this->publishAt = now()->addDay()->setTime(9, 0)->format('Y-m-d\TH:i'); - } - } else { - if ($this->status === 'future') { - $this->status = 'draft'; - } - $this->publishAt = null; - } - $this->isDirty = true; - } - - /** - * Add a new tag. - */ - public function addTag(): void - { - if (empty($this->newTag) || ! $this->workspaceId) { - return; - } - - $slug = Str::slug($this->newTag); - - // Check if tag exists - $existing = ContentTaxonomy::where('workspace_id', $this->workspaceId) - ->where('type', 'tag') - ->where('slug', $slug) - ->first(); - - if ($existing) { - if (! in_array($existing->id, $this->selectedTags)) { - $this->selectedTags[] = $existing->id; - } - } else { - // Create new tag - $tag = ContentTaxonomy::create([ - 'workspace_id' => $this->workspaceId, - 'type' => 'tag', - 'name' => $this->newTag, - 'slug' => $slug, - ]); - $this->selectedTags[] = $tag->id; - } - - $this->newTag = ''; - $this->isDirty = true; - } - - /** - * Remove a tag. - */ - public function removeTag(int $tagId): void - { - $this->selectedTags = array_values(array_filter( - $this->selectedTags, - fn ($id) => $id !== $tagId - )); - $this->isDirty = true; - } - - /** - * Toggle a category. - */ - public function toggleCategory(int $categoryId): void - { - if (in_array($categoryId, $this->selectedCategories)) { - $this->selectedCategories = array_values(array_filter( - $this->selectedCategories, - fn ($id) => $id !== $categoryId - )); - } else { - $this->selectedCategories[] = $categoryId; - } - $this->isDirty = true; - } - - /** - * Set featured image from media library. - */ - public function setFeaturedMedia(int $mediaId): void - { - $this->featuredMediaId = $mediaId; - $this->isDirty = true; - } - - /** - * Remove featured image. - */ - public function removeFeaturedMedia(): void - { - $this->featuredMediaId = null; - $this->isDirty = true; - } - - /** - * Upload featured image. - */ - public function uploadFeaturedImage(): void - { - $this->validate([ - 'featuredImageUpload' => 'required|image|max:5120', - ]); - - if (! $this->workspaceId) { - $this->dispatch('notify', message: 'No workspace selected', type: 'error'); - - return; - } - - // Store the file - $path = $this->featuredImageUpload->store('content-media', 'public'); - - // Create media record - $media = ContentMedia::create([ - 'workspace_id' => $this->workspaceId, - 'type' => 'image', - 'title' => pathinfo($this->featuredImageUpload->getClientOriginalName(), PATHINFO_FILENAME), - 'source_url' => asset('storage/'.$path), - 'alt_text' => $this->title, - 'mime_type' => $this->featuredImageUpload->getMimeType(), - ]); - - $this->featuredMediaId = $media->id; - $this->featuredImageUpload = null; - $this->isDirty = true; - - $this->dispatch('notify', message: 'Image uploaded', type: 'success'); - } - - /** - * Load revision history. - */ - public function loadRevisions(): void - { - if (! $this->contentId) { - $this->revisions = []; - - return; - } - - $this->revisions = ContentRevision::forContentItem($this->contentId) - ->withoutAutosaves() - ->latestFirst() - ->with('user') - ->take(20) - ->get() - ->toArray(); - - $this->showRevisions = true; - $this->activeSidebar = 'revisions'; - } - - /** - * Restore a revision. - */ - public function restoreRevision(int $revisionId): void - { - $revision = ContentRevision::findOrFail($revisionId); - - if ($revision->content_item_id !== $this->contentId) { - $this->dispatch('notify', message: 'Invalid revision', type: 'error'); - - return; - } - - // Load revision data into form - $this->title = $revision->title; - $this->excerpt = $revision->excerpt ?? ''; - $this->content = $revision->content_html ?? $revision->content_markdown ?? ''; - - // Restore SEO if available - if ($revision->seo_meta) { - $this->seoTitle = $revision->seo_meta['title'] ?? ''; - $this->seoDescription = $revision->seo_meta['description'] ?? ''; - $this->seoKeywords = $revision->seo_meta['keywords'] ?? ''; - } - - $this->isDirty = true; - $this->showRevisions = false; - - $this->dispatch('notify', message: "Restored revision #{$revision->revision_number}", type: 'success'); - } - - /** - * Save the content. - */ - public function save(string $changeType = ContentRevision::CHANGE_EDIT): void - { - $this->validate(); - - // Build SEO meta - $seoMeta = [ - 'title' => $this->seoTitle, - 'description' => $this->seoDescription, - 'keywords' => $this->seoKeywords, - 'og_image' => $this->ogImage, - ]; - - $data = [ - 'workspace_id' => $this->workspaceId, - 'content_type' => $this->contentType, - 'type' => $this->type, - 'status' => $this->status, - 'title' => $this->title, - 'slug' => $this->slug, - 'excerpt' => $this->excerpt, - 'content_html' => $this->content, - 'content_markdown' => $this->content, - 'seo_meta' => $seoMeta, - 'featured_media_id' => $this->featuredMediaId, - 'publish_at' => $this->isScheduled && $this->publishAt ? $this->publishAt : null, - 'last_edited_by' => auth()->id(), - 'sync_status' => 'synced', - 'synced_at' => now(), - ]; - - $isNew = ! $this->contentId; - - if ($this->contentId) { - $item = ContentItem::findOrFail($this->contentId); - $item->update($data); - } else { - $item = ContentItem::create($data); - $this->contentId = $item->id; - } - - // Sync taxonomies - $taxonomyIds = array_merge($this->selectedCategories, $this->selectedTags); - $item->taxonomies()->sync($taxonomyIds); - - // Create revision (except for autosaves on new content) - if (! $isNew || $changeType !== ContentRevision::CHANGE_AUTOSAVE) { - $item->createRevision(auth()->user(), $changeType); - $this->revisionCount = $item->fresh()->revision_count ?? 0; - } - - $this->isDirty = false; - $this->lastSaved = 'just now'; - - $this->dispatch('content-saved', id: $item->id); - $this->dispatch('notify', message: 'Content saved successfully', type: 'success'); - } - - /** - * Autosave the content (called periodically). - */ - public function autosave(): void - { - if (! $this->isDirty || empty($this->title) || empty($this->content)) { - return; - } - - $this->save(ContentRevision::CHANGE_AUTOSAVE); - } - - /** - * Publish the content. - */ - public function publish(): void - { - $this->status = 'publish'; - $this->isScheduled = false; - $this->publishAt = null; - $this->save(ContentRevision::CHANGE_PUBLISH); - } - - /** - * Schedule the content. - */ - public function schedule(): void - { - if (empty($this->publishAt)) { - $this->dispatch('notify', message: 'Please set a publish date', type: 'error'); - - return; - } - - $this->status = 'future'; - $this->isScheduled = true; - $this->save(ContentRevision::CHANGE_SCHEDULE); - } - - /** - * Get available prompts for AI command palette. - */ - #[Computed] - public function prompts(): array - { - $query = Prompt::active(); - - if ($this->commandSearch) { - $query->where(function ($q) { - $q->where('name', 'like', "%{$this->commandSearch}%") - ->orWhere('description', 'like', "%{$this->commandSearch}%") - ->orWhere('category', 'like', "%{$this->commandSearch}%"); - }); - } - - return $query->orderBy('category')->orderBy('name')->get()->groupBy('category')->toArray(); - } - - /** - * Get quick AI actions. - */ - #[Computed] - public function quickActions(): array - { - return [ - [ - 'name' => 'Improve writing', - 'description' => 'Enhance clarity and flow', - 'icon' => 'sparkles', - 'prompt' => 'content-refiner', - 'variables' => ['instruction' => 'Improve clarity, flow, and readability while maintaining the original meaning.'], - ], - [ - 'name' => 'Fix grammar', - 'description' => 'Correct spelling and grammar', - 'icon' => 'check-circle', - 'prompt' => 'content-refiner', - 'variables' => ['instruction' => 'Fix any spelling, grammar, or punctuation errors using UK English conventions.'], - ], - [ - 'name' => 'Make shorter', - 'description' => 'Condense the content', - 'icon' => 'arrows-pointing-in', - 'prompt' => 'content-refiner', - 'variables' => ['instruction' => 'Make this content more concise without losing important information.'], - ], - [ - 'name' => 'Make longer', - 'description' => 'Expand with more detail', - 'icon' => 'arrows-pointing-out', - 'prompt' => 'content-refiner', - 'variables' => ['instruction' => 'Expand this content with more detail, examples, and explanation.'], - ], - [ - 'name' => 'Generate SEO', - 'description' => 'Create meta title and description', - 'icon' => 'magnifying-glass', - 'prompt' => 'seo-title-optimizer', - 'variables' => [], - ], - ]; - } - - /** - * Open the AI command palette. - */ - public function openCommand(): void - { - $this->showCommand = true; - $this->commandSearch = ''; - $this->selectedPromptId = null; - $this->promptVariables = []; - } - - /** - * Close the AI command palette. - */ - public function closeCommand(): void - { - $this->showCommand = false; - $this->aiResult = null; - } - - /** - * Select a prompt from the command palette. - */ - public function selectPrompt(int $promptId): void - { - $this->selectedPromptId = $promptId; - - $prompt = Prompt::find($promptId); - if ($prompt && ! empty($prompt->variables)) { - foreach ($prompt->variables as $name => $config) { - $this->promptVariables[$name] = $config['default'] ?? ''; - } - } - } - - /** - * Execute a quick action. - */ - public function executeQuickAction(string $promptName, array $variables = []): void - { - $prompt = Prompt::where('name', $promptName)->first(); - - if (! $prompt) { - $this->dispatch('notify', message: 'Prompt not found', type: 'error'); - - return; - } - - $variables['content'] = $this->content; - $this->runAiPrompt($prompt, $variables); - } - - /** - * Execute the selected prompt. - */ - public function executePrompt(): void - { - if (! $this->selectedPromptId) { - return; - } - - $prompt = Prompt::find($this->selectedPromptId); - if (! $prompt) { - return; - } - - $variables = $this->promptVariables; - $variables['content'] = $this->content; - $variables['title'] = $this->title; - $variables['excerpt'] = $this->excerpt; - - $this->runAiPrompt($prompt, $variables); - } - - /** - * Run an AI prompt and display results. - */ - protected function runAiPrompt(Prompt $prompt, array $variables): void - { - $this->aiProcessing = true; - $this->aiResult = null; - - try { - $workspace = $this->workspaceId ? Workspace::find($this->workspaceId) : null; - - if ($workspace) { - $result = $this->entitlements->can($workspace, 'ai.credits'); - if ($result->isDenied()) { - $this->dispatch('notify', message: $result->message, type: 'error'); - $this->aiProcessing = false; - - return; - } - } - - $provider = $this->ai->provider($prompt->model); - $userPrompt = $this->interpolateVariables($prompt->user_template, $variables); - - $response = $provider->generate( - $prompt->system_prompt, - $userPrompt, - $prompt->model_config ?? [] - ); - - $this->aiResult = $response->content; - - if ($workspace) { - $this->entitlements->recordUsage( - $workspace, - 'ai.credits', - quantity: 1, - user: auth()->user(), - metadata: [ - 'prompt_id' => $prompt->id, - 'model' => $response->model, - 'tokens_input' => $response->inputTokens, - 'tokens_output' => $response->outputTokens, - 'estimated_cost' => $response->estimateCost(), - ] - ); - } - - } catch (\Exception $e) { - $this->dispatch('notify', message: 'AI request failed: '.$e->getMessage(), type: 'error'); - } - - $this->aiProcessing = false; - } - - /** - * Apply AI result to content. - */ - public function applyAiResult(): void - { - if ($this->aiResult) { - $this->content = $this->aiResult; - $this->isDirty = true; - $this->closeCommand(); - $this->dispatch('notify', message: 'AI suggestions applied', type: 'success'); - } - } - - /** - * Insert AI result at cursor (append for now). - */ - public function insertAiResult(): void - { - if ($this->aiResult) { - $this->content .= "\n\n".$this->aiResult; - $this->isDirty = true; - $this->closeCommand(); - $this->dispatch('notify', message: 'AI content inserted', type: 'success'); - } - } - - /** - * Interpolate template variables. - */ - protected function interpolateVariables(string $template, array $variables): string - { - foreach ($variables as $key => $value) { - if (is_array($value)) { - $value = implode(', ', $value); - } - $template = str_replace('{{'.$key.'}}', (string) $value, $template); - } - - $template = preg_replace_callback( - '/\{\{#if\s+(\w+)\}\}(.*?)\{\{\/if\}\}/s', - function ($matches) use ($variables) { - $key = $matches[1]; - $content = $matches[2]; - - return ! empty($variables[$key]) ? $content : ''; - }, - $template - ); - - $template = preg_replace_callback( - '/\{\{#each\s+(\w+)\}\}(.*?)\{\{\/each\}\}/s', - function ($matches) use ($variables) { - $key = $matches[1]; - $content = $matches[2]; - if (empty($variables[$key]) || ! is_array($variables[$key])) { - return ''; - } - $result = ''; - foreach ($variables[$key] as $item) { - $result .= str_replace('{{this}}', $item, $content); - } - - return $result; - }, - $template - ); - - return $template; - } - - /** - * Handle keyboard shortcut to open command. - */ - #[On('open-ai-command')] - public function handleOpenCommand(): void - { - $this->openCommand(); - } - - public function render() - { - return view('hub::admin.content-editor') - ->layout('hub::admin.layouts.app', [ - 'title' => $this->contentId ? 'Edit Content' : 'New Content', - ]); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentManager.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentManager.php deleted file mode 100644 index df9fa98..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ContentManager.php +++ /dev/null @@ -1,520 +0,0 @@ -workspaceService = $workspaceService; - $this->cdn = $cdn; - } - - public function mount(string $workspace = 'main', string $view = 'dashboard'): void - { - $this->workspaceSlug = $workspace; - $this->view = $view; - - $this->currentWorkspace = Workspace::where('slug', $workspace)->first(); - - if (! $this->currentWorkspace) { - session()->flash('error', 'Workspace not found'); - } - - // Update session so sidebar links stay on this workspace - $this->workspaceService->setCurrent($workspace); - } - - #[On('workspace-changed')] - public function handleWorkspaceChange(string $workspace): void - { - $this->workspaceSlug = $workspace; - $this->currentWorkspace = Workspace::where('slug', $workspace)->first(); - $this->resetPage(); - } - - /** - * Available tabs for navigation. - */ - #[Computed] - public function tabs(): array - { - return [ - 'dashboard' => [ - 'label' => __('hub::hub.content_manager.tabs.dashboard'), - 'icon' => 'chart-pie', - 'href' => route('hub.content-manager', ['workspace' => $this->workspaceSlug, 'view' => 'dashboard']), - ], - 'kanban' => [ - 'label' => __('hub::hub.content_manager.tabs.kanban'), - 'icon' => 'view-columns', - 'href' => route('hub.content-manager', ['workspace' => $this->workspaceSlug, 'view' => 'kanban']), - ], - 'calendar' => [ - 'label' => __('hub::hub.content_manager.tabs.calendar'), - 'icon' => 'calendar', - 'href' => route('hub.content-manager', ['workspace' => $this->workspaceSlug, 'view' => 'calendar']), - ], - 'list' => [ - 'label' => __('hub::hub.content_manager.tabs.list'), - 'icon' => 'list-bullet', - 'href' => route('hub.content-manager', ['workspace' => $this->workspaceSlug, 'view' => 'list']), - ], - 'webhooks' => [ - 'label' => __('hub::hub.content_manager.tabs.webhooks'), - 'icon' => 'bolt', - 'href' => route('hub.content-manager', ['workspace' => $this->workspaceSlug, 'view' => 'webhooks']), - ], - ]; - } - - /** - * Get content statistics for dashboard. - */ - #[Computed] - public function stats(): array - { - if (! $this->currentWorkspace) { - return $this->emptyStats(); - } - - $id = $this->currentWorkspace->id; - - return [ - 'total' => ContentItem::forWorkspace($id)->count(), - 'posts' => ContentItem::forWorkspace($id)->posts()->count(), - 'pages' => ContentItem::forWorkspace($id)->pages()->count(), - 'published' => ContentItem::forWorkspace($id)->published()->count(), - 'drafts' => ContentItem::forWorkspace($id)->where('status', 'draft')->count(), - 'synced' => ContentItem::forWorkspace($id)->where('sync_status', 'synced')->count(), - 'pending' => ContentItem::forWorkspace($id)->where('sync_status', 'pending')->count(), - 'failed' => ContentItem::forWorkspace($id)->where('sync_status', 'failed')->count(), - 'stale' => ContentItem::forWorkspace($id)->where('sync_status', 'stale')->count(), - 'categories' => ContentTaxonomy::forWorkspace($id)->categories()->count(), - 'tags' => ContentTaxonomy::forWorkspace($id)->tags()->count(), - 'webhooks_today' => ContentWebhookLog::forWorkspace($id) - ->whereDate('created_at', today()) - ->count(), - 'webhooks_failed' => ContentWebhookLog::forWorkspace($id)->failed()->count(), - // Content by source type - 'wordpress' => ContentItem::forWorkspace($id)->wordpress()->count(), - 'hostuk' => ContentItem::forWorkspace($id)->hostuk()->count(), - 'satellite' => ContentItem::forWorkspace($id)->satellite()->count(), - ]; - } - - /** - * Get chart data for content over time (Flux chart format). - */ - #[Computed] - public function chartData(): array - { - if (! $this->currentWorkspace) { - return []; - } - - $days = 30; - $data = []; - - for ($i = $days - 1; $i >= 0; $i--) { - $date = now()->subDays($i); - $data[] = [ - 'date' => $date->toDateString(), - 'count' => ContentItem::forWorkspace($this->currentWorkspace->id) - ->whereDate('created_at', $date) - ->count(), - ]; - } - - return $data; - } - - /** - * Get content by type for donut chart. - */ - #[Computed] - public function contentByType(): array - { - if (! $this->currentWorkspace) { - return []; - } - - return [ - ['label' => 'Posts', 'value' => ContentItem::forWorkspace($this->currentWorkspace->id)->posts()->count()], - ['label' => 'Pages', 'value' => ContentItem::forWorkspace($this->currentWorkspace->id)->pages()->count()], - ]; - } - - /** - * Get content grouped by status for Kanban board. - */ - #[Computed] - public function kanbanColumns(): array - { - if (! $this->currentWorkspace) { - return []; - } - - $id = $this->currentWorkspace->id; - - return [ - [ - 'name' => 'Draft', - 'status' => 'draft', - 'color' => 'gray', - 'items' => ContentItem::forWorkspace($id) - ->where('status', 'draft') - ->orderBy('wp_modified_at', 'desc') - ->take(20) - ->get(), - ], - [ - 'name' => 'Pending Review', - 'status' => 'pending', - 'color' => 'yellow', - 'items' => ContentItem::forWorkspace($id) - ->where('status', 'pending') - ->orderBy('wp_modified_at', 'desc') - ->take(20) - ->get(), - ], - [ - 'name' => 'Scheduled', - 'status' => 'future', - 'color' => 'blue', - 'items' => ContentItem::forWorkspace($id) - ->where('status', 'future') - ->orderBy('wp_created_at', 'asc') - ->take(20) - ->get(), - ], - [ - 'name' => 'Published', - 'status' => 'publish', - 'color' => 'green', - 'items' => ContentItem::forWorkspace($id) - ->published() - ->orderBy('wp_created_at', 'desc') - ->take(20) - ->get(), - ], - ]; - } - - /** - * Get scheduled content for calendar view. - */ - #[Computed] - public function calendarEvents(): array - { - if (! $this->currentWorkspace) { - return []; - } - - return ContentItem::forWorkspace($this->currentWorkspace->id) - ->whereNotNull('wp_created_at') - ->orderBy('wp_created_at', 'desc') - ->take(100) - ->get() - ->map(fn ($item) => [ - 'id' => $item->id, - 'title' => $item->title, - 'date' => $item->wp_created_at?->format('Y-m-d'), - 'type' => $item->type, - 'status' => $item->status, - 'color' => $item->status_color, - ]) - ->toArray(); - } - - /** - * Get paginated content for list view. - */ - #[Computed] - public function content() - { - if (! $this->currentWorkspace) { - // Return empty paginator instead of collection for Flux table compatibility - return ContentItem::query()->whereRaw('1=0')->paginate($this->perPage); - } - - $query = ContentItem::forWorkspace($this->currentWorkspace->id) - ->with(['author', 'categories', 'tags']); - - // Apply filters - if ($this->search) { - $query->where(function ($q) { - $q->where('title', 'like', "%{$this->search}%") - ->orWhere('slug', 'like', "%{$this->search}%") - ->orWhere('excerpt', 'like', "%{$this->search}%"); - }); - } - - if ($this->type) { - $query->where('type', $this->type); - } - - if ($this->status) { - $query->where('status', $this->status); - } - - if ($this->syncStatus) { - $query->where('sync_status', $this->syncStatus); - } - - if ($this->category) { - $query->whereHas('categories', function ($q) { - $q->where('slug', $this->category); - }); - } - - if ($this->contentType) { - $query->where('content_type', $this->contentType); - } - - // Apply sorting - $query->orderBy($this->sort, $this->dir); - - return $query->paginate($this->perPage); - } - - /** - * Get categories for filter dropdown. - */ - #[Computed] - public function categories(): array - { - if (! $this->currentWorkspace) { - return []; - } - - return ContentTaxonomy::forWorkspace($this->currentWorkspace->id) - ->categories() - ->orderBy('name') - ->pluck('name', 'slug') - ->toArray(); - } - - /** - * Get recent webhook logs. - */ - #[Computed] - public function webhookLogs() - { - if (! $this->currentWorkspace) { - // Return empty paginator instead of collection for Flux table compatibility - return ContentWebhookLog::query()->whereRaw('1=0')->paginate($this->perPage); - } - - return ContentWebhookLog::forWorkspace($this->currentWorkspace->id) - ->orderBy('created_at', 'desc') - ->paginate($this->perPage); - } - - /** - * Get the selected item for preview. - */ - #[Computed] - public function selectedItem(): ?ContentItem - { - if (! $this->selectedItemId) { - return null; - } - - return ContentItem::with(['author', 'categories', 'tags', 'featuredMedia']) - ->find($this->selectedItemId); - } - - /** - * Trigger full sync for workspace. - * - * Note: WordPress sync removed - native content system. - */ - public function syncAll(): void - { - if (! $this->currentWorkspace) { - return; - } - - $this->syncMessage = 'Native content system - external sync not required'; - } - - /** - * Purge CDN cache for workspace. - */ - public function purgeCache(): void - { - if (! $this->currentWorkspace) { - return; - } - - $success = $this->cdn->purgeWorkspace($this->currentWorkspace->slug); - - if ($success) { - $this->syncMessage = 'CDN cache purged successfully'; - } else { - $this->syncMessage = 'Failed to purge CDN cache'; - } - } - - /** - * Select an item for preview. - */ - public function selectItem(int $id): void - { - $this->selectedItemId = $id; - $this->dispatch('modal-show', name: 'content-preview'); - } - - /** - * Close the preview panel. - */ - public function closePreview(): void - { - $this->selectedItemId = null; - $this->dispatch('modal-close', name: 'content-preview'); - } - - /** - * Set the sort column. - */ - public function setSort(string $column): void - { - if ($this->sort === $column) { - $this->dir = $this->dir === 'asc' ? 'desc' : 'asc'; - } else { - $this->sort = $column; - $this->dir = 'desc'; - } - } - - /** - * Clear all filters. - */ - public function clearFilters(): void - { - $this->search = ''; - $this->type = ''; - $this->status = ''; - $this->syncStatus = ''; - $this->category = ''; - $this->contentType = ''; - $this->resetPage(); - } - - /** - * Retry a failed webhook. - * - * Note: WordPress webhooks removed - native content system. - */ - public function retryWebhook(int $logId): void - { - $log = ContentWebhookLog::find($logId); - if ($log && $log->status === 'failed') { - $log->update(['status' => 'pending', 'error_message' => null]); - $this->syncMessage = 'Webhook marked for retry'; - } - } - - protected function emptyStats(): array - { - return [ - 'total' => 0, - 'posts' => 0, - 'pages' => 0, - 'published' => 0, - 'drafts' => 0, - 'synced' => 0, - 'pending' => 0, - 'failed' => 0, - 'stale' => 0, - 'categories' => 0, - 'tags' => 0, - 'webhooks_today' => 0, - 'webhooks_failed' => 0, - 'wordpress' => 0, - 'hostuk' => 0, - 'satellite' => 0, - ]; - } - - public function render() - { - return view('hub::admin.content-manager') - ->layout('hub::admin.layouts.app', [ - 'title' => 'Content Manager', - 'workspace' => $this->currentWorkspace, - ]); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Dashboard.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Dashboard.php deleted file mode 100644 index f71aa4e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Dashboard.php +++ /dev/null @@ -1,22 +0,0 @@ -layout('hub::admin.layouts.app', ['title' => 'Dashboard']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Databases.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Databases.php deleted file mode 100644 index d1e4012..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Databases.php +++ /dev/null @@ -1,219 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades access required'); - } - $slug = $workspaceService->currentSlug(); - $this->workspace = Workspace::where('slug', $slug)->first(); - - if ($this->workspace) { - $this->wpConnectorEnabled = $this->workspace->wp_connector_enabled ?? false; - $this->wpConnectorUrl = $this->workspace->wp_connector_url ?? ''; - } - - $this->loadInternalWordPressHealth(); - } - - #[Computed] - public function webhookUrl(): string - { - return $this->workspace?->wp_connector_webhook_url ?? ''; - } - - #[Computed] - public function webhookSecret(): string - { - return $this->workspace?->wp_connector_secret ?? ''; - } - - #[Computed] - public function isWpConnectorVerified(): bool - { - return $this->workspace?->wp_connector_verified_at !== null; - } - - #[Computed] - public function wpConnectorLastSync(): ?string - { - return $this->workspace?->wp_connector_last_sync?->diffForHumans(); - } - - public function loadInternalWordPressHealth(): void - { - $this->loadingHealth = true; - - // Cache health check for 5 minutes - $this->internalWpHealth = Cache::remember('internal_wp_health', 300, function () { - $health = [ - 'status' => 'unknown', - 'url' => config('services.wordpress.url', 'https://hestia.host.uk.com'), - 'api_available' => false, - 'version' => null, - 'post_count' => null, - 'page_count' => null, - 'last_check' => now()->toIso8601String(), - ]; - - try { - $response = Http::timeout(5)->get($health['url'].'/wp-json/wp/v2'); - - if ($response->successful()) { - $health['api_available'] = true; - $health['status'] = 'healthy'; - - // Get post count - $postsResponse = Http::timeout(5)->head($health['url'].'/wp-json/wp/v2/posts'); - if ($postsResponse->successful()) { - $health['post_count'] = (int) $postsResponse->header('X-WP-Total', 0); - } - - // Get page count - $pagesResponse = Http::timeout(5)->head($health['url'].'/wp-json/wp/v2/pages'); - if ($pagesResponse->successful()) { - $health['page_count'] = (int) $pagesResponse->header('X-WP-Total', 0); - } - } else { - $health['status'] = 'degraded'; - } - } catch (\Exception $e) { - $health['status'] = 'offline'; - $health['error'] = $e->getMessage(); - } - - return $health; - }); - - $this->loadingHealth = false; - } - - public function refreshInternalHealth(): void - { - Cache::forget('internal_wp_health'); - $this->loadInternalWordPressHealth(); - Flux::toast('Health check refreshed'); - } - - public function saveWpConnector(): void - { - if (! $this->workspace) { - Flux::toast('No workspace selected', variant: 'danger'); - - return; - } - - $this->validate([ - 'wpConnectorUrl' => 'nullable|url', - ]); - - if ($this->wpConnectorEnabled && empty($this->wpConnectorUrl)) { - Flux::toast('WordPress URL is required when connector is enabled', variant: 'danger'); - - return; - } - - if ($this->wpConnectorEnabled) { - $this->workspace->enableWpConnector($this->wpConnectorUrl); - Flux::toast('WordPress connector enabled'); - } else { - $this->workspace->disableWpConnector(); - Flux::toast('WordPress connector disabled'); - } - - $this->workspace->refresh(); - } - - public function regenerateSecret(): void - { - if (! $this->workspace) { - return; - } - - $this->workspace->generateWpConnectorSecret(); - $this->workspace->refresh(); - - Flux::toast('Webhook secret regenerated. Update the secret in your WordPress plugin.'); - } - - public function testWpConnection(): void - { - $this->testingConnection = true; - $this->testResult = null; - - if (empty($this->workspace?->wp_connector_url)) { - $this->testResult = 'WordPress URL is not configured'; - $this->testSuccess = false; - $this->testingConnection = false; - - return; - } - - try { - $response = Http::timeout(10)->get( - $this->workspace->wp_connector_url.'/wp-json/wp/v2' - ); - - if ($response->successful()) { - $this->testResult = 'Connected to WordPress REST API'; - $this->testSuccess = true; - $this->workspace->markWpConnectorVerified(); - } else { - $this->testResult = 'WordPress returned HTTP '.$response->status(); - $this->testSuccess = false; - } - } catch (\Exception $e) { - $this->testResult = 'Connection failed: '.$e->getMessage(); - $this->testSuccess = false; - } - - $this->testingConnection = false; - $this->workspace->refresh(); - } - - public function copyToClipboard(string $value): void - { - $this->dispatch('copy-to-clipboard', text: $value); - Flux::toast('Copied to clipboard'); - } - - public function render(): View - { - return view('hub::admin.databases'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Deployments.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Deployments.php deleted file mode 100644 index 659c29e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Deployments.php +++ /dev/null @@ -1,274 +0,0 @@ -checkHadesAccess(); - } - - #[Computed] - public function services(): array - { - return Cache::remember('admin.deployments.services', 60, function () { - return [ - $this->checkDatabase(), - $this->checkRedis(), - $this->checkQueue(), - $this->checkStorage(), - ]; - }); - } - - #[Computed] - public function gitInfo(): array - { - return Cache::remember('admin.deployments.git', 300, function () { - $info = [ - 'branch' => 'unknown', - 'commit' => 'unknown', - 'message' => 'unknown', - 'author' => 'unknown', - 'date' => null, - ]; - - try { - // Get current branch - $branchResult = Process::path(base_path())->run('git rev-parse --abbrev-ref HEAD'); - if ($branchResult->successful()) { - $info['branch'] = trim($branchResult->output()); - } - - // Get latest commit info - $commitResult = Process::path(base_path())->run('git log -1 --format="%H|%s|%an|%ai"'); - if ($commitResult->successful()) { - $parts = explode('|', trim($commitResult->output())); - if (count($parts) >= 4) { - $info['commit'] = substr($parts[0], 0, 8); - $info['message'] = $parts[1]; - $info['author'] = $parts[2]; - $info['date'] = \Carbon\Carbon::parse($parts[3])->diffForHumans(); - } - } - } catch (\Exception $e) { - // Git not available or not a git repo - } - - return $info; - }); - } - - #[Computed] - public function recentCommits(): array - { - return Cache::remember('admin.deployments.commits', 300, function () { - $commits = []; - - try { - $result = Process::path(base_path())->run('git log -10 --format="%H|%s|%an|%ai"'); - if ($result->successful()) { - foreach (explode("\n", trim($result->output())) as $line) { - $parts = explode('|', $line); - if (count($parts) >= 4) { - $commits[] = [ - 'hash' => substr($parts[0], 0, 8), - 'message' => \Illuminate\Support\Str::limit($parts[1], 60), - 'author' => $parts[2], - 'date' => \Carbon\Carbon::parse($parts[3])->diffForHumans(), - ]; - } - } - } - } catch (\Exception $e) { - // Git not available - } - - return $commits; - }); - } - - #[Computed] - public function stats(): array - { - return [ - [ - 'label' => 'Database', - 'value' => $this->checkDatabase()['status'] === 'healthy' ? 'Online' : 'Offline', - 'icon' => 'circle-stack', - 'color' => $this->checkDatabase()['status'] === 'healthy' ? 'green' : 'red', - ], - [ - 'label' => 'Redis', - 'value' => $this->checkRedis()['status'] === 'healthy' ? 'Online' : 'Offline', - 'icon' => 'bolt', - 'color' => $this->checkRedis()['status'] === 'healthy' ? 'green' : 'red', - ], - [ - 'label' => 'Queue', - 'value' => $this->checkQueue()['status'] === 'healthy' ? 'Active' : 'Inactive', - 'icon' => 'queue-list', - 'color' => $this->checkQueue()['status'] === 'healthy' ? 'green' : 'amber', - ], - [ - 'label' => 'Storage', - 'value' => $this->checkStorage()['details']['free'] ?? 'N/A', - 'icon' => 'server', - 'color' => 'blue', - ], - ]; - } - - public function refresh(): void - { - $this->refreshing = true; - - Cache::forget('admin.deployments.services'); - Cache::forget('admin.deployments.git'); - Cache::forget('admin.deployments.commits'); - - // Force recompute - unset($this->services); - unset($this->gitInfo); - unset($this->recentCommits); - unset($this->stats); - - $this->refreshing = false; - $this->dispatch('notify', message: 'System status refreshed'); - } - - public function clearCache(): void - { - Cache::flush(); - $this->dispatch('notify', message: 'Application cache cleared'); - } - - private function checkDatabase(): array - { - try { - DB::connection()->getPdo(); - $version = DB::selectOne('SELECT VERSION() as version'); - - return [ - 'name' => 'Database (MariaDB)', - 'status' => 'healthy', - 'icon' => 'circle-stack', - 'details' => [ - 'version' => $version->version ?? 'Unknown', - 'connection' => config('database.default'), - 'database' => config('database.connections.'.config('database.default').'.database'), - ], - ]; - } catch (\Exception $e) { - return [ - 'name' => 'Database (MariaDB)', - 'status' => 'unhealthy', - 'icon' => 'circle-stack', - 'error' => $e->getMessage(), - ]; - } - } - - private function checkRedis(): array - { - try { - $redis = Redis::connection(); - $info = $redis->info(); - - return [ - 'name' => 'Redis', - 'status' => 'healthy', - 'icon' => 'bolt', - 'details' => [ - 'version' => $info['redis_version'] ?? 'Unknown', - 'memory' => $info['used_memory_human'] ?? 'Unknown', - 'clients' => $info['connected_clients'] ?? 0, - 'uptime' => isset($info['uptime_in_days']) ? $info['uptime_in_days'].' days' : 'Unknown', - ], - ]; - } catch (\Exception $e) { - return [ - 'name' => 'Redis', - 'status' => 'unhealthy', - 'icon' => 'bolt', - 'error' => $e->getMessage(), - ]; - } - } - - private function checkQueue(): array - { - try { - $pendingJobs = DB::table('jobs')->count(); - $failedJobs = DB::table('failed_jobs')->count(); - - return [ - 'name' => 'Queue Workers', - 'status' => 'healthy', - 'icon' => 'queue-list', - 'details' => [ - 'driver' => config('queue.default'), - 'pending' => $pendingJobs, - 'failed' => $failedJobs, - ], - ]; - } catch (\Exception $e) { - return [ - 'name' => 'Queue Workers', - 'status' => 'unknown', - 'icon' => 'queue-list', - 'error' => 'Could not check queue status', - ]; - } - } - - private function checkStorage(): array - { - $storagePath = storage_path(); - $freeBytes = disk_free_space($storagePath); - $totalBytes = disk_total_space($storagePath); - - $freeGb = $freeBytes ? round($freeBytes / 1024 / 1024 / 1024, 1) : 0; - $totalGb = $totalBytes ? round($totalBytes / 1024 / 1024 / 1024, 1) : 0; - $usedPercent = $totalBytes ? round((($totalBytes - $freeBytes) / $totalBytes) * 100) : 0; - - return [ - 'name' => 'Storage', - 'status' => $usedPercent < 90 ? 'healthy' : 'warning', - 'icon' => 'server', - 'details' => [ - 'free' => $freeGb.' GB', - 'total' => $totalGb.' GB', - 'used_percent' => $usedPercent.'%', - ], - ]; - } - - private function checkHadesAccess(): void - { - if (! auth()->user()?->isHades()) { - abort(403, 'Hades access required'); - } - } - - public function render(): View - { - return view('hub::admin.deployments') - ->layout('hub::admin.layouts.app', ['title' => 'Deployments & System Status']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/Dashboard.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/Dashboard.php deleted file mode 100644 index 324ea8e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/Dashboard.php +++ /dev/null @@ -1,534 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for entitlement management.'); - } - - if ($tab && in_array($tab, ['overview', 'packages', 'features'])) { - $this->tab = $tab; - } - } - - public function setTab(string $tab): void - { - if (in_array($tab, ['overview', 'packages', 'features'])) { - $this->tab = $tab; - $this->resetPage(); - } - } - - // ───────────────────────────────────────────────────────────── - // Overview Stats - // ───────────────────────────────────────────────────────────── - - #[Computed] - public function stats(): array - { - return [ - 'packages' => [ - 'total' => Package::count(), - 'active' => Package::where('is_active', true)->count(), - 'public' => Package::where('is_public', true)->count(), - 'base' => Package::where('is_base_package', true)->count(), - ], - 'features' => [ - 'total' => Feature::count(), - 'active' => Feature::where('is_active', true)->count(), - 'boolean' => Feature::where('type', 'boolean')->count(), - 'limit' => Feature::where('type', 'limit')->count(), - ], - 'assignments' => [ - 'workspace_packages' => WorkspacePackage::where('status', 'active')->count(), - 'active_boosts' => Boost::where('status', 'active')->count(), - ], - 'categories' => Feature::whereNotNull('category') - ->distinct() - ->pluck('category') - ->toArray(), - ]; - } - - // ───────────────────────────────────────────────────────────── - // Packages - // ───────────────────────────────────────────────────────────── - - #[Computed] - public function packages() - { - return Package::withCount('features') - ->orderBy('sort_order') - ->orderBy('name') - ->paginate(15); - } - - public function openCreatePackage(): void - { - $this->resetPackageForm(); - $this->showPackageModal = true; - } - - public function openEditPackage(int $id): void - { - $package = Package::findOrFail($id); - - $this->editingPackageId = $id; - $this->packageCode = $package->code; - $this->packageName = $package->name; - $this->packageDescription = $package->description ?? ''; - $this->packageIcon = $package->icon ?? 'box'; - $this->packageColor = $package->color ?? 'blue'; - $this->packageSortOrder = $package->sort_order; - $this->packageIsStackable = $package->is_stackable; - $this->packageIsBasePackage = $package->is_base_package; - $this->packageIsActive = $package->is_active; - $this->packageIsPublic = $package->is_public; - - $this->showPackageModal = true; - } - - public function savePackage(): void - { - $this->validate([ - 'packageCode' => ['required', 'string', 'max:50', $this->editingPackageId - ? 'unique:entitlement_packages,code,'.$this->editingPackageId - : 'unique:entitlement_packages,code'], - 'packageName' => ['required', 'string', 'max:100'], - 'packageDescription' => ['nullable', 'string', 'max:500'], - ]); - - $data = [ - 'code' => $this->packageCode, - 'name' => $this->packageName, - 'description' => $this->packageDescription ?: null, - 'icon' => $this->packageIcon ?: null, - 'color' => $this->packageColor ?: null, - 'sort_order' => $this->packageSortOrder, - 'is_stackable' => $this->packageIsStackable, - 'is_base_package' => $this->packageIsBasePackage, - 'is_active' => $this->packageIsActive, - 'is_public' => $this->packageIsPublic, - ]; - - if ($this->editingPackageId) { - Package::findOrFail($this->editingPackageId)->update($data); - session()->flash('success', 'Package updated.'); - } else { - Package::create($data); - session()->flash('success', 'Package created.'); - } - - $this->closePackageModal(); - unset($this->packages); - unset($this->stats); - } - - public function deletePackage(int $id): void - { - $package = Package::findOrFail($id); - - if ($package->workspacePackages()->exists()) { - session()->flash('error', 'Cannot delete package with active assignments.'); - - return; - } - - $package->delete(); - session()->flash('success', 'Package deleted.'); - unset($this->packages); - unset($this->stats); - } - - public function openAssignFeatures(int $id): void - { - $this->editingPackageId = $id; - $package = Package::with('features')->findOrFail($id); - - $this->selectedFeatures = []; - foreach ($package->features as $feature) { - $this->selectedFeatures[$feature->id] = [ - 'enabled' => true, - 'limit' => $feature->pivot->limit_value, - ]; - } - - $this->showFeaturesModal = true; - } - - public function toggleFeature(int $featureId): void - { - if (isset($this->selectedFeatures[$featureId])) { - $this->selectedFeatures[$featureId]['enabled'] = ! $this->selectedFeatures[$featureId]['enabled']; - } else { - $this->selectedFeatures[$featureId] = [ - 'enabled' => true, - 'limit' => null, - ]; - } - } - - public function saveFeatures(): void - { - $package = Package::findOrFail($this->editingPackageId); - - $syncData = []; - foreach ($this->selectedFeatures as $featureId => $config) { - if (! empty($config['enabled'])) { - $syncData[$featureId] = [ - 'limit_value' => isset($config['limit']) && $config['limit'] !== '' - ? (int) $config['limit'] - : null, - ]; - } - } - - $package->features()->sync($syncData); - - session()->flash('success', 'Package features updated.'); - $this->showFeaturesModal = false; - unset($this->packages); - } - - public function closePackageModal(): void - { - $this->showPackageModal = false; - $this->resetPackageForm(); - } - - protected function resetPackageForm(): void - { - $this->editingPackageId = null; - $this->packageCode = ''; - $this->packageName = ''; - $this->packageDescription = ''; - $this->packageIcon = 'box'; - $this->packageColor = 'blue'; - $this->packageSortOrder = 0; - $this->packageIsStackable = true; - $this->packageIsBasePackage = false; - $this->packageIsActive = true; - $this->packageIsPublic = true; - } - - // ───────────────────────────────────────────────────────────── - // Features - // ───────────────────────────────────────────────────────────── - - #[Computed] - public function features() - { - return Feature::with('parent') - ->orderBy('category') - ->orderBy('sort_order') - ->paginate(20); - } - - #[Computed] - public function allFeatures() - { - return Feature::active() - ->orderBy('category') - ->orderBy('sort_order') - ->get() - ->groupBy('category'); - } - - #[Computed] - public function parentFeatures() - { - return Feature::root() - ->where('type', 'limit') - ->get(); - } - - #[Computed] - public function featureCategories() - { - return Feature::whereNotNull('category') - ->distinct() - ->pluck('category'); - } - - public function openCreateFeature(): void - { - $this->resetFeatureForm(); - $this->showFeatureModal = true; - } - - public function openEditFeature(int $id): void - { - $feature = Feature::findOrFail($id); - - $this->editingFeatureId = $id; - $this->featureCode = $feature->code; - $this->featureName = $feature->name; - $this->featureDescription = $feature->description ?? ''; - $this->featureCategory = $feature->category ?? ''; - $this->featureType = $feature->type; - $this->featureResetType = $feature->reset_type; - $this->featureRollingDays = $feature->rolling_window_days; - $this->featureParentId = $feature->parent_feature_id; - $this->featureSortOrder = $feature->sort_order; - $this->featureIsActive = $feature->is_active; - - $this->showFeatureModal = true; - } - - public function saveFeature(): void - { - $this->validate([ - 'featureCode' => ['required', 'string', 'max:100', $this->editingFeatureId - ? 'unique:entitlement_features,code,'.$this->editingFeatureId - : 'unique:entitlement_features,code'], - 'featureName' => ['required', 'string', 'max:100'], - 'featureDescription' => ['nullable', 'string', 'max:500'], - 'featureCategory' => ['nullable', 'string', 'max:50'], - 'featureType' => ['required', 'in:boolean,limit,unlimited'], - 'featureResetType' => ['required', 'in:none,monthly,rolling'], - ]); - - $data = [ - 'code' => $this->featureCode, - 'name' => $this->featureName, - 'description' => $this->featureDescription ?: null, - 'category' => $this->featureCategory ?: null, - 'type' => $this->featureType, - 'reset_type' => $this->featureResetType, - 'rolling_window_days' => $this->featureResetType === 'rolling' ? $this->featureRollingDays : null, - 'parent_feature_id' => $this->featureParentId ?: null, - 'sort_order' => $this->featureSortOrder, - 'is_active' => $this->featureIsActive, - ]; - - if ($this->editingFeatureId) { - Feature::findOrFail($this->editingFeatureId)->update($data); - session()->flash('success', 'Feature updated.'); - } else { - Feature::create($data); - session()->flash('success', 'Feature created.'); - } - - $this->closeFeatureModal(); - unset($this->features); - unset($this->allFeatures); - unset($this->stats); - } - - public function deleteFeature(int $id): void - { - $feature = Feature::findOrFail($id); - - if ($feature->packages()->exists()) { - session()->flash('error', 'Cannot delete feature assigned to packages.'); - - return; - } - - if ($feature->children()->exists()) { - session()->flash('error', 'Cannot delete feature with children.'); - - return; - } - - $feature->delete(); - session()->flash('success', 'Feature deleted.'); - unset($this->features); - unset($this->allFeatures); - unset($this->stats); - } - - public function closeFeatureModal(): void - { - $this->showFeatureModal = false; - $this->resetFeatureForm(); - } - - protected function resetFeatureForm(): void - { - $this->editingFeatureId = null; - $this->featureCode = ''; - $this->featureName = ''; - $this->featureDescription = ''; - $this->featureCategory = ''; - $this->featureType = 'boolean'; - $this->featureResetType = 'none'; - $this->featureRollingDays = null; - $this->featureParentId = null; - $this->featureSortOrder = 0; - $this->featureIsActive = true; - } - - // ───────────────────────────────────────────────────────────── - // Table Helpers - // ───────────────────────────────────────────────────────────── - - #[Computed] - public function packageTableRows(): array - { - return $this->packages->map(function ($p) { - $lines = [['bold' => $p->name]]; - if ($p->description) { - $lines[] = ['muted' => Str::limit($p->description, 50)]; - } - - $typeBadge = match (true) { - $p->is_base_package => ['badge' => 'Base', 'color' => 'purple'], - $p->is_stackable => ['badge' => 'Addon', 'color' => 'blue'], - default => ['badge' => 'Standard', 'color' => 'gray'], - }; - - $statusLines = []; - $statusLines[] = ['badge' => $p->is_active ? 'Active' : 'Inactive', 'color' => $p->is_active ? 'green' : 'gray']; - if ($p->is_public) { - $statusLines[] = ['badge' => 'Public', 'color' => 'sky']; - } - - return [ - [ - 'icon' => $p->icon ?? 'box', - 'iconColor' => $p->color ?? 'gray', - 'lines' => $lines, - ], - ['mono' => $p->code], - ['badge' => $p->features_count.' features', 'color' => 'gray'], - $typeBadge, - ['lines' => $statusLines], - [ - 'actions' => [ - ['icon' => 'puzzle-piece', 'click' => "openAssignFeatures({$p->id})", 'title' => 'Assign features'], - ['icon' => 'pencil', 'click' => "openEditPackage({$p->id})", 'title' => 'Edit'], - ['icon' => 'trash', 'click' => "deletePackage({$p->id})", 'confirm' => 'Delete this package?', 'title' => 'Delete', 'class' => 'text-red-600'], - ], - ], - ]; - })->all(); - } - - #[Computed] - public function featureTableRows(): array - { - $typeColors = [ - 'boolean' => 'gray', - 'limit' => 'blue', - 'unlimited' => 'purple', - ]; - - return $this->features->map(function ($f) use ($typeColors) { - $lines = [['bold' => $f->name]]; - if ($f->description) { - $lines[] = ['muted' => Str::limit($f->description, 40)]; - } - if ($f->parent) { - $lines[] = ['muted' => 'Pool: '.$f->parent->name]; - } - - $resetCell = match ($f->reset_type) { - 'none' => ['muted' => 'Never'], - 'monthly' => ['badge' => 'Monthly', 'color' => 'green'], - 'rolling' => ['badge' => $f->rolling_window_days.'d', 'color' => 'amber'], - default => ['muted' => '-'], - }; - - return [ - ['lines' => $lines], - ['mono' => $f->code], - $f->category ? ['badge' => $f->category, 'color' => 'gray'] : ['muted' => '-'], - ['badge' => ucfirst($f->type), 'color' => $typeColors[$f->type] ?? 'gray'], - $resetCell, - ['badge' => $f->is_active ? 'Active' : 'Inactive', 'color' => $f->is_active ? 'green' : 'gray'], - [ - 'actions' => [ - ['icon' => 'pencil', 'click' => "openEditFeature({$f->id})", 'title' => 'Edit'], - ['icon' => 'trash', 'click' => "deleteFeature({$f->id})", 'confirm' => 'Delete this feature?', 'title' => 'Delete', 'class' => 'text-red-600'], - ], - ], - ]; - })->all(); - } - - public function render() - { - return view('hub::admin.entitlement.dashboard'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/FeatureManager.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/FeatureManager.php deleted file mode 100644 index a94e87a..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/FeatureManager.php +++ /dev/null @@ -1,259 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for feature management.'); - } - } - - public ?int $editingId = null; - - // Form fields - public string $code = ''; - - public string $name = ''; - - public string $description = ''; - - public string $category = ''; - - public string $type = 'boolean'; - - public string $reset_type = 'none'; - - public ?int $rolling_window_days = null; - - public ?int $parent_feature_id = null; - - public int $sort_order = 0; - - public bool $is_active = true; - - protected function rules(): array - { - $uniqueRule = $this->editingId - ? 'unique:entitlement_features,code,'.$this->editingId - : 'unique:entitlement_features,code'; - - return [ - 'code' => ['required', 'string', 'max:100', $uniqueRule], - 'name' => ['required', 'string', 'max:100'], - 'description' => ['nullable', 'string', 'max:500'], - 'category' => ['nullable', 'string', 'max:50'], - 'type' => ['required', 'in:boolean,limit,unlimited'], - 'reset_type' => ['required', 'in:none,monthly,rolling'], - 'rolling_window_days' => ['nullable', 'integer', 'min:1', 'max:365'], - 'parent_feature_id' => ['nullable', 'exists:entitlement_features,id'], - 'sort_order' => ['integer'], - 'is_active' => ['boolean'], - ]; - } - - public function openCreate(): void - { - $this->resetForm(); - $this->showModal = true; - } - - public function openEdit(int $id): void - { - $feature = Feature::findOrFail($id); - - $this->editingId = $id; - $this->code = $feature->code; - $this->name = $feature->name; - $this->description = $feature->description ?? ''; - $this->category = $feature->category ?? ''; - $this->type = $feature->type; - $this->reset_type = $feature->reset_type; - $this->rolling_window_days = $feature->rolling_window_days; - $this->parent_feature_id = $feature->parent_feature_id; - $this->sort_order = $feature->sort_order; - $this->is_active = $feature->is_active; - - $this->showModal = true; - } - - public function save(): void - { - $this->validate(); - - $data = [ - 'code' => $this->code, - 'name' => $this->name, - 'description' => $this->description ?: null, - 'category' => $this->category ?: null, - 'type' => $this->type, - 'reset_type' => $this->reset_type, - 'rolling_window_days' => $this->reset_type === 'rolling' ? $this->rolling_window_days : null, - 'parent_feature_id' => $this->parent_feature_id ?: null, - 'sort_order' => $this->sort_order, - 'is_active' => $this->is_active, - ]; - - if ($this->editingId) { - Feature::findOrFail($this->editingId)->update($data); - session()->flash('message', 'Feature updated successfully.'); - } else { - Feature::create($data); - session()->flash('message', 'Feature created successfully.'); - } - - $this->closeModal(); - } - - public function delete(int $id): void - { - $feature = Feature::findOrFail($id); - - // Check if feature is used in any packages - if ($feature->packages()->exists()) { - session()->flash('error', 'Cannot delete feature that is assigned to packages.'); - - return; - } - - // Check if feature has children - if ($feature->children()->exists()) { - session()->flash('error', 'Cannot delete feature that has child features.'); - - return; - } - - $feature->delete(); - session()->flash('message', 'Feature deleted successfully.'); - } - - public function closeModal(): void - { - $this->showModal = false; - $this->resetForm(); - } - - protected function resetForm(): void - { - $this->editingId = null; - $this->code = ''; - $this->name = ''; - $this->description = ''; - $this->category = ''; - $this->type = 'boolean'; - $this->reset_type = 'none'; - $this->rolling_window_days = null; - $this->parent_feature_id = null; - $this->sort_order = 0; - $this->is_active = true; - } - - #[Computed] - public function features() - { - return Feature::with('parent') - ->orderBy('category') - ->orderBy('sort_order') - ->paginate(30); - } - - #[Computed] - public function categories() - { - return Feature::whereNotNull('category') - ->distinct() - ->pluck('category'); - } - - #[Computed] - public function parentFeatures() - { - return Feature::root() - ->where('type', 'limit') - ->get(); - } - - #[Computed] - public function tableColumns(): array - { - return [ - 'Feature', - 'Code', - 'Category', - ['label' => 'Type', 'align' => 'center'], - ['label' => 'Reset', 'align' => 'center'], - ['label' => 'Status', 'align' => 'center'], - ['label' => 'Actions', 'align' => 'center'], - ]; - } - - #[Computed] - public function tableRows(): array - { - $typeColors = [ - 'boolean' => 'gray', - 'limit' => 'blue', - 'unlimited' => 'purple', - ]; - - return $this->features->map(function ($f) use ($typeColors) { - // Feature name with description and parent - $featureLines = [['bold' => $f->name]]; - if ($f->description) { - $featureLines[] = ['muted' => \Illuminate\Support\Str::limit($f->description, 40)]; - } - if ($f->parent) { - $featureLines[] = ['muted' => 'Parent: '.$f->parent->name]; - } - - // Reset type display - $resetCell = match ($f->reset_type) { - 'none' => ['muted' => 'Never'], - 'monthly' => ['badge' => 'Monthly', 'color' => 'green'], - 'rolling' => ['badge' => $f->rolling_window_days.'d Rolling', 'color' => 'amber'], - default => ['muted' => '-'], - }; - - return [ - ['lines' => $featureLines], - ['mono' => $f->code], - $f->category ? ['badge' => $f->category, 'color' => 'gray'] : ['muted' => '-'], - ['badge' => ucfirst($f->type), 'color' => $typeColors[$f->type] ?? 'gray'], - $resetCell, - ['badge' => $f->is_active ? 'Active' : 'Inactive', 'color' => $f->is_active ? 'green' : 'gray'], - [ - 'actions' => [ - ['icon' => 'pencil', 'click' => "openEdit({$f->id})", 'title' => 'Edit'], - ['icon' => 'trash', 'click' => "delete({$f->id})", 'confirm' => 'Are you sure you want to delete this feature?', 'title' => 'Delete', 'class' => 'text-red-600'], - ], - ], - ]; - })->all(); - } - - public function render() - { - return view('hub::admin.entitlement.feature-manager') - ->layout('hub::admin.layouts.app', ['title' => 'Features']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/PackageManager.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/PackageManager.php deleted file mode 100644 index 60bd27a..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Entitlement/PackageManager.php +++ /dev/null @@ -1,306 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for package management.'); - } - } - - public bool $showFeaturesModal = false; - - public ?int $editingId = null; - - // Form fields - public string $code = ''; - - public string $name = ''; - - public string $description = ''; - - public string $icon = 'package'; - - public string $color = 'blue'; - - public int $sort_order = 0; - - public bool $is_stackable = true; - - public bool $is_base_package = false; - - public bool $is_active = true; - - public bool $is_public = true; - - public string $blesta_package_id = ''; - - // Features assignment - public array $selectedFeatures = []; - - protected function rules(): array - { - $uniqueRule = $this->editingId - ? 'unique:entitlement_packages,code,'.$this->editingId - : 'unique:entitlement_packages,code'; - - return [ - 'code' => ['required', 'string', 'max:50', $uniqueRule], - 'name' => ['required', 'string', 'max:100'], - 'description' => ['nullable', 'string', 'max:500'], - 'icon' => ['nullable', 'string', 'max:50'], - 'color' => ['nullable', 'string', 'max:20'], - 'sort_order' => ['integer'], - 'is_stackable' => ['boolean'], - 'is_base_package' => ['boolean'], - 'is_active' => ['boolean'], - 'is_public' => ['boolean'], - 'blesta_package_id' => ['nullable', 'string', 'max:100'], - ]; - } - - public function openCreate(): void - { - $this->resetForm(); - $this->showModal = true; - } - - public function openEdit(int $id): void - { - $package = Package::findOrFail($id); - - $this->editingId = $id; - $this->code = $package->code; - $this->name = $package->name; - $this->description = $package->description ?? ''; - $this->icon = $package->icon ?? 'package'; - $this->color = $package->color ?? 'blue'; - $this->sort_order = $package->sort_order; - $this->is_stackable = $package->is_stackable; - $this->is_base_package = $package->is_base_package; - $this->is_active = $package->is_active; - $this->is_public = $package->is_public; - $this->blesta_package_id = $package->blesta_package_id ?? ''; - - $this->showModal = true; - } - - public function save(): void - { - $this->validate(); - - $data = [ - 'code' => $this->code, - 'name' => $this->name, - 'description' => $this->description ?: null, - 'icon' => $this->icon ?: null, - 'color' => $this->color ?: null, - 'sort_order' => $this->sort_order, - 'is_stackable' => $this->is_stackable, - 'is_base_package' => $this->is_base_package, - 'is_active' => $this->is_active, - 'is_public' => $this->is_public, - 'blesta_package_id' => $this->blesta_package_id ?: null, - ]; - - if ($this->editingId) { - Package::findOrFail($this->editingId)->update($data); - session()->flash('message', 'Package updated successfully.'); - } else { - Package::create($data); - session()->flash('message', 'Package created successfully.'); - } - - $this->closeModal(); - } - - public function openFeatures(int $id): void - { - $this->editingId = $id; - $package = Package::with('features')->findOrFail($id); - - // Build selectedFeatures array with limit values - $this->selectedFeatures = []; - foreach ($package->features as $feature) { - $this->selectedFeatures[$feature->id] = [ - 'enabled' => true, - 'limit' => $feature->pivot->limit_value, - ]; - } - - $this->showFeaturesModal = true; - } - - public function saveFeatures(): void - { - $package = Package::findOrFail($this->editingId); - - $syncData = []; - foreach ($this->selectedFeatures as $featureId => $config) { - if (! empty($config['enabled'])) { - $syncData[$featureId] = [ - 'limit_value' => isset($config['limit']) && $config['limit'] !== '' - ? (int) $config['limit'] - : null, - ]; - } - } - - $package->features()->sync($syncData); - - session()->flash('message', 'Package features updated successfully.'); - $this->showFeaturesModal = false; - } - - public function toggleFeature(int $featureId): void - { - if (isset($this->selectedFeatures[$featureId])) { - $this->selectedFeatures[$featureId]['enabled'] = ! $this->selectedFeatures[$featureId]['enabled']; - } else { - $this->selectedFeatures[$featureId] = [ - 'enabled' => true, - 'limit' => null, - ]; - } - } - - public function delete(int $id): void - { - $package = Package::findOrFail($id); - - // Check if any workspaces use this package - if ($package->workspacePackages()->exists()) { - session()->flash('error', 'Cannot delete package with active assignments.'); - - return; - } - - $package->delete(); - session()->flash('message', 'Package deleted successfully.'); - } - - public function closeModal(): void - { - $this->showModal = false; - $this->showFeaturesModal = false; - $this->resetForm(); - } - - protected function resetForm(): void - { - $this->editingId = null; - $this->code = ''; - $this->name = ''; - $this->description = ''; - $this->icon = 'package'; - $this->color = 'blue'; - $this->sort_order = 0; - $this->is_stackable = true; - $this->is_base_package = false; - $this->is_active = true; - $this->is_public = true; - $this->blesta_package_id = ''; - $this->selectedFeatures = []; - } - - #[Computed] - public function packages() - { - return Package::withCount('features') - ->orderBy('sort_order') - ->orderBy('name') - ->paginate(20); - } - - #[Computed] - public function features() - { - return Feature::active() - ->orderBy('category') - ->orderBy('sort_order') - ->get() - ->groupBy('category'); - } - - #[Computed] - public function tableColumns(): array - { - return [ - 'Package', - 'Code', - 'Features', - ['label' => 'Type', 'align' => 'center'], - ['label' => 'Status', 'align' => 'center'], - ['label' => 'Actions', 'align' => 'center'], - ]; - } - - #[Computed] - public function tableRows(): array - { - return $this->packages->map(function ($p) { - // Package name with icon and description - $packageLines = [['bold' => $p->name]]; - if ($p->description) { - $packageLines[] = ['muted' => \Illuminate\Support\Str::limit($p->description, 50)]; - } - - // Type badge - $typeBadge = match (true) { - $p->is_base_package => ['badge' => 'Base', 'color' => 'purple'], - $p->is_stackable => ['badge' => 'Addon', 'color' => 'blue'], - default => ['badge' => 'Standard', 'color' => 'gray'], - }; - - // Status badges (multiple) - $statusLines = []; - $statusLines[] = ['badge' => $p->is_active ? 'Active' : 'Inactive', 'color' => $p->is_active ? 'green' : 'gray']; - if ($p->is_public) { - $statusLines[] = ['badge' => 'Public', 'color' => 'sky']; - } - - return [ - ['lines' => $packageLines], - ['mono' => $p->code], - ['badge' => $p->features_count.' features', 'color' => 'gray'], - $typeBadge, - ['lines' => $statusLines], - [ - 'actions' => [ - ['icon' => 'puzzle-piece', 'click' => "openFeatures({$p->id})", 'title' => 'Assign features'], - ['icon' => 'pencil', 'click' => "openEdit({$p->id})", 'title' => 'Edit'], - ['icon' => 'trash', 'click' => "delete({$p->id})", 'confirm' => 'Are you sure you want to delete this package?', 'title' => 'Delete', 'class' => 'text-red-600'], - ], - ], - ]; - })->all(); - } - - public function render() - { - return view('hub::admin.entitlement.package-manager') - ->layout('hub::admin.layouts.app', ['title' => 'Packages']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/GlobalSearch.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/GlobalSearch.php deleted file mode 100644 index b418cab..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/GlobalSearch.php +++ /dev/null @@ -1,257 +0,0 @@ -registry = $registry; - } - - /** - * Mount the component. - */ - public function mount(): void - { - $this->recentSearches = session('global_search.recent', []); - } - - /** - * Open the search modal. - */ - #[On('open-global-search')] - public function openSearch(): void - { - $this->open = true; - $this->query = ''; - $this->selectedIndex = 0; - } - - /** - * Close the search modal. - */ - public function closeSearch(): void - { - $this->open = false; - $this->query = ''; - $this->selectedIndex = 0; - } - - /** - * Handle query changes - reset selection index. - */ - public function updatedQuery(): void - { - $this->selectedIndex = 0; - } - - /** - * Navigate up in results. - */ - public function navigateUp(): void - { - if ($this->selectedIndex > 0) { - $this->selectedIndex--; - } - } - - /** - * Navigate down in results. - */ - public function navigateDown(): void - { - $allResults = $this->flatResults; - if ($this->selectedIndex < count($allResults) - 1) { - $this->selectedIndex++; - } - } - - /** - * Select the current result. - */ - public function selectCurrent(): void - { - $allResults = $this->flatResults; - if (isset($allResults[$this->selectedIndex])) { - $result = $allResults[$this->selectedIndex]; - $this->navigateTo($result); - } - } - - /** - * Navigate to a specific result. - */ - public function navigateTo(array $result): void - { - // Add to recent searches - $this->addToRecentSearches($result); - - $this->closeSearch(); - - $this->dispatch('navigate-to-url', url: $result['url']); - } - - /** - * Navigate to a recent search item. - */ - public function navigateToRecent(int $index): void - { - if (isset($this->recentSearches[$index])) { - $result = $this->recentSearches[$index]; - $this->closeSearch(); - $this->dispatch('navigate-to-url', url: $result['url']); - } - } - - /** - * Clear all recent searches. - */ - public function clearRecentSearches(): void - { - $this->recentSearches = []; - session()->forget('global_search.recent'); - } - - /** - * Remove a single recent search. - */ - public function removeRecentSearch(int $index): void - { - if (isset($this->recentSearches[$index])) { - array_splice($this->recentSearches, $index, 1); - session(['global_search.recent' => $this->recentSearches]); - } - } - - /** - * Add a result to recent searches. - */ - protected function addToRecentSearches(array $result): void - { - // Remove if already exists (to move to top) - $this->recentSearches = array_values(array_filter( - $this->recentSearches, - fn ($item) => $item['id'] !== $result['id'] || $item['type'] !== $result['type'] - )); - - // Add to the beginning - array_unshift($this->recentSearches, [ - 'id' => $result['id'], - 'title' => $result['title'], - 'subtitle' => $result['subtitle'] ?? null, - 'url' => $result['url'], - 'type' => $result['type'], - 'icon' => $result['icon'], - ]); - - // Limit the number of recent searches - $this->recentSearches = array_slice($this->recentSearches, 0, $this->maxRecentSearches); - - // Save to session - session(['global_search.recent' => $this->recentSearches]); - } - - /** - * Get search results grouped by type. - */ - #[Computed] - public function results(): array - { - if (strlen($this->query) < 2) { - return []; - } - - $user = auth()->user(); - $workspace = $user?->defaultHostWorkspace(); - - return $this->registry->search($this->query, $user, $workspace); - } - - /** - * Get flattened results for keyboard navigation. - */ - #[Computed] - public function flatResults(): array - { - return $this->registry->flattenResults($this->results); - } - - /** - * Check if there are any results. - */ - #[Computed] - public function hasResults(): bool - { - return ! empty($this->flatResults); - } - - /** - * Check if we should show recent searches. - */ - #[Computed] - public function showRecentSearches(): bool - { - return strlen($this->query) < 2 && ! empty($this->recentSearches); - } - - public function render() - { - return view('hub::admin.global-search'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Honeypot.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Honeypot.php deleted file mode 100644 index 1616587..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Honeypot.php +++ /dev/null @@ -1,84 +0,0 @@ - ['except' => ''], - 'botFilter' => ['except' => ''], - ]; - - public function mount(): void - { - if (! auth()->user()?->isHades()) { - abort(403, 'Hades tier required.'); - } - } - - public function updatingSearch(): void - { - $this->resetPage(); - } - - public function sortBy(string $field): void - { - if ($this->sortField === $field) { - $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; - } else { - $this->sortField = $field; - $this->sortDirection = 'asc'; - } - } - - public function deleteOld(int $days = 30): void - { - HoneypotHit::where('created_at', '<', now()->subDays($days))->delete(); - session()->flash('message', "Deleted hits older than {$days} days."); - } - - public function blockIp(string $ip): void - { - // This could integrate with a firewall or rate limiter - // For now, just show a message - session()->flash('message', "IP {$ip} flagged for review. Add to firewall manually."); - } - - public function render() - { - $hits = HoneypotHit::query() - ->when($this->search, function ($query) { - $query->where(function ($q) { - $q->where('ip_address', 'like', "%{$this->search}%") - ->orWhere('user_agent', 'like', "%{$this->search}%") - ->orWhere('bot_name', 'like', "%{$this->search}%"); - }); - }) - ->when($this->botFilter !== '', function ($query) { - $query->where('is_bot', $this->botFilter === '1'); - }) - ->orderBy($this->sortField, $this->sortDirection) - ->paginate(50); - - return view('hub::admin.honeypot', [ - 'hits' => $hits, - 'stats' => HoneypotHit::getStats(), - ])->layout('hub::admin.layouts.app', ['title' => 'Honeypot Monitor']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Platform.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Platform.php deleted file mode 100644 index d44ff9f..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Platform.php +++ /dev/null @@ -1,162 +0,0 @@ - ['except' => ''], - 'tierFilter' => ['except' => ''], - 'verifiedFilter' => ['except' => ''], - ]; - - public function mount(): void - { - // Ensure only Hades users can access - if (! auth()->user()?->isHades()) { - abort(403, 'Hades tier required for platform administration.'); - } - } - - public function updatingSearch(): void - { - $this->resetPage(); - } - - public function sortBy(string $field): void - { - if ($this->sortField === $field) { - $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; - } else { - $this->sortField = $field; - $this->sortDirection = 'asc'; - } - } - - public function verifyEmail(int $userId): void - { - $user = User::find($userId); - if ($user && ! $user->email_verified_at) { - $user->markEmailAsVerified(); - $this->actionMessage = "Email verified for {$user->email}."; - $this->actionType = 'success'; - } - } - - public function clearCache(): void - { - Cache::flush(); - Artisan::call('config:clear'); - Artisan::call('view:clear'); - Artisan::call('route:clear'); - - $this->actionMessage = 'All caches cleared successfully.'; - $this->actionType = 'success'; - } - - public function clearOpcache(): void - { - if (function_exists('opcache_reset')) { - opcache_reset(); - $this->actionMessage = 'OPcache cleared successfully.'; - $this->actionType = 'success'; - } else { - $this->actionMessage = 'OPcache is not available.'; - $this->actionType = 'warning'; - } - } - - public function restartQueue(): void - { - Artisan::call('queue:restart'); - $this->actionMessage = 'Queue workers will restart after their current job completes.'; - $this->actionType = 'success'; - } - - public function getPlatformStats(): array - { - return [ - 'total_users' => User::count(), - 'verified_users' => User::whereNotNull('email_verified_at')->count(), - 'hades_users' => User::where('tier', 'hades')->count(), - 'apollo_users' => User::where('tier', 'apollo')->count(), - 'free_users' => User::where('tier', 'free')->orWhereNull('tier')->count(), - 'users_today' => User::whereDate('created_at', today())->count(), - 'users_this_week' => User::where('created_at', '>=', now()->subWeek())->count(), - ]; - } - - public function getSystemInfo(): array - { - return [ - 'php_version' => PHP_VERSION, - 'laravel_version' => app()->version(), - 'environment' => app()->environment(), - 'debug_mode' => config('app.debug') ? 'Enabled' : 'Disabled', - 'cache_driver' => config('cache.default'), - 'session_driver' => config('session.driver'), - 'queue_driver' => config('queue.default'), - 'db_connection' => config('database.default'), - ]; - } - - public function render() - { - $users = User::query() - ->when($this->search, function ($query) { - $query->where(function ($q) { - $q->where('name', 'like', "%{$this->search}%") - ->orWhere('email', 'like', "%{$this->search}%"); - }); - }) - ->when($this->tierFilter, function ($query) { - if ($this->tierFilter === 'free') { - $query->where(function ($q) { - $q->where('tier', 'free')->orWhereNull('tier'); - }); - } else { - $query->where('tier', $this->tierFilter); - } - }) - ->when($this->verifiedFilter !== '', function ($query) { - if ($this->verifiedFilter === '1') { - $query->whereNotNull('email_verified_at'); - } else { - $query->whereNull('email_verified_at'); - } - }) - ->orderBy($this->sortField, $this->sortDirection) - ->paginate(20); - - return view('hub::admin.platform', [ - 'users' => $users, - 'stats' => $this->getPlatformStats(), - 'systemInfo' => $this->getSystemInfo(), - 'tiers' => UserTier::cases(), - ])->layout('hub::admin.layouts.app', ['title' => 'Platform Admin']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/PlatformUser.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/PlatformUser.php deleted file mode 100644 index 94587f0..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/PlatformUser.php +++ /dev/null @@ -1,697 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for platform administration.'); - } - - $this->user = User::findOrFail($id); - $this->editingTier = $this->user->tier?->value ?? 'free'; - $this->editingVerified = $this->user->email_verified_at !== null; - } - - public function setTab(string $tab): void - { - if (in_array($tab, ['overview', 'workspaces', 'entitlements', 'data', 'danger'])) { - $this->activeTab = $tab; - } - } - - public function saveTier(): void - { - $this->user->tier = UserTier::from($this->editingTier); - $this->user->save(); - - $this->actionMessage = "Tier updated to {$this->editingTier}."; - $this->actionType = 'success'; - } - - public function saveVerification(): void - { - if ($this->editingVerified && ! $this->user->email_verified_at) { - $this->user->email_verified_at = now(); - } elseif (! $this->editingVerified) { - $this->user->email_verified_at = null; - } - - $this->user->save(); - - $this->actionMessage = $this->editingVerified - ? 'Email marked as verified.' - : 'Email verification removed.'; - $this->actionType = 'success'; - } - - public function resendVerification(): void - { - if ($this->user->email_verified_at) { - $this->actionMessage = 'User email is already verified.'; - $this->actionType = 'warning'; - - return; - } - - $this->user->sendEmailVerificationNotification(); - - $this->actionMessage = 'Verification email sent.'; - $this->actionType = 'success'; - } - - /** - * Export all user data as JSON (GDPR Article 20 - Right to data portability). - */ - public function exportUserData() - { - $data = $this->collectUserData(); - - $filename = "user-data-{$this->user->id}-".now()->format('Y-m-d-His').'.json'; - - Log::info('GDPR data export performed by admin', [ - 'admin_id' => auth()->id(), - 'target_user_id' => $this->user->id, - 'target_email' => $this->user->email, - ]); - - return response()->streamDownload(function () use ($data) { - echo json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); - }, $filename, [ - 'Content-Type' => 'application/json', - ]); - } - - /** - * Collect all user data for export or display. - */ - public function collectUserData(): array - { - $this->user->load([ - 'hostWorkspaces', - ]); - - return [ - 'export_info' => [ - 'exported_at' => now()->toIso8601String(), - 'exported_by' => 'Platform Administrator', - 'reason' => 'GDPR Article 15 - Right of access / Article 20 - Right to data portability', - ], - 'account' => [ - 'id' => $this->user->id, - 'name' => $this->user->name, - 'email' => $this->user->email, - 'tier' => $this->user->tier?->value ?? 'free', - 'tier_expires_at' => $this->user->tier_expires_at?->toIso8601String(), - 'email_verified_at' => $this->user->email_verified_at?->toIso8601String(), - 'created_at' => $this->user->created_at?->toIso8601String(), - 'updated_at' => $this->user->updated_at?->toIso8601String(), - ], - 'workspaces' => $this->user->hostWorkspaces->map(fn ($ws) => [ - 'id' => $ws->id, - 'name' => $ws->name, - 'slug' => $ws->slug, - 'role' => $ws->pivot->role ?? null, - 'is_default' => $ws->pivot->is_default ?? false, - 'joined_at' => $ws->pivot->created_at?->toIso8601String(), - ])->toArray(), - 'cached_stats' => $this->user->cached_stats, - 'deletion_requests' => AccountDeletionRequest::where('user_id', $this->user->id) - ->get() - ->map(fn ($req) => [ - 'id' => $req->id, - 'reason' => $req->reason, - 'status' => $this->getDeletionStatus($req), - 'created_at' => $req->created_at?->toIso8601String(), - 'expires_at' => $req->expires_at?->toIso8601String(), - 'confirmed_at' => $req->confirmed_at?->toIso8601String(), - 'completed_at' => $req->completed_at?->toIso8601String(), - 'cancelled_at' => $req->cancelled_at?->toIso8601String(), - ])->toArray(), - ]; - } - - protected function getDeletionStatus(AccountDeletionRequest $req): string - { - if ($req->completed_at) { - return 'completed'; - } - if ($req->cancelled_at) { - return 'cancelled'; - } - if ($req->expires_at->isPast()) { - return 'expired_pending'; - } - - return 'pending'; - } - - /** - * Get pending deletion request for user. - */ - public function getPendingDeletionProperty(): ?AccountDeletionRequest - { - return AccountDeletionRequest::where('user_id', $this->user->id) - ->whereNull('completed_at') - ->whereNull('cancelled_at') - ->first(); - } - - /** - * Show delete confirmation dialog. - */ - public function confirmDelete(bool $immediate = false): void - { - $this->immediateDelete = $immediate; - $this->showDeleteConfirm = true; - $this->deleteReason = ''; - } - - /** - * Cancel delete confirmation. - */ - public function cancelDelete(): void - { - $this->showDeleteConfirm = false; - $this->immediateDelete = false; - $this->deleteReason = ''; - } - - /** - * Schedule account deletion (GDPR Article 17 - Right to erasure). - */ - public function scheduleDelete(): void - { - if ($this->user->isHades() && $this->user->id === auth()->id()) { - $this->actionMessage = 'You cannot delete your own Hades account from here.'; - $this->actionType = 'error'; - $this->showDeleteConfirm = false; - - return; - } - - $request = AccountDeletionRequest::createForUser($this->user, $this->deleteReason ?: 'Admin initiated - GDPR request'); - - Log::warning('GDPR deletion scheduled by admin', [ - 'admin_id' => auth()->id(), - 'target_user_id' => $this->user->id, - 'target_email' => $this->user->email, - 'immediate' => $this->immediateDelete, - 'reason' => $this->deleteReason, - ]); - - if ($this->immediateDelete) { - $this->executeImmediateDelete($request); - } else { - $this->actionMessage = 'Account deletion scheduled. Will be deleted in 7 days unless cancelled.'; - $this->actionType = 'warning'; - } - - $this->showDeleteConfirm = false; - } - - /** - * Execute immediate deletion. - */ - protected function executeImmediateDelete(AccountDeletionRequest $request): void - { - try { - $email = $this->user->email; - - DB::transaction(function () use ($request) { - $request->confirm(); - $request->complete(); - - // Delete all workspaces owned by the user - if (method_exists($this->user, 'hostWorkspaces')) { - $this->user->hostWorkspaces()->detach(); - } - - // Hard delete user account - $this->user->forceDelete(); - }); - - Log::warning('GDPR immediate deletion executed by admin', [ - 'admin_id' => auth()->id(), - 'deleted_user_email' => $email, - ]); - - session()->flash('platform_message', "User {$email} has been permanently deleted."); - session()->flash('platform_message_type', 'success'); - - $this->redirect(route('hub.platform'), navigate: true); - } catch (\Exception $e) { - Log::error('Failed to execute immediate deletion', [ - 'user_id' => $this->user->id, - 'error' => $e->getMessage(), - ]); - - $this->actionMessage = 'Failed to delete account: '.$e->getMessage(); - $this->actionType = 'error'; - } - } - - /** - * Cancel pending deletion request. - */ - public function cancelPendingDeletion(): void - { - $pending = $this->pendingDeletion; - - if (! $pending) { - $this->actionMessage = 'No pending deletion request found.'; - $this->actionType = 'warning'; - - return; - } - - $pending->cancel(); - - Log::info('GDPR deletion cancelled by admin', [ - 'admin_id' => auth()->id(), - 'target_user_id' => $this->user->id, - 'deletion_request_id' => $pending->id, - ]); - - $this->actionMessage = 'Deletion request cancelled.'; - $this->actionType = 'success'; - } - - /** - * Anonymize user data (alternative to deletion - GDPR compliant). - */ - public function anonymizeUser(): void - { - if ($this->user->isHades() && $this->user->id === auth()->id()) { - $this->actionMessage = 'You cannot anonymize your own account.'; - $this->actionType = 'error'; - - return; - } - - $originalEmail = $this->user->email; - $anonymizedId = 'anon_'.$this->user->id.'_'.now()->timestamp; - - DB::transaction(function () use ($anonymizedId) { - $this->user->update([ - 'name' => 'Anonymized User', - 'email' => $anonymizedId.'@anonymized.local', - 'password' => bcrypt(str()->random(64)), - 'tier' => UserTier::FREE, - 'email_verified_at' => null, - 'cached_stats' => null, - ]); - - // Remove from all workspaces - if (method_exists($this->user, 'hostWorkspaces')) { - $this->user->hostWorkspaces()->detach(); - } - - // Cancel any pending deletions - AccountDeletionRequest::where('user_id', $this->user->id) - ->whereNull('completed_at') - ->whereNull('cancelled_at') - ->update(['cancelled_at' => now()]); - }); - - Log::warning('User anonymized by admin (GDPR)', [ - 'admin_id' => auth()->id(), - 'target_user_id' => $this->user->id, - 'original_email' => $originalEmail, - ]); - - $this->user->refresh(); - $this->editingTier = $this->user->tier?->value ?? 'free'; - $this->editingVerified = false; - - $this->actionMessage = 'User data has been anonymized.'; - $this->actionType = 'success'; - } - - /** - * Get all related data counts for display. - */ - public function getDataCountsProperty(): array - { - return [ - 'workspaces' => $this->user->hostWorkspaces()->count(), - 'deletion_requests' => AccountDeletionRequest::where('user_id', $this->user->id)->count(), - ]; - } - - // ───────────────────────────────────────────────────────────── - // Workspace & Entitlement Management - // ───────────────────────────────────────────────────────────── - - /** - * Get user's workspaces with their packages. - */ - #[Computed] - public function workspaces() - { - return $this->user->hostWorkspaces() - ->with(['workspacePackages' => function ($query) { - $query->active()->with('package'); - }]) - ->get(); - } - - /** - * Get all available packages for provisioning. - */ - #[Computed] - public function availablePackages() - { - return Package::active()->ordered()->get(); - } - - /** - * Open the package provisioning modal. - */ - public function openPackageModal(int $workspaceId): void - { - $this->selectedWorkspaceId = $workspaceId; - $this->selectedPackageCode = ''; - $this->showPackageModal = true; - } - - /** - * Close the package provisioning modal. - */ - public function closePackageModal(): void - { - $this->showPackageModal = false; - $this->selectedWorkspaceId = null; - $this->selectedPackageCode = ''; - } - - /** - * Provision a package to the selected workspace. - */ - public function provisionPackage(): void - { - if (! $this->selectedWorkspaceId || ! $this->selectedPackageCode) { - $this->actionMessage = 'Please select a workspace and package.'; - $this->actionType = 'warning'; - - return; - } - - $workspace = Workspace::findOrFail($this->selectedWorkspaceId); - $package = Package::where('code', $this->selectedPackageCode)->firstOrFail(); - - $entitlements = app(EntitlementService::class); - $entitlements->provisionPackage($workspace, $this->selectedPackageCode, [ - 'source' => 'admin', - ]); - - Log::info('Package provisioned by admin', [ - 'admin_id' => auth()->id(), - 'user_id' => $this->user->id, - 'workspace_id' => $workspace->id, - 'package_code' => $this->selectedPackageCode, - ]); - - $this->actionMessage = "Package '{$package->name}' provisioned to workspace '{$workspace->name}'."; - $this->actionType = 'success'; - - $this->closePackageModal(); - unset($this->workspaces); // Clear computed cache - } - - /** - * Revoke a package from a workspace. - */ - public function revokePackage(int $workspaceId, string $packageCode): void - { - $workspace = Workspace::findOrFail($workspaceId); - - // Verify this belongs to one of the user's workspaces - if (! $this->user->hostWorkspaces->contains($workspace)) { - $this->actionMessage = 'This workspace does not belong to this user.'; - $this->actionType = 'error'; - - return; - } - - $package = Package::where('code', $packageCode)->first(); - $packageName = $package?->name ?? $packageCode; - $workspaceName = $workspace->name; - - $entitlements = app(EntitlementService::class); - $entitlements->revokePackage($workspace, $packageCode, 'admin'); - - Log::info('Package revoked by admin', [ - 'admin_id' => auth()->id(), - 'user_id' => $this->user->id, - 'workspace_id' => $workspace->id, - 'package_code' => $packageCode, - ]); - - $this->actionMessage = "Package '{$packageName}' revoked from workspace '{$workspaceName}'."; - $this->actionType = 'success'; - - unset($this->workspaces); // Clear computed cache - } - - // ───────────────────────────────────────────────────────────── - // Entitlement Management - // ───────────────────────────────────────────────────────────── - - /** - * Get all available features for autocomplete. - */ - #[Computed] - public function allFeatures() - { - return Feature::active() - ->orderBy('category') - ->orderBy('sort_order') - ->get(); - } - - /** - * Get resolved entitlements for each workspace. - */ - #[Computed] - public function workspaceEntitlements(): array - { - $entitlements = app(EntitlementService::class); - $result = []; - - foreach ($this->workspaces as $workspace) { - $summary = $entitlements->getUsageSummary($workspace); - $boosts = $entitlements->getActiveBoosts($workspace); - - $result[$workspace->id] = [ - 'workspace' => $workspace, - 'summary' => $summary, - 'boosts' => $boosts, - 'stats' => [ - 'total' => $summary->flatten(1)->count(), - 'allowed' => $summary->flatten(1)->where('allowed', true)->count(), - 'denied' => $summary->flatten(1)->where('allowed', false)->count(), - 'boosts' => $boosts->count(), - ], - ]; - } - - return $result; - } - - /** - * Open the entitlement provisioning modal. - */ - public function openEntitlementModal(int $workspaceId): void - { - $this->entitlementWorkspaceId = $workspaceId; - $this->entitlementFeatureCode = ''; - $this->entitlementType = 'enable'; - $this->entitlementLimit = null; - $this->entitlementDuration = 'permanent'; - $this->entitlementExpiresAt = null; - $this->showEntitlementModal = true; - } - - /** - * Close the entitlement provisioning modal. - */ - public function closeEntitlementModal(): void - { - $this->showEntitlementModal = false; - $this->entitlementWorkspaceId = null; - $this->entitlementFeatureCode = ''; - } - - /** - * Provision an entitlement (boost) to the selected workspace. - */ - public function provisionEntitlement(): void - { - if (! $this->entitlementWorkspaceId || ! $this->entitlementFeatureCode) { - $this->actionMessage = 'Please select a workspace and feature.'; - $this->actionType = 'warning'; - - return; - } - - $workspace = Workspace::findOrFail($this->entitlementWorkspaceId); - $feature = Feature::where('code', $this->entitlementFeatureCode)->first(); - - if (! $feature) { - $this->actionMessage = 'Feature not found.'; - $this->actionType = 'error'; - - return; - } - - // Verify this belongs to one of the user's workspaces - if (! $this->user->hostWorkspaces->contains($workspace)) { - $this->actionMessage = 'This workspace does not belong to this user.'; - $this->actionType = 'error'; - - return; - } - - $options = [ - 'source' => 'admin', - 'boost_type' => match ($this->entitlementType) { - 'enable' => Boost::BOOST_TYPE_ENABLE, - 'add_limit' => Boost::BOOST_TYPE_ADD_LIMIT, - 'unlimited' => Boost::BOOST_TYPE_UNLIMITED, - default => Boost::BOOST_TYPE_ENABLE, - }, - 'duration_type' => $this->entitlementDuration === 'permanent' - ? Boost::DURATION_PERMANENT - : Boost::DURATION_DURATION, - ]; - - if ($this->entitlementType === 'add_limit' && $this->entitlementLimit) { - $options['limit_value'] = $this->entitlementLimit; - } - - if ($this->entitlementDuration === 'duration' && $this->entitlementExpiresAt) { - $options['expires_at'] = $this->entitlementExpiresAt; - } - - $entitlements = app(EntitlementService::class); - $entitlements->provisionBoost($workspace, $this->entitlementFeatureCode, $options); - - Log::info('Entitlement provisioned by admin', [ - 'admin_id' => auth()->id(), - 'user_id' => $this->user->id, - 'workspace_id' => $workspace->id, - 'feature_code' => $this->entitlementFeatureCode, - 'type' => $this->entitlementType, - ]); - - $this->actionMessage = "Entitlement '{$feature->name}' added to workspace '{$workspace->name}'."; - $this->actionType = 'success'; - - $this->closeEntitlementModal(); - unset($this->workspaceEntitlements); - } - - /** - * Remove a boost from a workspace. - */ - public function removeBoost(int $boostId): void - { - $boost = Boost::findOrFail($boostId); - - // Verify this belongs to one of the user's workspaces - $workspace = $boost->workspace; - if (! $this->user->hostWorkspaces->contains($workspace)) { - $this->actionMessage = 'This boost does not belong to this user.'; - $this->actionType = 'error'; - - return; - } - - $featureCode = $boost->feature_code; - $workspaceName = $workspace->name; - - $boost->update(['status' => Boost::STATUS_CANCELLED]); - - Log::info('Boost removed by admin', [ - 'admin_id' => auth()->id(), - 'user_id' => $this->user->id, - 'workspace_id' => $workspace->id, - 'boost_id' => $boostId, - 'feature_code' => $featureCode, - ]); - - $this->actionMessage = "Boost for '{$featureCode}' removed from workspace '{$workspaceName}'."; - $this->actionType = 'success'; - - unset($this->workspaceEntitlements); - } - - public function render() - { - return view('hub::admin.platform-user', [ - 'tiers' => UserTier::cases(), - 'userData' => $this->collectUserData(), - 'dataCounts' => $this->dataCounts, - 'pendingDeletion' => $this->pendingDeletion, - ])->layout('hub::admin.layouts.app', ['title' => 'User: '.$this->user->name]); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Profile.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Profile.php deleted file mode 100644 index eba7aa4..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Profile.php +++ /dev/null @@ -1,128 +0,0 @@ -userName = $user->name ?? 'User'; - $this->userEmail = $user->email ?? ''; - $this->userInitials = collect(explode(' ', $this->userName)) - ->map(fn ($n) => strtoupper(substr($n, 0, 1))) - ->take(2) - ->join(''); - - // Get tier info - $tier = $appUser?->getTier() ?? UserTier::FREE; - $this->userTier = $tier->label(); - $this->tierColor = match ($tier) { - UserTier::HADES => 'from-red-500 to-orange-500', - UserTier::APOLLO => 'from-violet-500 to-purple-500', - default => 'from-gray-500 to-gray-600', - }; - - $this->memberSince = $user->created_at?->format('F Y'); - - // Use cached stats if available, otherwise defaults - // Stats are computed by background job, not on page load - $cached = $appUser?->cached_stats; - - $this->quotas = $cached['quotas'] ?? $this->getDefaultQuotas($tier); - $this->serviceStats = $cached['services'] ?? $this->getDefaultServiceStats(); - $this->recentActivity = $cached['activity'] ?? []; - } - - protected function getDefaultQuotas(UserTier $tier): array - { - return match ($tier) { - UserTier::HADES => [ - 'workspaces' => ['used' => 0, 'limit' => null, 'label' => 'Workspaces'], - 'social_accounts' => ['used' => 0, 'limit' => null, 'label' => 'Social Accounts'], - 'scheduled_posts' => ['used' => 0, 'limit' => null, 'label' => 'Scheduled Posts'], - 'storage' => ['used' => 0, 'limit' => null, 'label' => 'Storage (GB)'], - ], - UserTier::APOLLO => [ - 'workspaces' => ['used' => 0, 'limit' => 5, 'label' => 'Workspaces'], - 'social_accounts' => ['used' => 0, 'limit' => 25, 'label' => 'Social Accounts'], - 'scheduled_posts' => ['used' => 0, 'limit' => 500, 'label' => 'Scheduled Posts'], - 'storage' => ['used' => 0, 'limit' => 10, 'label' => 'Storage (GB)'], - ], - default => [ - 'workspaces' => ['used' => 0, 'limit' => 1, 'label' => 'Workspaces'], - 'social_accounts' => ['used' => 0, 'limit' => 5, 'label' => 'Social Accounts'], - 'scheduled_posts' => ['used' => 0, 'limit' => 50, 'label' => 'Scheduled Posts'], - 'storage' => ['used' => 0, 'limit' => 1, 'label' => 'Storage (GB)'], - ], - }; - } - - protected function getDefaultServiceStats(): array - { - return [ - [ - 'name' => 'Social', - 'icon' => 'fa-share-nodes', - 'color' => 'bg-blue-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'Bio', - 'icon' => 'fa-id-card', - 'color' => 'bg-violet-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'Analytics', - 'icon' => 'fa-chart-line', - 'color' => 'bg-green-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'Trust', - 'icon' => 'fa-shield-check', - 'color' => 'bg-amber-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - ]; - } - - public function render() - { - return view('hub::admin.profile') - ->layout('hub::admin.layouts.app', ['title' => 'Profile']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/PromptManager.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/PromptManager.php deleted file mode 100644 index 714c18c..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/PromptManager.php +++ /dev/null @@ -1,335 +0,0 @@ -modelConfig = [ - 'temperature' => 1.0, - 'max_tokens' => 4096, - ]; - } - - #[Computed] - public function prompts() - { - return Prompt::query() - ->when($this->search, fn ($q) => $q->where('name', 'like', "%{$this->search}%") - ->orWhere('description', 'like', "%{$this->search}%")) - ->when($this->category, fn ($q) => $q->where('category', $this->category)) - ->when($this->model, fn ($q) => $q->where('model', $this->model)) - ->orderBy('category') - ->orderBy('name') - ->paginate(20); - } - - #[Computed] - public function categories(): array - { - return Prompt::distinct()->pluck('category')->toArray(); - } - - #[Computed] - public function models(): array - { - return ['claude', 'gemini']; - } - - #[Computed] - public function categoryOptions(): array - { - return collect($this->categories) - ->mapWithKeys(fn ($cat) => [$cat => ucfirst($cat)]) - ->all(); - } - - #[Computed] - public function modelOptions(): array - { - return [ - 'claude' => 'Claude', - 'gemini' => 'Gemini', - ]; - } - - #[Computed] - public function tableColumns(): array - { - return [ - 'Name', - 'Category', - 'Model', - ['label' => 'Status', 'align' => 'center'], - 'Updated', - ['label' => 'Actions', 'align' => 'center'], - ]; - } - - #[Computed] - public function tableRows(): array - { - $modelColors = [ - 'claude' => 'orange', - 'gemini' => 'blue', - ]; - - return $this->prompts->map(function ($p) use ($modelColors) { - $actions = [ - ['icon' => 'pencil', 'click' => "edit({$p->id})", 'title' => 'Edit'], - ['icon' => 'document-duplicate', 'click' => "duplicate({$p->id})", 'title' => 'Duplicate'], - ['icon' => $p->is_active ? 'pause' : 'play', 'click' => "toggleActive({$p->id})", 'title' => $p->is_active ? 'Deactivate' : 'Activate'], - ['icon' => 'trash', 'click' => "delete({$p->id})", 'confirm' => 'Are you sure you want to delete this prompt?', 'title' => 'Delete', 'class' => 'text-red-600'], - ]; - - return [ - [ - 'lines' => array_filter([ - ['bold' => $p->name], - $p->description ? ['muted' => \Illuminate\Support\Str::limit($p->description, 60)] : null, - ]), - ], - ['badge' => ucfirst($p->category), 'color' => 'violet'], - ['badge' => ucfirst($p->model), 'color' => $modelColors[$p->model] ?? 'gray'], - ['badge' => $p->is_active ? 'Active' : 'Inactive', 'color' => $p->is_active ? 'green' : 'gray'], - ['muted' => $p->updated_at->diffForHumans()], - ['actions' => $actions], - ]; - })->all(); - } - - #[Computed] - public function editingPrompt(): ?Prompt - { - return $this->editingPromptId - ? Prompt::find($this->editingPromptId) - : null; - } - - #[Computed] - public function promptVersions() - { - if (! $this->editingPromptId) { - return collect(); - } - - return PromptVersion::where('prompt_id', $this->editingPromptId) - ->with('creator') - ->orderByDesc('version') - ->limit(20) - ->get(); - } - - public function create(): void - { - $this->resetForm(); - $this->editingPromptId = null; - $this->showEditor = true; - } - - public function edit(int $id): void - { - $prompt = Prompt::findOrFail($id); - - $this->editingPromptId = $id; - $this->name = $prompt->name; - $this->promptCategory = $prompt->category; - $this->description = $prompt->description ?? ''; - $this->systemPrompt = $prompt->system_prompt; - $this->userTemplate = $prompt->user_template; - $this->variables = $prompt->variables ?? []; - $this->promptModel = $prompt->model; - $this->modelConfig = $prompt->model_config ?? ['temperature' => 1.0, 'max_tokens' => 4096]; - $this->isActive = $prompt->is_active; - - $this->showEditor = true; - } - - public function save(): void - { - $validated = $this->validate([ - 'name' => 'required|string|max:255', - 'promptCategory' => 'required|string|max:50', - 'description' => 'nullable|string', - 'systemPrompt' => 'required|string', - 'userTemplate' => 'required|string', - 'variables' => 'array', - 'promptModel' => 'required|in:claude,gemini', - 'modelConfig' => 'array', - 'isActive' => 'boolean', - ]); - - $data = [ - 'name' => $this->name, - 'category' => $this->promptCategory, - 'description' => $this->description ?: null, - 'system_prompt' => $this->systemPrompt, - 'user_template' => $this->userTemplate, - 'variables' => $this->variables ?: null, - 'model' => $this->promptModel, - 'model_config' => $this->modelConfig ?: null, - 'is_active' => $this->isActive, - ]; - - if ($this->editingPromptId) { - $prompt = Prompt::findOrFail($this->editingPromptId); - - // Create version before updating - $prompt->createVersion(Auth::id()); - - $prompt->update($data); - - Flux::toast('Prompt updated successfully'); - } else { - Prompt::create($data); - - Flux::toast('Prompt created successfully'); - } - - $this->showEditor = false; - $this->resetForm(); - } - - public function delete(int $id): void - { - $prompt = Prompt::findOrFail($id); - $prompt->delete(); - - Flux::toast('Prompt deleted'); - } - - public function duplicate(int $id): void - { - $original = Prompt::findOrFail($id); - - $copy = $original->replicate(); - $copy->name = $original->name.' (copy)'; - $copy->save(); - - Flux::toast('Prompt duplicated'); - } - - public function toggleActive(int $id): void - { - $prompt = Prompt::findOrFail($id); - $prompt->update(['is_active' => ! $prompt->is_active]); - - Flux::toast($prompt->is_active ? 'Prompt activated' : 'Prompt deactivated'); - } - - public function restoreVersion(int $versionId): void - { - $version = PromptVersion::findOrFail($versionId); - $version->restore(); - - // Reload the form with restored data - $this->edit($version->prompt_id); - - Flux::toast("Restored to version {$version->version}"); - } - - public function addVariable(): void - { - $this->variables[] = [ - 'name' => '', - 'description' => '', - 'required' => true, - 'default' => '', - ]; - } - - public function removeVariable(int $index): void - { - unset($this->variables[$index]); - $this->variables = array_values($this->variables); - } - - public function closeEditor(): void - { - $this->showEditor = false; - $this->resetForm(); - } - - private function resetForm(): void - { - $this->name = ''; - $this->promptCategory = 'content'; - $this->description = ''; - $this->systemPrompt = ''; - $this->userTemplate = ''; - $this->variables = []; - $this->promptModel = 'claude'; - $this->modelConfig = ['temperature' => 1.0, 'max_tokens' => 4096]; - $this->isActive = true; - $this->editingPromptId = null; - $this->testOutput = ''; - } - - public function render(): View - { - return view('hub::admin.prompt-manager'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ServiceManager.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/ServiceManager.php deleted file mode 100644 index 08e24e4..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ServiceManager.php +++ /dev/null @@ -1,244 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for service management.'); - } - } - - protected function rules(): array - { - return [ - 'name' => ['required', 'string', 'max:100'], - 'tagline' => ['nullable', 'string', 'max:200'], - 'description' => ['nullable', 'string', 'max:2000'], - 'icon' => ['nullable', 'string', 'max:50'], - 'color' => ['nullable', 'string', 'max:20'], - 'marketing_domain' => ['nullable', 'string', 'max:100'], - 'marketing_url' => ['nullable', 'url', 'max:255'], - 'docs_url' => ['nullable', 'url', 'max:255'], - 'is_enabled' => ['boolean'], - 'is_public' => ['boolean'], - 'is_featured' => ['boolean'], - 'sort_order' => ['integer', 'min:0', 'max:999'], - ]; - } - - public function openEdit(int $id): void - { - $service = Service::findOrFail($id); - - $this->editingId = $id; - - // Read-only fields - $this->code = $service->code; - $this->module = $service->module; - $this->entitlement_code = $service->entitlement_code ?? ''; - - // Editable fields - $this->name = $service->name; - $this->tagline = $service->tagline ?? ''; - $this->description = $service->description ?? ''; - $this->icon = $service->icon ?? ''; - $this->color = $service->color ?? ''; - $this->marketing_domain = $service->marketing_domain ?? ''; - $this->marketing_url = $service->getRawOriginal('marketing_url') ?? ''; - $this->docs_url = $service->docs_url ?? ''; - $this->is_enabled = $service->is_enabled; - $this->is_public = $service->is_public; - $this->is_featured = $service->is_featured; - $this->sort_order = $service->sort_order; - - $this->showModal = true; - } - - public function save(): void - { - $this->validate(); - - $service = Service::findOrFail($this->editingId); - - $service->update([ - 'name' => $this->name, - 'tagline' => $this->tagline ?: null, - 'description' => $this->description ?: null, - 'icon' => $this->icon ?: null, - 'color' => $this->color ?: null, - 'marketing_domain' => $this->marketing_domain ?: null, - 'marketing_url' => $this->marketing_url ?: null, - 'docs_url' => $this->docs_url ?: null, - 'is_enabled' => $this->is_enabled, - 'is_public' => $this->is_public, - 'is_featured' => $this->is_featured, - 'sort_order' => $this->sort_order, - ]); - - session()->flash('message', 'Service updated successfully.'); - $this->closeModal(); - } - - public function toggleEnabled(int $id): void - { - $service = Service::findOrFail($id); - $service->update(['is_enabled' => ! $service->is_enabled]); - - $status = $service->is_enabled ? 'enabled' : 'disabled'; - session()->flash('message', "{$service->name} has been {$status}."); - } - - public function syncFromModules(): void - { - $seeder = new ServiceSeeder; - $seeder->run(); - - session()->flash('message', 'Services synced from modules successfully.'); - } - - public function closeModal(): void - { - $this->showModal = false; - $this->resetForm(); - } - - protected function resetForm(): void - { - $this->editingId = null; - $this->code = ''; - $this->module = ''; - $this->entitlement_code = ''; - $this->name = ''; - $this->tagline = ''; - $this->description = ''; - $this->icon = ''; - $this->color = ''; - $this->marketing_domain = ''; - $this->marketing_url = ''; - $this->docs_url = ''; - $this->is_enabled = true; - $this->is_public = true; - $this->is_featured = false; - $this->sort_order = 50; - } - - #[Computed] - public function services() - { - return Service::ordered()->get(); - } - - #[Computed] - public function tableColumns(): array - { - return [ - 'Service', - 'Code', - 'Domain', - ['label' => 'Entitlement', 'align' => 'center'], - ['label' => 'Status', 'align' => 'center'], - ['label' => 'Actions', 'align' => 'center'], - ]; - } - - #[Computed] - public function tableRows(): array - { - return $this->services->map(function ($s) { - // Service name with icon and tagline - $serviceLines = [['bold' => $s->name]]; - if ($s->tagline) { - $serviceLines[] = ['muted' => \Illuminate\Support\Str::limit($s->tagline, 40)]; - } - - // Status badges - $statusLines = []; - $statusLines[] = ['badge' => $s->is_enabled ? 'Enabled' : 'Disabled', 'color' => $s->is_enabled ? 'green' : 'red']; - if ($s->is_public) { - $statusLines[] = ['badge' => 'Public', 'color' => 'sky']; - } - if ($s->is_featured) { - $statusLines[] = ['badge' => 'Featured', 'color' => 'amber']; - } - - return [ - [ - 'icon' => $s->icon, - 'iconColor' => $s->color, - 'lines' => $serviceLines, - ], - ['mono' => $s->code], - $s->marketing_domain - ? ['link' => 'Open in Tab', 'href' => 'http://'.$s->marketing_domain, 'target' => '_blank'] - : ['muted' => 'Not set'], - $s->entitlement_code ? ['mono' => $s->entitlement_code] : ['muted' => '-'], - ['lines' => $statusLines], - [ - 'actions' => [ - ['icon' => $s->is_enabled ? 'toggle-on' : 'toggle-off', 'click' => "toggleEnabled({$s->id})", 'title' => $s->is_enabled ? 'Disable' : 'Enable', 'class' => $s->is_enabled ? 'text-green-600' : 'text-gray-400'], - ['icon' => 'pencil', 'click' => "openEdit({$s->id})", 'title' => 'Edit'], - ], - ], - ]; - })->all(); - } - - public function render() - { - return view('hub::admin.service-manager') - ->layout('hub::admin.layouts.app', ['title' => 'Services']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ServicesAdmin.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/ServicesAdmin.php deleted file mode 100644 index 244457e..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/ServicesAdmin.php +++ /dev/null @@ -1,1973 +0,0 @@ -workspaceService = $workspaceService; - } - - public function mount(?string $service = null, ?string $tab = null): void - { - if ($service && in_array($service, $this->availableServices())) { - $this->service = $service; - } - - if ($tab) { - $this->tab = $tab; - } - - if ($this->service === 'analytics') { - // Load analytics settings if mounted directly on settings tab - if ($this->tab === 'settings') { - $this->loadAnalyticsSettings(); - } - - // Set selected channel for channels tab - if ($this->tab === 'channels') { - $this->selectedWebsiteId = $this->analyticsChannels->first()?->id; - } - } - } - - /** - * Get the current workspace from the workspace switcher. - */ - #[Computed] - public function workspace(): ?Workspace - { - return $this->workspaceService->currentModel(); - } - - #[On('workspace-changed')] - public function refreshWorkspace(): void - { - unset($this->workspace); - unset($this->services); - unset($this->bioStats, $this->bioStatCards, $this->bioPages, $this->bioProjects); - unset($this->socialStats, $this->socialStatCards, $this->socialAccounts, $this->socialPosts); - unset($this->analyticsStats, $this->analyticsStatCards, $this->analyticsWebsites); - unset($this->notifyStats, $this->notifyStatCards, $this->notifyWebsites); - unset($this->trustStats, $this->trustStatCards, $this->trustCampaigns); - unset($this->supportStats); - } - - /** - * Get all service items from the registry. - * This is the single source of truth - services are defined in each module's Boot.php. - */ - #[Computed] - public function services(): array - { - $registry = app(AdminMenuRegistry::class); - - return $registry->getAllServiceItems( - $this->workspace, - auth()->user()?->isHades() ?? false - ); - } - - /** - * Get the current service's menu item. - */ - #[Computed] - public function currentServiceItem(): ?array - { - return $this->services[$this->service] ?? null; - } - - /** - * Get the current service's marketing URL from the database. - */ - #[Computed] - public function serviceMarketingUrl(): ?string - { - $service = Service::where('code', $this->service)->first(); - - return $service?->marketing_url; - } - - /** - * Get children (tabs) for the current service. - */ - #[Computed] - public function serviceTabs(): array - { - return $this->currentServiceItem['children'] ?? []; - } - - /** - * Get available service keys for validation. - */ - public function availableServices(): array - { - return array_keys($this->services); - } - - public function switchService(string $service): void - { - if (in_array($service, $this->availableServices())) { - $this->service = $service; - $this->tab = 'dashboard'; - } - } - - public function switchTab(string $tab): void - { - $this->tab = $tab; - - if ($this->service === 'analytics') { - // Load analytics settings when entering settings tab - if ($tab === 'settings') { - $this->loadAnalyticsSettings(); - } - - // Set selected channel for channels tab - if ($tab === 'channels') { - $this->selectedWebsiteId = $this->analyticsChannels->first()?->id; - } - } - } - - /** - * Load analytics settings from the primary website. - */ - public function loadAnalyticsSettings(): void - { - $website = $this->analyticsWebsites->first(); - - if ($website) { - $this->analyticsSettingsName = $website->name ?? ''; - $this->analyticsSettingsHost = $website->host ?? ''; - $this->analyticsSettingsTrackingType = $website->tracking_type ?? 'lightweight'; - $this->analyticsSettingsEnabled = (bool) $website->is_enabled; - $this->analyticsSettingsPublicStats = (bool) $website->public_stats_enabled; - $this->analyticsSettingsExcludedIps = $website->excluded_ips ?? ''; - } - } - - /** - * Save analytics settings for the primary website. - */ - public function saveAnalyticsSettings(): void - { - $website = $this->analyticsWebsites->first(); - - if (! $website) { - return; - } - - $website->update([ - 'name' => $this->analyticsSettingsName, - 'host' => $this->analyticsSettingsHost, - 'tracking_type' => $this->analyticsSettingsTrackingType, - 'is_enabled' => $this->analyticsSettingsEnabled, - 'public_stats_enabled' => $this->analyticsSettingsPublicStats, - 'excluded_ips' => $this->analyticsSettingsExcludedIps, - ]); - - // Clear computed cache - unset($this->analyticsWebsites); - - $this->dispatch('notify', message: 'Settings saved successfully'); - } - - /** - * Regenerate the analytics pixel key for the primary website. - */ - public function regenerateAnalyticsPixelKey(): void - { - $website = $this->analyticsWebsites->first(); - - if (! $website) { - return; - } - - $website->update([ - 'pixel_key' => \Illuminate\Support\Str::random(32), - ]); - - // Clear computed cache - unset($this->analyticsWebsites); - - $this->dispatch('notify', message: 'Pixel key regenerated. Update your website tracking code.'); - } - - /** - * Show page details within the services panel. - */ - public function showPageDetails(int $websiteId, string $path): void - { - $this->pageDetailsWebsiteId = $websiteId; - $this->pageDetailsPath = '/'.ltrim($path, '/'); - $this->tab = 'pages'; - } - - /** - * Close page details and return to pages list. - */ - public function closePageDetails(): void - { - $this->pageDetailsWebsiteId = null; - $this->pageDetailsPath = null; - } - - /** - * Select a website to view its dashboard. - */ - public function selectWebsite(int $websiteId): void - { - $this->selectedWebsiteId = $websiteId; - } - - /** - * Close website dashboard and return to list. - */ - public function closeWebsiteDashboard(): void - { - $this->selectedWebsiteId = null; - } - - /** - * Check if we're viewing a website dashboard. - */ - #[Computed] - public function isViewingWebsiteDashboard(): bool - { - return $this->selectedWebsiteId !== null; - } - - /** - * Get the selected website. - */ - #[Computed] - public function selectedWebsite(): ?AnalyticsWebsite - { - if (! $this->selectedWebsiteId) { - return null; - } - - return $this->analyticsWebsites->firstWhere('id', $this->selectedWebsiteId); - } - - /** - * Get chart data for the selected website. - */ - #[Computed] - public function selectedWebsiteChartData(): array - { - if (! $this->selectedWebsiteId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days - 1)->startOfDay(); - - $sessions = AnalyticsSession::where('website_id', $this->selectedWebsiteId) - ->where('started_at', '>=', $startDate) - ->selectRaw('DATE(started_at) as date, COUNT(DISTINCT visitor_id) as visitors, COUNT(*) as sessions') - ->groupBy('date') - ->orderBy('date') - ->get() - ->keyBy('date'); - - $data = []; - for ($i = 0; $i < $days; $i++) { - $date = $startDate->copy()->addDays($i); - $dateStr = $date->format('Y-m-d'); - $row = $sessions->get($dateStr); - $data[] = [ - 'date' => $date->format('M j'), - 'visitors' => $row?->visitors ?? 0, - 'sessions' => $row?->sessions ?? 0, - ]; - } - - return $data; - } - - /** - * Get top pages for the selected website. - */ - #[Computed] - public function selectedWebsiteTopPages(): array - { - if (! $this->selectedWebsiteId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days)->startOfDay(); - - return AnalyticsEvent::where('website_id', $this->selectedWebsiteId) - ->where('type', 'pageview') - ->where('created_at', '>=', $startDate) - ->selectRaw('path, COUNT(*) as views, COUNT(DISTINCT visitor_id) as visitors') - ->groupBy('path') - ->orderByDesc('views') - ->limit(10) - ->get() - ->toArray(); - } - - /** - * Get top referrers for the selected website. - */ - #[Computed] - public function selectedWebsiteReferrers(): array - { - if (! $this->selectedWebsiteId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days)->startOfDay(); - - return AnalyticsSession::where('website_id', $this->selectedWebsiteId) - ->whereNotNull('referrer_host') - ->where('referrer_host', '!=', '') - ->where('started_at', '>=', $startDate) - ->selectRaw('referrer_host, COUNT(*) as sessions') - ->groupBy('referrer_host') - ->orderByDesc('sessions') - ->limit(10) - ->get() - ->toArray(); - } - - /** - * Get device breakdown for the selected website. - */ - #[Computed] - public function selectedWebsiteDevices(): array - { - if (! $this->selectedWebsiteId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days)->startOfDay(); - - return AnalyticsVisitor::where('website_id', $this->selectedWebsiteId) - ->where('last_seen_at', '>=', $startDate) - ->selectRaw('device_type, COUNT(*) as count') - ->groupBy('device_type') - ->orderByDesc('count') - ->get() - ->pluck('count', 'device_type') - ->toArray(); - } - - /** - * Get browser breakdown for the selected website. - */ - #[Computed] - public function selectedWebsiteBrowsers(): array - { - if (! $this->selectedWebsiteId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days)->startOfDay(); - - return AnalyticsVisitor::where('website_id', $this->selectedWebsiteId) - ->where('last_seen_at', '>=', $startDate) - ->selectRaw('browser_name, COUNT(*) as count') - ->groupBy('browser_name') - ->orderByDesc('count') - ->limit(5) - ->get() - ->pluck('count', 'browser_name') - ->toArray(); - } - - /** - * Get country breakdown for the selected website. - */ - #[Computed] - public function selectedWebsiteCountries(): array - { - if (! $this->selectedWebsiteId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days)->startOfDay(); - - return AnalyticsVisitor::where('website_id', $this->selectedWebsiteId) - ->whereNotNull('country_code') - ->where('last_seen_at', '>=', $startDate) - ->selectRaw('country_code, COUNT(*) as count') - ->groupBy('country_code') - ->orderByDesc('count') - ->limit(10) - ->get() - ->pluck('count', 'country_code') - ->toArray(); - } - - /** - * Check if we're viewing page details. - */ - #[Computed] - public function isViewingPageDetails(): bool - { - return $this->pageDetailsWebsiteId !== null && $this->pageDetailsPath !== null; - } - - /** - * Get the website for page details. - */ - #[Computed] - public function pageDetailsWebsite(): ?AnalyticsWebsite - { - if (! $this->pageDetailsWebsiteId) { - return null; - } - - return AnalyticsWebsite::find($this->pageDetailsWebsiteId); - } - - /** - * Get stats for the page details view. - */ - #[Computed] - public function pageDetailsStats(): array - { - if (! $this->isViewingPageDetails) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - default => 30, - }; - - $start = now()->subDays($days)->startOfDay(); - $end = now()->endOfDay(); - - $views = AnalyticsEvent::where('website_id', $this->pageDetailsWebsiteId) - ->where('type', 'pageview') - ->where('path', $this->pageDetailsPath) - ->whereBetween('created_at', [$start, $end]) - ->count(); - - $visitors = AnalyticsEvent::where('website_id', $this->pageDetailsWebsiteId) - ->where('type', 'pageview') - ->where('path', $this->pageDetailsPath) - ->whereBetween('created_at', [$start, $end]) - ->distinct('visitor_id') - ->count('visitor_id'); - - // Entry stats (sessions that started on this page) - $entries = AnalyticsSession::where('website_id', $this->pageDetailsWebsiteId) - ->where('landing_page', $this->pageDetailsPath) - ->whereBetween('started_at', [$start, $end]) - ->count(); - - $bounces = AnalyticsSession::where('website_id', $this->pageDetailsWebsiteId) - ->where('landing_page', $this->pageDetailsPath) - ->where('is_bounce', true) - ->whereBetween('started_at', [$start, $end]) - ->count(); - - $bounceRate = $entries > 0 ? round(($bounces / $entries) * 100, 1) : 0; - - // Exit stats - $exits = AnalyticsSession::where('website_id', $this->pageDetailsWebsiteId) - ->where('exit_page', $this->pageDetailsPath) - ->whereBetween('started_at', [$start, $end]) - ->count(); - - $exitRate = $views > 0 ? round(($exits / $views) * 100, 1) : 0; - - // Average time on page - $avgDuration = AnalyticsSession::where('website_id', $this->pageDetailsWebsiteId) - ->where('landing_page', $this->pageDetailsPath) - ->where('is_bounce', false) - ->whereBetween('started_at', [$start, $end]) - ->avg('duration') ?? 0; - - return [ - 'views' => $views, - 'visitors' => $visitors, - 'entries' => $entries, - 'bounce_rate' => $bounceRate, - 'exits' => $exits, - 'exit_rate' => $exitRate, - 'avg_duration' => (int) $avgDuration, - 'views_per_visitor' => $visitors > 0 ? round($views / $visitors, 1) : 0, - ]; - } - - /** - * Get chart data for page details. - */ - #[Computed] - public function pageDetailsChartData(): array - { - if (! $this->isViewingPageDetails) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - default => 30, - }; - - $startDate = now()->subDays($days - 1)->startOfDay(); - - $events = AnalyticsEvent::where('website_id', $this->pageDetailsWebsiteId) - ->where('type', 'pageview') - ->where('path', $this->pageDetailsPath) - ->where('created_at', '>=', $startDate) - ->selectRaw('DATE(created_at) as date, COUNT(*) as views, COUNT(DISTINCT visitor_id) as visitors') - ->groupBy('date') - ->orderBy('date') - ->pluck('views', 'date') - ->toArray(); - - $data = []; - for ($i = 0; $i < $days; $i++) { - $date = $startDate->copy()->addDays($i)->format('Y-m-d'); - $data[] = [ - 'date' => $startDate->copy()->addDays($i)->format('M j'), - 'views' => $events[$date] ?? 0, - ]; - } - - return $data; - } - - /** - * Get referrers for page details. - */ - #[Computed] - public function pageDetailsReferrers(): array - { - if (! $this->isViewingPageDetails) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - default => 30, - }; - - $start = now()->subDays($days)->startOfDay(); - - return AnalyticsSession::where('website_id', $this->pageDetailsWebsiteId) - ->where('landing_page', $this->pageDetailsPath) - ->whereNotNull('referrer_host') - ->where('referrer_host', '!=', '') - ->where('started_at', '>=', $start) - ->selectRaw('referrer_host, COUNT(*) as sessions') - ->groupBy('referrer_host') - ->orderByDesc('sessions') - ->limit(10) - ->get() - ->toArray(); - } - - /** - * Get device breakdown for page details. - */ - #[Computed] - public function pageDetailsDevices(): array - { - if (! $this->isViewingPageDetails) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - default => 30, - }; - - $start = now()->subDays($days)->startOfDay(); - - $visitorIds = AnalyticsEvent::where('website_id', $this->pageDetailsWebsiteId) - ->where('type', 'pageview') - ->where('path', $this->pageDetailsPath) - ->where('created_at', '>=', $start) - ->pluck('visitor_id') - ->unique(); - - return AnalyticsVisitor::whereIn('id', $visitorIds) - ->selectRaw('device_type, COUNT(*) as count') - ->groupBy('device_type') - ->orderByDesc('count') - ->get() - ->pluck('count', 'device_type') - ->toArray(); - } - - /** - * Get browser breakdown for page details. - */ - #[Computed] - public function pageDetailsBrowsers(): array - { - if (! $this->isViewingPageDetails) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - default => 30, - }; - - $start = now()->subDays($days)->startOfDay(); - - $visitorIds = AnalyticsEvent::where('website_id', $this->pageDetailsWebsiteId) - ->where('type', 'pageview') - ->where('path', $this->pageDetailsPath) - ->where('created_at', '>=', $start) - ->pluck('visitor_id') - ->unique(); - - return AnalyticsVisitor::whereIn('id', $visitorIds) - ->selectRaw('browser_name, COUNT(*) as count') - ->groupBy('browser_name') - ->orderByDesc('count') - ->limit(5) - ->get() - ->pluck('count', 'browser_name') - ->toArray(); - } - - // ======================================== - // BIO STATS (workspace-scoped) - // ======================================== - - // TODO: Bio service admin moved to Host UK app (Mod\Bio) - // These computed properties are stubbed until the admin panel is refactored - - #[Computed] - public function bioStats(): array - { - return ['total_pages' => 0, 'active_pages' => 0, 'total_clicks' => 0, 'total_projects' => 0, 'biolinks' => 0, 'shortlinks' => 0]; - } - - #[Computed] - public function bioStatCards(): array - { - return []; - } - - #[Computed] - public function bioPages(): \Illuminate\Support\Collection - { - return collect(); - } - - #[Computed] - public function bioProjects(): \Illuminate\Support\Collection - { - return collect(); - } - - #[Computed] - public function bioThemes(): array - { - return []; - } - - // ======================================== - // SOCIAL STATS (workspace-scoped) - // ======================================== - - #[Computed] - public function socialStats(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return ['total_accounts' => 0, 'active_accounts' => 0, 'total_posts' => 0, 'scheduled_posts' => 0, 'published_posts' => 0, 'failed_posts' => 0]; - } - - return [ - 'total_accounts' => SocialAccount::where('workspace_id', $workspaceId)->count(), - 'active_accounts' => SocialAccount::where('workspace_id', $workspaceId)->where('status', 'active')->count(), - 'total_posts' => SocialPost::where('workspace_id', $workspaceId)->count(), - 'scheduled_posts' => SocialPost::where('workspace_id', $workspaceId)->where('status', PostStatus::SCHEDULED)->count(), - 'published_posts' => SocialPost::where('workspace_id', $workspaceId)->where('status', PostStatus::PUBLISHED)->count(), - 'failed_posts' => SocialPost::where('workspace_id', $workspaceId)->where('status', PostStatus::FAILED)->count(), - ]; - } - - #[Computed] - public function socialStatCards(): array - { - return [ - ['value' => number_format($this->socialStats['total_accounts']), 'label' => __('hub::hub.services.stats.social.total_accounts'), 'icon' => 'users', 'color' => 'violet'], - ['value' => number_format($this->socialStats['active_accounts']), 'label' => __('hub::hub.services.stats.social.active_accounts'), 'icon' => 'check-circle', 'color' => 'green'], - ['value' => number_format($this->socialStats['scheduled_posts']), 'label' => __('hub::hub.services.stats.social.scheduled_posts'), 'icon' => 'calendar', 'color' => 'blue'], - ['value' => number_format($this->socialStats['published_posts']), 'label' => __('hub::hub.services.stats.social.published_posts'), 'icon' => 'paper-plane', 'color' => 'orange'], - ]; - } - - #[Computed] - public function socialAccounts(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - return SocialAccount::where('workspace_id', $workspaceId) - ->orderBy('name') - ->get(); - } - - #[Computed] - public function socialPosts(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - return SocialPost::with(['accounts', 'user']) - ->where('workspace_id', $workspaceId) - ->latest() - ->take(50) - ->get(); - } - - // ======================================== - // ANALYTICS STATS (workspace-scoped) - // ======================================== - - #[Computed] - public function analyticsStats(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return ['total_websites' => 0, 'active_websites' => 0, 'pageviews_today' => 0, 'pageviews_week' => 0, 'pageviews_month' => 0, 'sessions_today' => 0]; - } - - $today = now()->startOfDay(); - $weekStart = now()->startOfWeek(); - $monthStart = now()->startOfMonth(); - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - return [ - 'total_websites' => AnalyticsWebsite::where('workspace_id', $workspaceId)->count(), - 'active_websites' => AnalyticsWebsite::where('workspace_id', $workspaceId)->enabled()->count(), - 'pageviews_today' => AnalyticsEvent::whereIn('website_id', $websiteIds)->pageviews()->where('created_at', '>=', $today)->count(), - 'pageviews_week' => AnalyticsEvent::whereIn('website_id', $websiteIds)->pageviews()->where('created_at', '>=', $weekStart)->count(), - 'pageviews_month' => AnalyticsEvent::whereIn('website_id', $websiteIds)->pageviews()->where('created_at', '>=', $monthStart)->count(), - 'sessions_today' => AnalyticsSession::whereIn('website_id', $websiteIds)->where('started_at', '>=', $today)->count(), - ]; - } - - #[Computed] - public function analyticsStatCards(): array - { - return [ - ['value' => number_format($this->analyticsStats['total_websites']), 'label' => __('hub::hub.services.stats.analytics.total_websites'), 'icon' => 'globe', 'color' => 'violet'], - ['value' => number_format($this->analyticsStats['active_websites']), 'label' => __('hub::hub.services.stats.analytics.active_websites'), 'icon' => 'check-circle', 'color' => 'green'], - ['value' => number_format($this->analyticsStats['pageviews_today']), 'label' => __('hub::hub.services.stats.analytics.pageviews_today'), 'icon' => 'eye', 'color' => 'blue'], - ['value' => number_format($this->analyticsStats['sessions_today']), 'label' => __('hub::hub.services.stats.analytics.sessions_today'), 'icon' => 'users', 'color' => 'orange'], - ]; - } - - #[Computed] - public function analyticsWebsites(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $startDate = now()->subDays($days)->startOfDay(); - - return AnalyticsWebsite::where('workspace_id', $workspaceId) - ->withCount([ - 'events as pageviews_count' => fn ($q) => $q->pageviews()->where('created_at', '>=', $startDate), - 'sessions as sessions_count' => fn ($q) => $q->where('started_at', '>=', $startDate), - 'sessions as bounced_sessions_count' => fn ($q) => $q->where('started_at', '>=', $startDate)->where('is_bounce', true), - ]) - ->withSum(['sessions as total_duration' => fn ($q) => $q->where('started_at', '>=', $startDate)->whereNotNull('duration')], 'duration') - ->orderByDesc('pageviews_count') - ->get() - ->map(function ($website) use ($startDate) { - // Calculate derived metrics - $website->visitors_count = AnalyticsSession::where('website_id', $website->id) - ->where('started_at', '>=', $startDate) - ->distinct('visitor_id') - ->count('visitor_id'); - - $website->bounce_rate = $website->sessions_count > 0 - ? round(($website->bounced_sessions_count / $website->sessions_count) * 100, 1) - : 0; - - $website->avg_duration = $website->sessions_count > 0 - ? (int) round($website->total_duration / $website->sessions_count) - : 0; - - return $website; - }); - } - - /** - * Get all analytics channels for the workspace, grouped by type. - */ - #[Computed] - public function analyticsChannels(): \Illuminate\Support\Collection - { - return $this->analyticsWebsites; - } - - /** - * Get analytics channels grouped by channel type. - */ - #[Computed] - public function analyticsChannelsByType(): array - { - $channels = $this->analyticsChannels; - - $grouped = []; - foreach (ChannelType::cases() as $type) { - $typeChannels = $channels->filter(fn ($c) => ($c->channel_type?->value ?? 'website') === $type->value); - if ($typeChannels->isNotEmpty()) { - $grouped[$type->value] = [ - 'type' => $type, - 'label' => $type->label(), - 'icon' => $type->icon(), - 'color' => $type->color(), - 'channels' => $typeChannels, - ]; - } - } - - return $grouped; - } - - #[Computed] - public function analyticsChartData(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - default => 30, - }; - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - if ($websiteIds->isEmpty()) { - return []; - } - - $startDate = now()->subDays($days - 1)->startOfDay(); - - // Get daily pageview counts - $pageviews = AnalyticsEvent::whereIn('website_id', $websiteIds) - ->pageviews() - ->where('created_at', '>=', $startDate) - ->selectRaw('DATE(created_at) as date, COUNT(*) as count') - ->groupBy('date') - ->orderBy('date') - ->pluck('count', 'date') - ->toArray(); - - // Build chart data with all dates - $data = []; - for ($i = 0; $i < $days; $i++) { - $date = $startDate->copy()->addDays($i)->format('Y-m-d'); - $data[] = [ - 'date' => $startDate->copy()->addDays($i)->format('M j'), - 'pageviews' => $pageviews[$date] ?? 0, - ]; - } - - return $data; - } - - #[Computed] - public function analyticsTopPages(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => null, - default => 30, - }; - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - if ($websiteIds->isEmpty()) { - return collect(); - } - - // Get pageview stats - $query = AnalyticsEvent::whereIn('website_id', $websiteIds) - ->pageviews() - ->selectRaw('path, COUNT(*) as views, COUNT(DISTINCT visitor_id) as visitors') - ->groupBy('path') - ->orderByDesc('views') - ->limit(10); - - if ($days !== null) { - $query->where('created_at', '>=', now()->subDays($days)->startOfDay()); - } - - $pages = $query->get(); - - // Get bounce rates by landing page - $bounceQuery = AnalyticsSession::whereIn('website_id', $websiteIds) - ->whereNotNull('landing_page') - ->selectRaw('landing_page, COUNT(*) as entries, SUM(CASE WHEN is_bounce = 1 THEN 1 ELSE 0 END) as bounces'); - - if ($days !== null) { - $bounceQuery->where('started_at', '>=', now()->subDays($days)->startOfDay()); - } - - $bounceRates = $bounceQuery->groupBy('landing_page')->get()->keyBy('landing_page'); - - // Merge bounce rate into pages - return $pages->map(function ($page) use ($bounceRates) { - $bounceData = $bounceRates->get($page->path); - $page->entries = $bounceData?->entries ?? 0; - $page->bounces = $bounceData?->bounces ?? 0; - $page->bounce_rate = $page->entries > 0 - ? round(($page->bounces / $page->entries) * 100, 1) - : null; - - return $page; - }); - } - - /** - * Get analytics summary metrics for the inline summary bar. - * Returns total pageviews, unique visitors, bounce rate, and avg session duration - * based on the selected date range. - */ - #[Computed] - public function analyticsSummaryMetrics(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return [ - 'total_pageviews' => 0, - 'unique_visitors' => 0, - 'bounce_rate' => 0, - 'avg_session_duration' => 0, - ]; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => null, - default => 30, - }; - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - if ($websiteIds->isEmpty()) { - return [ - 'total_pageviews' => 0, - 'unique_visitors' => 0, - 'bounce_rate' => 0, - 'avg_session_duration' => 0, - ]; - } - - $query = AnalyticsEvent::whereIn('website_id', $websiteIds)->pageviews(); - $sessionQuery = AnalyticsSession::whereIn('website_id', $websiteIds); - - if ($days !== null) { - $startDate = now()->subDays($days)->startOfDay(); - $query->where('created_at', '>=', $startDate); - $sessionQuery->where('started_at', '>=', $startDate); - } - - $totalPageviews = $query->count(); - - // Unique visitors (distinct visitor_ids from sessions) - $uniqueVisitors = (clone $sessionQuery)->distinct('visitor_id')->count('visitor_id'); - - // Bounce rate: sessions with only 1 pageview / total sessions - $totalSessions = (clone $sessionQuery)->count(); - $bouncedSessions = (clone $sessionQuery)->where('pageviews', 1)->count(); - $bounceRate = $totalSessions > 0 ? round(($bouncedSessions / $totalSessions) * 100, 1) : 0; - - // Average session duration in seconds - $avgDuration = (clone $sessionQuery)->whereNotNull('ended_at')->avg(\DB::raw('TIMESTAMPDIFF(SECOND, started_at, ended_at)')) ?? 0; - - return [ - 'total_pageviews' => $totalPageviews, - 'unique_visitors' => $uniqueVisitors, - 'bounce_rate' => $bounceRate, - 'avg_session_duration' => (int) round($avgDuration), - ]; - } - - /** - * Format seconds into a human-readable duration (e.g., "2m 30s"). - */ - public function formatDuration(int $seconds): string - { - if ($seconds < 60) { - return $seconds.'s'; - } - - $minutes = floor($seconds / 60); - $remainingSeconds = $seconds % 60; - - if ($minutes < 60) { - return $remainingSeconds > 0 ? "{$minutes}m {$remainingSeconds}s" : "{$minutes}m"; - } - - $hours = floor($minutes / 60); - $remainingMinutes = $minutes % 60; - - return $remainingMinutes > 0 ? "{$hours}h {$remainingMinutes}m" : "{$hours}h"; - } - - #[Computed] - public function analyticsAcquisitionChannels(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - if ($websiteIds->isEmpty()) { - return []; - } - - $startDate = now()->subDays($days)->startOfDay(); - - // Get sessions grouped by referrer type - $sessions = AnalyticsSession::whereIn('website_id', $websiteIds) - ->where('started_at', '>=', $startDate) - ->get(['referrer_host', 'utm_source', 'utm_medium']); - - $total = $sessions->count(); - - if ($total === 0) { - return []; - } - - // Categorise traffic sources - $channels = [ - 'direct' => 0, - 'search' => 0, - 'social' => 0, - 'referral' => 0, - ]; - - $searchEngines = ['google', 'bing', 'yahoo', 'duckduckgo', 'baidu', 'yandex']; - $socialNetworks = ['facebook', 'twitter', 'instagram', 'linkedin', 'youtube', 'tiktok', 'pinterest', 'reddit']; - - foreach ($sessions as $session) { - $host = strtolower($session->referrer_host ?? ''); - $source = strtolower($session->utm_source ?? ''); - $medium = strtolower($session->utm_medium ?? ''); - - // Direct traffic (no referrer) - if (empty($host) && empty($source)) { - $channels['direct']++; - - continue; - } - - // Check UTM medium first - if (in_array($medium, ['cpc', 'ppc', 'organic', 'search'])) { - $channels['search']++; - - continue; - } - if (in_array($medium, ['social', 'social-media'])) { - $channels['social']++; - - continue; - } - - // Check referrer host for search engines - foreach ($searchEngines as $engine) { - if (str_contains($host, $engine) || str_contains($source, $engine)) { - $channels['search']++; - - continue 2; - } - } - - // Check referrer host for social networks - foreach ($socialNetworks as $network) { - if (str_contains($host, $network) || str_contains($source, $network)) { - $channels['social']++; - - continue 2; - } - } - - // Everything else is referral - $channels['referral']++; - } - - $colours = [ - 'direct' => '#8b5cf6', - 'search' => '#06b6d4', - 'social' => '#f59e0b', - 'referral' => '#10b981', - ]; - - $labels = [ - 'direct' => __('hub::hub.services.analytics.channels.direct'), - 'search' => __('hub::hub.services.analytics.channels.search'), - 'social' => __('hub::hub.services.analytics.channels.social'), - 'referral' => __('hub::hub.services.analytics.channels.referral'), - ]; - - return collect($channels) - ->filter(fn ($count) => $count > 0) - ->map(fn ($count, $key) => [ - 'name' => $labels[$key] ?? ucfirst($key), - 'count' => $count, - 'percentage' => round(($count / $total) * 100, 1), - 'color' => $colours[$key] ?? '#6b7280', - ]) - ->sortByDesc('count') - ->values() - ->toArray(); - } - - #[Computed] - public function analyticsDeviceBreakdown(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return []; - } - - $days = match ($this->analyticsDateRange) { - '7d' => 7, - '30d' => 30, - '90d' => 90, - 'all' => 365, - default => 30, - }; - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - if ($websiteIds->isEmpty()) { - return []; - } - - $startDate = now()->subDays($days)->startOfDay(); - - // Get visitors by device type - $devices = AnalyticsVisitor::whereIn('website_id', $websiteIds) - ->where('last_seen_at', '>=', $startDate) - ->selectRaw('device_type, COUNT(*) as count') - ->groupBy('device_type') - ->pluck('count', 'device_type') - ->toArray(); - - $total = array_sum($devices); - - if ($total === 0) { - return []; - } - - $icons = [ - 'desktop' => 'computer-desktop', - 'mobile' => 'device-phone-mobile', - 'tablet' => 'device-tablet', - ]; - - $labels = [ - 'desktop' => __('hub::hub.services.analytics.devices.desktop'), - 'mobile' => __('hub::hub.services.analytics.devices.mobile'), - 'tablet' => __('hub::hub.services.analytics.devices.tablet'), - ]; - - // Ensure all device types are represented - $deviceTypes = ['desktop', 'mobile', 'tablet']; - $result = []; - - foreach ($deviceTypes as $type) { - $count = $devices[$type] ?? 0; - if ($count > 0 || $total > 0) { - $result[] = [ - 'name' => $labels[$type] ?? ucfirst($type), - 'icon' => $icons[$type] ?? 'question-mark-circle', - 'count' => $count, - 'percentage' => $total > 0 ? round(($count / $total) * 100, 0) : 0, - ]; - } - } - - return $result; - } - - #[Computed] - public function analyticsGoals(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $websiteIds = AnalyticsWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - if ($websiteIds->isEmpty()) { - return collect(); - } - - return AnalyticsGoal::with('website') - ->whereIn('website_id', $websiteIds) - ->withCount([ - 'conversions as conversions_count' => fn ($q) => $q->where('created_at', '>=', now()->startOfMonth()), - ]) - ->orderBy('name') - ->get(); - } - - #[Computed] - public function analyticsGoalTypes(): array - { - return [ - 'pageview' => ['label' => 'Page Visit', 'color' => 'blue', 'icon' => 'document-text'], - 'event' => ['label' => 'Custom Event', 'color' => 'purple', 'icon' => 'bolt'], - 'duration' => ['label' => 'Time on Page', 'color' => 'orange', 'icon' => 'clock'], - 'pages_per_session' => ['label' => 'Pages Per Session', 'color' => 'green', 'icon' => 'document-duplicate'], - ]; - } - - // ======================================== - // NOTIFY STATS (workspace-scoped) - // ======================================== - - #[Computed] - public function notifyStats(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return ['total_websites' => 0, 'total_subscribers' => 0, 'active_subscribers' => 0, 'active_campaigns' => 0, 'messages_today' => 0]; - } - - $websiteIds = PushWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - return [ - 'total_websites' => PushWebsite::where('workspace_id', $workspaceId)->count(), - 'total_subscribers' => PushSubscriber::whereIn('website_id', $websiteIds)->count(), - 'active_subscribers' => PushSubscriber::whereIn('website_id', $websiteIds)->where('is_subscribed', true)->count(), - 'active_campaigns' => PushCampaign::whereIn('website_id', $websiteIds)->whereIn('status', [PushCampaign::STATUS_SCHEDULED, PushCampaign::STATUS_SENDING])->count(), - 'messages_today' => PushCampaignLog::whereIn('campaign_id', PushCampaign::whereIn('website_id', $websiteIds)->pluck('id'))->whereDate('sent_at', today())->count(), - ]; - } - - #[Computed] - public function notifyStatCards(): array - { - return [ - ['value' => number_format($this->notifyStats['total_websites']), 'label' => __('hub::hub.services.stats.notify.websites'), 'icon' => 'globe', 'color' => 'purple'], - ['value' => number_format($this->notifyStats['active_subscribers']), 'label' => __('hub::hub.services.stats.notify.active_subscribers'), 'icon' => 'users', 'color' => 'blue'], - ['value' => number_format($this->notifyStats['active_campaigns']), 'label' => __('hub::hub.services.stats.notify.active_campaigns'), 'icon' => 'bullhorn', 'color' => 'orange'], - ['value' => number_format($this->notifyStats['messages_today']), 'label' => __('hub::hub.services.stats.notify.messages_today'), 'icon' => 'paper-plane', 'color' => 'green'], - ]; - } - - #[Computed] - public function notifyWebsites(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - return PushWebsite::where('workspace_id', $workspaceId) - ->withCount(['subscribers' => fn ($q) => $q->where('is_subscribed', true)]) - ->orderByDesc('subscribers_count') - ->get(); - } - - #[Computed] - public function notifySubscribers(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $websiteIds = PushWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - return PushSubscriber::with('website') - ->whereIn('website_id', $websiteIds) - ->latest('subscribed_at') - ->take(100) - ->get(); - } - - #[Computed] - public function notifyCampaigns(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $websiteIds = PushWebsite::where('workspace_id', $workspaceId)->pluck('id'); - - return PushCampaign::with(['website', 'user']) - ->whereIn('website_id', $websiteIds) - ->latest() - ->get(); - } - - // ======================================== - // TRUST STATS (workspace-scoped) - // ======================================== - - #[Computed] - public function trustStats(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return ['total_campaigns' => 0, 'active_campaigns' => 0, 'total_notifications' => 0, 'total_impressions' => 0, 'total_clicks' => 0, 'total_conversions' => 0]; - } - - $campaignIds = TrustCampaign::where('workspace_id', $workspaceId)->pluck('id'); - - return [ - 'total_campaigns' => TrustCampaign::where('workspace_id', $workspaceId)->count(), - 'active_campaigns' => TrustCampaign::where('workspace_id', $workspaceId)->where('is_enabled', true)->count(), - 'total_notifications' => TrustNotification::whereIn('campaign_id', $campaignIds)->count(), - 'total_impressions' => TrustNotification::whereIn('campaign_id', $campaignIds)->sum('impressions'), - 'total_clicks' => TrustNotification::whereIn('campaign_id', $campaignIds)->sum('clicks'), - 'total_conversions' => TrustNotification::whereIn('campaign_id', $campaignIds)->sum('conversions'), - ]; - } - - #[Computed] - public function trustStatCards(): array - { - return [ - ['value' => number_format($this->trustStats['total_campaigns']), 'label' => __('hub::hub.services.stats.trust.total_campaigns'), 'icon' => 'megaphone', 'color' => 'blue'], - ['value' => number_format($this->trustStats['active_campaigns']), 'label' => __('hub::hub.services.stats.trust.active_campaigns'), 'icon' => 'check-circle', 'color' => 'green'], - ['value' => number_format($this->trustStats['total_notifications']), 'label' => __('hub::hub.services.stats.trust.total_widgets'), 'icon' => 'bell', 'color' => 'purple'], - ['value' => number_format($this->trustStats['total_impressions']), 'label' => __('hub::hub.services.stats.trust.total_impressions'), 'icon' => 'eye', 'color' => 'orange'], - ]; - } - - /** - * Get aggregated Trust metrics for summary display. - */ - #[Computed] - public function trustAggregatedMetrics(): array - { - $stats = $this->trustStats; - - $ctr = $stats['total_impressions'] > 0 ? round(($stats['total_clicks'] / $stats['total_impressions']) * 100, 2) : 0; - $cvr = $stats['total_impressions'] > 0 ? round(($stats['total_conversions'] / $stats['total_impressions']) * 100, 2) : 0; - - return [ - 'impressions' => $stats['total_impressions'], - 'clicks' => $stats['total_clicks'], - 'conversions' => $stats['total_conversions'], - 'ctr' => $ctr, - 'cvr' => $cvr, - ]; - } - - #[Computed] - public function trustCampaigns(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - return TrustCampaign::where('workspace_id', $workspaceId) - ->withCount('notifications') - ->orderBy('name') - ->get(); - } - - #[Computed] - public function trustNotifications(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $campaignIds = TrustCampaign::where('workspace_id', $workspaceId)->pluck('id'); - - return TrustNotification::with('campaign') - ->whereIn('campaign_id', $campaignIds) - ->orderByDesc('impressions') - ->get(); - } - - // ======================================== - // SUPPORT STATS (workspace-scoped) - // ======================================== - - #[Computed] - public function supportStats(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return [ - 'open_tickets' => 0, - 'new_today' => 0, - 'resolved_today' => 0, - 'total_mailboxes' => 0, - ]; - } - - $today = now()->startOfDay(); - $mailboxIds = Mailbox::where('workspace_id', $workspaceId)->pluck('id'); - - return [ - 'open_tickets' => Conversation::whereIn('mailbox_id', $mailboxIds) - ->whereIn('status', ['active', 'pending']) - ->count(), - 'new_today' => Conversation::whereIn('mailbox_id', $mailboxIds) - ->where('created_at', '>=', $today) - ->count(), - 'resolved_today' => Conversation::whereIn('mailbox_id', $mailboxIds) - ->where('status', 'closed') - ->where('closed_at', '>=', $today) - ->count(), - 'total_mailboxes' => Mailbox::where('workspace_id', $workspaceId)->count(), - ]; - } - - /** - * Inbox health for support dashboard - open tickets and oldest unresponded. - */ - #[Computed] - public function supportInboxHealth(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return [ - 'open_tickets' => 0, - 'oldest_unresponded' => null, - 'avg_response_time' => null, - ]; - } - - $mailboxIds = Mailbox::where('workspace_id', $workspaceId)->pluck('id'); - - $openTickets = Conversation::whereIn('mailbox_id', $mailboxIds) - ->whereIn('status', ['active', 'pending']) - ->count(); - - // Find oldest unresponded conversation - $oldestUnresponded = Conversation::query() - ->whereIn('mailbox_id', $mailboxIds) - ->whereIn('status', ['active', 'pending']) - ->whereDoesntHave('threads', function ($query) { - $query->where('type', 'message'); - }) - ->orderBy('created_at') - ->first(); - - // Calculate average response time - $avgResponseTime = $this->calculateSupportAvgResponseTime($mailboxIds); - - return [ - 'open_tickets' => $openTickets, - 'oldest_unresponded' => $oldestUnresponded, - 'avg_response_time' => $avgResponseTime, - ]; - } - - /** - * Today's activity for support dashboard. - */ - #[Computed] - public function supportTodaysActivity(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return [ - 'new_conversations' => 0, - 'resolved_today' => 0, - 'messages_sent' => 0, - ]; - } - - $today = now()->startOfDay(); - $mailboxIds = Mailbox::where('workspace_id', $workspaceId)->pluck('id'); - $conversationIds = Conversation::whereIn('mailbox_id', $mailboxIds)->pluck('id'); - - return [ - 'new_conversations' => Conversation::whereIn('mailbox_id', $mailboxIds) - ->where('created_at', '>=', $today) - ->count(), - 'resolved_today' => Conversation::whereIn('mailbox_id', $mailboxIds) - ->where('status', 'closed') - ->where('closed_at', '>=', $today) - ->count(), - 'messages_sent' => Thread::whereIn('conversation_id', $conversationIds) - ->where('created_at', '>=', $today) - ->where('type', 'message') - ->count(), - ]; - } - - /** - * Performance metrics for support dashboard. - */ - #[Computed] - public function supportPerformance(): array - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return [ - 'first_response_time' => null, - 'resolution_time' => null, - ]; - } - - $mailboxIds = Mailbox::where('workspace_id', $workspaceId)->pluck('id'); - - return [ - 'first_response_time' => $this->calculateSupportFirstResponseTime($mailboxIds), - 'resolution_time' => $this->calculateSupportResolutionTime($mailboxIds), - ]; - } - - /** - * Inbox health cards for support service. - */ - #[Computed] - public function supportInboxHealthCards(): array - { - $health = $this->supportInboxHealth; - - return [ - [ - 'value' => number_format($health['open_tickets']), - 'label' => __('hub::hub.services.support.open_tickets'), - 'icon' => 'inbox', - 'color' => 'blue', - 'oldest' => $health['oldest_unresponded'], - ], - [ - 'value' => $health['avg_response_time'] ?? __('hub::hub.services.support.na'), - 'label' => __('hub::hub.services.support.avg_response_time'), - 'icon' => 'clock', - 'color' => 'green', - ], - ]; - } - - /** - * Activity cards for support service. - */ - #[Computed] - public function supportActivityCards(): array - { - $activity = $this->supportTodaysActivity; - - return [ - [ - 'value' => number_format($activity['new_conversations']), - 'label' => __('hub::hub.services.support.new_today'), - 'icon' => 'plus-circle', - 'color' => 'violet', - ], - [ - 'value' => number_format($activity['resolved_today']), - 'label' => __('hub::hub.services.support.resolved_today'), - 'icon' => 'check-circle', - 'color' => 'green', - ], - [ - 'value' => number_format($activity['messages_sent']), - 'label' => __('hub::hub.services.support.messages_sent'), - 'icon' => 'paper-airplane', - 'color' => 'blue', - ], - ]; - } - - /** - * Performance cards for support service. - */ - #[Computed] - public function supportPerformanceCards(): array - { - $performance = $this->supportPerformance; - - return [ - [ - 'value' => $performance['first_response_time'] ?? __('hub::hub.services.support.na'), - 'label' => __('hub::hub.services.support.first_response'), - 'icon' => 'bolt', - 'color' => 'amber', - ], - [ - 'value' => $performance['resolution_time'] ?? __('hub::hub.services.support.na'), - 'label' => __('hub::hub.services.support.resolution_time'), - 'icon' => 'flag', - 'color' => 'teal', - ], - ]; - } - - /** - * Recent conversations for support service. - */ - #[Computed] - public function supportRecentConversations(): \Illuminate\Support\Collection - { - $workspaceId = $this->workspace?->id; - - if (! $workspaceId) { - return collect(); - } - - $mailboxIds = Mailbox::where('workspace_id', $workspaceId)->pluck('id'); - - return Conversation::with(['mailbox', 'customer', 'latestThread']) - ->whereIn('mailbox_id', $mailboxIds) - ->latest() - ->take(5) - ->get(); - } - - /** - * Calculate average response time for support conversations. - */ - private function calculateSupportAvgResponseTime(\Illuminate\Support\Collection $mailboxIds): ?string - { - $monthStart = now()->startOfMonth(); - - $conversations = Conversation::query() - ->whereIn('mailbox_id', $mailboxIds) - ->where('created_at', '>=', $monthStart) - ->whereHas('threads', function ($query) { - $query->where('type', 'message'); - }) - ->with(['threads' => function ($query) { - $query->orderBy('created_at'); - }]) - ->get(); - - if ($conversations->isEmpty()) { - return null; - } - - $totalSeconds = 0; - $count = 0; - - foreach ($conversations as $conversation) { - $customerThread = $conversation->threads->firstWhere('type', 'customer'); - $agentThread = $conversation->threads->firstWhere('type', 'message'); - - if ($customerThread && $agentThread && $agentThread->created_at > $customerThread->created_at) { - $totalSeconds += $agentThread->created_at->diffInSeconds($customerThread->created_at); - $count++; - } - } - - if ($count === 0) { - return null; - } - - return $this->formatSupportDuration((int) ($totalSeconds / $count)); - } - - /** - * Calculate first response time for support conversations. - */ - private function calculateSupportFirstResponseTime(\Illuminate\Support\Collection $mailboxIds): ?string - { - $monthStart = now()->startOfMonth(); - - $conversations = Conversation::query() - ->whereIn('mailbox_id', $mailboxIds) - ->where('created_at', '>=', $monthStart) - ->whereHas('threads', function ($query) { - $query->where('type', 'message'); - }) - ->get(); - - if ($conversations->isEmpty()) { - return null; - } - - $totalSeconds = 0; - $count = 0; - - foreach ($conversations as $conversation) { - $firstAgentReply = Thread::where('conversation_id', $conversation->id) - ->where('type', 'message') - ->orderBy('created_at') - ->first(); - - if ($firstAgentReply) { - $totalSeconds += $firstAgentReply->created_at->diffInSeconds($conversation->created_at); - $count++; - } - } - - if ($count === 0) { - return null; - } - - return $this->formatSupportDuration((int) ($totalSeconds / $count)); - } - - /** - * Calculate resolution time for support conversations. - */ - private function calculateSupportResolutionTime(\Illuminate\Support\Collection $mailboxIds): ?string - { - $monthStart = now()->startOfMonth(); - - $conversations = Conversation::query() - ->whereIn('mailbox_id', $mailboxIds) - ->where('status', 'closed') - ->where('closed_at', '>=', $monthStart) - ->whereNotNull('closed_at') - ->get(); - - if ($conversations->isEmpty()) { - return null; - } - - $totalSeconds = 0; - $count = 0; - - foreach ($conversations as $conversation) { - $totalSeconds += $conversation->closed_at->diffInSeconds($conversation->created_at); - $count++; - } - - if ($count === 0) { - return null; - } - - return $this->formatSupportDuration((int) ($totalSeconds / $count)); - } - - /** - * Format seconds into human-readable duration for support metrics. - */ - private function formatSupportDuration(int $seconds): string - { - if ($seconds < 60) { - return $seconds.'s'; - } - - if ($seconds < 3600) { - $minutes = (int) ($seconds / 60); - - return $minutes.'m'; - } - - if ($seconds < 86400) { - $hours = (int) ($seconds / 3600); - $minutes = (int) (($seconds % 3600) / 60); - - return $minutes > 0 ? "{$hours}h {$minutes}m" : "{$hours}h"; - } - - $days = (int) ($seconds / 86400); - $hours = (int) (($seconds % 86400) / 3600); - - return $hours > 0 ? "{$days}d {$hours}h" : "{$days}d"; - } - - /** - * Get status color for support conversations. - */ - public function supportStatusColor(string $status): string - { - return match ($status) { - 'active' => 'green', - 'pending' => 'yellow', - 'closed' => 'zinc', - 'spam' => 'red', - default => 'zinc', - }; - } - - public function render(): View - { - return view('hub::admin.services-admin') - ->layout('hub::admin.layouts.app', ['title' => $this->currentServiceItem['label'] ?? 'Services']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Settings.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Settings.php deleted file mode 100644 index 95fde1d..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Settings.php +++ /dev/null @@ -1,247 +0,0 @@ -name = $user->name ?? ''; - $this->email = $user->email ?? ''; - - // Load preferences from user settings - $this->locale = $this->getUserSetting('locale', config('app.locale', 'en_GB')); - $this->timezone = $this->getUserSetting('timezone', config('app.timezone', 'Europe/London')); - $this->time_format = (int) $this->getUserSetting('time_format', 12); - $this->week_starts_on = (int) $this->getUserSetting('week_starts_on', 1); - - // Feature flags - 2FA disabled until native implementation - $this->isTwoFactorEnabled = config('social.features.two_factor_auth', false); - $this->userHasTwoFactorEnabled = method_exists($user, 'hasTwoFactorAuthEnabled') - ? $user->hasTwoFactorAuthEnabled() - : false; - - // Check for pending deletion request - $this->pendingDeletion = AccountDeletionRequest::where('user_id', $user->id) - ->whereNull('completed_at') - ->whereNull('cancelled_at') - ->first(); - - // Data for selects (cached for performance) - $this->locales = UserStatsService::getLocaleList(); - $this->timezones = UserStatsService::getTimezoneList(); - } - - protected function getUserSetting(string $name, mixed $default = null): mixed - { - $setting = Setting::where('user_id', Auth::id()) - ->where('name', $name) - ->first(); - - return $setting?->payload ?? $default; - } - - public function updateProfile(): void - { - $this->validate([ - 'name' => ['required', 'string', 'max:255'], - 'email' => ['required', 'email', 'max:255', 'unique:'.(new User)->getTable().',email,'.Auth::id()], - ]); - - $user = User::findOrFail(Auth::id()); - $user->update([ - 'name' => $this->name, - 'email' => $this->email, - ]); - - $this->dispatch('profile-updated'); - Flux::toast(text: __('hub::hub.settings.messages.profile_updated'), variant: 'success'); - } - - public function updatePreferences(): void - { - $this->validate([ - 'locale' => ['required', 'string'], - 'timezone' => ['required', 'timezone'], - 'time_format' => ['required', 'in:12,24'], - 'week_starts_on' => ['required', 'in:0,1'], - ]); - - $preferences = [ - 'locale' => $this->locale, - 'timezone' => $this->timezone, - 'time_format' => (int) $this->time_format, - 'week_starts_on' => (int) $this->week_starts_on, - ]; - - foreach ($preferences as $name => $payload) { - Setting::updateOrCreate( - ['name' => $name, 'user_id' => Auth::id()], - ['payload' => $payload] - ); - } - - $this->dispatch('preferences-updated'); - Flux::toast(text: __('hub::hub.settings.messages.preferences_updated'), variant: 'success'); - } - - public function updatePassword(): void - { - $this->validate([ - 'current_password' => ['required', 'current_password'], - 'new_password' => ['required', 'confirmed', Password::defaults()], - ]); - - $user = User::findOrFail(Auth::id()); - $user->update([ - 'password' => Hash::make($this->new_password), - ]); - - $this->current_password = ''; - $this->new_password = ''; - $this->new_password_confirmation = ''; - - $this->dispatch('password-updated'); - Flux::toast(text: __('hub::hub.settings.messages.password_updated'), variant: 'success'); - } - - public function enableTwoFactor(): void - { - // TODO: Implement native 2FA - currently disabled - Flux::toast(text: __('hub::hub.settings.messages.two_factor_upgrading'), variant: 'warning'); - } - - public function confirmTwoFactor(): void - { - // TODO: Implement native 2FA - currently disabled - Flux::toast(text: __('hub::hub.settings.messages.two_factor_upgrading'), variant: 'warning'); - } - - public function showRecoveryCodesModal(): void - { - // TODO: Implement native 2FA - currently disabled - Flux::toast(text: __('hub::hub.settings.messages.two_factor_upgrading'), variant: 'warning'); - } - - public function regenerateRecoveryCodes(): void - { - // TODO: Implement native 2FA - currently disabled - Flux::toast(text: __('hub::hub.settings.messages.two_factor_upgrading'), variant: 'warning'); - } - - public function disableTwoFactor(): void - { - // TODO: Implement native 2FA - currently disabled - Flux::toast(text: __('hub::hub.settings.messages.two_factor_upgrading'), variant: 'warning'); - } - - public function requestAccountDeletion(): void - { - // Get the base user model for the app - $user = \Core\Mod\Tenant\Models\User::findOrFail(Auth::id()); - - // Create the deletion request - $deletionRequest = AccountDeletionRequest::createForUser($user, $this->deleteReason ?: null); - - // Send confirmation email - Mail::to($user->email)->send(new AccountDeletionRequested($deletionRequest)); - - $this->pendingDeletion = $deletionRequest; - $this->showDeleteConfirmation = false; - $this->deleteReason = ''; - - Flux::toast(text: __('hub::hub.settings.messages.deletion_scheduled'), variant: 'warning'); - } - - public function cancelAccountDeletion(): void - { - if ($this->pendingDeletion) { - $this->pendingDeletion->cancel(); - $this->pendingDeletion = null; - } - - Flux::toast(text: __('hub::hub.settings.messages.deletion_cancelled'), variant: 'success'); - } - - public function render() - { - return view('hub::admin.settings') - ->layout('hub::admin.layouts.app', ['title' => 'Settings']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/SiteSettings.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/SiteSettings.php deleted file mode 100644 index 4502db2..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/SiteSettings.php +++ /dev/null @@ -1,297 +0,0 @@ -entitlements = $entitlements; - } - - public function mount(string $workspace, ?string $tab = null): void - { - $this->workspaceSlug = $workspace; - - if ($tab && in_array($tab, ['services', 'general', 'deployment', 'environment', 'ssl', 'backups', 'danger'])) { - $this->tab = $tab; - } - } - - /** - * Get the current workspace by slug. - */ - #[Computed] - public function workspace(): ?Workspace - { - $user = auth()->user(); - - if (! $user) { - return null; - } - - return $user->workspaces() - ->where('slug', $this->workspaceSlug) - ->first(); - } - - /** - * Available tabs for navigation. - */ - #[Computed] - public function tabs(): array - { - return [ - 'services' => [ - 'label' => 'Services', - 'icon' => 'puzzle-piece', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'services']), - ], - 'general' => [ - 'label' => 'General', - 'icon' => 'gear', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'general']), - ], - 'deployment' => [ - 'label' => 'Deployment', - 'icon' => 'rocket', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'deployment']), - ], - 'environment' => [ - 'label' => 'Environment', - 'icon' => 'key', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'environment']), - ], - 'ssl' => [ - 'label' => 'SSL & Security', - 'icon' => 'shield-check', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'ssl']), - ], - 'backups' => [ - 'label' => 'Backups', - 'icon' => 'cloud-arrow-up', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'backups']), - ], - 'danger' => [ - 'label' => 'Danger Zone', - 'icon' => 'triangle-exclamation', - 'href' => route('hub.sites.settings', ['workspace' => $this->workspaceSlug, 'tab' => 'danger']), - ], - ]; - } - - /** - * Service definitions with entitlement checks. - */ - #[Computed] - public function serviceCards(): array - { - $workspace = $this->workspace; - - $services = [ - [ - 'name' => 'Bio', - 'description' => 'Bio pages, short links & QR codes', - 'icon' => 'link', - 'color' => 'violet', - 'slug' => 'bio', - 'feature' => 'core.srv.bio', - 'adminRoute' => route('hub.services', ['service' => 'bio']), - 'features' => [ - 'Unlimited bio pages', - 'Custom domains', - 'Link analytics', - 'QR code generation', - ], - ], - [ - 'name' => 'Social', - 'description' => 'Social media scheduling & management', - 'icon' => 'share-nodes', - 'color' => 'blue', - 'slug' => 'social', - 'feature' => 'core.srv.social', - 'adminRoute' => route('hub.services', ['service' => 'social']), - 'features' => [ - 'Multi-platform posting', - 'Content calendar', - 'Team approvals', - 'Analytics & insights', - ], - ], - [ - 'name' => 'Analytics', - 'description' => 'Privacy-focused website analytics', - 'icon' => 'chart-line', - 'color' => 'cyan', - 'slug' => 'analytics', - 'feature' => 'core.srv.analytics', - 'adminRoute' => route('hub.services', ['service' => 'analytics']), - 'features' => [ - 'Real-time visitors', - 'Goal tracking', - 'Heatmaps', - 'Session replays', - ], - ], - [ - 'name' => 'Trust', - 'description' => 'Social proof & conversion widgets', - 'icon' => 'shield-check', - 'color' => 'orange', - 'slug' => 'trust', - 'feature' => 'core.srv.trust', - 'adminRoute' => route('hub.services', ['service' => 'trust']), - 'features' => [ - 'Purchase notifications', - 'Review widgets', - 'Visitor counts', - 'Custom campaigns', - ], - ], - [ - 'name' => 'Notify', - 'description' => 'Push notifications & campaigns', - 'icon' => 'bell', - 'color' => 'yellow', - 'slug' => 'notify', - 'feature' => 'core.srv.notify', - 'adminRoute' => route('hub.services', ['service' => 'notify']), - 'features' => [ - 'Browser push notifications', - 'Subscriber management', - 'Campaign scheduling', - 'Delivery analytics', - ], - ], - [ - 'name' => 'Support', - 'description' => 'Help desk & live chat', - 'icon' => 'headset', - 'color' => 'teal', - 'slug' => 'support', - 'feature' => 'core.srv.support', - 'adminRoute' => route('hub.support.inbox'), - 'features' => [ - 'Email ticketing', - 'Live chat widget', - 'Knowledge base', - 'Team collaboration', - ], - ], - ]; - - // Add entitlement status to each service - return collect($services)->map(function ($service) use ($workspace) { - $service['entitled'] = $workspace - ? $this->entitlements->can($workspace, $service['feature'])->isAllowed() - : false; - - return $service; - })->all(); - } - - /** - * Add a service to the workspace by provisioning its package. - */ - public function addService(string $featureCode): void - { - $workspace = $this->workspace; - - if (! $workspace) { - session()->flash('error', 'No workspace found.'); - - return; - } - - // Get service definition to get the name - $serviceCard = collect($this->serviceCards)->firstWhere('feature', $featureCode); - - if (! $serviceCard) { - session()->flash('error', 'Service not found.'); - - return; - } - - // Find or create the feature - $feature = Feature::firstOrCreate( - ['code' => $featureCode], - [ - 'name' => $serviceCard['name'].' Access', - 'description' => "Access to {$serviceCard['name']}", - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'is_active' => true, - 'sort_order' => 1, - ] - ); - - // Find or create a package for this specific service - $packageCode = str_replace('.', '-', $featureCode).'-access'; - $package = Package::firstOrCreate( - ['code' => $packageCode], - [ - 'name' => $feature->name, - 'description' => "Access to {$feature->name}", - 'is_stackable' => true, - 'is_base_package' => false, - 'is_active' => true, - 'is_public' => false, - 'sort_order' => 99, - ] - ); - - // Attach feature to package if not already - if (! $package->features()->where('feature_id', $feature->id)->exists()) { - $package->features()->attach($feature->id, ['limit_value' => null]); - } - - // Provision the package to the workspace - $this->entitlements->provisionPackage($workspace, $packageCode, [ - 'source' => 'user', - 'metadata' => ['added_via' => 'site_settings_page'], - ]); - - // Clear caches - Cache::flush(); - - session()->flash('success', "{$feature->name} has been added to your site."); - } - - /** - * Switch to a different tab. - */ - public function switchTab(string $tab): void - { - if (array_key_exists($tab, $this->tabs)) { - $this->tab = $tab; - } - } - - public function render(): View - { - return view('hub::admin.site-settings'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Sites.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/Sites.php deleted file mode 100644 index e6f2a5f..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/Sites.php +++ /dev/null @@ -1,282 +0,0 @@ -workspaceService = $workspaceService; - $this->entitlements = $entitlements; - } - - #[Computed] - public function workspace(): ?Workspace - { - return $this->workspaceService->currentModel(); - } - - #[Computed] - public function workspaceSlug(): string - { - return $this->workspace?->slug ?? ''; - } - - #[On('workspace-changed')] - public function refreshWorkspace(): void - { - unset($this->workspace); - unset($this->workspaceSlug); - unset($this->serviceCards); - unset($this->tabs); - } - - #[Computed] - public function tabs(): array - { - return [ - 'services' => [ - 'label' => 'Services', - 'icon' => 'puzzle-piece', - 'href' => route('hub.sites').'?tab=services', - ], - 'general' => [ - 'label' => 'General', - 'icon' => 'gear', - 'href' => route('hub.sites').'?tab=general', - ], - 'deployment' => [ - 'label' => 'Deployment', - 'icon' => 'rocket', - 'href' => route('hub.sites').'?tab=deployment', - ], - 'environment' => [ - 'label' => 'Environment', - 'icon' => 'key', - 'href' => route('hub.sites').'?tab=environment', - ], - 'ssl' => [ - 'label' => 'SSL & Security', - 'icon' => 'shield-check', - 'href' => route('hub.sites').'?tab=ssl', - ], - 'backups' => [ - 'label' => 'Backups', - 'icon' => 'cloud-arrow-up', - 'href' => route('hub.sites').'?tab=backups', - ], - 'danger' => [ - 'label' => 'Danger Zone', - 'icon' => 'triangle-exclamation', - 'href' => route('hub.sites').'?tab=danger', - ], - ]; - } - - #[Computed] - public function serviceCards(): array - { - $workspace = $this->workspace; - - $services = [ - [ - 'name' => 'Bio', - 'description' => 'Bio pages, short links & QR codes', - 'icon' => 'link', - 'color' => 'violet', - 'slug' => 'bio', - 'feature' => 'core.srv.bio', - 'adminRoute' => route('hub.services', ['service' => 'bio']), - 'features' => [ - 'Unlimited bio pages', - 'Custom domains', - 'Link analytics', - 'QR code generation', - ], - ], - [ - 'name' => 'Social', - 'description' => 'Social media scheduling & management', - 'icon' => 'share-nodes', - 'color' => 'blue', - 'slug' => 'social', - 'feature' => 'core.srv.social', - 'adminRoute' => route('hub.services', ['service' => 'social']), - 'features' => [ - 'Multi-platform posting', - 'Content calendar', - 'Team approvals', - 'Analytics & insights', - ], - ], - [ - 'name' => 'Analytics', - 'description' => 'Privacy-focused website analytics', - 'icon' => 'chart-line', - 'color' => 'cyan', - 'slug' => 'analytics', - 'feature' => 'core.srv.analytics', - 'adminRoute' => route('hub.services', ['service' => 'analytics']), - 'features' => [ - 'Real-time visitors', - 'Goal tracking', - 'Heatmaps', - 'Session replays', - ], - ], - [ - 'name' => 'Trust', - 'description' => 'Social proof & conversion widgets', - 'icon' => 'shield-check', - 'color' => 'orange', - 'slug' => 'trust', - 'feature' => 'core.srv.trust', - 'adminRoute' => route('hub.services', ['service' => 'trust']), - 'features' => [ - 'Purchase notifications', - 'Review widgets', - 'Visitor counts', - 'Custom campaigns', - ], - ], - [ - 'name' => 'Notify', - 'description' => 'Push notifications & campaigns', - 'icon' => 'bell', - 'color' => 'yellow', - 'slug' => 'notify', - 'feature' => 'core.srv.notify', - 'adminRoute' => route('hub.services', ['service' => 'notify']), - 'features' => [ - 'Browser push notifications', - 'Subscriber management', - 'Campaign scheduling', - 'Delivery analytics', - ], - ], - [ - 'name' => 'Support', - 'description' => 'Help desk & live chat', - 'icon' => 'headset', - 'color' => 'teal', - 'slug' => 'support', - 'feature' => 'core.srv.support', - 'adminRoute' => route('hub.support.inbox'), - 'features' => [ - 'Email ticketing', - 'Live chat widget', - 'Knowledge base', - 'Team collaboration', - ], - ], - ]; - - return collect($services)->map(function ($service) use ($workspace) { - $service['entitled'] = $workspace - ? $this->entitlements->can($workspace, $service['feature'])->isAllowed() - : false; - - return $service; - })->all(); - } - - public function addService(string $featureCode): void - { - $workspace = $this->workspace; - - if (! $workspace) { - session()->flash('error', 'No workspace found.'); - - return; - } - - $serviceCard = collect($this->serviceCards)->firstWhere('feature', $featureCode); - - if (! $serviceCard) { - session()->flash('error', 'Service not found.'); - - return; - } - - $feature = Feature::firstOrCreate( - ['code' => $featureCode], - [ - 'name' => $serviceCard['name'].' Access', - 'description' => "Access to {$serviceCard['name']}", - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'is_active' => true, - 'sort_order' => 1, - ] - ); - - $packageCode = str_replace('.', '-', $featureCode).'-access'; - $package = Package::firstOrCreate( - ['code' => $packageCode], - [ - 'name' => $feature->name, - 'description' => "Access to {$feature->name}", - 'is_stackable' => true, - 'is_base_package' => false, - 'is_active' => true, - 'is_public' => false, - 'sort_order' => 99, - ] - ); - - if (! $package->features()->where('feature_id', $feature->id)->exists()) { - $package->features()->attach($feature->id, ['limit_value' => null]); - } - - $this->entitlements->provisionPackage($workspace, $packageCode, [ - 'source' => 'user', - 'metadata' => ['added_via' => 'site_settings_page'], - ]); - - Cache::flush(); - - session()->flash('success', "{$feature->name} has been added to your site."); - } - - public function switchTab(string $tab): void - { - if (array_key_exists($tab, $this->tabs)) { - $this->tab = $tab; - } - } - - public function render(): View - { - return view('hub::admin.site-settings'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/UsageDashboard.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/UsageDashboard.php deleted file mode 100644 index 169cccb..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/UsageDashboard.php +++ /dev/null @@ -1,41 +0,0 @@ -defaultHostWorkspace(); - - if (! $workspace) { - $this->usageSummary = collect(); - $this->activePackages = collect(); - $this->activeBoosts = collect(); - - return; - } - - $this->usageSummary = $entitlementService->getUsageSummary($workspace); - $this->activePackages = $entitlementService->getActivePackages($workspace); - $this->activeBoosts = $entitlementService->getActiveBoosts($workspace); - } - - public function render() - { - return view('hub::admin.usage-dashboard') - ->layout('hub::admin.layouts.app', ['title' => 'Usage']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/WaitlistManager.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/WaitlistManager.php deleted file mode 100644 index 1d68f98..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/WaitlistManager.php +++ /dev/null @@ -1,330 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for waitlist management.'); - } - - $this->refreshStats(); - } - - public function updatingSearch(): void - { - $this->resetPage(); - } - - public function updatedSelectAll(bool $value): void - { - if ($value) { - $this->selected = $this->getFilteredQuery()->pluck('id')->toArray(); - } else { - $this->selected = []; - } - } - - /** - * Send invite to a single entry. - */ - public function sendInvite(int $id): void - { - $entry = WaitlistEntry::findOrFail($id); - - if ($entry->isInvited()) { - session()->flash('error', 'This person has already been invited.'); - - return; - } - - $entry->generateInviteCode(); - $entry->notify(new WaitlistInviteNotification($entry)); - - session()->flash('message', "Invite sent to {$entry->email}"); - $this->refreshStats(); - } - - /** - * Send invites to selected entries. - */ - public function sendBulkInvites(): void - { - $entries = WaitlistEntry::whereIn('id', $this->selected) - ->whereNull('invited_at') - ->get(); - - if ($entries->isEmpty()) { - session()->flash('error', 'No pending entries selected.'); - - return; - } - - $count = 0; - foreach ($entries as $entry) { - $entry->generateInviteCode(); - $entry->notify(new WaitlistInviteNotification($entry)); - $count++; - } - - $this->selected = []; - $this->selectAll = false; - - session()->flash('message', "Sent {$count} invite(s) successfully."); - $this->refreshStats(); - } - - /** - * Resend invite to an already-invited entry. - */ - public function resendInvite(int $id): void - { - $entry = WaitlistEntry::findOrFail($id); - - if (! $entry->isInvited()) { - session()->flash('error', 'This person has not been invited yet.'); - - return; - } - - if ($entry->hasConverted()) { - session()->flash('error', 'This person has already registered.'); - - return; - } - - $entry->notify(new WaitlistInviteNotification($entry)); - - session()->flash('message', "Invite resent to {$entry->email}"); - } - - /** - * Delete a waitlist entry. - */ - public function delete(int $id): void - { - $entry = WaitlistEntry::findOrFail($id); - - if ($entry->hasConverted()) { - session()->flash('error', 'Cannot delete entries that have converted to users.'); - - return; - } - - $entry->delete(); - - session()->flash('message', 'Entry deleted.'); - $this->refreshStats(); - } - - /** - * Add manual note to entry. - */ - public function addNote(int $id, string $note): void - { - $entry = WaitlistEntry::findOrFail($id); - $entry->update(['notes' => $note]); - - session()->flash('message', 'Note saved.'); - } - - /** - * Export waitlist as CSV. - */ - public function export() - { - $entries = $this->getFilteredQuery()->get(); - - $csv = "Email,Name,Interest,Source,Status,Signed Up,Invited,Registered\n"; - - foreach ($entries as $entry) { - $status = $entry->hasConverted() ? 'Converted' : ($entry->isInvited() ? 'Invited' : 'Pending'); - $csv .= sprintf( - "%s,%s,%s,%s,%s,%s,%s,%s\n", - $entry->email, - $entry->name ?? '', - $entry->interest ?? '', - $entry->source ?? '', - $status, - $entry->created_at->format('Y-m-d'), - $entry->invited_at?->format('Y-m-d') ?? '', - $entry->registered_at?->format('Y-m-d') ?? '' - ); - } - - return response()->streamDownload(function () use ($csv) { - echo $csv; - }, 'waitlist-export-'.now()->format('Y-m-d').'.csv', [ - 'Content-Type' => 'text/csv', - ]); - } - - protected function refreshStats(): void - { - $this->totalCount = WaitlistEntry::count(); - $this->pendingCount = WaitlistEntry::pending()->count(); - $this->invitedCount = WaitlistEntry::invited()->count(); - $this->convertedCount = WaitlistEntry::converted()->count(); - } - - protected function getFilteredQuery() - { - return WaitlistEntry::query() - ->when($this->search, function ($query) { - $query->where(function ($q) { - $q->where('email', 'like', "%{$this->search}%") - ->orWhere('name', 'like', "%{$this->search}%"); - }); - }) - ->when($this->statusFilter === 'pending', fn ($q) => $q->pending()) - ->when($this->statusFilter === 'invited', fn ($q) => $q->invited()) - ->when($this->statusFilter === 'converted', fn ($q) => $q->converted()) - ->when($this->interestFilter, fn ($q) => $q->where('interest', $this->interestFilter)) - ->latest(); - } - - #[Computed] - public function entries() - { - return $this->getFilteredQuery()->paginate(25); - } - - #[Computed] - public function interests(): array - { - return WaitlistEntry::select('interest') - ->whereNotNull('interest') - ->distinct() - ->pluck('interest') - ->mapWithKeys(fn ($i) => [$i => ucfirst($i)]) - ->all(); - } - - #[Computed] - public function statusOptions(): array - { - return [ - 'pending' => 'Pending invite', - 'invited' => 'Invited (not registered)', - 'converted' => 'Converted to user', - ]; - } - - #[Computed] - public function tableColumns(): array - { - return [ - ['label' => '', 'width' => 'w-12'], - 'Email', - 'Name', - 'Interest', - 'Source', - ['label' => 'Status', 'align' => 'center'], - 'Signed up', - ['label' => 'Actions', 'align' => 'center'], - ]; - } - - #[Computed] - public function tableRows(): array - { - return $this->entries->map(function ($e) { - // Status badge - if ($e->hasConverted()) { - $statusBadge = ['badge' => 'Converted', 'color' => 'green']; - $statusExtra = $e->user ? ['muted' => $e->registered_at->diffForHumans()] : null; - } elseif ($e->isInvited()) { - $statusBadge = ['badge' => 'Invited', 'color' => 'blue']; - $statusExtra = ['muted' => $e->invited_at->diffForHumans()]; - } else { - $statusBadge = ['badge' => 'Pending', 'color' => 'amber']; - $statusExtra = null; - } - - // Actions - $actions = []; - if ($e->hasConverted()) { - if ($e->user) { - $actions[] = ['icon' => 'user', 'href' => route('admin.platform.user', $e->user_id), 'title' => 'View user']; - } - } elseif ($e->isInvited()) { - $actions[] = ['icon' => 'arrow-path', 'click' => "resendInvite({$e->id})", 'title' => 'Resend invite']; - } else { - $actions[] = ['icon' => 'paper-airplane', 'click' => "sendInvite({$e->id})", 'title' => 'Send invite', 'variant' => 'primary']; - } - if (! $e->hasConverted()) { - $actions[] = ['icon' => 'trash', 'click' => "delete({$e->id})", 'confirm' => 'Are you sure you want to delete this waitlist entry?', 'title' => 'Delete', 'class' => 'text-red-600']; - } - - // Checkbox cell (custom HTML) - $checkboxCell = ! $e->hasConverted() - ? ['html' => ''] - : ''; - - return [ - $checkboxCell, - [ - 'lines' => array_filter([ - ['bold' => $e->email], - $e->invite_code ? ['mono' => $e->invite_code] : null, - ]), - ], - $e->name ?? ['muted' => '-'], - $e->interest ? ['badge' => ucfirst($e->interest), 'color' => 'purple'] : ['muted' => '-'], - ['muted' => $e->source ?? 'direct'], - $statusExtra ? ['lines' => [$statusBadge, $statusExtra]] : $statusBadge, - [ - 'lines' => [ - ['bold' => $e->created_at->format('d M Y')], - ['muted' => $e->created_at->diffForHumans()], - ], - ], - ['actions' => $actions], - ]; - })->all(); - } - - public function render() - { - return view('hub::admin.waitlist-manager') - ->layout('hub::admin.layouts.app', ['title' => 'Waitlist']); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/WorkspaceSwitcher.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/WorkspaceSwitcher.php deleted file mode 100644 index d5d2d53..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/WorkspaceSwitcher.php +++ /dev/null @@ -1,75 +0,0 @@ -url() returns /livewire/update during updates. - */ - public string $returnUrl = ''; - - protected WorkspaceService $workspaceService; - - public function boot(WorkspaceService $workspaceService): void - { - $this->workspaceService = $workspaceService; - } - - public function mount(): void - { - $this->workspaces = $this->workspaceService->all(); - $this->current = $this->workspaceService->current(); - - // Capture the current URL on mount (initial page load) - // This is the page URL, not the Livewire endpoint - $this->returnUrl = url()->current(); - } - - /** - * Refresh workspace data when a workspace is activated elsewhere. - */ - #[On('workspace-activated')] - public function refreshWorkspaces(): void - { - $this->workspaces = $this->workspaceService->all(); - $this->current = $this->workspaceService->current(); - } - - public function switchWorkspace(string $slug): void - { - $result = $this->workspaceService->setCurrent($slug); - - if (! $result) { - // User doesn't have access to this workspace - return; - } - - $this->current = $this->workspaceService->current(); - $this->open = false; - - // Dispatch event to refresh any workspace-aware components - $this->dispatch('workspace-changed', workspace: $slug); - - // Redirect to the page we were on (captured during mount) - $this->redirect($this->returnUrl ?: route('hub.dashboard')); - } - - public function render() - { - return view('hub::admin.workspace-switcher'); - } -} diff --git a/packages/core-admin/src/Website/Hub/View/Modal/Admin/WpConnectorSettings.php b/packages/core-admin/src/Website/Hub/View/Modal/Admin/WpConnectorSettings.php deleted file mode 100644 index a1fb540..0000000 --- a/packages/core-admin/src/Website/Hub/View/Modal/Admin/WpConnectorSettings.php +++ /dev/null @@ -1,136 +0,0 @@ -workspace = $workspace; - $this->enabled = $workspace->wp_connector_enabled; - $this->wordpressUrl = $workspace->wp_connector_url ?? ''; - } - - #[Computed] - public function webhookUrl(): string - { - return $this->workspace->wp_connector_webhook_url; - } - - #[Computed] - public function webhookSecret(): string - { - return $this->workspace->wp_connector_secret ?? ''; - } - - #[Computed] - public function isVerified(): bool - { - return $this->workspace->wp_connector_verified_at !== null; - } - - #[Computed] - public function lastSync(): ?string - { - return $this->workspace->wp_connector_last_sync?->diffForHumans(); - } - - public function save(): void - { - $this->validate([ - 'wordpressUrl' => 'nullable|url', - ]); - - if ($this->enabled && empty($this->wordpressUrl)) { - Flux::toast('WordPress URL is required when connector is enabled', variant: 'danger'); - - return; - } - - if ($this->enabled) { - $this->workspace->enableWpConnector($this->wordpressUrl); - Flux::toast('WordPress connector enabled'); - } else { - $this->workspace->disableWpConnector(); - Flux::toast('WordPress connector disabled'); - } - - $this->workspace->refresh(); - } - - public function regenerateSecret(): void - { - $this->workspace->generateWpConnectorSecret(); - $this->workspace->refresh(); - - Flux::toast('Webhook secret regenerated. Update the secret in your WordPress plugin.'); - } - - public function testConnection(): void - { - $this->testing = true; - $this->testResult = null; - - if (empty($this->workspace->wp_connector_url)) { - $this->testResult = 'WordPress URL is not configured'; - $this->testSuccess = false; - $this->testing = false; - - return; - } - - try { - // Try to reach the WordPress REST API - $response = Http::timeout(10)->get( - $this->workspace->wp_connector_url.'/wp-json/wp/v2' - ); - - if ($response->successful()) { - $this->testResult = 'Connected to WordPress REST API'; - $this->testSuccess = true; - $this->workspace->markWpConnectorVerified(); - } else { - $this->testResult = 'WordPress returned HTTP '.$response->status(); - $this->testSuccess = false; - } - } catch (\Exception $e) { - $this->testResult = 'Connection failed: '.$e->getMessage(); - $this->testSuccess = false; - } - - $this->testing = false; - $this->workspace->refresh(); - } - - public function copyToClipboard(string $value): void - { - $this->dispatch('copy-to-clipboard', text: $value); - Flux::toast('Copied to clipboard'); - } - - public function render(): View - { - return view('hub::admin.wp-connector-settings'); - } -} diff --git a/packages/core-api/README.md b/packages/core-api/README.md deleted file mode 100644 index 4fc8ca1..0000000 --- a/packages/core-api/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# Core API Package - -REST API infrastructure with OpenAPI documentation, rate limiting, webhook signing, and secure API key management. - -## Installation - -```bash -composer require host-uk/core-api -``` - -## Features - -### OpenAPI/Swagger Documentation -Auto-generated API documentation with multiple UI options: - -```php -use Core\Mod\Api\Documentation\Attributes\{ApiTag, ApiResponse}; - -#[ApiTag('Products')] -#[ApiResponse(200, ProductResource::class)] -class ProductController extends Controller -{ - public function index() - { - return ProductResource::collection(Product::paginate()); - } -} -``` - -**Access documentation:** -- `GET /api/docs` - Scalar UI (default) -- `GET /api/docs/swagger` - Swagger UI -- `GET /api/docs/redoc` - ReDoc -- `GET /api/docs/openapi.json` - OpenAPI spec - -### Secure API Keys -Bcrypt hashing with backward compatibility: - -```php -use Core\Mod\Api\Models\ApiKey; - -$key = ApiKey::create([ - 'name' => 'Production API', - 'workspace_id' => $workspace->id, - 'scopes' => ['read', 'write'], -]); - -// Returns the plain key (shown only once) -$plainKey = $key->getPlainKey(); -``` - -**Features:** -- Bcrypt hashing for new keys -- Legacy SHA-256 support -- Key rotation with grace periods -- Scope-based permissions - -### Rate Limiting -Granular rate limiting per endpoint: - -```php -use Core\Mod\Api\RateLimit\RateLimit; - -#[RateLimit(limit: 100, window: 60, burst: 1.2)] -class ProductController extends Controller -{ - // Limited to 100 requests per 60 seconds - // With 20% burst allowance -} -``` - -**Features:** -- Per-endpoint limits -- Workspace isolation -- Tier-based limits -- Standard headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` - -### Webhook Signing -HMAC-SHA256 signatures for outbound webhooks: - -```php -use Core\Mod\Api\Models\WebhookEndpoint; - -$endpoint = WebhookEndpoint::create([ - 'url' => 'https://example.com/webhooks', - 'events' => ['order.created', 'order.updated'], - 'secret' => WebhookEndpoint::generateSecret(), -]); -``` - -**Verification:** -```php -$signature = hash_hmac('sha256', $timestamp . '.' . $payload, $secret); -hash_equals($signature, $request->header('X-Webhook-Signature')); -``` - -### Scope Enforcement -Fine-grained API permissions: - -```php -use Core\Mod\Api\Middleware\EnforceApiScope; - -Route::middleware(['api', EnforceApiScope::class.':write']) - ->post('/products', [ProductController::class, 'store']); -``` - -## Configuration - -```php -// config/api.php (after php artisan vendor:publish --tag=api-config) - -return [ - 'rate_limits' => [ - 'default' => 60, - 'tiers' => [ - 'free' => 100, - 'pro' => 1000, - 'enterprise' => 10000, - ], - ], - 'docs' => [ - 'enabled' => env('API_DOCS_ENABLED', true), - 'require_auth' => env('API_DOCS_REQUIRE_AUTH', false), - ], -]; -``` - -## API Guides - -The package includes comprehensive guides: - -- **Authentication** - API key creation and usage -- **Quick Start** - Getting started in 5 minutes -- **Rate Limiting** - Understanding limits and tiers -- **Webhooks** - Setting up and verifying webhooks -- **Errors** - Error codes and handling - -Access at: `/api/guides` - -## Requirements - -- PHP 8.2+ -- Laravel 11+ or 12+ - -## Changelog - -See [changelog/2026/jan/features.md](changelog/2026/jan/features.md) for recent changes. - -## Security - -See [changelog/2026/jan/security.md](changelog/2026/jan/security.md) for security updates. - -## License - -EUPL-1.2 - See [LICENSE](../../LICENSE) for details. diff --git a/packages/core-api/TODO.md b/packages/core-api/TODO.md deleted file mode 100644 index fa18354..0000000 --- a/packages/core-api/TODO.md +++ /dev/null @@ -1,246 +0,0 @@ -# Core-API TODO - -## Testing & Quality Assurance - -### High Priority - -- [ ] **Test Coverage: API Key Security** - Test bcrypt hashing and rotation - - [ ] Test API key creation with bcrypt hashing - - [ ] Test API key authentication - - [ ] Test key rotation with grace period - - [ ] Test key revocation - - [ ] Test scoped key access - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Webhook System** - Test delivery and signatures - - [ ] Test webhook endpoint registration - - [ ] Test HMAC-SHA256 signature generation - - [ ] Test signature verification - - [ ] Test webhook delivery retry logic - - [ ] Test exponential backoff - - [ ] Test delivery status tracking - - **Estimated effort:** 4-5 hours - -- [ ] **Test Coverage: Rate Limiting** - Test tier-based limits - - [ ] Test per-tier rate limits - - [ ] Test rate limit headers - - [ ] Test quota exceeded responses - - [ ] Test workspace-scoped limits - - [ ] Test burst allowance - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Scope Enforcement** - Test permission system - - [ ] Test EnforceApiScope middleware - - [ ] Test wildcard scopes (posts:*, *:read) - - [ ] Test scope inheritance - - [ ] Test scope validation errors - - **Estimated effort:** 3-4 hours - -### Medium Priority - -- [ ] **Test Coverage: OpenAPI Documentation** - Test spec generation - - [ ] Test OpenApiBuilder with controller scanning - - [ ] Test #[ApiParameter] attribute parsing - - [ ] Test #[ApiResponse] rendering - - [ ] Test #[ApiSecurity] requirements - - [ ] Test #[ApiHidden] filtering - - [ ] Test extension system - - **Estimated effort:** 4-5 hours - -- [ ] **Test Coverage: Usage Alerts** - Test quota monitoring - - [ ] Test CheckApiUsageAlerts command - - [ ] Test HighApiUsageNotification delivery - - [ ] Test usage alert thresholds - - [ ] Test alert history tracking - - **Estimated effort:** 2-3 hours - -### Low Priority - -- [ ] **Test Coverage: Webhook Payload Validation** - Test request validation - - [ ] Test payload size limits - - [ ] Test content-type validation - - [ ] Test malformed JSON handling - - **Estimated effort:** 2-3 hours - -## Features & Enhancements - -### High Priority - -- [ ] **Feature: API Versioning** - Support multiple API versions - - [ ] Implement version routing (v1, v2) - - [ ] Add version deprecation warnings - - [ ] Support version-specific transformers - - [ ] Document migration between versions - - [ ] Test backward compatibility - - **Estimated effort:** 6-8 hours - - **Files:** `src/Mod/Api/Versioning/` - -- [ ] **Feature: GraphQL API** - Alternative to REST - - [ ] Implement GraphQL schema generation - - [ ] Add query resolver system - - [ ] Support mutations - - [ ] Add introspection - - [ ] Test complex nested queries - - **Estimated effort:** 12-16 hours - - **Files:** `src/Mod/Api/GraphQL/` - -- [ ] **Feature: Batch Operations** - Bulk API requests - - [ ] Support batched requests - - [ ] Implement atomic batch transactions - - [ ] Add batch size limits - - [ ] Test error handling in batches - - **Estimated effort:** 4-6 hours - - **Files:** `src/Mod/Api/Batch/` - -### Medium Priority - -- [ ] **Enhancement: Webhook Transformers** - Custom payload formatting - - [ ] Create transformer interface - - [ ] Support per-endpoint transformers - - [ ] Add JSON-LD format support - - [ ] Test with complex data structures - - **Estimated effort:** 3-4 hours - - **Files:** `src/Mod/Api/Webhooks/Transformers/` - -- [ ] **Enhancement: API Analytics** - Detailed usage metrics - - [ ] Track API calls per endpoint - - [ ] Monitor response times - - [ ] Track error rates - - [ ] Create admin dashboard - - [ ] Add export to CSV - - **Estimated effort:** 5-6 hours - - **Files:** `src/Mod/Api/Analytics/` - -- [ ] **Enhancement: Request Throttling Strategies** - Advanced rate limiting - - [ ] Implement sliding window algorithm - - [ ] Add burst allowance - - [ ] Support custom throttle strategies - - [ ] Add per-endpoint rate limits - - **Estimated effort:** 4-5 hours - - **Files:** `src/Mod/Api/RateLimit/Strategies/` - -### Low Priority - -- [ ] **Enhancement: API Client SDK Generator** - Auto-generate SDKs - - [ ] Generate PHP SDK from OpenAPI - - [ ] Generate JavaScript SDK - - [ ] Generate Python SDK - - [ ] Add usage examples - - **Estimated effort:** 8-10 hours - - **Files:** `src/Mod/Api/Sdk/` - -- [ ] **Enhancement: Webhook Retry Dashboard** - Visual delivery monitoring - - [ ] Create delivery status dashboard - - [ ] Add manual retry button - - [ ] Show delivery timeline - - [ ] Export delivery logs - - **Estimated effort:** 3-4 hours - - **Files:** `src/Website/Api/Components/` - -## Security - -### High Priority - -- [ ] **Security: API Key IP Whitelisting** - Restrict key usage - - [ ] Add allowed_ips column to api_keys - - [ ] Validate request IP against whitelist - - [ ] Test with IPv4 and IPv6 - - [ ] Add CIDR notation support - - **Estimated effort:** 3-4 hours - -- [ ] **Security: Request Signing** - Prevent replay attacks - - [ ] Implement timestamp validation - - [ ] Add nonce tracking - - [ ] Support custom signing algorithms - - [ ] Test with clock skew - - **Estimated effort:** 4-5 hours - -### Medium Priority - -- [ ] **Security: Webhook Mutual TLS** - Secure webhook delivery - - [ ] Add client certificate support - - [ ] Implement certificate validation - - [ ] Test with self-signed certs - - **Estimated effort:** 4-5 hours - -- [ ] **Audit: API Permission Model** - Review scope granularity - - [ ] Audit all API scopes - - [ ] Ensure least-privilege defaults - - [ ] Document scope requirements - - [ ] Test scope escalation attempts - - **Estimated effort:** 3-4 hours - -## Documentation - -- [x] **Guide: Building REST APIs** - Complete tutorial - - [x] Document resource creation - - [x] Show pagination best practices - - [x] Explain filtering and sorting - - [x] Add authentication examples - - **Completed:** January 2026 - - **File:** `docs/packages/api/building-rest-apis.md` - -- [x] **Guide: Webhook Integration** - For API consumers - - [x] Document signature verification - - [x] Show retry handling - - [x] Explain event types - - [x] Add code examples (PHP, JS, Python) - - **Completed:** January 2026 - - **File:** `docs/packages/api/webhook-integration.md` - -- [x] **API Reference: All Endpoints** - Complete OpenAPI spec - - [x] Document all request parameters - - [x] Add response examples - - [x] Show error responses - - [x] Include authentication notes - - **Completed:** January 2026 - - **File:** `docs/packages/api/endpoints-reference.md` - -## Code Quality - -- [ ] **Refactor: Extract Rate Limiter** - Reusable rate limiting - - [ ] Create standalone RateLimiter service - - [ ] Support multiple backends (Redis, DB, memory) - - [ ] Add configurable strategies - - [ ] Test with high concurrency - - **Estimated effort:** 3-4 hours - -- [ ] **Refactor: Webhook Queue Priority** - Prioritize critical webhooks - - [ ] Add priority field to webhooks - - [ ] Implement priority queue - - [ ] Test delivery order - - **Estimated effort:** 2-3 hours - -- [ ] **PHPStan: Fix Level 5 Errors** - Improve type safety - - [ ] Fix array shape types in resources - - [ ] Add missing return types - - [ ] Fix property type declarations - - **Estimated effort:** 2-3 hours - -## Performance - -- [ ] **Optimization: Response Caching** - Cache GET requests - - [ ] Implement HTTP cache headers - - [ ] Add ETag support - - [ ] Support cache invalidation - - [ ] Test with CDN - - **Estimated effort:** 3-4 hours - -- [ ] **Optimization: Database Query Reduction** - Eager load relationships - - [ ] Audit N+1 queries in resources - - [ ] Add eager loading - - [ ] Benchmark before/after - - **Estimated effort:** 2-3 hours - ---- - -## Completed (January 2026) - -- [x] **API Key Hashing** - Bcrypt hashing for all API keys -- [x] **Webhook Signatures** - HMAC-SHA256 signature verification -- [x] **Scope System** - Fine-grained API permissions -- [x] **Rate Limiting** - Tier-based rate limits with usage alerts -- [x] **OpenAPI Documentation** - Auto-generated API docs with Swagger/Scalar/ReDoc -- [x] **Documentation** - Complete API package documentation - -*See `changelog/2026/jan/` for completed features.* diff --git a/packages/core-api/changelog/2026/jan/features.md b/packages/core-api/changelog/2026/jan/features.md deleted file mode 100644 index dca84c4..0000000 --- a/packages/core-api/changelog/2026/jan/features.md +++ /dev/null @@ -1,122 +0,0 @@ -# Core-API - January 2026 - -## Features Implemented - -### Webhook Signing (Outbound) - -HMAC-SHA256 signatures with timestamp for replay attack protection. - -**Files:** -- `Services/WebhookSignature.php` - Sign/verify service -- `Models/WebhookEndpoint.php` - Signature methods -- `Models/WebhookDelivery.php` - Headers in payload - -**Headers:** -| Header | Description | -|--------|-------------| -| `X-Webhook-Signature` | HMAC-SHA256 (64 hex chars) | -| `X-Webhook-Timestamp` | Unix timestamp | -| `X-Webhook-Event` | Event type | -| `X-Webhook-Id` | Unique delivery ID | - -**Verification:** -```php -$signature = hash_hmac('sha256', $timestamp . '.' . $payload, $secret); -hash_equals($signature, $headerSignature); -``` - ---- - -### API Key Security - -Secure bcrypt hashing with backward compatibility for legacy SHA-256 keys. - -**Files:** -- `Models/ApiKey.php` - Secure hashing, rotation, grace periods -- `Migrations/2026_01_27_*` - Added hash_algorithm column - -**Features:** -- New keys use `Hash::make()` (bcrypt) -- Legacy keys continue working -- Key rotation with grace periods -- Scopes: `legacyHash()`, `secureHash()`, `inGracePeriod()` - ---- - -### Rate Limiting - -Granular rate limiting with sliding window algorithm. - -**Files:** -- `RateLimit/RateLimitService.php` - Sliding window service -- `RateLimit/RateLimitResult.php` - Result DTO -- `RateLimit/RateLimit.php` - PHP 8 attribute -- `Middleware/RateLimitApi.php` - Enhanced middleware -- `Exceptions/RateLimitExceededException.php` - -**Features:** -- Per-endpoint limits via `#[RateLimit]` attribute or config -- Per-workspace isolation -- Tier-based limits (free/starter/pro/agency/enterprise) -- Burst allowance (e.g., 20% over limit) -- Headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` - -**Usage:** -```php -#[RateLimit(limit: 100, window: 60, burst: 1.2)] -public function index() { ... } -``` - ---- - -### OpenAPI/Swagger Documentation - -Auto-generated API documentation with multiple UI options. - -**Files:** -- `Documentation/OpenApiBuilder.php` - Spec generator -- `Documentation/DocumentationController.php` - Routes -- `Documentation/Attributes/` - ApiTag, ApiResponse, ApiSecurity, ApiParameter, ApiHidden -- `Documentation/Extensions/` - WorkspaceHeader, RateLimit, ApiKeyAuth -- `Documentation/Views/` - Swagger, Scalar, ReDoc - -**Routes:** -| Route | Description | -|-------|-------------| -| `GET /api/docs` | Default UI (Scalar) | -| `GET /api/docs/swagger` | Swagger UI | -| `GET /api/docs/scalar` | Scalar API Reference | -| `GET /api/docs/redoc` | ReDoc | -| `GET /api/docs/openapi.json` | OpenAPI spec (JSON) | -| `GET /api/docs/openapi.yaml` | OpenAPI spec (YAML) | - -**Usage:** -```php -#[ApiTag('Users')] -#[ApiResponse(200, UserResource::class)] -#[ApiParameter('page', 'query', 'integer')] -public function index() { ... } -``` - -**Config:** `API_DOCS_ENABLED`, `API_DOCS_TITLE`, `API_DOCS_REQUIRE_AUTH` - ---- - -### Documentation Genericization - -Removed vendor-specific branding from API documentation. - -**Files:** -- `Website/Api/View/Blade/guides/authentication.blade.php` -- `Website/Api/View/Blade/guides/errors.blade.php` -- `Website/Api/View/Blade/guides/index.blade.php` -- `Website/Api/View/Blade/guides/qrcodes.blade.php` -- `Website/Api/View/Blade/guides/quickstart.blade.php` - -**Changes:** -- Replaced "Host UK API" with generic "API" -- Removed specific domain references (lt.hn) -- Replaced sign-up URLs with generic account requirements -- Made example URLs vendor-neutral - -**Impact:** Framework documentation is now vendor-agnostic and suitable for open-source distribution. diff --git a/packages/core-api/composer.json b/packages/core-api/composer.json deleted file mode 100644 index ca9ab32..0000000 --- a/packages/core-api/composer.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "host-uk/core-api", - "description": "REST API module for Core PHP framework", - "keywords": ["laravel", "api", "rest", "json"], - "license": "EUPL-1.2", - "require": { - "php": "^8.2", - "host-uk/core": "@dev", - "symfony/yaml": "^7.0" - }, - "autoload": { - "psr-4": { - "Core\\Mod\\Api\\": "src/Mod/Api/", - "Core\\Website\\Api\\": "src/Website/Api/" - } - }, - "extra": { - "laravel": { - "providers": [] - } - }, - "minimum-stability": "stable", - "prefer-stable": true -} diff --git a/packages/core-api/src/Mod/Api/Boot.php b/packages/core-api/src/Mod/Api/Boot.php deleted file mode 100644 index e02e0b6..0000000 --- a/packages/core-api/src/Mod/Api/Boot.php +++ /dev/null @@ -1,98 +0,0 @@ - - */ - public static array $listens = [ - ApiRoutesRegistering::class => 'onApiRoutes', - ConsoleBooting::class => 'onConsole', - ]; - - /** - * Register any application services. - */ - public function register(): void - { - $this->mergeConfigFrom( - __DIR__.'/config.php', - $this->moduleName - ); - - // Register RateLimitService as a singleton - $this->app->singleton(RateLimitService::class, function ($app) { - return new RateLimitService($app->make(CacheRepository::class)); - }); - - // Register API Documentation provider - $this->app->register(DocumentationServiceProvider::class); - } - - /** - * Bootstrap any application services. - */ - public function boot(): void - { - $this->loadMigrationsFrom(__DIR__.'/Migrations'); - } - - // ------------------------------------------------------------------------- - // Event-driven handlers - // ------------------------------------------------------------------------- - - public function onApiRoutes(ApiRoutesRegistering $event): void - { - // Middleware aliases registered via event - $event->middleware('api.auth', Middleware\AuthenticateApiKey::class); - $event->middleware('api.scope', Middleware\CheckApiScope::class); - $event->middleware('api.scope.enforce', Middleware\EnforceApiScope::class); - $event->middleware('api.rate', Middleware\RateLimitApi::class); - $event->middleware('auth.api', Middleware\AuthenticateApiKey::class); - - // Core API routes (SEO, Pixel, Entitlements, MCP) - if (file_exists(__DIR__.'/Routes/api.php')) { - $event->routes(fn () => Route::middleware('api')->group(__DIR__.'/Routes/api.php')); - } - } - - public function onConsole(ConsoleBooting $event): void - { - // Register middleware aliases for CLI context (artisan route:list etc) - $event->middleware('api.auth', Middleware\AuthenticateApiKey::class); - $event->middleware('api.scope', Middleware\CheckApiScope::class); - $event->middleware('api.scope.enforce', Middleware\EnforceApiScope::class); - $event->middleware('api.rate', Middleware\RateLimitApi::class); - $event->middleware('auth.api', Middleware\AuthenticateApiKey::class); - - // Register console commands - $event->command(Console\Commands\CleanupExpiredGracePeriods::class); - $event->command(Console\Commands\CheckApiUsageAlerts::class); - } -} diff --git a/packages/core-api/src/Mod/Api/Concerns/HasApiResponses.php b/packages/core-api/src/Mod/Api/Concerns/HasApiResponses.php deleted file mode 100644 index 1db3bf3..0000000 --- a/packages/core-api/src/Mod/Api/Concerns/HasApiResponses.php +++ /dev/null @@ -1,92 +0,0 @@ -json([ - 'error' => 'no_workspace', - 'message' => 'No workspace found. Please select a workspace first.', - ], 404); - } - - /** - * Return a resource not found response. - */ - protected function notFoundResponse(string $resource = 'Resource'): JsonResponse - { - return response()->json([ - 'error' => 'not_found', - 'message' => "{$resource} not found.", - ], 404); - } - - /** - * Return a feature limit reached response. - */ - protected function limitReachedResponse(string $feature, ?string $message = null): JsonResponse - { - return response()->json([ - 'error' => 'feature_limit_reached', - 'message' => $message ?? 'You have reached your limit for this feature.', - 'feature' => $feature, - 'upgrade_url' => route('hub.usage'), - ], 403); - } - - /** - * Return an access denied response. - */ - protected function accessDeniedResponse(string $message = 'Access denied.'): JsonResponse - { - return response()->json([ - 'error' => 'access_denied', - 'message' => $message, - ], 403); - } - - /** - * Return a success response with message. - */ - protected function successResponse(string $message, array $data = []): JsonResponse - { - return response()->json(array_merge([ - 'message' => $message, - ], $data)); - } - - /** - * Return a created response. - */ - protected function createdResponse(mixed $resource, string $message = 'Created successfully.'): JsonResponse - { - return response()->json([ - 'message' => $message, - 'data' => $resource, - ], 201); - } - - /** - * Return a validation error response. - */ - protected function validationErrorResponse(array $errors): JsonResponse - { - return response()->json([ - 'error' => 'validation_failed', - 'message' => 'The given data was invalid.', - 'errors' => $errors, - ], 422); - } -} diff --git a/packages/core-api/src/Mod/Api/Concerns/HasApiTokens.php b/packages/core-api/src/Mod/Api/Concerns/HasApiTokens.php deleted file mode 100644 index fb02590..0000000 --- a/packages/core-api/src/Mod/Api/Concerns/HasApiTokens.php +++ /dev/null @@ -1,76 +0,0 @@ - - */ - public function tokens(): HasMany - { - return $this->hasMany(UserToken::class); - } - - /** - * Create a new personal access token for the user. - * - * @param string $name Human-readable name for the token - * @param \DateTimeInterface|null $expiresAt Optional expiration date - * @return array{token: string, model: UserToken} Plain-text token and model instance - */ - public function createToken(string $name, ?\DateTimeInterface $expiresAt = null): array - { - // Generate a random 40-character token - $plainTextToken = Str::random(40); - - // Hash it for storage - $hashedToken = hash('sha256', $plainTextToken); - - // Create the token record - $token = $this->tokens()->create([ - 'name' => $name, - 'token' => $hashedToken, - 'expires_at' => $expiresAt, - ]); - - return [ - 'token' => $plainTextToken, - 'model' => $token, - ]; - } - - /** - * Revoke all tokens for this user. - * - * @return int Number of tokens deleted - */ - public function revokeAllTokens(): int - { - return $this->tokens()->delete(); - } - - /** - * Revoke a specific token by its ID. - * - * @return bool True if the token was deleted - */ - public function revokeToken(int $tokenId): bool - { - return (bool) $this->tokens()->where('id', $tokenId)->delete(); - } -} diff --git a/packages/core-api/src/Mod/Api/Concerns/ResolvesWorkspace.php b/packages/core-api/src/Mod/Api/Concerns/ResolvesWorkspace.php deleted file mode 100644 index 957958b..0000000 --- a/packages/core-api/src/Mod/Api/Concerns/ResolvesWorkspace.php +++ /dev/null @@ -1,84 +0,0 @@ -attributes->get('workspace'); - if ($workspace instanceof Workspace) { - return $workspace; - } - - // Check for explicit workspace_id - $workspaceId = $request->attributes->get('workspace_id') - ?? $request->input('workspace_id') - ?? $request->header('X-Workspace-Id'); - - if ($workspaceId) { - return $this->findWorkspaceForUser($request, (int) $workspaceId); - } - - // Fall back to user's default workspace - $user = $request->user(); - if ($user instanceof User) { - return $user->defaultHostWorkspace(); - } - - return null; - } - - /** - * Find a workspace by ID that the user has access to. - */ - protected function findWorkspaceForUser(Request $request, int $workspaceId): ?Workspace - { - $user = $request->user(); - - if (! $user instanceof User) { - return null; - } - - return $user->workspaces() - ->where('workspaces.id', $workspaceId) - ->first(); - } - - /** - * Get the authentication type. - */ - protected function getAuthType(Request $request): string - { - return $request->attributes->get('auth_type', 'session'); - } - - /** - * Check if authenticated via API key. - */ - protected function isApiKeyAuth(Request $request): bool - { - return $this->getAuthType($request) === 'api_key'; - } -} diff --git a/packages/core-api/src/Mod/Api/Console/Commands/CheckApiUsageAlerts.php b/packages/core-api/src/Mod/Api/Console/Commands/CheckApiUsageAlerts.php deleted file mode 100644 index 6163605..0000000 --- a/packages/core-api/src/Mod/Api/Console/Commands/CheckApiUsageAlerts.php +++ /dev/null @@ -1,291 +0,0 @@ -info('API usage alerts are disabled.'); - - return Command::SUCCESS; - } - - // Load thresholds from config (sorted by severity, critical first) - $this->thresholds = config('api.alerts.thresholds', [ - 'critical' => 95, - 'warning' => 80, - ]); - arsort($this->thresholds); - - $this->cooldownHours = config('api.alerts.cooldown_hours', self::DEFAULT_COOLDOWN_HOURS); - - $dryRun = $this->option('dry-run'); - $specificWorkspace = $this->option('workspace'); - - if ($dryRun) { - $this->warn('DRY RUN MODE - No notifications will be sent'); - $this->newLine(); - } - - // Get workspaces with active API keys - $query = Workspace::whereHas('apiKeys', function ($q) { - $q->active(); - }); - - if ($specificWorkspace) { - $query->where('id', $specificWorkspace); - } - - $workspaces = $query->get(); - - if ($workspaces->isEmpty()) { - $this->info('No workspaces with active API keys found.'); - - return Command::SUCCESS; - } - - $alertsSent = 0; - $alertsSkipped = 0; - - foreach ($workspaces as $workspace) { - $result = $this->checkWorkspaceUsage($workspace, $rateLimitService, $dryRun); - $alertsSent += $result['sent']; - $alertsSkipped += $result['skipped']; - } - - $this->newLine(); - $this->info("Alerts sent: {$alertsSent}"); - $this->info("Alerts skipped (cooldown): {$alertsSkipped}"); - - return Command::SUCCESS; - } - - /** - * Check usage for a workspace and send alerts if needed. - * - * @return array{sent: int, skipped: int} - */ - protected function checkWorkspaceUsage( - Workspace $workspace, - RateLimitService $rateLimitService, - bool $dryRun - ): array { - $sent = 0; - $skipped = 0; - - // Get rate limit config for this workspace's tier - $tier = $this->getWorkspaceTier($workspace); - $limitConfig = $this->getTierLimitConfig($tier); - - if (! $limitConfig) { - return ['sent' => 0, 'skipped' => 0]; - } - - // Check usage for each active API key - $apiKeys = $workspace->apiKeys()->active()->get(); - - foreach ($apiKeys as $apiKey) { - $key = $rateLimitService->buildApiKeyKey($apiKey->id); - $attempts = $rateLimitService->attempts($key, $limitConfig['window']); - $limit = (int) floor($limitConfig['limit'] * ($limitConfig['burst'] ?? 1.0)); - - if ($limit === 0) { - continue; - } - - $percentage = ($attempts / $limit) * 100; - - // Check thresholds (critical first, then warning) - foreach ($this->thresholds as $level => $threshold) { - if ($percentage >= $threshold) { - $cacheKey = $this->getCacheKey($workspace->id, $apiKey->id, $level); - - if (Cache::has($cacheKey)) { - $this->line(" [SKIP] {$workspace->name} - Key {$apiKey->prefix}: {$level} (cooldown)"); - $skipped++; - - break; // Don't check lower thresholds - } - - $this->line(" [ALERT] {$workspace->name} - Key {$apiKey->prefix}: {$level} ({$percentage}%)"); - - if (! $dryRun) { - $this->sendAlert($workspace, $apiKey, $level, $attempts, $limit, $limitConfig); - Cache::put($cacheKey, true, now()->addHours($this->cooldownHours)); - } - - $sent++; - - break; // Only send one alert per key (highest severity) - } - } - } - - return ['sent' => $sent, 'skipped' => $skipped]; - } - - /** - * Send alert notification to workspace owner. - */ - protected function sendAlert( - Workspace $workspace, - ApiKey $apiKey, - string $level, - int $currentUsage, - int $limit, - array $limitConfig - ): void { - $owner = $workspace->owner(); - - if (! $owner) { - $this->warn(" No owner found for workspace {$workspace->name}"); - - return; - } - - $period = $this->formatPeriod($limitConfig['window']); - - $owner->notify(new HighApiUsageNotification( - workspace: $workspace, - level: $level, - currentUsage: $currentUsage, - limit: $limit, - period: $period, - )); - } - - /** - * Get workspace tier for rate limiting. - */ - protected function getWorkspaceTier(Workspace $workspace): string - { - // Check for active package - $package = $workspace->workspacePackages() - ->active() - ->with('package') - ->first(); - - return $package?->package?->slug ?? 'free'; - } - - /** - * Get rate limit config for a tier. - * - * @return array{limit: int, window: int, burst: float}|null - */ - protected function getTierLimitConfig(string $tier): ?array - { - $config = config("api.rate_limits.tiers.{$tier}"); - - if (! $config) { - $config = config('api.rate_limits.tiers.free'); - } - - if (! $config) { - $config = config('api.rate_limits.authenticated'); - } - - if (! $config) { - return null; - } - - return [ - 'limit' => $config['limit'] ?? $config['requests'] ?? 60, - 'window' => $config['window'] ?? (($config['per_minutes'] ?? 1) * 60), - 'burst' => $config['burst'] ?? 1.0, - ]; - } - - /** - * Format window period for display. - */ - protected function formatPeriod(int $seconds): string - { - if ($seconds < 60) { - return "{$seconds} seconds"; - } - - $minutes = $seconds / 60; - - if ($minutes === 1.0) { - return 'minute'; - } - - if ($minutes < 60) { - return "{$minutes} minutes"; - } - - $hours = $minutes / 60; - - if ($hours === 1.0) { - return 'hour'; - } - - return "{$hours} hours"; - } - - /** - * Get cache key for notification cooldown. - */ - protected function getCacheKey(int $workspaceId, int $apiKeyId, string $level): string - { - return self::CACHE_PREFIX."{$workspaceId}:{$apiKeyId}:{$level}"; - } -} diff --git a/packages/core-api/src/Mod/Api/Console/Commands/CleanupExpiredGracePeriods.php b/packages/core-api/src/Mod/Api/Console/Commands/CleanupExpiredGracePeriods.php deleted file mode 100644 index 2cf5f26..0000000 --- a/packages/core-api/src/Mod/Api/Console/Commands/CleanupExpiredGracePeriods.php +++ /dev/null @@ -1,67 +0,0 @@ -option('dry-run'); - - if ($dryRun) { - $this->warn('DRY RUN MODE - No keys will be revoked'); - $this->newLine(); - - // Count keys that would be cleaned up - $count = \Mod\Api\Models\ApiKey::gracePeriodExpired() - ->whereNull('deleted_at') - ->count(); - - if ($count === 0) { - $this->info('No API keys with expired grace periods found.'); - } else { - $this->info("Would revoke {$count} API key(s) with expired grace periods."); - } - - return Command::SUCCESS; - } - - $this->info('Cleaning up API keys with expired grace periods...'); - - $count = $service->cleanupExpiredGracePeriods(); - - if ($count === 0) { - $this->info('No API keys with expired grace periods found.'); - } else { - $this->info("Revoked {$count} API key(s) with expired grace periods."); - } - - return Command::SUCCESS; - } -} diff --git a/packages/core-api/src/Mod/Api/Controllers/McpApiController.php b/packages/core-api/src/Mod/Api/Controllers/McpApiController.php deleted file mode 100644 index b980e51..0000000 --- a/packages/core-api/src/Mod/Api/Controllers/McpApiController.php +++ /dev/null @@ -1,625 +0,0 @@ -loadRegistry(); - - $servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values(); - - return response()->json([ - 'servers' => $servers, - 'count' => $servers->count(), - ]); - } - - /** - * Get server details with tools and resources. - * - * GET /api/v1/mcp/servers/{id} - */ - public function server(Request $request, string $id): JsonResponse - { - $server = $this->loadServerFull($id); - - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - return response()->json($server); - } - - /** - * List tools for a specific server. - * - * GET /api/v1/mcp/servers/{id}/tools - * - * Query params: - * - include_versions: bool - include version info for each tool - */ - public function tools(Request $request, string $id): JsonResponse - { - $server = $this->loadServerFull($id); - - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - $tools = $server['tools'] ?? []; - $includeVersions = $request->boolean('include_versions', false); - - // Optionally enrich tools with version information - if ($includeVersions) { - $versionService = app(ToolVersionService::class); - $tools = collect($tools)->map(function ($tool) use ($id, $versionService) { - $toolName = $tool['name'] ?? ''; - $latestVersion = $versionService->getLatestVersion($id, $toolName); - - $tool['versioning'] = [ - 'latest_version' => $latestVersion?->version ?? ToolVersionService::DEFAULT_VERSION, - 'is_versioned' => $latestVersion !== null, - 'deprecated' => $latestVersion?->is_deprecated ?? false, - ]; - - // If version exists, use its schema (may differ from YAML) - if ($latestVersion?->input_schema) { - $tool['inputSchema'] = $latestVersion->input_schema; - } - - return $tool; - })->all(); - } - - return response()->json([ - 'server' => $id, - 'tools' => $tools, - 'count' => count($tools), - ]); - } - - /** - * Execute a tool on an MCP server. - * - * POST /api/v1/mcp/tools/call - * - * Request body: - * - server: string (required) - * - tool: string (required) - * - arguments: array (optional) - * - version: string (optional) - semver version to use, defaults to latest - */ - public function callTool(Request $request): JsonResponse - { - $validated = $request->validate([ - 'server' => 'required|string|max:64', - 'tool' => 'required|string|max:128', - 'arguments' => 'nullable|array', - 'version' => 'nullable|string|max:32', - ]); - - $server = $this->loadServerFull($validated['server']); - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - // Verify tool exists in server definition - $toolDef = collect($server['tools'] ?? [])->firstWhere('name', $validated['tool']); - if (! $toolDef) { - return response()->json(['error' => 'Tool not found'], 404); - } - - // Version resolution - $versionService = app(ToolVersionService::class); - $versionResult = $versionService->resolveVersion( - $validated['server'], - $validated['tool'], - $validated['version'] ?? null - ); - - // If version was requested but is sunset, block the call - if ($versionResult['error']) { - $error = $versionResult['error']; - - // Sunset versions return 410 Gone - $status = ($error['code'] ?? '') === 'TOOL_VERSION_SUNSET' ? 410 : 400; - - return response()->json([ - 'success' => false, - 'error' => $error['message'] ?? 'Version error', - 'error_code' => $error['code'] ?? 'VERSION_ERROR', - 'server' => $validated['server'], - 'tool' => $validated['tool'], - 'requested_version' => $validated['version'] ?? null, - 'latest_version' => $error['latest_version'] ?? null, - 'migration_notes' => $error['migration_notes'] ?? null, - ], $status); - } - - /** @var McpToolVersion|null $toolVersion */ - $toolVersion = $versionResult['version']; - $deprecationWarning = $versionResult['warning']; - - // Use versioned schema if available for validation - $schemaForValidation = $toolVersion?->input_schema ?? $toolDef['inputSchema'] ?? null; - if ($schemaForValidation) { - $validationErrors = $this->validateToolArguments( - ['inputSchema' => $schemaForValidation], - $validated['arguments'] ?? [] - ); - - if (! empty($validationErrors)) { - return response()->json([ - 'success' => false, - 'error' => 'Validation failed', - 'error_code' => 'VALIDATION_ERROR', - 'validation_errors' => $validationErrors, - 'server' => $validated['server'], - 'tool' => $validated['tool'], - 'version' => $toolVersion?->version ?? 'unversioned', - ], 422); - } - } - - // Get API key for logging - $apiKey = $request->attributes->get('api_key'); - $workspace = $apiKey?->workspace; - - $startTime = microtime(true); - - try { - // Execute the tool via artisan command - $result = $this->executeToolViaArtisan( - $validated['server'], - $validated['tool'], - $validated['arguments'] ?? [] - ); - - $durationMs = (int) ((microtime(true) - $startTime) * 1000); - - // Log the call - $this->logToolCall($apiKey, $validated, $result, $durationMs, true); - - // Dispatch webhooks - $this->dispatchWebhook($apiKey, $validated, true, $durationMs); - - $response = [ - 'success' => true, - 'server' => $validated['server'], - 'tool' => $validated['tool'], - 'version' => $toolVersion?->version ?? ToolVersionService::DEFAULT_VERSION, - 'result' => $result, - 'duration_ms' => $durationMs, - ]; - - // Include deprecation warning if applicable - if ($deprecationWarning) { - $response['_warnings'] = [$deprecationWarning]; - } - - // Log full request for debugging/replay - $this->logApiRequest($request, $validated, 200, $response, $durationMs, $apiKey); - - // Build response with deprecation headers if needed - $jsonResponse = response()->json($response); - - if ($deprecationWarning) { - $jsonResponse->header('X-MCP-Deprecation-Warning', $deprecationWarning['message'] ?? 'Version deprecated'); - if (isset($deprecationWarning['sunset_at'])) { - $jsonResponse->header('X-MCP-Sunset-At', $deprecationWarning['sunset_at']); - } - if (isset($deprecationWarning['latest_version'])) { - $jsonResponse->header('X-MCP-Latest-Version', $deprecationWarning['latest_version']); - } - } - - return $jsonResponse; - } catch (\Throwable $e) { - $durationMs = (int) ((microtime(true) - $startTime) * 1000); - - $this->logToolCall($apiKey, $validated, null, $durationMs, false, $e->getMessage()); - - // Dispatch webhooks (even on failure) - $this->dispatchWebhook($apiKey, $validated, false, $durationMs, $e->getMessage()); - - $response = [ - 'success' => false, - 'error' => $e->getMessage(), - 'server' => $validated['server'], - 'tool' => $validated['tool'], - 'version' => $toolVersion?->version ?? ToolVersionService::DEFAULT_VERSION, - ]; - - // Log full request for debugging/replay - $this->logApiRequest($request, $validated, 500, $response, $durationMs, $apiKey, $e->getMessage()); - - return response()->json($response, 500); - } - } - - /** - * Validate tool arguments against a JSON schema. - * - * @return array Validation error messages - */ - protected function validateToolArguments(array $toolDef, array $arguments): array - { - $inputSchema = $toolDef['inputSchema'] ?? null; - - if (! $inputSchema || ! is_array($inputSchema)) { - return []; - } - - $errors = []; - $properties = $inputSchema['properties'] ?? []; - $required = $inputSchema['required'] ?? []; - - // Check required properties - foreach ($required as $requiredProp) { - if (! array_key_exists($requiredProp, $arguments)) { - $errors[] = "Missing required argument: {$requiredProp}"; - } - } - - // Type validation for provided arguments - foreach ($arguments as $key => $value) { - if (! isset($properties[$key])) { - if (($inputSchema['additionalProperties'] ?? true) === false) { - $errors[] = "Unknown argument: {$key}"; - } - - continue; - } - - $propSchema = $properties[$key]; - $expectedType = $propSchema['type'] ?? null; - - if ($expectedType && ! $this->validateType($value, $expectedType)) { - $errors[] = "Argument '{$key}' must be of type {$expectedType}"; - } - - // Validate enum values - if (isset($propSchema['enum']) && ! in_array($value, $propSchema['enum'], true)) { - $allowedValues = implode(', ', $propSchema['enum']); - $errors[] = "Argument '{$key}' must be one of: {$allowedValues}"; - } - } - - return $errors; - } - - /** - * Validate a value against a JSON Schema type. - */ - protected function validateType(mixed $value, string $type): bool - { - return match ($type) { - 'string' => is_string($value), - 'integer' => is_int($value) || (is_numeric($value) && floor((float) $value) == $value), - 'number' => is_numeric($value), - 'boolean' => is_bool($value), - 'array' => is_array($value) && array_is_list($value), - 'object' => is_array($value) && ! array_is_list($value), - 'null' => is_null($value), - default => true, - }; - } - - /** - * Get version history for a specific tool. - * - * GET /api/v1/mcp/servers/{server}/tools/{tool}/versions - */ - public function toolVersions(Request $request, string $server, string $tool): JsonResponse - { - $serverConfig = $this->loadServerFull($server); - if (! $serverConfig) { - return response()->json(['error' => 'Server not found'], 404); - } - - // Verify tool exists in server definition - $toolDef = collect($serverConfig['tools'] ?? [])->firstWhere('name', $tool); - if (! $toolDef) { - return response()->json(['error' => 'Tool not found'], 404); - } - - $versionService = app(ToolVersionService::class); - $versions = $versionService->getVersionHistory($server, $tool); - - return response()->json([ - 'server' => $server, - 'tool' => $tool, - 'versions' => $versions->map(fn (McpToolVersion $v) => $v->toApiArray())->values(), - 'count' => $versions->count(), - ]); - } - - /** - * Get a specific version of a tool. - * - * GET /api/v1/mcp/servers/{server}/tools/{tool}/versions/{version} - */ - public function toolVersion(Request $request, string $server, string $tool, string $version): JsonResponse - { - $versionService = app(ToolVersionService::class); - $toolVersion = $versionService->getToolAtVersion($server, $tool, $version); - - if (! $toolVersion) { - return response()->json(['error' => 'Version not found'], 404); - } - - $response = response()->json($toolVersion->toApiArray()); - - // Add deprecation headers if applicable - if ($deprecationWarning = $toolVersion->getDeprecationWarning()) { - $response->header('X-MCP-Deprecation-Warning', $deprecationWarning['message'] ?? 'Version deprecated'); - if (isset($deprecationWarning['sunset_at'])) { - $response->header('X-MCP-Sunset-At', $deprecationWarning['sunset_at']); - } - } - - return $response; - } - - /** - * Read a resource from an MCP server. - * - * GET /api/v1/mcp/resources/{uri} - */ - public function resource(Request $request, string $uri): JsonResponse - { - // Parse URI format: server://resource/path - if (! preg_match('/^([a-z0-9-]+):\/\/(.+)$/', $uri, $matches)) { - return response()->json(['error' => 'Invalid resource URI format'], 400); - } - - $serverId = $matches[1]; - $resourcePath = $matches[2]; - - $server = $this->loadServerFull($serverId); - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - try { - $result = $this->readResourceViaArtisan($serverId, $resourcePath); - - return response()->json([ - 'uri' => $uri, - 'content' => $result, - ]); - } catch (\Throwable $e) { - return response()->json([ - 'error' => $e->getMessage(), - 'uri' => $uri, - ], 500); - } - } - - /** - * Execute tool via artisan MCP server command. - */ - protected function executeToolViaArtisan(string $server, string $tool, array $arguments): mixed - { - $commandMap = [ - 'hosthub-agent' => 'mcp:agent-server', - 'socialhost' => 'mcp:socialhost-server', - 'biohost' => 'mcp:biohost-server', - 'commerce' => 'mcp:commerce-server', - 'supporthost' => 'mcp:support-server', - 'upstream' => 'mcp:upstream-server', - ]; - - $command = $commandMap[$server] ?? null; - if (! $command) { - throw new \RuntimeException("Unknown server: {$server}"); - } - - // Build MCP request - $mcpRequest = [ - 'jsonrpc' => '2.0', - 'id' => uniqid(), - 'method' => 'tools/call', - 'params' => [ - 'name' => $tool, - 'arguments' => $arguments, - ], - ]; - - // Execute via process - $process = proc_open( - ['php', 'artisan', $command], - [ - 0 => ['pipe', 'r'], - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ], - $pipes, - base_path() - ); - - if (! is_resource($process)) { - throw new \RuntimeException('Failed to start MCP server process'); - } - - fwrite($pipes[0], json_encode($mcpRequest)."\n"); - fclose($pipes[0]); - - $output = stream_get_contents($pipes[1]); - fclose($pipes[1]); - fclose($pipes[2]); - - proc_close($process); - - $response = json_decode($output, true); - - if (isset($response['error'])) { - throw new \RuntimeException($response['error']['message'] ?? 'Tool execution failed'); - } - - return $response['result'] ?? null; - } - - /** - * Read resource via artisan MCP server command. - */ - protected function readResourceViaArtisan(string $server, string $path): mixed - { - // Similar to executeToolViaArtisan but with resources/read method - // Simplified for now - can expand later - return ['path' => $path, 'content' => 'Resource reading not yet implemented']; - } - - /** - * Log full API request for debugging and replay. - */ - protected function logApiRequest( - Request $request, - array $validated, - int $status, - array $response, - int $durationMs, - ?ApiKey $apiKey, - ?string $error = null - ): void { - try { - McpApiRequest::log( - method: $request->method(), - path: '/tools/call', - requestBody: $validated, - responseStatus: $status, - responseBody: $response, - durationMs: $durationMs, - workspaceId: $apiKey?->workspace_id, - apiKeyId: $apiKey?->id, - serverId: $validated['server'], - toolName: $validated['tool'], - errorMessage: $error, - ipAddress: $request->ip(), - headers: $request->headers->all() - ); - } catch (\Throwable $e) { - // Don't let logging failures affect API response - report($e); - } - } - - /** - * Dispatch webhook for tool execution. - */ - protected function dispatchWebhook( - ?ApiKey $apiKey, - array $request, - bool $success, - int $durationMs, - ?string $error = null - ): void { - if (! $apiKey?->workspace_id) { - return; - } - - try { - $dispatcher = new McpWebhookDispatcher; - $dispatcher->dispatchToolExecuted( - workspaceId: $apiKey->workspace_id, - serverId: $request['server'], - toolName: $request['tool'], - arguments: $request['arguments'] ?? [], - success: $success, - durationMs: $durationMs, - errorMessage: $error - ); - } catch (\Throwable $e) { - // Don't let webhook failures affect API response - report($e); - } - } - - /** - * Log tool call for analytics. - */ - protected function logToolCall( - ?ApiKey $apiKey, - array $request, - mixed $result, - int $durationMs, - bool $success, - ?string $error = null - ): void { - McpToolCall::log( - serverId: $request['server'], - toolName: $request['tool'], - params: $request['arguments'] ?? [], - success: $success, - durationMs: $durationMs, - errorMessage: $error, - workspaceId: $apiKey?->workspace_id - ); - } - - // Registry loading methods (shared with McpRegistryController) - - protected function loadRegistry(): array - { - return Cache::remember('mcp:registry', 600, function () { - $path = resource_path('mcp/registry.yaml'); - - return file_exists($path) ? Yaml::parseFile($path) : ['servers' => []]; - }); - } - - protected function loadServerFull(string $id): ?array - { - return Cache::remember("mcp:server:{$id}", 600, function () use ($id) { - $path = resource_path("mcp/servers/{$id}.yaml"); - - return file_exists($path) ? Yaml::parseFile($path) : null; - }); - } - - protected function loadServerSummary(string $id): ?array - { - $server = $this->loadServerFull($id); - if (! $server) { - return null; - } - - return [ - 'id' => $server['id'], - 'name' => $server['name'], - 'tagline' => $server['tagline'] ?? '', - 'status' => $server['status'] ?? 'available', - 'tool_count' => count($server['tools'] ?? []), - 'resource_count' => count($server['resources'] ?? []), - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Database/Factories/ApiKeyFactory.php b/packages/core-api/src/Mod/Api/Database/Factories/ApiKeyFactory.php deleted file mode 100644 index 36b6898..0000000 --- a/packages/core-api/src/Mod/Api/Database/Factories/ApiKeyFactory.php +++ /dev/null @@ -1,253 +0,0 @@ - - */ -class ApiKeyFactory extends Factory -{ - /** - * The name of the factory's corresponding model. - * - * @var class-string - */ - protected $model = ApiKey::class; - - /** - * Store the plain key for testing. - */ - private ?string $plainKey = null; - - /** - * Define the model's default state. - * - * Creates keys with secure bcrypt hashing by default. - * - * @return array - */ - public function definition(): array - { - $plainKey = Str::random(48); - $prefix = 'hk_'.Str::random(8); - $this->plainKey = "{$prefix}_{$plainKey}"; - - return [ - 'workspace_id' => Workspace::factory(), - 'user_id' => User::factory(), - 'name' => fake()->words(2, true).' API Key', - 'key' => Hash::make($plainKey), - 'hash_algorithm' => ApiKey::HASH_BCRYPT, - 'prefix' => $prefix, - 'scopes' => [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE], - 'server_scopes' => null, - 'last_used_at' => null, - 'expires_at' => null, - 'grace_period_ends_at' => null, - 'rotated_from_id' => null, - ]; - } - - /** - * Get the plain key after creation. - * Must be called immediately after create() to get the plain key. - */ - public function getPlainKey(): ?string - { - return $this->plainKey; - } - - /** - * Create a key with specific known credentials for testing. - * - * This method uses ApiKey::generate() which creates secure bcrypt keys. - * - * @return array{api_key: ApiKey, plain_key: string} - */ - public static function createWithPlainKey( - ?Workspace $workspace = null, - ?User $user = null, - array $scopes = [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE], - ?\DateTimeInterface $expiresAt = null - ): array { - $workspace ??= Workspace::factory()->create(); - $user ??= User::factory()->create(); - - return ApiKey::generate( - $workspace->id, - $user->id, - fake()->words(2, true).' API Key', - $scopes, - $expiresAt - ); - } - - /** - * Create a key with legacy SHA-256 hashing for migration testing. - * - * @return array{api_key: ApiKey, plain_key: string} - */ - public static function createLegacyKey( - ?Workspace $workspace = null, - ?User $user = null, - array $scopes = [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE], - ?\DateTimeInterface $expiresAt = null - ): array { - $workspace ??= Workspace::factory()->create(); - $user ??= User::factory()->create(); - - $plainKey = Str::random(48); - $prefix = 'hk_'.Str::random(8); - - $apiKey = ApiKey::create([ - 'workspace_id' => $workspace->id, - 'user_id' => $user->id, - 'name' => fake()->words(2, true).' API Key', - 'key' => hash('sha256', $plainKey), - 'hash_algorithm' => ApiKey::HASH_SHA256, - 'prefix' => $prefix, - 'scopes' => $scopes, - 'expires_at' => $expiresAt, - ]); - - return [ - 'api_key' => $apiKey, - 'plain_key' => "{$prefix}_{$plainKey}", - ]; - } - - /** - * Create key with legacy SHA-256 hashing (for migration testing). - */ - public function legacyHash(): static - { - return $this->state(function (array $attributes) { - // Extract the plain key from the stored state - $parts = explode('_', $this->plainKey ?? '', 3); - $plainKey = $parts[2] ?? Str::random(48); - - return [ - 'key' => hash('sha256', $plainKey), - 'hash_algorithm' => ApiKey::HASH_SHA256, - ]; - }); - } - - /** - * Indicate that the key has been used recently. - */ - public function used(): static - { - return $this->state(fn (array $attributes) => [ - 'last_used_at' => now()->subMinutes(fake()->numberBetween(1, 60)), - ]); - } - - /** - * Indicate that the key expires in the future. - * - * @param int $days Number of days until expiration - */ - public function expiresIn(int $days = 30): static - { - return $this->state(fn (array $attributes) => [ - 'expires_at' => now()->addDays($days), - ]); - } - - /** - * Indicate that the key has expired. - */ - public function expired(): static - { - return $this->state(fn (array $attributes) => [ - 'expires_at' => now()->subDays(1), - ]); - } - - /** - * Set specific scopes. - * - * @param array $scopes - */ - public function withScopes(array $scopes): static - { - return $this->state(fn (array $attributes) => [ - 'scopes' => $scopes, - ]); - } - - /** - * Set read-only scope. - */ - public function readOnly(): static - { - return $this->withScopes([ApiKey::SCOPE_READ]); - } - - /** - * Set all scopes (read, write, delete). - */ - public function fullAccess(): static - { - return $this->withScopes(ApiKey::ALL_SCOPES); - } - - /** - * Set specific server scopes. - * - * @param array|null $servers - */ - public function withServerScopes(?array $servers): static - { - return $this->state(fn (array $attributes) => [ - 'server_scopes' => $servers, - ]); - } - - /** - * Create a revoked (soft-deleted) key. - */ - public function revoked(): static - { - return $this->state(fn (array $attributes) => [ - 'deleted_at' => now()->subDay(), - ]); - } - - /** - * Create a key in a rotation grace period. - * - * @param int $hoursRemaining Hours until grace period ends - */ - public function inGracePeriod(int $hoursRemaining = 12): static - { - return $this->state(fn (array $attributes) => [ - 'grace_period_ends_at' => now()->addHours($hoursRemaining), - ]); - } - - /** - * Create a key with an expired grace period. - */ - public function gracePeriodExpired(): static - { - return $this->state(fn (array $attributes) => [ - 'grace_period_ends_at' => now()->subHours(1), - ]); - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiHidden.php b/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiHidden.php deleted file mode 100644 index 4ae0858..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiHidden.php +++ /dev/null @@ -1,41 +0,0 @@ - $this->type, - ]; - - if ($this->format !== null) { - $schema['format'] = $this->format; - } - - if ($this->enum !== null) { - $schema['enum'] = $this->enum; - } - - if ($this->default !== null) { - $schema['default'] = $this->default; - } - - if ($this->example !== null) { - $schema['example'] = $this->example; - } - - return $schema; - } - - /** - * Convert to full OpenAPI parameter object. - */ - public function toOpenApi(): array - { - $param = [ - 'name' => $this->name, - 'in' => $this->in, - 'required' => $this->required || $this->in === 'path', - 'schema' => $this->toSchema(), - ]; - - if ($this->description !== null) { - $param['description'] = $this->description; - } - - return $param; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiResponse.php b/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiResponse.php deleted file mode 100644 index 2b5092a..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiResponse.php +++ /dev/null @@ -1,80 +0,0 @@ - $headers Additional response headers to document - */ - public function __construct( - public int $status, - public ?string $resource = null, - public ?string $description = null, - public bool $paginated = false, - public array $headers = [], - ) {} - - /** - * Get the description or generate from status code. - */ - public function getDescription(): string - { - if ($this->description !== null) { - return $this->description; - } - - return match ($this->status) { - 200 => 'Successful response', - 201 => 'Resource created', - 202 => 'Request accepted', - 204 => 'No content', - 301 => 'Moved permanently', - 302 => 'Found (redirect)', - 304 => 'Not modified', - 400 => 'Bad request', - 401 => 'Unauthorized', - 403 => 'Forbidden', - 404 => 'Not found', - 405 => 'Method not allowed', - 409 => 'Conflict', - 422 => 'Validation error', - 429 => 'Too many requests', - 500 => 'Internal server error', - 502 => 'Bad gateway', - 503 => 'Service unavailable', - default => 'Response', - }; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiSecurity.php b/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiSecurity.php deleted file mode 100644 index 97fcf01..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiSecurity.php +++ /dev/null @@ -1,51 +0,0 @@ - $scopes Required OAuth2 scopes (if applicable) - */ - public function __construct( - public ?string $scheme, - public array $scopes = [], - ) {} - - /** - * Check if this marks the endpoint as public. - */ - public function isPublic(): bool - { - return $this->scheme === null; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiTag.php b/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiTag.php deleted file mode 100644 index 239d3c5..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Attributes/ApiTag.php +++ /dev/null @@ -1,38 +0,0 @@ - $this->swagger($request), - 'redoc' => $this->redoc($request), - default => $this->scalar($request), - }; - } - - /** - * Show Swagger UI. - */ - public function swagger(Request $request): View - { - $config = config('api-docs.ui.swagger', []); - - return view('api-docs::swagger', [ - 'specUrl' => route('api.docs.openapi.json'), - 'config' => $config, - ]); - } - - /** - * Show Scalar API Reference. - */ - public function scalar(Request $request): View - { - $config = config('api-docs.ui.scalar', []); - - return view('api-docs::scalar', [ - 'specUrl' => route('api.docs.openapi.json'), - 'config' => $config, - ]); - } - - /** - * Show ReDoc documentation. - */ - public function redoc(Request $request): View - { - return view('api-docs::redoc', [ - 'specUrl' => route('api.docs.openapi.json'), - ]); - } - - /** - * Get OpenAPI specification as JSON. - */ - public function openApiJson(Request $request): JsonResponse - { - $spec = $this->builder->build(); - - return response()->json($spec) - ->header('Cache-Control', $this->getCacheControl()); - } - - /** - * Get OpenAPI specification as YAML. - */ - public function openApiYaml(Request $request): Response - { - $spec = $this->builder->build(); - - // Convert to YAML - $yaml = Yaml::dump($spec, 10, 2, Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK); - - return response($yaml) - ->header('Content-Type', 'application/x-yaml') - ->header('Cache-Control', $this->getCacheControl()); - } - - /** - * Clear the documentation cache. - */ - public function clearCache(Request $request): JsonResponse - { - $this->builder->clearCache(); - - return response()->json([ - 'message' => 'Documentation cache cleared successfully.', - ]); - } - - /** - * Get cache control header value. - */ - protected function getCacheControl(): string - { - if (app()->environment('local', 'testing')) { - return 'no-cache, no-store, must-revalidate'; - } - - $ttl = config('api-docs.cache.ttl', 3600); - - return "public, max-age={$ttl}"; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/DocumentationServiceProvider.php b/packages/core-api/src/Mod/Api/Documentation/DocumentationServiceProvider.php deleted file mode 100644 index 12b8f2b..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/DocumentationServiceProvider.php +++ /dev/null @@ -1,87 +0,0 @@ -mergeConfigFrom( - __DIR__.'/config.php', - 'api-docs' - ); - - // Register OpenApiBuilder as singleton - $this->app->singleton(OpenApiBuilder::class, function ($app) { - return new OpenApiBuilder; - }); - } - - /** - * Bootstrap any application services. - */ - public function boot(): void - { - // Skip route registration during console commands (except route:list) - if ($this->shouldRegisterRoutes()) { - $this->registerRoutes(); - } - - // Register views - $this->loadViewsFrom(__DIR__.'/Views', 'api-docs'); - - // Publish configuration - if ($this->app->runningInConsole()) { - $this->publishes([ - __DIR__.'/config.php' => config_path('api-docs.php'), - ], 'api-docs-config'); - - $this->publishes([ - __DIR__.'/Views' => resource_path('views/vendor/api-docs'), - ], 'api-docs-views'); - } - } - - /** - * Check if routes should be registered. - */ - protected function shouldRegisterRoutes(): bool - { - // Always register if not in console - if (! $this->app->runningInConsole()) { - return true; - } - - // Register for artisan route:list command - $command = $_SERVER['argv'][1] ?? null; - - return $command === 'route:list' || $command === 'route:cache'; - } - - /** - * Register documentation routes. - */ - protected function registerRoutes(): void - { - $path = config('api-docs.path', '/api/docs'); - - Route::middleware(['web', ProtectDocumentation::class]) - ->prefix($path) - ->group(__DIR__.'/Routes/docs.php'); - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Examples/CommonExamples.php b/packages/core-api/src/Mod/Api/Documentation/Examples/CommonExamples.php deleted file mode 100644 index f53ab02..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Examples/CommonExamples.php +++ /dev/null @@ -1,278 +0,0 @@ - [ - 'name' => 'page', - 'in' => 'query', - 'description' => 'Page number for pagination', - 'required' => false, - 'schema' => [ - 'type' => 'integer', - 'minimum' => 1, - 'default' => 1, - 'example' => 1, - ], - ], - 'per_page' => [ - 'name' => 'per_page', - 'in' => 'query', - 'description' => 'Number of items per page', - 'required' => false, - 'schema' => [ - 'type' => 'integer', - 'minimum' => 1, - 'maximum' => 100, - 'default' => 25, - 'example' => 25, - ], - ], - ]; - } - - /** - * Get example for sorting parameters. - */ - public static function sortingParams(): array - { - return [ - 'sort' => [ - 'name' => 'sort', - 'in' => 'query', - 'description' => 'Field to sort by (prefix with - for descending)', - 'required' => false, - 'schema' => [ - 'type' => 'string', - 'example' => '-created_at', - ], - ], - ]; - } - - /** - * Get example for filtering parameters. - */ - public static function filteringParams(): array - { - return [ - 'filter' => [ - 'name' => 'filter', - 'in' => 'query', - 'description' => 'Filter parameters in the format filter[field]=value', - 'required' => false, - 'style' => 'deepObject', - 'explode' => true, - 'schema' => [ - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'example' => [ - 'status' => 'active', - 'created_at[gte]' => '2024-01-01', - ], - ], - ]; - } - - /** - * Get example paginated response. - */ - public static function paginatedResponse(string $dataExample = '[]'): array - { - return [ - 'data' => json_decode($dataExample, true) ?? [], - 'links' => [ - 'first' => 'https://api.example.com/resource?page=1', - 'last' => 'https://api.example.com/resource?page=10', - 'prev' => null, - 'next' => 'https://api.example.com/resource?page=2', - ], - 'meta' => [ - 'current_page' => 1, - 'from' => 1, - 'last_page' => 10, - 'per_page' => 25, - 'to' => 25, - 'total' => 250, - ], - ]; - } - - /** - * Get example error response. - */ - public static function errorResponse(int $status, string $message, ?array $errors = null): array - { - $response = ['message' => $message]; - - if ($errors !== null) { - $response['errors'] = $errors; - } - - return $response; - } - - /** - * Get example validation error response. - */ - public static function validationErrorResponse(): array - { - return [ - 'message' => 'The given data was invalid.', - 'errors' => [ - 'email' => [ - 'The email field is required.', - ], - 'name' => [ - 'The name field must be at least 2 characters.', - ], - ], - ]; - } - - /** - * Get example rate limit headers. - */ - public static function rateLimitHeaders(int $limit = 1000, int $remaining = 999): array - { - return [ - 'X-RateLimit-Limit' => (string) $limit, - 'X-RateLimit-Remaining' => (string) $remaining, - 'X-RateLimit-Reset' => (string) (time() + 60), - ]; - } - - /** - * Get example authentication headers. - */ - public static function authHeaders(string $type = 'api_key'): array - { - return match ($type) { - 'api_key' => [ - 'X-API-Key' => 'hk_1234567890abcdefghijklmnop', - ], - 'bearer' => [ - 'Authorization' => 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', - ], - default => [], - }; - } - - /** - * Get example workspace header. - */ - public static function workspaceHeader(): array - { - return [ - 'X-Workspace-ID' => '550e8400-e29b-41d4-a716-446655440000', - ]; - } - - /** - * Get example CURL request. - */ - public static function curlExample( - string $method, - string $endpoint, - ?array $body = null, - array $headers = [] - ): string { - $curl = "curl -X {$method} \\\n"; - $curl .= " 'https://api.example.com{$endpoint}' \\\n"; - - foreach ($headers as $name => $value) { - $curl .= " -H '{$name}: {$value}' \\\n"; - } - - if ($body !== null) { - $curl .= " -H 'Content-Type: application/json' \\\n"; - $curl .= " -d '".json_encode($body, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)."'"; - } - - return rtrim($curl, " \\\n"); - } - - /** - * Get example JavaScript fetch request. - */ - public static function fetchExample( - string $method, - string $endpoint, - ?array $body = null, - array $headers = [] - ): string { - $allHeaders = array_merge([ - 'Content-Type' => 'application/json', - ], $headers); - - $options = [ - 'method' => strtoupper($method), - 'headers' => $allHeaders, - ]; - - if ($body !== null) { - $options['body'] = 'JSON.stringify('.json_encode($body, JSON_PRETTY_PRINT).')'; - } - - $code = "const response = await fetch('https://api.example.com{$endpoint}', {\n"; - $code .= " method: '{$options['method']}',\n"; - $code .= ' headers: '.json_encode($allHeaders, JSON_PRETTY_PRINT).",\n"; - - if ($body !== null) { - $code .= ' body: JSON.stringify('.json_encode($body, JSON_PRETTY_PRINT)."),\n"; - } - - $code .= "});\n\n"; - $code .= 'const data = await response.json();'; - - return $code; - } - - /** - * Get example PHP request. - */ - public static function phpExample( - string $method, - string $endpoint, - ?array $body = null, - array $headers = [] - ): string { - $code = "request('{$method}', 'https://api.example.com{$endpoint}', [\n"; - - if (! empty($headers)) { - $code .= " 'headers' => [\n"; - foreach ($headers as $name => $value) { - $code .= " '{$name}' => '{$value}',\n"; - } - $code .= " ],\n"; - } - - if ($body !== null) { - $code .= " 'json' => ".var_export($body, true).",\n"; - } - - $code .= "]);\n\n"; - $code .= '$data = json_decode($response->getBody(), true);'; - - return $code; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Extension.php b/packages/core-api/src/Mod/Api/Documentation/Extension.php deleted file mode 100644 index 31e7360..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Extension.php +++ /dev/null @@ -1,40 +0,0 @@ -buildApiKeyDescription($apiKeyConfig); - } - - // Add authentication guide to info.description - $authGuide = $this->buildAuthenticationGuide($config); - if (! empty($authGuide)) { - $spec['info']['description'] = ($spec['info']['description'] ?? '')."\n\n".$authGuide; - } - - // Add example schemas for authentication-related responses - $spec['components']['schemas']['UnauthorizedError'] = [ - 'type' => 'object', - 'properties' => [ - 'message' => [ - 'type' => 'string', - 'example' => 'Unauthenticated.', - ], - ], - ]; - - $spec['components']['schemas']['ForbiddenError'] = [ - 'type' => 'object', - 'properties' => [ - 'message' => [ - 'type' => 'string', - 'example' => 'This action is unauthorized.', - ], - ], - ]; - - // Add common auth error responses to components - $spec['components']['responses']['Unauthorized'] = [ - 'description' => 'Authentication required or invalid credentials', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/UnauthorizedError', - ], - 'examples' => [ - 'missing_key' => [ - 'summary' => 'Missing API Key', - 'value' => ['message' => 'API key is required.'], - ], - 'invalid_key' => [ - 'summary' => 'Invalid API Key', - 'value' => ['message' => 'Invalid API key.'], - ], - 'expired_key' => [ - 'summary' => 'Expired API Key', - 'value' => ['message' => 'API key has expired.'], - ], - ], - ], - ], - ]; - - $spec['components']['responses']['Forbidden'] = [ - 'description' => 'Insufficient permissions for this action', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/ForbiddenError', - ], - 'examples' => [ - 'insufficient_scope' => [ - 'summary' => 'Missing Required Scope', - 'value' => ['message' => 'API key lacks required scope: write'], - ], - 'workspace_access' => [ - 'summary' => 'Workspace Access Denied', - 'value' => ['message' => 'API key does not have access to this workspace.'], - ], - ], - ], - ], - ]; - - return $spec; - } - - /** - * Extend an individual operation. - */ - public function extendOperation(array $operation, Route $route, string $method, array $config): array - { - // Add 401/403 responses to authenticated endpoints - if (! empty($operation['security'])) { - $hasApiKeyAuth = false; - foreach ($operation['security'] as $security) { - if (isset($security['apiKeyAuth'])) { - $hasApiKeyAuth = true; - break; - } - } - - if ($hasApiKeyAuth) { - // Add 401 response if not present - if (! isset($operation['responses']['401'])) { - $operation['responses']['401'] = [ - '$ref' => '#/components/responses/Unauthorized', - ]; - } - - // Add 403 response if not present - if (! isset($operation['responses']['403'])) { - $operation['responses']['403'] = [ - '$ref' => '#/components/responses/Forbidden', - ]; - } - } - } - - return $operation; - } - - /** - * Build detailed API key description. - */ - protected function buildApiKeyDescription(array $config): string - { - $headerName = $config['name'] ?? 'X-API-Key'; - $baseDescription = $config['description'] ?? 'API key for authentication.'; - - return << 'Maximum number of requests allowed per window', - 'X-RateLimit-Remaining' => 'Number of requests remaining in the current window', - 'X-RateLimit-Reset' => 'Unix timestamp when the rate limit window resets', - ]; - - $spec['components']['headers'] = $spec['components']['headers'] ?? []; - - foreach ($headers as $name => $description) { - $headerKey = str_replace(['-', ' '], '', strtolower($name)); - $spec['components']['headers'][$headerKey] = [ - 'description' => $description, - 'schema' => [ - 'type' => 'integer', - ], - ]; - } - - // Add 429 response schema to components - $spec['components']['responses']['RateLimitExceeded'] = [ - 'description' => 'Rate limit exceeded', - 'headers' => [ - 'X-RateLimit-Limit' => [ - '$ref' => '#/components/headers/xratelimitlimit', - ], - 'X-RateLimit-Remaining' => [ - '$ref' => '#/components/headers/xratelimitremaining', - ], - 'X-RateLimit-Reset' => [ - '$ref' => '#/components/headers/xratelimitreset', - ], - 'Retry-After' => [ - 'description' => 'Seconds to wait before retrying', - 'schema' => ['type' => 'integer'], - ], - ], - 'content' => [ - 'application/json' => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'message' => [ - 'type' => 'string', - 'example' => 'Too Many Requests', - ], - 'retry_after' => [ - 'type' => 'integer', - 'description' => 'Seconds until rate limit resets', - 'example' => 30, - ], - ], - ], - ], - ], - ]; - - return $spec; - } - - /** - * Extend an individual operation. - */ - public function extendOperation(array $operation, Route $route, string $method, array $config): array - { - $rateLimitConfig = $config['rate_limits'] ?? []; - - if (! ($rateLimitConfig['enabled'] ?? true)) { - return $operation; - } - - // Check if route has rate limiting middleware - if (! $this->hasRateLimiting($route)) { - return $operation; - } - - // Add rate limit headers to successful responses - foreach ($operation['responses'] as $status => &$response) { - if ((int) $status >= 200 && (int) $status < 300) { - $response['headers'] = $response['headers'] ?? []; - $response['headers']['X-RateLimit-Limit'] = [ - '$ref' => '#/components/headers/xratelimitlimit', - ]; - $response['headers']['X-RateLimit-Remaining'] = [ - '$ref' => '#/components/headers/xratelimitremaining', - ]; - $response['headers']['X-RateLimit-Reset'] = [ - '$ref' => '#/components/headers/xratelimitreset', - ]; - } - } - - // Add 429 response - $operation['responses']['429'] = [ - '$ref' => '#/components/responses/RateLimitExceeded', - ]; - - // Extract rate limit from attribute and add to description - $rateLimit = $this->extractRateLimit($route); - if ($rateLimit !== null) { - $limitInfo = sprintf( - '**Rate Limit:** %d requests per %d seconds', - $rateLimit['limit'], - $rateLimit['window'] - ); - - if ($rateLimit['burst'] > 1.0) { - $limitInfo .= sprintf(' (%.0f%% burst allowed)', ($rateLimit['burst'] - 1) * 100); - } - - $operation['description'] = isset($operation['description']) - ? $operation['description']."\n\n".$limitInfo - : $limitInfo; - } - - return $operation; - } - - /** - * Check if route has rate limiting. - */ - protected function hasRateLimiting(Route $route): bool - { - $middleware = $route->middleware(); - - foreach ($middleware as $m) { - if (str_contains($m, 'throttle') || - str_contains($m, 'rate') || - str_contains($m, 'api.rate') || - str_contains($m, 'RateLimit')) { - return true; - } - } - - // Also check for RateLimit attribute on controller - $controller = $route->getController(); - if ($controller !== null) { - $reflection = new ReflectionClass($controller); - if (! empty($reflection->getAttributes(RateLimit::class))) { - return true; - } - - $action = $route->getActionMethod(); - if ($reflection->hasMethod($action)) { - $method = $reflection->getMethod($action); - if (! empty($method->getAttributes(RateLimit::class))) { - return true; - } - } - } - - return false; - } - - /** - * Extract rate limit configuration from route. - */ - protected function extractRateLimit(Route $route): ?array - { - $controller = $route->getController(); - - if ($controller === null) { - return null; - } - - $reflection = new ReflectionClass($controller); - $action = $route->getActionMethod(); - - // Check method first - if ($reflection->hasMethod($action)) { - $method = $reflection->getMethod($action); - $attrs = $method->getAttributes(RateLimit::class); - if (! empty($attrs)) { - $rateLimit = $attrs[0]->newInstance(); - - return [ - 'limit' => $rateLimit->limit, - 'window' => $rateLimit->window, - 'burst' => $rateLimit->burst, - ]; - } - } - - // Check class - $attrs = $reflection->getAttributes(RateLimit::class); - if (! empty($attrs)) { - $rateLimit = $attrs[0]->newInstance(); - - return [ - 'limit' => $rateLimit->limit, - 'window' => $rateLimit->window, - 'burst' => $rateLimit->burst, - ]; - } - - return null; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Extensions/WorkspaceHeaderExtension.php b/packages/core-api/src/Mod/Api/Documentation/Extensions/WorkspaceHeaderExtension.php deleted file mode 100644 index 0679048..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Extensions/WorkspaceHeaderExtension.php +++ /dev/null @@ -1,111 +0,0 @@ - $workspaceConfig['header_name'] ?? 'X-Workspace-ID', - 'in' => 'header', - 'required' => $workspaceConfig['required'] ?? false, - 'description' => $workspaceConfig['description'] ?? 'Workspace identifier for multi-tenant operations', - 'schema' => [ - 'type' => 'string', - 'format' => 'uuid', - 'example' => '550e8400-e29b-41d4-a716-446655440000', - ], - ]; - } - - return $spec; - } - - /** - * Extend an individual operation. - */ - public function extendOperation(array $operation, Route $route, string $method, array $config): array - { - // Check if route requires workspace context - if (! $this->requiresWorkspace($route)) { - return $operation; - } - - $workspaceConfig = $config['workspace'] ?? []; - $headerName = $workspaceConfig['header_name'] ?? 'X-Workspace-ID'; - - // Add workspace header parameter reference - $operation['parameters'] = $operation['parameters'] ?? []; - - // Check if already added - foreach ($operation['parameters'] as $param) { - if (isset($param['name']) && $param['name'] === $headerName) { - return $operation; - } - } - - // Add as reference to component - $operation['parameters'][] = [ - '$ref' => '#/components/parameters/workspaceId', - ]; - - return $operation; - } - - /** - * Check if route requires workspace context. - */ - protected function requiresWorkspace(Route $route): bool - { - $middleware = $route->middleware(); - - // Check for workspace-related middleware - foreach ($middleware as $m) { - if (str_contains($m, 'workspace') || - str_contains($m, 'api.auth') || - str_contains($m, 'auth.api')) { - return true; - } - } - - // Check route name patterns that typically need workspace - $name = $route->getName() ?? ''; - $workspaceRoutes = [ - 'api.key.', - 'api.bio.', - 'api.blocks.', - 'api.shortlinks.', - 'api.qr.', - 'api.workspaces.', - 'api.webhooks.', - 'api.content.', - ]; - - foreach ($workspaceRoutes as $pattern) { - if (str_starts_with($name, $pattern)) { - return true; - } - } - - return false; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Middleware/ProtectDocumentation.php b/packages/core-api/src/Mod/Api/Documentation/Middleware/ProtectDocumentation.php deleted file mode 100644 index 4752c81..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Middleware/ProtectDocumentation.php +++ /dev/null @@ -1,76 +0,0 @@ -environment(), $publicEnvironments, true)) { - return $next($request); - } - - // Check IP whitelist - $ipWhitelist = $config['ip_whitelist'] ?? []; - if (! empty($ipWhitelist)) { - $clientIp = $request->ip(); - if (! in_array($clientIp, $ipWhitelist, true)) { - abort(403, 'Access denied.'); - } - - return $next($request); - } - - // Check if authentication is required - if ($config['require_auth'] ?? false) { - if (! $request->user()) { - return redirect()->route('login'); - } - - // Check allowed roles - $allowedRoles = $config['allowed_roles'] ?? []; - if (! empty($allowedRoles)) { - $user = $request->user(); - - // Check if user has any of the allowed roles - $hasRole = false; - foreach ($allowedRoles as $role) { - if (method_exists($user, 'hasRole') && $user->hasRole($role)) { - $hasRole = true; - break; - } - } - - if (! $hasRole) { - abort(403, 'Insufficient permissions to view documentation.'); - } - } - } - - return $next($request); - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/ModuleDiscovery.php b/packages/core-api/src/Mod/Api/Documentation/ModuleDiscovery.php deleted file mode 100644 index 9bb3681..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/ModuleDiscovery.php +++ /dev/null @@ -1,209 +0,0 @@ - - */ - protected array $modules = []; - - /** - * Discover all API modules and their routes. - * - * @return array - */ - public function discover(): array - { - $this->modules = []; - - foreach (Route::getRoutes() as $route) { - if (! $this->isApiRoute($route)) { - continue; - } - - $module = $this->identifyModule($route); - $this->addRouteToModule($module, $route); - } - - ksort($this->modules); - - return $this->modules; - } - - /** - * Get modules grouped by tag. - * - * @return array - */ - public function getModulesByTag(): array - { - $byTag = []; - - foreach ($this->discover() as $module => $data) { - $tag = $data['tag'] ?? $module; - $byTag[$tag] = $byTag[$tag] ?? [ - 'name' => $tag, - 'description' => $data['description'] ?? null, - 'routes' => [], - ]; - - $byTag[$tag]['routes'] = array_merge( - $byTag[$tag]['routes'], - $data['routes'] - ); - } - - return $byTag; - } - - /** - * Get a summary of discovered modules. - */ - public function getSummary(): array - { - $modules = $this->discover(); - - return array_map(function ($data) { - return [ - 'tag' => $data['tag'], - 'description' => $data['description'], - 'route_count' => count($data['routes']), - 'endpoints' => array_map(function ($route) { - return [ - 'method' => $route['method'], - 'uri' => $route['uri'], - 'name' => $route['name'], - ]; - }, $data['routes']), - ]; - }, $modules); - } - - /** - * Check if route is an API route. - */ - protected function isApiRoute($route): bool - { - $uri = $route->uri(); - - return str_starts_with($uri, 'api/') || $uri === 'api'; - } - - /** - * Identify which module a route belongs to. - */ - protected function identifyModule($route): string - { - $controller = $route->getController(); - - if ($controller !== null) { - // Check for ApiTag attribute - $reflection = new ReflectionClass($controller); - $tagAttrs = $reflection->getAttributes(ApiTag::class); - - if (! empty($tagAttrs)) { - return $tagAttrs[0]->newInstance()->name; - } - - // Infer from namespace - $namespace = $reflection->getNamespaceName(); - - // Extract module name from namespace patterns - if (preg_match('/(?:Mod|Module|Http\\\\Controllers)\\\\([^\\\\]+)/', $namespace, $matches)) { - return $matches[1]; - } - } - - // Infer from route URI - return $this->inferModuleFromUri($route->uri()); - } - - /** - * Infer module name from URI. - */ - protected function inferModuleFromUri(string $uri): string - { - // Remove api/ prefix - $path = preg_replace('#^api/#', '', $uri); - - // Get first segment - $parts = explode('/', $path); - $segment = $parts[0] ?? 'general'; - - // Map common segments to module names - $mapping = [ - 'bio' => 'Bio', - 'blocks' => 'Bio', - 'shortlinks' => 'Bio', - 'qr' => 'Bio', - 'commerce' => 'Commerce', - 'provisioning' => 'Commerce', - 'workspaces' => 'Tenant', - 'analytics' => 'Analytics', - 'social' => 'Social', - 'notify' => 'Notifications', - 'support' => 'Support', - 'pixel' => 'Pixel', - 'seo' => 'SEO', - 'mcp' => 'MCP', - 'content' => 'Content', - 'trust' => 'Trust', - 'webhooks' => 'Webhooks', - 'entitlements' => 'Entitlements', - ]; - - return $mapping[$segment] ?? ucfirst($segment); - } - - /** - * Add a route to a module. - */ - protected function addRouteToModule(string $module, $route): void - { - if (! isset($this->modules[$module])) { - $this->modules[$module] = [ - 'tag' => $module, - 'description' => $this->getModuleDescription($module), - 'routes' => [], - ]; - } - - $methods = array_filter($route->methods(), fn ($m) => $m !== 'HEAD'); - - foreach ($methods as $method) { - $this->modules[$module]['routes'][] = [ - 'method' => strtoupper($method), - 'uri' => '/'.$route->uri(), - 'name' => $route->getName(), - 'action' => $route->getActionMethod(), - 'middleware' => $route->middleware(), - ]; - } - } - - /** - * Get module description from config. - */ - protected function getModuleDescription(string $module): ?string - { - $tags = config('api-docs.tags', []); - - return $tags[$module]['description'] ?? null; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/OpenApiBuilder.php b/packages/core-api/src/Mod/Api/Documentation/OpenApiBuilder.php deleted file mode 100644 index e02764c..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/OpenApiBuilder.php +++ /dev/null @@ -1,819 +0,0 @@ - - */ - protected array $extensions = []; - - /** - * Discovered tags from modules. - * - * @var array - */ - protected array $discoveredTags = []; - - /** - * Create a new builder instance. - */ - public function __construct() - { - $this->registerDefaultExtensions(); - } - - /** - * Register default extensions. - */ - protected function registerDefaultExtensions(): void - { - $this->extensions = [ - new WorkspaceHeaderExtension, - new RateLimitExtension, - new ApiKeyAuthExtension, - ]; - } - - /** - * Add a custom extension. - */ - public function addExtension(Extension $extension): static - { - $this->extensions[] = $extension; - - return $this; - } - - /** - * Generate the complete OpenAPI specification. - */ - public function build(): array - { - $config = config('api-docs', []); - - if ($this->shouldCache($config)) { - $cacheKey = $config['cache']['key'] ?? 'api-docs:openapi'; - $cacheTtl = $config['cache']['ttl'] ?? 3600; - - return Cache::remember($cacheKey, $cacheTtl, fn () => $this->buildSpec($config)); - } - - return $this->buildSpec($config); - } - - /** - * Clear the cached specification. - */ - public function clearCache(): void - { - $cacheKey = config('api-docs.cache.key', 'api-docs:openapi'); - Cache::forget($cacheKey); - } - - /** - * Check if caching should be enabled. - */ - protected function shouldCache(array $config): bool - { - if (! ($config['cache']['enabled'] ?? true)) { - return false; - } - - $disabledEnvs = $config['cache']['disabled_environments'] ?? ['local', 'testing']; - - return ! in_array(app()->environment(), $disabledEnvs, true); - } - - /** - * Build the full OpenAPI specification. - */ - protected function buildSpec(array $config): array - { - $spec = [ - 'openapi' => '3.1.0', - 'info' => $this->buildInfo($config), - 'servers' => $this->buildServers($config), - 'tags' => [], - 'paths' => [], - 'components' => $this->buildComponents($config), - ]; - - // Build paths and collect tags - $spec['paths'] = $this->buildPaths($config); - $spec['tags'] = $this->buildTags($config); - - // Apply extensions to spec - foreach ($this->extensions as $extension) { - $spec = $extension->extend($spec, $config); - } - - return $spec; - } - - /** - * Build API info section. - */ - protected function buildInfo(array $config): array - { - $info = $config['info'] ?? []; - - $result = [ - 'title' => $info['title'] ?? config('app.name', 'API').' API', - 'version' => $info['version'] ?? config('api.version', '1.0.0'), - ]; - - if (! empty($info['description'])) { - $result['description'] = $info['description']; - } - - if (! empty($info['contact'])) { - $contact = array_filter($info['contact']); - if (! empty($contact)) { - $result['contact'] = $contact; - } - } - - if (! empty($info['license']['name'])) { - $result['license'] = array_filter($info['license']); - } - - return $result; - } - - /** - * Build servers section. - */ - protected function buildServers(array $config): array - { - $servers = $config['servers'] ?? []; - - if (empty($servers)) { - return [ - [ - 'url' => config('app.url', 'http://localhost'), - 'description' => 'Current Environment', - ], - ]; - } - - return array_map(fn ($server) => array_filter($server), $servers); - } - - /** - * Build tags section from discovered modules and config. - */ - protected function buildTags(array $config): array - { - $configTags = $config['tags'] ?? []; - $tags = []; - - // Add discovered tags first - foreach ($this->discoveredTags as $name => $data) { - $tags[$name] = [ - 'name' => $name, - 'description' => $data['description'] ?? null, - ]; - } - - // Merge with configured tags (config takes precedence) - foreach ($configTags as $key => $tagConfig) { - $tagName = $tagConfig['name'] ?? $key; - $tags[$tagName] = [ - 'name' => $tagName, - 'description' => $tagConfig['description'] ?? null, - ]; - } - - // Clean up null descriptions and sort - $result = []; - foreach ($tags as $tag) { - $result[] = array_filter($tag); - } - - usort($result, fn ($a, $b) => strcasecmp($a['name'], $b['name'])); - - return $result; - } - - /** - * Build paths section from routes. - */ - protected function buildPaths(array $config): array - { - $paths = []; - $includePatterns = $config['routes']['include'] ?? ['api/*']; - $excludePatterns = $config['routes']['exclude'] ?? []; - - foreach (RouteFacade::getRoutes() as $route) { - /** @var Route $route */ - if (! $this->shouldIncludeRoute($route, $includePatterns, $excludePatterns)) { - continue; - } - - $path = $this->normalizePath($route->uri()); - $methods = array_filter($route->methods(), fn ($m) => $m !== 'HEAD'); - - foreach ($methods as $method) { - $method = strtolower($method); - $operation = $this->buildOperation($route, $method, $config); - - if ($operation !== null) { - $paths[$path][$method] = $operation; - } - } - } - - ksort($paths); - - return $paths; - } - - /** - * Check if a route should be included in documentation. - */ - protected function shouldIncludeRoute(Route $route, array $include, array $exclude): bool - { - $uri = $route->uri(); - - // Check exclusions first - foreach ($exclude as $pattern) { - if (fnmatch($pattern, $uri)) { - return false; - } - } - - // Check inclusions - foreach ($include as $pattern) { - if (fnmatch($pattern, $uri)) { - return true; - } - } - - return false; - } - - /** - * Normalize route path to OpenAPI format. - */ - protected function normalizePath(string $uri): string - { - // Prepend slash if missing - $path = '/'.ltrim($uri, '/'); - - // Convert Laravel parameters to OpenAPI format: {param?} -> {param} - $path = preg_replace('/\{([^}?]+)\?\}/', '{$1}', $path); - - return $path === '/' ? '/' : rtrim($path, '/'); - } - - /** - * Build operation for a specific route and method. - */ - protected function buildOperation(Route $route, string $method, array $config): ?array - { - $controller = $route->getController(); - $action = $route->getActionMethod(); - - // Check for ApiHidden attribute - if ($this->isHidden($controller, $action)) { - return null; - } - - $operation = [ - 'summary' => $this->buildSummary($route, $method), - 'operationId' => $this->buildOperationId($route, $method), - 'tags' => $this->buildOperationTags($route, $controller, $action), - 'responses' => $this->buildResponses($controller, $action), - ]; - - // Add description from PHPDoc if available - $description = $this->extractDescription($controller, $action); - if ($description) { - $operation['description'] = $description; - } - - // Add parameters - $parameters = $this->buildParameters($route, $controller, $action, $config); - if (! empty($parameters)) { - $operation['parameters'] = $parameters; - } - - // Add request body for POST/PUT/PATCH - if (in_array($method, ['post', 'put', 'patch'])) { - $operation['requestBody'] = $this->buildRequestBody($controller, $action); - } - - // Add security requirements - $security = $this->buildSecurity($route, $controller, $action); - if ($security !== null) { - $operation['security'] = $security; - } - - // Apply extensions to operation - foreach ($this->extensions as $extension) { - $operation = $extension->extendOperation($operation, $route, $method, $config); - } - - return $operation; - } - - /** - * Check if controller/method is hidden from docs. - */ - protected function isHidden(?object $controller, string $action): bool - { - if ($controller === null) { - return false; - } - - $reflection = new ReflectionClass($controller); - - // Check class-level attribute - $classAttrs = $reflection->getAttributes(ApiHidden::class); - if (! empty($classAttrs)) { - return true; - } - - // Check method-level attribute - if ($reflection->hasMethod($action)) { - $method = $reflection->getMethod($action); - $methodAttrs = $method->getAttributes(ApiHidden::class); - if (! empty($methodAttrs)) { - return true; - } - } - - return false; - } - - /** - * Build operation summary. - */ - protected function buildSummary(Route $route, string $method): string - { - $name = $route->getName(); - - if ($name) { - // Convert route name to human-readable summary - $parts = explode('.', $name); - $action = array_pop($parts); - - return Str::title(str_replace(['-', '_'], ' ', $action)); - } - - // Generate from URI and method - $uri = Str::afterLast($route->uri(), '/'); - - return Str::title($method.' '.str_replace(['-', '_'], ' ', $uri)); - } - - /** - * Build operation ID from route name. - */ - protected function buildOperationId(Route $route, string $method): string - { - $name = $route->getName(); - - if ($name) { - return Str::camel(str_replace(['.', '-'], '_', $name)); - } - - return Str::camel($method.'_'.str_replace(['/', '-', '.'], '_', $route->uri())); - } - - /** - * Build tags for an operation. - */ - protected function buildOperationTags(Route $route, ?object $controller, string $action): array - { - // Check for ApiTag attribute - if ($controller !== null) { - $tagAttr = $this->getAttribute($controller, $action, ApiTag::class); - if ($tagAttr !== null) { - $tag = $tagAttr->newInstance(); - $this->discoveredTags[$tag->name] = ['description' => $tag->description]; - - return [$tag->name]; - } - } - - // Infer tag from route - return [$this->inferTag($route)]; - } - - /** - * Infer tag from route. - */ - protected function inferTag(Route $route): string - { - $uri = $route->uri(); - $name = $route->getName() ?? ''; - - // Common tag mappings by route prefix - $tagMap = [ - 'api/bio' => 'Bio Links', - 'api/blocks' => 'Bio Links', - 'api/shortlinks' => 'Bio Links', - 'api/qr' => 'Bio Links', - 'api/commerce' => 'Commerce', - 'api/provisioning' => 'Commerce', - 'api/workspaces' => 'Workspaces', - 'api/analytics' => 'Analytics', - 'api/social' => 'Social', - 'api/notify' => 'Notifications', - 'api/support' => 'Support', - 'api/pixel' => 'Pixel', - 'api/seo' => 'SEO', - 'api/mcp' => 'MCP', - 'api/content' => 'Content', - 'api/trust' => 'Trust', - 'api/webhooks' => 'Webhooks', - 'api/entitlements' => 'Entitlements', - ]; - - foreach ($tagMap as $prefix => $tag) { - if (str_starts_with($uri, $prefix)) { - $this->discoveredTags[$tag] = $this->discoveredTags[$tag] ?? []; - - return $tag; - } - } - - $this->discoveredTags['General'] = $this->discoveredTags['General'] ?? []; - - return 'General'; - } - - /** - * Extract description from PHPDoc. - */ - protected function extractDescription(?object $controller, string $action): ?string - { - if ($controller === null) { - return null; - } - - $reflection = new ReflectionClass($controller); - if (! $reflection->hasMethod($action)) { - return null; - } - - $method = $reflection->getMethod($action); - $doc = $method->getDocComment(); - - if (! $doc) { - return null; - } - - // Extract description from PHPDoc (first paragraph before @tags) - preg_match('/\/\*\*\s*\n\s*\*\s*(.+?)(?:\n\s*\*\s*\n|\n\s*\*\s*@)/s', $doc, $matches); - - if (! empty($matches[1])) { - $description = preg_replace('/\n\s*\*\s*/', ' ', $matches[1]); - - return trim($description); - } - - return null; - } - - /** - * Build parameters for operation. - */ - protected function buildParameters(Route $route, ?object $controller, string $action, array $config): array - { - $parameters = []; - - // Add path parameters - preg_match_all('/\{([^}?]+)\??}/', $route->uri(), $matches); - foreach ($matches[1] as $param) { - $parameters[] = [ - 'name' => $param, - 'in' => 'path', - 'required' => true, - 'schema' => ['type' => 'string'], - ]; - } - - // Add parameters from ApiParameter attributes - if ($controller !== null) { - $reflection = new ReflectionClass($controller); - if ($reflection->hasMethod($action)) { - $method = $reflection->getMethod($action); - $paramAttrs = $method->getAttributes(ApiParameter::class, ReflectionAttribute::IS_INSTANCEOF); - - foreach ($paramAttrs as $attr) { - $param = $attr->newInstance(); - $parameters[] = $param->toOpenApi(); - } - } - } - - return $parameters; - } - - /** - * Build responses section. - */ - protected function buildResponses(?object $controller, string $action): array - { - $responses = []; - - // Get ApiResponse attributes - if ($controller !== null) { - $reflection = new ReflectionClass($controller); - if ($reflection->hasMethod($action)) { - $method = $reflection->getMethod($action); - $responseAttrs = $method->getAttributes(ApiResponse::class, ReflectionAttribute::IS_INSTANCEOF); - - foreach ($responseAttrs as $attr) { - $response = $attr->newInstance(); - $responses[(string) $response->status] = $this->buildResponseSchema($response); - } - } - } - - // Default 200 response if none specified - if (empty($responses)) { - $responses['200'] = ['description' => 'Successful response']; - } - - return $responses; - } - - /** - * Build response schema from ApiResponse attribute. - */ - protected function buildResponseSchema(ApiResponse $response): array - { - $result = [ - 'description' => $response->getDescription(), - ]; - - if ($response->resource !== null && class_exists($response->resource)) { - $schema = $this->extractResourceSchema($response->resource); - - if ($response->paginated) { - $schema = $this->wrapPaginatedSchema($schema); - } - - $result['content'] = [ - 'application/json' => [ - 'schema' => $schema, - ], - ]; - } - - if (! empty($response->headers)) { - $result['headers'] = []; - foreach ($response->headers as $header => $description) { - $result['headers'][$header] = [ - 'description' => $description, - 'schema' => ['type' => 'string'], - ]; - } - } - - return $result; - } - - /** - * Extract schema from JsonResource class. - */ - protected function extractResourceSchema(string $resourceClass): array - { - if (! is_subclass_of($resourceClass, JsonResource::class)) { - return ['type' => 'object']; - } - - // For now, return a generic object schema - // A more sophisticated implementation would analyze the resource's toArray method - return [ - 'type' => 'object', - 'additionalProperties' => true, - ]; - } - - /** - * Wrap schema in pagination structure. - */ - protected function wrapPaginatedSchema(array $itemSchema): array - { - return [ - 'type' => 'object', - 'properties' => [ - 'data' => [ - 'type' => 'array', - 'items' => $itemSchema, - ], - 'links' => [ - 'type' => 'object', - 'properties' => [ - 'first' => ['type' => 'string', 'format' => 'uri'], - 'last' => ['type' => 'string', 'format' => 'uri'], - 'prev' => ['type' => 'string', 'format' => 'uri', 'nullable' => true], - 'next' => ['type' => 'string', 'format' => 'uri', 'nullable' => true], - ], - ], - 'meta' => [ - 'type' => 'object', - 'properties' => [ - 'current_page' => ['type' => 'integer'], - 'from' => ['type' => 'integer', 'nullable' => true], - 'last_page' => ['type' => 'integer'], - 'per_page' => ['type' => 'integer'], - 'to' => ['type' => 'integer', 'nullable' => true], - 'total' => ['type' => 'integer'], - ], - ], - ], - ]; - } - - /** - * Build request body schema. - */ - protected function buildRequestBody(?object $controller, string $action): array - { - return [ - 'required' => true, - 'content' => [ - 'application/json' => [ - 'schema' => ['type' => 'object'], - ], - ], - ]; - } - - /** - * Build security requirements. - */ - protected function buildSecurity(Route $route, ?object $controller, string $action): ?array - { - // Check for ApiSecurity attribute - if ($controller !== null) { - $securityAttr = $this->getAttribute($controller, $action, ApiSecurity::class); - if ($securityAttr !== null) { - $security = $securityAttr->newInstance(); - if ($security->isPublic()) { - return []; // Empty array means no auth required - } - - return [[$security->scheme => $security->scopes]]; - } - } - - // Infer from route middleware - $middleware = $route->middleware(); - - if (in_array('auth:sanctum', $middleware) || in_array('auth', $middleware)) { - return [['bearerAuth' => []]]; - } - - if (in_array('api.auth', $middleware) || in_array('auth.api', $middleware)) { - return [['apiKeyAuth' => []]]; - } - - foreach ($middleware as $m) { - if (str_contains($m, 'ApiKeyAuth') || str_contains($m, 'AuthenticateApiKey')) { - return [['apiKeyAuth' => []]]; - } - } - - return null; - } - - /** - * Build components section. - */ - protected function buildComponents(array $config): array - { - $components = [ - 'securitySchemes' => [], - 'schemas' => $this->buildCommonSchemas(), - ]; - - // Add API Key security scheme - $apiKeyConfig = $config['auth']['api_key'] ?? []; - if ($apiKeyConfig['enabled'] ?? true) { - $components['securitySchemes']['apiKeyAuth'] = [ - 'type' => 'apiKey', - 'in' => $apiKeyConfig['in'] ?? 'header', - 'name' => $apiKeyConfig['name'] ?? 'X-API-Key', - 'description' => $apiKeyConfig['description'] ?? 'API key for authentication', - ]; - } - - // Add Bearer token security scheme - $bearerConfig = $config['auth']['bearer'] ?? []; - if ($bearerConfig['enabled'] ?? true) { - $components['securitySchemes']['bearerAuth'] = [ - 'type' => 'http', - 'scheme' => $bearerConfig['scheme'] ?? 'bearer', - 'bearerFormat' => $bearerConfig['format'] ?? 'JWT', - 'description' => $bearerConfig['description'] ?? 'Bearer token authentication', - ]; - } - - // Add OAuth2 security scheme - $oauth2Config = $config['auth']['oauth2'] ?? []; - if ($oauth2Config['enabled'] ?? false) { - $components['securitySchemes']['oauth2'] = [ - 'type' => 'oauth2', - 'flows' => $oauth2Config['flows'] ?? [], - ]; - } - - return $components; - } - - /** - * Build common reusable schemas. - */ - protected function buildCommonSchemas(): array - { - return [ - 'Error' => [ - 'type' => 'object', - 'required' => ['message'], - 'properties' => [ - 'message' => ['type' => 'string', 'description' => 'Error message'], - 'errors' => [ - 'type' => 'object', - 'description' => 'Validation errors (field => messages)', - 'additionalProperties' => [ - 'type' => 'array', - 'items' => ['type' => 'string'], - ], - ], - ], - ], - 'Pagination' => [ - 'type' => 'object', - 'properties' => [ - 'current_page' => ['type' => 'integer'], - 'from' => ['type' => 'integer', 'nullable' => true], - 'last_page' => ['type' => 'integer'], - 'per_page' => ['type' => 'integer'], - 'to' => ['type' => 'integer', 'nullable' => true], - 'total' => ['type' => 'integer'], - ], - ], - ]; - } - - /** - * Get attribute from controller class or method. - * - * @template T - * - * @param class-string $attributeClass - * @return ReflectionAttribute|null - */ - protected function getAttribute(object $controller, string $action, string $attributeClass): ?ReflectionAttribute - { - $reflection = new ReflectionClass($controller); - - // Check method first (method takes precedence) - if ($reflection->hasMethod($action)) { - $method = $reflection->getMethod($action); - $attrs = $method->getAttributes($attributeClass); - if (! empty($attrs)) { - return $attrs[0]; - } - } - - // Fall back to class - $attrs = $reflection->getAttributes($attributeClass); - - return $attrs[0] ?? null; - } -} diff --git a/packages/core-api/src/Mod/Api/Documentation/Routes/docs.php b/packages/core-api/src/Mod/Api/Documentation/Routes/docs.php deleted file mode 100644 index 03ae6ad..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Routes/docs.php +++ /dev/null @@ -1,36 +0,0 @@ -name('api.docs'); -Route::get('/swagger', [DocumentationController::class, 'swagger'])->name('api.docs.swagger'); -Route::get('/scalar', [DocumentationController::class, 'scalar'])->name('api.docs.scalar'); -Route::get('/redoc', [DocumentationController::class, 'redoc'])->name('api.docs.redoc'); - -// OpenAPI specification routes -Route::get('/openapi.json', [DocumentationController::class, 'openApiJson']) - ->name('api.docs.openapi.json') - ->middleware('throttle:60,1'); - -Route::get('/openapi.yaml', [DocumentationController::class, 'openApiYaml']) - ->name('api.docs.openapi.yaml') - ->middleware('throttle:60,1'); - -// Cache management (admin only) -Route::post('/cache/clear', [DocumentationController::class, 'clearCache']) - ->name('api.docs.cache.clear') - ->middleware('auth'); diff --git a/packages/core-api/src/Mod/Api/Documentation/Views/redoc.blade.php b/packages/core-api/src/Mod/Api/Documentation/Views/redoc.blade.php deleted file mode 100644 index d1fd68e..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Views/redoc.blade.php +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - {{ config('api-docs.info.title', 'API Documentation') }} - ReDoc - - - - - - - - - - diff --git a/packages/core-api/src/Mod/Api/Documentation/Views/scalar.blade.php b/packages/core-api/src/Mod/Api/Documentation/Views/scalar.blade.php deleted file mode 100644 index 85ac8c8..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Views/scalar.blade.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - {{ config('api-docs.info.title', 'API Documentation') }} - - - - - - - diff --git a/packages/core-api/src/Mod/Api/Documentation/Views/swagger.blade.php b/packages/core-api/src/Mod/Api/Documentation/Views/swagger.blade.php deleted file mode 100644 index 2515ddd..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/Views/swagger.blade.php +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - {{ config('api-docs.info.title', 'API Documentation') }} - Swagger UI - - - - -
- - - - - - diff --git a/packages/core-api/src/Mod/Api/Documentation/config.php b/packages/core-api/src/Mod/Api/Documentation/config.php deleted file mode 100644 index 0c43186..0000000 --- a/packages/core-api/src/Mod/Api/Documentation/config.php +++ /dev/null @@ -1,319 +0,0 @@ - env('API_DOCS_ENABLED', true), - - /* - |-------------------------------------------------------------------------- - | Documentation Path - |-------------------------------------------------------------------------- - | - | The URL path where API documentation is served. - | - */ - - 'path' => '/api/docs', - - /* - |-------------------------------------------------------------------------- - | API Information - |-------------------------------------------------------------------------- - | - | Basic information about your API displayed in the documentation. - | - */ - - 'info' => [ - 'title' => env('API_DOCS_TITLE', 'API Documentation'), - 'description' => env('API_DOCS_DESCRIPTION', 'REST API for programmatic access to services.'), - 'version' => env('API_DOCS_VERSION', '1.0.0'), - 'contact' => [ - 'name' => env('API_DOCS_CONTACT_NAME'), - 'email' => env('API_DOCS_CONTACT_EMAIL'), - 'url' => env('API_DOCS_CONTACT_URL'), - ], - 'license' => [ - 'name' => env('API_DOCS_LICENSE_NAME', 'Proprietary'), - 'url' => env('API_DOCS_LICENSE_URL'), - ], - ], - - /* - |-------------------------------------------------------------------------- - | Servers - |-------------------------------------------------------------------------- - | - | List of API servers displayed in the documentation. - | - */ - - 'servers' => [ - [ - 'url' => env('APP_URL', 'http://localhost'), - 'description' => 'Current Environment', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Authentication Schemes - |-------------------------------------------------------------------------- - | - | Configure how authentication is documented in OpenAPI. - | - */ - - 'auth' => [ - // API Key authentication via header - 'api_key' => [ - 'enabled' => true, - 'name' => 'X-API-Key', - 'in' => 'header', - 'description' => 'API key for authentication. Create keys in your workspace settings.', - ], - - // Bearer token authentication - 'bearer' => [ - 'enabled' => true, - 'scheme' => 'bearer', - 'format' => 'JWT', - 'description' => 'Bearer token authentication for user sessions.', - ], - - // OAuth2 (if applicable) - 'oauth2' => [ - 'enabled' => false, - 'flows' => [ - 'authorizationCode' => [ - 'authorizationUrl' => '/oauth/authorize', - 'tokenUrl' => '/oauth/token', - 'refreshUrl' => '/oauth/token', - 'scopes' => [ - 'read' => 'Read access to resources', - 'write' => 'Write access to resources', - 'delete' => 'Delete access to resources', - ], - ], - ], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Workspace Header - |-------------------------------------------------------------------------- - | - | Configure the workspace header documentation. - | - */ - - 'workspace' => [ - 'header_name' => 'X-Workspace-ID', - 'required' => false, - 'description' => 'Optional workspace identifier for multi-tenant operations. If not provided, the default workspace associated with the API key will be used.', - ], - - /* - |-------------------------------------------------------------------------- - | Rate Limiting Documentation - |-------------------------------------------------------------------------- - | - | Configure how rate limits are documented in responses. - | - */ - - 'rate_limits' => [ - 'enabled' => true, - 'headers' => [ - 'X-RateLimit-Limit' => 'Maximum number of requests allowed per window', - 'X-RateLimit-Remaining' => 'Number of requests remaining in the current window', - 'X-RateLimit-Reset' => 'Unix timestamp when the rate limit window resets', - 'Retry-After' => 'Seconds to wait before retrying (only on 429 responses)', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Module Tags - |-------------------------------------------------------------------------- - | - | Map module namespaces to documentation tags for grouping endpoints. - | - */ - - 'tags' => [ - // Module namespace => Tag configuration - 'Bio' => [ - 'name' => 'Bio Links', - 'description' => 'Bio link pages, blocks, and customization', - ], - 'Commerce' => [ - 'name' => 'Commerce', - 'description' => 'Billing, subscriptions, orders, and invoices', - ], - 'Analytics' => [ - 'name' => 'Analytics', - 'description' => 'Website and link analytics tracking', - ], - 'Social' => [ - 'name' => 'Social', - 'description' => 'Social media management and scheduling', - ], - 'Notify' => [ - 'name' => 'Notifications', - 'description' => 'Push notifications and alerts', - ], - 'Support' => [ - 'name' => 'Support', - 'description' => 'Helpdesk and customer support', - ], - 'Tenant' => [ - 'name' => 'Workspaces', - 'description' => 'Workspace and team management', - ], - 'Pixel' => [ - 'name' => 'Pixel', - 'description' => 'Unified tracking pixel endpoints', - ], - 'SEO' => [ - 'name' => 'SEO', - 'description' => 'SEO analysis and reporting', - ], - 'MCP' => [ - 'name' => 'MCP', - 'description' => 'Model Context Protocol HTTP bridge', - ], - 'Content' => [ - 'name' => 'Content', - 'description' => 'AI content generation', - ], - 'Trust' => [ - 'name' => 'Trust', - 'description' => 'Social proof and testimonials', - ], - 'Webhooks' => [ - 'name' => 'Webhooks', - 'description' => 'Webhook endpoints and management', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Route Filtering - |-------------------------------------------------------------------------- - | - | Configure which routes are included in the documentation. - | - */ - - 'routes' => [ - // Only include routes matching these patterns - 'include' => [ - 'api/*', - ], - - // Exclude routes matching these patterns - 'exclude' => [ - 'api/sanctum/*', - 'api/telescope/*', - 'api/horizon/*', - ], - - // Hide internal/admin routes from public docs - 'hide_internal' => true, - ], - - /* - |-------------------------------------------------------------------------- - | Documentation UI - |-------------------------------------------------------------------------- - | - | Configure the documentation UI appearance. - | - */ - - 'ui' => [ - // Default UI renderer: 'swagger', 'scalar', 'redoc', 'stoplight' - 'default' => 'scalar', - - // Swagger UI specific options - 'swagger' => [ - 'doc_expansion' => 'none', // 'list', 'full', 'none' - 'filter' => true, - 'show_extensions' => true, - 'show_common_extensions' => true, - ], - - // Scalar specific options - 'scalar' => [ - 'theme' => 'default', // 'default', 'alternate', 'moon', 'purple', 'solarized' - 'show_sidebar' => true, - 'hide_download_button' => false, - 'hide_models' => false, - ], - ], - - /* - |-------------------------------------------------------------------------- - | Access Control - |-------------------------------------------------------------------------- - | - | Configure who can access the documentation. - | - */ - - 'access' => [ - // Require authentication to view docs - 'require_auth' => env('API_DOCS_REQUIRE_AUTH', false), - - // Only allow these roles to view docs (empty = all authenticated users) - 'allowed_roles' => [], - - // Allow unauthenticated access in these environments - 'public_environments' => ['local', 'testing', 'staging'], - - // IP whitelist for production (empty = no restriction) - 'ip_whitelist' => [], - ], - - /* - |-------------------------------------------------------------------------- - | Caching - |-------------------------------------------------------------------------- - | - | Configure documentation caching. - | - */ - - 'cache' => [ - // Enable caching of generated OpenAPI spec - 'enabled' => env('API_DOCS_CACHE_ENABLED', true), - - // Cache key prefix - 'key' => 'api-docs:openapi', - - // Cache duration in seconds (1 hour default) - 'ttl' => env('API_DOCS_CACHE_TTL', 3600), - - // Disable cache in these environments - 'disabled_environments' => ['local', 'testing'], - ], - -]; diff --git a/packages/core-api/src/Mod/Api/Exceptions/RateLimitExceededException.php b/packages/core-api/src/Mod/Api/Exceptions/RateLimitExceededException.php deleted file mode 100644 index 62436b1..0000000 --- a/packages/core-api/src/Mod/Api/Exceptions/RateLimitExceededException.php +++ /dev/null @@ -1,56 +0,0 @@ -rateLimitResult; - } - - /** - * Render the exception as a JSON response. - */ - public function render(): JsonResponse - { - return response()->json([ - 'error' => 'rate_limit_exceeded', - 'message' => $this->getMessage(), - 'retry_after' => $this->rateLimitResult->retryAfter, - 'limit' => $this->rateLimitResult->limit, - 'resets_at' => $this->rateLimitResult->resetsAt->toIso8601String(), - ], 429, $this->rateLimitResult->headers()); - } - - /** - * Get headers for the response. - * - * @return array - */ - public function getHeaders(): array - { - return array_map(fn ($value) => (string) $value, $this->rateLimitResult->headers()); - } -} diff --git a/packages/core-api/src/Mod/Api/Guards/AccessTokenGuard.php b/packages/core-api/src/Mod/Api/Guards/AccessTokenGuard.php deleted file mode 100644 index cd098b4..0000000 --- a/packages/core-api/src/Mod/Api/Guards/AccessTokenGuard.php +++ /dev/null @@ -1,98 +0,0 @@ -group(function () { - * // Protected API routes - * }); - */ -class AccessTokenGuard -{ - /** - * The authentication factory instance. - */ - protected Factory $auth; - - /** - * Create a new guard instance. - */ - public function __construct(Factory $auth) - { - $this->auth = $auth; - } - - /** - * Handle the authentication for the incoming request. - * - * This method is called by Laravel's authentication system when using - * the guard. It attempts to authenticate the request using the Bearer - * token and returns the authenticated user if successful. - * - * @return User|null The authenticated user or null if authentication fails - */ - public function __invoke(Request $request): ?User - { - $token = $this->getTokenFromRequest($request); - - if (! $token) { - return null; - } - - $accessToken = UserToken::findToken($token); - - if (! $this->isValidAccessToken($accessToken)) { - return null; - } - - // Update last used timestamp - $accessToken->recordUsage(); - - return $accessToken->user; - } - - /** - * Extract the Bearer token from the request. - * - * Looks for the token in the Authorization header in the format: - * Authorization: Bearer {token} - * - * @return string|null The extracted token or null if not found - */ - protected function getTokenFromRequest(Request $request): ?string - { - $token = $request->bearerToken(); - - return ! empty($token) ? $token : null; - } - - /** - * Validate the access token. - * - * Checks if the token exists and hasn't expired. - * - * @return bool True if the token is valid, false otherwise - */ - protected function isValidAccessToken(?UserToken $accessToken): bool - { - if (! $accessToken) { - return false; - } - - return $accessToken->isValid(); - } -} diff --git a/packages/core-api/src/Mod/Api/Jobs/DeliverWebhookJob.php b/packages/core-api/src/Mod/Api/Jobs/DeliverWebhookJob.php deleted file mode 100644 index ba7612d..0000000 --- a/packages/core-api/src/Mod/Api/Jobs/DeliverWebhookJob.php +++ /dev/null @@ -1,182 +0,0 @@ -queue = config('api.webhooks.queue', 'default'); - - $connection = config('api.webhooks.queue_connection'); - if ($connection) { - $this->connection = $connection; - } - } - - /** - * Execute the job. - */ - public function handle(): void - { - // Don't deliver if endpoint is disabled - $endpoint = $this->delivery->endpoint; - if (! $endpoint || ! $endpoint->shouldReceive($this->delivery->event_type)) { - Log::info('Webhook delivery skipped - endpoint inactive or does not receive this event', [ - 'delivery_id' => $this->delivery->id, - 'event_type' => $this->delivery->event_type, - ]); - - return; - } - - // Get delivery payload with signature headers - $deliveryPayload = $this->delivery->getDeliveryPayload(); - $timeout = config('api.webhooks.timeout', 30); - - Log::info('Attempting webhook delivery', [ - 'delivery_id' => $this->delivery->id, - 'endpoint_url' => $endpoint->url, - 'event_type' => $this->delivery->event_type, - 'attempt' => $this->delivery->attempt, - ]); - - try { - $response = Http::timeout($timeout) - ->withHeaders($deliveryPayload['headers']) - ->withBody($deliveryPayload['body'], 'application/json') - ->post($endpoint->url); - - $statusCode = $response->status(); - $responseBody = $response->body(); - - // Success is any 2xx status code - if ($response->successful()) { - $this->delivery->markSuccess($statusCode, $responseBody); - - Log::info('Webhook delivered successfully', [ - 'delivery_id' => $this->delivery->id, - 'status_code' => $statusCode, - ]); - - return; - } - - // Non-2xx response - mark as failed and potentially retry - $this->handleFailure($statusCode, $responseBody); - - } catch (\Illuminate\Http\Client\ConnectionException $e) { - // Connection timeout or refused - $this->handleFailure(0, 'Connection failed: '.$e->getMessage()); - - } catch (\Throwable $e) { - // Unexpected error - $this->handleFailure(0, 'Unexpected error: '.$e->getMessage()); - - Log::error('Webhook delivery unexpected error', [ - 'delivery_id' => $this->delivery->id, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - } - } - - /** - * Handle a failed delivery attempt. - */ - protected function handleFailure(int $statusCode, ?string $responseBody): void - { - Log::warning('Webhook delivery failed', [ - 'delivery_id' => $this->delivery->id, - 'attempt' => $this->delivery->attempt, - 'status_code' => $statusCode, - 'can_retry' => $this->delivery->canRetry(), - ]); - - // Mark as failed (this also schedules retry if attempts remain) - $this->delivery->markFailed($statusCode, $responseBody); - - // If we can retry, dispatch a new job with the appropriate delay - if ($this->delivery->canRetry() && $this->delivery->next_retry_at) { - $delay = $this->delivery->next_retry_at->diffInSeconds(now()); - - Log::info('Scheduling webhook retry', [ - 'delivery_id' => $this->delivery->id, - 'next_attempt' => $this->delivery->attempt, - 'delay_seconds' => $delay, - 'next_retry_at' => $this->delivery->next_retry_at->toIso8601String(), - ]); - - // Dispatch retry with calculated delay - self::dispatch($this->delivery->fresh())->delay($delay); - } - } - - /** - * Handle a job failure. - */ - public function failed(\Throwable $exception): void - { - Log::error('Webhook delivery job failed completely', [ - 'delivery_id' => $this->delivery->id, - 'error' => $exception->getMessage(), - ]); - } - - /** - * Get the tags for the job. - * - * @return array - */ - public function tags(): array - { - return [ - 'webhook', - 'webhook:'.$this->delivery->webhook_endpoint_id, - 'event:'.$this->delivery->event_type, - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Middleware/AuthenticateApiKey.php b/packages/core-api/src/Mod/Api/Middleware/AuthenticateApiKey.php deleted file mode 100644 index ab6e101..0000000 --- a/packages/core-api/src/Mod/Api/Middleware/AuthenticateApiKey.php +++ /dev/null @@ -1,125 +0,0 @@ -withMiddleware(function (Middleware $middleware) { - * $middleware->alias([ - * 'auth.api' => \App\Http\Middleware\Api\AuthenticateApiKey::class, - * ]); - * }) - */ -class AuthenticateApiKey -{ - public function handle(Request $request, Closure $next, ?string $scope = null): Response - { - $token = $request->bearerToken(); - - if (! $token) { - return $this->unauthorized('API key required. Use Authorization: Bearer '); - } - - // Check if it's an API key (prefixed with hk_) - if (str_starts_with($token, 'hk_')) { - return $this->authenticateApiKey($request, $next, $token, $scope); - } - - // Fall back to Sanctum for OAuth tokens - return $this->authenticateSanctum($request, $next, $scope); - } - - /** - * Authenticate using an API key. - */ - protected function authenticateApiKey( - Request $request, - Closure $next, - string $token, - ?string $scope - ): Response { - $apiKey = ApiKey::findByPlainKey($token); - - if (! $apiKey) { - return $this->unauthorized('Invalid API key'); - } - - if ($apiKey->isExpired()) { - return $this->unauthorized('API key has expired'); - } - - // Check scope if required - if ($scope !== null && ! $apiKey->hasScope($scope)) { - return $this->forbidden("API key missing required scope: {$scope}"); - } - - // Record usage (non-blocking) - $apiKey->recordUsage(); - - // Set request context - $request->setUserResolver(fn () => $apiKey->user); - $request->attributes->set('api_key', $apiKey); - $request->attributes->set('workspace', $apiKey->workspace); - $request->attributes->set('workspace_id', $apiKey->workspace_id); - $request->attributes->set('auth_type', 'api_key'); - - return $next($request); - } - - /** - * Fall back to Sanctum authentication for OAuth tokens. - */ - protected function authenticateSanctum( - Request $request, - Closure $next, - ?string $scope - ): Response { - // For API requests, use token authentication - if (! $request->user()) { - // Try to authenticate via Sanctum token - $guard = auth('sanctum'); - if (! $guard->check()) { - return $this->unauthorized('Invalid authentication token'); - } - - $request->setUserResolver(fn () => $guard->user()); - } - - $request->attributes->set('auth_type', 'sanctum'); - - return $next($request); - } - - /** - * Return 401 Unauthorized response. - */ - protected function unauthorized(string $message): Response - { - return response()->json([ - 'error' => 'unauthorized', - 'message' => $message, - ], 401); - } - - /** - * Return 403 Forbidden response. - */ - protected function forbidden(string $message): Response - { - return response()->json([ - 'error' => 'forbidden', - 'message' => $message, - ], 403); - } -} diff --git a/packages/core-api/src/Mod/Api/Middleware/CheckApiScope.php b/packages/core-api/src/Mod/Api/Middleware/CheckApiScope.php deleted file mode 100644 index 826b979..0000000 --- a/packages/core-api/src/Mod/Api/Middleware/CheckApiScope.php +++ /dev/null @@ -1,52 +0,0 @@ -post('/resource', ...); - * Route::middleware(['auth.api', 'api.scope:read,write'])->put('/resource', ...); - * - * Register in bootstrap/app.php: - * ->withMiddleware(function (Middleware $middleware) { - * $middleware->alias([ - * 'api.scope' => \App\Http\Middleware\Api\CheckApiScope::class, - * ]); - * }) - */ -class CheckApiScope -{ - public function handle(Request $request, Closure $next, string ...$scopes): Response - { - $apiKey = $request->attributes->get('api_key'); - - // If not authenticated via API key, allow through - // (Sanctum auth handles its own scopes) - if (! $apiKey instanceof ApiKey) { - return $next($request); - } - - // Check all required scopes - foreach ($scopes as $scope) { - if (! $apiKey->hasScope($scope)) { - return response()->json([ - 'error' => 'forbidden', - 'message' => "API key missing required scope: {$scope}", - 'required_scopes' => $scopes, - 'key_scopes' => $apiKey->scopes, - ], 403); - } - } - - return $next($request); - } -} diff --git a/packages/core-api/src/Mod/Api/Middleware/EnforceApiScope.php b/packages/core-api/src/Mod/Api/Middleware/EnforceApiScope.php deleted file mode 100644 index 2a91f42..0000000 --- a/packages/core-api/src/Mod/Api/Middleware/EnforceApiScope.php +++ /dev/null @@ -1,65 +0,0 @@ - read - * - POST, PUT, PATCH -> write - * - DELETE -> delete - * - * Usage: Add to routes alongside api.auth middleware. - * Route::middleware(['api.auth', 'api.scope.enforce'])->group(...) - * - * For routes that need to override the auto-detection, use CheckApiScope: - * Route::middleware(['api.auth', 'api.scope:read'])->post('/readonly-action', ...) - */ -class EnforceApiScope -{ - /** - * HTTP method to required scope mapping. - */ - protected const METHOD_SCOPES = [ - 'GET' => ApiKey::SCOPE_READ, - 'HEAD' => ApiKey::SCOPE_READ, - 'OPTIONS' => ApiKey::SCOPE_READ, - 'POST' => ApiKey::SCOPE_WRITE, - 'PUT' => ApiKey::SCOPE_WRITE, - 'PATCH' => ApiKey::SCOPE_WRITE, - 'DELETE' => ApiKey::SCOPE_DELETE, - ]; - - public function handle(Request $request, Closure $next): Response - { - $apiKey = $request->attributes->get('api_key'); - - // If not authenticated via API key, allow through - // Session auth and Sanctum handle their own permissions - if (! $apiKey instanceof ApiKey) { - return $next($request); - } - - $method = strtoupper($request->method()); - $requiredScope = self::METHOD_SCOPES[$method] ?? ApiKey::SCOPE_READ; - - if (! $apiKey->hasScope($requiredScope)) { - return response()->json([ - 'error' => 'forbidden', - 'message' => "API key missing required scope: {$requiredScope}", - 'detail' => "{$method} requests require '{$requiredScope}' scope", - 'key_scopes' => $apiKey->scopes, - ], 403); - } - - return $next($request); - } -} diff --git a/packages/core-api/src/Mod/Api/Middleware/PublicApiCors.php b/packages/core-api/src/Mod/Api/Middleware/PublicApiCors.php deleted file mode 100644 index da299df..0000000 --- a/packages/core-api/src/Mod/Api/Middleware/PublicApiCors.php +++ /dev/null @@ -1,64 +0,0 @@ -isMethod('OPTIONS')) { - return $this->buildPreflightResponse($request); - } - - $response = $next($request); - - return $this->addCorsHeaders($response, $request); - } - - /** - * Build preflight response for OPTIONS requests. - */ - protected function buildPreflightResponse(Request $request): Response - { - $response = response('', 204); - - return $this->addCorsHeaders($response, $request); - } - - /** - * Add CORS headers to response. - */ - protected function addCorsHeaders(Response $response, Request $request): Response - { - $origin = $request->header('Origin', '*'); - - // Allow any origin for public widget/pixel endpoints - $response->headers->set('Access-Control-Allow-Origin', $origin); - $response->headers->set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS'); - $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, X-Requested-With'); - $response->headers->set('Access-Control-Expose-Headers', 'X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After'); - $response->headers->set('Access-Control-Max-Age', '3600'); - - // Vary on Origin for proper caching - $response->headers->set('Vary', 'Origin'); - - return $response; - } -} diff --git a/packages/core-api/src/Mod/Api/Middleware/RateLimitApi.php b/packages/core-api/src/Mod/Api/Middleware/RateLimitApi.php deleted file mode 100644 index 772bb5d..0000000 --- a/packages/core-api/src/Mod/Api/Middleware/RateLimitApi.php +++ /dev/null @@ -1,352 +0,0 @@ -withMiddleware(function (Middleware $middleware) { - * $middleware->alias([ - * 'api.rate' => \Core\Mod\Api\Middleware\RateLimitApi::class, - * ]); - * }) - */ -class RateLimitApi -{ - public function __construct( - protected RateLimitService $rateLimitService, - ) {} - - public function handle(Request $request, Closure $next): Response - { - // Check if rate limiting is enabled - if (! config('api.rate_limits.enabled', true)) { - return $next($request); - } - - $rateLimitConfig = $this->resolveRateLimitConfig($request); - $key = $this->resolveRateLimitKey($request, $rateLimitConfig); - - // Perform rate limit check and hit - $result = $this->rateLimitService->hit( - key: $key, - limit: $rateLimitConfig['limit'], - window: $rateLimitConfig['window'], - burst: $rateLimitConfig['burst'], - ); - - if (! $result->allowed) { - throw new RateLimitExceededException($result); - } - - $response = $next($request); - - return $this->addRateLimitHeaders($response, $result); - } - - /** - * Resolve the rate limit configuration for the request. - * - * @return array{limit: int, window: int, burst: float, key: string|null} - */ - protected function resolveRateLimitConfig(Request $request): array - { - $defaults = config('api.rate_limits.default', [ - 'limit' => 60, - 'window' => 60, - 'burst' => 1.0, - ]); - - // 1. Check for #[RateLimit] attribute on controller/method - $attributeConfig = $this->getAttributeRateLimit($request); - if ($attributeConfig !== null) { - return array_merge($defaults, $attributeConfig); - } - - // 2. Check for per-endpoint config - $endpointConfig = $this->getEndpointRateLimit($request); - if ($endpointConfig !== null) { - return array_merge($defaults, $endpointConfig); - } - - // 3. Check for tier-based limits - $tierConfig = $this->getTierRateLimit($request); - if ($tierConfig !== null) { - return array_merge($defaults, $tierConfig); - } - - // 4. Use authenticated limits if authenticated - if ($this->isAuthenticated($request)) { - $authenticated = config('api.rate_limits.authenticated', $defaults); - - return [ - 'limit' => $authenticated['requests'] ?? $authenticated['limit'] ?? $defaults['limit'], - 'window' => ($authenticated['per_minutes'] ?? 1) * 60, - 'burst' => $authenticated['burst'] ?? $defaults['burst'] ?? 1.0, - 'key' => null, - ]; - } - - // 5. Use default limits - return [ - 'limit' => $defaults['requests'] ?? $defaults['limit'] ?? 60, - 'window' => ($defaults['per_minutes'] ?? 1) * 60, - 'burst' => $defaults['burst'] ?? 1.0, - 'key' => null, - ]; - } - - /** - * Get rate limit from #[RateLimit] attribute. - * - * @return array{limit: int, window: int, burst: float, key: string|null}|null - */ - protected function getAttributeRateLimit(Request $request): ?array - { - $route = $request->route(); - if (! $route) { - return null; - } - - $controller = $route->getController(); - $method = $route->getActionMethod(); - - if (! $controller || ! $method) { - return null; - } - - try { - // Check method-level attribute first - $reflection = new ReflectionMethod($controller, $method); - $attributes = $reflection->getAttributes(RateLimit::class); - - if (! empty($attributes)) { - /** @var RateLimit $rateLimit */ - $rateLimit = $attributes[0]->newInstance(); - - return [ - 'limit' => $rateLimit->limit, - 'window' => $rateLimit->window, - 'burst' => $rateLimit->burst, - 'key' => $rateLimit->key, - ]; - } - - // Check class-level attribute - $classReflection = new ReflectionClass($controller); - $classAttributes = $classReflection->getAttributes(RateLimit::class); - - if (! empty($classAttributes)) { - /** @var RateLimit $rateLimit */ - $rateLimit = $classAttributes[0]->newInstance(); - - return [ - 'limit' => $rateLimit->limit, - 'window' => $rateLimit->window, - 'burst' => $rateLimit->burst, - 'key' => $rateLimit->key, - ]; - } - } catch (\ReflectionException) { - // Controller or method doesn't exist - } - - return null; - } - - /** - * Get rate limit from per-endpoint config. - * - * @return array{limit: int, window: int, burst: float, key: string|null}|null - */ - protected function getEndpointRateLimit(Request $request): ?array - { - $route = $request->route(); - if (! $route) { - return null; - } - - $routeName = $route->getName(); - if (! $routeName) { - return null; - } - - // Try exact match first (e.g., "api.users.index") - $config = config("api.rate_limits.endpoints.{$routeName}"); - - // Try with dots replaced (e.g., "users.index" for route "api.users.index") - if (! $config) { - $shortName = preg_replace('/^api\./', '', $routeName); - $config = config("api.rate_limits.endpoints.{$shortName}"); - } - - if (! $config) { - return null; - } - - return [ - 'limit' => $config['limit'] ?? $config['requests'] ?? 60, - 'window' => $config['window'] ?? (($config['per_minutes'] ?? 1) * 60), - 'burst' => $config['burst'] ?? 1.0, - 'key' => $config['key'] ?? null, - ]; - } - - /** - * Get tier-based rate limit from workspace subscription. - * - * @return array{limit: int, window: int, burst: float, key: string|null}|null - */ - protected function getTierRateLimit(Request $request): ?array - { - $workspace = $request->attributes->get('workspace'); - if (! $workspace) { - return null; - } - - $tier = $this->getWorkspaceTier($workspace); - $tierConfig = config("api.rate_limits.tiers.{$tier}"); - - if (! $tierConfig) { - // Fall back to by_tier for backwards compatibility - $tierConfig = config("api.rate_limits.by_tier.{$tier}"); - } - - if (! $tierConfig) { - return null; - } - - return [ - 'limit' => $tierConfig['limit'] ?? $tierConfig['requests'] ?? 60, - 'window' => $tierConfig['window'] ?? (($tierConfig['per_minutes'] ?? 1) * 60), - 'burst' => $tierConfig['burst'] ?? 1.0, - 'key' => null, - ]; - } - - /** - * Resolve the rate limit key for the request. - * - * @param array{limit: int, window: int, burst: float, key: string|null} $config - */ - protected function resolveRateLimitKey(Request $request, array $config): string - { - $parts = []; - - // Use custom key suffix if provided - $suffix = $config['key']; - - // Add endpoint to key if per_workspace is enabled and we have a route - $perWorkspace = config('api.rate_limits.per_workspace', true); - $route = $request->route(); - - // Build identifier based on auth context - $apiKey = $request->attributes->get('api_key'); - $workspace = $request->attributes->get('workspace'); - - if ($apiKey instanceof ApiKey) { - $parts[] = "api_key:{$apiKey->id}"; - - // Include workspace if per_workspace is enabled - if ($perWorkspace && $workspace) { - $parts[] = "ws:{$workspace->id}"; - } - } elseif ($request->user()) { - $parts[] = "user:{$request->user()->id}"; - - if ($perWorkspace && $workspace) { - $parts[] = "ws:{$workspace->id}"; - } - } else { - $parts[] = "ip:{$request->ip()}"; - } - - // Add route name for per-endpoint isolation - if ($route && $route->getName()) { - $parts[] = "route:{$route->getName()}"; - } - - // Add custom suffix if provided - if ($suffix) { - $parts[] = $suffix; - } - - return implode(':', $parts); - } - - /** - * Get workspace tier for rate limiting. - */ - protected function getWorkspaceTier(mixed $workspace): string - { - // Check if workspace has an active package/subscription - if (method_exists($workspace, 'activePackages')) { - $package = $workspace->activePackages()->first(); - - return $package?->slug ?? 'free'; - } - - // Check for a tier attribute - if (property_exists($workspace, 'tier')) { - return $workspace->tier ?? 'free'; - } - - // Check for a plan attribute - if (property_exists($workspace, 'plan')) { - return $workspace->plan ?? 'free'; - } - - return 'free'; - } - - /** - * Check if the request is authenticated. - */ - protected function isAuthenticated(Request $request): bool - { - return $request->attributes->get('api_key') !== null - || $request->user() !== null; - } - - /** - * Add rate limit headers to response. - */ - protected function addRateLimitHeaders(Response $response, RateLimitResult $result): Response - { - foreach ($result->headers() as $header => $value) { - $response->headers->set($header, (string) $value); - } - - return $response; - } -} diff --git a/packages/core-api/src/Mod/Api/Middleware/TrackApiUsage.php b/packages/core-api/src/Mod/Api/Middleware/TrackApiUsage.php deleted file mode 100644 index d836106..0000000 --- a/packages/core-api/src/Mod/Api/Middleware/TrackApiUsage.php +++ /dev/null @@ -1,81 +0,0 @@ -attributes->get('api_key'); - - if ($apiKey instanceof ApiKey) { - $this->recordUsage($request, $response, $apiKey, $responseTimeMs); - } - - return $response; - } - - /** - * Record the API usage. - */ - protected function recordUsage( - Request $request, - Response $response, - ApiKey $apiKey, - int $responseTimeMs - ): void { - try { - $this->usageService->record( - apiKeyId: $apiKey->id, - workspaceId: $apiKey->workspace_id, - endpoint: $request->path(), - method: $request->method(), - statusCode: $response->getStatusCode(), - responseTimeMs: $responseTimeMs, - requestSize: strlen($request->getContent()), - responseSize: strlen($response->getContent()), - ipAddress: $request->ip(), - userAgent: $request->userAgent() - ); - } catch (\Throwable $e) { - // Don't let analytics failures affect the API response - Log::warning('Failed to record API usage', [ - 'error' => $e->getMessage(), - 'api_key_id' => $apiKey->id, - 'endpoint' => $request->path(), - ]); - } - } -} diff --git a/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002358_create_api_keys_table.php b/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002358_create_api_keys_table.php deleted file mode 100644 index eb3547a..0000000 --- a/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002358_create_api_keys_table.php +++ /dev/null @@ -1,41 +0,0 @@ -id(); - $table->foreignId('workspace_id')->constrained('workspaces')->cascadeOnDelete(); - $table->foreignId('user_id')->constrained()->cascadeOnDelete(); - $table->string('name'); - $table->string('key', 64)->comment('SHA256 hash of the key'); - $table->string('prefix', 16)->comment('Key prefix for identification (hk_xxxxxxxx)'); - $table->json('scopes')->default('["read","write"]'); - $table->json('server_scopes')->nullable()->comment('Per-server access: null=all, ["commerce","biohost"]=specific'); - $table->timestamp('last_used_at')->nullable(); - $table->timestamp('expires_at')->nullable(); - $table->softDeletes(); - $table->timestamps(); - - // Index for key lookup - $table->index(['prefix', 'key']); - $table->index('workspace_id'); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('api_keys'); - } -}; diff --git a/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002400_create_webhook_endpoints_table.php b/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002400_create_webhook_endpoints_table.php deleted file mode 100644 index eebe7b3..0000000 --- a/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002400_create_webhook_endpoints_table.php +++ /dev/null @@ -1,40 +0,0 @@ -id(); - $table->foreignId('workspace_id')->constrained('workspaces')->cascadeOnDelete(); - $table->string('url'); - $table->string('secret', 64)->comment('HMAC signing secret'); - $table->json('events')->comment('Event types to receive, or ["*"] for all'); - $table->boolean('active')->default(true); - $table->string('description')->nullable(); - $table->timestamp('last_triggered_at')->nullable(); - $table->unsignedInteger('failure_count')->default(0); - $table->timestamp('disabled_at')->nullable()->comment('Auto-disabled after 10 consecutive failures'); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['workspace_id', 'active']); - $table->index(['active', 'disabled_at']); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('webhook_endpoints'); - } -}; diff --git a/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002401_create_webhook_deliveries_table.php b/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002401_create_webhook_deliveries_table.php deleted file mode 100644 index 96faf41..0000000 --- a/packages/core-api/src/Mod/Api/Migrations/2026_01_07_002401_create_webhook_deliveries_table.php +++ /dev/null @@ -1,40 +0,0 @@ -id(); - $table->foreignId('webhook_endpoint_id')->constrained('webhook_endpoints')->cascadeOnDelete(); - $table->string('event_id', 32)->comment('Unique event identifier (evt_xxx)'); - $table->string('event_type', 64)->index(); - $table->json('payload'); - $table->unsignedSmallInteger('response_code')->nullable(); - $table->text('response_body')->nullable(); - $table->unsignedTinyInteger('attempt')->default(1); - $table->string('status', 16)->default('pending')->comment('pending, success, failed, retrying'); - $table->timestamp('delivered_at')->nullable(); - $table->timestamp('next_retry_at')->nullable()->index(); - $table->timestamps(); - - $table->index(['webhook_endpoint_id', 'status']); - $table->index(['status', 'next_retry_at']); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('webhook_deliveries'); - } -}; diff --git a/packages/core-api/src/Mod/Api/Migrations/2026_01_27_000000_add_secure_hashing_to_api_keys_table.php b/packages/core-api/src/Mod/Api/Migrations/2026_01_27_000000_add_secure_hashing_to_api_keys_table.php deleted file mode 100644 index 4883ffc..0000000 --- a/packages/core-api/src/Mod/Api/Migrations/2026_01_27_000000_add_secure_hashing_to_api_keys_table.php +++ /dev/null @@ -1,46 +0,0 @@ -string('hash_algorithm', 16)->default('sha256')->after('key'); - - // Grace period for key rotation - old key remains valid until this time - $table->timestamp('grace_period_ends_at')->nullable()->after('expires_at'); - - // Track key rotation lineage - $table->foreignId('rotated_from_id') - ->nullable() - ->after('grace_period_ends_at') - ->constrained('api_keys') - ->nullOnDelete(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('api_keys', function (Blueprint $table) { - $table->dropForeign(['rotated_from_id']); - $table->dropColumn(['hash_algorithm', 'grace_period_ends_at', 'rotated_from_id']); - }); - } -}; diff --git a/packages/core-api/src/Mod/Api/Models/ApiKey.php b/packages/core-api/src/Mod/Api/Models/ApiKey.php deleted file mode 100644 index 61587a7..0000000 --- a/packages/core-api/src/Mod/Api/Models/ApiKey.php +++ /dev/null @@ -1,412 +0,0 @@ - 'array', - 'server_scopes' => 'array', - 'last_used_at' => 'datetime', - 'expires_at' => 'datetime', - 'grace_period_ends_at' => 'datetime', - ]; - - protected $hidden = [ - 'key', // Never expose the hashed key - ]; - - /** - * Generate a new API key for a workspace. - * - * Returns both the ApiKey model and the plain key (only available once). - * New keys use bcrypt for secure hashing with salt. - * - * @return array{api_key: ApiKey, plain_key: string} - */ - public static function generate( - int $workspaceId, - int $userId, - string $name, - array $scopes = [self::SCOPE_READ, self::SCOPE_WRITE], - ?\DateTimeInterface $expiresAt = null - ): array { - $plainKey = Str::random(48); - $prefix = 'hk_'.Str::random(8); - - $apiKey = static::create([ - 'workspace_id' => $workspaceId, - 'user_id' => $userId, - 'name' => $name, - 'key' => Hash::make($plainKey), - 'hash_algorithm' => self::HASH_BCRYPT, - 'prefix' => $prefix, - 'scopes' => $scopes, - 'expires_at' => $expiresAt, - ]); - - // Return plain key only once - never stored - return [ - 'api_key' => $apiKey, - 'plain_key' => "{$prefix}_{$plainKey}", - ]; - } - - /** - * Find an API key by its plain text value. - * - * Supports both legacy SHA-256 keys and new bcrypt keys. - * For bcrypt keys, we must load all candidates by prefix and verify each. - */ - public static function findByPlainKey(string $plainKey): ?static - { - // Expected format: hk_xxxxxxxx_xxxxx... - if (! str_starts_with($plainKey, 'hk_')) { - return null; - } - - $parts = explode('_', $plainKey, 3); - if (count($parts) !== 3) { - return null; - } - - $prefix = $parts[0].'_'.$parts[1]; // hk_xxxxxxxx - $key = $parts[2]; - - // Find potential matches by prefix - $candidates = static::where('prefix', $prefix) - ->whereNull('deleted_at') - ->where(function ($query) { - $query->whereNull('expires_at') - ->orWhere('expires_at', '>', now()); - }) - ->where(function ($query) { - // Exclude keys past their grace period - $query->whereNull('grace_period_ends_at') - ->orWhere('grace_period_ends_at', '>', now()); - }) - ->get(); - - foreach ($candidates as $candidate) { - if ($candidate->verifyKey($key)) { - return $candidate; - } - } - - return null; - } - - /** - * Verify if the provided key matches this API key's stored hash. - * - * Handles both legacy SHA-256 and secure bcrypt algorithms. - */ - public function verifyKey(string $plainKey): bool - { - if ($this->hash_algorithm === self::HASH_BCRYPT) { - return Hash::check($plainKey, $this->key); - } - - // Legacy SHA-256 verification (for backward compatibility) - return hash_equals($this->key, hash('sha256', $plainKey)); - } - - /** - * Check if this key uses legacy (insecure) SHA-256 hashing. - * - * Keys using SHA-256 should be rotated to use bcrypt. - */ - public function usesLegacyHash(): bool - { - return $this->hash_algorithm === self::HASH_SHA256 - || $this->hash_algorithm === null; - } - - /** - * Rotate this API key, creating a new secure key. - * - * The old key remains valid during the grace period to allow - * seamless migration of integrations. - * - * @param int $gracePeriodHours Hours the old key remains valid - * @return array{api_key: ApiKey, plain_key: string, old_key: ApiKey} - */ - public function rotate(int $gracePeriodHours = self::DEFAULT_GRACE_PERIOD_HOURS): array - { - // Create new key with same settings - $result = static::generate( - $this->workspace_id, - $this->user_id, - $this->name, - $this->scopes ?? [self::SCOPE_READ, self::SCOPE_WRITE], - $this->expires_at - ); - - // Copy server scopes to new key - $result['api_key']->update([ - 'server_scopes' => $this->server_scopes, - 'rotated_from_id' => $this->id, - ]); - - // Set grace period on old key - $this->update([ - 'grace_period_ends_at' => now()->addHours($gracePeriodHours), - ]); - - return [ - 'api_key' => $result['api_key'], - 'plain_key' => $result['plain_key'], - 'old_key' => $this, - ]; - } - - /** - * Check if this key is currently in a rotation grace period. - */ - public function isInGracePeriod(): bool - { - return $this->grace_period_ends_at !== null - && $this->grace_period_ends_at->isFuture(); - } - - /** - * Check if the grace period has expired (key should be revoked). - */ - public function isGracePeriodExpired(): bool - { - return $this->grace_period_ends_at !== null - && $this->grace_period_ends_at->isPast(); - } - - /** - * End the grace period early and revoke this key. - */ - public function endGracePeriod(): void - { - $this->update(['grace_period_ends_at' => now()]); - $this->revoke(); - } - - /** - * Record API key usage. - */ - public function recordUsage(): void - { - $this->update(['last_used_at' => now()]); - } - - /** - * Check if key has a specific scope. - */ - public function hasScope(string $scope): bool - { - return in_array($scope, $this->scopes ?? [], true); - } - - /** - * Check if key has all specified scopes. - */ - public function hasScopes(array $scopes): bool - { - foreach ($scopes as $scope) { - if (! $this->hasScope($scope)) { - return false; - } - } - - return true; - } - - /** - * Check if key is expired. - */ - public function isExpired(): bool - { - return $this->expires_at !== null && $this->expires_at->isPast(); - } - - /** - * Check if key has access to a specific MCP server. - */ - public function hasServerAccess(string $serverId): bool - { - // Null means all servers - if ($this->server_scopes === null) { - return true; - } - - return in_array($serverId, $this->server_scopes, true); - } - - /** - * Get list of allowed servers (null = all). - */ - public function getAllowedServers(): ?array - { - return $this->server_scopes; - } - - /** - * Revoke this API key. - */ - public function revoke(): void - { - $this->delete(); - } - - /** - * Get the masked key for display. - * Shows prefix and last 4 characters. - */ - public function getMaskedKeyAttribute(): string - { - return "{$this->prefix}_****"; - } - - // Relationships - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class, 'workspace_id'); - } - - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Get the key this one was rotated from. - */ - public function rotatedFrom(): BelongsTo - { - return $this->belongsTo(static::class, 'rotated_from_id'); - } - - // Query Scopes - public function scopeForWorkspace($query, int $workspaceId) - { - return $query->where('workspace_id', $workspaceId); - } - - public function scopeActive($query) - { - return $query->whereNull('deleted_at') - ->where(function ($q) { - $q->whereNull('expires_at') - ->orWhere('expires_at', '>', now()); - }) - ->where(function ($q) { - $q->whereNull('grace_period_ends_at') - ->orWhere('grace_period_ends_at', '>', now()); - }); - } - - public function scopeExpired($query) - { - return $query->whereNotNull('expires_at') - ->where('expires_at', '<=', now()); - } - - /** - * Keys currently in a rotation grace period. - */ - public function scopeInGracePeriod($query) - { - return $query->whereNotNull('grace_period_ends_at') - ->where('grace_period_ends_at', '>', now()); - } - - /** - * Keys with expired grace periods (should be cleaned up). - */ - public function scopeGracePeriodExpired($query) - { - return $query->whereNotNull('grace_period_ends_at') - ->where('grace_period_ends_at', '<=', now()); - } - - /** - * Keys using legacy SHA-256 hashing (should be rotated). - */ - public function scopeLegacyHash($query) - { - return $query->where(function ($q) { - $q->where('hash_algorithm', self::HASH_SHA256) - ->orWhereNull('hash_algorithm'); - }); - } - - /** - * Keys using secure bcrypt hashing. - */ - public function scopeSecureHash($query) - { - return $query->where('hash_algorithm', self::HASH_BCRYPT); - } -} diff --git a/packages/core-api/src/Mod/Api/Models/ApiUsage.php b/packages/core-api/src/Mod/Api/Models/ApiUsage.php deleted file mode 100644 index 3bae241..0000000 --- a/packages/core-api/src/Mod/Api/Models/ApiUsage.php +++ /dev/null @@ -1,135 +0,0 @@ - 'datetime', - ]; - - /** - * Create a usage entry from request/response data. - */ - public static function record( - int $apiKeyId, - int $workspaceId, - string $endpoint, - string $method, - int $statusCode, - int $responseTimeMs, - ?int $requestSize = null, - ?int $responseSize = null, - ?string $ipAddress = null, - ?string $userAgent = null - ): static { - return static::create([ - 'api_key_id' => $apiKeyId, - 'workspace_id' => $workspaceId, - 'endpoint' => $endpoint, - 'method' => strtoupper($method), - 'status_code' => $statusCode, - 'response_time_ms' => $responseTimeMs, - 'request_size' => $requestSize, - 'response_size' => $responseSize, - 'ip_address' => $ipAddress, - 'user_agent' => $userAgent ? substr($userAgent, 0, 500) : null, - 'created_at' => now(), - ]); - } - - /** - * Check if this was a successful request (2xx status). - */ - public function isSuccess(): bool - { - return $this->status_code >= 200 && $this->status_code < 300; - } - - /** - * Check if this was a client error (4xx status). - */ - public function isClientError(): bool - { - return $this->status_code >= 400 && $this->status_code < 500; - } - - /** - * Check if this was a server error (5xx status). - */ - public function isServerError(): bool - { - return $this->status_code >= 500; - } - - // Relationships - public function apiKey(): BelongsTo - { - return $this->belongsTo(ApiKey::class); - } - - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // Scopes - public function scopeForKey($query, int $apiKeyId) - { - return $query->where('api_key_id', $apiKeyId); - } - - public function scopeForWorkspace($query, int $workspaceId) - { - return $query->where('workspace_id', $workspaceId); - } - - public function scopeForEndpoint($query, string $endpoint) - { - return $query->where('endpoint', $endpoint); - } - - public function scopeSuccessful($query) - { - return $query->whereBetween('status_code', [200, 299]); - } - - public function scopeErrors($query) - { - return $query->where('status_code', '>=', 400); - } - - public function scopeBetween($query, $startDate, $endDate) - { - return $query->whereBetween('created_at', [$startDate, $endDate]); - } -} diff --git a/packages/core-api/src/Mod/Api/Models/ApiUsageDaily.php b/packages/core-api/src/Mod/Api/Models/ApiUsageDaily.php deleted file mode 100644 index 9dd15cb..0000000 --- a/packages/core-api/src/Mod/Api/Models/ApiUsageDaily.php +++ /dev/null @@ -1,172 +0,0 @@ - 'date', - ]; - - /** - * Update or create daily stats from a usage record. - * - * Uses Laravel's upsert() for database portability while maintaining - * atomic operations. For increment operations, we use a two-step approach: - * first upsert the base record, then atomically update counters. - */ - public static function recordFromUsage(ApiUsage $usage): static - { - $isSuccess = $usage->isSuccess(); - $isError = $usage->status_code >= 400; - $date = $usage->created_at->toDateString(); - $now = now(); - - // Unique key for this daily aggregation - $uniqueKey = [ - 'api_key_id' => $usage->api_key_id, - 'workspace_id' => $usage->workspace_id, - 'date' => $date, - 'endpoint' => $usage->endpoint, - 'method' => $usage->method, - ]; - - // First, ensure the record exists with upsert (database-portable) - static::upsert( - [ - ...$uniqueKey, - 'request_count' => 0, - 'success_count' => 0, - 'error_count' => 0, - 'total_response_time_ms' => 0, - 'total_request_size' => 0, - 'total_response_size' => 0, - 'min_response_time_ms' => null, - 'max_response_time_ms' => null, - 'created_at' => $now, - 'updated_at' => $now, - ], - ['api_key_id', 'workspace_id', 'date', 'endpoint', 'method'], - ['updated_at'] // Only touch updated_at if record exists - ); - - // Then atomically increment counters using query builder - $query = static::where($uniqueKey); - - // Build raw update for atomic increments - $query->update([ - 'request_count' => DB::raw('request_count + 1'), - 'success_count' => DB::raw('success_count + '.($isSuccess ? 1 : 0)), - 'error_count' => DB::raw('error_count + '.($isError ? 1 : 0)), - 'total_response_time_ms' => DB::raw('total_response_time_ms + '.(int) $usage->response_time_ms), - 'total_request_size' => DB::raw('total_request_size + '.(int) ($usage->request_size ?? 0)), - 'total_response_size' => DB::raw('total_response_size + '.(int) ($usage->response_size ?? 0)), - 'updated_at' => $now, - ]); - - // Update min/max response times (these need conditional logic) - $responseTimeMs = (int) $usage->response_time_ms; - static::where($uniqueKey) - ->where(function ($q) use ($responseTimeMs) { - $q->whereNull('min_response_time_ms') - ->orWhere('min_response_time_ms', '>', $responseTimeMs); - }) - ->update(['min_response_time_ms' => $responseTimeMs]); - - static::where($uniqueKey) - ->where(function ($q) use ($responseTimeMs) { - $q->whereNull('max_response_time_ms') - ->orWhere('max_response_time_ms', '<', $responseTimeMs); - }) - ->update(['max_response_time_ms' => $responseTimeMs]); - - // Retrieve the record for return - return static::where($uniqueKey)->first(); - } - - /** - * Calculate average response time. - */ - public function getAverageResponseTimeMsAttribute(): float - { - if ($this->request_count === 0) { - return 0; - } - - return round($this->total_response_time_ms / $this->request_count, 2); - } - - /** - * Calculate success rate percentage. - */ - public function getSuccessRateAttribute(): float - { - if ($this->request_count === 0) { - return 100; - } - - return round(($this->success_count / $this->request_count) * 100, 2); - } - - // Relationships - public function apiKey(): BelongsTo - { - return $this->belongsTo(ApiKey::class); - } - - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // Scopes - public function scopeForKey($query, int $apiKeyId) - { - return $query->where('api_key_id', $apiKeyId); - } - - public function scopeForWorkspace($query, int $workspaceId) - { - return $query->where('workspace_id', $workspaceId); - } - - public function scopeForEndpoint($query, string $endpoint) - { - return $query->where('endpoint', $endpoint); - } - - public function scopeBetween($query, $startDate, $endDate) - { - return $query->whereBetween('date', [$startDate, $endDate]); - } -} diff --git a/packages/core-api/src/Mod/Api/Models/WebhookDelivery.php b/packages/core-api/src/Mod/Api/Models/WebhookDelivery.php deleted file mode 100644 index 637b6c2..0000000 --- a/packages/core-api/src/Mod/Api/Models/WebhookDelivery.php +++ /dev/null @@ -1,209 +0,0 @@ - 1, // 1 minute - 2 => 5, // 5 minutes - 3 => 30, // 30 minutes - 4 => 120, // 2 hours - 5 => 1440, // 24 hours - ]; - - protected $fillable = [ - 'webhook_endpoint_id', - 'event_id', - 'event_type', - 'payload', - 'response_code', - 'response_body', - 'attempt', - 'status', - 'delivered_at', - 'next_retry_at', - ]; - - protected $casts = [ - 'payload' => 'array', - 'delivered_at' => 'datetime', - 'next_retry_at' => 'datetime', - ]; - - /** - * Create a new delivery for an event. - */ - public static function createForEvent( - WebhookEndpoint $endpoint, - string $eventType, - array $data, - ?int $workspaceId = null - ): static { - return static::create([ - 'webhook_endpoint_id' => $endpoint->id, - 'event_id' => 'evt_'.Str::random(24), - 'event_type' => $eventType, - 'payload' => [ - 'id' => 'evt_'.Str::random(24), - 'type' => $eventType, - 'created_at' => now()->toIso8601String(), - 'data' => $data, - 'workspace_id' => $workspaceId, - ], - 'status' => self::STATUS_PENDING, - 'attempt' => 1, - ]); - } - - /** - * Mark as successfully delivered. - */ - public function markSuccess(int $responseCode, ?string $responseBody = null): void - { - $this->update([ - 'status' => self::STATUS_SUCCESS, - 'response_code' => $responseCode, - 'response_body' => $responseBody ? Str::limit($responseBody, 10000) : null, - 'delivered_at' => now(), - 'next_retry_at' => null, - ]); - - $this->endpoint->recordSuccess(); - } - - /** - * Mark as failed and schedule retry if attempts remain. - */ - public function markFailed(int $responseCode, ?string $responseBody = null): void - { - $this->endpoint->recordFailure(); - - if ($this->attempt >= self::MAX_RETRIES) { - $this->update([ - 'status' => self::STATUS_FAILED, - 'response_code' => $responseCode, - 'response_body' => $responseBody ? Str::limit($responseBody, 10000) : null, - ]); - - return; - } - - // Schedule retry - $nextAttempt = $this->attempt + 1; - $delayMinutes = self::RETRY_DELAYS[$nextAttempt] ?? 1440; - - $this->update([ - 'status' => self::STATUS_RETRYING, - 'response_code' => $responseCode, - 'response_body' => $responseBody ? Str::limit($responseBody, 10000) : null, - 'attempt' => $nextAttempt, - 'next_retry_at' => now()->addMinutes($delayMinutes), - ]); - } - - /** - * Check if delivery can be retried. - */ - public function canRetry(): bool - { - return $this->attempt < self::MAX_RETRIES - && $this->status !== self::STATUS_SUCCESS; - } - - /** - * Get formatted payload with signature headers. - * - * Includes all required headers for webhook verification: - * - X-Webhook-Signature: HMAC-SHA256 signature of timestamp.payload - * - X-Webhook-Timestamp: Unix timestamp (for replay protection) - * - X-Webhook-Event: The event type (e.g., 'bio.created') - * - X-Webhook-Id: Unique delivery ID for idempotency - * - * ## Verification Instructions (for recipients) - * - * 1. Get the signature and timestamp from headers - * 2. Compute: HMAC-SHA256(timestamp + "." + rawBody, yourSecret) - * 3. Compare with X-Webhook-Signature using timing-safe comparison - * 4. Verify timestamp is within 5 minutes of current time - * - * @param int|null $timestamp Unix timestamp (defaults to current time) - * @return array{headers: array, body: string} - */ - public function getDeliveryPayload(?int $timestamp = null): array - { - $timestamp ??= time(); - $jsonPayload = json_encode($this->payload); - - return [ - 'headers' => [ - 'Content-Type' => 'application/json', - 'X-Webhook-Id' => $this->event_id, - 'X-Webhook-Event' => $this->event_type, - 'X-Webhook-Timestamp' => (string) $timestamp, - 'X-Webhook-Signature' => $this->endpoint->generateSignature($jsonPayload, $timestamp), - ], - 'body' => $jsonPayload, - ]; - } - - // Relationships - public function endpoint(): BelongsTo - { - return $this->belongsTo(WebhookEndpoint::class, 'webhook_endpoint_id'); - } - - // Scopes - public function scopePending($query) - { - return $query->where('status', self::STATUS_PENDING); - } - - public function scopeRetrying($query) - { - return $query->where('status', self::STATUS_RETRYING) - ->where('next_retry_at', '<=', now()); - } - - public function scopeNeedsDelivery($query) - { - return $query->where(function ($q) { - $q->where('status', self::STATUS_PENDING) - ->orWhere(function ($q2) { - $q2->where('status', self::STATUS_RETRYING) - ->where('next_retry_at', '<=', now()); - }); - }); - } -} diff --git a/packages/core-api/src/Mod/Api/Models/WebhookEndpoint.php b/packages/core-api/src/Mod/Api/Models/WebhookEndpoint.php deleted file mode 100644 index 6c4ebad..0000000 --- a/packages/core-api/src/Mod/Api/Models/WebhookEndpoint.php +++ /dev/null @@ -1,266 +0,0 @@ - 'array', - 'active' => 'boolean', - 'last_triggered_at' => 'datetime', - 'disabled_at' => 'datetime', - ]; - - protected $hidden = [ - 'secret', - ]; - - /** - * Create a new webhook endpoint with auto-generated secret. - */ - public static function createForWorkspace( - int $workspaceId, - string $url, - array $events, - ?string $description = null - ): static { - $signatureService = app(WebhookSignature::class); - - return static::create([ - 'workspace_id' => $workspaceId, - 'url' => $url, - 'secret' => $signatureService->generateSecret(), - 'events' => $events, - 'description' => $description, - 'active' => true, - ]); - } - - /** - * Generate signature for payload with timestamp. - * - * The signature includes the timestamp to prevent replay attacks. - * Format: HMAC-SHA256(timestamp + "." + payload, secret) - * - * @param string $payload The JSON-encoded webhook payload - * @param int $timestamp Unix timestamp of the request - * @return string The hex-encoded HMAC-SHA256 signature - */ - public function generateSignature(string $payload, int $timestamp): string - { - $signatureService = app(WebhookSignature::class); - - return $signatureService->sign($payload, $this->secret, $timestamp); - } - - /** - * Verify a signature from an incoming request (for testing endpoints). - * - * @param string $payload The raw request body - * @param string $signature The signature from the header - * @param int $timestamp The timestamp from the header - * @param int $tolerance Maximum age in seconds (default: 300) - * @return bool True if the signature is valid - */ - public function verifySignature( - string $payload, - string $signature, - int $timestamp, - int $tolerance = WebhookSignature::DEFAULT_TOLERANCE - ): bool { - $signatureService = app(WebhookSignature::class); - - return $signatureService->verify($payload, $signature, $this->secret, $timestamp, $tolerance); - } - - /** - * Check if endpoint should receive an event. - */ - public function shouldReceive(string $eventType): bool - { - if (! $this->active) { - return false; - } - - if ($this->disabled_at !== null) { - return false; - } - - return in_array($eventType, $this->events, true) - || in_array('*', $this->events, true); - } - - /** - * Record successful delivery. - */ - public function recordSuccess(): void - { - $this->update([ - 'last_triggered_at' => now(), - 'failure_count' => 0, - ]); - } - - /** - * Record failed delivery. - * Auto-disables after 10 consecutive failures. - */ - public function recordFailure(): void - { - $failureCount = $this->failure_count + 1; - - $updates = [ - 'failure_count' => $failureCount, - 'last_triggered_at' => now(), - ]; - - // Auto-disable after 10 consecutive failures - if ($failureCount >= 10) { - $updates['disabled_at'] = now(); - $updates['active'] = false; - } - - $this->update($updates); - } - - /** - * Re-enable a disabled endpoint. - */ - public function enable(): void - { - $this->update([ - 'active' => true, - 'disabled_at' => null, - 'failure_count' => 0, - ]); - } - - /** - * Rotate the webhook secret. - * - * Generates a new cryptographically secure secret. The old secret - * immediately becomes invalid - recipients must update their configuration. - * - * @return string The new secret (only returned once, store securely) - */ - public function rotateSecret(): string - { - $signatureService = app(WebhookSignature::class); - $newSecret = $signatureService->generateSecret(); - $this->update(['secret' => $newSecret]); - - return $newSecret; - } - - // Relationships - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class, 'workspace_id'); - } - - public function deliveries(): HasMany - { - return $this->hasMany(WebhookDelivery::class); - } - - // Scopes - public function scopeActive($query) - { - return $query->where('active', true) - ->whereNull('disabled_at'); - } - - public function scopeForWorkspace($query, int $workspaceId) - { - return $query->where('workspace_id', $workspaceId); - } - - public function scopeForEvent($query, string $eventType) - { - return $query->where(function ($q) use ($eventType) { - $q->whereJsonContains('events', $eventType) - ->orWhereJsonContains('events', '*'); - }); - } -} diff --git a/packages/core-api/src/Mod/Api/Notifications/HighApiUsageNotification.php b/packages/core-api/src/Mod/Api/Notifications/HighApiUsageNotification.php deleted file mode 100644 index ae8c44a..0000000 --- a/packages/core-api/src/Mod/Api/Notifications/HighApiUsageNotification.php +++ /dev/null @@ -1,111 +0,0 @@ - - */ - public function via(object $notifiable): array - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - */ - public function toMail(object $notifiable): MailMessage - { - $percentage = round(($this->currentUsage / $this->limit) * 100, 1); - - $subject = match ($this->level) { - 'critical' => "API Usage Critical - {$percentage}% of limit reached", - default => "API Usage Warning - {$percentage}% of limit reached", - }; - - $message = (new MailMessage) - ->subject($subject) - ->greeting($this->getGreeting()) - ->line($this->getMainMessage()) - ->line("**Workspace:** {$this->workspace->name}") - ->line("**Current usage:** {$this->currentUsage} requests") - ->line("**Rate limit:** {$this->limit} requests per {$this->period}") - ->line("**Usage:** {$percentage}%"); - - if ($this->level === 'critical') { - $message->line('If you exceed your rate limit, API requests will be temporarily blocked until the limit resets.'); - } - - $message->action('View API Usage', url('/developer/api')) - ->line('Consider upgrading your plan if you regularly approach these limits.'); - - return $message; - } - - /** - * Get the greeting based on level. - */ - protected function getGreeting(): string - { - return match ($this->level) { - 'critical' => 'Warning: API Usage Critical', - default => 'Notice: API Usage High', - }; - } - - /** - * Get the main message based on level. - */ - protected function getMainMessage(): string - { - return match ($this->level) { - 'critical' => 'Your API usage has reached a critical level and is approaching the rate limit.', - default => 'Your API usage is high and approaching the rate limit threshold.', - }; - } - - /** - * Get the array representation of the notification. - * - * @return array - */ - public function toArray(object $notifiable): array - { - return [ - 'level' => $this->level, - 'workspace_id' => $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'current_usage' => $this->currentUsage, - 'limit' => $this->limit, - 'period' => $this->period, - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/RateLimit/RateLimit.php b/packages/core-api/src/Mod/Api/RateLimit/RateLimit.php deleted file mode 100644 index b49e099..0000000 --- a/packages/core-api/src/Mod/Api/RateLimit/RateLimit.php +++ /dev/null @@ -1,42 +0,0 @@ - - */ - public function headers(): array - { - $headers = [ - 'X-RateLimit-Limit' => $this->limit, - 'X-RateLimit-Remaining' => $this->remaining, - 'X-RateLimit-Reset' => $this->resetsAt->timestamp, - ]; - - if (! $this->allowed) { - $headers['Retry-After'] = $this->retryAfter; - } - - return $headers; - } -} diff --git a/packages/core-api/src/Mod/Api/RateLimit/RateLimitService.php b/packages/core-api/src/Mod/Api/RateLimit/RateLimitService.php deleted file mode 100644 index c85aebd..0000000 --- a/packages/core-api/src/Mod/Api/RateLimit/RateLimitService.php +++ /dev/null @@ -1,247 +0,0 @@ -getCacheKey($key); - $effectiveLimit = (int) floor($limit * $burst); - $now = Carbon::now(); - $windowStart = $now->timestamp - $window; - - // Get current window data - $hits = $this->getWindowHits($cacheKey, $windowStart); - $currentCount = count($hits); - $remaining = max(0, $effectiveLimit - $currentCount); - - // Calculate reset time - $resetsAt = $this->calculateResetTime($hits, $window, $effectiveLimit); - - if ($currentCount >= $effectiveLimit) { - // Find oldest hit to determine retry after - $oldestHit = min($hits); - $retryAfter = max(1, ($oldestHit + $window) - $now->timestamp); - - return RateLimitResult::denied($limit, $retryAfter, $resetsAt); - } - - return RateLimitResult::allowed($limit, $remaining, $resetsAt); - } - - /** - * Record a hit and check if the request is allowed. - * - * @param string $key Unique identifier for the rate limit bucket - * @param int $limit Maximum requests allowed - * @param int $window Time window in seconds - * @param float $burst Burst multiplier (e.g., 1.2 for 20% burst allowance) - */ - public function hit(string $key, int $limit, int $window, float $burst = 1.0): RateLimitResult - { - $cacheKey = $this->getCacheKey($key); - $effectiveLimit = (int) floor($limit * $burst); - $now = Carbon::now(); - $windowStart = $now->timestamp - $window; - - // Get current window data and clean up old entries - $hits = $this->getWindowHits($cacheKey, $windowStart); - $currentCount = count($hits); - - // Calculate reset time - $resetsAt = $this->calculateResetTime($hits, $window, $effectiveLimit); - - if ($currentCount >= $effectiveLimit) { - // Find oldest hit to determine retry after - $oldestHit = min($hits); - $retryAfter = max(1, ($oldestHit + $window) - $now->timestamp); - - return RateLimitResult::denied($limit, $retryAfter, $resetsAt); - } - - // Record the hit - $hits[] = $now->timestamp; - $this->storeWindowHits($cacheKey, $hits, $window); - - $remaining = max(0, $effectiveLimit - count($hits)); - - return RateLimitResult::allowed($limit, $remaining, $resetsAt); - } - - /** - * Get remaining attempts for a key. - * - * @param string $key Unique identifier for the rate limit bucket - * @param int $limit Maximum requests allowed (needed to calculate remaining) - * @param int $window Time window in seconds - * @param float $burst Burst multiplier - */ - public function remaining(string $key, int $limit, int $window, float $burst = 1.0): int - { - $cacheKey = $this->getCacheKey($key); - $effectiveLimit = (int) floor($limit * $burst); - $windowStart = Carbon::now()->timestamp - $window; - - $hits = $this->getWindowHits($cacheKey, $windowStart); - - return max(0, $effectiveLimit - count($hits)); - } - - /** - * Reset (clear) a rate limit bucket. - */ - public function reset(string $key): void - { - $cacheKey = $this->getCacheKey($key); - $this->cache->forget($cacheKey); - } - - /** - * Get the current hit count for a key. - */ - public function attempts(string $key, int $window): int - { - $cacheKey = $this->getCacheKey($key); - $windowStart = Carbon::now()->timestamp - $window; - - return count($this->getWindowHits($cacheKey, $windowStart)); - } - - /** - * Build a rate limit key for an endpoint. - */ - public function buildEndpointKey(string $identifier, string $endpoint): string - { - return "endpoint:{$identifier}:{$endpoint}"; - } - - /** - * Build a rate limit key for a workspace. - */ - public function buildWorkspaceKey(int $workspaceId, ?string $suffix = null): string - { - $key = "workspace:{$workspaceId}"; - - if ($suffix !== null) { - $key .= ":{$suffix}"; - } - - return $key; - } - - /** - * Build a rate limit key for an API key. - */ - public function buildApiKeyKey(int|string $apiKeyId, ?string $suffix = null): string - { - $key = "api_key:{$apiKeyId}"; - - if ($suffix !== null) { - $key .= ":{$suffix}"; - } - - return $key; - } - - /** - * Build a rate limit key for an IP address. - */ - public function buildIpKey(string $ip, ?string $suffix = null): string - { - $key = "ip:{$ip}"; - - if ($suffix !== null) { - $key .= ":{$suffix}"; - } - - return $key; - } - - /** - * Get hits within the sliding window. - * - * @return array Array of timestamps - */ - protected function getWindowHits(string $cacheKey, int $windowStart): array - { - /** @var array $hits */ - $hits = $this->cache->get($cacheKey, []); - - // Filter to only include hits within the window - return array_values(array_filter($hits, fn (int $timestamp) => $timestamp >= $windowStart)); - } - - /** - * Store hits in cache. - * - * @param array $hits Array of timestamps - */ - protected function storeWindowHits(string $cacheKey, array $hits, int $window): void - { - // Add buffer to TTL to handle clock drift - $ttl = $window + 60; - $this->cache->put($cacheKey, $hits, $ttl); - } - - /** - * Calculate when the rate limit resets. - * - * @param array $hits Array of timestamps - */ - protected function calculateResetTime(array $hits, int $window, int $limit): Carbon - { - if (empty($hits)) { - return Carbon::now()->addSeconds($window); - } - - // If under limit, reset is at the end of the window - if (count($hits) < $limit) { - return Carbon::now()->addSeconds($window); - } - - // If at or over limit, reset when the oldest hit expires - $oldestHit = min($hits); - - return Carbon::createFromTimestamp($oldestHit + $window); - } - - /** - * Generate the cache key. - */ - protected function getCacheKey(string $key): string - { - return self::CACHE_PREFIX.$key; - } -} diff --git a/packages/core-api/src/Mod/Api/Resources/ApiKeyResource.php b/packages/core-api/src/Mod/Api/Resources/ApiKeyResource.php deleted file mode 100644 index 51c4f6f..0000000 --- a/packages/core-api/src/Mod/Api/Resources/ApiKeyResource.php +++ /dev/null @@ -1,59 +0,0 @@ -plainKey = $plainKey; - - return $instance; - } - - public function toArray(Request $request): array - { - return [ - 'id' => $this->id, - 'name' => $this->name, - 'prefix' => $this->prefix, - 'scopes' => $this->scopes, - 'last_used_at' => $this->last_used_at?->toIso8601String(), - 'expires_at' => $this->expires_at?->toIso8601String(), - 'created_at' => $this->created_at->toIso8601String(), - - // Only included on creation - 'key' => $this->when($this->plainKey !== null, $this->plainKey), - - // Masked display key - 'display_key' => $this->masked_key, - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Resources/ErrorResource.php b/packages/core-api/src/Mod/Api/Resources/ErrorResource.php deleted file mode 100644 index a32bc45..0000000 --- a/packages/core-api/src/Mod/Api/Resources/ErrorResource.php +++ /dev/null @@ -1,93 +0,0 @@ - ['The name field is required.'], - * ])->response()->setStatusCode(422); - */ -class ErrorResource extends JsonResource -{ - protected string $errorCode; - - protected string $message; - - protected ?array $details; - - public function __construct(string $errorCode, string $message, ?array $details = null) - { - $this->errorCode = $errorCode; - $this->message = $message; - $this->details = $details; - - parent::__construct(null); - } - - public static function make(...$args): static - { - return new static(...$args); - } - - /** - * Common error factory methods. - */ - public static function unauthorized(string $message = 'Unauthorized'): static - { - return new static('unauthorized', $message); - } - - public static function forbidden(string $message = 'Forbidden'): static - { - return new static('forbidden', $message); - } - - public static function notFound(string $message = 'Resource not found'): static - { - return new static('not_found', $message); - } - - public static function validation(array $errors): static - { - return new static('validation_error', 'The given data was invalid.', $errors); - } - - public static function rateLimited(int $retryAfter): static - { - return new static('rate_limit_exceeded', 'Too many requests. Please slow down.', [ - 'retry_after' => $retryAfter, - ]); - } - - public static function entitlementExceeded(string $feature): static - { - return new static('entitlement_exceeded', "Plan limit reached for: {$feature}"); - } - - public static function serverError(string $message = 'An unexpected error occurred'): static - { - return new static('internal_error', $message); - } - - public function toArray(Request $request): array - { - $response = [ - 'error' => $this->errorCode, - 'message' => $this->message, - ]; - - if ($this->details !== null) { - $response['details'] = $this->details; - } - - return $response; - } -} diff --git a/packages/core-api/src/Mod/Api/Resources/PaginatedCollection.php b/packages/core-api/src/Mod/Api/Resources/PaginatedCollection.php deleted file mode 100644 index 5d878db..0000000 --- a/packages/core-api/src/Mod/Api/Resources/PaginatedCollection.php +++ /dev/null @@ -1,49 +0,0 @@ -resourceClass = $resourceClass; - parent::__construct($resource); - } - - public function toArray(Request $request): array - { - return [ - 'data' => $this->resourceClass::collection($this->collection), - 'meta' => [ - 'current_page' => $this->currentPage(), - 'from' => $this->firstItem(), - 'last_page' => $this->lastPage(), - 'per_page' => $this->perPage(), - 'to' => $this->lastItem(), - 'total' => $this->total(), - ], - 'links' => [ - 'first' => $this->url(1), - 'last' => $this->url($this->lastPage()), - 'prev' => $this->previousPageUrl(), - 'next' => $this->nextPageUrl(), - ], - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Resources/WebhookEndpointResource.php b/packages/core-api/src/Mod/Api/Resources/WebhookEndpointResource.php deleted file mode 100644 index a5e3840..0000000 --- a/packages/core-api/src/Mod/Api/Resources/WebhookEndpointResource.php +++ /dev/null @@ -1,67 +0,0 @@ -includeSecret = true; - - return $instance; - } - - public function toArray(Request $request): array - { - return [ - 'id' => $this->id, - 'url' => $this->url, - 'events' => $this->events, - 'active' => $this->active, - 'description' => $this->description, - 'last_triggered_at' => $this->last_triggered_at?->toIso8601String(), - 'failure_count' => $this->failure_count, - 'disabled_at' => $this->disabled_at?->toIso8601String(), - 'created_at' => $this->created_at->toIso8601String(), - 'updated_at' => $this->updated_at->toIso8601String(), - - // Only on creation - 'secret' => $this->when($this->includeSecret, $this->secret), - - // Links - 'links' => [ - 'self' => route('api.v1.webhooks.show', $this->id, false), - 'deliveries' => route('api.v1.webhooks.deliveries', $this->id, false), - ], - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Resources/WorkspaceResource.php b/packages/core-api/src/Mod/Api/Resources/WorkspaceResource.php deleted file mode 100644 index 7df357e..0000000 --- a/packages/core-api/src/Mod/Api/Resources/WorkspaceResource.php +++ /dev/null @@ -1,68 +0,0 @@ - - */ - public function toArray(Request $request): array - { - return [ - 'id' => $this->id, - 'name' => $this->name, - 'slug' => $this->slug, - 'icon' => $this->icon, - 'color' => $this->color, - 'description' => $this->description, - 'type' => $this->type, - 'is_active' => $this->is_active, - - // Stats - 'users_count' => $this->whenCounted('users'), - 'bio_pages_count' => $this->whenCounted('bioPages'), - - // Role (when available via pivot) - 'role' => $this->whenPivotLoaded('user_workspace', fn () => $this->pivot->role), - 'is_default' => $this->whenPivotLoaded('user_workspace', fn () => $this->pivot->is_default), - - // Settings (public only) - 'settings' => $this->when($this->settings, fn () => $this->getPublicSettings()), - - // Timestamps - 'created_at' => $this->created_at?->toIso8601String(), - 'updated_at' => $this->updated_at?->toIso8601String(), - ]; - } - - /** - * Get public settings (filter sensitive data). - */ - protected function getPublicSettings(): array - { - $settings = $this->settings ?? []; - - // Remove sensitive keys - unset( - $settings['wp_connector_secret'], - $settings['api_secrets'] - ); - - return $settings; - } -} diff --git a/packages/core-api/src/Mod/Api/Routes/api.php b/packages/core-api/src/Mod/Api/Routes/api.php deleted file mode 100644 index 2190728..0000000 --- a/packages/core-api/src/Mod/Api/Routes/api.php +++ /dev/null @@ -1,103 +0,0 @@ -prefix('seo')->group(function () { - Route::post('/report', [SeoReportController::class, 'receive']) - ->name('api.seo.report'); - - Route::get('/issues/{workspace}', [SeoReportController::class, 'issues']) - ->name('api.seo.issues'); - - Route::post('/task/generate', [SeoReportController::class, 'generateTask']) - ->name('api.seo.generate-task'); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Unified Pixel API (public - high rate limit for tracking) -// ───────────────────────────────────────────────────────────────────────────── - -Route::middleware('throttle:300,1')->prefix('pixel')->group(function () { - Route::get('/config', [UnifiedPixelController::class, 'config']) - ->name('api.pixel.config'); - Route::post('/track', [UnifiedPixelController::class, 'track']) - ->name('api.pixel.track'); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Entitlements API (authenticated) -// ───────────────────────────────────────────────────────────────────────────── - -Route::middleware('auth')->prefix('entitlements')->group(function () { - // Check feature access (for external apps) - Route::get('/check', [EntitlementApiController::class, 'check']) - ->name('api.entitlements.check'); - - // Record usage (for external apps) - Route::post('/usage', [EntitlementApiController::class, 'recordUsage']) - ->name('api.entitlements.usage'); - - // Get usage summary for current user's workspace - Route::get('/summary', [EntitlementApiController::class, 'mySummary']) - ->name('api.entitlements.summary'); - - // Get usage summary for a specific workspace (admin) - Route::get('/summary/{workspace}', [EntitlementApiController::class, 'summary']) - ->name('api.entitlements.summary.workspace'); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// MCP HTTP Bridge (API key auth) -// ───────────────────────────────────────────────────────────────────────────── - -Route::middleware(['throttle:120,1', McpApiKeyAuth::class, 'api.scope.enforce']) - ->prefix('mcp') - ->name('api.mcp.') - ->group(function () { - // Scope enforcement: GET=read, POST=write - // Server discovery (read) - Route::get('/servers', [McpApiController::class, 'servers']) - ->name('servers'); - Route::get('/servers/{id}', [McpApiController::class, 'server']) - ->name('servers.show'); - Route::get('/servers/{id}/tools', [McpApiController::class, 'tools']) - ->name('servers.tools'); - - // Tool version history (read) - Route::get('/servers/{server}/tools/{tool}/versions', [McpApiController::class, 'toolVersions']) - ->name('tools.versions'); - - // Specific tool version (read) - Route::get('/servers/{server}/tools/{tool}/versions/{version}', [McpApiController::class, 'toolVersion']) - ->name('tools.version'); - - // Tool execution (write) - Route::post('/tools/call', [McpApiController::class, 'callTool']) - ->name('tools.call'); - - // Resource access (read) - Route::get('/resources/{uri}', [McpApiController::class, 'resource']) - ->where('uri', '.*') - ->name('resources.show'); - }); diff --git a/packages/core-api/src/Mod/Api/Services/ApiKeyService.php b/packages/core-api/src/Mod/Api/Services/ApiKeyService.php deleted file mode 100644 index 2175826..0000000 --- a/packages/core-api/src/Mod/Api/Services/ApiKeyService.php +++ /dev/null @@ -1,217 +0,0 @@ -active()->count(); - - if ($currentCount >= $maxKeys) { - throw new \RuntimeException( - "Workspace has reached the maximum number of API keys ({$maxKeys})" - ); - } - - $result = ApiKey::generate($workspaceId, $userId, $name, $scopes, $expiresAt); - - // Set server scopes if provided - if ($serverScopes !== null) { - $result['api_key']->update(['server_scopes' => $serverScopes]); - } - - Log::info('API key created', [ - 'key_id' => $result['api_key']->id, - 'workspace_id' => $workspaceId, - 'user_id' => $userId, - 'name' => $name, - ]); - - return $result; - } - - /** - * Rotate an existing API key. - * - * Creates a new key with the same settings, keeping the old key - * valid for a grace period to allow migration. - * - * @param int $gracePeriodHours Hours the old key remains valid (default: 24) - * @return array{api_key: ApiKey, plain_key: string, old_key: ApiKey} - */ - public function rotate(ApiKey $apiKey, int $gracePeriodHours = ApiKey::DEFAULT_GRACE_PERIOD_HOURS): array - { - // Don't rotate keys that are already being rotated out - if ($apiKey->isInGracePeriod()) { - throw new \RuntimeException( - 'This key is already being rotated. Wait for the grace period to end or end it manually.' - ); - } - - // Don't rotate revoked keys - if ($apiKey->trashed()) { - throw new \RuntimeException('Cannot rotate a revoked key.'); - } - - $result = $apiKey->rotate($gracePeriodHours); - - Log::info('API key rotated', [ - 'old_key_id' => $apiKey->id, - 'new_key_id' => $result['api_key']->id, - 'workspace_id' => $apiKey->workspace_id, - 'grace_period_hours' => $gracePeriodHours, - 'grace_period_ends_at' => $apiKey->fresh()->grace_period_ends_at?->toIso8601String(), - ]); - - return $result; - } - - /** - * Revoke an API key immediately. - */ - public function revoke(ApiKey $apiKey): void - { - $apiKey->revoke(); - - Log::info('API key revoked', [ - 'key_id' => $apiKey->id, - 'workspace_id' => $apiKey->workspace_id, - ]); - } - - /** - * End the grace period for a rotating key and revoke it. - */ - public function endGracePeriod(ApiKey $apiKey): void - { - if (! $apiKey->isInGracePeriod()) { - throw new \RuntimeException('This key is not in a grace period.'); - } - - $apiKey->endGracePeriod(); - - Log::info('API key grace period ended', [ - 'key_id' => $apiKey->id, - 'workspace_id' => $apiKey->workspace_id, - ]); - } - - /** - * Clean up keys with expired grace periods. - * - * This should be called by a scheduled command to revoke - * old keys after their grace period has ended. - * - * @return int Number of keys cleaned up - */ - public function cleanupExpiredGracePeriods(): int - { - $keys = ApiKey::gracePeriodExpired() - ->whereNull('deleted_at') - ->get(); - - $count = 0; - - foreach ($keys as $key) { - $key->revoke(); - $count++; - - Log::info('Cleaned up API key after grace period', [ - 'key_id' => $key->id, - 'workspace_id' => $key->workspace_id, - ]); - } - - return $count; - } - - /** - * Update API key scopes. - */ - public function updateScopes(ApiKey $apiKey, array $scopes): void - { - // Validate scopes - $validScopes = array_intersect($scopes, ApiKey::ALL_SCOPES); - - if (empty($validScopes)) { - throw new \InvalidArgumentException('At least one valid scope must be provided.'); - } - - $apiKey->update(['scopes' => array_values($validScopes)]); - - Log::info('API key scopes updated', [ - 'key_id' => $apiKey->id, - 'scopes' => $validScopes, - ]); - } - - /** - * Update API key server scopes. - */ - public function updateServerScopes(ApiKey $apiKey, ?array $serverScopes): void - { - $apiKey->update(['server_scopes' => $serverScopes]); - - Log::info('API key server scopes updated', [ - 'key_id' => $apiKey->id, - 'server_scopes' => $serverScopes, - ]); - } - - /** - * Rename an API key. - */ - public function rename(ApiKey $apiKey, string $name): void - { - $apiKey->update(['name' => $name]); - - Log::info('API key renamed', [ - 'key_id' => $apiKey->id, - 'name' => $name, - ]); - } - - /** - * Get statistics for a workspace's API keys. - */ - public function getStats(int $workspaceId): array - { - $keys = ApiKey::forWorkspace($workspaceId); - - return [ - 'total' => (clone $keys)->count(), - 'active' => (clone $keys)->active()->count(), - 'expired' => (clone $keys)->expired()->count(), - 'in_grace_period' => (clone $keys)->inGracePeriod()->count(), - 'revoked' => ApiKey::withTrashed() - ->forWorkspace($workspaceId) - ->whereNotNull('deleted_at') - ->count(), - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Services/ApiSnippetService.php b/packages/core-api/src/Mod/Api/Services/ApiSnippetService.php deleted file mode 100644 index 6a89a02..0000000 --- a/packages/core-api/src/Mod/Api/Services/ApiSnippetService.php +++ /dev/null @@ -1,427 +0,0 @@ - 'cURL', - 'php' => 'PHP', - 'javascript' => 'JavaScript', - 'python' => 'Python', - 'ruby' => 'Ruby', - 'go' => 'Go', - 'java' => 'Java', - 'csharp' => 'C#', - 'swift' => 'Swift', - 'kotlin' => 'Kotlin', - 'rust' => 'Rust', - ]; - - /** - * Generate snippets for all supported languages. - */ - public function generateAll( - string $method, - string $endpoint, - array $headers = [], - ?array $body = null, - string $baseUrl = 'https://api.host.uk.com' - ): array { - $snippets = []; - - foreach (array_keys(self::LANGUAGES) as $language) { - $snippets[$language] = $this->generate($language, $method, $endpoint, $headers, $body, $baseUrl); - } - - return $snippets; - } - - /** - * Generate a snippet for a specific language. - */ - public function generate( - string $language, - string $method, - string $endpoint, - array $headers = [], - ?array $body = null, - string $baseUrl = 'https://api.host.uk.com' - ): string { - $url = rtrim($baseUrl, '/').'/'.ltrim($endpoint, '/'); - - // Add default headers - $headers = array_merge([ - 'Authorization' => 'Bearer YOUR_API_KEY', - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - ], $headers); - - return match ($language) { - 'curl' => $this->generateCurl($method, $url, $headers, $body), - 'php' => $this->generatePhp($method, $url, $headers, $body), - 'javascript' => $this->generateJavaScript($method, $url, $headers, $body), - 'python' => $this->generatePython($method, $url, $headers, $body), - 'ruby' => $this->generateRuby($method, $url, $headers, $body), - 'go' => $this->generateGo($method, $url, $headers, $body), - 'java' => $this->generateJava($method, $url, $headers, $body), - 'csharp' => $this->generateCSharp($method, $url, $headers, $body), - 'swift' => $this->generateSwift($method, $url, $headers, $body), - 'kotlin' => $this->generateKotlin($method, $url, $headers, $body), - 'rust' => $this->generateRust($method, $url, $headers, $body), - default => "# Language '{$language}' not supported", - }; - } - - protected function generateCurl(string $method, string $url, array $headers, ?array $body): string - { - $lines = ["curl -X {$method} '{$url}' \\"]; - - foreach ($headers as $key => $value) { - $lines[] = " -H '{$key}: {$value}' \\"; - } - - if ($body) { - $json = json_encode($body, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - $lines[] = " -d '{$json}'"; - } else { - // Remove trailing backslash from last header - $lastIndex = count($lines) - 1; - $lines[$lastIndex] = rtrim($lines[$lastIndex], ' \\'); - } - - return implode("\n", $lines); - } - - protected function generatePhp(string $method, string $url, array $headers, ?array $body): string - { - $headerStr = ''; - foreach ($headers as $key => $value) { - $headerStr .= " '{$key}' => '{$value}',\n"; - } - - $bodyStr = $body ? json_encode($body, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) : 'null'; - - return <<phpMethod($method)}('{$url}', [ - 'headers' => [ -{$headerStr} ], - 'json' => {$bodyStr}, -]); - -\$data = \$response->json(); -PHP; - } - - protected function generateJavaScript(string $method, string $url, array $headers, ?array $body): string - { - $headerJson = json_encode($headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - $bodyJson = $body ? json_encode($body, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) : 'null'; - - return << $value) { - $headerLines[] = " \"{$key}\": \"{$value}\""; - } - $headerStr = implode(",\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) : 'None'; - - return <<pythonMethod($method)}( - "{$url}", - headers={ -{$headerStr} - }, - json={$bodyStr} -) - -data = response.json() -PYTHON; - } - - protected function generateRuby(string $method, string $url, array $headers, ?array $body): string - { - $headerLines = []; - foreach ($headers as $key => $value) { - $headerLines[] = " \"{$key}\" => \"{$value}\""; - } - $headerStr = implode(",\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_UNESCAPED_SLASHES) : 'nil'; - - return <<rubyMethod($method)}( - "{$url}", - headers: { -{$headerStr} - }, - body: {$bodyStr} -) - -data = JSON.parse(response.body) -RUBY; - } - - protected function generateGo(string $method, string $url, array $headers, ?array $body): string - { - $bodySetup = $body - ? 'jsonData, _ := json.Marshal(map[string]interface{}{'.$this->goMapEntries($body)."})\\n\\treq, _ := http.NewRequest(\"{$method}\", \"{$url}\", bytes.NewBuffer(jsonData))" - : "req, _ := http.NewRequest(\"{$method}\", \"{$url}\", nil)"; - - $headerLines = []; - foreach ($headers as $key => $value) { - $headerLines[] = "\treq.Header.Set(\"{$key}\", \"{$value}\")"; - } - $headerStr = implode("\n", $headerLines); - - return << $value) { - $headerLines[] = " .header(\"{$key}\", \"{$value}\")"; - } - $headerStr = implode("\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_UNESCAPED_SLASHES) : '""'; - - return << response = client.send(request, HttpResponse.BodyHandlers.ofString()); -String body = response.body(); -JAVA; - } - - protected function generateCSharp(string $method, string $url, array $headers, ?array $body): string - { - $headerLines = []; - foreach ($headers as $key => $value) { - if ($key === 'Content-Type') { - continue; - } - $headerLines[] = "client.DefaultRequestHeaders.Add(\"{$key}\", \"{$value}\");"; - } - $headerStr = implode("\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_UNESCAPED_SLASHES) : '""'; - - return <<csharpMethod($method)}Async("{$url}", content); - -var body = await response.Content.ReadAsStringAsync(); -CSHARP; - } - - protected function generateSwift(string $method, string $url, array $headers, ?array $body): string - { - $headerLines = []; - foreach ($headers as $key => $value) { - $headerLines[] = "request.setValue(\"{$value}\", forHTTPHeaderField: \"{$key}\")"; - } - $headerStr = implode("\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_UNESCAPED_SLASHES) : 'nil'; - - return << $value) { - $headerLines[] = " .addHeader(\"{$key}\", \"{$value}\")"; - } - $headerStr = implode("\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_UNESCAPED_SLASHES) : '""'; - - return << $value) { - $headerLines[] = " .header(\"{$key}\", \"{$value}\")"; - } - $headerStr = implode("\n", $headerLines); - - $bodyStr = $body ? json_encode($body, JSON_UNESCAPED_SLASHES) : '""'; - - return <<rustMethod($method)}("{$url}") -{$headerStr} - .body("{$bodyStr}") - .send()?; - -let json: serde_json::Value = response.json()?; -RUST; - } - - // Helper methods for language-specific syntax - protected function phpMethod(string $method): string - { - return strtolower($method); - } - - protected function pythonMethod(string $method): string - { - return strtolower($method); - } - - protected function rubyMethod(string $method): string - { - return strtolower($method); - } - - protected function csharpMethod(string $method): string - { - return match (strtoupper($method)) { - 'GET' => 'Get', - 'POST' => 'Post', - 'PUT' => 'Put', - 'PATCH' => 'Patch', - 'DELETE' => 'Delete', - default => 'Send', - }; - } - - protected function rustMethod(string $method): string - { - return strtolower($method); - } - - protected function goMapEntries(array $data): string - { - $entries = []; - foreach ($data as $key => $value) { - $val = is_string($value) ? "\"{$value}\"" : json_encode($value); - $entries[] = "\"{$key}\": {$val}"; - } - - return implode(', ', $entries); - } - - /** - * Get language metadata for UI display. - */ - public static function getLanguages(): array - { - return collect(self::LANGUAGES)->map(fn ($name, $code) => [ - 'code' => $code, - 'name' => $name, - 'icon' => self::getLanguageIcon($code), - ])->values()->all(); - } - - /** - * Get icon class for a language. - */ - public static function getLanguageIcon(string $code): string - { - return match ($code) { - 'curl' => 'terminal', - 'php' => 'code-bracket', - 'javascript' => 'code-bracket-square', - 'python' => 'code-bracket', - 'ruby' => 'sparkles', - 'go' => 'cube', - 'java' => 'fire', - 'csharp' => 'window', - 'swift' => 'bolt', - 'kotlin' => 'beaker', - 'rust' => 'cog', - default => 'code-bracket', - }; - } -} diff --git a/packages/core-api/src/Mod/Api/Services/ApiUsageService.php b/packages/core-api/src/Mod/Api/Services/ApiUsageService.php deleted file mode 100644 index 204f444..0000000 --- a/packages/core-api/src/Mod/Api/Services/ApiUsageService.php +++ /dev/null @@ -1,361 +0,0 @@ -normaliseEndpoint($endpoint); - - // Record individual usage - $usage = ApiUsage::record( - $apiKeyId, - $workspaceId, - $normalisedEndpoint, - $method, - $statusCode, - $responseTimeMs, - $requestSize, - $responseSize, - $ipAddress, - $userAgent - ); - - // Update daily aggregation - ApiUsageDaily::recordFromUsage($usage); - - return $usage; - } - - /** - * Get usage summary for a workspace. - */ - public function getWorkspaceSummary( - int $workspaceId, - ?Carbon $startDate = null, - ?Carbon $endDate = null - ): array { - $startDate = $startDate ?? now()->subDays(30); - $endDate = $endDate ?? now(); - - $query = ApiUsageDaily::forWorkspace($workspaceId) - ->between($startDate, $endDate); - - $totals = (clone $query)->selectRaw(' - SUM(request_count) as total_requests, - SUM(success_count) as total_success, - SUM(error_count) as total_errors, - SUM(total_response_time_ms) as total_response_time, - MIN(min_response_time_ms) as min_response_time, - MAX(max_response_time_ms) as max_response_time, - SUM(total_request_size) as total_request_size, - SUM(total_response_size) as total_response_size - ')->first(); - - $totalRequests = (int) ($totals->total_requests ?? 0); - $totalSuccess = (int) ($totals->total_success ?? 0); - - return [ - 'period' => [ - 'start' => $startDate->toIso8601String(), - 'end' => $endDate->toIso8601String(), - ], - 'totals' => [ - 'requests' => $totalRequests, - 'success' => $totalSuccess, - 'errors' => (int) ($totals->total_errors ?? 0), - 'success_rate' => $totalRequests > 0 - ? round(($totalSuccess / $totalRequests) * 100, 2) - : 100, - ], - 'response_time' => [ - 'average_ms' => $totalRequests > 0 - ? round((int) $totals->total_response_time / $totalRequests, 2) - : 0, - 'min_ms' => (int) ($totals->min_response_time ?? 0), - 'max_ms' => (int) ($totals->max_response_time ?? 0), - ], - 'data_transfer' => [ - 'request_bytes' => (int) ($totals->total_request_size ?? 0), - 'response_bytes' => (int) ($totals->total_response_size ?? 0), - ], - ]; - } - - /** - * Get usage summary for a specific API key. - */ - public function getKeySummary( - int $apiKeyId, - ?Carbon $startDate = null, - ?Carbon $endDate = null - ): array { - $startDate = $startDate ?? now()->subDays(30); - $endDate = $endDate ?? now(); - - $query = ApiUsageDaily::forKey($apiKeyId) - ->between($startDate, $endDate); - - $totals = (clone $query)->selectRaw(' - SUM(request_count) as total_requests, - SUM(success_count) as total_success, - SUM(error_count) as total_errors, - SUM(total_response_time_ms) as total_response_time, - MIN(min_response_time_ms) as min_response_time, - MAX(max_response_time_ms) as max_response_time - ')->first(); - - $totalRequests = (int) ($totals->total_requests ?? 0); - $totalSuccess = (int) ($totals->total_success ?? 0); - - return [ - 'period' => [ - 'start' => $startDate->toIso8601String(), - 'end' => $endDate->toIso8601String(), - ], - 'totals' => [ - 'requests' => $totalRequests, - 'success' => $totalSuccess, - 'errors' => (int) ($totals->total_errors ?? 0), - 'success_rate' => $totalRequests > 0 - ? round(($totalSuccess / $totalRequests) * 100, 2) - : 100, - ], - 'response_time' => [ - 'average_ms' => $totalRequests > 0 - ? round((int) $totals->total_response_time / $totalRequests, 2) - : 0, - 'min_ms' => (int) ($totals->min_response_time ?? 0), - 'max_ms' => (int) ($totals->max_response_time ?? 0), - ], - ]; - } - - /** - * Get daily usage chart data. - */ - public function getDailyChart( - int $workspaceId, - ?Carbon $startDate = null, - ?Carbon $endDate = null - ): array { - $startDate = $startDate ?? now()->subDays(30); - $endDate = $endDate ?? now(); - - $data = ApiUsageDaily::forWorkspace($workspaceId) - ->between($startDate, $endDate) - ->selectRaw(' - date, - SUM(request_count) as requests, - SUM(success_count) as success, - SUM(error_count) as errors, - SUM(total_response_time_ms) / NULLIF(SUM(request_count), 0) as avg_response_time - ') - ->groupBy('date') - ->orderBy('date') - ->get(); - - return $data->map(fn ($row) => [ - 'date' => $row->date->toDateString(), - 'requests' => (int) $row->requests, - 'success' => (int) $row->success, - 'errors' => (int) $row->errors, - 'avg_response_time_ms' => round((float) ($row->avg_response_time ?? 0), 2), - ])->all(); - } - - /** - * Get top endpoints by request count. - */ - public function getTopEndpoints( - int $workspaceId, - int $limit = 10, - ?Carbon $startDate = null, - ?Carbon $endDate = null - ): array { - $startDate = $startDate ?? now()->subDays(30); - $endDate = $endDate ?? now(); - - return ApiUsageDaily::forWorkspace($workspaceId) - ->between($startDate, $endDate) - ->selectRaw(' - endpoint, - method, - SUM(request_count) as requests, - SUM(success_count) as success, - SUM(error_count) as errors, - SUM(total_response_time_ms) / NULLIF(SUM(request_count), 0) as avg_response_time - ') - ->groupBy('endpoint', 'method') - ->orderByDesc('requests') - ->limit($limit) - ->get() - ->map(fn ($row) => [ - 'endpoint' => $row->endpoint, - 'method' => $row->method, - 'requests' => (int) $row->requests, - 'success' => (int) $row->success, - 'errors' => (int) $row->errors, - 'success_rate' => $row->requests > 0 - ? round(($row->success / $row->requests) * 100, 2) - : 100, - 'avg_response_time_ms' => round((float) ($row->avg_response_time ?? 0), 2), - ]) - ->all(); - } - - /** - * Get error breakdown by status code. - */ - public function getErrorBreakdown( - int $workspaceId, - ?Carbon $startDate = null, - ?Carbon $endDate = null - ): array { - $startDate = $startDate ?? now()->subDays(30); - $endDate = $endDate ?? now(); - - return ApiUsage::forWorkspace($workspaceId) - ->between($startDate, $endDate) - ->where('status_code', '>=', 400) - ->selectRaw('status_code, COUNT(*) as count') - ->groupBy('status_code') - ->orderByDesc('count') - ->get() - ->map(fn ($row) => [ - 'status_code' => $row->status_code, - 'count' => (int) $row->count, - 'description' => $this->getStatusCodeDescription($row->status_code), - ]) - ->all(); - } - - /** - * Get API key usage comparison. - */ - public function getKeyComparison( - int $workspaceId, - ?Carbon $startDate = null, - ?Carbon $endDate = null - ): array { - $startDate = $startDate ?? now()->subDays(30); - $endDate = $endDate ?? now(); - - $aggregated = ApiUsageDaily::forWorkspace($workspaceId) - ->between($startDate, $endDate) - ->selectRaw(' - api_key_id, - SUM(request_count) as requests, - SUM(success_count) as success, - SUM(error_count) as errors, - SUM(total_response_time_ms) / NULLIF(SUM(request_count), 0) as avg_response_time - ') - ->groupBy('api_key_id') - ->orderByDesc('requests') - ->get(); - - // Fetch API keys separately to avoid broken eager loading with aggregation - $apiKeyIds = $aggregated->pluck('api_key_id')->filter()->unique()->all(); - $apiKeys = \Mod\Api\Models\ApiKey::whereIn('id', $apiKeyIds) - ->select('id', 'name', 'prefix') - ->get() - ->keyBy('id'); - - return $aggregated->map(fn ($row) => [ - 'api_key_id' => $row->api_key_id, - 'api_key_name' => $apiKeys->get($row->api_key_id)?->name ?? 'Unknown', - 'api_key_prefix' => $apiKeys->get($row->api_key_id)?->prefix ?? 'N/A', - 'requests' => (int) $row->requests, - 'success' => (int) $row->success, - 'errors' => (int) $row->errors, - 'success_rate' => $row->requests > 0 - ? round(($row->success / $row->requests) * 100, 2) - : 100, - 'avg_response_time_ms' => round((float) ($row->avg_response_time ?? 0), 2), - ])->all(); - } - - /** - * Normalise endpoint path for aggregation. - * - * Replaces dynamic IDs with placeholders for consistent grouping. - */ - protected function normaliseEndpoint(string $endpoint): string - { - // Remove query string - $path = parse_url($endpoint, PHP_URL_PATH) ?? $endpoint; - - // Replace numeric IDs with {id} placeholder - $normalised = preg_replace('/\/\d+/', '/{id}', $path); - - // Replace UUIDs with {uuid} placeholder - $normalised = preg_replace( - '/\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i', - '/{uuid}', - $normalised - ); - - return $normalised ?? $path; - } - - /** - * Get human-readable status code description. - */ - protected function getStatusCodeDescription(int $statusCode): string - { - return match ($statusCode) { - 400 => 'Bad Request', - 401 => 'Unauthorised', - 403 => 'Forbidden', - 404 => 'Not Found', - 405 => 'Method Not Allowed', - 422 => 'Validation Failed', - 429 => 'Rate Limit Exceeded', - 500 => 'Internal Server Error', - 502 => 'Bad Gateway', - 503 => 'Service Unavailable', - 504 => 'Gateway Timeout', - default => 'Error', - }; - } - - /** - * Prune old detailed usage records. - * - * Keeps aggregated daily data but removes detailed logs older than retention period. - * - * @return int Number of records deleted - */ - public function pruneOldRecords(int $retentionDays = 30): int - { - $cutoff = now()->subDays($retentionDays); - - return ApiUsage::where('created_at', '<', $cutoff)->delete(); - } -} diff --git a/packages/core-api/src/Mod/Api/Services/WebhookService.php b/packages/core-api/src/Mod/Api/Services/WebhookService.php deleted file mode 100644 index 4a77d5c..0000000 --- a/packages/core-api/src/Mod/Api/Services/WebhookService.php +++ /dev/null @@ -1,192 +0,0 @@ - The created delivery records - */ - public function dispatch(int $workspaceId, string $eventType, array $data): array - { - // Find all active endpoints for this workspace that subscribe to this event - $endpoints = WebhookEndpoint::query() - ->forWorkspace($workspaceId) - ->active() - ->forEvent($eventType) - ->get(); - - if ($endpoints->isEmpty()) { - Log::debug('No webhook endpoints found for event', [ - 'workspace_id' => $workspaceId, - 'event_type' => $eventType, - ]); - - return []; - } - - $deliveries = []; - - // Wrap all deliveries in a transaction to ensure atomicity - DB::transaction(function () use ($endpoints, $eventType, $data, $workspaceId, &$deliveries) { - foreach ($endpoints as $endpoint) { - // Create delivery record - $delivery = WebhookDelivery::createForEvent( - $endpoint, - $eventType, - $data, - $workspaceId - ); - - $deliveries[] = $delivery; - - // Queue the delivery job after the transaction commits - DeliverWebhookJob::dispatch($delivery)->afterCommit(); - - Log::info('Webhook delivery queued', [ - 'delivery_id' => $delivery->id, - 'endpoint_id' => $endpoint->id, - 'event_type' => $eventType, - ]); - } - }); - - return $deliveries; - } - - /** - * Retry a specific failed delivery. - * - * @return bool True if retry was queued, false if not eligible - */ - public function retry(WebhookDelivery $delivery): bool - { - if (! $delivery->canRetry()) { - return false; - } - - DB::transaction(function () use ($delivery) { - // Reset status for manual retry but preserve attempt history - $delivery->update([ - 'status' => WebhookDelivery::STATUS_PENDING, - 'next_retry_at' => null, - ]); - - DeliverWebhookJob::dispatch($delivery)->afterCommit(); - - Log::info('Manual webhook retry queued', [ - 'delivery_id' => $delivery->id, - 'attempt' => $delivery->attempt, - ]); - }); - - return true; - } - - /** - * Process all pending and retryable deliveries. - * - * This method is typically called by a scheduled command. - * - * @return int Number of deliveries queued - */ - public function processQueue(): int - { - $count = 0; - - // Process deliveries one at a time with row locking to prevent race conditions - $deliveryIds = WebhookDelivery::query() - ->needsDelivery() - ->limit(100) - ->pluck('id'); - - foreach ($deliveryIds as $deliveryId) { - DB::transaction(function () use ($deliveryId, &$count) { - // Lock the row for update to prevent concurrent processing - $delivery = WebhookDelivery::query() - ->with('endpoint') - ->where('id', $deliveryId) - ->lockForUpdate() - ->first(); - - if (! $delivery) { - return; - } - - // Skip if already being processed (status changed since initial query) - if (! in_array($delivery->status, [WebhookDelivery::STATUS_PENDING, WebhookDelivery::STATUS_RETRYING])) { - return; - } - - // Handle inactive endpoints by cancelling the delivery - if (! $delivery->endpoint?->shouldReceive($delivery->event_type)) { - $delivery->update(['status' => WebhookDelivery::STATUS_CANCELLED]); - - return; - } - - // Mark as queued to prevent duplicate processing - $delivery->update(['status' => WebhookDelivery::STATUS_QUEUED]); - - DeliverWebhookJob::dispatch($delivery)->afterCommit(); - $count++; - }); - } - - if ($count > 0) { - Log::info('Processed webhook queue', ['count' => $count]); - } - - return $count; - } - - /** - * Get delivery statistics for a workspace. - */ - public function getStats(int $workspaceId): array - { - $endpointIds = WebhookEndpoint::query() - ->forWorkspace($workspaceId) - ->pluck('id'); - - if ($endpointIds->isEmpty()) { - return [ - 'total' => 0, - 'pending' => 0, - 'success' => 0, - 'failed' => 0, - 'retrying' => 0, - ]; - } - - $deliveries = WebhookDelivery::query() - ->whereIn('webhook_endpoint_id', $endpointIds); - - return [ - 'total' => (clone $deliveries)->count(), - 'pending' => (clone $deliveries)->where('status', WebhookDelivery::STATUS_PENDING)->count(), - 'success' => (clone $deliveries)->where('status', WebhookDelivery::STATUS_SUCCESS)->count(), - 'failed' => (clone $deliveries)->where('status', WebhookDelivery::STATUS_FAILED)->count(), - 'retrying' => (clone $deliveries)->where('status', WebhookDelivery::STATUS_RETRYING)->count(), - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Services/WebhookSignature.php b/packages/core-api/src/Mod/Api/Services/WebhookSignature.php deleted file mode 100644 index 400f032..0000000 --- a/packages/core-api/src/Mod/Api/Services/WebhookSignature.php +++ /dev/null @@ -1,206 +0,0 @@ -header('X-Webhook-Signature'); - * $timestamp = $request->header('X-Webhook-Timestamp'); - * $payload = $request->getContent(); - * - * // Compute expected signature - * $expectedSignature = hash_hmac('sha256', $timestamp . '.' . $payload, $webhookSecret); - * - * // Verify signature using timing-safe comparison - * if (!hash_equals($expectedSignature, $signature)) { - * abort(401, 'Invalid webhook signature'); - * } - * - * // Verify timestamp is within tolerance (e.g., 5 minutes) - * $tolerance = 300; // seconds - * if (abs(time() - (int)$timestamp) > $tolerance) { - * abort(401, 'Webhook timestamp too old'); - * } - * ``` - */ -class WebhookSignature -{ - /** - * Default secret length in bytes (64 characters when hex-encoded). - */ - private const SECRET_LENGTH = 32; - - /** - * Default tolerance for timestamp verification in seconds. - * 5 minutes allows for reasonable clock skew and network delays. - */ - public const DEFAULT_TOLERANCE = 300; - - /** - * The hashing algorithm used for HMAC. - */ - private const ALGORITHM = 'sha256'; - - /** - * Generate a cryptographically secure webhook signing secret. - * - * The secret is a 64-character random string suitable for HMAC-SHA256 signing. - * This should be stored securely and shared with the webhook recipient out-of-band. - * - * @return string A 64-character random string - */ - public function generateSecret(): string - { - return Str::random(64); - } - - /** - * Sign a webhook payload with the given secret and timestamp. - * - * The signature format is: - * HMAC-SHA256(timestamp + "." + payload, secret) - * - * This format ensures the timestamp cannot be changed without invalidating - * the signature, providing replay attack protection. - * - * @param string $payload The JSON-encoded webhook payload - * @param string $secret The endpoint's signing secret - * @param int $timestamp Unix timestamp of when the webhook was sent - * @return string The HMAC-SHA256 signature (hex-encoded, 64 characters) - */ - public function sign(string $payload, string $secret, int $timestamp): string - { - $signedPayload = $this->buildSignedPayload($timestamp, $payload); - - return hash_hmac(self::ALGORITHM, $signedPayload, $secret); - } - - /** - * Verify a webhook signature. - * - * Performs a timing-safe comparison to prevent timing attacks, and optionally - * validates that the timestamp is within the specified tolerance. - * - * @param string $payload The raw request body (JSON string) - * @param string $signature The signature from X-Webhook-Signature header - * @param string $secret The webhook endpoint's secret - * @param int $timestamp The timestamp from X-Webhook-Timestamp header - * @param int $tolerance Maximum age of the timestamp in seconds (default: 300) - * @return bool True if the signature is valid and timestamp is within tolerance - */ - public function verify( - string $payload, - string $signature, - string $secret, - int $timestamp, - int $tolerance = self::DEFAULT_TOLERANCE - ): bool { - // Check timestamp is within tolerance - if (! $this->isTimestampValid($timestamp, $tolerance)) { - return false; - } - - // Compute expected signature - $expectedSignature = $this->sign($payload, $secret, $timestamp); - - // Use timing-safe comparison to prevent timing attacks - return hash_equals($expectedSignature, $signature); - } - - /** - * Verify signature without timestamp validation. - * - * Use this method when you need to verify the signature but handle - * timestamp validation separately (e.g., for testing or special cases). - * - * @param string $payload The raw request body - * @param string $signature The signature from the header - * @param string $secret The webhook secret - * @param int $timestamp The timestamp from the header - * @return bool True if the signature is valid - */ - public function verifySignatureOnly( - string $payload, - string $signature, - string $secret, - int $timestamp - ): bool { - $expectedSignature = $this->sign($payload, $secret, $timestamp); - - return hash_equals($expectedSignature, $signature); - } - - /** - * Check if a timestamp is within the allowed tolerance. - * - * @param int $timestamp The Unix timestamp to check - * @param int $tolerance Maximum age in seconds - * @return bool True if the timestamp is within tolerance - */ - public function isTimestampValid(int $timestamp, int $tolerance = self::DEFAULT_TOLERANCE): bool - { - $now = time(); - - return abs($now - $timestamp) <= $tolerance; - } - - /** - * Build the signed payload string. - * - * Format: "{timestamp}.{payload}" - * - * @param int $timestamp Unix timestamp - * @param string $payload The JSON payload - * @return string The combined string to be signed - */ - private function buildSignedPayload(int $timestamp, string $payload): string - { - return $timestamp.'.'.$payload; - } - - /** - * Get the headers to include with a webhook request. - * - * Returns an array of headers ready to be used with HTTP client: - * - X-Webhook-Signature: The HMAC signature - * - X-Webhook-Timestamp: Unix timestamp - * - * @param string $payload The JSON-encoded payload - * @param string $secret The signing secret - * @param int|null $timestamp Unix timestamp (defaults to current time) - * @return array Headers array - */ - public function getHeaders(string $payload, string $secret, ?int $timestamp = null): array - { - $timestamp ??= time(); - - return [ - 'X-Webhook-Signature' => $this->sign($payload, $secret, $timestamp), - 'X-Webhook-Timestamp' => $timestamp, - ]; - } -} diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyRotationTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyRotationTest.php deleted file mode 100644 index 86c2f5c..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyRotationTest.php +++ /dev/null @@ -1,232 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - $this->service = app(ApiKeyService::class); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// API Key Rotation -// ───────────────────────────────────────────────────────────────────────────── - -describe('API Key Rotation', function () { - it('rotates a key creating new key with same settings', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Original Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - $result = $this->service->rotate($original['api_key']); - - expect($result)->toHaveKeys(['api_key', 'plain_key', 'old_key']); - expect($result['api_key']->name)->toBe('Original Key'); - expect($result['api_key']->scopes)->toBe([ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE]); - expect($result['api_key']->workspace_id)->toBe($this->workspace->id); - expect($result['api_key']->rotated_from_id)->toBe($original['api_key']->id); - }); - - it('sets grace period on old key during rotation', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Grace Period Key' - ); - - $result = $this->service->rotate($original['api_key'], 24); - - $oldKey = $result['old_key']->fresh(); - expect($oldKey->grace_period_ends_at)->not->toBeNull(); - expect($oldKey->isInGracePeriod())->toBeTrue(); - }); - - it('old key remains valid during grace period', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Still Valid Key' - ); - - $this->service->rotate($original['api_key'], 24); - - // Old key should still be findable - $foundKey = ApiKey::findByPlainKey($original['plain_key']); - expect($foundKey)->not->toBeNull(); - expect($foundKey->id)->toBe($original['api_key']->id); - }); - - it('old key becomes invalid after grace period expires', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Expired Grace Key' - ); - - $original['api_key']->update([ - 'grace_period_ends_at' => now()->subHour(), - ]); - - $foundKey = ApiKey::findByPlainKey($original['plain_key']); - expect($foundKey)->toBeNull(); - }); - - it('prevents rotating key already in grace period', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Already Rotating Key' - ); - - $this->service->rotate($original['api_key']); - - expect(fn () => $this->service->rotate($original['api_key']->fresh())) - ->toThrow(\RuntimeException::class); - }); - - it('can end grace period early', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Early End Key' - ); - - $this->service->rotate($original['api_key'], 24); - $this->service->endGracePeriod($original['api_key']->fresh()); - - expect($original['api_key']->fresh()->trashed())->toBeTrue(); - }); - - it('preserves server scopes during rotation', function () { - $original = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Server Scoped Key' - ); - $original['api_key']->update(['server_scopes' => ['commerce', 'biohost']]); - - $result = $this->service->rotate($original['api_key']->fresh()); - - expect($result['api_key']->server_scopes)->toBe(['commerce', 'biohost']); - }); - - it('cleans up keys with expired grace periods', function () { - // Create keys with expired grace periods - $key1 = ApiKey::generate($this->workspace->id, $this->user->id, 'Expired 1'); - $key1['api_key']->update(['grace_period_ends_at' => now()->subDay()]); - - $key2 = ApiKey::generate($this->workspace->id, $this->user->id, 'Expired 2'); - $key2['api_key']->update(['grace_period_ends_at' => now()->subHour()]); - - // Create key still in grace period - $key3 = ApiKey::generate($this->workspace->id, $this->user->id, 'Still Active'); - $key3['api_key']->update(['grace_period_ends_at' => now()->addDay()]); - - $cleaned = $this->service->cleanupExpiredGracePeriods(); - - expect($cleaned)->toBe(2); - expect($key1['api_key']->fresh()->trashed())->toBeTrue(); - expect($key2['api_key']->fresh()->trashed())->toBeTrue(); - expect($key3['api_key']->fresh()->trashed())->toBeFalse(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// API Key Scopes via Service -// ───────────────────────────────────────────────────────────────────────────── - -describe('API Key Service Scopes', function () { - it('updates key scopes', function () { - $result = $this->service->create( - $this->workspace->id, - $this->user->id, - 'Scoped Key' - ); - - $this->service->updateScopes($result['api_key'], [ApiKey::SCOPE_READ]); - - expect($result['api_key']->fresh()->scopes)->toBe([ApiKey::SCOPE_READ]); - }); - - it('requires at least one valid scope', function () { - $result = $this->service->create( - $this->workspace->id, - $this->user->id, - 'Invalid Scopes Key' - ); - - expect(fn () => $this->service->updateScopes($result['api_key'], ['invalid'])) - ->toThrow(\InvalidArgumentException::class); - }); - - it('updates server scopes', function () { - $result = $this->service->create( - $this->workspace->id, - $this->user->id, - 'Server Scoped Key' - ); - - $this->service->updateServerScopes($result['api_key'], ['commerce']); - - expect($result['api_key']->fresh()->server_scopes)->toBe(['commerce']); - }); - - it('clears server scopes with null', function () { - $result = $this->service->create( - $this->workspace->id, - $this->user->id, - 'Clear Server Scopes Key', - serverScopes: ['commerce'] - ); - - $this->service->updateServerScopes($result['api_key'], null); - - expect($result['api_key']->fresh()->server_scopes)->toBeNull(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// API Key Service Limits -// ───────────────────────────────────────────────────────────────────────────── - -describe('API Key Service Limits', function () { - it('enforces max keys per workspace limit', function () { - config(['api.keys.max_per_workspace' => 2]); - - $this->service->create($this->workspace->id, $this->user->id, 'Key 1'); - $this->service->create($this->workspace->id, $this->user->id, 'Key 2'); - - expect(fn () => $this->service->create($this->workspace->id, $this->user->id, 'Key 3')) - ->toThrow(\RuntimeException::class); - }); - - it('returns workspace key statistics', function () { - $key1 = $this->service->create($this->workspace->id, $this->user->id, 'Active Key'); - $key2 = $this->service->create($this->workspace->id, $this->user->id, 'Expired Key'); - $key2['api_key']->update(['expires_at' => now()->subDay()]); - - $key3 = $this->service->create($this->workspace->id, $this->user->id, 'Rotating Key'); - $this->service->rotate($key3['api_key']); - - $stats = $this->service->getStats($this->workspace->id); - - expect($stats)->toHaveKeys(['total', 'active', 'expired', 'in_grace_period', 'revoked']); - expect($stats['total'])->toBe(4); // 3 original + 1 rotated - expect($stats['expired'])->toBe(1); - expect($stats['in_grace_period'])->toBe(1); - }); -}); diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeySecurityTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeySecurityTest.php deleted file mode 100644 index d9f0545..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeySecurityTest.php +++ /dev/null @@ -1,381 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Secure Hashing (bcrypt) -// ───────────────────────────────────────────────────────────────────────────── - -describe('Secure Hashing', function () { - it('uses bcrypt for new API keys', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Secure Key' - ); - - expect($result['api_key']->hash_algorithm)->toBe(ApiKey::HASH_BCRYPT); - expect($result['api_key']->key)->toStartWith('$2y$'); - }); - - it('verifies bcrypt hashed keys correctly', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Verifiable Key' - ); - - $parts = explode('_', $result['plain_key'], 3); - $keyPart = $parts[2]; - - expect($result['api_key']->verifyKey($keyPart))->toBeTrue(); - expect($result['api_key']->verifyKey('wrong-key'))->toBeFalse(); - }); - - it('finds bcrypt keys by plain key', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Findable Bcrypt Key' - ); - - $found = ApiKey::findByPlainKey($result['plain_key']); - - expect($found)->not->toBeNull(); - expect($found->id)->toBe($result['api_key']->id); - }); - - it('bcrypt keys are not vulnerable to timing attacks', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Timing Safe Key' - ); - - $parts = explode('_', $result['plain_key'], 3); - $keyPart = $parts[2]; - - // bcrypt verification should take similar time for valid and invalid keys - // (this is a property test, not a precise timing test) - expect($result['api_key']->verifyKey($keyPart))->toBeTrue(); - expect($result['api_key']->verifyKey('x'.$keyPart))->toBeFalse(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Legacy SHA-256 Backward Compatibility -// ───────────────────────────────────────────────────────────────────────────── - -describe('Legacy SHA-256 Compatibility', function () { - it('identifies legacy hash keys', function () { - $result = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - expect($result['api_key']->hash_algorithm)->toBe(ApiKey::HASH_SHA256); - expect($result['api_key']->usesLegacyHash())->toBeTrue(); - }); - - it('verifies legacy SHA-256 keys correctly', function () { - $result = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - $parts = explode('_', $result['plain_key'], 3); - $keyPart = $parts[2]; - - expect($result['api_key']->verifyKey($keyPart))->toBeTrue(); - expect($result['api_key']->verifyKey('wrong-key'))->toBeFalse(); - }); - - it('finds legacy SHA-256 keys by plain key', function () { - $result = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - $found = ApiKey::findByPlainKey($result['plain_key']); - - expect($found)->not->toBeNull(); - expect($found->id)->toBe($result['api_key']->id); - }); - - it('treats null hash_algorithm as legacy', function () { - // Create a key without hash_algorithm (simulating pre-migration key) - $plainKey = Str::random(48); - $prefix = 'hk_'.Str::random(8); - - $apiKey = ApiKey::create([ - 'workspace_id' => $this->workspace->id, - 'user_id' => $this->user->id, - 'name' => 'Pre-migration Key', - 'key' => hash('sha256', $plainKey), - 'hash_algorithm' => null, // Simulate pre-migration - 'prefix' => $prefix, - 'scopes' => [ApiKey::SCOPE_READ], - ]); - - expect($apiKey->usesLegacyHash())->toBeTrue(); - - // Should still be findable - $found = ApiKey::findByPlainKey("{$prefix}_{$plainKey}"); - expect($found)->not->toBeNull(); - expect($found->id)->toBe($apiKey->id); - }); - - it('can query for legacy hash keys', function () { - // Create a bcrypt key - ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Secure Key' - ); - - // Create a legacy key - ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - $legacyKeys = ApiKey::legacyHash()->get(); - $secureKeys = ApiKey::secureHash()->get(); - - expect($legacyKeys)->toHaveCount(1); - expect($secureKeys)->toHaveCount(1); - expect($legacyKeys->first()->name)->toContain('API Key'); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Key Rotation for Security Migration -// ───────────────────────────────────────────────────────────────────────────── - -describe('Security Migration via Rotation', function () { - it('rotates legacy key to secure bcrypt key', function () { - $legacy = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - expect($legacy['api_key']->usesLegacyHash())->toBeTrue(); - - $rotated = $legacy['api_key']->rotate(); - - expect($rotated['api_key']->hash_algorithm)->toBe(ApiKey::HASH_BCRYPT); - expect($rotated['api_key']->usesLegacyHash())->toBeFalse(); - expect($rotated['api_key']->key)->toStartWith('$2y$'); - }); - - it('preserves settings when rotating legacy key', function () { - $legacy = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user, - [ApiKey::SCOPE_READ, ApiKey::SCOPE_DELETE] - ); - - $legacy['api_key']->update(['server_scopes' => ['commerce', 'biohost']]); - - $rotated = $legacy['api_key']->fresh()->rotate(); - - expect($rotated['api_key']->scopes)->toBe([ApiKey::SCOPE_READ, ApiKey::SCOPE_DELETE]); - expect($rotated['api_key']->server_scopes)->toBe(['commerce', 'biohost']); - expect($rotated['api_key']->workspace_id)->toBe($this->workspace->id); - }); - - it('legacy key remains valid during grace period after rotation', function () { - $legacy = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - $legacy['api_key']->rotate(24); // 24 hour grace period - - // Old key should still work - $found = ApiKey::findByPlainKey($legacy['plain_key']); - expect($found)->not->toBeNull(); - expect($found->isInGracePeriod())->toBeTrue(); - }); - - it('tracks rotation lineage', function () { - $original = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - $rotated = $original['api_key']->rotate(); - - expect($rotated['api_key']->rotated_from_id)->toBe($original['api_key']->id); - expect($rotated['api_key']->rotatedFrom->id)->toBe($original['api_key']->id); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Grace Period Handling -// ───────────────────────────────────────────────────────────────────────────── - -describe('Grace Period', function () { - it('sets grace period on rotation', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'To Be Rotated' - ); - - $result['api_key']->rotate(48); - - $oldKey = $result['api_key']->fresh(); - expect($oldKey->grace_period_ends_at)->not->toBeNull(); - expect($oldKey->isInGracePeriod())->toBeTrue(); - expect($oldKey->grace_period_ends_at->diffInHours(now()))->toBeLessThanOrEqual(48); - }); - - it('key becomes invalid after grace period expires', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Expiring Grace Key' - ); - - $result['api_key']->update([ - 'grace_period_ends_at' => now()->subHour(), - ]); - - $found = ApiKey::findByPlainKey($result['plain_key']); - expect($found)->toBeNull(); - }); - - it('can end grace period early', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Early End Key' - ); - - $result['api_key']->rotate(24); - - $oldKey = $result['api_key']->fresh(); - expect($oldKey->isInGracePeriod())->toBeTrue(); - - $oldKey->endGracePeriod(); - - expect($oldKey->fresh()->trashed())->toBeTrue(); - }); - - it('scopes keys in grace period correctly', function () { - // Key in grace period - $key1 = ApiKey::generate($this->workspace->id, $this->user->id, 'In Grace'); - $key1['api_key']->update(['grace_period_ends_at' => now()->addHours(12)]); - - // Key with expired grace period - $key2 = ApiKey::generate($this->workspace->id, $this->user->id, 'Expired Grace'); - $key2['api_key']->update(['grace_period_ends_at' => now()->subHours(1)]); - - // Normal key - ApiKey::generate($this->workspace->id, $this->user->id, 'Normal Key'); - - expect(ApiKey::inGracePeriod()->count())->toBe(1); - expect(ApiKey::gracePeriodExpired()->count())->toBe(1); - expect(ApiKey::active()->count())->toBe(2); // Normal + In Grace - }); - - it('detects grace period expired status', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Status Check Key' - ); - - // Not in grace period - expect($result['api_key']->isInGracePeriod())->toBeFalse(); - expect($result['api_key']->isGracePeriodExpired())->toBeFalse(); - - // In grace period - $result['api_key']->update(['grace_period_ends_at' => now()->addHour()]); - expect($result['api_key']->fresh()->isInGracePeriod())->toBeTrue(); - expect($result['api_key']->fresh()->isGracePeriodExpired())->toBeFalse(); - - // Grace period expired - $result['api_key']->update(['grace_period_ends_at' => now()->subHour()]); - expect($result['api_key']->fresh()->isInGracePeriod())->toBeFalse(); - expect($result['api_key']->fresh()->isGracePeriodExpired())->toBeTrue(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Hash Algorithm Constants -// ───────────────────────────────────────────────────────────────────────────── - -describe('Hash Algorithm Constants', function () { - it('defines correct hash algorithm constants', function () { - expect(ApiKey::HASH_SHA256)->toBe('sha256'); - expect(ApiKey::HASH_BCRYPT)->toBe('bcrypt'); - }); - - it('defines default grace period constant', function () { - expect(ApiKey::DEFAULT_GRACE_PERIOD_HOURS)->toBe(24); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Factory Legacy Support -// ───────────────────────────────────────────────────────────────────────────── - -describe('Factory Legacy Support', function () { - it('creates legacy keys via static helper', function () { - $result = ApiKeyFactory::createLegacyKey( - $this->workspace, - $this->user - ); - - expect($result['api_key']->hash_algorithm)->toBe(ApiKey::HASH_SHA256); - expect($result['api_key']->key)->not->toStartWith('$2y$'); - - // Should be a 64-char hex string (SHA-256) - expect(strlen($result['api_key']->key))->toBe(64); - }); - - it('creates keys in grace period via factory', function () { - $key = ApiKey::factory() - ->for($this->workspace) - ->for($this->user) - ->inGracePeriod(6) - ->create(); - - expect($key->isInGracePeriod())->toBeTrue(); - expect($key->grace_period_ends_at->diffInHours(now()))->toBeLessThanOrEqual(6); - }); - - it('creates keys with expired grace period via factory', function () { - $key = ApiKey::factory() - ->for($this->workspace) - ->for($this->user) - ->gracePeriodExpired() - ->create(); - - expect($key->isGracePeriodExpired())->toBeTrue(); - expect($key->isInGracePeriod())->toBeFalse(); - }); -}); diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyTest.php deleted file mode 100644 index 109811c..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/ApiKeyTest.php +++ /dev/null @@ -1,617 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// API Key Creation -// ───────────────────────────────────────────────────────────────────────────── - -describe('API Key Creation', function () { - it('generates a new API key with correct format', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Test API Key' - ); - - expect($result)->toHaveKeys(['api_key', 'plain_key']); - expect($result['api_key'])->toBeInstanceOf(ApiKey::class); - expect($result['plain_key'])->toStartWith('hk_'); - - // Plain key format: hk_xxxxxxxx_xxxx... - $parts = explode('_', $result['plain_key']); - expect($parts)->toHaveCount(3); - expect($parts[0])->toBe('hk'); - expect(strlen($parts[1]))->toBe(8); - expect(strlen($parts[2]))->toBe(48); - }); - - it('creates key with default read and write scopes', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Default Scopes Key' - ); - - expect($result['api_key']->scopes)->toBe([ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE]); - }); - - it('creates key with custom scopes', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Full Access Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE, ApiKey::SCOPE_DELETE] - ); - - expect($result['api_key']->scopes)->toBe(ApiKey::ALL_SCOPES); - }); - - it('creates key with expiry date', function () { - $expiresAt = now()->addDays(30); - - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Expiring Key', - [ApiKey::SCOPE_READ], - $expiresAt - ); - - expect($result['api_key']->expires_at)->not->toBeNull(); - expect($result['api_key']->expires_at->timestamp)->toBe($expiresAt->timestamp); - }); - - it('stores key as bcrypt hashed value', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Hashed Key' - ); - - // Extract the key part from plain key - $parts = explode('_', $result['plain_key'], 3); - $keyPart = $parts[2]; - - // The stored key should be a bcrypt hash (starts with $2y$) - expect($result['api_key']->key)->toStartWith('$2y$'); - expect($result['api_key']->hash_algorithm)->toBe(ApiKey::HASH_BCRYPT); - - // Verify the key matches using Hash::check - expect(\Illuminate\Support\Facades\Hash::check($keyPart, $result['api_key']->key))->toBeTrue(); - }); - - it('sets hash_algorithm to bcrypt for new keys', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Bcrypt Key' - ); - - expect($result['api_key']->hash_algorithm)->toBe(ApiKey::HASH_BCRYPT); - expect($result['api_key']->usesLegacyHash())->toBeFalse(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// API Key Authentication -// ───────────────────────────────────────────────────────────────────────────── - -describe('API Key Authentication', function () { - it('finds key by valid plain key', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Findable Key' - ); - - $foundKey = ApiKey::findByPlainKey($result['plain_key']); - - expect($foundKey)->not->toBeNull(); - expect($foundKey->id)->toBe($result['api_key']->id); - }); - - it('returns null for invalid key format', function () { - expect(ApiKey::findByPlainKey('invalid-key'))->toBeNull(); - expect(ApiKey::findByPlainKey('hk_only_two_parts'))->toBeNull(); - expect(ApiKey::findByPlainKey(''))->toBeNull(); - }); - - it('returns null for non-existent key', function () { - $result = ApiKey::findByPlainKey('hk_nonexist_'.str_repeat('x', 48)); - - expect($result)->toBeNull(); - }); - - it('returns null for expired key', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Expired Key', - [ApiKey::SCOPE_READ], - now()->subDay() // Already expired - ); - - $foundKey = ApiKey::findByPlainKey($result['plain_key']); - - expect($foundKey)->toBeNull(); - }); - - it('returns null for revoked (soft-deleted) key', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Revoked Key' - ); - - $result['api_key']->revoke(); - - $foundKey = ApiKey::findByPlainKey($result['plain_key']); - - expect($foundKey)->toBeNull(); - }); - - it('records usage on authentication', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Tracking Key' - ); - - expect($result['api_key']->last_used_at)->toBeNull(); - - $result['api_key']->recordUsage(); - - expect($result['api_key']->fresh()->last_used_at)->not->toBeNull(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Scope Checking -// ───────────────────────────────────────────────────────────────────────────── - -describe('Scope Checking', function () { - it('checks for single scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Scoped Key', - [ApiKey::SCOPE_READ] - ); - - $key = $result['api_key']; - - expect($key->hasScope(ApiKey::SCOPE_READ))->toBeTrue(); - expect($key->hasScope(ApiKey::SCOPE_WRITE))->toBeFalse(); - expect($key->hasScope(ApiKey::SCOPE_DELETE))->toBeFalse(); - }); - - it('checks for multiple scopes', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Multi-Scoped Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - $key = $result['api_key']; - - expect($key->hasScopes([ApiKey::SCOPE_READ]))->toBeTrue(); - expect($key->hasScopes([ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE]))->toBeTrue(); - expect($key->hasScopes([ApiKey::SCOPE_READ, ApiKey::SCOPE_DELETE]))->toBeFalse(); - }); - - it('returns available scope constants', function () { - expect(ApiKey::SCOPE_READ)->toBe('read'); - expect(ApiKey::SCOPE_WRITE)->toBe('write'); - expect(ApiKey::SCOPE_DELETE)->toBe('delete'); - expect(ApiKey::ALL_SCOPES)->toBe(['read', 'write', 'delete']); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Expiry Handling -// ───────────────────────────────────────────────────────────────────────────── - -describe('Expiry Handling', function () { - it('detects expired key', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Past Expiry Key', - [ApiKey::SCOPE_READ], - now()->subDay() - ); - - expect($result['api_key']->isExpired())->toBeTrue(); - }); - - it('detects non-expired key', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Future Expiry Key', - [ApiKey::SCOPE_READ], - now()->addDay() - ); - - expect($result['api_key']->isExpired())->toBeFalse(); - }); - - it('keys without expiry are never expired', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'No Expiry Key' - ); - - expect($result['api_key']->expires_at)->toBeNull(); - expect($result['api_key']->isExpired())->toBeFalse(); - }); - - it('scopes expired keys correctly', function () { - // Create expired key - ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Expired Key 1', - [ApiKey::SCOPE_READ], - now()->subDays(2) - ); - - // Create active key - ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Active Key', - [ApiKey::SCOPE_READ], - now()->addDays(30) - ); - - // Create no-expiry key - ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'No Expiry Key' - ); - - $expired = ApiKey::expired()->count(); - $active = ApiKey::active()->count(); - - expect($expired)->toBe(1); - expect($active)->toBe(2); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Server Scopes (MCP Access) -// ───────────────────────────────────────────────────────────────────────────── - -describe('Server Scopes', function () { - it('allows all servers when server_scopes is null', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'All Servers Key' - ); - - $key = $result['api_key']; - - expect($key->server_scopes)->toBeNull(); - expect($key->hasServerAccess('commerce'))->toBeTrue(); - expect($key->hasServerAccess('biohost'))->toBeTrue(); - expect($key->hasServerAccess('anything'))->toBeTrue(); - }); - - it('restricts to specific servers when server_scopes is set', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Limited Servers Key' - ); - - $key = $result['api_key']; - $key->update(['server_scopes' => ['commerce', 'biohost']]); - - expect($key->hasServerAccess('commerce'))->toBeTrue(); - expect($key->hasServerAccess('biohost'))->toBeTrue(); - expect($key->hasServerAccess('analytics'))->toBeFalse(); - }); - - it('returns allowed servers list', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Specific Servers Key' - ); - - $key = $result['api_key']; - $key->update(['server_scopes' => ['commerce']]); - - expect($key->getAllowedServers())->toBe(['commerce']); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Key Revocation -// ───────────────────────────────────────────────────────────────────────────── - -describe('Key Revocation', function () { - it('revokes key via soft delete', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'To Be Revoked' - ); - - $key = $result['api_key']; - $keyId = $key->id; - - $key->revoke(); - - // Should be soft deleted - expect(ApiKey::find($keyId))->toBeNull(); - expect(ApiKey::withTrashed()->find($keyId))->not->toBeNull(); - }); - - it('revoked keys are excluded from workspace scope', function () { - // Create active key - ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Active Key' - ); - - // Create and revoke a key - $revokedResult = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Revoked Key' - ); - $revokedResult['api_key']->revoke(); - - $keys = ApiKey::forWorkspace($this->workspace->id)->get(); - - expect($keys)->toHaveCount(1); - expect($keys->first()->name)->toBe('Active Key'); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Masked Key Display -// ───────────────────────────────────────────────────────────────────────────── - -describe('Masked Key Display', function () { - it('provides masked key for display', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Masked Key' - ); - - $key = $result['api_key']; - $maskedKey = $key->masked_key; - - expect($maskedKey)->toStartWith($key->prefix); - expect($maskedKey)->toEndWith('_****'); - expect($maskedKey)->toBe("{$key->prefix}_****"); - }); - - it('hides raw key in JSON serialization', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Hidden Key' - ); - - $json = $result['api_key']->toArray(); - - expect($json)->not->toHaveKey('key'); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Relationships -// ───────────────────────────────────────────────────────────────────────────── - -describe('Relationships', function () { - it('belongs to workspace', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Workspace Key' - ); - - expect($result['api_key']->workspace->id)->toBe($this->workspace->id); - }); - - it('belongs to user', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'User Key' - ); - - expect($result['api_key']->user->id)->toBe($this->user->id); - }); - - it('is deleted when workspace is deleted', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Cascade Key' - ); - - $keyId = $result['api_key']->id; - - $this->workspace->delete(); - - expect(ApiKey::withTrashed()->find($keyId))->toBeNull(); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Factory Tests -// ───────────────────────────────────────────────────────────────────────────── - -describe('Factory', function () { - it('creates key via factory', function () { - $key = ApiKey::factory() - ->for($this->workspace) - ->for($this->user) - ->create(); - - expect($key)->toBeInstanceOf(ApiKey::class); - expect($key->workspace_id)->toBe($this->workspace->id); - expect($key->user_id)->toBe($this->user->id); - }); - - it('creates read-only key via factory', function () { - $key = ApiKey::factory() - ->for($this->workspace) - ->for($this->user) - ->readOnly() - ->create(); - - expect($key->scopes)->toBe([ApiKey::SCOPE_READ]); - }); - - it('creates full access key via factory', function () { - $key = ApiKey::factory() - ->for($this->workspace) - ->for($this->user) - ->fullAccess() - ->create(); - - expect($key->scopes)->toBe(ApiKey::ALL_SCOPES); - }); - - it('creates expired key via factory', function () { - $key = ApiKey::factory() - ->for($this->workspace) - ->for($this->user) - ->expired() - ->create(); - - expect($key->isExpired())->toBeTrue(); - }); - - it('creates key with known credentials via helper', function () { - $result = ApiKeyFactory::createWithPlainKey( - $this->workspace, - $this->user, - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - expect($result)->toHaveKeys(['api_key', 'plain_key']); - - // Verify the plain key works for lookup - $foundKey = ApiKey::findByPlainKey($result['plain_key']); - expect($foundKey)->not->toBeNull(); - expect($foundKey->id)->toBe($result['api_key']->id); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Rate Limiting (Integration) -// ───────────────────────────────────────────────────────────────────────────── - -describe('Rate Limiting Configuration', function () { - it('has default rate limits configured', function () { - $default = config('api.rate_limits.default'); - - expect($default)->toHaveKeys(['requests', 'per_minutes']); - expect($default['requests'])->toBeInt(); - expect($default['per_minutes'])->toBeInt(); - }); - - it('has authenticated rate limits configured', function () { - $authenticated = config('api.rate_limits.authenticated'); - - expect($authenticated)->toHaveKeys(['requests', 'per_minutes']); - expect($authenticated['requests'])->toBeGreaterThan(config('api.rate_limits.default.requests')); - }); - - it('has tier-based rate limits configured', function () { - $tiers = ['starter', 'pro', 'agency', 'enterprise']; - - foreach ($tiers as $tier) { - $limits = config("api.rate_limits.by_tier.{$tier}"); - expect($limits)->toHaveKeys(['requests', 'per_minutes']); - } - }); - - it('tier limits increase with tier level', function () { - $starter = config('api.rate_limits.by_tier.starter.requests'); - $pro = config('api.rate_limits.by_tier.pro.requests'); - $agency = config('api.rate_limits.by_tier.agency.requests'); - $enterprise = config('api.rate_limits.by_tier.enterprise.requests'); - - expect($pro)->toBeGreaterThan($starter); - expect($agency)->toBeGreaterThan($pro); - expect($enterprise)->toBeGreaterThan($agency); - }); - - it('has route-level rate limit names configured', function () { - $routeLimits = config('api.rate_limits.routes'); - - expect($routeLimits)->toBeArray(); - expect($routeLimits)->toHaveKeys(['mcp', 'pixel']); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// HTTP Authentication Tests -// ───────────────────────────────────────────────────────────────────────────── - -describe('HTTP Authentication', function () { - it('requires authorization header', function () { - $response = $this->getJson('/api/mcp/servers'); - - expect($response->status())->toBe(401); - expect($response->json('error'))->toBe('unauthorized'); - }); - - it('rejects invalid API key', function () { - $response = $this->getJson('/api/mcp/servers', [ - 'Authorization' => 'Bearer hk_invalid_'.str_repeat('x', 48), - ]); - - expect($response->status())->toBe(401); - }); - - it('rejects expired API key via HTTP', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Expired HTTP Key', - [ApiKey::SCOPE_READ], - now()->subDay() - ); - - $response = $this->getJson('/api/mcp/servers', [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(401); - }); -}); diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/ApiScopeEnforcementTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/ApiScopeEnforcementTest.php deleted file mode 100644 index ec6f630..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/ApiScopeEnforcementTest.php +++ /dev/null @@ -1,232 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - // Register test routes with scope enforcement - Route::middleware(['api', 'api.auth', 'api.scope.enforce']) - ->prefix('test-scope') - ->group(function () { - Route::get('/read', fn () => response()->json(['status' => 'ok'])); - Route::post('/write', fn () => response()->json(['status' => 'ok'])); - Route::put('/update', fn () => response()->json(['status' => 'ok'])); - Route::patch('/patch', fn () => response()->json(['status' => 'ok'])); - Route::delete('/delete', fn () => response()->json(['status' => 'ok'])); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Read Scope Enforcement -// ───────────────────────────────────────────────────────────────────────────── - -describe('Read Scope Enforcement', function () { - it('allows GET request with read scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read Only Key', - [ApiKey::SCOPE_READ] - ); - - $response = $this->getJson('/api/test-scope/read', [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(200); - expect($response->json('status'))->toBe('ok'); - }); - - it('denies POST request with read-only scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read Only Key', - [ApiKey::SCOPE_READ] - ); - - $response = $this->postJson('/api/test-scope/write', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(403); - expect($response->json('error'))->toBe('forbidden'); - expect($response->json('message'))->toContain('write'); - }); - - it('denies DELETE request with read-only scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read Only Key', - [ApiKey::SCOPE_READ] - ); - - $response = $this->deleteJson('/api/test-scope/delete', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(403); - expect($response->json('error'))->toBe('forbidden'); - expect($response->json('message'))->toContain('delete'); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Write Scope Enforcement -// ───────────────────────────────────────────────────────────────────────────── - -describe('Write Scope Enforcement', function () { - it('allows POST request with write scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read/Write Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - $response = $this->postJson('/api/test-scope/write', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(200); - }); - - it('allows PUT request with write scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read/Write Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - $response = $this->putJson('/api/test-scope/update', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(200); - }); - - it('allows PATCH request with write scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read/Write Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - $response = $this->patchJson('/api/test-scope/patch', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(200); - }); - - it('denies DELETE request without delete scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read/Write Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE] - ); - - $response = $this->deleteJson('/api/test-scope/delete', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(403); - expect($response->json('message'))->toContain('delete'); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Delete Scope Enforcement -// ───────────────────────────────────────────────────────────────────────────── - -describe('Delete Scope Enforcement', function () { - it('allows DELETE request with delete scope', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Full Access Key', - [ApiKey::SCOPE_READ, ApiKey::SCOPE_WRITE, ApiKey::SCOPE_DELETE] - ); - - $response = $this->deleteJson('/api/test-scope/delete', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(200); - }); - - it('includes key scopes in error response', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Read Only Key', - [ApiKey::SCOPE_READ] - ); - - $response = $this->deleteJson('/api/test-scope/delete', [], [ - 'Authorization' => "Bearer {$result['plain_key']}", - ]); - - expect($response->status())->toBe(403); - expect($response->json('key_scopes'))->toBe([ApiKey::SCOPE_READ]); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Full Access Keys -// ───────────────────────────────────────────────────────────────────────────── - -describe('Full Access Keys', function () { - it('allows all operations with full access', function () { - $result = ApiKey::generate( - $this->workspace->id, - $this->user->id, - 'Full Access Key', - ApiKey::ALL_SCOPES - ); - - $headers = ['Authorization' => "Bearer {$result['plain_key']}"]; - - expect($this->getJson('/api/test-scope/read', $headers)->status())->toBe(200); - expect($this->postJson('/api/test-scope/write', [], $headers)->status())->toBe(200); - expect($this->putJson('/api/test-scope/update', [], $headers)->status())->toBe(200); - expect($this->patchJson('/api/test-scope/patch', [], $headers)->status())->toBe(200); - expect($this->deleteJson('/api/test-scope/delete', [], $headers)->status())->toBe(200); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Non-API Key Auth (Session) -// ───────────────────────────────────────────────────────────────────────────── - -describe('Non-API Key Auth', function () { - it('passes through for session authenticated users', function () { - // For session auth, the middleware should allow through - // as scope enforcement only applies to API key auth - $this->actingAs($this->user); - - // The api.auth middleware will require API key, so this tests - // that if somehow session auth is used, scope middleware allows it - // In practice, routes use either 'auth' OR 'api.auth', not both - }); -}); diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/ApiUsageTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/ApiUsageTest.php deleted file mode 100644 index 20c3f0d..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/ApiUsageTest.php +++ /dev/null @@ -1,362 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - $result = ApiKey::generate($this->workspace->id, $this->user->id, 'Test Key'); - $this->apiKey = $result['api_key']; - - $this->service = app(ApiUsageService::class); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Recording Usage -// ───────────────────────────────────────────────────────────────────────────── - -describe('Recording API Usage', function () { - it('records individual usage entries', function () { - $usage = $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/workspaces', - method: 'GET', - statusCode: 200, - responseTimeMs: 150, - requestSize: 0, - responseSize: 1024 - ); - - expect($usage)->toBeInstanceOf(ApiUsage::class); - expect($usage->api_key_id)->toBe($this->apiKey->id); - expect($usage->endpoint)->toBe('/api/v1/workspaces'); - expect($usage->method)->toBe('GET'); - expect($usage->status_code)->toBe(200); - expect($usage->response_time_ms)->toBe(150); - }); - - it('normalises endpoint paths with IDs', function () { - $usage = $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/workspaces/123/users/456', - method: 'GET', - statusCode: 200, - responseTimeMs: 100 - ); - - expect($usage->endpoint)->toBe('/api/v1/workspaces/{id}/users/{id}'); - }); - - it('normalises endpoint paths with UUIDs', function () { - $usage = $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/resources/550e8400-e29b-41d4-a716-446655440000', - method: 'GET', - statusCode: 200, - responseTimeMs: 100 - ); - - expect($usage->endpoint)->toBe('/api/v1/resources/{uuid}'); - }); - - it('updates daily aggregation on record', function () { - $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/test', - method: 'GET', - statusCode: 200, - responseTimeMs: 100 - ); - - $daily = ApiUsageDaily::forKey($this->apiKey->id) - ->where('date', now()->toDateString()) - ->first(); - - expect($daily)->not->toBeNull(); - expect($daily->request_count)->toBe(1); - expect($daily->success_count)->toBe(1); - }); - - it('increments daily counts correctly', function () { - // Record multiple requests - for ($i = 0; $i < 5; $i++) { - $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/test', - method: 'GET', - statusCode: 200, - responseTimeMs: 100 + ($i * 10) - ); - } - - // Record some errors - for ($i = 0; $i < 2; $i++) { - $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/test', - method: 'GET', - statusCode: 500, - responseTimeMs: 50 - ); - } - - $daily = ApiUsageDaily::forKey($this->apiKey->id) - ->where('date', now()->toDateString()) - ->first(); - - expect($daily->request_count)->toBe(7); - expect($daily->success_count)->toBe(5); - expect($daily->error_count)->toBe(2); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Usage Summaries -// ───────────────────────────────────────────────────────────────────────────── - -describe('Usage Summaries', function () { - beforeEach(function () { - // Create some usage data - for ($i = 0; $i < 10; $i++) { - $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/workspaces', - method: 'GET', - statusCode: 200, - responseTimeMs: 100 + $i - ); - } - - for ($i = 0; $i < 3; $i++) { - $this->service->record( - apiKeyId: $this->apiKey->id, - workspaceId: $this->workspace->id, - endpoint: '/api/v1/workspaces', - method: 'POST', - statusCode: 422, - responseTimeMs: 50 - ); - } - }); - - it('returns workspace summary', function () { - $summary = $this->service->getWorkspaceSummary($this->workspace->id); - - expect($summary)->toHaveKeys(['period', 'totals', 'response_time', 'data_transfer']); - expect($summary['totals']['requests'])->toBe(13); - expect($summary['totals']['success'])->toBe(10); - expect($summary['totals']['errors'])->toBe(3); - }); - - it('returns key summary', function () { - $summary = $this->service->getKeySummary($this->apiKey->id); - - expect($summary['totals']['requests'])->toBe(13); - expect($summary['totals']['success_rate'])->toBeGreaterThan(70); - }); - - it('calculates average response time', function () { - $summary = $this->service->getWorkspaceSummary($this->workspace->id); - - // (100+101+102+...+109 + 50*3) / 13 - expect($summary['response_time']['average_ms'])->toBeGreaterThan(0); - }); - - it('filters by date range', function () { - // Create usage for 2 days ago with correct timestamp upfront - $oldDate = now()->subDays(2); - $usage = ApiUsage::create([ - 'api_key_id' => $this->apiKey->id, - 'workspace_id' => $this->workspace->id, - 'endpoint' => '/api/v1/old', - 'method' => 'GET', - 'status_code' => 200, - 'response_time_ms' => 100, - 'created_at' => $oldDate, - 'updated_at' => $oldDate, - ]); - - // Also create a backdated daily aggregate for consistency - ApiUsageDaily::updateOrCreate( - [ - 'api_key_id' => $this->apiKey->id, - 'date' => $oldDate->toDateString(), - ], - [ - 'request_count' => 1, - 'success_count' => 1, - 'error_count' => 0, - 'total_response_time_ms' => 100, - 'total_request_size' => 0, - 'total_response_size' => 0, - ] - ); - - // Summary for last 24 hours should not include old data - $summary = $this->service->getWorkspaceSummary( - $this->workspace->id, - now()->subDay(), - now() - ); - - expect($summary['totals']['requests'])->toBe(13); // Only today's requests - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Charts and Reports -// ───────────────────────────────────────────────────────────────────────────── - -describe('Charts and Reports', function () { - beforeEach(function () { - // Create usage spread across days - for ($day = 0; $day < 7; $day++) { - $date = now()->subDays($day); - $requests = 10 - $day; - - for ($i = 0; $i < $requests; $i++) { - $usage = ApiUsage::record( - $this->apiKey->id, - $this->workspace->id, - '/api/v1/test', - 'GET', - 200, - 100 - ); - $usage->update(['created_at' => $date]); - - ApiUsageDaily::recordFromUsage($usage); - } - } - }); - - it('returns daily chart data', function () { - $chart = $this->service->getDailyChart($this->workspace->id); - - expect($chart)->toBeArray(); - expect(count($chart))->toBeGreaterThan(0); - expect($chart[0])->toHaveKeys(['date', 'requests', 'success', 'errors', 'avg_response_time_ms']); - }); - - it('returns top endpoints', function () { - // Add some variety - $this->service->record( - $this->apiKey->id, - $this->workspace->id, - '/api/v1/popular', - 'GET', - 200, - 100 - ); - - $endpoints = $this->service->getTopEndpoints($this->workspace->id, 5); - - expect($endpoints)->toBeArray(); - expect($endpoints[0])->toHaveKeys(['endpoint', 'method', 'requests', 'success_rate', 'avg_response_time_ms']); - }); - - it('returns error breakdown', function () { - // Add some errors - $this->service->record($this->apiKey->id, $this->workspace->id, '/api/v1/test', 'GET', 401, 50); - $this->service->record($this->apiKey->id, $this->workspace->id, '/api/v1/test', 'GET', 404, 50); - $this->service->record($this->apiKey->id, $this->workspace->id, '/api/v1/test', 'GET', 500, 50); - - $errors = $this->service->getErrorBreakdown($this->workspace->id); - - expect($errors)->toBeArray(); - expect(count($errors))->toBe(3); - expect($errors[0])->toHaveKeys(['status_code', 'count', 'description']); - }); - - it('returns key comparison', function () { - // Create another key with usage - $key2 = ApiKey::generate($this->workspace->id, $this->user->id, 'Second Key'); - $this->service->record($key2['api_key']->id, $this->workspace->id, '/api/v1/test', 'GET', 200, 100); - - $comparison = $this->service->getKeyComparison($this->workspace->id); - - expect($comparison)->toBeArray(); - expect(count($comparison))->toBe(2); - expect($comparison[0])->toHaveKeys(['api_key_id', 'api_key_name', 'requests', 'success_rate']); - }); -}); - -// ───────────────────────────────────────────────────────────────────────────── -// Data Retention -// ───────────────────────────────────────────────────────────────────────────── - -describe('Data Retention', function () { - it('prunes old detailed records', function () { - // Create old records - for ($i = 0; $i < 5; $i++) { - $usage = ApiUsage::record( - $this->apiKey->id, - $this->workspace->id, - '/api/v1/old', - 'GET', - 200, - 100 - ); - $usage->update(['created_at' => now()->subDays(60)]); - } - - // Create recent records - for ($i = 0; $i < 3; $i++) { - ApiUsage::record( - $this->apiKey->id, - $this->workspace->id, - '/api/v1/recent', - 'GET', - 200, - 100 - ); - } - - $deleted = $this->service->pruneOldRecords(30); - - expect($deleted)->toBe(5); - expect(ApiUsage::count())->toBe(3); - }); - - it('keeps daily aggregates when pruning detailed records', function () { - // Create and aggregate old record - $usage = ApiUsage::record( - $this->apiKey->id, - $this->workspace->id, - '/api/v1/old', - 'GET', - 200, - 100 - ); - $usage->update(['created_at' => now()->subDays(60)]); - ApiUsageDaily::recordFromUsage($usage); - - $dailyCountBefore = ApiUsageDaily::count(); - - $this->service->pruneOldRecords(30); - - // Daily aggregates should remain - expect(ApiUsageDaily::count())->toBe($dailyCountBefore); - }); -}); diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/OpenApiDocumentationTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/OpenApiDocumentationTest.php deleted file mode 100644 index b8f31d9..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/OpenApiDocumentationTest.php +++ /dev/null @@ -1,120 +0,0 @@ -assertInstanceOf(OpenApiBuilder::class, $builder); - } - - public function test_extensions_implement_interface(): void - { - $this->assertInstanceOf(Extension::class, new WorkspaceHeaderExtension); - $this->assertInstanceOf(Extension::class, new RateLimitExtension); - $this->assertInstanceOf(Extension::class, new ApiKeyAuthExtension); - } - - public function test_api_tag_attribute(): void - { - $tag = new ApiTag('Users', 'User management'); - - $this->assertEquals('Users', $tag->name); - $this->assertEquals('User management', $tag->description); - } - - public function test_api_response_attribute(): void - { - $response = new ApiResponse(200, null, 'Success'); - - $this->assertEquals(200, $response->status); - $this->assertEquals('Success', $response->getDescription()); - $this->assertFalse($response->paginated); - } - - public function test_api_response_generates_description_from_status(): void - { - $response = new ApiResponse(404); - - $this->assertEquals('Not found', $response->getDescription()); - } - - public function test_api_security_attribute(): void - { - $security = new ApiSecurity('apiKey', ['read', 'write']); - - $this->assertEquals('apiKey', $security->scheme); - $this->assertEquals(['read', 'write'], $security->scopes); - $this->assertFalse($security->isPublic()); - } - - public function test_api_security_public(): void - { - $security = new ApiSecurity(null); - - $this->assertTrue($security->isPublic()); - } - - public function test_api_parameter_attribute(): void - { - $param = new ApiParameter( - name: 'page', - in: 'query', - type: 'integer', - description: 'Page number', - required: false, - example: 1 - ); - - $this->assertEquals('page', $param->name); - $this->assertEquals('query', $param->in); - $this->assertEquals('integer', $param->type); - $this->assertEquals(1, $param->example); - } - - public function test_api_parameter_to_openapi(): void - { - $param = new ApiParameter( - name: 'page', - in: 'query', - type: 'integer', - description: 'Page number', - required: false, - example: 1 - ); - - $openApi = $param->toOpenApi(); - - $this->assertEquals('page', $openApi['name']); - $this->assertEquals('query', $openApi['in']); - $this->assertFalse($openApi['required']); - $this->assertEquals('integer', $openApi['schema']['type']); - } - - public function test_api_hidden_attribute(): void - { - $hidden = new ApiHidden('Internal only'); - - $this->assertEquals('Internal only', $hidden->reason); - } -} diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/RateLimitTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/RateLimitTest.php deleted file mode 100644 index b6a3300..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/RateLimitTest.php +++ /dev/null @@ -1,532 +0,0 @@ -rateLimitService = new RateLimitService($this->app->make(CacheRepository::class)); - } - - protected function tearDown(): void - { - Carbon::setTestNow(); - parent::tearDown(); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimitResult DTO Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_rate_limit_result_creates_allowed_result(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::allowed(100, 99, $resetsAt); - - $this->assertTrue($result->allowed); - $this->assertSame(100, $result->limit); - $this->assertSame(99, $result->remaining); - $this->assertSame(0, $result->retryAfter); - $this->assertSame($resetsAt->timestamp, $result->resetsAt->timestamp); - } - - public function test_rate_limit_result_creates_denied_result(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::denied(100, 30, $resetsAt); - - $this->assertFalse($result->allowed); - $this->assertSame(100, $result->limit); - $this->assertSame(0, $result->remaining); - $this->assertSame(30, $result->retryAfter); - $this->assertSame($resetsAt->timestamp, $result->resetsAt->timestamp); - } - - public function test_rate_limit_result_generates_correct_headers_for_allowed(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::allowed(100, 99, $resetsAt); - - $headers = $result->headers(); - - $this->assertArrayHasKey('X-RateLimit-Limit', $headers); - $this->assertArrayHasKey('X-RateLimit-Remaining', $headers); - $this->assertArrayHasKey('X-RateLimit-Reset', $headers); - $this->assertSame(100, $headers['X-RateLimit-Limit']); - $this->assertSame(99, $headers['X-RateLimit-Remaining']); - $this->assertSame($resetsAt->timestamp, $headers['X-RateLimit-Reset']); - $this->assertArrayNotHasKey('Retry-After', $headers); - } - - public function test_rate_limit_result_generates_correct_headers_for_denied(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::denied(100, 30, $resetsAt); - - $headers = $result->headers(); - - $this->assertArrayHasKey('X-RateLimit-Limit', $headers); - $this->assertArrayHasKey('X-RateLimit-Remaining', $headers); - $this->assertArrayHasKey('X-RateLimit-Reset', $headers); - $this->assertArrayHasKey('Retry-After', $headers); - $this->assertSame(100, $headers['X-RateLimit-Limit']); - $this->assertSame(0, $headers['X-RateLimit-Remaining']); - $this->assertSame(30, $headers['Retry-After']); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimitService - Basic Rate Limiting Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_service_allows_requests_under_the_limit(): void - { - $result = $this->rateLimitService->hit('test-key', 10, 60); - - $this->assertTrue($result->allowed); - $this->assertSame(9, $result->remaining); - $this->assertSame(10, $result->limit); - } - - public function test_service_tracks_requests_correctly(): void - { - // Make 5 requests - for ($i = 0; $i < 5; $i++) { - $result = $this->rateLimitService->hit('test-key', 10, 60); - } - - $this->assertTrue($result->allowed); - $this->assertSame(5, $result->remaining); - } - - public function test_service_blocks_requests_when_limit_exceeded(): void - { - // Make 10 requests (at limit) - for ($i = 0; $i < 10; $i++) { - $this->rateLimitService->hit('test-key', 10, 60); - } - - // 11th request should be blocked - $result = $this->rateLimitService->hit('test-key', 10, 60); - - $this->assertFalse($result->allowed); - $this->assertSame(0, $result->remaining); - $this->assertGreaterThan(0, $result->retryAfter); - } - - public function test_check_method_does_not_increment_counter(): void - { - // Hit once - $this->rateLimitService->hit('test-key', 10, 60); - - // Check multiple times (should not count) - $this->rateLimitService->check('test-key', 10, 60); - $this->rateLimitService->check('test-key', 10, 60); - $this->rateLimitService->check('test-key', 10, 60); - - // Verify only 1 hit was recorded - $this->assertSame(9, $this->rateLimitService->remaining('test-key', 10, 60)); - } - - public function test_service_resets_correctly(): void - { - // Make some requests - for ($i = 0; $i < 5; $i++) { - $this->rateLimitService->hit('test-key', 10, 60); - } - - $this->assertSame(5, $this->rateLimitService->remaining('test-key', 10, 60)); - - // Reset - $this->rateLimitService->reset('test-key'); - - $this->assertSame(10, $this->rateLimitService->remaining('test-key', 10, 60)); - } - - public function test_service_returns_correct_attempts_count(): void - { - $this->assertSame(0, $this->rateLimitService->attempts('test-key', 60)); - - $this->rateLimitService->hit('test-key', 10, 60); - $this->rateLimitService->hit('test-key', 10, 60); - $this->rateLimitService->hit('test-key', 10, 60); - - $this->assertSame(3, $this->rateLimitService->attempts('test-key', 60)); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimitService - Sliding Window Algorithm Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_sliding_window_expires_old_requests(): void - { - // Make 5 requests now - for ($i = 0; $i < 5; $i++) { - $this->rateLimitService->hit('test-key', 10, 60); - } - - $this->assertSame(5, $this->rateLimitService->remaining('test-key', 10, 60)); - - // Move time forward 61 seconds (past the window) - Carbon::setTestNow(Carbon::now()->addSeconds(61)); - - // Old requests should have expired - $this->assertSame(10, $this->rateLimitService->remaining('test-key', 10, 60)); - } - - public function test_sliding_window_maintains_requests_within_window(): void - { - // Make 5 requests now - for ($i = 0; $i < 5; $i++) { - $this->rateLimitService->hit('test-key', 10, 60); - } - - // Move time forward 30 seconds (still within window) - Carbon::setTestNow(Carbon::now()->addSeconds(30)); - - // Requests should still count - $this->assertSame(5, $this->rateLimitService->remaining('test-key', 10, 60)); - - // Make 3 more requests - for ($i = 0; $i < 3; $i++) { - $this->rateLimitService->hit('test-key', 10, 60); - } - - $this->assertSame(2, $this->rateLimitService->remaining('test-key', 10, 60)); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimitService - Burst Allowance Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_burst_allows_when_configured(): void - { - // With 20% burst, limit of 10 becomes effective limit of 12 - for ($i = 0; $i < 12; $i++) { - $result = $this->rateLimitService->hit('test-key', 10, 60, 1.2); - $this->assertTrue($result->allowed); - } - - // 13th request should be blocked - $result = $this->rateLimitService->hit('test-key', 10, 60, 1.2); - $this->assertFalse($result->allowed); - } - - public function test_burst_reports_base_limit_not_burst_limit(): void - { - $result = $this->rateLimitService->hit('test-key', 10, 60, 1.5); - - // Limit shown should be the base limit (10), not the burst limit (15) - $this->assertSame(10, $result->limit); - } - - public function test_burst_calculates_remaining_based_on_burst_limit(): void - { - // With 50% burst, limit of 10 becomes effective limit of 15 - $result = $this->rateLimitService->hit('test-key', 10, 60, 1.5); - - // After 1 hit, remaining should be 14 (15 - 1) - $this->assertSame(14, $result->remaining); - } - - public function test_burst_works_without_burst(): void - { - for ($i = 0; $i < 10; $i++) { - $result = $this->rateLimitService->hit('test-key', 10, 60, 1.0); - $this->assertTrue($result->allowed); - } - - $result = $this->rateLimitService->hit('test-key', 10, 60, 1.0); - $this->assertFalse($result->allowed); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimitService - Key Builders Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_builds_endpoint_keys_correctly(): void - { - $key = $this->rateLimitService->buildEndpointKey('api_key:123', 'users.index'); - $this->assertSame('endpoint:api_key:123:users.index', $key); - } - - public function test_builds_workspace_keys_correctly(): void - { - $key = $this->rateLimitService->buildWorkspaceKey(456); - $this->assertSame('workspace:456', $key); - - $keyWithSuffix = $this->rateLimitService->buildWorkspaceKey(456, 'users.index'); - $this->assertSame('workspace:456:users.index', $keyWithSuffix); - } - - public function test_builds_api_key_keys_correctly(): void - { - $key = $this->rateLimitService->buildApiKeyKey(789); - $this->assertSame('api_key:789', $key); - - $keyWithSuffix = $this->rateLimitService->buildApiKeyKey(789, 'users.index'); - $this->assertSame('api_key:789:users.index', $keyWithSuffix); - } - - public function test_builds_ip_keys_correctly(): void - { - $key = $this->rateLimitService->buildIpKey('192.168.1.1'); - $this->assertSame('ip:192.168.1.1', $key); - - $keyWithSuffix = $this->rateLimitService->buildIpKey('192.168.1.1', 'users.index'); - $this->assertSame('ip:192.168.1.1:users.index', $keyWithSuffix); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimit Attribute Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_attribute_instantiates_with_required_parameters(): void - { - $attribute = new RateLimit(limit: 100); - - $this->assertSame(100, $attribute->limit); - $this->assertSame(60, $attribute->window); // default - $this->assertSame(1.0, $attribute->burst); // default - $this->assertNull($attribute->key); // default - } - - public function test_attribute_instantiates_with_all_parameters(): void - { - $attribute = new RateLimit( - limit: 200, - window: 120, - burst: 1.5, - key: 'custom-key' - ); - - $this->assertSame(200, $attribute->limit); - $this->assertSame(120, $attribute->window); - $this->assertSame(1.5, $attribute->burst); - $this->assertSame('custom-key', $attribute->key); - } - - // ───────────────────────────────────────────────────────────────────────── - // RateLimitExceededException Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_exception_creates_with_rate_limit_result(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::denied(100, 30, $resetsAt); - $exception = new RateLimitExceededException($result); - - $this->assertSame(429, $exception->getStatusCode()); - $this->assertSame($result, $exception->getRateLimitResult()); - } - - public function test_exception_renders_as_json_response(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::denied(100, 30, $resetsAt); - $exception = new RateLimitExceededException($result); - - $response = $exception->render(); - - $this->assertSame(429, $response->getStatusCode()); - - $content = json_decode($response->getContent(), true); - $this->assertSame('rate_limit_exceeded', $content['error']); - $this->assertSame(30, $content['retry_after']); - $this->assertSame(100, $content['limit']); - } - - public function test_exception_includes_rate_limit_headers_in_response(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::denied(100, 30, $resetsAt); - $exception = new RateLimitExceededException($result); - - $response = $exception->render(); - - $this->assertSame('100', $response->headers->get('X-RateLimit-Limit')); - $this->assertSame('0', $response->headers->get('X-RateLimit-Remaining')); - $this->assertSame('30', $response->headers->get('Retry-After')); - } - - public function test_exception_allows_custom_message(): void - { - $resetsAt = Carbon::now()->addMinute(); - $result = RateLimitResult::denied(100, 30, $resetsAt); - $exception = new RateLimitExceededException($result, 'Custom rate limit message'); - - $response = $exception->render(); - $content = json_decode($response->getContent(), true); - - $this->assertSame('Custom rate limit message', $content['message']); - } - - // ───────────────────────────────────────────────────────────────────────── - // Per-Workspace Rate Limiting Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_isolates_rate_limits_by_workspace(): void - { - // Create two different workspace keys - $key1 = $this->rateLimitService->buildWorkspaceKey(1, 'endpoint'); - $key2 = $this->rateLimitService->buildWorkspaceKey(2, 'endpoint'); - - // Hit rate limit for workspace 1 - for ($i = 0; $i < 10; $i++) { - $this->rateLimitService->hit($key1, 10, 60); - } - - // Workspace 1 should be blocked - $result1 = $this->rateLimitService->hit($key1, 10, 60); - $this->assertFalse($result1->allowed); - - // Workspace 2 should still be allowed - $result2 = $this->rateLimitService->hit($key2, 10, 60); - $this->assertTrue($result2->allowed); - } - - // ───────────────────────────────────────────────────────────────────────── - // Rate Limit Configuration Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_config_has_enabled_flag(): void - { - Config::set('api.rate_limits.enabled', true); - $this->assertTrue(config('api.rate_limits.enabled')); - } - - public function test_config_has_default_limits(): void - { - Config::set('api.rate_limits.default', [ - 'limit' => 60, - 'window' => 60, - 'burst' => 1.0, - ]); - - $default = config('api.rate_limits.default'); - - $this->assertArrayHasKey('limit', $default); - $this->assertArrayHasKey('window', $default); - $this->assertArrayHasKey('burst', $default); - } - - public function test_config_has_authenticated_limits(): void - { - Config::set('api.rate_limits.authenticated', [ - 'limit' => 1000, - 'window' => 60, - 'burst' => 1.2, - ]); - - $authenticated = config('api.rate_limits.authenticated'); - - $this->assertArrayHasKey('limit', $authenticated); - $this->assertSame(1000, $authenticated['limit']); - } - - public function test_config_has_per_workspace_flag(): void - { - Config::set('api.rate_limits.per_workspace', true); - $this->assertTrue(config('api.rate_limits.per_workspace')); - } - - public function test_config_has_endpoints_configuration(): void - { - Config::set('api.rate_limits.endpoints', []); - $this->assertIsArray(config('api.rate_limits.endpoints')); - } - - public function test_config_has_tier_based_limits(): void - { - Config::set('api.rate_limits.tiers', [ - 'free' => ['limit' => 60, 'window' => 60, 'burst' => 1.0], - 'starter' => ['limit' => 1000, 'window' => 60, 'burst' => 1.2], - 'pro' => ['limit' => 5000, 'window' => 60, 'burst' => 1.3], - 'agency' => ['limit' => 20000, 'window' => 60, 'burst' => 1.5], - 'enterprise' => ['limit' => 100000, 'window' => 60, 'burst' => 2.0], - ]); - - $tiers = config('api.rate_limits.tiers'); - - $this->assertArrayHasKey('free', $tiers); - $this->assertArrayHasKey('starter', $tiers); - $this->assertArrayHasKey('pro', $tiers); - $this->assertArrayHasKey('agency', $tiers); - $this->assertArrayHasKey('enterprise', $tiers); - - foreach ($tiers as $tier => $tierConfig) { - $this->assertArrayHasKey('limit', $tierConfig); - $this->assertArrayHasKey('window', $tierConfig); - $this->assertArrayHasKey('burst', $tierConfig); - } - } - - public function test_tier_limits_increase_with_tier_level(): void - { - Config::set('api.rate_limits.tiers', [ - 'free' => ['limit' => 60, 'window' => 60, 'burst' => 1.0], - 'starter' => ['limit' => 1000, 'window' => 60, 'burst' => 1.2], - 'pro' => ['limit' => 5000, 'window' => 60, 'burst' => 1.3], - 'agency' => ['limit' => 20000, 'window' => 60, 'burst' => 1.5], - 'enterprise' => ['limit' => 100000, 'window' => 60, 'burst' => 2.0], - ]); - - $tiers = config('api.rate_limits.tiers'); - - $this->assertGreaterThan($tiers['free']['limit'], $tiers['starter']['limit']); - $this->assertGreaterThan($tiers['starter']['limit'], $tiers['pro']['limit']); - $this->assertGreaterThan($tiers['pro']['limit'], $tiers['agency']['limit']); - $this->assertGreaterThan($tiers['agency']['limit'], $tiers['enterprise']['limit']); - } - - public function test_higher_tiers_have_higher_burst_allowance(): void - { - Config::set('api.rate_limits.tiers', [ - 'free' => ['limit' => 60, 'window' => 60, 'burst' => 1.0], - 'pro' => ['limit' => 5000, 'window' => 60, 'burst' => 1.3], - 'agency' => ['limit' => 20000, 'window' => 60, 'burst' => 1.5], - 'enterprise' => ['limit' => 100000, 'window' => 60, 'burst' => 2.0], - ]); - - $tiers = config('api.rate_limits.tiers'); - - $this->assertGreaterThanOrEqual($tiers['pro']['burst'], $tiers['agency']['burst']); - $this->assertGreaterThanOrEqual($tiers['agency']['burst'], $tiers['enterprise']['burst']); - } -} diff --git a/packages/core-api/src/Mod/Api/Tests/Feature/WebhookDeliveryTest.php b/packages/core-api/src/Mod/Api/Tests/Feature/WebhookDeliveryTest.php deleted file mode 100644 index 3ee6c02..0000000 --- a/packages/core-api/src/Mod/Api/Tests/Feature/WebhookDeliveryTest.php +++ /dev/null @@ -1,770 +0,0 @@ -workspace = Workspace::factory()->create(); - $this->service = app(WebhookService::class); - $this->signatureService = app(WebhookSignature::class); -}); - -// ----------------------------------------------------------------------------- -// Webhook Signature Service -// ----------------------------------------------------------------------------- - -describe('Webhook Signature Service', function () { - it('generates a 64-character secret', function () { - $secret = $this->signatureService->generateSecret(); - - expect($secret)->toBeString(); - expect(strlen($secret))->toBe(64); - }); - - it('generates unique secrets', function () { - $secrets = []; - for ($i = 0; $i < 100; $i++) { - $secrets[] = $this->signatureService->generateSecret(); - } - - expect(array_unique($secrets))->toHaveCount(100); - }); - - it('signs payload with timestamp', function () { - $payload = '{"event":"test"}'; - $secret = 'test_secret_key'; - $timestamp = 1704067200; // Fixed timestamp for testing - - $signature = $this->signatureService->sign($payload, $secret, $timestamp); - - // Verify it's a 64-character hex string (SHA256) - expect($signature)->toBeString(); - expect(strlen($signature))->toBe(64); - expect(ctype_xdigit($signature))->toBeTrue(); - - // Verify signature is deterministic - $signature2 = $this->signatureService->sign($payload, $secret, $timestamp); - expect($signature)->toBe($signature2); - }); - - it('produces different signatures for different payloads', function () { - $secret = 'test_secret_key'; - $timestamp = 1704067200; - - $sig1 = $this->signatureService->sign('{"a":1}', $secret, $timestamp); - $sig2 = $this->signatureService->sign('{"a":2}', $secret, $timestamp); - - expect($sig1)->not->toBe($sig2); - }); - - it('produces different signatures for different timestamps', function () { - $payload = '{"event":"test"}'; - $secret = 'test_secret_key'; - - $sig1 = $this->signatureService->sign($payload, $secret, 1704067200); - $sig2 = $this->signatureService->sign($payload, $secret, 1704067201); - - expect($sig1)->not->toBe($sig2); - }); - - it('produces different signatures for different secrets', function () { - $payload = '{"event":"test"}'; - $timestamp = 1704067200; - - $sig1 = $this->signatureService->sign($payload, 'secret1', $timestamp); - $sig2 = $this->signatureService->sign($payload, 'secret2', $timestamp); - - expect($sig1)->not->toBe($sig2); - }); - - it('verifies valid signature', function () { - $payload = '{"event":"test","data":{"id":123}}'; - $secret = 'webhook_secret_abc123'; - $timestamp = time(); - - $signature = $this->signatureService->sign($payload, $secret, $timestamp); - - $isValid = $this->signatureService->verify( - $payload, - $signature, - $secret, - $timestamp - ); - - expect($isValid)->toBeTrue(); - }); - - it('rejects invalid signature', function () { - $payload = '{"event":"test"}'; - $secret = 'webhook_secret_abc123'; - $timestamp = time(); - - $isValid = $this->signatureService->verify( - $payload, - 'invalid_signature_abc123', - $secret, - $timestamp - ); - - expect($isValid)->toBeFalse(); - }); - - it('rejects tampered payload', function () { - $secret = 'webhook_secret_abc123'; - $timestamp = time(); - - // Sign original payload - $signature = $this->signatureService->sign('{"event":"test"}', $secret, $timestamp); - - // Verify with tampered payload - $isValid = $this->signatureService->verify( - '{"event":"test","hacked":true}', - $signature, - $secret, - $timestamp - ); - - expect($isValid)->toBeFalse(); - }); - - it('rejects tampered timestamp', function () { - $payload = '{"event":"test"}'; - $secret = 'webhook_secret_abc123'; - $originalTimestamp = time(); - - // Sign with original timestamp - $signature = $this->signatureService->sign($payload, $secret, $originalTimestamp); - - // Verify with different timestamp (simulating replay attack) - $isValid = $this->signatureService->verifySignatureOnly( - $payload, - $signature, - $secret, - $originalTimestamp + 1 - ); - - expect($isValid)->toBeFalse(); - }); - - it('rejects expired timestamp', function () { - $payload = '{"event":"test"}'; - $secret = 'webhook_secret_abc123'; - $oldTimestamp = time() - 600; // 10 minutes ago - - $signature = $this->signatureService->sign($payload, $secret, $oldTimestamp); - - // Default tolerance is 5 minutes - $isValid = $this->signatureService->verify( - $payload, - $signature, - $secret, - $oldTimestamp - ); - - expect($isValid)->toBeFalse(); - }); - - it('accepts timestamp within tolerance', function () { - $payload = '{"event":"test"}'; - $secret = 'webhook_secret_abc123'; - $recentTimestamp = time() - 60; // 1 minute ago - - $signature = $this->signatureService->sign($payload, $secret, $recentTimestamp); - - $isValid = $this->signatureService->verify( - $payload, - $signature, - $secret, - $recentTimestamp - ); - - expect($isValid)->toBeTrue(); - }); - - it('allows custom tolerance', function () { - $payload = '{"event":"test"}'; - $secret = 'webhook_secret_abc123'; - $oldTimestamp = time() - 600; // 10 minutes ago - - $signature = $this->signatureService->sign($payload, $secret, $oldTimestamp); - - // Verify with 15-minute tolerance - $isValid = $this->signatureService->verify( - $payload, - $signature, - $secret, - $oldTimestamp, - tolerance: 900 - ); - - expect($isValid)->toBeTrue(); - }); - - it('checks timestamp validity correctly', function () { - $now = time(); - - // Within tolerance - expect($this->signatureService->isTimestampValid($now))->toBeTrue(); - expect($this->signatureService->isTimestampValid($now - 60))->toBeTrue(); - expect($this->signatureService->isTimestampValid($now - 299))->toBeTrue(); - - // Outside tolerance - expect($this->signatureService->isTimestampValid($now - 301))->toBeFalse(); - expect($this->signatureService->isTimestampValid($now - 600))->toBeFalse(); - - // Future timestamp within tolerance - expect($this->signatureService->isTimestampValid($now + 60))->toBeTrue(); - - // Future timestamp outside tolerance - expect($this->signatureService->isTimestampValid($now + 400))->toBeFalse(); - }); - - it('returns correct headers', function () { - $payload = '{"event":"test"}'; - $secret = 'webhook_secret_abc123'; - $timestamp = 1704067200; - - $headers = $this->signatureService->getHeaders($payload, $secret, $timestamp); - - expect($headers)->toHaveKey('X-Webhook-Signature'); - expect($headers)->toHaveKey('X-Webhook-Timestamp'); - expect($headers['X-Webhook-Timestamp'])->toBe($timestamp); - expect($headers['X-Webhook-Signature'])->toBe( - $this->signatureService->sign($payload, $secret, $timestamp) - ); - }); -}); - -// ----------------------------------------------------------------------------- -// Webhook Endpoint Signing -// ----------------------------------------------------------------------------- - -describe('Webhook Endpoint Signing', function () { - it('generates signature for payload with timestamp', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $payload = '{"event":"test"}'; - $timestamp = time(); - - $signature = $endpoint->generateSignature($payload, $timestamp); - - expect($signature)->toBeString(); - expect(strlen($signature))->toBe(64); - }); - - it('verifies valid signature', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $payload = '{"event":"test","data":{"id":123}}'; - $timestamp = time(); - - $signature = $endpoint->generateSignature($payload, $timestamp); - - $isValid = $endpoint->verifySignature($payload, $signature, $timestamp); - - expect($isValid)->toBeTrue(); - }); - - it('rejects invalid signature', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $isValid = $endpoint->verifySignature( - '{"event":"test"}', - 'invalid_signature', - time() - ); - - expect($isValid)->toBeFalse(); - }); - - it('rotates secret and invalidates old signatures', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $payload = '{"event":"test"}'; - $timestamp = time(); - - // Sign with original secret - $originalSignature = $endpoint->generateSignature($payload, $timestamp); - - // Rotate secret - $newSecret = $endpoint->rotateSecret(); - $endpoint->refresh(); - - // Old signature should be invalid - $isValid = $endpoint->verifySignature($payload, $originalSignature, $timestamp); - expect($isValid)->toBeFalse(); - - // New signature should be valid - $newSignature = $endpoint->generateSignature($payload, $timestamp); - $isValid = $endpoint->verifySignature($payload, $newSignature, $timestamp); - expect($isValid)->toBeTrue(); - - // New secret should be 64 characters - expect(strlen($newSecret))->toBe(64); - }); -}); - -// ----------------------------------------------------------------------------- -// Webhook Service -// ----------------------------------------------------------------------------- - -describe('Webhook Service', function () { - it('dispatches event to subscribed endpoints', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $deliveries = $this->service->dispatch( - $this->workspace->id, - 'bio.created', - ['bio_id' => 123, 'name' => 'Test Bio'] - ); - - expect($deliveries)->toHaveCount(1); - expect($deliveries[0]->event_type)->toBe('bio.created'); - expect($deliveries[0]->webhook_endpoint_id)->toBe($endpoint->id); - expect($deliveries[0]->status)->toBe(WebhookDelivery::STATUS_PENDING); - }); - - it('does not dispatch to endpoints not subscribed to event', function () { - WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.updated'] // Different event - ); - - $deliveries = $this->service->dispatch( - $this->workspace->id, - 'bio.created', - ['bio_id' => 123] - ); - - expect($deliveries)->toBeEmpty(); - }); - - it('dispatches to wildcard subscribed endpoints', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['*'] // Subscribe to all events - ); - - $deliveries = $this->service->dispatch( - $this->workspace->id, - 'any.event.type', - ['data' => 'test'] - ); - - expect($deliveries)->toHaveCount(1); - }); - - it('does not dispatch to inactive endpoints', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - $endpoint->update(['active' => false]); - - $deliveries = $this->service->dispatch( - $this->workspace->id, - 'bio.created', - ['bio_id' => 123] - ); - - expect($deliveries)->toBeEmpty(); - }); - - it('does not dispatch to disabled endpoints', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - $endpoint->update(['disabled_at' => now()]); - - $deliveries = $this->service->dispatch( - $this->workspace->id, - 'bio.created', - ['bio_id' => 123] - ); - - expect($deliveries)->toBeEmpty(); - }); - - it('returns webhook stats for workspace', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - // Create some deliveries - WebhookDelivery::createForEvent($endpoint, 'bio.created', ['id' => 1]); - $delivery2 = WebhookDelivery::createForEvent($endpoint, 'bio.created', ['id' => 2]); - $delivery2->markSuccess(200); - $delivery3 = WebhookDelivery::createForEvent($endpoint, 'bio.created', ['id' => 3]); - $delivery3->markFailed(500, 'Server Error'); - - $stats = $this->service->getStats($this->workspace->id); - - expect($stats['total'])->toBe(3); - expect($stats['pending'])->toBe(1); - expect($stats['success'])->toBe(1); - expect($stats['retrying'])->toBe(1); // Failed with retries remaining - }); -}); - -// ----------------------------------------------------------------------------- -// Webhook Delivery Job -// ----------------------------------------------------------------------------- - -describe('Webhook Delivery Job', function () { - it('marks delivery as success on 2xx response', function () { - Http::fake([ - 'example.com/*' => Http::response(['received' => true], 200), - ]); - - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $job = new DeliverWebhookJob($delivery); - $job->handle(); - - $delivery->refresh(); - expect($delivery->status)->toBe(WebhookDelivery::STATUS_SUCCESS); - expect($delivery->response_code)->toBe(200); - expect($delivery->delivered_at)->not->toBeNull(); - }); - - it('marks delivery as retrying on 5xx response', function () { - Http::fake([ - 'example.com/*' => Http::response('Server Error', 500), - ]); - - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $job = new DeliverWebhookJob($delivery); - $job->handle(); - - $delivery->refresh(); - expect($delivery->status)->toBe(WebhookDelivery::STATUS_RETRYING); - expect($delivery->response_code)->toBe(500); - expect($delivery->attempt)->toBe(2); - expect($delivery->next_retry_at)->not->toBeNull(); - }); - - it('marks delivery as failed after max retries', function () { - Http::fake([ - 'example.com/*' => Http::response('Server Error', 500), - ]); - - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - $delivery->update(['attempt' => WebhookDelivery::MAX_RETRIES]); - - $job = new DeliverWebhookJob($delivery); - $job->handle(); - - $delivery->refresh(); - expect($delivery->status)->toBe(WebhookDelivery::STATUS_FAILED); - }); - - it('includes correct signature and timestamp headers', function () { - Http::fake(function ($request) { - // Verify all required headers exist - expect($request->hasHeader('X-Webhook-Signature'))->toBeTrue(); - expect($request->hasHeader('X-Webhook-Timestamp'))->toBeTrue(); - expect($request->hasHeader('X-Webhook-Event'))->toBeTrue(); - expect($request->hasHeader('X-Webhook-Id'))->toBeTrue(); - - // Verify timestamp is a valid Unix timestamp - $timestamp = $request->header('X-Webhook-Timestamp')[0]; - expect(is_numeric($timestamp))->toBeTrue(); - expect((int) $timestamp)->toBeGreaterThan(0); - - // Verify signature is a 64-character hex string - $signature = $request->header('X-Webhook-Signature')[0]; - expect(strlen($signature))->toBe(64); - expect(ctype_xdigit($signature))->toBeTrue(); - - return Http::response(['ok' => true], 200); - }); - - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $job = new DeliverWebhookJob($delivery); - $job->handle(); - - Http::assertSent(function ($request) { - return $request->url() === 'https://example.com/webhook'; - }); - }); - - it('sends verifiable signature', function () { - $capturedRequest = null; - - Http::fake(function ($request) use (&$capturedRequest) { - $capturedRequest = $request; - - return Http::response(['ok' => true], 200); - }); - - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $job = new DeliverWebhookJob($delivery); - $job->handle(); - - // Verify the signature can be verified by a recipient - $body = $capturedRequest->body(); - $signature = $capturedRequest->header('X-Webhook-Signature')[0]; - $timestamp = (int) $capturedRequest->header('X-Webhook-Timestamp')[0]; - - $isValid = $endpoint->verifySignature($body, $signature, $timestamp); - expect($isValid)->toBeTrue(); - }); - - it('skips delivery if endpoint becomes inactive', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - // Deactivate endpoint after delivery created - $endpoint->update(['active' => false]); - - $job = new DeliverWebhookJob($delivery); - $job->handle(); - - // Should not have made any HTTP requests - Http::assertNothingSent(); - - // Delivery should remain pending (skipped) - $delivery->refresh(); - expect($delivery->status)->toBe(WebhookDelivery::STATUS_PENDING); - }); -}); - -// ----------------------------------------------------------------------------- -// Webhook Endpoint Auto-Disable -// ----------------------------------------------------------------------------- - -describe('Webhook Endpoint Auto-Disable', function () { - it('disables endpoint after consecutive failures', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - // Simulate 10 consecutive failures - for ($i = 0; $i < 10; $i++) { - $endpoint->recordFailure(); - } - - $endpoint->refresh(); - expect($endpoint->active)->toBeFalse(); - expect($endpoint->disabled_at)->not->toBeNull(); - expect($endpoint->failure_count)->toBe(10); - }); - - it('resets failure count on success', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - // Record some failures - $endpoint->recordFailure(); - $endpoint->recordFailure(); - $endpoint->recordFailure(); - expect($endpoint->fresh()->failure_count)->toBe(3); - - // Record success - $endpoint->recordSuccess(); - - $endpoint->refresh(); - expect($endpoint->failure_count)->toBe(0); - }); - - it('can be re-enabled after being disabled', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - // Disable it - $endpoint->update([ - 'active' => false, - 'disabled_at' => now(), - 'failure_count' => 10, - ]); - - // Re-enable - $endpoint->enable(); - - $endpoint->refresh(); - expect($endpoint->active)->toBeTrue(); - expect($endpoint->disabled_at)->toBeNull(); - expect($endpoint->failure_count)->toBe(0); - }); -}); - -// ----------------------------------------------------------------------------- -// Delivery Payload Headers -// ----------------------------------------------------------------------------- - -describe('Delivery Payload Headers', function () { - it('includes all required headers', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $payload = $delivery->getDeliveryPayload(); - - expect($payload)->toHaveKey('headers'); - expect($payload)->toHaveKey('body'); - expect($payload['headers'])->toHaveKey('Content-Type'); - expect($payload['headers'])->toHaveKey('X-Webhook-Id'); - expect($payload['headers'])->toHaveKey('X-Webhook-Event'); - expect($payload['headers'])->toHaveKey('X-Webhook-Timestamp'); - expect($payload['headers'])->toHaveKey('X-Webhook-Signature'); - }); - - it('uses provided timestamp', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $fixedTimestamp = 1704067200; - $payload = $delivery->getDeliveryPayload($fixedTimestamp); - - expect($payload['headers']['X-Webhook-Timestamp'])->toBe((string) $fixedTimestamp); - }); - - it('generates valid signature in payload', function () { - $endpoint = WebhookEndpoint::createForWorkspace( - $this->workspace->id, - 'https://example.com/webhook', - ['bio.created'] - ); - - $delivery = WebhookDelivery::createForEvent( - $endpoint, - 'bio.created', - ['bio_id' => 123] - ); - - $payload = $delivery->getDeliveryPayload(); - - $timestamp = (int) $payload['headers']['X-Webhook-Timestamp']; - $signature = $payload['headers']['X-Webhook-Signature']; - $body = $payload['body']; - - // Verify the signature is valid - $isValid = $endpoint->verifySignature($body, $signature, $timestamp); - expect($isValid)->toBeTrue(); - }); -}); diff --git a/packages/core-api/src/Mod/Api/config.php b/packages/core-api/src/Mod/Api/config.php deleted file mode 100644 index 701ee76..0000000 --- a/packages/core-api/src/Mod/Api/config.php +++ /dev/null @@ -1,237 +0,0 @@ - env('API_VERSION', '1'), - - /* - |-------------------------------------------------------------------------- - | Rate Limiting - |-------------------------------------------------------------------------- - | - | Configure rate limits for API requests. - | - | Features: - | - Per-endpoint limits via 'endpoints' config or #[RateLimit] attribute - | - Per-workspace limits (when 'per_workspace' is true) - | - Tier-based limits based on workspace subscription - | - Burst allowance for temporary traffic spikes - | - Sliding window algorithm for smoother rate limiting - | - | Priority (highest to lowest): - | 1. Method-level #[RateLimit] attribute - | 2. Class-level #[RateLimit] attribute - | 3. Per-endpoint config (endpoints.{route_name}) - | 4. Tier-based limits (tiers.{tier}) - | 5. Authenticated limits - | 6. Default limits - | - */ - - 'rate_limits' => [ - // Enable/disable rate limiting globally - 'enabled' => env('API_RATE_LIMITING_ENABLED', true), - - // Unauthenticated requests (by IP) - 'default' => [ - 'limit' => 60, - 'window' => 60, // seconds - 'burst' => 1.0, // no burst allowance for unauthenticated - // Legacy support - 'requests' => 60, - 'per_minutes' => 1, - ], - - // Authenticated requests (by user/key) - 'authenticated' => [ - 'limit' => 1000, - 'window' => 60, // seconds - 'burst' => 1.2, // 20% burst allowance - // Legacy support - 'requests' => 1000, - 'per_minutes' => 1, - ], - - // Enable per-workspace rate limiting (isolates limits by workspace) - 'per_workspace' => true, - - // Per-endpoint rate limits (route names) - // Example: 'users.index' => ['limit' => 100, 'window' => 60] - 'endpoints' => [ - // High-volume endpoints may need higher limits - // 'links.index' => ['limit' => 500, 'window' => 60], - // 'qrcodes.index' => ['limit' => 500, 'window' => 60], - - // Sensitive endpoints may need lower limits - // 'auth.login' => ['limit' => 10, 'window' => 60], - // 'keys.create' => ['limit' => 20, 'window' => 60], - ], - - // Tier-based limits (based on workspace subscription/plan) - 'tiers' => [ - 'free' => [ - 'limit' => 60, - 'window' => 60, // seconds - 'burst' => 1.0, - ], - 'starter' => [ - 'limit' => 1000, - 'window' => 60, - 'burst' => 1.2, - ], - 'pro' => [ - 'limit' => 5000, - 'window' => 60, - 'burst' => 1.3, - ], - 'agency' => [ - 'limit' => 20000, - 'window' => 60, - 'burst' => 1.5, - ], - 'enterprise' => [ - 'limit' => 100000, - 'window' => 60, - 'burst' => 2.0, - ], - ], - - // Legacy: Tier-based limits (deprecated, use 'tiers' instead) - 'by_tier' => [ - 'starter' => [ - 'requests' => 1000, - 'per_minutes' => 1, - ], - 'pro' => [ - 'requests' => 5000, - 'per_minutes' => 1, - ], - 'agency' => [ - 'requests' => 20000, - 'per_minutes' => 1, - ], - 'enterprise' => [ - 'requests' => 100000, - 'per_minutes' => 1, - ], - ], - - // Route-specific rate limiters (for named routes) - 'routes' => [ - 'mcp' => 'authenticated', - 'pixel' => 'default', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Usage Alerts - |-------------------------------------------------------------------------- - | - | Configure notifications when API usage approaches limits. - | - | Thresholds define percentages of rate limit that trigger alerts: - | - warning: First alert level (default: 80%) - | - critical: Urgent alert level (default: 95%) - | - | Cooldown prevents duplicate notifications for the same level. - | - */ - - 'alerts' => [ - // Enable/disable usage alerting - 'enabled' => env('API_USAGE_ALERTS_ENABLED', true), - - // Alert thresholds (percentage of rate limit) - 'thresholds' => [ - 'warning' => 80, - 'critical' => 95, - ], - - // Hours between notifications of the same level - 'cooldown_hours' => 6, - ], - - /* - |-------------------------------------------------------------------------- - | API Key Settings - |-------------------------------------------------------------------------- - | - | Configuration for API key generation and validation. - | - */ - - 'keys' => [ - // Prefix for all API keys - 'prefix' => 'hk_', - - // Default scopes for new API keys - 'default_scopes' => ['read', 'write'], - - // Maximum API keys per workspace - 'max_per_workspace' => 10, - - // Auto-expire keys after this many days (null = never) - 'default_expiry_days' => null, - ], - - /* - |-------------------------------------------------------------------------- - | Webhooks - |-------------------------------------------------------------------------- - | - | Webhook delivery settings. - | - */ - - 'webhooks' => [ - // Maximum webhook endpoints per workspace - 'max_per_workspace' => 5, - - // Timeout for webhook delivery in seconds - 'timeout' => 30, - - // Max retries for failed deliveries - 'max_retries' => 5, - - // Disable endpoint after this many consecutive failures - 'disable_after_failures' => 10, - - // Events that are high-volume and opt-in only - 'high_volume_events' => [ - 'link.clicked', - 'qrcode.scanned', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Pagination - |-------------------------------------------------------------------------- - | - | Default pagination settings for API responses. - | - */ - - 'pagination' => [ - 'default_per_page' => 25, - 'max_per_page' => 100, - ], - -]; diff --git a/packages/core-api/src/Website/Api/Boot.php b/packages/core-api/src/Website/Api/Boot.php deleted file mode 100644 index 9baa06c..0000000 --- a/packages/core-api/src/Website/Api/Boot.php +++ /dev/null @@ -1,35 +0,0 @@ -registerViews(); - $this->registerRoutes(); - } - - protected function registerViews(): void - { - View::addNamespace('api', __DIR__.'/View/Blade'); - } - - protected function registerRoutes(): void - { - // Skip domain binding during console commands (no request available) - if ($this->app->runningInConsole()) { - return; - } - - Route::middleware('web') - ->domain(request()->getHost()) - ->group(__DIR__.'/Routes/web.php'); - } -} diff --git a/packages/core-api/src/Website/Api/Controllers/DocsController.php b/packages/core-api/src/Website/Api/Controllers/DocsController.php deleted file mode 100644 index 05de0f4..0000000 --- a/packages/core-api/src/Website/Api/Controllers/DocsController.php +++ /dev/null @@ -1,72 +0,0 @@ -json($generator->generate()); - } -} diff --git a/packages/core-api/src/Website/Api/Routes/web.php b/packages/core-api/src/Website/Api/Routes/web.php deleted file mode 100644 index b90954b..0000000 --- a/packages/core-api/src/Website/Api/Routes/web.php +++ /dev/null @@ -1,34 +0,0 @@ -name('api.docs'); - -// Guides -Route::get('/guides', [DocsController::class, 'guides'])->name('api.guides'); -Route::get('/guides/quickstart', [DocsController::class, 'quickstart'])->name('api.guides.quickstart'); -Route::get('/guides/authentication', [DocsController::class, 'authentication'])->name('api.guides.authentication'); -Route::get('/guides/qrcodes', [DocsController::class, 'qrcodes'])->name('api.guides.qrcodes'); -Route::get('/guides/webhooks', [DocsController::class, 'webhooks'])->name('api.guides.webhooks'); -Route::get('/guides/errors', [DocsController::class, 'errors'])->name('api.guides.errors'); - -// API Reference -Route::get('/reference', [DocsController::class, 'reference'])->name('api.reference'); - -// Swagger UI -Route::get('/swagger', [DocsController::class, 'swagger'])->name('api.swagger'); - -// Scalar (modern API reference with sidebar) -Route::get('/scalar', [DocsController::class, 'scalar'])->name('api.scalar'); - -// ReDoc (three-panel API reference) -Route::get('/redoc', [DocsController::class, 'redoc'])->name('api.redoc'); - -// OpenAPI spec (rate limited - expensive to generate) -Route::get('/openapi.json', [DocsController::class, 'openapi']) - ->middleware('throttle:60,1') - ->name('api.openapi.json'); diff --git a/packages/core-api/src/Website/Api/Services/OpenApiGenerator.php b/packages/core-api/src/Website/Api/Services/OpenApiGenerator.php deleted file mode 100644 index 93d74ca..0000000 --- a/packages/core-api/src/Website/Api/Services/OpenApiGenerator.php +++ /dev/null @@ -1,348 +0,0 @@ -isProduction() ? 3600 : 0; - } - - /** - * Generate OpenAPI 3.0 specification from Laravel routes. - */ - public function generate(): array - { - $duration = $this->getCacheDuration(); - - if ($duration === 0) { - return $this->buildSpec(); - } - - return Cache::remember('openapi:spec', $duration, fn () => $this->buildSpec()); - } - - /** - * Clear the cached OpenAPI spec. - */ - public function clearCache(): void - { - Cache::forget('openapi:spec'); - } - - /** - * Build the full OpenAPI specification. - */ - protected function buildSpec(): array - { - return [ - 'openapi' => '3.0.0', - 'info' => $this->buildInfo(), - 'servers' => $this->buildServers(), - 'tags' => $this->buildTags(), - 'paths' => $this->buildPaths(), - 'components' => $this->buildComponents(), - ]; - } - - protected function buildInfo(): array - { - return [ - 'title' => config('app.name').' API', - 'description' => 'Unified API for Host UK services including commerce, analytics, push notifications, support, and MCP.', - 'version' => config('api.version', '1.0.0'), - 'contact' => [ - 'name' => config('app.name').' Support', - 'url' => config('app.url').'/contact', - 'email' => config('mail.from.address', 'support@host.uk.com'), - ], - ]; - } - - protected function buildServers(): array - { - return [ - [ - 'url' => config('app.url').'/api', - 'description' => 'Production API', - ], - ]; - } - - protected function buildTags(): array - { - return [ - ['name' => 'Analytics', 'description' => 'Website analytics and tracking'], - ['name' => 'Bio', 'description' => 'Bio link pages, blocks, and QR codes'], - ['name' => 'Chat Widget', 'description' => 'Public chat widget API'], - ['name' => 'Commerce', 'description' => 'Billing, orders, invoices, subscriptions, and provisioning'], - ['name' => 'Content', 'description' => 'AI content generation and briefs'], - ['name' => 'Entitlements', 'description' => 'Feature entitlements and usage'], - ['name' => 'MCP', 'description' => 'Model Context Protocol HTTP bridge'], - ['name' => 'Notify', 'description' => 'Push notification management'], - ['name' => 'Pixel', 'description' => 'Unified pixel tracking'], - ['name' => 'SEO', 'description' => 'SEO report and analysis endpoints'], - ['name' => 'Social', 'description' => 'Social media management'], - ['name' => 'Support', 'description' => 'Helpdesk API'], - ['name' => 'Tenant', 'description' => 'Workspaces and multi-tenancy'], - ['name' => 'Trees', 'description' => 'Trees for Agents statistics'], - ['name' => 'Trust', 'description' => 'Social proof widgets'], - ['name' => 'Webhooks', 'description' => 'Incoming webhook endpoints for external services'], - ]; - } - - protected function buildPaths(): array - { - $paths = []; - - foreach (RouteFacade::getRoutes() as $route) { - /** @var Route $route */ - if (! $this->isApiRoute($route)) { - continue; - } - - $path = $this->normalisePath($route->uri()); - $methods = array_filter($route->methods(), fn ($m) => $m !== 'HEAD'); - - foreach ($methods as $method) { - $method = strtolower($method); - $paths[$path][$method] = $this->buildOperation($route, $method); - } - } - - ksort($paths); - - return $paths; - } - - protected function isApiRoute(Route $route): bool - { - $uri = $route->uri(); - - // Must start with 'api/' or be exactly 'api' - if (! str_starts_with($uri, 'api/') && $uri !== 'api') { - return false; - } - - // Skip sanctum routes - if (str_contains($uri, 'sanctum')) { - return false; - } - - return true; - } - - protected function normalisePath(string $uri): string - { - // Remove 'api' prefix, keep leading slash - $path = '/'.ltrim(Str::after($uri, 'api/'), '/'); - - // Convert Laravel route parameters to OpenAPI format - $path = preg_replace('/\{([^}]+)\}/', '{$1}', $path); - - return $path === '/' ? '/' : rtrim($path, '/'); - } - - protected function buildOperation(Route $route, string $method): array - { - $name = $route->getName() ?? ''; - $tag = $this->inferTag($route); - - $operation = [ - 'tags' => [$tag], - 'summary' => $this->generateSummary($route, $method), - 'operationId' => $name ?: Str::camel($method.'_'.str_replace('/', '_', $route->uri())), - 'responses' => [ - '200' => ['description' => 'Successful response'], - ], - ]; - - // Add parameters for path variables - $parameters = $this->buildParameters($route); - if (! empty($parameters)) { - $operation['parameters'] = $parameters; - } - - // Add request body for POST/PUT/PATCH - if (in_array($method, ['post', 'put', 'patch'])) { - $operation['requestBody'] = [ - 'required' => true, - 'content' => [ - 'application/json' => [ - 'schema' => ['type' => 'object'], - ], - ], - ]; - } - - // Add security based on middleware - $security = $this->inferSecurity($route); - if (! empty($security)) { - $operation['security'] = $security; - } - - return $operation; - } - - protected function inferTag(Route $route): string - { - $uri = $route->uri(); - $name = $route->getName() ?? ''; - - // Match by route name prefix - $tagMap = [ - 'api.webhook' => 'Webhooks', - 'api.trees' => 'Trees', - 'api.seo' => 'SEO', - 'api.pixel' => 'Pixel', - 'api.commerce' => 'Commerce', - 'api.entitlements' => 'Entitlements', - 'api.support.chat' => 'Chat Widget', - 'api.support' => 'Support', - 'api.mcp' => 'MCP', - 'api.social' => 'Social', - 'api.notify' => 'Notify', - 'api.bio' => 'Bio', - 'api.blocks' => 'Bio', - 'api.shortlinks' => 'Bio', - 'api.qr' => 'Bio', - 'api.workspaces' => 'Tenant', - 'api.key.workspaces' => 'Tenant', - 'api.key.bio' => 'Bio', - 'api.key.blocks' => 'Bio', - 'api.key.shortlinks' => 'Bio', - 'api.key.qr' => 'Bio', - 'api.content' => 'Content', - 'api.key.content' => 'Content', - 'api.trust' => 'Trust', - ]; - - foreach ($tagMap as $prefix => $tag) { - if (str_starts_with($name, $prefix)) { - return $tag; - } - } - - // Match by URI prefix (check start of path after 'api/') - $path = preg_replace('#^api/#', '', $uri); - $uriTagMap = [ - 'webhooks' => 'Webhooks', - 'trees' => 'Trees', - 'pixel' => 'Pixel', - 'provisioning' => 'Commerce', - 'commerce' => 'Commerce', - 'entitlements' => 'Entitlements', - 'support/chat' => 'Chat Widget', - 'support' => 'Support', - 'mcp' => 'MCP', - 'bio' => 'Bio', - 'shortlinks' => 'Bio', - 'qr' => 'Bio', - 'blocks' => 'Bio', - 'workspaces' => 'Tenant', - 'analytics' => 'Analytics', - 'social' => 'Social', - 'trust' => 'Trust', - 'notify' => 'Notify', - 'content' => 'Content', - ]; - - foreach ($uriTagMap as $prefix => $tag) { - if (str_starts_with($path, $prefix)) { - return $tag; - } - } - - return 'General'; - } - - protected function generateSummary(Route $route, string $method): string - { - $name = $route->getName(); - - if ($name) { - // Convert route name to human-readable summary - $parts = explode('.', $name); - $action = array_pop($parts); - - return Str::title(str_replace(['-', '_'], ' ', $action)); - } - - // Generate from URI and method - $uri = Str::afterLast($route->uri(), '/'); - - return Str::title($method.' '.str_replace(['-', '_'], ' ', $uri)); - } - - protected function buildParameters(Route $route): array - { - $parameters = []; - preg_match_all('/\{([^}]+)\}/', $route->uri(), $matches); - - foreach ($matches[1] as $param) { - $optional = str_ends_with($param, '?'); - $paramName = rtrim($param, '?'); - - $parameters[] = [ - 'name' => $paramName, - 'in' => 'path', - 'required' => ! $optional, - 'schema' => ['type' => 'string'], - ]; - } - - return $parameters; - } - - protected function inferSecurity(Route $route): array - { - $middleware = $route->middleware(); - - if (in_array('auth', $middleware) || in_array('auth:sanctum', $middleware)) { - return [['bearerAuth' => []]]; - } - - if (in_array('commerce.api', $middleware)) { - return [['apiKeyAuth' => []]]; - } - - foreach ($middleware as $m) { - if (str_contains($m, 'McpApiKeyAuth')) { - return [['apiKeyAuth' => []]]; - } - } - - return []; - } - - protected function buildComponents(): array - { - return [ - 'securitySchemes' => [ - 'bearerAuth' => [ - 'type' => 'http', - 'scheme' => 'bearer', - 'bearerFormat' => 'JWT', - 'description' => 'Sanctum authentication token', - ], - 'apiKeyAuth' => [ - 'type' => 'apiKey', - 'in' => 'header', - 'name' => 'X-API-Key', - 'description' => 'API key for service-to-service authentication', - ], - ], - ]; - } -} diff --git a/packages/core-api/src/Website/Api/View/Blade/docs.blade.php b/packages/core-api/src/Website/Api/View/Blade/docs.blade.php deleted file mode 100644 index 5f702a7..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/docs.blade.php +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - Host UK API Documentation - - - - -
-

- - - - Host UK API -

- -
- -
- - - - - - diff --git a/packages/core-api/src/Website/Api/View/Blade/guides/authentication.blade.php b/packages/core-api/src/Website/Api/View/Blade/guides/authentication.blade.php deleted file mode 100644 index 5c27993..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/guides/authentication.blade.php +++ /dev/null @@ -1,187 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'Authentication') - -@section('content') -
- - {{-- Sidebar --}} - - - {{-- Main content --}} -
-
- - {{-- Breadcrumb --}} - - -

Authentication

-

- Learn how to authenticate your API requests using API keys. -

- - {{-- Overview --}} -
-

Overview

-

- The API uses API keys for authentication. Each API key is scoped to a specific workspace and has configurable permissions. -

-

- API keys are prefixed with hk_ to make them easily identifiable. -

-
- - {{-- API Keys --}} -
-

API Keys

-

- To create an API key: -

-
    -
  1. Log in to your account
  2. -
  3. Navigate to Settings → API Keys
  4. -
  5. Click Create API Key
  6. -
  7. Enter a descriptive name (e.g., "Production", "Development")
  8. -
  9. Select the required scopes
  10. -
  11. Copy the generated key immediately
  12. -
- -
-
- - - -

- Important: API keys are only shown once when created. Store them securely as they cannot be retrieved later. -

-
-
-
- - {{-- Using Keys --}} -
-

Using API Keys

-

- Include your API key in the Authorization header as a Bearer token: -

- -
-
- HTTP Header -
-
Authorization: Bearer hk_your_api_key_here
-
- -

- Example request with cURL: -

- -
-
- cURL -
-
curl --request GET \
-  --url 'https://api.host.uk.com/api/v1/bio' \
-  --header 'Authorization: Bearer hk_your_api_key'
-
-
- - {{-- Scopes --}} -
-

Scopes

-

- API keys can have different scopes to limit their permissions: -

- -
- - - - - - - - - - - - - - - - - - - - - -
ScopeDescription
readRead access to resources (GET requests)
writeCreate and update resources (POST, PUT requests)
deleteDelete resources (DELETE requests)
-
-
- - {{-- Security --}} -
-

Security Best Practices

-
    -
  • Never commit API keys to version control
  • -
  • Use environment variables to store keys
  • -
  • Rotate keys periodically
  • -
  • Use the minimum required scopes
  • -
  • Revoke unused keys immediately
  • -
  • Never expose keys in client-side code
  • -
-
- - {{-- Next steps --}} - - -
-
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/guides/errors.blade.php b/packages/core-api/src/Website/Api/View/Blade/guides/errors.blade.php deleted file mode 100644 index 2bb9770..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/guides/errors.blade.php +++ /dev/null @@ -1,211 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'Error Handling') - -@section('content') -
- - {{-- Sidebar --}} - - - {{-- Main content --}} -
-
- - {{-- Breadcrumb --}} - - -

Error Handling

-

- Understand API error codes and how to handle them gracefully. -

- - {{-- Overview --}} -
-

Overview

-

- The API uses conventional HTTP response codes to indicate success or failure. Codes in the 2xx range indicate success, 4xx indicate client errors, and 5xx indicate server errors. -

-
- - {{-- HTTP Codes --}} -
-

HTTP Status Codes

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeMeaning
200Success - Request completed successfully
201Created - Resource was created successfully
400Bad Request - Invalid request parameters
401Unauthorised - Invalid or missing API key
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
422Unprocessable - Validation failed
429Too Many Requests - Rate limit exceeded
500Server Error - Something went wrong on our end
-
-
- - {{-- Error Format --}} -
-

Error Format

-

- Error responses include a JSON body with details: -

- -
-
{
-  "message": "The given data was invalid.",
-  "errors": {
-    "url": [
-      "The url has already been taken."
-    ]
-  }
-}
-
-
- - {{-- Common Errors --}} -
-

Common Errors

- -
-
-

Invalid API Key

-

- Returned when the API key is missing, malformed, or revoked. -

- 401 Unauthorised -
- -
-

Resource Not Found

-

- The requested resource (biolink, workspace, etc.) doesn't exist or you don't have access. -

- 404 Not Found -
- -
-

Validation Failed

-

- Request data failed validation. Check the errors object for specific fields. -

- 422 Unprocessable Entity -
-
-
- - {{-- Rate Limiting --}} -
-

Rate Limiting

-

- API requests are rate limited to ensure fair usage. Rate limit headers are included in all responses: -

- -
-
X-RateLimit-Limit: 60
-X-RateLimit-Remaining: 58
-X-RateLimit-Reset: 1705320000
-
- -

- When rate limited, you'll receive a 429 response. Wait until the reset timestamp before retrying. -

- -
-

- Tip: Implement exponential backoff in your retry logic. Start with a 1-second delay and double it with each retry, up to a maximum of 32 seconds. -

-
-
- - {{-- Next steps --}} - - -
-
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/guides/index.blade.php b/packages/core-api/src/Website/Api/View/Blade/guides/index.blade.php deleted file mode 100644 index ef77a68..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/guides/index.blade.php +++ /dev/null @@ -1,88 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'Guides') - -@section('content') - -@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/guides/qrcodes.blade.php b/packages/core-api/src/Website/Api/View/Blade/guides/qrcodes.blade.php deleted file mode 100644 index 6d08861..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/guides/qrcodes.blade.php +++ /dev/null @@ -1,202 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'QR Code Generation') - -@section('content') -
- - {{-- Sidebar --}} - - - {{-- Main content --}} -
-
- - {{-- Breadcrumb --}} - - -

QR Code Generation

-

- Generate customisable QR codes for your biolinks or any URL. -

- - {{-- Overview --}} -
-

Overview

-

- The API provides two ways to generate QR codes: -

-
    -
  • Biolink QR codes - Generate QR codes for your existing biolinks
  • -
  • Custom URL QR codes - Generate QR codes for any URL
  • -
-
- - {{-- Biolink QR --}} - - - {{-- Custom QR --}} -
-

Custom URL QR Codes

-

- Generate a QR code for any URL: -

- -
-
- cURL -
-
curl --request POST \
-  --url 'https://api.host.uk.com/api/v1/qr/generate' \
-  --header 'Authorization: Bearer YOUR_API_KEY' \
-  --header 'Content-Type: application/json' \
-  --data '{
-    "url": "https://example.com",
-    "format": "svg",
-    "size": 300
-  }'
-
-
- - {{-- Options --}} -
-

Customisation Options

-

- Available customisation parameters: -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeDescription
formatstringOutput format: svg or png
sizeintegerSize in pixels (100-2000)
colorstringForeground colour (hex)
backgroundstringBackground colour (hex)
-
-
- - {{-- Download --}} -
-

Download Formats

-

- Download QR codes directly as image files: -

- -
-
- cURL -
-
curl --request GET \
-  --url 'https://api.host.uk.com/api/v1/bio/1/qr/download?format=png&size=500' \
-  --header 'Authorization: Bearer YOUR_API_KEY' \
-  --output qrcode.png
-
- -

- The response is binary image data with appropriate Content-Type header. -

-
- - {{-- Next steps --}} - - -
-
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/guides/quickstart.blade.php b/packages/core-api/src/Website/Api/View/Blade/guides/quickstart.blade.php deleted file mode 100644 index c71acdf..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/guides/quickstart.blade.php +++ /dev/null @@ -1,193 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'Quick Start') - -@section('content') -
- - {{-- Sidebar --}} - - - {{-- Main content --}} -
-
- - {{-- Breadcrumb --}} - - -

Quick Start

-

- Get up and running with the API in under 5 minutes. -

- - {{-- Prerequisites --}} -
-

Prerequisites

-

- Before you begin, you'll need: -

-
    -
  • An account with API access
  • -
  • A workspace (created automatically on signup)
  • -
  • cURL or any HTTP client
  • -
-
- - {{-- Create API Key --}} -
-

Create an API Key

-

- Navigate to your workspace settings and create a new API key: -

-
    -
  1. Go to Settings → API Keys
  2. -
  3. Click Create API Key
  4. -
  5. Give it a name (e.g., "Development")
  6. -
  7. Select the scopes you need (read, write, delete)
  8. -
  9. Copy the key - it won't be shown again!
  10. -
- - {{-- Note box --}} -
-
- - - -

- Important: Store your API key securely. Never commit it to version control or expose it in client-side code. -

-
-
-
- - {{-- First Request --}} -
-

Make Your First Request

-

- Let's verify your API key by listing your workspaces: -

- -
-
- cURL -
-
curl --request GET \
-  --url 'https://api.host.uk.com/api/v1/workspaces/current' \
-  --header 'Authorization: Bearer YOUR_API_KEY'
-
- -

- You should receive a response like: -

- -
-
- Response -
-
{
-  "data": {
-    "id": 1,
-    "name": "My Workspace",
-    "slug": "my-workspace-abc123",
-    "is_active": true
-  }
-}
-
-
- - {{-- Create Biolink --}} - - - {{-- Next Steps --}} -
-

Next Steps

-

- Now that you've made your first API calls, explore more: -

- - -
- -
-
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/guides/webhooks.blade.php b/packages/core-api/src/Website/Api/View/Blade/guides/webhooks.blade.php deleted file mode 100644 index 31323fa..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/guides/webhooks.blade.php +++ /dev/null @@ -1,586 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'Webhooks') - -@section('content') -
- - {{-- Sidebar --}} - - - {{-- Main content --}} -
-
- - {{-- Breadcrumb --}} - - -

Webhooks

-

- Receive real-time notifications for events in your workspace with cryptographically signed payloads. -

- - {{-- Overview --}} -
-

Overview

-

- Webhooks allow your application to receive real-time HTTP callbacks when events occur in your workspace. Instead of polling the API, webhooks push data to your server as events happen. -

-

- All webhook requests are cryptographically signed using HMAC-SHA256, allowing you to verify that requests genuinely came from our platform and haven't been tampered with. -

-
-
- - - -

- Security: Always verify webhook signatures before processing. Never trust unverified webhook requests. -

-
-
-
- - {{-- Setup --}} -
-

Setup

-

- To configure webhooks: -

-
    -
  1. Go to Settings → Webhooks in your workspace
  2. -
  3. Click Add Webhook
  4. -
  5. Enter your endpoint URL (must be HTTPS in production)
  6. -
  7. Select the events you want to receive
  8. -
  9. Save and securely store your webhook secret
  10. -
-
-
- - - -

- Your webhook secret is only shown once when you create the endpoint. Store it securely - you'll need it to verify incoming webhooks. -

-
-
-
- - {{-- Events --}} -
-

Event Types

-

- Available webhook events: -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EventDescription
bio.createdA new biolink was created
bio.updatedA biolink was updated
bio.deletedA biolink was deleted
link.createdA new link was created
link.clickedA link was clicked (high volume)
qrcode.createdA QR code was generated
qrcode.scannedA QR code was scanned (high volume)
*Subscribe to all events (wildcard)
-
-
- - {{-- Payload --}} -
-

Payload Format

-

- Webhook payloads are sent as JSON with a consistent structure: -

- -
-
{
-  "id": "evt_abc123xyz456",
-  "type": "bio.created",
-  "created_at": "2024-01-15T10:30:00Z",
-  "workspace_id": 1,
-  "data": {
-    "id": 123,
-    "url": "mypage",
-    "type": "biolink"
-  }
-}
-
-
- - {{-- Headers --}} -
-

Request Headers

-

- Every webhook request includes the following headers: -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HeaderDescription
X-Webhook-SignatureHMAC-SHA256 signature for verification
X-Webhook-TimestampUnix timestamp when the webhook was sent
X-Webhook-EventThe event type (e.g., bio.created)
X-Webhook-IdUnique delivery ID for idempotency
Content-TypeAlways application/json
-
-
- - {{-- Verification --}} -
-

Signature Verification

-

- To verify a webhook signature, compute the HMAC-SHA256 of the timestamp concatenated with the raw request body using your webhook secret. The signature includes the timestamp to prevent replay attacks. -

- -

Verification Algorithm

-
    -
  1. Extract X-Webhook-Signature and X-Webhook-Timestamp headers
  2. -
  3. Concatenate: timestamp + "." + raw_request_body
  4. -
  5. Compute: HMAC-SHA256(concatenated_string, your_webhook_secret)
  6. -
  7. Compare using timing-safe comparison (prevents timing attacks)
  8. -
  9. Verify timestamp is within 5 minutes of current time (prevents replay attacks)
  10. -
- - {{-- PHP Example --}} -

PHP

-
-
- webhook-handler.php -
-
<?php
-
-// Get request data
-$payload = file_get_contents('php://input');
-$signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
-$timestamp = $_SERVER['HTTP_X_WEBHOOK_TIMESTAMP'] ?? '';
-$secret = getenv('WEBHOOK_SECRET');
-
-// Verify timestamp (5 minute tolerance)
-$tolerance = 300;
-if (abs(time() - (int)$timestamp) > $tolerance) {
-    http_response_code(401);
-    die('Webhook timestamp expired');
-}
-
-// Compute expected signature
-$signedPayload = $timestamp . '.' . $payload;
-$expectedSignature = hash_hmac('sha256', $signedPayload, $secret);
-
-// Verify signature (timing-safe comparison)
-if (!hash_equals($expectedSignature, $signature)) {
-    http_response_code(401);
-    die('Invalid webhook signature');
-}
-
-// Signature valid - process the webhook
-$event = json_decode($payload, true);
-processWebhook($event);
-
- - {{-- Node.js Example --}} -

Node.js

-
-
- webhook-handler.js -
-
const crypto = require('crypto');
-const express = require('express');
-
-const app = express();
-app.use(express.raw({ type: 'application/json' }));
-
-const WEBHOOK_SECRET = process.env.WEBHOOK_SECRET;
-const TOLERANCE = 300; // 5 minutes
-
-app.post('/webhook', (req, res) => {
-    const signature = req.headers['x-webhook-signature'];
-    const timestamp = req.headers['x-webhook-timestamp'];
-    const payload = req.body;
-
-    // Verify timestamp
-    const now = Math.floor(Date.now() / 1000);
-    if (Math.abs(now - parseInt(timestamp)) > TOLERANCE) {
-        return res.status(401).send('Webhook timestamp expired');
-    }
-
-    // Compute expected signature
-    const signedPayload = `${timestamp}.${payload}`;
-    const expectedSignature = crypto
-        .createHmac('sha256', WEBHOOK_SECRET)
-        .update(signedPayload)
-        .digest('hex');
-
-    // Verify signature (timing-safe comparison)
-    if (!crypto.timingSafeEqual(
-        Buffer.from(expectedSignature),
-        Buffer.from(signature)
-    )) {
-        return res.status(401).send('Invalid webhook signature');
-    }
-
-    // Signature valid - process the webhook
-    const event = JSON.parse(payload);
-    processWebhook(event);
-    res.status(200).send('OK');
-});
-
- - {{-- Python Example --}} -

Python

-
-
- webhook_handler.py -
-
import hmac
-import hashlib
-import time
-import os
-from flask import Flask, request, abort
-
-app = Flask(__name__)
-WEBHOOK_SECRET = os.environ['WEBHOOK_SECRET']
-TOLERANCE = 300  # 5 minutes
-
-@app.route('/webhook', methods=['POST'])
-def webhook():
-    signature = request.headers.get('X-Webhook-Signature', '')
-    timestamp = request.headers.get('X-Webhook-Timestamp', '')
-    payload = request.get_data(as_text=True)
-
-    # Verify timestamp
-    if abs(time.time() - int(timestamp)) > TOLERANCE:
-        abort(401, 'Webhook timestamp expired')
-
-    # Compute expected signature
-    signed_payload = f'{timestamp}.{payload}'
-    expected_signature = hmac.new(
-        WEBHOOK_SECRET.encode(),
-        signed_payload.encode(),
-        hashlib.sha256
-    ).hexdigest()
-
-    # Verify signature (timing-safe comparison)
-    if not hmac.compare_digest(expected_signature, signature):
-        abort(401, 'Invalid webhook signature')
-
-    # Signature valid - process the webhook
-    event = request.get_json()
-    process_webhook(event)
-    return 'OK', 200
-
- - {{-- Ruby Example --}} -

Ruby

-
-
- webhook_handler.rb -
-
require 'sinatra'
-require 'openssl'
-require 'json'
-
-WEBHOOK_SECRET = ENV['WEBHOOK_SECRET']
-TOLERANCE = 300  # 5 minutes
-
-post '/webhook' do
-  signature = request.env['HTTP_X_WEBHOOK_SIGNATURE'] || ''
-  timestamp = request.env['HTTP_X_WEBHOOK_TIMESTAMP'] || ''
-  payload = request.body.read
-
-  # Verify timestamp
-  if (Time.now.to_i - timestamp.to_i).abs > TOLERANCE
-    halt 401, 'Webhook timestamp expired'
-  end
-
-  # Compute expected signature
-  signed_payload = "#{timestamp}.#{payload}"
-  expected_signature = OpenSSL::HMAC.hexdigest(
-    'sha256',
-    WEBHOOK_SECRET,
-    signed_payload
-  )
-
-  # Verify signature (timing-safe comparison)
-  unless Rack::Utils.secure_compare(expected_signature, signature)
-    halt 401, 'Invalid webhook signature'
-  end
-
-  # Signature valid - process the webhook
-  event = JSON.parse(payload)
-  process_webhook(event)
-  200
-end
-
- - {{-- Go Example --}} -

Go

-
-
- webhook_handler.go -
-
package main
-
-import (
-    "crypto/hmac"
-    "crypto/sha256"
-    "crypto/subtle"
-    "encoding/hex"
-    "io"
-    "math"
-    "net/http"
-    "os"
-    "strconv"
-    "time"
-)
-
-const tolerance = 300 // 5 minutes
-
-func webhookHandler(w http.ResponseWriter, r *http.Request) {
-    signature := r.Header.Get("X-Webhook-Signature")
-    timestamp := r.Header.Get("X-Webhook-Timestamp")
-    secret := os.Getenv("WEBHOOK_SECRET")
-
-    payload, _ := io.ReadAll(r.Body)
-
-    // Verify timestamp
-    ts, _ := strconv.ParseInt(timestamp, 10, 64)
-    if math.Abs(float64(time.Now().Unix()-ts)) > tolerance {
-        http.Error(w, "Webhook timestamp expired", 401)
-        return
-    }
-
-    // Compute expected signature
-    signedPayload := timestamp + "." + string(payload)
-    mac := hmac.New(sha256.New, []byte(secret))
-    mac.Write([]byte(signedPayload))
-    expectedSignature := hex.EncodeToString(mac.Sum(nil))
-
-    // Verify signature (timing-safe comparison)
-    if subtle.ConstantTimeCompare(
-        []byte(expectedSignature),
-        []byte(signature),
-    ) != 1 {
-        http.Error(w, "Invalid webhook signature", 401)
-        return
-    }
-
-    // Signature valid - process the webhook
-    processWebhook(payload)
-    w.WriteHeader(http.StatusOK)
-}
-
-
- - {{-- Retry Policy --}} -
-

Retry Policy

-

- If your endpoint returns a non-2xx status code or times out, we'll retry with exponential backoff: -

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttemptDelay
1 (initial)Immediate
21 minute
35 minutes
430 minutes
5 (final)2 hours
-
- -

- After 5 failed attempts, the delivery is marked as failed. If your endpoint fails 10 consecutive deliveries, it will be automatically disabled. You can re-enable it from your webhook settings. -

-
- - {{-- Best Practices --}} -
-

Best Practices

-
    -
  • - - - - Always verify signatures - Never process webhooks without verification -
  • -
  • - - - - Respond quickly - Return 200 within 30 seconds to avoid timeouts -
  • -
  • - - - - Process asynchronously - Queue webhook processing for long-running tasks -
  • -
  • - - - - Handle duplicates - Use X-Webhook-Id for idempotency -
  • -
  • - - - - Use HTTPS - Always use HTTPS endpoints in production -
  • -
  • - - - - Rotate secrets regularly - Rotate your webhook secret periodically -
  • -
-
- - {{-- Next steps --}} - - -
-
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/index.blade.php b/packages/core-api/src/Website/Api/View/Blade/index.blade.php deleted file mode 100644 index b9d82fd..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/index.blade.php +++ /dev/null @@ -1,136 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'API Documentation') -@section('description', 'Build powerful integrations with the Host UK API. Access biolinks, workspaces, QR codes, and more.') - -@section('content') -
- - {{-- Hero --}} -
-
- Developer Documentation -
-

Build with the Host UK API

-

- Integrate biolinks, workspaces, QR codes, and analytics into your applications. - Full REST API with comprehensive documentation and SDK support. -

- -
- - {{-- Features grid --}} -
- - {{-- Authentication --}} -
-
- - - -
-

Authentication

-

- Secure API key authentication with scoped permissions. Generate keys from your workspace settings. -

- - Learn more → - -
- - {{-- Biolinks --}} -
-
- - - -
-

Biolinks

-

- Create, update, and manage biolink pages with blocks, themes, and analytics programmatically. -

- - Learn more → - -
- - {{-- QR Codes --}} -
-
- - - -
-

QR Codes

-

- Generate customisable QR codes with colours, logos, and multiple formats for any URL. -

- - Learn more → - -
- -
- - {{-- Quick start code example --}} -
-

Quick Start

-
-
- cURL - -
-
curl --request GET \
-  --url 'https://api.host.uk.com/api/v1/bio' \
-  --header 'Authorization: Bearer hk_your_api_key'
-
- - -
- - {{-- API endpoints preview --}} -
-

API Endpoints

-
- @foreach([ - ['method' => 'GET', 'path' => '/api/v1/workspaces', 'desc' => 'List all workspaces'], - ['method' => 'GET', 'path' => '/api/v1/bio', 'desc' => 'List all biolinks'], - ['method' => 'POST', 'path' => '/api/v1/bio', 'desc' => 'Create a biolink'], - ['method' => 'GET', 'path' => '/api/v1/bio/{id}/qr', 'desc' => 'Generate QR code'], - ['method' => 'GET', 'path' => '/api/v1/shortlinks', 'desc' => 'List short links'], - ['method' => 'POST', 'path' => '/api/v1/qr/generate', 'desc' => 'Generate QR for any URL'], - ] as $endpoint) - - - {{ $endpoint['method'] }} - -
- {{ $endpoint['path'] }} - {{ $endpoint['desc'] }} -
-
- @endforeach -
- - -
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/layouts/docs.blade.php b/packages/core-api/src/Website/Api/View/Blade/layouts/docs.blade.php deleted file mode 100644 index e4b10c9..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/layouts/docs.blade.php +++ /dev/null @@ -1,166 +0,0 @@ - - - - - @yield('title', 'API Documentation') - Host UK - - - - - - - - - @include('layouts::partials.fonts') - - - - - - @vite(['resources/css/app.css', 'resources/js/app.js']) - - - - - - @stack('head') - - - -
- - {{-- Site header --}} -
- -
-
- - {{-- Site branding --}} -
-
- {{-- Logo --}} - - - - - Host UK API - - - {{-- Search --}} -
- - - {{-- Search modal placeholder --}} - -
-
-
- - {{-- Desktop nav --}} - - -
-
-
- - {{-- Page content --}} -
- @yield('content') -
- - {{-- Site footer --}} - - -
- - @stack('scripts') - - diff --git a/packages/core-api/src/Website/Api/View/Blade/partials/endpoint.blade.php b/packages/core-api/src/Website/Api/View/Blade/partials/endpoint.blade.php deleted file mode 100644 index b8ca518..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/partials/endpoint.blade.php +++ /dev/null @@ -1,37 +0,0 @@ -@props(['method', 'path', 'description', 'body' => null, 'response']) - -
- {{-- Header --}} -
- - {{ $method }} - - {{ $path }} -
- - {{-- Body --}} -
-

{{ $description }}

- - @if($body) -
-

Request Body

-
-
{{ $body }}
-
-
- @endif - -
-

Response

-
-
{{ $response }}
-
-
-
-
diff --git a/packages/core-api/src/Website/Api/View/Blade/redoc.blade.php b/packages/core-api/src/Website/Api/View/Blade/redoc.blade.php deleted file mode 100644 index a9c98a2..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/redoc.blade.php +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - API Reference - Host UK - - - - - - - -
- - - - diff --git a/packages/core-api/src/Website/Api/View/Blade/reference.blade.php b/packages/core-api/src/Website/Api/View/Blade/reference.blade.php deleted file mode 100644 index 22360e4..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/reference.blade.php +++ /dev/null @@ -1,261 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'API Reference') - -@section('content') -
- - {{-- Sidebar --}} - - - {{-- Main content --}} -
-
- -

API Reference

-

- Complete reference for all Host UK API endpoints. -

-

- Base URL: https://api.host.uk.com/api/v1 -

- - {{-- Workspaces --}} -
-

Workspaces

-

- Workspaces are containers for your biolinks, short links, and other resources. -

- - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/workspaces', - 'description' => 'List all workspaces you have access to.', - 'response' => '{"data": [{"id": 1, "name": "My Workspace", "slug": "my-workspace"}]}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/workspaces/current', - 'description' => 'Get the current workspace (from API key context).', - 'response' => '{"data": {"id": 1, "name": "My Workspace", "slug": "my-workspace"}}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/workspaces/{id}', - 'description' => 'Get a specific workspace by ID.', - 'response' => '{"data": {"id": 1, "name": "My Workspace", "slug": "my-workspace"}}' - ]) -
- - {{-- Biolinks --}} - - - {{-- Blocks --}} -
-

Blocks

-

- Blocks are content elements within a biolink page. -

- - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/bio/{bioId}/blocks', - 'description' => 'List all blocks for a biolink.', - 'response' => '{"data": [{"id": 1, "type": "link", "data": {"title": "My Link"}}]}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'POST', - 'path' => '/bio/{bioId}/blocks', - 'description' => 'Add a new block to a biolink.', - 'body' => '{"type": "link", "data": {"title": "My Link", "url": "https://example.com"}}', - 'response' => '{"data": {"id": 1, "type": "link", "data": {"title": "My Link"}}}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'PUT', - 'path' => '/bio/{bioId}/blocks/{id}', - 'description' => 'Update a block.', - 'body' => '{"data": {"title": "Updated Link"}}', - 'response' => '{"data": {"id": 1, "type": "link", "data": {"title": "Updated Link"}}}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'DELETE', - 'path' => '/bio/{bioId}/blocks/{id}', - 'description' => 'Delete a block.', - 'response' => '{"message": "Deleted successfully"}' - ]) -
- - {{-- Short Links --}} - - - {{-- QR Codes --}} -
-

QR Codes

-

- Generate customisable QR codes for biolinks or any URL. -

- - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/bio/{id}/qr', - 'description' => 'Get QR code data for a biolink.', - 'response' => '{"data": {"svg": "...", "url": "https://lt.hn/mypage"}}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/bio/{id}/qr/download', - 'description' => 'Download QR code as PNG/SVG. Query params: format (png|svg), size (100-2000).', - 'response' => 'Binary image data' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'POST', - 'path' => '/qr/generate', - 'description' => 'Generate QR code for any URL.', - 'body' => '{"url": "https://example.com", "format": "svg", "size": 300}', - 'response' => '{"data": {"svg": "..."}}' - ]) - - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/qr/options', - 'description' => 'Get available QR code customisation options.', - 'response' => '{"data": {"formats": ["png", "svg"], "sizes": {"min": 100, "max": 2000}}}' - ]) -
- - {{-- Analytics --}} -
-

Analytics

-

- View analytics data for your biolinks. -

- - @include('api::partials.endpoint', [ - 'method' => 'GET', - 'path' => '/bio/{id}/analytics', - 'description' => 'Get analytics for a biolink. Query params: period (7d|30d|90d).', - 'response' => '{"data": {"views": 1234, "clicks": 567, "unique_visitors": 890}}' - ]) -
- - {{-- CTA --}} -
-

Try it out

-

Test endpoints interactively with Swagger UI.

- - Open Swagger UI - -
- -
-
- -
-@endsection diff --git a/packages/core-api/src/Website/Api/View/Blade/scalar.blade.php b/packages/core-api/src/Website/Api/View/Blade/scalar.blade.php deleted file mode 100644 index f996834..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/scalar.blade.php +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - API Reference - Host UK - - - - - - -
- - -
- - diff --git a/packages/core-api/src/Website/Api/View/Blade/swagger.blade.php b/packages/core-api/src/Website/Api/View/Blade/swagger.blade.php deleted file mode 100644 index 89424af..0000000 --- a/packages/core-api/src/Website/Api/View/Blade/swagger.blade.php +++ /dev/null @@ -1,58 +0,0 @@ -@extends('api::layouts.docs') - -@section('title', 'Swagger UI') - -@push('head') - - -@endpush - -@section('content') -
-
-

Swagger UI

-

- Interactive API explorer. Try out endpoints directly from your browser. -

-
- -
-
-@endsection - -@push('scripts') - - - -@endpush diff --git a/packages/core-mcp/README.md b/packages/core-mcp/README.md deleted file mode 100644 index 8234704..0000000 --- a/packages/core-mcp/README.md +++ /dev/null @@ -1,203 +0,0 @@ -# Core MCP Package - -Model Context Protocol (MCP) tools and analytics for AI-powered automation and integrations. - -## Installation - -```bash -composer require host-uk/core-mcp -``` - -## Features - -### MCP Tool Registry -Extensible tool system for AI integrations: - -```php -use Core\Mcp\Tools\BaseTool; - -class GetProductsTool extends BaseTool -{ - public function name(): string - { - return 'get_products'; - } - - public function description(): string - { - return 'Retrieve a list of products from the workspace'; - } - - public function schema(JsonSchema $schema): array - { - return [ - 'limit' => $schema->integer('Maximum number of products to return'), - ]; - } - - public function handle(Request $request): Response - { - $products = Product::take($request->input('limit', 10))->get(); - return Response::text(json_encode($products)); - } -} -``` - -### Workspace Context Security -Prevents cross-tenant data leakage: - -```php -use Core\Mcp\Tools\Concerns\RequiresWorkspaceContext; - -class MyTool extends BaseTool -{ - use RequiresWorkspaceContext; - - // Automatically validates workspace context - // Throws exception if context is missing -} -``` - -### SQL Query Validation -Multi-layer protection for database queries: - -```php -use Core\Mcp\Services\SqlQueryValidator; - -$validator = new SqlQueryValidator(); -$validator->validate($query); // Throws if unsafe - -// Features: -// - Blocked keywords (INSERT, UPDATE, DELETE, DROP) -// - Pattern detection (stacked queries, hex encoding) -// - Whitelist matching -// - Comment stripping -``` - -### Tool Analytics -Track tool usage and performance: - -```php -use Core\Mcp\Services\ToolAnalyticsService; - -$analytics = app(ToolAnalyticsService::class); - -$stats = $analytics->getToolStats('get_products'); -// Returns: calls, avg_duration, error_rate, etc. -``` - -**Admin dashboard:** `/admin/mcp/analytics` - -### Tool Dependencies -Declare tool dependencies and validate at runtime: - -```php -use Core\Mcp\Dependencies\{HasDependencies, ToolDependency}; - -class AdvancedTool extends BaseTool implements HasDependencies -{ - public function dependencies(): array - { - return [ - new ToolDependency('get_products', DependencyType::REQUIRED), - new ToolDependency('send_email', DependencyType::OPTIONAL), - ]; - } -} -``` - -### MCP Playground -Interactive UI for testing tools: - -**Route:** `/admin/mcp/playground` - -**Features:** -- Tool browser with search -- Dynamic form generation -- JSON response viewer -- Conversation history -- Example pre-fill - -### Query EXPLAIN Analysis -Performance insights for database queries: - -```json -{ - "query": "SELECT * FROM users WHERE email = ?", - "explain": true -} -``` - -**Returns:** -- Raw EXPLAIN output -- Performance warnings -- Index usage analysis -- Optimization recommendations - -### Usage Quotas -Workspace-level rate limiting: - -```php -use Core\Mcp\Services\McpQuotaService; - -$quota = app(McpQuotaService::class); - -// Check if workspace can execute tool -if (!$quota->canExecute($workspace, 'expensive_tool')) { - throw new QuotaExceededException(); -} - -// Record execution -$quota->recordExecution($workspace, 'expensive_tool'); -``` - -## Configuration - -```php -// config/mcp.php - -return [ - 'database' => [ - 'connection' => 'readonly', // Dedicated read-only connection - 'use_whitelist' => true, - 'blocked_tables' => ['users', 'api_keys'], - ], - 'analytics' => [ - 'enabled' => true, - 'retention_days' => 90, - ], - 'quota' => [ - 'enabled' => true, - 'default_limit' => 1000, // Per workspace per day - ], -]; -``` - -## Security - -### Query Security (Defense in Depth) -1. **Read-only database user** (infrastructure) -2. **Blocked keywords** (application) -3. **Pattern validation** (application) -4. **Whitelist matching** (application) -5. **Table access controls** (application) - -### Workspace Isolation -- Context MUST come from authentication -- Cross-tenant access prevented by design -- Tools throw exceptions without context - -See [changelog/2026/jan/security.md](changelog/2026/jan/security.md) for security updates. - -## Requirements - -- PHP 8.2+ -- Laravel 11+ or 12+ - -## Changelog - -See [changelog/2026/jan/features.md](changelog/2026/jan/features.md) for recent changes. - -## License - -EUPL-1.2 - See [LICENSE](../../LICENSE) for details. diff --git a/packages/core-mcp/TODO.md b/packages/core-mcp/TODO.md deleted file mode 100644 index 62992bf..0000000 --- a/packages/core-mcp/TODO.md +++ /dev/null @@ -1,305 +0,0 @@ -# Core-MCP TODO - -## Testing & Quality Assurance - -### High Priority - -- [ ] **Test Coverage: SQL Query Validator** - Test injection prevention - - [ ] Test all forbidden SQL keywords (DROP, INSERT, UPDATE, DELETE, etc.) - - [ ] Test SQL injection attempts (UNION, boolean blinds, etc.) - - [ ] Test parameterized query validation - - [ ] Test subquery restrictions - - [ ] Test multi-statement detection - - **Estimated effort:** 4-5 hours - -- [ ] **Test Coverage: Workspace Context** - Test isolation and validation - - [ ] Test WorkspaceContext resolution from headers - - [ ] Test automatic workspace scoping in queries - - [ ] Test MissingWorkspaceContextException - - [ ] Test workspace boundary enforcement - - [ ] Test cross-workspace query prevention - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Tool Analytics** - Test metrics tracking - - [ ] Test ToolAnalyticsService recording - - [ ] Test ToolStats DTO calculations - - [ ] Test performance percentiles (P95, P99) - - [ ] Test error rate calculations - - [ ] Test daily trend aggregation - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Quota System** - Test limits and enforcement - - [ ] Test McpQuotaService tier limits - - [ ] Test quota exceeded detection - - [ ] Test quota reset timing - - [ ] Test workspace-scoped quotas - - [ ] Test custom quota overrides - - **Estimated effort:** 3-4 hours - -### Medium Priority - -- [ ] **Test Coverage: Tool Dependencies** - Test dependency validation - - [ ] Test ToolDependencyService resolution - - [ ] Test MissingDependencyException - - [ ] Test circular dependency detection - - [ ] Test version compatibility checking - - **Estimated effort:** 2-3 hours - -- [ ] **Test Coverage: Query Database Tool** - Test complete workflow - - [ ] Test SELECT query execution - - [ ] Test EXPLAIN plan analysis - - [ ] Test connection validation - - [ ] Test result formatting - - [ ] Test error handling - - **Estimated effort:** 3-4 hours - -### Low Priority - -- [ ] **Test Coverage: Tool Registry** - Test tool registration - - [ ] Test AgentToolRegistry with multiple tools - - [ ] Test tool discovery - - [ ] Test tool metadata - - **Estimated effort:** 2-3 hours - -## Security (Critical) - -### High Priority - Security Fixes Needed - -- [x] **COMPLETED: Database Connection Fallback** - Throw exception instead of fallback - - [x] Fixed to throw ForbiddenConnectionException - - [x] No silent fallback to default connection - - [x] Prevents accidental production data exposure - - **Completed:** January 2026 - -- [x] **COMPLETED: SQL Validator Regex Strengthening** - Stricter WHERE clause validation - - [x] Replaced permissive `.+` with restrictive character classes - - [x] Added explicit structure validation - - [x] Better detection of injection attempts - - **Completed:** January 2026 - -### Medium Priority - Additional Security - -- [ ] **Security: Query Result Size Limits** - Prevent data exfiltration - - [ ] Add max_rows configuration per tier - - [ ] Enforce result set limits - - [ ] Return truncation warnings - - [ ] Test with large result sets - - **Estimated effort:** 2-3 hours - -- [ ] **Security: Query Timeout Enforcement** - Prevent resource exhaustion - - [ ] Add per-query timeout configuration - - [ ] Kill long-running queries - - [ ] Log slow query attempts - - [ ] Test with expensive queries - - **Estimated effort:** 2-3 hours - -- [ ] **Security: Audit Logging** - Complete query audit trail - - [ ] Log all query attempts (success and failure) - - [ ] Include user, workspace, query, and bindings - - [ ] Add tamper-proof logging - - [ ] Implement log retention policy - - **Estimated effort:** 3-4 hours - -## Features & Enhancements - -### High Priority - -- [x] **COMPLETED: EXPLAIN Plan Analysis** - Query optimization insights - - [x] Added `explain` parameter to QueryDatabase tool - - [x] Returns human-readable performance analysis - - [x] Shows index usage and optimization opportunities - - **Completed:** January 2026 - -- [ ] **Feature: Query Templates** - Reusable parameterized queries - - [ ] Create query template system - - [ ] Support named parameters - - [ ] Add template validation - - [ ] Store templates per workspace - - [ ] Test with complex queries - - **Estimated effort:** 5-6 hours - - **Files:** `src/Mod/Mcp/Templates/` - -- [ ] **Feature: Schema Exploration Tools** - Database metadata access - - [ ] Add ListTables tool - - [ ] Add DescribeTable tool - - [ ] Add ListIndexes tool - - [ ] Respect information_schema restrictions - - [ ] Test with multiple database types - - **Estimated effort:** 4-5 hours - - **Files:** `src/Mod/Mcp/Tools/Schema/` - -### Medium Priority - -- [ ] **Enhancement: Query Result Caching** - Cache frequent queries - - [ ] Implement result caching with TTL - - [ ] Add cache key generation - - [ ] Support cache invalidation - - [ ] Test cache hit rates - - **Estimated effort:** 3-4 hours - -- [ ] **Enhancement: Query History** - Track agent queries - - [ ] Store query history per workspace - - [ ] Add query rerun capability - - [ ] Create history browser UI - - [ ] Add favorite queries - - **Estimated effort:** 4-5 hours - - **Files:** `src/Mod/Mcp/History/` - -- [ ] **Enhancement: Advanced Analytics** - Deeper insights - - [ ] Add query complexity scoring - - [ ] Track table access patterns - - [ ] Identify slow query patterns - - [ ] Create optimization recommendations - - **Estimated effort:** 5-6 hours - - **Files:** `src/Mod/Mcp/Analytics/` - -### Low Priority - -- [ ] **Enhancement: Multi-Database Support** - Query multiple databases - - [ ] Support cross-database queries - - [ ] Add database selection parameter - - [ ] Test with MySQL, PostgreSQL, SQLite - - **Estimated effort:** 4-5 hours - -- [ ] **Enhancement: Query Builder UI** - Visual query construction - - [ ] Create Livewire query builder component - - [ ] Add table/column selection - - [ ] Support WHERE clause builder - - [ ] Generate safe SQL - - **Estimated effort:** 8-10 hours - - **Files:** `src/Mod/Mcp/QueryBuilder/` - -## Tool Development - -### High Priority - -- [ ] **Tool: Create/Update Records** - Controlled data modification - - [ ] Create InsertRecord tool with strict validation - - [ ] Create UpdateRecord tool with WHERE requirements - - [ ] Implement record-level permissions - - [ ] Require explicit confirmation for modifications - - [ ] Test with workspace scoping - - **Estimated effort:** 6-8 hours - - **Files:** `src/Mod/Mcp/Tools/Modify/` - - **Note:** Requires careful security review - -- [ ] **Tool: Export Data** - Export query results - - [ ] Add ExportResults tool - - [ ] Support CSV, JSON, Excel formats - - [ ] Add row limits per tier - - [ ] Implement streaming for large exports - - **Estimated effort:** 4-5 hours - - **Files:** `src/Mod/Mcp/Tools/Export/` - -### Medium Priority - -- [ ] **Tool: Analyze Performance** - Database health insights - - [ ] Add TableStats tool (row count, size, etc.) - - [ ] Add SlowQueries tool - - [ ] Add IndexUsage tool - - [ ] Create performance dashboard - - **Estimated effort:** 5-6 hours - - **Files:** `src/Mod/Mcp/Tools/Performance/` - -- [ ] **Tool: Data Validation** - Validate data quality - - [ ] Add ValidateData tool - - [ ] Check for NULL values, duplicates - - [ ] Validate foreign key integrity - - [ ] Generate data quality report - - **Estimated effort:** 4-5 hours - - **Files:** `src/Mod/Mcp/Tools/Validation/` - -## Documentation - -- [x] **Guide: Creating MCP Tools** - Comprehensive tutorial - - [x] Document tool interface - - [x] Show parameter validation - - [x] Explain workspace context - - [x] Add dependency examples - - [x] Include security best practices - - **Completed:** January 2026 - - **File:** `docs/packages/mcp/creating-mcp-tools.md` - -- [x] **Guide: SQL Security** - Safe query patterns - - [x] Document allowed SQL patterns - - [x] Show parameterized query examples - - [x] Explain validation rules - - [x] List forbidden operations - - **Completed:** January 2026 - - **File:** `docs/packages/mcp/sql-security.md` - -- [x] **API Reference: All MCP Tools** - Complete tool catalog - - [x] Document each tool's parameters - - [x] Add usage examples - - [x] Show response formats - - [x] Include error cases - - **Completed:** January 2026 - - **File:** `docs/packages/mcp/tools-reference.md` - -## Code Quality - -- [ ] **Refactor: Extract SQL Parser** - Better query validation - - [ ] Create proper SQL parser - - [ ] Replace regex with AST parsing - - [ ] Support dialect-specific syntax - - [ ] Add comprehensive tests - - **Estimated effort:** 8-10 hours - -- [ ] **Refactor: Standardize Tool Responses** - Consistent API - - [ ] Create ToolResult DTO - - [ ] Standardize error responses - - [ ] Add response metadata - - [ ] Update all tools - - **Estimated effort:** 3-4 hours - -- [ ] **PHPStan: Fix Level 5 Errors** - Improve type safety - - [ ] Fix property type declarations - - [ ] Add missing return types - - [ ] Fix array shape types - - **Estimated effort:** 2-3 hours - -## Performance - -- [ ] **Optimization: Query Result Streaming** - Handle large results - - [ ] Implement cursor-based result streaming - - [ ] Add chunked response delivery - - [ ] Test with millions of rows - - **Estimated effort:** 3-4 hours - -- [ ] **Optimization: Connection Pooling** - Reuse database connections - - [ ] Implement connection pool - - [ ] Add connection health checks - - [ ] Test connection lifecycle - - **Estimated effort:** 3-4 hours - -## Infrastructure - -- [ ] **Monitoring: Alert on Suspicious Queries** - Security monitoring - - [ ] Detect unusual query patterns - - [ ] Alert on potential injection attempts - - [ ] Track query anomalies - - [ ] Create security dashboard - - **Estimated effort:** 4-5 hours - -- [ ] **CI/CD: Add Security Regression Tests** - Prevent vulnerabilities - - [ ] Test SQL injection prevention - - [ ] Test workspace isolation - - [ ] Test quota enforcement - - [ ] Fail CI on security issues - - **Estimated effort:** 3-4 hours - ---- - -## Completed (January 2026) - -- [x] **Security: Database Connection Validation** - Throws exception for invalid connections -- [x] **Security: SQL Validator Strengthening** - Stricter WHERE clause patterns -- [x] **Feature: EXPLAIN Plan Analysis** - Query optimization insights -- [x] **Tool Analytics System** - Complete usage tracking and metrics -- [x] **Quota System** - Tier-based limits with enforcement -- [x] **Workspace Context** - Automatic query scoping and validation -- [x] **Documentation: Creating MCP Tools Guide** - Complete tutorial with workspace context, dependencies, security -- [x] **Documentation: SQL Security Guide** - Allowed patterns, forbidden operations, injection prevention -- [x] **Documentation: MCP Tools API Reference** - All tools with parameters, examples, error handling - -*See `changelog/2026/jan/` for completed features and security fixes.* diff --git a/packages/core-mcp/changelog/2026/jan/features.md b/packages/core-mcp/changelog/2026/jan/features.md deleted file mode 100644 index d99e2bb..0000000 --- a/packages/core-mcp/changelog/2026/jan/features.md +++ /dev/null @@ -1,121 +0,0 @@ -# Core-MCP - January 2026 - -## Features Implemented - -### Workspace Context Security - -Prevents cross-tenant data leakage by requiring authenticated workspace context. - -**Files:** -- `Exceptions/MissingWorkspaceContextException.php` -- `Context/WorkspaceContext.php` - Value object -- `Tools/Concerns/RequiresWorkspaceContext.php` - Tool trait -- `Middleware/ValidateWorkspaceContext.php` - -**Security Guarantees:** -- Workspace context MUST come from authentication -- Cross-tenant access prevented by design -- Tools throw exceptions when called without context - ---- - -### Query Security - -Defence in depth for SQL injection prevention. - -**Files:** -- `Exceptions/ForbiddenQueryException.php` -- `Services/SqlQueryValidator.php` - Multi-layer validation - -**Features:** -- Blocked keywords: INSERT, UPDATE, DELETE, DROP, UNION -- Pattern detection: stacked queries, hex encoding, SLEEP/BENCHMARK -- Comment stripping to prevent obfuscation -- Query whitelist matching -- Read-only database connection support - -**Config:** `mcp.database.connection`, `mcp.database.use_whitelist`, `mcp.database.blocked_tables` - ---- - -### MCP Playground UI - -Interactive interface for testing MCP tools. - -**Files:** -- `Services/ToolRegistry.php` - Tool discovery and schemas -- `View/Modal/Admin/McpPlayground.php` - Livewire component -- `View/Blade/admin/mcp-playground.blade.php` - -**Features:** -- Tool browser with search and category filtering -- Dynamic form builder from JSON schemas -- JSON response viewer with syntax highlighting -- Conversation history (last 50 executions) -- Example input pre-fill -- API key validation - -**Route:** `GET /admin/mcp/playground` - ---- - -### Tool Usage Analytics - -Usage tracking and dashboard for MCP tools. - -**Files:** -- `Migrations/2026_01_26_*` - mcp_tool_metrics, mcp_tool_combinations -- `Models/ToolMetric.php` -- `DTO/ToolStats.php` -- `Services/ToolAnalyticsService.php` -- `Events/ToolExecuted.php` -- `Listeners/RecordToolExecution.php` -- `View/Modal/Admin/ToolAnalyticsDashboard.php` -- `View/Modal/Admin/ToolAnalyticsDetail.php` -- `Console/Commands/PruneMetricsCommand.php` - -**Features:** -- Per-tool call counts with daily granularity -- Average, min, max response times -- Error rates with threshold highlighting -- Tool combination tracking -- Admin dashboard with sortable tables -- Date range filtering - -**Routes:** -- `GET /admin/mcp/analytics` - Dashboard -- `GET /admin/mcp/analytics/tool/{name}` - Tool detail - -**Config:** `mcp.analytics.enabled`, `mcp.analytics.retention_days` - ---- - -### EXPLAIN Query Analysis - -Query optimization insights with automated performance analysis. - -**Files:** -- `Tools/QueryDatabase.php` - Added `explain` parameter -- Enhanced with human-readable performance interpretation - -**Features:** -- Optional EXPLAIN execution before query runs -- Detects full table scans -- Identifies missing indexes -- Warns about filesort and temporary tables -- Shows row count estimates -- Includes MySQL warnings when available - -**Usage:** -```json -{ - "query": "SELECT * FROM users WHERE email = 'test@example.com'", - "explain": true -} -``` - -**Response includes:** -- Raw EXPLAIN output -- Performance warnings (full scans, high row counts) -- Index usage analysis -- Optimization recommendations diff --git a/packages/core-mcp/changelog/2026/jan/security.md b/packages/core-mcp/changelog/2026/jan/security.md deleted file mode 100644 index 8399cdb..0000000 --- a/packages/core-mcp/changelog/2026/jan/security.md +++ /dev/null @@ -1,52 +0,0 @@ -# Core-MCP - January 2026 - Security Fixes - -## Critical - -### Database Connection Validation - -Fixed fallback behavior that could bypass read-only connection configuration. - -**Issue:** QueryDatabase tool would silently fall back to default database connection if configured MCP connection was invalid. - -**Fix:** Now throws `RuntimeException` with clear error message when configured connection doesn't exist. - -**Files:** -- `Tools/QueryDatabase.php` - Added connection validation - -**Impact:** Prevents accidental queries against production read-write connections. - ---- - -## High Priority - -### SQL Query Validator Strengthening - -Restricted WHERE clause patterns to prevent SQL injection vectors. - -**Issue:** Whitelist regex patterns used `.+` which was too permissive for WHERE clause validation. - -**Fix:** Replaced with strict character class restrictions: -- Only allows: alphanumeric, spaces, backticks, operators, quotes, parentheses -- Explicitly supports AND/OR logical operators -- Blocks function calls and subqueries -- Prevents nested SELECT statements - -**Files:** -- `Services/SqlQueryValidator.php` - Updated DEFAULT_WHITELIST patterns - -**Before:** -```php -'/^\s*SELECT\s+.*\s+FROM\s+`?\w+`?(\s+WHERE\s+.+)?/i' -``` - -**After:** -```php -'/^\s*SELECT\s+.*\s+FROM\s+`?\w+`?(\s+WHERE\s+[\w\s`.,!=<>\'"%()]+(\s+(AND|OR)\s+[\w\s`.,!=<>\'"%()]+)*)?/i' -``` - -**Defense in depth:** -- Read-only database user (infrastructure) -- Blocked keywords (application) -- Pattern validation (application) -- Whitelist matching (application) -- Table access controls (application) diff --git a/packages/core-mcp/composer.json b/packages/core-mcp/composer.json deleted file mode 100644 index d085cc1..0000000 --- a/packages/core-mcp/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "host-uk/core-mcp", - "description": "MCP (Model Context Protocol) tools module for Core PHP framework", - "keywords": ["laravel", "mcp", "ai", "tools", "claude"], - "license": "EUPL-1.2", - "require": { - "php": "^8.2", - "host-uk/core": "@dev" - }, - "autoload": { - "psr-4": { - "Core\\Mod\\Mcp\\": "src/Mod/Mcp/", - "Core\\Website\\Mcp\\": "src/Website/Mcp/" - } - }, - "autoload-dev": { - "psr-4": { - "Core\\Mod\\Mcp\\Tests\\": "tests/" - } - }, - "extra": { - "laravel": { - "providers": [] - } - }, - "minimum-stability": "stable", - "prefer-stable": true -} diff --git a/packages/core-mcp/src/Mod/Mcp/Boot.php b/packages/core-mcp/src/Mod/Mcp/Boot.php deleted file mode 100644 index afc6a89..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Boot.php +++ /dev/null @@ -1,98 +0,0 @@ - - */ - public static array $listens = [ - AdminPanelBooting::class => 'onAdminPanel', - ConsoleBooting::class => 'onConsole', - McpToolsRegistering::class => 'onMcpTools', - ]; - - /** - * Register any application services. - */ - public function register(): void - { - $this->app->singleton(ToolRegistry::class); - $this->app->singleton(ToolAnalyticsService::class); - $this->app->singleton(McpQuotaService::class); - $this->app->singleton(ToolDependencyService::class); - $this->app->singleton(AuditLogService::class); - $this->app->singleton(ToolVersionService::class); - } - - /** - * Bootstrap any application services. - */ - public function boot(): void - { - $this->loadMigrationsFrom(__DIR__.'/Migrations'); - - // Register event listener for tool execution analytics - Event::listen(ToolExecuted::class, RecordToolExecution::class); - } - - // ------------------------------------------------------------------------- - // Event-driven handlers - // ------------------------------------------------------------------------- - - public function onAdminPanel(AdminPanelBooting $event): void - { - $event->views($this->moduleName, __DIR__.'/View/Blade'); - - if (file_exists(__DIR__.'/Routes/admin.php')) { - $event->routes(fn () => require __DIR__.'/Routes/admin.php'); - } - - $event->livewire('mcp.admin.api-key-manager', View\Modal\Admin\ApiKeyManager::class); - $event->livewire('mcp.admin.playground', View\Modal\Admin\Playground::class); - $event->livewire('mcp.admin.mcp-playground', View\Modal\Admin\McpPlayground::class); - $event->livewire('mcp.admin.request-log', View\Modal\Admin\RequestLog::class); - $event->livewire('mcp.admin.tool-analytics-dashboard', View\Modal\Admin\ToolAnalyticsDashboard::class); - $event->livewire('mcp.admin.tool-analytics-detail', View\Modal\Admin\ToolAnalyticsDetail::class); - $event->livewire('mcp.admin.quota-usage', View\Modal\Admin\QuotaUsage::class); - $event->livewire('mcp.admin.audit-log-viewer', View\Modal\Admin\AuditLogViewer::class); - $event->livewire('mcp.admin.tool-version-manager', View\Modal\Admin\ToolVersionManager::class); - } - - public function onConsole(ConsoleBooting $event): void - { - $event->command(Console\Commands\McpAgentServerCommand::class); - $event->command(Console\Commands\PruneMetricsCommand::class); - $event->command(Console\Commands\VerifyAuditLogCommand::class); - } - - public function onMcpTools(McpToolsRegistering $event): void - { - // MCP tool handlers will be registered here once extracted - // from the monolithic McpAgentServerCommand - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Console/Commands/CleanupToolCallLogsCommand.php b/packages/core-mcp/src/Mod/Mcp/Console/Commands/CleanupToolCallLogsCommand.php deleted file mode 100644 index 42923eb..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Console/Commands/CleanupToolCallLogsCommand.php +++ /dev/null @@ -1,111 +0,0 @@ -option('dry-run'); - $logRetentionDays = (int) ($this->option('days') ?? config('mcp.log_retention.days', 90)); - $statsRetentionDays = (int) ($this->option('stats-days') ?? config('mcp.log_retention.stats_days', 365)); - - $this->info('MCP Log Cleanup'.($dryRun ? ' (DRY RUN)' : '')); - $this->line(''); - $this->line("Detailed logs retention: {$logRetentionDays} days"); - $this->line("Statistics retention: {$statsRetentionDays} days"); - $this->line(''); - - $logsCutoff = now()->subDays($logRetentionDays); - $statsCutoff = now()->subDays($statsRetentionDays); - - // Clean up tool call logs - $toolCallsCount = McpToolCall::where('created_at', '<', $logsCutoff)->count(); - if ($toolCallsCount > 0) { - if ($dryRun) { - $this->line("Would delete {$toolCallsCount} tool call log(s) older than {$logsCutoff->toDateString()}"); - } else { - // Delete in chunks to avoid memory issues and lock contention - $deleted = $this->deleteInChunks(McpToolCall::class, 'created_at', $logsCutoff); - $this->info("Deleted {$deleted} tool call log(s)"); - } - } else { - $this->line('No tool call logs to clean up'); - } - - // Clean up API request logs - $apiRequestsCount = McpApiRequest::where('created_at', '<', $logsCutoff)->count(); - if ($apiRequestsCount > 0) { - if ($dryRun) { - $this->line("Would delete {$apiRequestsCount} API request log(s) older than {$logsCutoff->toDateString()}"); - } else { - $deleted = $this->deleteInChunks(McpApiRequest::class, 'created_at', $logsCutoff); - $this->info("Deleted {$deleted} API request log(s)"); - } - } else { - $this->line('No API request logs to clean up'); - } - - // Clean up aggregated statistics (longer retention) - $statsCount = McpToolCallStat::where('date', '<', $statsCutoff->toDateString())->count(); - if ($statsCount > 0) { - if ($dryRun) { - $this->line("Would delete {$statsCount} tool call stat(s) older than {$statsCutoff->toDateString()}"); - } else { - $deleted = McpToolCallStat::where('date', '<', $statsCutoff->toDateString())->delete(); - $this->info("Deleted {$deleted} tool call stat(s)"); - } - } else { - $this->line('No tool call stats to clean up'); - } - - $this->line(''); - $this->info('Cleanup complete.'); - - return self::SUCCESS; - } - - /** - * Delete records in chunks to avoid memory issues. - */ - protected function deleteInChunks(string $model, string $column, \DateTimeInterface $cutoff, int $chunkSize = 1000): int - { - $totalDeleted = 0; - - do { - $deleted = $model::where($column, '<', $cutoff) - ->limit($chunkSize) - ->delete(); - - $totalDeleted += $deleted; - - // Small pause to reduce database pressure - if ($deleted > 0) { - usleep(10000); // 10ms - } - } while ($deleted > 0); - - return $totalDeleted; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Console/Commands/McpAgentServerCommand.php b/packages/core-mcp/src/Mod/Mcp/Console/Commands/McpAgentServerCommand.php deleted file mode 100644 index 411752e..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Console/Commands/McpAgentServerCommand.php +++ /dev/null @@ -1,2064 +0,0 @@ -registerTools(); - $this->registerResources(); - - // Run MCP server loop - while (($line = fgets(STDIN)) !== false) { - $line = trim($line); - if (empty($line)) { - continue; - } - - try { - $request = json_decode($line, true, 512, JSON_THROW_ON_ERROR); - $response = $this->handleRequest($request); - - if ($response !== null) { - $this->sendResponse($response); - } - } catch (Throwable $e) { - Log::error('MCP Agent Server error', [ - 'error' => $e->getMessage(), - 'line' => $line, - ]); - - $this->sendResponse([ - 'jsonrpc' => '2.0', - 'id' => null, - 'error' => [ - 'code' => -32700, - 'message' => 'Parse error: '.$e->getMessage(), - ], - ]); - } - } - - return 0; - } - - protected function registerTools(): void - { - // Plan management tools - $this->tools['plan_list'] = [ - 'description' => 'List all work plans with their current status and progress', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'status' => [ - 'type' => 'string', - 'description' => 'Filter by status (draft, active, paused, completed, archived)', - 'enum' => ['draft', 'active', 'paused', 'completed', 'archived'], - ], - 'include_archived' => [ - 'type' => 'boolean', - 'description' => 'Include archived plans (default: false)', - ], - ], - ], - 'handler' => 'toolPlanList', - ]; - - $this->tools['plan_create'] = [ - 'description' => 'Create a new work plan with phases and tasks', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'title' => [ - 'type' => 'string', - 'description' => 'Plan title', - ], - 'slug' => [ - 'type' => 'string', - 'description' => 'URL-friendly identifier (auto-generated if not provided)', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'Plan description', - ], - 'context' => [ - 'type' => 'object', - 'description' => 'Additional context (related files, dependencies, etc.)', - ], - 'phases' => [ - 'type' => 'array', - 'description' => 'Array of phase definitions with name, description, and tasks', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => ['type' => 'string'], - 'description' => ['type' => 'string'], - 'tasks' => [ - 'type' => 'array', - 'items' => ['type' => 'string'], - ], - ], - ], - ], - ], - 'required' => ['title'], - ], - 'handler' => 'toolPlanCreate', - ]; - - $this->tools['plan_get'] = [ - 'description' => 'Get detailed information about a specific plan', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'format' => [ - 'type' => 'string', - 'description' => 'Output format: json or markdown', - 'enum' => ['json', 'markdown'], - ], - ], - 'required' => ['slug'], - ], - 'handler' => 'toolPlanGet', - ]; - - $this->tools['plan_update_status'] = [ - 'description' => 'Update the status of a plan', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'status' => [ - 'type' => 'string', - 'description' => 'New status', - 'enum' => ['draft', 'active', 'paused', 'completed'], - ], - ], - 'required' => ['slug', 'status'], - ], - 'handler' => 'toolPlanUpdateStatus', - ]; - - $this->tools['plan_archive'] = [ - 'description' => 'Archive a completed or abandoned plan', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'reason' => [ - 'type' => 'string', - 'description' => 'Reason for archiving', - ], - ], - 'required' => ['slug'], - ], - 'handler' => 'toolPlanArchive', - ]; - - // Phase tools - $this->tools['phase_get'] = [ - 'description' => 'Get details of a specific phase within a plan', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'phase' => [ - 'type' => 'string', - 'description' => 'Phase identifier (number or name)', - ], - ], - 'required' => ['plan_slug', 'phase'], - ], - 'handler' => 'toolPhaseGet', - ]; - - $this->tools['phase_update_status'] = [ - 'description' => 'Update the status of a phase', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'phase' => [ - 'type' => 'string', - 'description' => 'Phase identifier (number or name)', - ], - 'status' => [ - 'type' => 'string', - 'description' => 'New status', - 'enum' => ['pending', 'in_progress', 'completed', 'blocked', 'skipped'], - ], - 'notes' => [ - 'type' => 'string', - 'description' => 'Optional notes about the status change', - ], - ], - 'required' => ['plan_slug', 'phase', 'status'], - ], - 'handler' => 'toolPhaseUpdateStatus', - ]; - - $this->tools['phase_add_checkpoint'] = [ - 'description' => 'Add a checkpoint note to a phase', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'phase' => [ - 'type' => 'string', - 'description' => 'Phase identifier (number or name)', - ], - 'note' => [ - 'type' => 'string', - 'description' => 'Checkpoint note', - ], - 'context' => [ - 'type' => 'object', - 'description' => 'Additional context data', - ], - ], - 'required' => ['plan_slug', 'phase', 'note'], - ], - 'handler' => 'toolPhaseAddCheckpoint', - ]; - - // Task tools - $this->tools['task_toggle'] = [ - 'description' => 'Toggle a task completion status', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'phase' => [ - 'type' => 'string', - 'description' => 'Phase identifier (number or name)', - ], - 'task_index' => [ - 'type' => 'integer', - 'description' => 'Task index (0-based)', - ], - ], - 'required' => ['plan_slug', 'phase', 'task_index'], - ], - 'handler' => 'toolTaskToggle', - ]; - - $this->tools['task_update'] = [ - 'description' => 'Update task details (status, notes)', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'phase' => [ - 'type' => 'string', - 'description' => 'Phase identifier (number or name)', - ], - 'task_index' => [ - 'type' => 'integer', - 'description' => 'Task index (0-based)', - ], - 'status' => [ - 'type' => 'string', - 'description' => 'New status', - 'enum' => ['pending', 'in_progress', 'completed', 'blocked', 'skipped'], - ], - 'notes' => [ - 'type' => 'string', - 'description' => 'Task notes', - ], - ], - 'required' => ['plan_slug', 'phase', 'task_index'], - ], - 'handler' => 'toolTaskUpdate', - ]; - - // Session tools (for multi-agent handoff) - $this->tools['session_start'] = [ - 'description' => 'Start a new agent session for a plan', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'agent_type' => [ - 'type' => 'string', - 'description' => 'Type of agent (e.g., opus, sonnet, haiku)', - ], - 'context' => [ - 'type' => 'object', - 'description' => 'Initial session context', - ], - ], - 'required' => ['agent_type'], - ], - 'handler' => 'toolSessionStart', - ]; - - $this->tools['session_log'] = [ - 'description' => 'Log an entry in the current session', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'message' => [ - 'type' => 'string', - 'description' => 'Log message', - ], - 'type' => [ - 'type' => 'string', - 'description' => 'Log type', - 'enum' => ['info', 'progress', 'decision', 'error', 'checkpoint'], - ], - 'data' => [ - 'type' => 'object', - 'description' => 'Additional data to log', - ], - ], - 'required' => ['message'], - ], - 'handler' => 'toolSessionLog', - ]; - - $this->tools['session_artifact'] = [ - 'description' => 'Record an artifact created/modified during the session', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'path' => [ - 'type' => 'string', - 'description' => 'File or resource path', - ], - 'action' => [ - 'type' => 'string', - 'description' => 'Action performed', - 'enum' => ['created', 'modified', 'deleted', 'reviewed'], - ], - 'description' => [ - 'type' => 'string', - 'description' => 'Description of changes', - ], - ], - 'required' => ['path', 'action'], - ], - 'handler' => 'toolSessionArtifact', - ]; - - $this->tools['session_handoff'] = [ - 'description' => 'Prepare session for handoff to another agent', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'summary' => [ - 'type' => 'string', - 'description' => 'Summary of work done', - ], - 'next_steps' => [ - 'type' => 'array', - 'description' => 'Recommended next steps', - 'items' => ['type' => 'string'], - ], - 'blockers' => [ - 'type' => 'array', - 'description' => 'Any blockers encountered', - 'items' => ['type' => 'string'], - ], - 'context_for_next' => [ - 'type' => 'object', - 'description' => 'Context to pass to next agent', - ], - ], - 'required' => ['summary'], - ], - 'handler' => 'toolSessionHandoff', - ]; - - $this->tools['session_end'] = [ - 'description' => 'End the current session', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'status' => [ - 'type' => 'string', - 'description' => 'Final session status', - 'enum' => ['completed', 'handed_off', 'paused', 'failed'], - ], - 'summary' => [ - 'type' => 'string', - 'description' => 'Final summary', - ], - ], - 'required' => ['status'], - ], - 'handler' => 'toolSessionEnd', - ]; - - // State tools (persistent workspace state) - $this->tools['state_get'] = [ - 'description' => 'Get a workspace state value', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'key' => [ - 'type' => 'string', - 'description' => 'State key', - ], - ], - 'required' => ['plan_slug', 'key'], - ], - 'handler' => 'toolStateGet', - ]; - - $this->tools['state_set'] = [ - 'description' => 'Set a workspace state value', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'key' => [ - 'type' => 'string', - 'description' => 'State key', - ], - 'value' => [ - 'type' => ['string', 'number', 'boolean', 'object', 'array'], - 'description' => 'State value', - ], - 'category' => [ - 'type' => 'string', - 'description' => 'State category for organisation', - ], - ], - 'required' => ['plan_slug', 'key', 'value'], - ], - 'handler' => 'toolStateSet', - ]; - - $this->tools['state_list'] = [ - 'description' => 'List all state values for a plan', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug identifier', - ], - 'category' => [ - 'type' => 'string', - 'description' => 'Filter by category', - ], - ], - 'required' => ['plan_slug'], - ], - 'handler' => 'toolStateList', - ]; - - // Template tools - $this->tools['template_list'] = [ - 'description' => 'List available plan templates', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'category' => [ - 'type' => 'string', - 'description' => 'Filter by category', - ], - ], - ], - 'handler' => 'toolTemplateList', - ]; - - $this->tools['template_preview'] = [ - 'description' => 'Preview a template with variables', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'template' => [ - 'type' => 'string', - 'description' => 'Template name/slug', - ], - 'variables' => [ - 'type' => 'object', - 'description' => 'Variable values for the template', - ], - ], - 'required' => ['template'], - ], - 'handler' => 'toolTemplatePreview', - ]; - - $this->tools['template_create_plan'] = [ - 'description' => 'Create a new plan from a template', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'template' => [ - 'type' => 'string', - 'description' => 'Template name/slug', - ], - 'variables' => [ - 'type' => 'object', - 'description' => 'Variable values for the template', - ], - 'slug' => [ - 'type' => 'string', - 'description' => 'Custom slug for the plan', - ], - ], - 'required' => ['template', 'variables'], - ], - 'handler' => 'toolTemplateCreatePlan', - ]; - - // Content generation tools - $this->tools['content_status'] = [ - 'description' => 'Get content generation pipeline status (AI provider availability, brief counts)', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [], - ], - 'handler' => 'toolContentStatus', - ]; - - $this->tools['content_brief_create'] = [ - 'description' => 'Create a content brief for AI generation', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'title' => [ - 'type' => 'string', - 'description' => 'Content title', - ], - 'content_type' => [ - 'type' => 'string', - 'description' => 'Type of content', - 'enum' => ['help_article', 'blog_post', 'landing_page', 'social_post'], - ], - 'service' => [ - 'type' => 'string', - 'description' => 'Service context (e.g., BioHost, QRHost)', - ], - 'keywords' => [ - 'type' => 'array', - 'description' => 'SEO keywords to include', - 'items' => ['type' => 'string'], - ], - 'target_word_count' => [ - 'type' => 'integer', - 'description' => 'Target word count (default: 800)', - ], - 'description' => [ - 'type' => 'string', - 'description' => 'Brief description of what to write about', - ], - 'difficulty' => [ - 'type' => 'string', - 'description' => 'Target audience level', - 'enum' => ['beginner', 'intermediate', 'advanced'], - ], - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Link to an existing plan', - ], - ], - 'required' => ['title', 'content_type'], - ], - 'handler' => 'toolContentBriefCreate', - ]; - - $this->tools['content_brief_list'] = [ - 'description' => 'List content briefs with optional status filter', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'status' => [ - 'type' => 'string', - 'description' => 'Filter by status', - 'enum' => ['pending', 'queued', 'generating', 'review', 'published', 'failed'], - ], - 'limit' => [ - 'type' => 'integer', - 'description' => 'Maximum results (default: 20)', - ], - ], - ], - 'handler' => 'toolContentBriefList', - ]; - - $this->tools['content_brief_get'] = [ - 'description' => 'Get details of a specific content brief including generated content', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'id' => [ - 'type' => 'integer', - 'description' => 'Brief ID', - ], - ], - 'required' => ['id'], - ], - 'handler' => 'toolContentBriefGet', - ]; - - $this->tools['content_generate'] = [ - 'description' => 'Generate content for a brief using AI pipeline (Gemini draft → Claude refine)', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'brief_id' => [ - 'type' => 'integer', - 'description' => 'Brief ID to generate content for', - ], - 'mode' => [ - 'type' => 'string', - 'description' => 'Generation mode', - 'enum' => ['draft', 'refine', 'full'], - ], - 'sync' => [ - 'type' => 'boolean', - 'description' => 'Run synchronously (wait for result) vs queue for async processing', - ], - ], - 'required' => ['brief_id'], - ], - 'handler' => 'toolContentGenerate', - ]; - - $this->tools['content_batch_generate'] = [ - 'description' => 'Queue multiple briefs for batch content generation', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'limit' => [ - 'type' => 'integer', - 'description' => 'Maximum briefs to process (default: 5)', - ], - 'mode' => [ - 'type' => 'string', - 'description' => 'Generation mode', - 'enum' => ['draft', 'refine', 'full'], - ], - ], - ], - 'handler' => 'toolContentBatchGenerate', - ]; - - $this->tools['content_from_plan'] = [ - 'description' => 'Create content briefs from plan tasks and queue for generation', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'plan_slug' => [ - 'type' => 'string', - 'description' => 'Plan slug to generate content from', - ], - 'content_type' => [ - 'type' => 'string', - 'description' => 'Type of content to generate', - 'enum' => ['help_article', 'blog_post', 'landing_page', 'social_post'], - ], - 'service' => [ - 'type' => 'string', - 'description' => 'Service context', - ], - 'limit' => [ - 'type' => 'integer', - 'description' => 'Maximum briefs to create (default: 5)', - ], - 'target_word_count' => [ - 'type' => 'integer', - 'description' => 'Target word count per article', - ], - ], - 'required' => ['plan_slug'], - ], - 'handler' => 'toolContentFromPlan', - ]; - - $this->tools['content_usage_stats'] = [ - 'description' => 'Get AI usage statistics (tokens, costs) for content generation', - 'inputSchema' => [ - 'type' => 'object', - 'properties' => [ - 'period' => [ - 'type' => 'string', - 'description' => 'Time period for stats', - 'enum' => ['day', 'week', 'month', 'year'], - ], - ], - ], - 'handler' => 'toolContentUsageStats', - ]; - } - - protected function registerResources(): void - { - $this->resources['plans://all'] = [ - 'name' => 'All Plans Overview', - 'description' => 'Overview of all work plans and their status', - 'mimeType' => 'text/markdown', - 'handler' => 'resourceAllPlans', - ]; - - // Dynamic plan resources are handled in getResourcesList - } - - protected function handleRequest(array $request): ?array - { - $method = $request['method'] ?? ''; - $id = $request['id'] ?? null; - $params = $request['params'] ?? []; - - return match ($method) { - 'initialize' => $this->handleInitialize($id, $params), - 'tools/list' => $this->handleToolsList($id), - 'tools/call' => $this->handleToolsCall($id, $params), - 'resources/list' => $this->handleResourcesList($id), - 'resources/read' => $this->handleResourcesRead($id, $params), - 'notifications/initialized' => null, - default => $this->errorResponse($id, -32601, "Method not found: {$method}"), - }; - } - - protected function handleInitialize(mixed $id, array $params): array - { - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => [ - 'protocolVersion' => '2024-11-05', - 'capabilities' => [ - 'tools' => ['listChanged' => true], - 'resources' => ['subscribe' => false, 'listChanged' => true], - ], - 'serverInfo' => [ - 'name' => 'hosthub-agent', - 'version' => '1.0.0', - ], - ], - ]; - } - - protected function handleToolsList(mixed $id): array - { - $tools = []; - - foreach ($this->tools as $name => $tool) { - $tools[] = [ - 'name' => $name, - 'description' => $tool['description'], - 'inputSchema' => $tool['inputSchema'], - ]; - } - - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => ['tools' => $tools], - ]; - } - - protected function handleToolsCall(mixed $id, array $params): array - { - $toolName = $params['name'] ?? ''; - $args = $params['arguments'] ?? []; - $startTime = microtime(true); - - if (! isset($this->tools[$toolName])) { - return $this->errorResponse($id, -32602, "Unknown tool: {$toolName}"); - } - - try { - $handler = $this->tools[$toolName]['handler']; - $result = $this->$handler($args); - - // Log tool call - $this->logToolCall($toolName, $args, $result, $startTime, true); - - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => [ - 'content' => [ - [ - 'type' => 'text', - 'text' => json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES), - ], - ], - ], - ]; - } catch (Throwable $e) { - $this->logToolCall($toolName, $args, ['error' => $e->getMessage()], $startTime, false); - - Log::error('MCP tool error', [ - 'tool' => $toolName, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - - return $this->errorResponse($id, -32603, $e->getMessage()); - } - } - - protected function handleResourcesList(mixed $id): array - { - $resources = []; - - // Static resources - foreach ($this->resources as $uri => $resource) { - $resources[] = [ - 'uri' => $uri, - 'name' => $resource['name'], - 'description' => $resource['description'], - 'mimeType' => $resource['mimeType'], - ]; - } - - // Dynamic plan resources - $plans = AgentPlan::notArchived()->get(); - foreach ($plans as $plan) { - $resources[] = [ - 'uri' => "plans://{$plan->slug}", - 'name' => $plan->title, - 'description' => "Work plan: {$plan->title}", - 'mimeType' => 'text/markdown', - ]; - } - - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => ['resources' => $resources], - ]; - } - - protected function handleResourcesRead(mixed $id, array $params): array - { - $uri = $params['uri'] ?? ''; - - // Handle static resources - if (isset($this->resources[$uri])) { - $handler = $this->resources[$uri]['handler']; - $content = $this->$handler(); - - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => [ - 'contents' => [ - [ - 'uri' => $uri, - 'mimeType' => $this->resources[$uri]['mimeType'], - 'text' => $content, - ], - ], - ], - ]; - } - - // Handle dynamic plan resources - if (str_starts_with($uri, 'plans://')) { - $path = substr($uri, 9); // Remove 'plans://' - $parts = explode('/', $path); - $slug = $parts[0]; - - // plans://{slug}/phases/{order} - if (count($parts) === 3 && $parts[1] === 'phases') { - $content = $this->resourcePhaseChecklist($slug, (int) $parts[2]); - } - // plans://{slug}/state/{key} - elseif (count($parts) === 3 && $parts[1] === 'state') { - $content = $this->resourceStateValue($slug, $parts[2]); - } - // plans://{slug} - else { - $content = $this->resourcePlanDocument($slug); - } - - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => [ - 'contents' => [ - [ - 'uri' => $uri, - 'mimeType' => 'text/markdown', - 'text' => $content, - ], - ], - ], - ]; - } - - // Handle session resources - if (str_starts_with($uri, 'sessions://')) { - $path = substr($uri, 11); - $parts = explode('/', $path); - - if (count($parts) === 2 && $parts[1] === 'context') { - $content = $this->resourceSessionContext($parts[0]); - - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'result' => [ - 'contents' => [ - [ - 'uri' => $uri, - 'mimeType' => 'text/markdown', - 'text' => $content, - ], - ], - ], - ]; - } - } - - return $this->errorResponse($id, -32602, "Resource not found: {$uri}"); - } - - protected function sendResponse(array $response): void - { - echo json_encode($response, JSON_UNESCAPED_SLASHES)."\n"; - flush(); - } - - protected function logToolCall(string $tool, array $args, array $result, float $startTime, bool $success): void - { - $duration = (int) ((microtime(true) - $startTime) * 1000); - - // Use the log() method which updates daily stats automatically - McpToolCall::log( - serverId: 'hosthub-agent', - toolName: $tool, - params: $args, - success: $success, - durationMs: $duration, - errorMessage: $success ? null : ($result['error'] ?? null), - errorCode: $success ? null : ($result['code'] ?? null), - resultSummary: $success ? $result : null, - sessionId: $this->currentSessionId, - ); - } - - // ===== TOOL IMPLEMENTATIONS ===== - - protected function toolPlanList(array $args): array - { - $query = AgentPlan::with('agentPhases') - ->orderBy('updated_at', 'desc'); - - if (! ($args['include_archived'] ?? false)) { - $query->notArchived(); - } - - if (! empty($args['status'])) { - $query->where('status', $args['status']); - } - - $plans = $query->get(); - - return [ - 'plans' => $plans->map(fn ($plan) => [ - 'slug' => $plan->slug, - 'title' => $plan->title, - 'status' => $plan->status, - 'progress' => $plan->getProgress(), - 'updated_at' => $plan->updated_at->toIso8601String(), - ])->all(), - 'total' => $plans->count(), - ]; - } - - protected function toolPlanCreate(array $args): array - { - $slug = $args['slug'] ?? Str::slug($args['title']).'-'.Str::random(6); - - if (AgentPlan::where('slug', $slug)->exists()) { - return ['error' => "Plan with slug '{$slug}' already exists"]; - } - - $plan = AgentPlan::create([ - 'slug' => $slug, - 'title' => $args['title'], - 'description' => $args['description'] ?? null, - 'status' => 'draft', - 'context' => $args['context'] ?? [], - ]); - - // Create phases if provided - if (! empty($args['phases'])) { - foreach ($args['phases'] as $order => $phaseData) { - $tasks = collect($phaseData['tasks'] ?? [])->map(fn ($task) => [ - 'name' => $task, - 'status' => 'pending', - ])->all(); - - AgentPhase::create([ - 'agent_plan_id' => $plan->id, - 'name' => $phaseData['name'], - 'description' => $phaseData['description'] ?? null, - 'order' => $order + 1, - 'status' => 'pending', - 'tasks' => $tasks, - ]); - } - } - - $plan->load('agentPhases'); - - return [ - 'success' => true, - 'plan' => [ - 'slug' => $plan->slug, - 'title' => $plan->title, - 'status' => $plan->status, - 'phases' => $plan->agentPhases->count(), - ], - ]; - } - - protected function toolPlanGet(array $args): array - { - $plan = AgentPlan::with('agentPhases') - ->where('slug', $args['slug']) - ->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['slug']}"]; - } - - $format = $args['format'] ?? 'json'; - - if ($format === 'markdown') { - return ['markdown' => $plan->toMarkdown()]; - } - - return [ - 'plan' => [ - 'slug' => $plan->slug, - 'title' => $plan->title, - 'description' => $plan->description, - 'status' => $plan->status, - 'context' => $plan->context, - 'progress' => $plan->getProgress(), - 'phases' => $plan->agentPhases->map(fn ($phase) => [ - 'order' => $phase->order, - 'name' => $phase->name, - 'description' => $phase->description, - 'status' => $phase->status, - 'tasks' => $phase->tasks, - 'checkpoints' => $phase->checkpoints, - ])->all(), - 'created_at' => $plan->created_at->toIso8601String(), - 'updated_at' => $plan->updated_at->toIso8601String(), - ], - ]; - } - - protected function toolPlanUpdateStatus(array $args): array - { - $plan = AgentPlan::where('slug', $args['slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['slug']}"]; - } - - $plan->update(['status' => $args['status']]); - - return [ - 'success' => true, - 'plan' => [ - 'slug' => $plan->slug, - 'status' => $plan->fresh()->status, - ], - ]; - } - - protected function toolPlanArchive(array $args): array - { - $plan = AgentPlan::where('slug', $args['slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['slug']}"]; - } - - $plan->archive($args['reason'] ?? null); - - return [ - 'success' => true, - 'plan' => [ - 'slug' => $plan->slug, - 'status' => 'archived', - 'archived_at' => $plan->archived_at->toIso8601String(), - ], - ]; - } - - protected function toolPhaseGet(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $phase = $this->findPhase($plan, $args['phase']); - - if (! $phase) { - return ['error' => "Phase not found: {$args['phase']}"]; - } - - return [ - 'phase' => [ - 'order' => $phase->order, - 'name' => $phase->name, - 'description' => $phase->description, - 'status' => $phase->status, - 'tasks' => $phase->tasks, - 'checkpoints' => $phase->checkpoints, - 'dependencies' => $phase->dependencies, - ], - ]; - } - - protected function toolPhaseUpdateStatus(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $phase = $this->findPhase($plan, $args['phase']); - - if (! $phase) { - return ['error' => "Phase not found: {$args['phase']}"]; - } - - $updateData = ['status' => $args['status']]; - - if (! empty($args['notes'])) { - $phase->addCheckpoint($args['notes'], ['status_change' => $args['status']]); - } - - $phase->update($updateData); - - return [ - 'success' => true, - 'phase' => [ - 'order' => $phase->order, - 'name' => $phase->name, - 'status' => $phase->fresh()->status, - ], - ]; - } - - protected function toolPhaseAddCheckpoint(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $phase = $this->findPhase($plan, $args['phase']); - - if (! $phase) { - return ['error' => "Phase not found: {$args['phase']}"]; - } - - $phase->addCheckpoint($args['note'], $args['context'] ?? []); - - return [ - 'success' => true, - 'checkpoints' => $phase->fresh()->checkpoints, - ]; - } - - protected function toolTaskToggle(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $phase = $this->findPhase($plan, $args['phase']); - - if (! $phase) { - return ['error' => "Phase not found: {$args['phase']}"]; - } - - $tasks = $phase->tasks ?? []; - $index = $args['task_index']; - - if (! isset($tasks[$index])) { - return ['error' => "Task not found at index: {$index}"]; - } - - $currentStatus = is_string($tasks[$index]) - ? 'pending' - : ($tasks[$index]['status'] ?? 'pending'); - - $newStatus = $currentStatus === 'completed' ? 'pending' : 'completed'; - - if (is_string($tasks[$index])) { - $tasks[$index] = [ - 'name' => $tasks[$index], - 'status' => $newStatus, - ]; - } else { - $tasks[$index]['status'] = $newStatus; - } - - $phase->update(['tasks' => $tasks]); - - return [ - 'success' => true, - 'task' => $tasks[$index], - 'plan_progress' => $plan->fresh()->getProgress(), - ]; - } - - protected function toolTaskUpdate(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $phase = $this->findPhase($plan, $args['phase']); - - if (! $phase) { - return ['error' => "Phase not found: {$args['phase']}"]; - } - - $tasks = $phase->tasks ?? []; - $index = $args['task_index']; - - if (! isset($tasks[$index])) { - return ['error' => "Task not found at index: {$index}"]; - } - - if (is_string($tasks[$index])) { - $tasks[$index] = ['name' => $tasks[$index], 'status' => 'pending']; - } - - if (isset($args['status'])) { - $tasks[$index]['status'] = $args['status']; - } - - if (isset($args['notes'])) { - $tasks[$index]['notes'] = $args['notes']; - } - - $phase->update(['tasks' => $tasks]); - - return [ - 'success' => true, - 'task' => $tasks[$index], - ]; - } - - protected function toolSessionStart(array $args): array - { - $plan = null; - if (! empty($args['plan_slug'])) { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - } - - $sessionId = 'ses_'.Str::random(12); - $this->currentSessionId = $sessionId; - - $session = AgentSession::create([ - 'session_id' => $sessionId, - 'agent_plan_id' => $plan?->id, - 'agent_type' => $args['agent_type'], - 'status' => 'active', - 'started_at' => now(), - 'context_summary' => $args['context'] ?? [], - ]); - - return [ - 'success' => true, - 'session' => [ - 'session_id' => $session->session_id, - 'agent_type' => $session->agent_type, - 'plan' => $plan?->slug, - 'status' => $session->status, - ], - ]; - } - - protected function toolSessionLog(array $args): array - { - if (! $this->currentSessionId) { - return ['error' => 'No active session. Call session_start first.']; - } - - $session = AgentSession::where('session_id', $this->currentSessionId)->first(); - - if (! $session) { - return ['error' => 'Session not found']; - } - - $session->addWorkLogEntry( - $args['message'], - $args['type'] ?? 'info', - $args['data'] ?? [] - ); - - return ['success' => true, 'logged' => $args['message']]; - } - - protected function toolSessionArtifact(array $args): array - { - if (! $this->currentSessionId) { - return ['error' => 'No active session. Call session_start first.']; - } - - $session = AgentSession::where('session_id', $this->currentSessionId)->first(); - - if (! $session) { - return ['error' => 'Session not found']; - } - - $session->addArtifact( - $args['path'], - $args['action'], - $args['description'] ?? null - ); - - return ['success' => true, 'artifact' => $args['path']]; - } - - protected function toolSessionHandoff(array $args): array - { - if (! $this->currentSessionId) { - return ['error' => 'No active session. Call session_start first.']; - } - - $session = AgentSession::where('session_id', $this->currentSessionId)->first(); - - if (! $session) { - return ['error' => 'Session not found']; - } - - $session->prepareHandoff( - $args['summary'], - $args['next_steps'] ?? [], - $args['blockers'] ?? [], - $args['context_for_next'] ?? [] - ); - - return [ - 'success' => true, - 'handoff_context' => $session->getHandoffContext(), - ]; - } - - protected function toolSessionEnd(array $args): array - { - if (! $this->currentSessionId) { - return ['error' => 'No active session']; - } - - $session = AgentSession::where('session_id', $this->currentSessionId)->first(); - - if (! $session) { - return ['error' => 'Session not found']; - } - - $session->end($args['status'], $args['summary'] ?? null); - $this->currentSessionId = null; - - return [ - 'success' => true, - 'session' => [ - 'session_id' => $session->session_id, - 'status' => $session->status, - 'duration' => $session->getDurationFormatted(), - ], - ]; - } - - protected function toolStateGet(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $state = $plan->states()->where('key', $args['key'])->first(); - - if (! $state) { - return ['error' => "State not found: {$args['key']}"]; - } - - return [ - 'key' => $state->key, - 'value' => $state->value, - 'category' => $state->category, - 'updated_at' => $state->updated_at->toIso8601String(), - ]; - } - - protected function toolStateSet(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $state = AgentWorkspaceState::updateOrCreate( - [ - 'agent_plan_id' => $plan->id, - 'key' => $args['key'], - ], - [ - 'value' => $args['value'], - 'category' => $args['category'] ?? 'general', - ] - ); - - return [ - 'success' => true, - 'state' => [ - 'key' => $state->key, - 'value' => $state->value, - 'category' => $state->category, - ], - ]; - } - - protected function toolStateList(array $args): array - { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $query = $plan->states(); - - if (! empty($args['category'])) { - $query->where('category', $args['category']); - } - - $states = $query->get(); - - return [ - 'states' => $states->map(fn ($state) => [ - 'key' => $state->key, - 'value' => $state->value, - 'category' => $state->category, - ])->all(), - 'total' => $states->count(), - ]; - } - - protected function toolTemplateList(array $args): array - { - $templateService = app(PlanTemplateService::class); - $templates = $templateService->listTemplates(); - - if (! empty($args['category'])) { - $templates = array_filter($templates, fn ($t) => ($t['category'] ?? '') === $args['category']); - } - - return [ - 'templates' => array_values($templates), - 'total' => count($templates), - ]; - } - - protected function toolTemplatePreview(array $args): array - { - $templateService = app(PlanTemplateService::class); - $templateSlug = $args['template']; - $variables = $args['variables'] ?? []; - - $preview = $templateService->previewTemplate($templateSlug, $variables); - - if (! $preview) { - return ['error' => "Template not found: {$templateSlug}"]; - } - - return [ - 'template' => $templateSlug, - 'preview' => $preview, - ]; - } - - protected function toolTemplateCreatePlan(array $args): array - { - $templateService = app(PlanTemplateService::class); - $templateSlug = $args['template']; - $variables = $args['variables'] ?? []; - - $options = []; - - if (! empty($args['slug'])) { - $options['slug'] = $args['slug']; - } - - $plan = $templateService->createPlan($templateSlug, $variables, $options); - - if (! $plan) { - return ['error' => 'Failed to create plan from template']; - } - - return [ - 'success' => true, - 'plan' => [ - 'slug' => $plan->slug, - 'title' => $plan->title, - 'status' => $plan->status, - 'phases' => $plan->agentPhases->count(), - 'total_tasks' => $plan->getProgress()['total'], - ], - 'commands' => [ - 'view' => "php artisan plan:show {$plan->slug}", - 'activate' => "php artisan plan:status {$plan->slug} --set=active", - ], - ]; - } - - // ===== CONTENT GENERATION TOOL IMPLEMENTATIONS ===== - - protected function toolContentStatus(array $args): array - { - $gateway = app(AIGatewayService::class); - - return [ - 'providers' => [ - 'gemini' => $gateway->isGeminiAvailable(), - 'claude' => $gateway->isClaudeAvailable(), - ], - 'pipeline_available' => $gateway->isAvailable(), - 'briefs' => [ - 'pending' => ContentBrief::pending()->count(), - 'queued' => ContentBrief::where('status', ContentBrief::STATUS_QUEUED)->count(), - 'generating' => ContentBrief::where('status', ContentBrief::STATUS_GENERATING)->count(), - 'review' => ContentBrief::needsReview()->count(), - 'published' => ContentBrief::where('status', ContentBrief::STATUS_PUBLISHED)->count(), - 'failed' => ContentBrief::where('status', ContentBrief::STATUS_FAILED)->count(), - ], - ]; - } - - protected function toolContentBriefCreate(array $args): array - { - $plan = null; - if (! empty($args['plan_slug'])) { - $plan = AgentPlan::where('slug', $args['plan_slug'])->first(); - } - - $brief = ContentBrief::create([ - 'title' => $args['title'], - 'slug' => Str::slug($args['title']).'-'.Str::random(6), - 'content_type' => $args['content_type'], - 'service' => $args['service'] ?? null, - 'description' => $args['description'] ?? null, - 'keywords' => $args['keywords'] ?? null, - 'target_word_count' => $args['target_word_count'] ?? 800, - 'difficulty' => $args['difficulty'] ?? null, - 'status' => ContentBrief::STATUS_PENDING, - 'metadata' => $plan ? [ - 'plan_id' => $plan->id, - 'plan_slug' => $plan->slug, - ] : null, - ]); - - return [ - 'success' => true, - 'brief' => [ - 'id' => $brief->id, - 'title' => $brief->title, - 'slug' => $brief->slug, - 'status' => $brief->status, - 'content_type' => $brief->content_type, - ], - ]; - } - - protected function toolContentBriefList(array $args): array - { - $query = ContentBrief::query()->orderBy('created_at', 'desc'); - - if (! empty($args['status'])) { - $query->where('status', $args['status']); - } - - $limit = $args['limit'] ?? 20; - $briefs = $query->limit($limit)->get(); - - return [ - 'briefs' => $briefs->map(fn ($brief) => [ - 'id' => $brief->id, - 'title' => $brief->title, - 'status' => $brief->status, - 'content_type' => $brief->content_type, - 'service' => $brief->service, - 'created_at' => $brief->created_at->toIso8601String(), - ])->all(), - 'total' => $briefs->count(), - ]; - } - - protected function toolContentBriefGet(array $args): array - { - $brief = ContentBrief::find($args['id']); - - if (! $brief) { - return ['error' => "Brief not found: {$args['id']}"]; - } - - return [ - 'brief' => [ - 'id' => $brief->id, - 'title' => $brief->title, - 'slug' => $brief->slug, - 'status' => $brief->status, - 'content_type' => $brief->content_type, - 'service' => $brief->service, - 'description' => $brief->description, - 'keywords' => $brief->keywords, - 'target_word_count' => $brief->target_word_count, - 'difficulty' => $brief->difficulty, - 'draft_output' => $brief->draft_output, - 'refined_output' => $brief->refined_output, - 'final_content' => $brief->final_content, - 'best_content' => $brief->best_content, - 'error_message' => $brief->error_message, - 'generation_log' => $brief->generation_log, - 'total_cost' => $brief->total_cost, - 'created_at' => $brief->created_at->toIso8601String(), - 'generated_at' => $brief->generated_at?->toIso8601String(), - 'refined_at' => $brief->refined_at?->toIso8601String(), - ], - ]; - } - - protected function toolContentGenerate(array $args): array - { - $brief = ContentBrief::find($args['brief_id']); - - if (! $brief) { - return ['error' => "Brief not found: {$args['brief_id']}"]; - } - - $gateway = app(AIGatewayService::class); - - if (! $gateway->isAvailable()) { - return ['error' => 'AI providers not configured. Set GOOGLE_AI_API_KEY and ANTHROPIC_API_KEY.']; - } - - $mode = $args['mode'] ?? 'full'; - $sync = $args['sync'] ?? false; - - if ($sync) { - try { - if ($mode === 'full') { - $result = $gateway->generateAndRefine($brief); - - return [ - 'success' => true, - 'brief_id' => $brief->id, - 'status' => $brief->fresh()->status, - 'draft' => [ - 'model' => $result['draft']->model, - 'tokens' => $result['draft']->totalTokens(), - 'cost' => $result['draft']->estimateCost(), - ], - 'refined' => [ - 'model' => $result['refined']->model, - 'tokens' => $result['refined']->totalTokens(), - 'cost' => $result['refined']->estimateCost(), - ], - ]; - } elseif ($mode === 'draft') { - $response = $gateway->generateDraft($brief); - $brief->markDraftComplete($response->content); - - return [ - 'success' => true, - 'brief_id' => $brief->id, - 'status' => $brief->fresh()->status, - 'draft' => [ - 'model' => $response->model, - 'tokens' => $response->totalTokens(), - 'cost' => $response->estimateCost(), - ], - ]; - } elseif ($mode === 'refine') { - if (! $brief->isGenerated()) { - return ['error' => 'No draft to refine. Generate draft first.']; - } - $response = $gateway->refineDraft($brief, $brief->draft_output); - $brief->markRefined($response->content); - - return [ - 'success' => true, - 'brief_id' => $brief->id, - 'status' => $brief->fresh()->status, - 'refined' => [ - 'model' => $response->model, - 'tokens' => $response->totalTokens(), - 'cost' => $response->estimateCost(), - ], - ]; - } - } catch (\Exception $e) { - $brief->markFailed($e->getMessage()); - - return ['error' => $e->getMessage()]; - } - } - - // Async - queue for processing - $brief->markQueued(); - GenerateContentJob::dispatch($brief, $mode); - - return [ - 'success' => true, - 'queued' => true, - 'brief_id' => $brief->id, - 'mode' => $mode, - 'message' => 'Brief queued for generation', - ]; - } - - protected function toolContentBatchGenerate(array $args): array - { - $limit = $args['limit'] ?? 5; - $mode = $args['mode'] ?? 'full'; - - $briefs = ContentBrief::readyToProcess()->limit($limit)->get(); - - if ($briefs->isEmpty()) { - return ['message' => 'No briefs ready for processing', 'queued' => 0]; - } - - foreach ($briefs as $brief) { - GenerateContentJob::dispatch($brief, $mode); - } - - return [ - 'success' => true, - 'queued' => $briefs->count(), - 'mode' => $mode, - 'brief_ids' => $briefs->pluck('id')->all(), - ]; - } - - protected function toolContentFromPlan(array $args): array - { - $plan = AgentPlan::with('agentPhases') - ->where('slug', $args['plan_slug']) - ->first(); - - if (! $plan) { - return ['error' => "Plan not found: {$args['plan_slug']}"]; - } - - $limit = $args['limit'] ?? 5; - $contentType = $args['content_type'] ?? 'help_article'; - $service = $args['service'] ?? ($plan->metadata['service'] ?? null); - $wordCount = $args['target_word_count'] ?? 800; - - $phases = $plan->agentPhases() - ->whereIn('status', ['pending', 'in_progress']) - ->get(); - - if ($phases->isEmpty()) { - return ['message' => 'No pending phases in plan', 'created' => 0]; - } - - $briefsCreated = []; - - foreach ($phases as $phase) { - $tasks = $phase->getTasks(); - - foreach ($tasks as $index => $task) { - if (count($briefsCreated) >= $limit) { - break 2; - } - - $taskName = is_string($task) ? $task : ($task['name'] ?? ''); - $taskStatus = is_array($task) ? ($task['status'] ?? 'pending') : 'pending'; - - if ($taskStatus === 'completed') { - continue; - } - - $brief = ContentBrief::create([ - 'title' => $taskName, - 'slug' => Str::slug($taskName).'-'.time(), - 'content_type' => $contentType, - 'service' => $service, - 'target_word_count' => $wordCount, - 'status' => ContentBrief::STATUS_QUEUED, - 'metadata' => [ - 'plan_id' => $plan->id, - 'plan_slug' => $plan->slug, - 'phase_id' => $phase->id, - 'phase_order' => $phase->order, - 'task_index' => $index, - ], - ]); - - GenerateContentJob::dispatch($brief, 'full'); - $briefsCreated[] = [ - 'id' => $brief->id, - 'title' => $brief->title, - ]; - } - } - - return [ - 'success' => true, - 'plan' => $plan->slug, - 'created' => count($briefsCreated), - 'briefs' => $briefsCreated, - ]; - } - - protected function toolContentUsageStats(array $args): array - { - $period = $args['period'] ?? 'month'; - $stats = AIUsage::statsForWorkspace(null, $period); - - return [ - 'period' => $period, - 'total_requests' => $stats['total_requests'], - 'total_input_tokens' => $stats['total_input_tokens'], - 'total_output_tokens' => $stats['total_output_tokens'], - 'total_cost' => number_format($stats['total_cost'], 4), - 'by_provider' => $stats['by_provider'], - 'by_purpose' => $stats['by_purpose'], - ]; - } - - // ===== RESOURCE IMPLEMENTATIONS ===== - - protected function resourceAllPlans(): string - { - $plans = AgentPlan::with('agentPhases')->notArchived()->orderBy('updated_at', 'desc')->get(); - - $md = "# Work Plans\n\n"; - $md .= '**Total:** '.$plans->count()." plan(s)\n\n"; - - foreach ($plans->groupBy('status') as $status => $group) { - $md .= '## '.ucfirst($status).' ('.$group->count().")\n\n"; - - foreach ($group as $plan) { - $progress = $plan->getProgress(); - $md .= "- **[{$plan->slug}]** {$plan->title} - {$progress['percentage']}%\n"; - } - $md .= "\n"; - } - - return $md; - } - - protected function resourcePlanDocument(string $slug): string - { - $plan = AgentPlan::with('agentPhases')->where('slug', $slug)->first(); - - if (! $plan) { - return "Plan not found: {$slug}"; - } - - return $plan->toMarkdown(); - } - - protected function resourcePhaseChecklist(string $slug, int $phaseOrder): string - { - $plan = AgentPlan::where('slug', $slug)->first(); - - if (! $plan) { - return "Plan not found: {$slug}"; - } - - $phase = $plan->agentPhases()->where('order', $phaseOrder)->first(); - - if (! $phase) { - return "Phase not found: {$phaseOrder}"; - } - - $md = "# Phase {$phase->order}: {$phase->name}\n\n"; - $md .= "**Status:** {$phase->getStatusIcon()} {$phase->status}\n\n"; - - if ($phase->description) { - $md .= "{$phase->description}\n\n"; - } - - $md .= "## Tasks\n\n"; - - foreach ($phase->tasks ?? [] as $task) { - $status = is_string($task) ? 'pending' : ($task['status'] ?? 'pending'); - $name = is_string($task) ? $task : ($task['name'] ?? 'Unknown'); - $icon = $status === 'completed' ? '✅' : '⬜'; - $md .= "- {$icon} {$name}\n"; - } - - return $md; - } - - protected function resourceStateValue(string $slug, string $key): string - { - $plan = AgentPlan::where('slug', $slug)->first(); - - if (! $plan) { - return "Plan not found: {$slug}"; - } - - $state = $plan->states()->where('key', $key)->first(); - - if (! $state) { - return "State key not found: {$key}"; - } - - return $state->getFormattedValue(); - } - - protected function resourceSessionContext(string $sessionId): string - { - $session = AgentSession::where('session_id', $sessionId)->first(); - - if (! $session) { - return "Session not found: {$sessionId}"; - } - - $context = $session->getHandoffContext(); - - $md = "# Session: {$session->session_id}\n\n"; - $md .= "**Agent:** {$session->agent_type}\n"; - $md .= "**Status:** {$session->status}\n"; - $md .= "**Duration:** {$session->getDurationFormatted()}\n\n"; - - if ($session->plan) { - $md .= "## Plan\n\n"; - $md .= "**{$session->plan->title}** ({$session->plan->slug})\n\n"; - } - - if (! empty($context['context_summary'])) { - $md .= "## Context Summary\n\n"; - $md .= json_encode($context['context_summary'], JSON_PRETTY_PRINT)."\n\n"; - } - - if (! empty($context['handoff_notes'])) { - $md .= "## Handoff Notes\n\n"; - $md .= json_encode($context['handoff_notes'], JSON_PRETTY_PRINT)."\n\n"; - } - - if (! empty($context['artifacts'])) { - $md .= "## Artifacts\n\n"; - foreach ($context['artifacts'] as $artifact) { - $md .= "- {$artifact['action']}: {$artifact['path']}\n"; - } - $md .= "\n"; - } - - return $md; - } - - // ===== HELPERS ===== - - protected function findPhase(AgentPlan $plan, string|int $identifier): ?AgentPhase - { - if (is_numeric($identifier)) { - return $plan->agentPhases()->where('order', (int) $identifier)->first(); - } - - return $plan->agentPhases() - ->where(function ($query) use ($identifier) { - $query->where('name', $identifier) - ->orWhere('order', $identifier); - }) - ->first(); - } - - protected function errorResponse(mixed $id, int $code, string $message): array - { - return [ - 'jsonrpc' => '2.0', - 'id' => $id, - 'error' => [ - 'code' => $code, - 'message' => $message, - ], - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Console/Commands/McpMonitorCommand.php b/packages/core-mcp/src/Mod/Mcp/Console/Commands/McpMonitorCommand.php deleted file mode 100644 index d3869b8..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Console/Commands/McpMonitorCommand.php +++ /dev/null @@ -1,199 +0,0 @@ -argument('action'); - - return match ($action) { - 'status' => $this->showStatus($monitoring), - 'alerts' => $this->checkAlerts($monitoring), - 'export' => $this->exportMetrics($monitoring), - 'report' => $this->showReport($monitoring), - 'prometheus' => $this->showPrometheus($monitoring), - default => $this->showHelp(), - }; - } - - protected function showStatus(McpMonitoringService $monitoring): int - { - $health = $monitoring->getHealthStatus(); - - if ($this->option('json')) { - $this->line(json_encode($health, JSON_PRETTY_PRINT)); - - return 0; - } - - $statusColor = match ($health['status']) { - 'healthy' => 'green', - 'degraded' => 'yellow', - 'critical' => 'red', - default => 'white', - }; - - $this->newLine(); - $this->line("MCP Health Status: ".strtoupper($health['status']).''); - $this->newLine(); - - $this->table( - ['Metric', 'Value'], - [ - ['Total Calls (24h)', number_format($health['metrics']['total_calls'])], - ['Success Rate', $health['metrics']['success_rate'].'%'], - ['Error Rate', $health['metrics']['error_rate'].'%'], - ['Avg Duration', $health['metrics']['avg_duration_ms'].'ms'], - ] - ); - - if (count($health['issues']) > 0) { - $this->newLine(); - $this->warn('Issues Detected:'); - - foreach ($health['issues'] as $issue) { - $icon = $issue['severity'] === 'critical' ? '!!' : '!'; - $this->line(" [{$icon}] {$issue['message']}"); - } - } - - $this->newLine(); - $this->line('Checked at: '.$health['checked_at'].''); - - return $health['status'] === 'critical' ? 1 : 0; - } - - protected function checkAlerts(McpMonitoringService $monitoring): int - { - $alerts = $monitoring->checkAlerts(); - - if ($this->option('json')) { - $this->line(json_encode($alerts, JSON_PRETTY_PRINT)); - - return count($alerts) > 0 ? 1 : 0; - } - - if (count($alerts) === 0) { - $this->info('No alerts detected.'); - - return 0; - } - - $this->warn(count($alerts).' alert(s) detected:'); - $this->newLine(); - - foreach ($alerts as $alert) { - $severityColor = $alert['severity'] === 'critical' ? 'red' : 'yellow'; - $this->line("[{$alert['severity']}] {$alert['message']}"); - } - - return 1; - } - - protected function exportMetrics(McpMonitoringService $monitoring): int - { - $monitoring->exportMetrics(); - $this->info('Metrics exported to monitoring channel.'); - - return 0; - } - - protected function showReport(McpMonitoringService $monitoring): int - { - $days = (int) $this->option('days'); - $report = $monitoring->getSummaryReport($days); - - if ($this->option('json')) { - $this->line(json_encode($report, JSON_PRETTY_PRINT)); - - return 0; - } - - $this->newLine(); - $this->line("MCP Summary Report ({$days} days)"); - $this->line("Period: {$report['period']['from']} to {$report['period']['to']}"); - $this->newLine(); - - // Overview - $this->line('Overview:'); - $this->table( - ['Metric', 'Value'], - [ - ['Total Calls', number_format($report['overview']['total_calls'])], - ['Success Rate', $report['overview']['success_rate'].'%'], - ['Avg Duration', $report['overview']['avg_duration_ms'].'ms'], - ['Unique Tools', $report['overview']['unique_tools']], - ['Unique Servers', $report['overview']['unique_servers']], - ] - ); - - // Top tools - if (count($report['top_tools']) > 0) { - $this->newLine(); - $this->line('Top Tools:'); - - $toolRows = []; - foreach ($report['top_tools'] as $tool) { - $toolRows[] = [ - $tool->tool_name, - number_format($tool->total_calls), - $tool->success_rate.'%', - round($tool->avg_duration ?? 0).'ms', - ]; - } - - $this->table(['Tool', 'Calls', 'Success Rate', 'Avg Duration'], $toolRows); - } - - // Anomalies - if (count($report['anomalies']) > 0) { - $this->newLine(); - $this->warn('Anomalies Detected:'); - - foreach ($report['anomalies'] as $anomaly) { - $this->line(" - [{$anomaly['tool']}] {$anomaly['message']}"); - } - } - - $this->newLine(); - $this->line('Generated: '.$report['generated_at'].''); - - return 0; - } - - protected function showPrometheus(McpMonitoringService $monitoring): int - { - $metrics = $monitoring->getPrometheusMetrics(); - $this->line($metrics); - - return 0; - } - - protected function showHelp(): int - { - $this->error('Unknown action. Available actions: status, alerts, export, report, prometheus'); - - return 1; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Console/Commands/PruneMetricsCommand.php b/packages/core-mcp/src/Mod/Mcp/Console/Commands/PruneMetricsCommand.php deleted file mode 100644 index 0c088f7..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Console/Commands/PruneMetricsCommand.php +++ /dev/null @@ -1,97 +0,0 @@ -option('dry-run'); - $retentionDays = (int) ($this->option('days') ?? config('mcp.analytics.retention_days', 90)); - - $this->info('MCP Metrics Pruning'.($dryRun ? ' (DRY RUN)' : '')); - $this->line(''); - $this->line("Retention period: {$retentionDays} days"); - $this->line(''); - - $cutoffDate = now()->subDays($retentionDays)->toDateString(); - - // Prune tool metrics - $metricsCount = ToolMetric::where('date', '<', $cutoffDate)->count(); - - if ($metricsCount > 0) { - if ($dryRun) { - $this->line("Would delete {$metricsCount} tool metric record(s) older than {$cutoffDate}"); - } else { - $deleted = $this->deleteInChunks(ToolMetric::class, 'date', $cutoffDate); - $this->info("Deleted {$deleted} tool metric record(s)"); - } - } else { - $this->line('No tool metrics to prune'); - } - - // Prune tool combinations - $combinationsCount = DB::table('mcp_tool_combinations') - ->where('date', '<', $cutoffDate) - ->count(); - - if ($combinationsCount > 0) { - if ($dryRun) { - $this->line("Would delete {$combinationsCount} tool combination record(s) older than {$cutoffDate}"); - } else { - $deleted = DB::table('mcp_tool_combinations') - ->where('date', '<', $cutoffDate) - ->delete(); - $this->info("Deleted {$deleted} tool combination record(s)"); - } - } else { - $this->line('No tool combinations to prune'); - } - - $this->line(''); - $this->info('Pruning complete.'); - - return self::SUCCESS; - } - - /** - * Delete records in chunks to avoid memory issues. - */ - protected function deleteInChunks(string $model, string $column, string $cutoff, int $chunkSize = 1000): int - { - $totalDeleted = 0; - - do { - $deleted = $model::where($column, '<', $cutoff) - ->limit($chunkSize) - ->delete(); - - $totalDeleted += $deleted; - - // Small pause to reduce database pressure - if ($deleted > 0) { - usleep(10000); // 10ms - } - } while ($deleted > 0); - - return $totalDeleted; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Console/Commands/VerifyAuditLogCommand.php b/packages/core-mcp/src/Mod/Mcp/Console/Commands/VerifyAuditLogCommand.php deleted file mode 100644 index c6f67ef..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Console/Commands/VerifyAuditLogCommand.php +++ /dev/null @@ -1,104 +0,0 @@ -option('from') ? (int) $this->option('from') : null; - $toId = $this->option('to') ? (int) $this->option('to') : null; - $jsonOutput = $this->option('json'); - - if (! $jsonOutput) { - $this->info('Verifying MCP audit log integrity...'); - $this->newLine(); - } - - $result = $auditLogService->verifyChain($fromId, $toId); - - if ($jsonOutput) { - $this->line(json_encode($result, JSON_PRETTY_PRINT)); - - return $result['valid'] ? self::SUCCESS : self::FAILURE; - } - - // Display results - $this->displayResults($result); - - return $result['valid'] ? self::SUCCESS : self::FAILURE; - } - - /** - * Display verification results. - */ - protected function displayResults(array $result): void - { - // Summary table - $this->table( - ['Metric', 'Value'], - [ - ['Total Entries', number_format($result['total'])], - ['Verified', number_format($result['verified'])], - ['Status', $result['valid'] ? 'VALID' : 'INVALID'], - ['Issues Found', count($result['issues'])], - ] - ); - - if ($result['valid']) { - $this->newLine(); - $this->info('Audit log integrity verified successfully.'); - $this->info('The hash chain is intact and no tampering has been detected.'); - - return; - } - - // Display issues - $this->newLine(); - $this->error('Integrity issues detected!'); - $this->newLine(); - - foreach ($result['issues'] as $issue) { - $this->warn("Entry #{$issue['id']}: {$issue['type']}"); - $this->line(" {$issue['message']}"); - - if (isset($issue['expected'])) { - $this->line(" Expected: {$issue['expected']}"); - } - - if (isset($issue['actual'])) { - $this->line(" Actual: {$issue['actual']}"); - } - - $this->newLine(); - } - - $this->error('The audit log may have been tampered with. Please investigate immediately.'); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Context/WorkspaceContext.php b/packages/core-mcp/src/Mod/Mcp/Context/WorkspaceContext.php deleted file mode 100644 index 1ce6876..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Context/WorkspaceContext.php +++ /dev/null @@ -1,112 +0,0 @@ -id, - workspace: $workspace, - ); - } - - /** - * Create context from a workspace ID (lazy loads workspace when needed). - */ - public static function fromId(int $workspaceId): self - { - return new self(workspaceId: $workspaceId); - } - - /** - * Create context from request attributes. - * - * @throws MissingWorkspaceContextException If no workspace context is available - */ - public static function fromRequest(mixed $request, string $toolName = 'unknown'): self - { - // Try to get workspace from request attributes (set by middleware) - $workspace = $request->attributes->get('mcp_workspace') - ?? $request->attributes->get('workspace'); - - if ($workspace instanceof Workspace) { - return self::fromWorkspace($workspace); - } - - // Try to get API key's workspace - $apiKey = $request->attributes->get('api_key'); - if ($apiKey?->workspace_id) { - return new self( - workspaceId: $apiKey->workspace_id, - workspace: $apiKey->workspace, - ); - } - - // Try authenticated user's default workspace - $user = $request->user(); - if ($user && method_exists($user, 'defaultHostWorkspace')) { - $workspace = $user->defaultHostWorkspace(); - if ($workspace) { - return self::fromWorkspace($workspace); - } - } - - throw new MissingWorkspaceContextException($toolName); - } - - /** - * Get the workspace model, loading it if necessary. - */ - public function getWorkspace(): Workspace - { - if ($this->workspace) { - return $this->workspace; - } - - return Workspace::findOrFail($this->workspaceId); - } - - /** - * Check if this context has a specific workspace ID. - */ - public function hasWorkspaceId(int $workspaceId): bool - { - return $this->workspaceId === $workspaceId; - } - - /** - * Validate that a resource belongs to this workspace. - * - * @throws \RuntimeException If the resource doesn't belong to this workspace - */ - public function validateOwnership(int $resourceWorkspaceId, string $resourceType = 'resource'): void - { - if ($resourceWorkspaceId !== $this->workspaceId) { - throw new \RuntimeException( - "Access denied: {$resourceType} does not belong to the authenticated workspace." - ); - } - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Controllers/McpApiController.php b/packages/core-mcp/src/Mod/Mcp/Controllers/McpApiController.php deleted file mode 100644 index 19ff660..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Controllers/McpApiController.php +++ /dev/null @@ -1,492 +0,0 @@ -loadRegistry(); - - $servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values(); - - return response()->json([ - 'servers' => $servers, - 'count' => $servers->count(), - ]); - } - - /** - * Get server details with tools and resources. - * - * GET /api/v1/mcp/servers/{id} - */ - public function server(Request $request, string $id): JsonResponse - { - $server = $this->loadServerFull($id); - - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - return response()->json($server); - } - - /** - * List tools for a specific server. - * - * GET /api/v1/mcp/servers/{id}/tools - */ - public function tools(Request $request, string $id): JsonResponse - { - $server = $this->loadServerFull($id); - - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - return response()->json([ - 'server' => $id, - 'tools' => $server['tools'] ?? [], - 'count' => count($server['tools'] ?? []), - ]); - } - - /** - * Execute a tool on an MCP server. - * - * POST /api/v1/mcp/tools/call - */ - public function callTool(Request $request): JsonResponse - { - $validated = $request->validate([ - 'server' => 'required|string|max:64', - 'tool' => 'required|string|max:128', - 'arguments' => 'nullable|array', - ]); - - $server = $this->loadServerFull($validated['server']); - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - // Verify tool exists - $toolDef = collect($server['tools'] ?? [])->firstWhere('name', $validated['tool']); - if (! $toolDef) { - return response()->json(['error' => 'Tool not found'], 404); - } - - // Validate arguments against tool's input schema - $validationErrors = $this->validateToolArguments($toolDef, $validated['arguments'] ?? []); - if (! empty($validationErrors)) { - return response()->json([ - 'error' => 'validation_failed', - 'message' => 'Tool arguments do not match input schema', - 'validation_errors' => $validationErrors, - ], 422); - } - - // Get API key for logging - $apiKey = $request->attributes->get('api_key'); - $workspace = $apiKey?->workspace; - - $startTime = microtime(true); - - try { - // Execute the tool via artisan command - $result = $this->executeToolViaArtisan( - $validated['server'], - $validated['tool'], - $validated['arguments'] ?? [] - ); - - $durationMs = (int) ((microtime(true) - $startTime) * 1000); - - // Log the call - $this->logToolCall($apiKey, $validated, $result, $durationMs, true); - - // Record quota usage - $this->recordQuotaUsage($workspace); - - // Dispatch webhooks - $this->dispatchWebhook($apiKey, $validated, true, $durationMs); - - $response = [ - 'success' => true, - 'server' => $validated['server'], - 'tool' => $validated['tool'], - 'result' => $result, - 'duration_ms' => $durationMs, - ]; - - // Log full request for debugging/replay - $this->logApiRequest($request, $validated, 200, $response, $durationMs, $apiKey); - - return response()->json($response); - } catch (\Throwable $e) { - $durationMs = (int) ((microtime(true) - $startTime) * 1000); - - $this->logToolCall($apiKey, $validated, null, $durationMs, false, $e->getMessage()); - - // Dispatch webhooks (even on failure) - $this->dispatchWebhook($apiKey, $validated, false, $durationMs, $e->getMessage()); - - $response = [ - 'success' => false, - 'error' => $e->getMessage(), - 'server' => $validated['server'], - 'tool' => $validated['tool'], - ]; - - // Log full request for debugging/replay - $this->logApiRequest($request, $validated, 500, $response, $durationMs, $apiKey, $e->getMessage()); - - return response()->json($response, 500); - } - } - - /** - * Read a resource from an MCP server. - * - * GET /api/v1/mcp/resources/{uri} - * - * NOTE: Resource reading is not yet implemented. Returns 501 Not Implemented. - */ - public function resource(Request $request, string $uri): JsonResponse - { - // Parse URI format: server://resource/path - if (! preg_match('/^([a-z0-9-]+):\/\/(.+)$/', $uri, $matches)) { - return response()->json(['error' => 'Invalid resource URI format'], 400); - } - - $serverId = $matches[1]; - - $server = $this->loadServerFull($serverId); - if (! $server) { - return response()->json(['error' => 'Server not found'], 404); - } - - // Resource reading not yet implemented - return response()->json([ - 'error' => 'not_implemented', - 'message' => 'MCP resource reading is not yet implemented. Use tool calls instead.', - 'uri' => $uri, - ], 501); - } - - /** - * Execute tool via artisan MCP server command. - */ - protected function executeToolViaArtisan(string $server, string $tool, array $arguments): mixed - { - $commandMap = config('api.mcp.server_commands', []); - - $command = $commandMap[$server] ?? null; - if (! $command) { - throw new \RuntimeException("Unknown server: {$server}"); - } - - // Build MCP request - $mcpRequest = [ - 'jsonrpc' => '2.0', - 'id' => uniqid(), - 'method' => 'tools/call', - 'params' => [ - 'name' => $tool, - 'arguments' => $arguments, - ], - ]; - - // Execute via process - $process = proc_open( - ['php', 'artisan', $command], - [ - 0 => ['pipe', 'r'], - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ], - $pipes, - base_path() - ); - - if (! is_resource($process)) { - throw new \RuntimeException('Failed to start MCP server process'); - } - - fwrite($pipes[0], json_encode($mcpRequest)."\n"); - fclose($pipes[0]); - - $output = stream_get_contents($pipes[1]); - fclose($pipes[1]); - fclose($pipes[2]); - - proc_close($process); - - $response = json_decode($output, true); - - if (isset($response['error'])) { - throw new \RuntimeException($response['error']['message'] ?? 'Tool execution failed'); - } - - return $response['result'] ?? null; - } - - /** - * Log full API request for debugging and replay. - */ - protected function logApiRequest( - Request $request, - array $validated, - int $status, - array $response, - int $durationMs, - ?ApiKey $apiKey, - ?string $error = null - ): void { - try { - McpApiRequest::log( - method: $request->method(), - path: '/tools/call', - requestBody: $validated, - responseStatus: $status, - responseBody: $response, - durationMs: $durationMs, - workspaceId: $apiKey?->workspace_id, - apiKeyId: $apiKey?->id, - serverId: $validated['server'], - toolName: $validated['tool'], - errorMessage: $error, - ipAddress: $request->ip(), - headers: $request->headers->all() - ); - } catch (\Throwable $e) { - // Don't let logging failures affect API response - report($e); - } - } - - /** - * Dispatch webhook for tool execution. - */ - protected function dispatchWebhook( - ?ApiKey $apiKey, - array $request, - bool $success, - int $durationMs, - ?string $error = null - ): void { - if (! $apiKey?->workspace_id) { - return; - } - - try { - $dispatcher = new McpWebhookDispatcher; - $dispatcher->dispatchToolExecuted( - workspaceId: $apiKey->workspace_id, - serverId: $request['server'], - toolName: $request['tool'], - arguments: $request['arguments'] ?? [], - success: $success, - durationMs: $durationMs, - errorMessage: $error - ); - } catch (\Throwable $e) { - // Don't let webhook failures affect API response - report($e); - } - } - - /** - * Log tool call for analytics. - */ - protected function logToolCall( - ?ApiKey $apiKey, - array $request, - mixed $result, - int $durationMs, - bool $success, - ?string $error = null - ): void { - McpToolCall::log( - serverId: $request['server'], - toolName: $request['tool'], - params: $request['arguments'] ?? [], - success: $success, - durationMs: $durationMs, - errorMessage: $error, - workspaceId: $apiKey?->workspace_id - ); - } - - /** - * Validate tool arguments against the tool's input schema. - * - * @return array Validation errors (empty if valid) - */ - protected function validateToolArguments(array $toolDef, array $arguments): array - { - $inputSchema = $toolDef['inputSchema'] ?? null; - - // No schema = no validation - if (! $inputSchema || ! is_array($inputSchema)) { - return []; - } - - $errors = []; - $properties = $inputSchema['properties'] ?? []; - $required = $inputSchema['required'] ?? []; - - // Check required properties - foreach ($required as $requiredProp) { - if (! array_key_exists($requiredProp, $arguments)) { - $errors[] = "Missing required argument: {$requiredProp}"; - } - } - - // Type validation for provided arguments - foreach ($arguments as $key => $value) { - // Check if argument is defined in schema - if (! isset($properties[$key])) { - // Allow extra properties unless additionalProperties is false - if (isset($inputSchema['additionalProperties']) && $inputSchema['additionalProperties'] === false) { - $errors[] = "Unknown argument: {$key}"; - } - - continue; - } - - $propSchema = $properties[$key]; - $expectedType = $propSchema['type'] ?? null; - - if ($expectedType && ! $this->validateType($value, $expectedType)) { - $errors[] = "Argument '{$key}' must be of type {$expectedType}"; - } - - // Validate enum values - if (isset($propSchema['enum']) && ! in_array($value, $propSchema['enum'], true)) { - $allowedValues = implode(', ', $propSchema['enum']); - $errors[] = "Argument '{$key}' must be one of: {$allowedValues}"; - } - - // Validate string constraints - if ($expectedType === 'string' && is_string($value)) { - if (isset($propSchema['minLength']) && strlen($value) < $propSchema['minLength']) { - $errors[] = "Argument '{$key}' must be at least {$propSchema['minLength']} characters"; - } - if (isset($propSchema['maxLength']) && strlen($value) > $propSchema['maxLength']) { - $errors[] = "Argument '{$key}' must be at most {$propSchema['maxLength']} characters"; - } - } - - // Validate numeric constraints - if (in_array($expectedType, ['integer', 'number']) && is_numeric($value)) { - if (isset($propSchema['minimum']) && $value < $propSchema['minimum']) { - $errors[] = "Argument '{$key}' must be at least {$propSchema['minimum']}"; - } - if (isset($propSchema['maximum']) && $value > $propSchema['maximum']) { - $errors[] = "Argument '{$key}' must be at most {$propSchema['maximum']}"; - } - } - } - - return $errors; - } - - /** - * Validate a value against a JSON Schema type. - */ - protected function validateType(mixed $value, string $type): bool - { - return match ($type) { - 'string' => is_string($value), - 'integer' => is_int($value) || (is_numeric($value) && floor((float) $value) == $value), - 'number' => is_numeric($value), - 'boolean' => is_bool($value), - 'array' => is_array($value) && array_is_list($value), - 'object' => is_array($value) && ! array_is_list($value), - 'null' => is_null($value), - default => true, // Unknown types pass validation - }; - } - - // Registry loading methods (shared with McpRegistryController) - - protected function loadRegistry(): array - { - return Cache::remember('mcp:registry', 600, function () { - $path = resource_path('mcp/registry.yaml'); - - return file_exists($path) ? Yaml::parseFile($path) : ['servers' => []]; - }); - } - - protected function loadServerFull(string $id): ?array - { - return Cache::remember("mcp:server:{$id}", 600, function () use ($id) { - $path = resource_path("mcp/servers/{$id}.yaml"); - - return file_exists($path) ? Yaml::parseFile($path) : null; - }); - } - - protected function loadServerSummary(string $id): ?array - { - $server = $this->loadServerFull($id); - if (! $server) { - return null; - } - - return [ - 'id' => $server['id'], - 'name' => $server['name'], - 'tagline' => $server['tagline'] ?? '', - 'status' => $server['status'] ?? 'available', - 'tool_count' => count($server['tools'] ?? []), - 'resource_count' => count($server['resources'] ?? []), - ]; - } - - /** - * Record quota usage for successful tool calls. - */ - protected function recordQuotaUsage($workspace): void - { - if (! $workspace) { - return; - } - - try { - $quotaService = app(McpQuotaService::class); - $quotaService->recordUsage($workspace, toolCalls: 1); - } catch (\Throwable $e) { - // Don't let quota recording failures affect API response - report($e); - } - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/DTO/ToolStats.php b/packages/core-mcp/src/Mod/Mcp/DTO/ToolStats.php deleted file mode 100644 index 01f8e50..0000000 --- a/packages/core-mcp/src/Mod/Mcp/DTO/ToolStats.php +++ /dev/null @@ -1,95 +0,0 @@ - $this->toolName, - 'total_calls' => $this->totalCalls, - 'error_count' => $this->errorCount, - 'error_rate' => $this->errorRate, - 'avg_duration_ms' => $this->avgDurationMs, - 'min_duration_ms' => $this->minDurationMs, - 'max_duration_ms' => $this->maxDurationMs, - ]; - } - - /** - * Get success rate as percentage. - */ - public function getSuccessRate(): float - { - return 100.0 - $this->errorRate; - } - - /** - * Get average duration formatted for display. - */ - public function getAvgDurationForHumans(): string - { - if ($this->avgDurationMs === 0.0) { - return '-'; - } - - if ($this->avgDurationMs < 1000) { - return round($this->avgDurationMs).'ms'; - } - - return round($this->avgDurationMs / 1000, 2).'s'; - } - - /** - * Check if the tool has a high error rate (above threshold). - */ - public function hasHighErrorRate(float $threshold = 10.0): bool - { - return $this->errorRate > $threshold; - } - - /** - * Check if the tool has slow response times (above threshold in ms). - */ - public function isSlowResponding(int $thresholdMs = 5000): bool - { - return $this->avgDurationMs > $thresholdMs; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Database/Seeders/SensitiveToolSeeder.php b/packages/core-mcp/src/Mod/Mcp/Database/Seeders/SensitiveToolSeeder.php deleted file mode 100644 index 4ce6f8e..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Database/Seeders/SensitiveToolSeeder.php +++ /dev/null @@ -1,130 +0,0 @@ - 'query_database', - 'reason' => 'Direct database access - may expose sensitive data', - 'redact_fields' => ['password', 'email', 'phone', 'address', 'ssn'], - 'require_explicit_consent' => false, - ], - - // User management - [ - 'tool_name' => 'create_user', - 'reason' => 'User account creation - security sensitive', - 'redact_fields' => ['password', 'secret'], - 'require_explicit_consent' => true, - ], - [ - 'tool_name' => 'update_user', - 'reason' => 'User account modification - security sensitive', - 'redact_fields' => ['password', 'secret', 'email'], - 'require_explicit_consent' => true, - ], - [ - 'tool_name' => 'delete_user', - 'reason' => 'User account deletion - irreversible operation', - 'redact_fields' => [], - 'require_explicit_consent' => true, - ], - - // API key management - [ - 'tool_name' => 'create_api_key', - 'reason' => 'API key creation - security credential', - 'redact_fields' => ['key', 'secret', 'token'], - 'require_explicit_consent' => true, - ], - [ - 'tool_name' => 'revoke_api_key', - 'reason' => 'API key revocation - access control', - 'redact_fields' => [], - 'require_explicit_consent' => true, - ], - - // Billing and financial - [ - 'tool_name' => 'upgrade_plan', - 'reason' => 'Plan upgrade - financial impact', - 'redact_fields' => ['card_number', 'cvv', 'payment_method'], - 'require_explicit_consent' => true, - ], - [ - 'tool_name' => 'create_coupon', - 'reason' => 'Coupon creation - financial impact', - 'redact_fields' => [], - 'require_explicit_consent' => false, - ], - [ - 'tool_name' => 'process_refund', - 'reason' => 'Refund processing - financial transaction', - 'redact_fields' => ['card_number', 'bank_account'], - 'require_explicit_consent' => true, - ], - - // Content operations - [ - 'tool_name' => 'delete_content', - 'reason' => 'Content deletion - irreversible data loss', - 'redact_fields' => [], - 'require_explicit_consent' => true, - ], - [ - 'tool_name' => 'publish_content', - 'reason' => 'Public content publishing - visibility impact', - 'redact_fields' => [], - 'require_explicit_consent' => false, - ], - - // System configuration - [ - 'tool_name' => 'update_config', - 'reason' => 'System configuration change - affects application behaviour', - 'redact_fields' => ['api_key', 'secret', 'password'], - 'require_explicit_consent' => true, - ], - - // Webhook management - [ - 'tool_name' => 'create_webhook', - 'reason' => 'External webhook creation - data exfiltration risk', - 'redact_fields' => ['secret', 'token'], - 'require_explicit_consent' => true, - ], - ]; - - foreach ($sensitiveTools as $tool) { - McpSensitiveTool::updateOrCreate( - ['tool_name' => $tool['tool_name']], - [ - 'reason' => $tool['reason'], - 'redact_fields' => $tool['redact_fields'], - 'require_explicit_consent' => $tool['require_explicit_consent'], - ] - ); - } - - $this->command->info('Registered '.count($sensitiveTools).' sensitive tool definitions.'); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Dependencies/DependencyType.php b/packages/core-mcp/src/Mod/Mcp/Dependencies/DependencyType.php deleted file mode 100644 index 78cc407..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Dependencies/DependencyType.php +++ /dev/null @@ -1,57 +0,0 @@ - 'Tool must be called first', - self::SESSION_STATE => 'Session state required', - self::CONTEXT_EXISTS => 'Context value required', - self::ENTITY_EXISTS => 'Entity must exist', - self::CUSTOM => 'Custom condition', - }; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Dependencies/HasDependencies.php b/packages/core-mcp/src/Mod/Mcp/Dependencies/HasDependencies.php deleted file mode 100644 index 692fcfc..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Dependencies/HasDependencies.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ - public function dependencies(): array; -} diff --git a/packages/core-mcp/src/Mod/Mcp/Dependencies/ToolDependency.php b/packages/core-mcp/src/Mod/Mcp/Dependencies/ToolDependency.php deleted file mode 100644 index 69ff64d..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Dependencies/ToolDependency.php +++ /dev/null @@ -1,134 +0,0 @@ -type, - key: $this->key, - description: $this->description, - optional: true, - metadata: $this->metadata, - ); - } - - /** - * Convert to array representation. - */ - public function toArray(): array - { - return [ - 'type' => $this->type->value, - 'key' => $this->key, - 'description' => $this->description, - 'optional' => $this->optional, - 'metadata' => $this->metadata, - ]; - } - - /** - * Create from array representation. - */ - public static function fromArray(array $data): self - { - return new self( - type: DependencyType::from($data['type']), - key: $data['key'], - description: $data['description'] ?? null, - optional: $data['optional'] ?? false, - metadata: $data['metadata'] ?? [], - ); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Events/ToolExecuted.php b/packages/core-mcp/src/Mod/Mcp/Events/ToolExecuted.php deleted file mode 100644 index 5c3ce77..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Events/ToolExecuted.php +++ /dev/null @@ -1,114 +0,0 @@ -toolName; - } - - /** - * Get the duration in milliseconds. - */ - public function getDurationMs(): int - { - return $this->durationMs; - } - - /** - * Check if the execution was successful. - */ - public function wasSuccessful(): bool - { - return $this->success; - } - - /** - * Get the workspace ID. - */ - public function getWorkspaceId(): ?string - { - return $this->workspaceId; - } - - /** - * Get the session ID. - */ - public function getSessionId(): ?string - { - return $this->sessionId; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Exceptions/CircuitOpenException.php b/packages/core-mcp/src/Mod/Mcp/Exceptions/CircuitOpenException.php deleted file mode 100644 index 779b065..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Exceptions/CircuitOpenException.php +++ /dev/null @@ -1,27 +0,0 @@ - $missingDependencies List of unmet dependencies - * @param array $suggestedOrder Suggested tools to call first - */ - public function __construct( - public readonly string $toolName, - public readonly array $missingDependencies, - public readonly array $suggestedOrder = [], - ) { - $message = $this->buildMessage(); - parent::__construct($message); - } - - /** - * Build a user-friendly error message. - */ - protected function buildMessage(): string - { - $missing = array_map( - fn (ToolDependency $dep) => "- {$dep->description}", - $this->missingDependencies - ); - - $message = "Cannot execute '{$this->toolName}': prerequisites not met.\n\n"; - $message .= "Missing:\n".implode("\n", $missing); - - if (! empty($this->suggestedOrder)) { - $message .= "\n\nSuggested order:\n"; - foreach ($this->suggestedOrder as $i => $tool) { - $message .= sprintf(" %d. %s\n", $i + 1, $tool); - } - } - - return $message; - } - - /** - * Get a structured error response for API output. - */ - public function toApiResponse(): array - { - return [ - 'error' => 'dependency_not_met', - 'message' => "Cannot execute '{$this->toolName}': prerequisites not met", - 'tool' => $this->toolName, - 'missing_dependencies' => array_map( - fn (ToolDependency $dep) => $dep->toArray(), - $this->missingDependencies - ), - 'suggested_order' => $this->suggestedOrder, - 'help' => $this->getHelpText(), - ]; - } - - /** - * Get help text explaining how to resolve the issue. - */ - protected function getHelpText(): string - { - if (empty($this->suggestedOrder)) { - return 'Ensure all required dependencies are satisfied before calling this tool.'; - } - - return sprintf( - 'Call these tools in order before attempting %s: %s', - $this->toolName, - implode(' -> ', $this->suggestedOrder) - ); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Exceptions/MissingWorkspaceContextException.php b/packages/core-mcp/src/Mod/Mcp/Exceptions/MissingWorkspaceContextException.php deleted file mode 100644 index 0ff33ed..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Exceptions/MissingWorkspaceContextException.php +++ /dev/null @@ -1,45 +0,0 @@ - [ - 'title' => 'API Keys', - 'description' => 'Create API keys to authenticate HTTP requests to MCP servers.', - 'empty' => [ - 'title' => 'No API Keys Yet', - 'description' => 'Create an API key to start making authenticated requests to MCP servers over HTTP.', - ], - 'actions' => [ - 'create' => 'Create Key', - 'create_first' => 'Create Your First Key', - 'revoke' => 'Revoke', - ], - 'table' => [ - 'name' => 'Name', - 'key' => 'Key', - 'scopes' => 'Scopes', - 'last_used' => 'Last Used', - 'expires' => 'Expires', - 'actions' => 'Actions', - ], - 'status' => [ - 'expired' => 'Expired', - 'never' => 'Never', - ], - 'confirm_revoke' => 'Are you sure you want to revoke this API key? This cannot be undone.', - - // Authentication section - 'auth' => [ - 'title' => 'Authentication', - 'description' => 'Include your API key in HTTP requests using one of these methods:', - 'header_recommended' => 'Authorization Header (recommended)', - 'header_api_key' => 'X-API-Key Header', - ], - - // Example section - 'example' => [ - 'title' => 'Example Request', - 'description' => 'Call an MCP tool via HTTP POST:', - ], - - // Create modal - 'create_modal' => [ - 'title' => 'Create API Key', - 'name_label' => 'Key Name', - 'name_placeholder' => 'e.g., Production Server, Claude Agent', - 'permissions_label' => 'Permissions', - 'permission_read' => 'Read - Query tools and resources', - 'permission_write' => 'Write - Create and update data', - 'permission_delete' => 'Delete - Remove data', - 'expiry_label' => 'Expiration', - 'expiry_never' => 'Never expires', - 'expiry_30' => '30 days', - 'expiry_90' => '90 days', - 'expiry_1year' => '1 year', - 'cancel' => 'Cancel', - 'create' => 'Create Key', - ], - - // New key modal - 'new_key_modal' => [ - 'title' => 'API Key Created', - 'warning' => 'Copy this key now.', - 'warning_detail' => "You won't be able to see it again.", - 'done' => 'Done', - ], - ], - - // Request Log - 'logs' => [ - 'title' => 'Request Log', - 'description' => 'View API requests and generate curl commands to replay them.', - 'filters' => [ - 'server' => 'Server', - 'status' => 'Status', - 'all_servers' => 'All servers', - 'all' => 'All', - 'success' => 'Success', - 'failed' => 'Failed', - ], - 'empty' => 'No requests found.', - 'detail' => [ - 'title' => 'Request Detail', - 'status' => 'Status', - 'request' => 'Request', - 'response' => 'Response', - 'error' => 'Error', - 'replay_command' => 'Replay Command', - 'copy' => 'Copy', - 'copied' => 'Copied', - 'metadata' => [ - 'request_id' => 'Request ID', - 'duration' => 'Duration', - 'ip' => 'IP', - 'time' => 'Time', - ], - ], - 'empty_detail' => 'Select a request to view details and generate replay commands.', - 'status_ok' => 'OK', - 'status_error' => 'Error', - ], - - // Playground - 'playground' => [ - 'title' => 'Playground', - 'description' => 'Test MCP tools interactively and execute requests live.', - - // Authentication section - 'auth' => [ - 'title' => 'Authentication', - 'api_key_label' => 'API Key', - 'api_key_placeholder' => 'hk_xxxxxxxx_xxxxxxxxxxxx...', - 'api_key_description' => 'Paste your API key to execute requests live', - 'validate' => 'Validate Key', - 'status' => [ - 'valid' => 'Valid', - 'invalid' => 'Invalid key', - 'expired' => 'Expired', - 'empty' => 'Enter a key to validate', - ], - 'key_info' => [ - 'name' => 'Name', - 'workspace' => 'Workspace', - 'scopes' => 'Scopes', - 'last_used' => 'Last used', - ], - 'sign_in_prompt' => 'Sign in', - 'sign_in_description' => 'to create API keys, or paste an existing key above.', - ], - - // Tool selection section - 'tools' => [ - 'title' => 'Select Tool', - 'server_label' => 'Server', - 'server_placeholder' => 'Choose a server...', - 'tool_label' => 'Tool', - 'tool_placeholder' => 'Choose a tool...', - 'arguments' => 'Arguments', - 'no_arguments' => 'This tool has no arguments.', - 'execute' => 'Execute Request', - 'generate' => 'Generate Request', - 'executing' => 'Executing...', - ], - - // Response section - 'response' => [ - 'title' => 'Response', - 'copy' => 'Copy', - 'copied' => 'Copied', - 'empty' => 'Select a server and tool to get started.', - ], - - // API Reference section - 'reference' => [ - 'title' => 'API Reference', - 'endpoint' => 'Endpoint', - 'method' => 'Method', - 'auth' => 'Auth', - 'content_type' => 'Content-Type', - 'manage_keys' => 'Manage API Keys', - ], - ], - - // Common - 'common' => [ - 'na' => 'N/A', - ], -]; diff --git a/packages/core-mcp/src/Mod/Mcp/Listeners/RecordToolExecution.php b/packages/core-mcp/src/Mod/Mcp/Listeners/RecordToolExecution.php deleted file mode 100644 index 25e09b9..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Listeners/RecordToolExecution.php +++ /dev/null @@ -1,164 +0,0 @@ -getToolName($event); - $durationMs = $this->getDuration($event); - $success = $this->wasSuccessful($event); - $workspaceId = $this->getWorkspaceId($event); - $sessionId = $this->getSessionId($event); - - if ($toolName === null || $durationMs === null) { - return; - } - - $this->analyticsService->recordExecution( - tool: $toolName, - durationMs: $durationMs, - success: $success, - workspaceId: $workspaceId, - sessionId: $sessionId - ); - } - - /** - * Extract tool name from the event. - */ - protected function getToolName(object $event): ?string - { - // Support multiple event structures - if (property_exists($event, 'toolName')) { - return $event->toolName; - } - - if (property_exists($event, 'tool_name')) { - return $event->tool_name; - } - - if (property_exists($event, 'tool')) { - return is_string($event->tool) ? $event->tool : $event->tool->getName(); - } - - if (method_exists($event, 'getToolName')) { - return $event->getToolName(); - } - - return null; - } - - /** - * Extract duration from the event. - */ - protected function getDuration(object $event): ?int - { - if (property_exists($event, 'durationMs')) { - return (int) $event->durationMs; - } - - if (property_exists($event, 'duration_ms')) { - return (int) $event->duration_ms; - } - - if (property_exists($event, 'duration')) { - return (int) $event->duration; - } - - if (method_exists($event, 'getDurationMs')) { - return $event->getDurationMs(); - } - - return null; - } - - /** - * Determine if the execution was successful. - */ - protected function wasSuccessful(object $event): bool - { - if (property_exists($event, 'success')) { - return (bool) $event->success; - } - - if (property_exists($event, 'error')) { - return $event->error === null; - } - - if (property_exists($event, 'exception')) { - return $event->exception === null; - } - - if (method_exists($event, 'wasSuccessful')) { - return $event->wasSuccessful(); - } - - return true; // Assume success if no indicator - } - - /** - * Extract workspace ID from the event. - */ - protected function getWorkspaceId(object $event): ?string - { - if (property_exists($event, 'workspaceId')) { - return $event->workspaceId; - } - - if (property_exists($event, 'workspace_id')) { - return $event->workspace_id; - } - - if (method_exists($event, 'getWorkspaceId')) { - return $event->getWorkspaceId(); - } - - return null; - } - - /** - * Extract session ID from the event. - */ - protected function getSessionId(object $event): ?string - { - if (property_exists($event, 'sessionId')) { - return $event->sessionId; - } - - if (property_exists($event, 'session_id')) { - return $event->session_id; - } - - if (method_exists($event, 'getSessionId')) { - return $event->getSessionId(); - } - - return null; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Middleware/CheckMcpQuota.php b/packages/core-mcp/src/Mod/Mcp/Middleware/CheckMcpQuota.php deleted file mode 100644 index e370220..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Middleware/CheckMcpQuota.php +++ /dev/null @@ -1,89 +0,0 @@ -attributes->get('workspace'); - - // No workspace context = skip quota check (other middleware handles auth) - if (! $workspace) { - return $next($request); - } - - // Check quota - $quotaCheck = $this->quotaService->checkQuotaDetailed($workspace); - - if (! $quotaCheck['allowed']) { - return $this->quotaExceededResponse($quotaCheck, $workspace); - } - - // Process request - $response = $next($request); - - // Add quota headers to response - $this->addQuotaHeaders($response, $workspace); - - return $response; - } - - /** - * Build quota exceeded error response. - */ - protected function quotaExceededResponse(array $quotaCheck, $workspace): Response - { - $headers = $this->quotaService->getQuotaHeaders($workspace); - - $errorData = [ - 'error' => 'quota_exceeded', - 'message' => $quotaCheck['reason'] ?? 'Monthly quota exceeded', - 'quota' => [ - 'tool_calls' => [ - 'used' => $quotaCheck['tool_calls']['used'] ?? 0, - 'limit' => $quotaCheck['tool_calls']['limit'], - 'unlimited' => $quotaCheck['tool_calls']['unlimited'] ?? false, - ], - 'tokens' => [ - 'used' => $quotaCheck['tokens']['used'] ?? 0, - 'limit' => $quotaCheck['tokens']['limit'], - 'unlimited' => $quotaCheck['tokens']['unlimited'] ?? false, - ], - 'resets_at' => now()->endOfMonth()->toIso8601String(), - ], - 'upgrade_hint' => 'Upgrade your plan to increase MCP quota limits.', - ]; - - return response()->json($errorData, 429, $headers); - } - - /** - * Add quota headers to response. - */ - protected function addQuotaHeaders(Response $response, $workspace): void - { - $headers = $this->quotaService->getQuotaHeaders($workspace); - - foreach ($headers as $name => $value) { - $response->headers->set($name, $value); - } - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Middleware/McpApiKeyAuth.php b/packages/core-mcp/src/Mod/Mcp/Middleware/McpApiKeyAuth.php deleted file mode 100644 index 96150b3..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Middleware/McpApiKeyAuth.php +++ /dev/null @@ -1,85 +0,0 @@ -extractKey($request); - - if (! $key) { - return response()->json([ - 'error' => 'Missing API key', - 'hint' => 'Provide via Authorization: Bearer or X-API-Key header', - ], 401); - } - - $apiKey = ApiKey::findByPlainKey($key); - - if (! $apiKey) { - return response()->json([ - 'error' => 'Invalid API key', - ], 401); - } - - if ($apiKey->isExpired()) { - return response()->json([ - 'error' => 'API key has expired', - ], 401); - } - - // Check server-level access for tool calls - if ($request->is('*/tools/call') && $request->isMethod('POST')) { - $serverId = $request->input('server'); - if ($serverId && ! $apiKey->hasServerAccess($serverId)) { - return response()->json([ - 'error' => 'Access denied to server: '.$serverId, - 'allowed_servers' => $apiKey->getAllowedServers(), - ], 403); - } - } - - // Record usage - $apiKey->recordUsage(); - - // Attach to request for controller access - $request->attributes->set('api_key', $apiKey); - $request->attributes->set('workspace', $apiKey->workspace); - - return $next($request); - } - - protected function extractKey(Request $request): ?string - { - // Try Authorization: Bearer - $authHeader = $request->header('Authorization'); - if ($authHeader && str_starts_with($authHeader, 'Bearer ')) { - return substr($authHeader, 7); - } - - // Try X-API-Key - $apiKeyHeader = $request->header('X-API-Key'); - if ($apiKeyHeader) { - return $apiKeyHeader; - } - - return null; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Middleware/McpAuthenticate.php b/packages/core-mcp/src/Mod/Mcp/Middleware/McpAuthenticate.php deleted file mode 100644 index a4264af..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Middleware/McpAuthenticate.php +++ /dev/null @@ -1,102 +0,0 @@ -authenticateByApiKey($request); - - // Fall back to session auth - if (! $workspace && $request->user()) { - $user = $request->user(); - if (method_exists($user, 'defaultHostWorkspace')) { - $workspace = $user->defaultHostWorkspace(); - } - } - - // Store workspace for downstream use - if ($workspace) { - $request->attributes->set('mcp_workspace', $workspace); - - // Check MCP access entitlement - $result = $this->entitlementService->can($workspace, 'mcp.access'); - $request->attributes->set('mcp_entitlement', $result); - } - - // For 'required' level, must have workspace - if ($level === 'required' && ! $workspace) { - return $this->unauthenticatedResponse($request); - } - - return $next($request); - } - - /** - * Authenticate using API key from header or query. - */ - protected function authenticateByApiKey(Request $request): ?Workspace - { - $apiKey = $request->header('X-API-Key') - ?? $request->header('Authorization') - ?? $request->query('api_key'); - - if (! $apiKey) { - return null; - } - - // Strip 'Bearer ' prefix if present - if (str_starts_with($apiKey, 'Bearer ')) { - $apiKey = substr($apiKey, 7); - } - - // Look up workspace by API key - return Workspace::whereHas('apiKeys', function ($query) use ($apiKey) { - $query->where('key', hash('sha256', $apiKey)) - ->where(function ($q) { - $q->whereNull('expires_at') - ->orWhere('expires_at', '>', now()); - }); - })->first(); - } - - /** - * Return unauthenticated response. - */ - protected function unauthenticatedResponse(Request $request): Response - { - if ($request->expectsJson() || $request->is('api/*')) { - return response()->json([ - 'error' => 'unauthenticated', - 'message' => 'Authentication required. Provide an API key or sign in.', - ], 401); - } - - return redirect()->guest(route('login')); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Middleware/ValidateToolDependencies.php b/packages/core-mcp/src/Mod/Mcp/Middleware/ValidateToolDependencies.php deleted file mode 100644 index 8992a27..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Middleware/ValidateToolDependencies.php +++ /dev/null @@ -1,146 +0,0 @@ -isToolCallRequest($request)) { - return $next($request); - } - - $toolName = $this->extractToolName($request); - $sessionId = $this->extractSessionId($request); - $context = $this->extractContext($request); - $args = $this->extractArguments($request); - - if (! $toolName || ! $sessionId) { - return $next($request); - } - - try { - $this->dependencyService->validateDependencies($sessionId, $toolName, $context, $args); - } catch (MissingDependencyException $e) { - return $this->buildErrorResponse($e); - } - - // Record the tool call after successful execution - $response = $next($request); - - // Only record on success - if ($response instanceof JsonResponse && $this->isSuccessResponse($response)) { - $this->dependencyService->recordToolCall($sessionId, $toolName, $args); - } - - return $response; - } - - /** - * Check if this is a tool call request. - */ - protected function isToolCallRequest(Request $request): bool - { - return $request->is('*/tools/call') || $request->is('api/*/mcp/tools/call'); - } - - /** - * Extract the tool name from the request. - */ - protected function extractToolName(Request $request): ?string - { - return $request->input('tool') ?? $request->input('name'); - } - - /** - * Extract the session ID from the request. - */ - protected function extractSessionId(Request $request): ?string - { - // Try various locations where session ID might be - return $request->input('session_id') - ?? $request->input('arguments.session_id') - ?? $request->header('X-MCP-Session-ID') - ?? $request->attributes->get('session_id'); - } - - /** - * Extract context from the request. - */ - protected function extractContext(Request $request): array - { - $context = []; - - // Get API key context - $apiKey = $request->attributes->get('api_key'); - if ($apiKey) { - $context['workspace_id'] = $apiKey->workspace_id; - } - - // Get explicit context from request - $requestContext = $request->input('context', []); - if (is_array($requestContext)) { - $context = array_merge($context, $requestContext); - } - - // Get session ID - $sessionId = $this->extractSessionId($request); - if ($sessionId) { - $context['session_id'] = $sessionId; - } - - return $context; - } - - /** - * Extract tool arguments from the request. - */ - protected function extractArguments(Request $request): array - { - return $request->input('arguments', []) ?? []; - } - - /** - * Check if response indicates success. - */ - protected function isSuccessResponse(JsonResponse $response): bool - { - if ($response->getStatusCode() >= 400) { - return false; - } - - $data = $response->getData(true); - - return ($data['success'] ?? true) !== false; - } - - /** - * Build error response for missing dependencies. - */ - protected function buildErrorResponse(MissingDependencyException $e): JsonResponse - { - return response()->json($e->toApiResponse(), 422); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Middleware/ValidateWorkspaceContext.php b/packages/core-mcp/src/Mod/Mcp/Middleware/ValidateWorkspaceContext.php deleted file mode 100644 index 40d71a8..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Middleware/ValidateWorkspaceContext.php +++ /dev/null @@ -1,91 +0,0 @@ -attributes->get('mcp_workspace'); - - if ($workspace) { - // Create workspace context and store it - $context = WorkspaceContext::fromWorkspace($workspace); - $request->attributes->set('mcp_workspace_context', $context); - - return $next($request); - } - - // Try to get workspace from API key - $apiKey = $request->attributes->get('api_key'); - if ($apiKey?->workspace_id) { - $context = new WorkspaceContext( - workspaceId: $apiKey->workspace_id, - workspace: $apiKey->workspace, - ); - $request->attributes->set('mcp_workspace_context', $context); - - return $next($request); - } - - // Try authenticated user's default workspace - $user = $request->user(); - if ($user && method_exists($user, 'defaultHostWorkspace')) { - $workspace = $user->defaultHostWorkspace(); - if ($workspace) { - $context = WorkspaceContext::fromWorkspace($workspace); - $request->attributes->set('mcp_workspace_context', $context); - - return $next($request); - } - } - - // If mode is 'required', reject the request - if ($mode === 'required') { - return $this->missingContextResponse($request); - } - - // Mode is 'optional', continue without context - return $next($request); - } - - /** - * Return response for missing workspace context. - */ - protected function missingContextResponse(Request $request): Response - { - $exception = new MissingWorkspaceContextException('MCP API'); - - if ($request->expectsJson() || $request->is('api/*')) { - return response()->json([ - 'error' => $exception->getErrorType(), - 'message' => $exception->getMessage(), - ], $exception->getStatusCode()); - } - - return response($exception->getMessage(), $exception->getStatusCode()); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_07_004936_create_mcp_api_requests_table.php b/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_07_004936_create_mcp_api_requests_table.php deleted file mode 100644 index 76cc9fa..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_07_004936_create_mcp_api_requests_table.php +++ /dev/null @@ -1,40 +0,0 @@ -id(); - $table->string('request_id', 32)->unique(); - $table->foreignId('workspace_id')->nullable()->constrained('workspaces')->nullOnDelete(); - $table->foreignId('api_key_id')->nullable()->constrained('api_keys')->nullOnDelete(); - $table->string('method', 10); - $table->string('path', 255); - $table->json('headers')->nullable(); - $table->json('request_body')->nullable(); - $table->unsignedSmallInteger('response_status'); - $table->json('response_body')->nullable(); - $table->unsignedInteger('duration_ms')->default(0); - $table->string('server_id', 64)->nullable(); - $table->string('tool_name', 128)->nullable(); - $table->text('error_message')->nullable(); - $table->string('ip_address', 45)->nullable(); - $table->timestamps(); - - $table->index(['workspace_id', 'created_at']); - $table->index(['server_id', 'tool_name']); - $table->index('created_at'); - $table->index('response_status'); - }); - } - - public function down(): void - { - Schema::dropIfExists('mcp_api_requests'); - } -}; diff --git a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000001_create_mcp_tool_metrics_table.php b/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000001_create_mcp_tool_metrics_table.php deleted file mode 100644 index d31a179..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000001_create_mcp_tool_metrics_table.php +++ /dev/null @@ -1,48 +0,0 @@ -id(); - $table->string('tool_name'); - $table->string('workspace_id')->nullable(); - $table->unsignedInteger('call_count')->default(0); - $table->unsignedInteger('error_count')->default(0); - $table->unsignedInteger('total_duration_ms')->default(0); - $table->unsignedInteger('min_duration_ms')->nullable(); - $table->unsignedInteger('max_duration_ms')->nullable(); - $table->date('date'); - $table->timestamps(); - - $table->unique(['tool_name', 'workspace_id', 'date']); - $table->index(['date', 'tool_name']); - $table->index('workspace_id'); - }); - - // Table for tracking tool combinations (tools used together in sessions) - Schema::create('mcp_tool_combinations', function (Blueprint $table) { - $table->id(); - $table->string('tool_a'); - $table->string('tool_b'); - $table->string('workspace_id')->nullable(); - $table->unsignedInteger('occurrence_count')->default(0); - $table->date('date'); - $table->timestamps(); - - $table->unique(['tool_a', 'tool_b', 'workspace_id', 'date']); - $table->index(['date', 'occurrence_count']); - }); - } - - public function down(): void - { - Schema::dropIfExists('mcp_tool_combinations'); - Schema::dropIfExists('mcp_tool_metrics'); - } -}; diff --git a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000002_create_mcp_usage_quotas_table.php b/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000002_create_mcp_usage_quotas_table.php deleted file mode 100644 index f3f2180..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000002_create_mcp_usage_quotas_table.php +++ /dev/null @@ -1,29 +0,0 @@ -id(); - $table->foreignId('workspace_id')->constrained('workspaces')->cascadeOnDelete(); - $table->string('month', 7); // YYYY-MM format - $table->unsignedBigInteger('tool_calls_count')->default(0); - $table->unsignedBigInteger('input_tokens')->default(0); - $table->unsignedBigInteger('output_tokens')->default(0); - $table->timestamps(); - - $table->unique(['workspace_id', 'month']); - $table->index('month'); - }); - } - - public function down(): void - { - Schema::dropIfExists('mcp_usage_quotas'); - } -}; diff --git a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000003_create_mcp_audit_logs_table.php b/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000003_create_mcp_audit_logs_table.php deleted file mode 100644 index 0520748..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000003_create_mcp_audit_logs_table.php +++ /dev/null @@ -1,78 +0,0 @@ -id(); - - // Tool execution details - $table->string('server_id')->index(); - $table->string('tool_name')->index(); - $table->unsignedBigInteger('workspace_id')->nullable()->index(); - $table->string('session_id')->nullable()->index(); - - // Input/output (stored as JSON, may be redacted) - $table->json('input_params')->nullable(); - $table->json('output_summary')->nullable(); - $table->boolean('success')->default(true); - $table->unsignedInteger('duration_ms')->nullable(); - $table->string('error_code')->nullable(); - $table->text('error_message')->nullable(); - - // Actor information - $table->string('actor_type')->nullable(); // user, api_key, system - $table->unsignedBigInteger('actor_id')->nullable(); - $table->string('actor_ip', 45)->nullable(); // IPv4 or IPv6 - - // Sensitive tool flagging - $table->boolean('is_sensitive')->default(false)->index(); - $table->string('sensitivity_reason')->nullable(); - - // Hash chain for tamper detection - $table->string('previous_hash', 64)->nullable(); // SHA-256 of previous entry - $table->string('entry_hash', 64)->index(); // SHA-256 of this entry - - // Agent context - $table->string('agent_type')->nullable(); - $table->string('plan_slug')->nullable(); - - // Timestamps (immutable - no updated_at updates after creation) - $table->timestamp('created_at')->useCurrent(); - $table->timestamp('updated_at')->nullable(); - - // Foreign key constraint - $table->foreign('workspace_id') - ->references('id') - ->on('workspaces') - ->nullOnDelete(); - - // Composite indexes for common queries - $table->index(['workspace_id', 'created_at']); - $table->index(['tool_name', 'created_at']); - $table->index(['is_sensitive', 'created_at']); - $table->index(['actor_type', 'actor_id']); - }); - - // Table for tracking sensitive tool definitions - Schema::create('mcp_sensitive_tools', function (Blueprint $table) { - $table->id(); - $table->string('tool_name')->unique(); - $table->string('reason'); - $table->json('redact_fields')->nullable(); // Fields to redact in audit logs - $table->boolean('require_explicit_consent')->default(false); - $table->timestamps(); - }); - } - - public function down(): void - { - Schema::dropIfExists('mcp_sensitive_tools'); - Schema::dropIfExists('mcp_audit_logs'); - } -}; diff --git a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000004_create_mcp_tool_versions_table.php b/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000004_create_mcp_tool_versions_table.php deleted file mode 100644 index 9248f62..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Migrations/2026_01_26_000004_create_mcp_tool_versions_table.php +++ /dev/null @@ -1,41 +0,0 @@ -id(); - $table->string('server_id', 64)->index(); - $table->string('tool_name', 128); - $table->string('version', 32); // semver: 1.0.0, 2.1.0-beta, etc. - $table->json('input_schema')->nullable(); - $table->json('output_schema')->nullable(); - $table->text('description')->nullable(); - $table->text('changelog')->nullable(); - $table->text('migration_notes')->nullable(); // guidance for upgrading from previous version - $table->boolean('is_latest')->default(false); - $table->timestamp('deprecated_at')->nullable(); - $table->timestamp('sunset_at')->nullable(); // after this date, version is blocked - $table->timestamps(); - - // Unique constraint: one version per tool per server - $table->unique(['server_id', 'tool_name', 'version'], 'mcp_tool_versions_unique'); - - // Index for finding latest versions - $table->index(['server_id', 'tool_name', 'is_latest'], 'mcp_tool_versions_latest'); - - // Index for finding deprecated/sunset versions - $table->index(['deprecated_at', 'sunset_at'], 'mcp_tool_versions_lifecycle'); - }); - } - - public function down(): void - { - Schema::dropIfExists('mcp_tool_versions'); - } -}; diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpApiRequest.php b/packages/core-mcp/src/Mod/Mcp/Models/McpApiRequest.php deleted file mode 100644 index bdacb4c..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpApiRequest.php +++ /dev/null @@ -1,176 +0,0 @@ - 'array', - 'request_body' => 'array', - 'response_body' => 'array', - 'duration_ms' => 'integer', - 'response_status' => 'integer', - ]; - - /** - * Log an API request. - */ - public static function log( - string $method, - string $path, - array $requestBody, - int $responseStatus, - ?array $responseBody = null, - int $durationMs = 0, - ?int $workspaceId = null, - ?int $apiKeyId = null, - ?string $serverId = null, - ?string $toolName = null, - ?string $errorMessage = null, - ?string $ipAddress = null, - array $headers = [] - ): self { - // Sanitise headers - remove sensitive info - $sanitisedHeaders = collect($headers) - ->except(['authorization', 'x-api-key', 'cookie']) - ->toArray(); - - return static::create([ - 'request_id' => 'req_'.Str::random(20), - 'workspace_id' => $workspaceId, - 'api_key_id' => $apiKeyId, - 'method' => $method, - 'path' => $path, - 'headers' => $sanitisedHeaders, - 'request_body' => $requestBody, - 'response_status' => $responseStatus, - 'response_body' => $responseBody, - 'duration_ms' => $durationMs, - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'error_message' => $errorMessage, - 'ip_address' => $ipAddress, - ]); - } - - /** - * Generate curl command to replay this request. - */ - public function toCurl(string $apiKey = 'YOUR_API_KEY'): string - { - $url = config('app.url').'/api/v1/mcp'.$this->path; - - $curl = "curl -X {$this->method} \"{$url}\""; - $curl .= " \\\n -H \"Authorization: Bearer {$apiKey}\""; - $curl .= " \\\n -H \"Content-Type: application/json\""; - - if (! empty($this->request_body)) { - $curl .= " \\\n -d '".json_encode($this->request_body)."'"; - } - - return $curl; - } - - /** - * Get duration formatted for humans. - */ - public function getDurationForHumansAttribute(): string - { - if ($this->duration_ms < 1000) { - return $this->duration_ms.'ms'; - } - - return round($this->duration_ms / 1000, 2).'s'; - } - - /** - * Check if request was successful. - */ - public function isSuccessful(): bool - { - return $this->response_status >= 200 && $this->response_status < 300; - } - - // Relationships - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // Scopes - public function scopeForWorkspace(Builder $query, int $workspaceId): Builder - { - return $query->where('workspace_id', $workspaceId); - } - - public function scopeForServer(Builder $query, string $serverId): Builder - { - return $query->where('server_id', $serverId); - } - - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - public function scopeFailed(Builder $query): Builder - { - return $query->where('response_status', '>=', 400); - } - - public function scopeSuccessful(Builder $query): Builder - { - return $query->whereBetween('response_status', [200, 299]); - } - - public function scopeRecent(Builder $query, int $hours = 24): Builder - { - return $query->where('created_at', '>=', now()->subHours($hours)); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpAuditLog.php b/packages/core-mcp/src/Mod/Mcp/Models/McpAuditLog.php deleted file mode 100644 index ecf3e7a..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpAuditLog.php +++ /dev/null @@ -1,383 +0,0 @@ - 'array', - 'output_summary' => 'array', - 'success' => 'boolean', - 'duration_ms' => 'integer', - 'actor_id' => 'integer', - 'is_sensitive' => 'boolean', - 'created_at' => 'datetime', - ]; - - /** - * Boot the model. - */ - protected static function boot(): void - { - parent::boot(); - - // Prevent updates to maintain immutability - static::updating(function (self $model) { - // Allow only specific fields to be updated (for soft operations) - $allowedChanges = ['updated_at']; - $changes = array_keys($model->getDirty()); - - foreach ($changes as $change) { - if (! in_array($change, $allowedChanges)) { - throw new \RuntimeException( - 'Audit log entries are immutable. Cannot modify: '.$change - ); - } - } - }); - - // Prevent deletion - static::deleting(function () { - throw new \RuntimeException( - 'Audit log entries cannot be deleted. They are immutable for compliance purposes.' - ); - }); - } - - // ------------------------------------------------------------------------- - // Relationships - // ------------------------------------------------------------------------- - - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // ------------------------------------------------------------------------- - // Scopes - // ------------------------------------------------------------------------- - - /** - * Filter by server. - */ - public function scopeForServer(Builder $query, string $serverId): Builder - { - return $query->where('server_id', $serverId); - } - - /** - * Filter by tool name. - */ - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - /** - * Filter by session. - */ - public function scopeForSession(Builder $query, string $sessionId): Builder - { - return $query->where('session_id', $sessionId); - } - - /** - * Filter successful calls. - */ - public function scopeSuccessful(Builder $query): Builder - { - return $query->where('success', true); - } - - /** - * Filter failed calls. - */ - public function scopeFailed(Builder $query): Builder - { - return $query->where('success', false); - } - - /** - * Filter sensitive tool calls. - */ - public function scopeSensitive(Builder $query): Builder - { - return $query->where('is_sensitive', true); - } - - /** - * Filter by actor type. - */ - public function scopeByActorType(Builder $query, string $actorType): Builder - { - return $query->where('actor_type', $actorType); - } - - /** - * Filter by actor. - */ - public function scopeByActor(Builder $query, string $actorType, int $actorId): Builder - { - return $query->where('actor_type', $actorType) - ->where('actor_id', $actorId); - } - - /** - * Filter by date range. - */ - public function scopeInDateRange(Builder $query, string|\DateTimeInterface $start, string|\DateTimeInterface $end): Builder - { - return $query->whereBetween('created_at', [$start, $end]); - } - - /** - * Filter for today. - */ - public function scopeToday(Builder $query): Builder - { - return $query->whereDate('created_at', today()); - } - - /** - * Filter for last N days. - */ - public function scopeLastDays(Builder $query, int $days): Builder - { - return $query->where('created_at', '>=', now()->subDays($days)); - } - - // ------------------------------------------------------------------------- - // Hash Chain Methods - // ------------------------------------------------------------------------- - - /** - * Compute the hash for this entry. - * Uses SHA-256 to create a deterministic hash of the entry data. - */ - public function computeHash(): string - { - $data = [ - 'id' => $this->id, - 'server_id' => $this->server_id, - 'tool_name' => $this->tool_name, - 'workspace_id' => $this->workspace_id, - 'session_id' => $this->session_id, - 'input_params' => $this->input_params, - 'output_summary' => $this->output_summary, - 'success' => $this->success, - 'duration_ms' => $this->duration_ms, - 'error_code' => $this->error_code, - 'actor_type' => $this->actor_type, - 'actor_id' => $this->actor_id, - 'actor_ip' => $this->actor_ip, - 'is_sensitive' => $this->is_sensitive, - 'previous_hash' => $this->previous_hash, - 'created_at' => $this->created_at?->toIso8601String(), - ]; - - return hash('sha256', json_encode($data, JSON_THROW_ON_ERROR)); - } - - /** - * Verify this entry's hash is valid. - */ - public function verifyHash(): bool - { - return $this->entry_hash === $this->computeHash(); - } - - /** - * Verify the chain link to the previous entry. - */ - public function verifyChainLink(): bool - { - if ($this->previous_hash === null) { - // First entry in chain - check there's no earlier entry - return ! static::where('id', '<', $this->id)->exists(); - } - - $previous = static::where('id', '<', $this->id) - ->orderByDesc('id') - ->first(); - - if (! $previous) { - return false; // Previous entry missing - } - - return $this->previous_hash === $previous->entry_hash; - } - - // ------------------------------------------------------------------------- - // Helpers - // ------------------------------------------------------------------------- - - /** - * Get duration formatted for humans. - */ - public function getDurationForHumans(): string - { - if (! $this->duration_ms) { - return '-'; - } - - if ($this->duration_ms < 1000) { - return $this->duration_ms.'ms'; - } - - return round($this->duration_ms / 1000, 2).'s'; - } - - /** - * Get actor display name. - */ - public function getActorDisplay(): string - { - return match ($this->actor_type) { - self::ACTOR_USER => "User #{$this->actor_id}", - self::ACTOR_API_KEY => "API Key #{$this->actor_id}", - self::ACTOR_SYSTEM => 'System', - default => 'Unknown', - }; - } - - /** - * Check if this entry has integrity issues. - */ - public function hasIntegrityIssues(): bool - { - return ! $this->verifyHash() || ! $this->verifyChainLink(); - } - - /** - * Get integrity status. - */ - public function getIntegrityStatus(): array - { - $hashValid = $this->verifyHash(); - $chainValid = $this->verifyChainLink(); - - return [ - 'valid' => $hashValid && $chainValid, - 'hash_valid' => $hashValid, - 'chain_valid' => $chainValid, - 'issues' => array_filter([ - ! $hashValid ? 'Entry hash mismatch - data may have been tampered' : null, - ! $chainValid ? 'Chain link broken - previous entry missing or modified' : null, - ]), - ]; - } - - /** - * Convert to array for export. - */ - public function toExportArray(): array - { - return [ - 'id' => $this->id, - 'timestamp' => $this->created_at->toIso8601String(), - 'server_id' => $this->server_id, - 'tool_name' => $this->tool_name, - 'workspace_id' => $this->workspace_id, - 'session_id' => $this->session_id, - 'success' => $this->success, - 'duration_ms' => $this->duration_ms, - 'error_code' => $this->error_code, - 'actor_type' => $this->actor_type, - 'actor_id' => $this->actor_id, - 'actor_ip' => $this->actor_ip, - 'is_sensitive' => $this->is_sensitive, - 'sensitivity_reason' => $this->sensitivity_reason, - 'entry_hash' => $this->entry_hash, - 'previous_hash' => $this->previous_hash, - 'agent_type' => $this->agent_type, - 'plan_slug' => $this->plan_slug, - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpSensitiveTool.php b/packages/core-mcp/src/Mod/Mcp/Models/McpSensitiveTool.php deleted file mode 100644 index 3a03bf1..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpSensitiveTool.php +++ /dev/null @@ -1,127 +0,0 @@ - 'array', - 'require_explicit_consent' => 'boolean', - ]; - - // ------------------------------------------------------------------------- - // Scopes - // ------------------------------------------------------------------------- - - /** - * Find by tool name. - */ - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - /** - * Filter tools requiring explicit consent. - */ - public function scopeRequiringConsent(Builder $query): Builder - { - return $query->where('require_explicit_consent', true); - } - - // ------------------------------------------------------------------------- - // Static Methods - // ------------------------------------------------------------------------- - - /** - * Check if a tool is marked as sensitive. - */ - public static function isSensitive(string $toolName): bool - { - return static::where('tool_name', $toolName)->exists(); - } - - /** - * Get sensitivity info for a tool. - */ - public static function getSensitivityInfo(string $toolName): ?array - { - $tool = static::where('tool_name', $toolName)->first(); - - if (! $tool) { - return null; - } - - return [ - 'is_sensitive' => true, - 'reason' => $tool->reason, - 'redact_fields' => $tool->redact_fields ?? [], - 'require_explicit_consent' => $tool->require_explicit_consent, - ]; - } - - /** - * Register a sensitive tool. - */ - public static function register( - string $toolName, - string $reason, - array $redactFields = [], - bool $requireConsent = false - ): self { - return static::updateOrCreate( - ['tool_name' => $toolName], - [ - 'reason' => $reason, - 'redact_fields' => $redactFields, - 'require_explicit_consent' => $requireConsent, - ] - ); - } - - /** - * Unregister a sensitive tool. - */ - public static function unregister(string $toolName): bool - { - return static::where('tool_name', $toolName)->delete() > 0; - } - - /** - * Get all sensitive tool names. - */ - public static function getAllToolNames(): array - { - return static::pluck('tool_name')->toArray(); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpToolCall.php b/packages/core-mcp/src/Mod/Mcp/Models/McpToolCall.php deleted file mode 100644 index 9281d99..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpToolCall.php +++ /dev/null @@ -1,161 +0,0 @@ - 'array', - 'result_summary' => 'array', - 'success' => 'boolean', - 'duration_ms' => 'integer', - ]; - - // Relationships - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // Scopes - public function scopeForServer(Builder $query, string $serverId): Builder - { - return $query->where('server_id', $serverId); - } - - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - public function scopeSuccessful(Builder $query): Builder - { - return $query->where('success', true); - } - - public function scopeFailed(Builder $query): Builder - { - return $query->where('success', false); - } - - public function scopeRecent(Builder $query, int $hours = 24): Builder - { - return $query->where('created_at', '>=', now()->subHours($hours)); - } - - public function scopeToday(Builder $query): Builder - { - return $query->whereDate('created_at', today()); - } - - public function scopeThisWeek(Builder $query): Builder - { - return $query->where('created_at', '>=', now()->startOfWeek()); - } - - /** - * Log a tool call and update daily stats. - */ - public static function log( - string $serverId, - string $toolName, - array $params = [], - bool $success = true, - ?int $durationMs = null, - ?string $errorMessage = null, - ?string $errorCode = null, - ?array $resultSummary = null, - ?string $sessionId = null, - ?string $agentType = null, - ?string $planSlug = null, - ?int $workspaceId = null - ): self { - $call = static::create([ - 'workspace_id' => $workspaceId, - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'input_params' => $params, - 'success' => $success, - 'duration_ms' => $durationMs, - 'error_message' => $errorMessage, - 'error_code' => $errorCode, - 'result_summary' => $resultSummary, - 'session_id' => $sessionId, - 'agent_type' => $agentType, - 'plan_slug' => $planSlug, - ]); - - // Update daily stats - McpToolCallStat::incrementForCall($call); - - return $call; - } - - // Helpers - public function getDurationForHumans(): string - { - if (! $this->duration_ms) { - return '-'; - } - - if ($this->duration_ms < 1000) { - return $this->duration_ms.'ms'; - } - - return round($this->duration_ms / 1000, 2).'s'; - } - - public function getStatusBadge(): string - { - return $this->success - ? 'Success' - : 'Failed'; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpToolCallStat.php b/packages/core-mcp/src/Mod/Mcp/Models/McpToolCallStat.php deleted file mode 100644 index 0ed58b2..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpToolCallStat.php +++ /dev/null @@ -1,263 +0,0 @@ - 'date', - 'call_count' => 'integer', - 'success_count' => 'integer', - 'error_count' => 'integer', - 'total_duration_ms' => 'integer', - 'min_duration_ms' => 'integer', - 'max_duration_ms' => 'integer', - ]; - - // Relationships - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // Scopes - public function scopeForServer(Builder $query, string $serverId): Builder - { - return $query->where('server_id', $serverId); - } - - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - public function scopeForDate(Builder $query, Carbon|string $date): Builder - { - $date = $date instanceof Carbon ? $date->toDateString() : $date; - - return $query->where('date', $date); - } - - public function scopeForDateRange(Builder $query, Carbon|string $start, Carbon|string $end): Builder - { - $start = $start instanceof Carbon ? $start->toDateString() : $start; - $end = $end instanceof Carbon ? $end->toDateString() : $end; - - return $query->whereBetween('date', [$start, $end]); - } - - public function scopeLast7Days(Builder $query): Builder - { - return $query->forDateRange(now()->subDays(6), now()); - } - - public function scopeLast30Days(Builder $query): Builder - { - return $query->forDateRange(now()->subDays(29), now()); - } - - /** - * Increment stats for a tool call. - */ - public static function incrementForCall(McpToolCall $call): void - { - $stat = static::firstOrCreate([ - 'date' => $call->created_at->toDateString(), - 'server_id' => $call->server_id, - 'tool_name' => $call->tool_name, - 'workspace_id' => $call->workspace_id, - ], [ - 'call_count' => 0, - 'success_count' => 0, - 'error_count' => 0, - 'total_duration_ms' => 0, - ]); - - $stat->call_count++; - - if ($call->success) { - $stat->success_count++; - } else { - $stat->error_count++; - } - - if ($call->duration_ms) { - $stat->total_duration_ms += $call->duration_ms; - - if ($stat->min_duration_ms === null || $call->duration_ms < $stat->min_duration_ms) { - $stat->min_duration_ms = $call->duration_ms; - } - - if ($stat->max_duration_ms === null || $call->duration_ms > $stat->max_duration_ms) { - $stat->max_duration_ms = $call->duration_ms; - } - } - - $stat->save(); - } - - // Computed attributes - public function getSuccessRateAttribute(): float - { - if ($this->call_count === 0) { - return 0; - } - - return round(($this->success_count / $this->call_count) * 100, 1); - } - - public function getAvgDurationMsAttribute(): ?float - { - if ($this->call_count === 0 || $this->total_duration_ms === 0) { - return null; - } - - return round($this->total_duration_ms / $this->call_count, 1); - } - - public function getAvgDurationForHumansAttribute(): string - { - $avg = $this->avg_duration_ms; - if ($avg === null) { - return '-'; - } - - if ($avg < 1000) { - return round($avg).'ms'; - } - - return round($avg / 1000, 2).'s'; - } - - /** - * Get top tools by call count. - */ - public static function getTopTools(int $days = 7, int $limit = 10, ?int $workspaceId = null): Collection - { - $query = static::query() - ->select('server_id', 'tool_name') - ->selectRaw('SUM(call_count) as total_calls') - ->selectRaw('SUM(success_count) as total_success') - ->selectRaw('SUM(error_count) as total_errors') - ->selectRaw('AVG(total_duration_ms / NULLIF(call_count, 0)) as avg_duration') - ->forDateRange(now()->subDays($days - 1), now()) - ->groupBy('server_id', 'tool_name') - ->orderByDesc('total_calls') - ->limit($limit); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - return $query->get() - ->map(function ($item) { - $item->success_rate = $item->total_calls > 0 - ? round(($item->total_success / $item->total_calls) * 100, 1) - : 0; - - return $item; - }); - } - - /** - * Get daily trend data. - */ - public static function getDailyTrend(int $days = 7, ?int $workspaceId = null): Collection - { - $query = static::query() - ->select('date') - ->selectRaw('SUM(call_count) as total_calls') - ->selectRaw('SUM(success_count) as total_success') - ->selectRaw('SUM(error_count) as total_errors') - ->forDateRange(now()->subDays($days - 1), now()) - ->groupBy('date') - ->orderBy('date'); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - return $query->get() - ->map(function ($item) { - $item->success_rate = $item->total_calls > 0 - ? round(($item->total_success / $item->total_calls) * 100, 1) - : 0; - - return $item; - }); - } - - /** - * Get server-level statistics. - */ - public static function getServerStats(int $days = 7, ?int $workspaceId = null): Collection - { - $query = static::query() - ->select('server_id') - ->selectRaw('SUM(call_count) as total_calls') - ->selectRaw('SUM(success_count) as total_success') - ->selectRaw('SUM(error_count) as total_errors') - ->selectRaw('COUNT(DISTINCT tool_name) as unique_tools') - ->forDateRange(now()->subDays($days - 1), now()) - ->groupBy('server_id') - ->orderByDesc('total_calls'); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - return $query->get() - ->map(function ($item) { - $item->success_rate = $item->total_calls > 0 - ? round(($item->total_success / $item->total_calls) * 100, 1) - : 0; - - return $item; - }); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpToolVersion.php b/packages/core-mcp/src/Mod/Mcp/Models/McpToolVersion.php deleted file mode 100644 index 3bff53a..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpToolVersion.php +++ /dev/null @@ -1,359 +0,0 @@ - 'array', - 'output_schema' => 'array', - 'is_latest' => 'boolean', - 'deprecated_at' => 'datetime', - 'sunset_at' => 'datetime', - ]; - - // ------------------------------------------------------------------------- - // Scopes - // ------------------------------------------------------------------------- - - /** - * Filter by server. - */ - public function scopeForServer(Builder $query, string $serverId): Builder - { - return $query->where('server_id', $serverId); - } - - /** - * Filter by tool name. - */ - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - /** - * Filter by specific version. - */ - public function scopeForVersion(Builder $query, string $version): Builder - { - return $query->where('version', $version); - } - - /** - * Get only latest versions. - */ - public function scopeLatest(Builder $query): Builder - { - return $query->where('is_latest', true); - } - - /** - * Get deprecated versions. - */ - public function scopeDeprecated(Builder $query): Builder - { - return $query->whereNotNull('deprecated_at') - ->where('deprecated_at', '<=', now()); - } - - /** - * Get sunset versions (blocked). - */ - public function scopeSunset(Builder $query): Builder - { - return $query->whereNotNull('sunset_at') - ->where('sunset_at', '<=', now()); - } - - /** - * Get active versions (not sunset). - */ - public function scopeActive(Builder $query): Builder - { - return $query->where(function ($q) { - $q->whereNull('sunset_at') - ->orWhere('sunset_at', '>', now()); - }); - } - - /** - * Order by version (newest first using semver sort). - */ - public function scopeOrderByVersion(Builder $query, string $direction = 'desc'): Builder - { - // Basic version ordering - splits on dots and orders numerically - // For production use, consider a more robust semver sorting approach - return $query->orderByRaw( - "CAST(SUBSTRING_INDEX(version, '.', 1) AS UNSIGNED) {$direction}, ". - "CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(version, '.', 2), '.', -1) AS UNSIGNED) {$direction}, ". - "CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(version, '.', 3), '.', -1) AS UNSIGNED) {$direction}" - ); - } - - // ------------------------------------------------------------------------- - // Accessors - // ------------------------------------------------------------------------- - - /** - * Check if this version is deprecated. - */ - public function getIsDeprecatedAttribute(): bool - { - return $this->deprecated_at !== null && $this->deprecated_at->isPast(); - } - - /** - * Check if this version is sunset (blocked). - */ - public function getIsSunsetAttribute(): bool - { - return $this->sunset_at !== null && $this->sunset_at->isPast(); - } - - /** - * Get the lifecycle status of this version. - */ - public function getStatusAttribute(): string - { - if ($this->is_sunset) { - return 'sunset'; - } - - if ($this->is_deprecated) { - return 'deprecated'; - } - - if ($this->is_latest) { - return 'latest'; - } - - return 'active'; - } - - /** - * Get full tool identifier (server:tool). - */ - public function getFullNameAttribute(): string - { - return "{$this->server_id}:{$this->tool_name}"; - } - - /** - * Get full versioned identifier (server:tool@version). - */ - public function getVersionedNameAttribute(): string - { - return "{$this->server_id}:{$this->tool_name}@{$this->version}"; - } - - // ------------------------------------------------------------------------- - // Methods - // ------------------------------------------------------------------------- - - /** - * Get deprecation warning message if deprecated but not sunset. - */ - public function getDeprecationWarning(): ?array - { - if (! $this->is_deprecated || $this->is_sunset) { - return null; - } - - $warning = [ - 'code' => 'TOOL_VERSION_DEPRECATED', - 'message' => "Tool version {$this->version} is deprecated.", - 'current_version' => $this->version, - ]; - - // Find the latest version to suggest - $latest = static::forServer($this->server_id) - ->forTool($this->tool_name) - ->latest() - ->first(); - - if ($latest && $latest->version !== $this->version) { - $warning['latest_version'] = $latest->version; - $warning['message'] .= " Please upgrade to version {$latest->version}."; - } - - if ($this->sunset_at) { - $warning['sunset_at'] = $this->sunset_at->toIso8601String(); - $warning['message'] .= " This version will be blocked after {$this->sunset_at->format('Y-m-d')}."; - } - - if ($this->migration_notes) { - $warning['migration_notes'] = $this->migration_notes; - } - - return $warning; - } - - /** - * Get sunset error if this version is blocked. - */ - public function getSunsetError(): ?array - { - if (! $this->is_sunset) { - return null; - } - - $error = [ - 'code' => 'TOOL_VERSION_SUNSET', - 'message' => "Tool version {$this->version} is no longer available as of {$this->sunset_at->format('Y-m-d')}.", - 'sunset_version' => $this->version, - 'sunset_at' => $this->sunset_at->toIso8601String(), - ]; - - // Find the latest version to suggest - $latest = static::forServer($this->server_id) - ->forTool($this->tool_name) - ->latest() - ->first(); - - if ($latest && $latest->version !== $this->version) { - $error['latest_version'] = $latest->version; - $error['message'] .= " Please use version {$latest->version} instead."; - } - - if ($this->migration_notes) { - $error['migration_notes'] = $this->migration_notes; - } - - return $error; - } - - /** - * Compare schemas between this version and another. - * - * @return array{added: array, removed: array, changed: array} - */ - public function compareSchemaWith(self $other): array - { - $thisProps = $this->input_schema['properties'] ?? []; - $otherProps = $other->input_schema['properties'] ?? []; - - $added = array_diff_key($otherProps, $thisProps); - $removed = array_diff_key($thisProps, $otherProps); - - $changed = []; - foreach (array_intersect_key($thisProps, $otherProps) as $key => $thisProp) { - $otherProp = $otherProps[$key]; - if (json_encode($thisProp) !== json_encode($otherProp)) { - $changed[$key] = [ - 'from' => $thisProp, - 'to' => $otherProp, - ]; - } - } - - return [ - 'added' => array_keys($added), - 'removed' => array_keys($removed), - 'changed' => $changed, - ]; - } - - /** - * Mark this version as deprecated. - */ - public function deprecate(?Carbon $sunsetAt = null): self - { - $this->deprecated_at = now(); - - if ($sunsetAt) { - $this->sunset_at = $sunsetAt; - } - - $this->save(); - - return $this; - } - - /** - * Mark this version as the latest (and unmark others). - */ - public function markAsLatest(): self - { - // Unmark all other versions for this tool - static::forServer($this->server_id) - ->forTool($this->tool_name) - ->where('id', '!=', $this->id) - ->update(['is_latest' => false]); - - $this->is_latest = true; - $this->save(); - - return $this; - } - - /** - * Export version info for API responses. - */ - public function toApiArray(): array - { - return [ - 'server_id' => $this->server_id, - 'tool_name' => $this->tool_name, - 'version' => $this->version, - 'is_latest' => $this->is_latest, - 'status' => $this->status, - 'description' => $this->description, - 'input_schema' => $this->input_schema, - 'output_schema' => $this->output_schema, - 'deprecated_at' => $this->deprecated_at?->toIso8601String(), - 'sunset_at' => $this->sunset_at?->toIso8601String(), - 'migration_notes' => $this->migration_notes, - 'changelog' => $this->changelog, - 'created_at' => $this->created_at?->toIso8601String(), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/McpUsageQuota.php b/packages/core-mcp/src/Mod/Mcp/Models/McpUsageQuota.php deleted file mode 100644 index e58d18e..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/McpUsageQuota.php +++ /dev/null @@ -1,193 +0,0 @@ - 'integer', - 'input_tokens' => 'integer', - 'output_tokens' => 'integer', - ]; - - // ───────────────────────────────────────────────────────────────────────── - // Relationships - // ───────────────────────────────────────────────────────────────────────── - - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - // ───────────────────────────────────────────────────────────────────────── - // Scopes - // ───────────────────────────────────────────────────────────────────────── - - public function scopeForMonth(Builder $query, string $month): Builder - { - return $query->where('month', $month); - } - - public function scopeCurrentMonth(Builder $query): Builder - { - return $query->where('month', now()->format('Y-m')); - } - - // ───────────────────────────────────────────────────────────────────────── - // Factory Methods - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get or create usage quota record for a workspace and month. - */ - public static function getOrCreate(int $workspaceId, ?string $month = null): self - { - $month = $month ?? now()->format('Y-m'); - - return static::firstOrCreate( - [ - 'workspace_id' => $workspaceId, - 'month' => $month, - ], - [ - 'tool_calls_count' => 0, - 'input_tokens' => 0, - 'output_tokens' => 0, - ] - ); - } - - /** - * Get current month's quota for a workspace. - */ - public static function getCurrentForWorkspace(int $workspaceId): self - { - return static::getOrCreate($workspaceId); - } - - // ───────────────────────────────────────────────────────────────────────── - // Usage Recording - // ───────────────────────────────────────────────────────────────────────── - - /** - * Record usage (increments counters atomically). - */ - public function recordUsage(int $toolCalls = 1, int $inputTokens = 0, int $outputTokens = 0): self - { - $this->increment('tool_calls_count', $toolCalls); - - if ($inputTokens > 0) { - $this->increment('input_tokens', $inputTokens); - } - - if ($outputTokens > 0) { - $this->increment('output_tokens', $outputTokens); - } - - return $this->fresh(); - } - - /** - * Record usage for a workspace (static convenience method). - */ - public static function record( - int $workspaceId, - int $toolCalls = 1, - int $inputTokens = 0, - int $outputTokens = 0 - ): self { - $quota = static::getCurrentForWorkspace($workspaceId); - - return $quota->recordUsage($toolCalls, $inputTokens, $outputTokens); - } - - // ───────────────────────────────────────────────────────────────────────── - // Computed Attributes - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get total tokens (input + output). - */ - public function getTotalTokensAttribute(): int - { - return $this->input_tokens + $this->output_tokens; - } - - /** - * Get formatted month (e.g., "January 2026"). - */ - public function getMonthLabelAttribute(): string - { - return \Carbon\Carbon::createFromFormat('Y-m', $this->month)->format('F Y'); - } - - // ───────────────────────────────────────────────────────────────────────── - // Helpers - // ───────────────────────────────────────────────────────────────────────── - - /** - * Reset usage counters (for billing cycle reset). - */ - public function reset(): self - { - $this->update([ - 'tool_calls_count' => 0, - 'input_tokens' => 0, - 'output_tokens' => 0, - ]); - - return $this; - } - - /** - * Convert to array for API responses. - */ - public function toArray(): array - { - return [ - 'workspace_id' => $this->workspace_id, - 'month' => $this->month, - 'month_label' => $this->month_label, - 'tool_calls_count' => $this->tool_calls_count, - 'input_tokens' => $this->input_tokens, - 'output_tokens' => $this->output_tokens, - 'total_tokens' => $this->total_tokens, - 'updated_at' => $this->updated_at?->toIso8601String(), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Models/ToolMetric.php b/packages/core-mcp/src/Mod/Mcp/Models/ToolMetric.php deleted file mode 100644 index 92bb7ac..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Models/ToolMetric.php +++ /dev/null @@ -1,278 +0,0 @@ - 'date', - 'call_count' => 'integer', - 'error_count' => 'integer', - 'total_duration_ms' => 'integer', - 'min_duration_ms' => 'integer', - 'max_duration_ms' => 'integer', - ]; - - // ------------------------------------------------------------------------- - // Scopes - // ------------------------------------------------------------------------- - - /** - * Filter metrics for a specific tool. - */ - public function scopeForTool(Builder $query, string $toolName): Builder - { - return $query->where('tool_name', $toolName); - } - - /** - * Filter metrics for a specific workspace. - */ - public function scopeForWorkspace(Builder $query, ?string $workspaceId): Builder - { - if ($workspaceId === null) { - return $query->whereNull('workspace_id'); - } - - return $query->where('workspace_id', $workspaceId); - } - - /** - * Filter metrics within a date range. - */ - public function scopeForDateRange(Builder $query, Carbon|string $start, Carbon|string $end): Builder - { - $start = $start instanceof Carbon ? $start->toDateString() : $start; - $end = $end instanceof Carbon ? $end->toDateString() : $end; - - return $query->whereBetween('date', [$start, $end]); - } - - /** - * Filter metrics for today. - */ - public function scopeToday(Builder $query): Builder - { - return $query->where('date', today()->toDateString()); - } - - /** - * Filter metrics for the last N days. - */ - public function scopeLastDays(Builder $query, int $days): Builder - { - return $query->forDateRange(now()->subDays($days - 1), now()); - } - - // ------------------------------------------------------------------------- - // Accessors - // ------------------------------------------------------------------------- - - /** - * Get the average duration in milliseconds. - */ - public function getAverageDurationAttribute(): float - { - if ($this->call_count === 0 || $this->total_duration_ms === 0) { - return 0.0; - } - - return round($this->total_duration_ms / $this->call_count, 2); - } - - /** - * Get the error rate as a percentage (0-100). - */ - public function getErrorRateAttribute(): float - { - if ($this->call_count === 0) { - return 0.0; - } - - return round(($this->error_count / $this->call_count) * 100, 2); - } - - /** - * Get average duration formatted for display. - */ - public function getAverageDurationForHumansAttribute(): string - { - $avg = $this->average_duration; - - if ($avg === 0.0) { - return '-'; - } - - if ($avg < 1000) { - return round($avg).'ms'; - } - - return round($avg / 1000, 2).'s'; - } - - // ------------------------------------------------------------------------- - // Methods - // ------------------------------------------------------------------------- - - /** - * Record a successful tool call. - */ - public static function recordCall( - string $toolName, - int $durationMs, - ?string $workspaceId = null, - ?Carbon $date = null - ): self { - $date = $date ?? now(); - - $metric = static::firstOrCreate([ - 'tool_name' => $toolName, - 'workspace_id' => $workspaceId, - 'date' => $date->toDateString(), - ], [ - 'call_count' => 0, - 'error_count' => 0, - 'total_duration_ms' => 0, - ]); - - $metric->call_count++; - $metric->total_duration_ms += $durationMs; - - if ($metric->min_duration_ms === null || $durationMs < $metric->min_duration_ms) { - $metric->min_duration_ms = $durationMs; - } - - if ($metric->max_duration_ms === null || $durationMs > $metric->max_duration_ms) { - $metric->max_duration_ms = $durationMs; - } - - $metric->save(); - - return $metric; - } - - /** - * Record a failed tool call. - */ - public static function recordError( - string $toolName, - int $durationMs, - ?string $workspaceId = null, - ?Carbon $date = null - ): self { - $date = $date ?? now(); - - $metric = static::firstOrCreate([ - 'tool_name' => $toolName, - 'workspace_id' => $workspaceId, - 'date' => $date->toDateString(), - ], [ - 'call_count' => 0, - 'error_count' => 0, - 'total_duration_ms' => 0, - ]); - - $metric->call_count++; - $metric->error_count++; - $metric->total_duration_ms += $durationMs; - - if ($metric->min_duration_ms === null || $durationMs < $metric->min_duration_ms) { - $metric->min_duration_ms = $durationMs; - } - - if ($metric->max_duration_ms === null || $durationMs > $metric->max_duration_ms) { - $metric->max_duration_ms = $durationMs; - } - - $metric->save(); - - return $metric; - } - - /** - * Get aggregated stats for a tool across all dates. - */ - public static function getAggregatedStats( - string $toolName, - ?Carbon $from = null, - ?Carbon $to = null, - ?string $workspaceId = null - ): array { - $query = static::forTool($toolName); - - if ($from && $to) { - $query->forDateRange($from, $to); - } - - if ($workspaceId !== null) { - $query->forWorkspace($workspaceId); - } - - $metrics = $query->get(); - - if ($metrics->isEmpty()) { - return [ - 'tool_name' => $toolName, - 'total_calls' => 0, - 'error_count' => 0, - 'error_rate' => 0.0, - 'avg_duration_ms' => 0.0, - 'min_duration_ms' => 0, - 'max_duration_ms' => 0, - ]; - } - - $totalCalls = $metrics->sum('call_count'); - $errorCount = $metrics->sum('error_count'); - $totalDuration = $metrics->sum('total_duration_ms'); - - return [ - 'tool_name' => $toolName, - 'total_calls' => $totalCalls, - 'error_count' => $errorCount, - 'error_rate' => $totalCalls > 0 ? round(($errorCount / $totalCalls) * 100, 2) : 0.0, - 'avg_duration_ms' => $totalCalls > 0 ? round($totalDuration / $totalCalls, 2) : 0.0, - 'min_duration_ms' => $metrics->min('min_duration_ms') ?? 0, - 'max_duration_ms' => $metrics->max('max_duration_ms') ?? 0, - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Resources/AppConfig.php b/packages/core-mcp/src/Mod/Mcp/Resources/AppConfig.php deleted file mode 100644 index ba42cf7..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Resources/AppConfig.php +++ /dev/null @@ -1,24 +0,0 @@ - config('app.name'), - 'env' => config('app.env'), - 'debug' => config('app.debug'), - 'url' => config('app.url'), - ]; - - return Response::text(json_encode($config, JSON_PRETTY_PRINT)); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Resources/ContentResource.php b/packages/core-mcp/src/Mod/Mcp/Resources/ContentResource.php deleted file mode 100644 index f807f9f..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Resources/ContentResource.php +++ /dev/null @@ -1,170 +0,0 @@ -get('uri', ''); - - // Parse URI: content://{workspace}/{slug} - if (! str_starts_with($uri, 'content://')) { - return Response::text('Invalid URI format. Expected: content://{workspace}/{slug}'); - } - - $path = substr($uri, 10); // Remove 'content://' - $parts = explode('/', $path, 2); - - if (count($parts) < 2) { - return Response::text('Invalid URI format. Expected: content://{workspace}/{slug}'); - } - - [$workspaceSlug, $contentSlug] = $parts; - - // Resolve workspace - $workspace = Workspace::where('slug', $workspaceSlug) - ->orWhere('id', $workspaceSlug) - ->first(); - - if (! $workspace) { - return Response::text("Workspace not found: {$workspaceSlug}"); - } - - // Find content item - $item = ContentItem::forWorkspace($workspace->id) - ->native() - ->where('slug', $contentSlug) - ->first(); - - if (! $item) { - // Try by ID - if (is_numeric($contentSlug)) { - $item = ContentItem::forWorkspace($workspace->id) - ->native() - ->find($contentSlug); - } - } - - if (! $item) { - return Response::text("Content not found: {$contentSlug}"); - } - - // Load relationships - $item->load(['author', 'taxonomies']); - - // Return as markdown with frontmatter - $markdown = $this->contentToMarkdown($item, $workspace); - - return Response::text($markdown); - } - - /** - * Convert content item to markdown with frontmatter. - */ - protected function contentToMarkdown(ContentItem $item, Workspace $workspace): string - { - $md = "---\n"; - $md .= "title: \"{$item->title}\"\n"; - $md .= "slug: {$item->slug}\n"; - $md .= "workspace: {$workspace->slug}\n"; - $md .= "type: {$item->type}\n"; - $md .= "status: {$item->status}\n"; - - if ($item->author) { - $md .= "author: {$item->author->name}\n"; - } - - $categories = $item->categories->pluck('name')->all(); - if (! empty($categories)) { - $md .= 'categories: ['.implode(', ', $categories)."]\n"; - } - - $tags = $item->tags->pluck('name')->all(); - if (! empty($tags)) { - $md .= 'tags: ['.implode(', ', $tags)."]\n"; - } - - if ($item->publish_at) { - $md .= 'publish_at: '.$item->publish_at->toIso8601String()."\n"; - } - - $md .= 'created_at: '.$item->created_at->toIso8601String()."\n"; - $md .= 'updated_at: '.$item->updated_at->toIso8601String()."\n"; - - if ($item->seo_meta) { - if (isset($item->seo_meta['title'])) { - $md .= "seo_title: \"{$item->seo_meta['title']}\"\n"; - } - if (isset($item->seo_meta['description'])) { - $md .= "seo_description: \"{$item->seo_meta['description']}\"\n"; - } - } - - $md .= "---\n\n"; - - // Add excerpt if available - if ($item->excerpt) { - $md .= "> {$item->excerpt}\n\n"; - } - - // Prefer markdown content, fall back to stripping HTML (clean > original) - $content = $item->content_markdown - ?? strip_tags($item->content_html_clean ?? $item->content_html_original ?? ''); - $md .= $content; - - return $md; - } - - /** - * Get list of available content resources. - * - * This is called when MCP lists available resources. - */ - public static function list(): array - { - $resources = []; - - // Get all workspaces with content - $workspaces = Workspace::whereHas('contentItems', function ($q) { - $q->native()->where('status', 'publish'); - })->get(); - - foreach ($workspaces as $workspace) { - // Get published content for this workspace - $items = ContentItem::forWorkspace($workspace->id) - ->native() - ->published() - ->orderByDesc('updated_at') - ->limit(50) - ->get(['id', 'slug', 'title', 'type']); - - foreach ($items as $item) { - $resources[] = [ - 'uri' => "content://{$workspace->slug}/{$item->slug}", - 'name' => $item->title, - 'description' => ucfirst($item->type).": {$item->title}", - 'mimeType' => 'text/markdown', - ]; - } - } - - return $resources; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Resources/DatabaseSchema.php b/packages/core-mcp/src/Mod/Mcp/Resources/DatabaseSchema.php deleted file mode 100644 index 3055249..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Resources/DatabaseSchema.php +++ /dev/null @@ -1,27 +0,0 @@ -mapWithKeys(function ($table) { - $tableName = array_values((array) $table)[0]; - $columns = DB::select("DESCRIBE {$tableName}"); - - return [$tableName => $columns]; - }) - ->toArray(); - - return Response::text(json_encode($schema, JSON_PRETTY_PRINT)); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Routes/admin.php b/packages/core-mcp/src/Mod/Mcp/Routes/admin.php deleted file mode 100644 index 251c438..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Routes/admin.php +++ /dev/null @@ -1,70 +0,0 @@ -name('mcp.')->group(function () { - // Dashboard (workspace MCP usage overview) - Route::get('dashboard', Dashboard::class) - ->name('dashboard'); - - // API key management - Route::get('keys', ApiKeyManager::class) - ->name('keys'); - - // Enhanced MCP Playground with tool browser, history, and examples - Route::get('playground', McpPlayground::class) - ->name('playground'); - - // Legacy simple playground (API-key focused) - Route::get('playground/simple', Playground::class) - ->name('playground.simple'); - - // Request log for debugging - Route::get('logs', RequestLog::class) - ->name('logs'); - - // Analytics endpoints - Route::get('servers/{id}/analytics', [McpRegistryController::class, 'analytics']) - ->name('servers.analytics'); - - // Tool Usage Analytics Dashboard - Route::get('analytics', ToolAnalyticsDashboard::class) - ->name('analytics'); - - // Single tool analytics detail - Route::get('analytics/tool/{name}', ToolAnalyticsDetail::class) - ->name('analytics.tool'); - - // Audit log viewer (compliance and security) - Route::get('audit-log', AuditLogViewer::class) - ->name('audit-log'); - - // Tool version management (Hades only) - Route::get('versions', ToolVersionManager::class) - ->name('versions'); - - // Quota usage overview - Route::get('quotas', QuotaUsage::class) - ->name('quotas'); -}); diff --git a/packages/core-mcp/src/Mod/Mcp/Services/AgentSessionService.php b/packages/core-mcp/src/Mod/Mcp/Services/AgentSessionService.php deleted file mode 100644 index dac3aad..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/AgentSessionService.php +++ /dev/null @@ -1,336 +0,0 @@ -update(['workspace_id' => $workspaceId]); - } - - if (! empty($initialContext)) { - $session->updateContextSummary($initialContext); - } - - // Cache the active session ID for quick lookup - $this->cacheActiveSession($session); - - return $session; - } - - /** - * Get an active session by ID. - */ - public function get(string $sessionId): ?AgentSession - { - return AgentSession::where('session_id', $sessionId)->first(); - } - - /** - * Resume an existing session. - */ - public function resume(string $sessionId): ?AgentSession - { - $session = $this->get($sessionId); - - if (! $session) { - return null; - } - - // Only resume if paused or was handed off - if ($session->status === AgentSession::STATUS_PAUSED) { - $session->resume(); - } - - // Update activity timestamp - $session->touchActivity(); - - // Cache as active - $this->cacheActiveSession($session); - - return $session; - } - - /** - * Get active sessions for a workspace. - */ - public function getActiveSessions(?int $workspaceId = null): Collection - { - $query = AgentSession::active(); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - return $query->orderBy('last_active_at', 'desc')->get(); - } - - /** - * Get sessions for a specific plan. - */ - public function getSessionsForPlan(AgentPlan $plan): Collection - { - return AgentSession::forPlan($plan) - ->orderBy('created_at', 'desc') - ->get(); - } - - /** - * Get the most recent session for a plan. - */ - public function getLatestSessionForPlan(AgentPlan $plan): ?AgentSession - { - return AgentSession::forPlan($plan) - ->orderBy('created_at', 'desc') - ->first(); - } - - /** - * End a session. - */ - public function end(string $sessionId, string $status = AgentSession::STATUS_COMPLETED, ?string $summary = null): ?AgentSession - { - $session = $this->get($sessionId); - - if (! $session) { - return null; - } - - $session->end($status, $summary); - - // Remove from active cache - $this->clearCachedSession($session); - - return $session; - } - - /** - * Pause a session for later resumption. - */ - public function pause(string $sessionId): ?AgentSession - { - $session = $this->get($sessionId); - - if (! $session) { - return null; - } - - $session->pause(); - - return $session; - } - - /** - * Prepare a session for handoff to another agent. - */ - public function prepareHandoff( - string $sessionId, - string $summary, - array $nextSteps = [], - array $blockers = [], - array $contextForNext = [] - ): ?AgentSession { - $session = $this->get($sessionId); - - if (! $session) { - return null; - } - - $session->prepareHandoff($summary, $nextSteps, $blockers, $contextForNext); - - return $session; - } - - /** - * Get handoff context from a session. - */ - public function getHandoffContext(string $sessionId): ?array - { - $session = $this->get($sessionId); - - if (! $session) { - return null; - } - - return $session->getHandoffContext(); - } - - /** - * Create a follow-up session continuing from a previous one. - */ - public function continueFrom(string $previousSessionId, string $newAgentType): ?AgentSession - { - $previousSession = $this->get($previousSessionId); - - if (! $previousSession) { - return null; - } - - // Get the handoff context - $handoffContext = $previousSession->getHandoffContext(); - - // Create new session with context from previous - $newSession = $this->start( - $newAgentType, - $previousSession->plan, - $previousSession->workspace_id, - [ - 'continued_from' => $previousSessionId, - 'previous_agent' => $previousSession->agent_type, - 'handoff_notes' => $handoffContext['handoff_notes'] ?? null, - 'inherited_context' => $handoffContext['context_summary'] ?? null, - ] - ); - - // Mark previous session as handed off - $previousSession->end('handed_off', 'Handed off to '.$newAgentType); - - return $newSession; - } - - /** - * Store custom state in session cache for fast access. - */ - public function setState(string $sessionId, string $key, mixed $value, ?int $ttl = null): void - { - $cacheKey = self::CACHE_PREFIX.$sessionId.':'.$key; - Cache::put($cacheKey, $value, $ttl ?? $this->getCacheTtl()); - } - - /** - * Get custom state from session cache. - */ - public function getState(string $sessionId, string $key, mixed $default = null): mixed - { - $cacheKey = self::CACHE_PREFIX.$sessionId.':'.$key; - - return Cache::get($cacheKey, $default); - } - - /** - * Check if a session exists and is valid. - */ - public function exists(string $sessionId): bool - { - return AgentSession::where('session_id', $sessionId)->exists(); - } - - /** - * Check if a session is active. - */ - public function isActive(string $sessionId): bool - { - $session = $this->get($sessionId); - - return $session !== null && $session->isActive(); - } - - /** - * Get session statistics. - */ - public function getSessionStats(?int $workspaceId = null, int $days = 7): array - { - $query = AgentSession::where('created_at', '>=', now()->subDays($days)); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - $sessions = $query->get(); - - $byStatus = $sessions->groupBy('status')->map->count(); - $byAgent = $sessions->groupBy('agent_type')->map->count(); - - $completedSessions = $sessions->where('status', AgentSession::STATUS_COMPLETED); - $avgDuration = $completedSessions->avg(fn ($s) => $s->getDuration() ?? 0); - - return [ - 'total' => $sessions->count(), - 'active' => $sessions->where('status', AgentSession::STATUS_ACTIVE)->count(), - 'by_status' => $byStatus->toArray(), - 'by_agent_type' => $byAgent->toArray(), - 'avg_duration_minutes' => round($avgDuration, 1), - 'period_days' => $days, - ]; - } - - /** - * Clean up stale sessions (active but not touched in X hours). - */ - public function cleanupStaleSessions(int $hoursInactive = 24): int - { - $cutoff = now()->subHours($hoursInactive); - - $staleSessions = AgentSession::active() - ->where('last_active_at', '<', $cutoff) - ->get(); - - foreach ($staleSessions as $session) { - $session->fail('Session timed out due to inactivity'); - $this->clearCachedSession($session); - } - - return $staleSessions->count(); - } - - /** - * Cache the active session for quick lookup. - */ - protected function cacheActiveSession(AgentSession $session): void - { - $cacheKey = self::CACHE_PREFIX.'active:'.$session->session_id; - Cache::put($cacheKey, [ - 'session_id' => $session->session_id, - 'agent_type' => $session->agent_type, - 'plan_id' => $session->agent_plan_id, - 'workspace_id' => $session->workspace_id, - 'started_at' => $session->started_at?->toIso8601String(), - ], $this->getCacheTtl()); - } - - /** - * Clear cached session data. - */ - protected function clearCachedSession(AgentSession $session): void - { - $cacheKey = self::CACHE_PREFIX.'active:'.$session->session_id; - Cache::forget($cacheKey); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/AgentToolRegistry.php b/packages/core-mcp/src/Mod/Mcp/Services/AgentToolRegistry.php deleted file mode 100644 index e3718c9..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/AgentToolRegistry.php +++ /dev/null @@ -1,244 +0,0 @@ - - */ - protected array $tools = []; - - /** - * Register a tool. - * - * If the tool implements HasDependencies, its dependencies - * are automatically registered with the ToolDependencyService. - */ - public function register(AgentToolInterface $tool): self - { - $this->tools[$tool->name()] = $tool; - - // Auto-register dependencies if tool declares them - if ($tool instanceof HasDependencies && method_exists($tool, 'dependencies')) { - $dependencies = $tool->dependencies(); - if (! empty($dependencies)) { - app(ToolDependencyService::class)->register($tool->name(), $dependencies); - } - } - - return $this; - } - - /** - * Register multiple tools at once. - * - * @param array $tools - */ - public function registerMany(array $tools): self - { - foreach ($tools as $tool) { - $this->register($tool); - } - - return $this; - } - - /** - * Check if a tool is registered. - */ - public function has(string $name): bool - { - return isset($this->tools[$name]); - } - - /** - * Get a tool by name. - */ - public function get(string $name): ?AgentToolInterface - { - return $this->tools[$name] ?? null; - } - - /** - * Get all registered tools. - * - * @return Collection - */ - public function all(): Collection - { - return collect($this->tools); - } - - /** - * Get tools filtered by category. - * - * @return Collection - */ - public function byCategory(string $category): Collection - { - return $this->all()->filter( - fn (AgentToolInterface $tool) => $tool->category() === $category - ); - } - - /** - * Get tools accessible by an API key. - * - * @return Collection - */ - public function forApiKey(ApiKey $apiKey): Collection - { - return $this->all()->filter(function (AgentToolInterface $tool) use ($apiKey) { - // Check if API key has required scopes - foreach ($tool->requiredScopes() as $scope) { - if (! $apiKey->hasScope($scope)) { - return false; - } - } - - // Check if API key has tool-level permission - return $this->apiKeyCanAccessTool($apiKey, $tool->name()); - }); - } - - /** - * Check if an API key can access a specific tool. - */ - public function apiKeyCanAccessTool(ApiKey $apiKey, string $toolName): bool - { - $allowedTools = $apiKey->tool_scopes ?? null; - - // Null means all tools allowed - if ($allowedTools === null) { - return true; - } - - return in_array($toolName, $allowedTools, true); - } - - /** - * Execute a tool with permission and dependency checking. - * - * @param string $name Tool name - * @param array $args Tool arguments - * @param array $context Execution context - * @param ApiKey|null $apiKey Optional API key for permission checking - * @param bool $validateDependencies Whether to validate dependencies - * @return array Tool result - * - * @throws \InvalidArgumentException If tool not found - * @throws \RuntimeException If permission denied - * @throws \Core\Mod\Mcp\Exceptions\MissingDependencyException If dependencies not met - */ - public function execute( - string $name, - array $args, - array $context = [], - ?ApiKey $apiKey = null, - bool $validateDependencies = true - ): array { - $tool = $this->get($name); - - if (! $tool) { - throw new \InvalidArgumentException("Unknown tool: {$name}"); - } - - // Permission check if API key provided - if ($apiKey !== null) { - // Check scopes - foreach ($tool->requiredScopes() as $scope) { - if (! $apiKey->hasScope($scope)) { - throw new \RuntimeException( - "Permission denied: API key missing scope '{$scope}' for tool '{$name}'" - ); - } - } - - // Check tool-level permission - if (! $this->apiKeyCanAccessTool($apiKey, $name)) { - throw new \RuntimeException( - "Permission denied: API key does not have access to tool '{$name}'" - ); - } - } - - // Dependency check - if ($validateDependencies) { - $sessionId = $context['session_id'] ?? 'anonymous'; - $dependencyService = app(ToolDependencyService::class); - - $dependencyService->validateDependencies($sessionId, $name, $context, $args); - } - - $result = $tool->handle($args, $context); - - // Record successful tool call for dependency tracking - if ($validateDependencies && ($result['success'] ?? true) !== false) { - $sessionId = $context['session_id'] ?? 'anonymous'; - app(ToolDependencyService::class)->recordToolCall($sessionId, $name, $args); - } - - return $result; - } - - /** - * Get all tools as MCP tool definitions. - * - * @param ApiKey|null $apiKey Filter by API key permissions - */ - public function toMcpDefinitions(?ApiKey $apiKey = null): array - { - $tools = $apiKey !== null - ? $this->forApiKey($apiKey) - : $this->all(); - - return $tools->map(fn (AgentToolInterface $tool) => $tool->toMcpDefinition()) - ->values() - ->all(); - } - - /** - * Get tool categories with counts. - */ - public function categories(): Collection - { - return $this->all() - ->groupBy(fn (AgentToolInterface $tool) => $tool->category()) - ->map(fn ($tools) => $tools->count()); - } - - /** - * Get all tool names. - * - * @return array - */ - public function names(): array - { - return array_keys($this->tools); - } - - /** - * Get tool count. - */ - public function count(): int - { - return count($this->tools); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/AuditLogService.php b/packages/core-mcp/src/Mod/Mcp/Services/AuditLogService.php deleted file mode 100644 index ee2f0c6..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/AuditLogService.php +++ /dev/null @@ -1,480 +0,0 @@ -getSensitivityInfo($toolName); - $isSensitive = $sensitivityInfo !== null; - $sensitivityReason = $sensitivityInfo['reason'] ?? null; - $redactFields = $sensitivityInfo['redact_fields'] ?? []; - - // Redact sensitive fields from input - $redactedInput = $this->redactFields($inputParams, $redactFields); - - // Redact output if it contains sensitive data - $redactedOutput = $outputSummary ? $this->redactFields($outputSummary, $redactFields) : null; - - // Get the previous entry's hash for chain linking - $previousEntry = McpAuditLog::orderByDesc('id')->first(); - $previousHash = $previousEntry?->entry_hash; - - // Create the audit log entry - $auditLog = new McpAuditLog([ - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'workspace_id' => $workspaceId, - 'session_id' => $sessionId, - 'input_params' => $redactedInput, - 'output_summary' => $redactedOutput, - 'success' => $success, - 'duration_ms' => $durationMs, - 'error_code' => $errorCode, - 'error_message' => $errorMessage, - 'actor_type' => $actorType, - 'actor_id' => $actorId, - 'actor_ip' => $actorIp, - 'is_sensitive' => $isSensitive, - 'sensitivity_reason' => $sensitivityReason, - 'previous_hash' => $previousHash, - 'agent_type' => $agentType, - 'plan_slug' => $planSlug, - ]); - - $auditLog->save(); - - // Compute and store the entry hash - $auditLog->entry_hash = $auditLog->computeHash(); - $auditLog->saveQuietly(); // Bypass updating event to allow hash update - - return $auditLog; - }); - } - - /** - * Verify the integrity of the entire audit log chain. - * - * @return array{valid: bool, total: int, verified: int, issues: array} - */ - public function verifyChain(?int $fromId = null, ?int $toId = null): array - { - $query = McpAuditLog::orderBy('id'); - - if ($fromId !== null) { - $query->where('id', '>=', $fromId); - } - - if ($toId !== null) { - $query->where('id', '<=', $toId); - } - - $issues = []; - $verified = 0; - $previousHash = null; - $isFirst = true; - - // If starting from a specific ID, get the previous entry's hash - if ($fromId !== null && $fromId > 1) { - $previousEntry = McpAuditLog::where('id', '<', $fromId) - ->orderByDesc('id') - ->first(); - $previousHash = $previousEntry?->entry_hash; - $isFirst = false; - } - - $total = $query->count(); - - // Process in chunks to avoid memory issues - $query->chunk(1000, function ($entries) use (&$issues, &$verified, &$previousHash, &$isFirst) { - foreach ($entries as $entry) { - // Verify hash - if (! $entry->verifyHash()) { - $issues[] = [ - 'id' => $entry->id, - 'type' => 'hash_mismatch', - 'message' => "Entry #{$entry->id}: Hash mismatch - data may have been tampered", - 'expected' => $entry->computeHash(), - 'actual' => $entry->entry_hash, - ]; - } - - // Verify chain link - if ($isFirst) { - if ($entry->previous_hash !== null) { - $issues[] = [ - 'id' => $entry->id, - 'type' => 'chain_break', - 'message' => "Entry #{$entry->id}: First entry should have null previous_hash", - ]; - } - $isFirst = false; - } else { - if ($entry->previous_hash !== $previousHash) { - $issues[] = [ - 'id' => $entry->id, - 'type' => 'chain_break', - 'message' => "Entry #{$entry->id}: Chain link broken", - 'expected' => $previousHash, - 'actual' => $entry->previous_hash, - ]; - } - } - - $previousHash = $entry->entry_hash; - $verified++; - } - }); - - return [ - 'valid' => empty($issues), - 'total' => $total, - 'verified' => $verified, - 'issues' => $issues, - ]; - } - - /** - * Get audit logs for export. - */ - public function export( - ?int $workspaceId = null, - ?Carbon $from = null, - ?Carbon $to = null, - ?string $toolName = null, - bool $sensitiveOnly = false - ): Collection { - $query = McpAuditLog::orderBy('id'); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - if ($from !== null) { - $query->where('created_at', '>=', $from); - } - - if ($to !== null) { - $query->where('created_at', '<=', $to); - } - - if ($toolName !== null) { - $query->where('tool_name', $toolName); - } - - if ($sensitiveOnly) { - $query->where('is_sensitive', true); - } - - return $query->get()->map(fn ($entry) => $entry->toExportArray()); - } - - /** - * Export to CSV format. - */ - public function exportToCsv( - ?int $workspaceId = null, - ?Carbon $from = null, - ?Carbon $to = null, - ?string $toolName = null, - bool $sensitiveOnly = false - ): string { - $data = $this->export($workspaceId, $from, $to, $toolName, $sensitiveOnly); - - if ($data->isEmpty()) { - return ''; - } - - $headers = array_keys($data->first()); - $output = fopen('php://temp', 'r+'); - - fputcsv($output, $headers); - - foreach ($data as $row) { - fputcsv($output, array_values($row)); - } - - rewind($output); - $csv = stream_get_contents($output); - fclose($output); - - return $csv; - } - - /** - * Export to JSON format. - */ - public function exportToJson( - ?int $workspaceId = null, - ?Carbon $from = null, - ?Carbon $to = null, - ?string $toolName = null, - bool $sensitiveOnly = false - ): string { - $data = $this->export($workspaceId, $from, $to, $toolName, $sensitiveOnly); - - // Include integrity verification in export - $verification = $this->verifyChain(); - - return json_encode([ - 'exported_at' => now()->toIso8601String(), - 'integrity' => [ - 'valid' => $verification['valid'], - 'total_entries' => $verification['total'], - 'verified' => $verification['verified'], - 'issues_count' => count($verification['issues']), - ], - 'filters' => [ - 'workspace_id' => $workspaceId, - 'from' => $from?->toIso8601String(), - 'to' => $to?->toIso8601String(), - 'tool_name' => $toolName, - 'sensitive_only' => $sensitiveOnly, - ], - 'entries' => $data->toArray(), - ], JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR); - } - - /** - * Get statistics for the audit log. - */ - public function getStats(?int $workspaceId = null, ?int $days = 30): array - { - $query = McpAuditLog::query(); - - if ($workspaceId !== null) { - $query->where('workspace_id', $workspaceId); - } - - if ($days !== null) { - $query->where('created_at', '>=', now()->subDays($days)); - } - - $total = $query->count(); - $successful = (clone $query)->where('success', true)->count(); - $failed = (clone $query)->where('success', false)->count(); - $sensitive = (clone $query)->where('is_sensitive', true)->count(); - - $topTools = (clone $query) - ->select('tool_name', DB::raw('COUNT(*) as count')) - ->groupBy('tool_name') - ->orderByDesc('count') - ->limit(10) - ->pluck('count', 'tool_name') - ->toArray(); - - $dailyCounts = (clone $query) - ->select(DB::raw('DATE(created_at) as date'), DB::raw('COUNT(*) as count')) - ->groupBy('date') - ->orderBy('date') - ->limit($days ?? 30) - ->pluck('count', 'date') - ->toArray(); - - return [ - 'total' => $total, - 'successful' => $successful, - 'failed' => $failed, - 'success_rate' => $total > 0 ? round(($successful / $total) * 100, 2) : 0, - 'sensitive_calls' => $sensitive, - 'top_tools' => $topTools, - 'daily_counts' => $dailyCounts, - ]; - } - - /** - * Register a sensitive tool. - */ - public function registerSensitiveTool( - string $toolName, - string $reason, - array $redactFields = [], - bool $requireConsent = false - ): void { - McpSensitiveTool::register($toolName, $reason, $redactFields, $requireConsent); - $this->clearSensitiveToolsCache(); - } - - /** - * Unregister a sensitive tool. - */ - public function unregisterSensitiveTool(string $toolName): bool - { - $result = McpSensitiveTool::unregister($toolName); - $this->clearSensitiveToolsCache(); - - return $result; - } - - /** - * Get all registered sensitive tools. - */ - public function getSensitiveTools(): Collection - { - return McpSensitiveTool::all(); - } - - /** - * Check if a tool requires explicit consent. - */ - public function requiresConsent(string $toolName): bool - { - $info = $this->getSensitivityInfo($toolName); - - return $info !== null && ($info['require_explicit_consent'] ?? false); - } - - // ------------------------------------------------------------------------- - // Protected Methods - // ------------------------------------------------------------------------- - - /** - * Get sensitivity info for a tool (cached). - */ - protected function getSensitivityInfo(string $toolName): ?array - { - $sensitiveTools = Cache::remember( - self::SENSITIVE_TOOLS_CACHE_KEY, - self::SENSITIVE_TOOLS_CACHE_TTL, - fn () => McpSensitiveTool::all()->keyBy('tool_name')->toArray() - ); - - if (! isset($sensitiveTools[$toolName])) { - return null; - } - - $tool = $sensitiveTools[$toolName]; - - return [ - 'is_sensitive' => true, - 'reason' => $tool['reason'], - 'redact_fields' => $tool['redact_fields'] ?? [], - 'require_explicit_consent' => $tool['require_explicit_consent'] ?? false, - ]; - } - - /** - * Redact sensitive fields from data. - */ - protected function redactFields(array $data, array $additionalFields = []): array - { - $fieldsToRedact = array_merge($this->defaultRedactFields, $additionalFields); - - return $this->redactRecursive($data, $fieldsToRedact); - } - - /** - * Recursively redact fields in nested arrays. - */ - protected function redactRecursive(array $data, array $fieldsToRedact): array - { - foreach ($data as $key => $value) { - $keyLower = strtolower((string) $key); - - // Check if this key should be redacted - foreach ($fieldsToRedact as $field) { - if (str_contains($keyLower, strtolower($field))) { - $data[$key] = '[REDACTED]'; - - continue 2; - } - } - - // Recurse into nested arrays - if (is_array($value)) { - $data[$key] = $this->redactRecursive($value, $fieldsToRedact); - } - } - - return $data; - } - - /** - * Clear the sensitive tools cache. - */ - protected function clearSensitiveToolsCache(): void - { - Cache::forget(self::SENSITIVE_TOOLS_CACHE_KEY); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/CircuitBreaker.php b/packages/core-mcp/src/Mod/Mcp/Services/CircuitBreaker.php deleted file mode 100644 index 4b130df..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/CircuitBreaker.php +++ /dev/null @@ -1,442 +0,0 @@ -getState($service); - - // Fast fail when circuit is open - if ($state === self::STATE_OPEN) { - Log::debug("Circuit breaker open for {$service}, failing fast"); - - if ($fallback !== null) { - return $fallback(); - } - - throw new CircuitOpenException($service); - } - - // Handle half-open state with trial lock to prevent concurrent trial requests - $hasTrialLock = false; - if ($state === self::STATE_HALF_OPEN) { - $hasTrialLock = $this->acquireTrialLock($service); - - if (! $hasTrialLock) { - // Another request is already testing the service, fail fast - Log::debug("Circuit breaker half-open for {$service}, trial in progress, failing fast"); - - if ($fallback !== null) { - return $fallback(); - } - - throw new CircuitOpenException($service, "Service '{$service}' is being tested. Please try again shortly."); - } - } - - // Try the operation - try { - $result = $operation(); - - // Record success and release trial lock if held - $this->recordSuccess($service); - - if ($hasTrialLock) { - $this->releaseTrialLock($service); - } - - return $result; - } catch (Throwable $e) { - // Release trial lock if held - if ($hasTrialLock) { - $this->releaseTrialLock($service); - } - - // Record failure - $this->recordFailure($service, $e); - - // Check if we should trip the circuit - if ($this->shouldTrip($service)) { - $this->tripCircuit($service); - } - - // If fallback provided and this is a recoverable error, use it - if ($fallback !== null && $this->isRecoverableError($e)) { - Log::warning("Circuit breaker using fallback for {$service}", [ - 'error' => $e->getMessage(), - ]); - - return $fallback(); - } - - throw $e; - } - } - - /** - * Get the current state of a circuit. - */ - public function getState(string $service): string - { - $cacheKey = $this->getStateKey($service); - - $state = Cache::get($cacheKey); - - if ($state === null) { - return self::STATE_CLOSED; - } - - // Check if open circuit should transition to half-open - if ($state === self::STATE_OPEN) { - $openedAt = Cache::get($this->getOpenedAtKey($service)); - $resetTimeout = $this->getResetTimeout($service); - - if ($openedAt && (time() - $openedAt) >= $resetTimeout) { - $this->setState($service, self::STATE_HALF_OPEN); - - return self::STATE_HALF_OPEN; - } - } - - return $state; - } - - /** - * Get circuit statistics for monitoring. - */ - public function getStats(string $service): array - { - return [ - 'service' => $service, - 'state' => $this->getState($service), - 'failures' => (int) Cache::get($this->getFailureCountKey($service), 0), - 'successes' => (int) Cache::get($this->getSuccessCountKey($service), 0), - 'last_failure' => Cache::get($this->getLastFailureKey($service)), - 'opened_at' => Cache::get($this->getOpenedAtKey($service)), - 'threshold' => $this->getFailureThreshold($service), - 'reset_timeout' => $this->getResetTimeout($service), - ]; - } - - /** - * Manually reset a circuit to closed state. - */ - public function reset(string $service): void - { - $this->setState($service, self::STATE_CLOSED); - Cache::forget($this->getFailureCountKey($service)); - Cache::forget($this->getSuccessCountKey($service)); - Cache::forget($this->getLastFailureKey($service)); - Cache::forget($this->getOpenedAtKey($service)); - - Log::info("Circuit breaker manually reset for {$service}"); - } - - /** - * Check if a service is available (circuit not open). - */ - public function isAvailable(string $service): bool - { - return $this->getState($service) !== self::STATE_OPEN; - } - - /** - * Record a successful operation. - */ - protected function recordSuccess(string $service): void - { - $state = $this->getState($service); - - // Increment success counter with TTL - $this->atomicIncrement($this->getSuccessCountKey($service), self::COUNTER_TTL); - - // If half-open and we got a success, close the circuit - if ($state === self::STATE_HALF_OPEN) { - $this->closeCircuit($service); - } - - // Decay failures over time (successful calls reduce failure count) - $this->atomicDecrement($this->getFailureCountKey($service)); - } - - /** - * Record a failed operation. - */ - protected function recordFailure(string $service, Throwable $e): void - { - $failureKey = $this->getFailureCountKey($service); - $lastFailureKey = $this->getLastFailureKey($service); - $window = $this->getFailureWindow($service); - - // Atomic increment with TTL refresh using lock - $newCount = $this->atomicIncrement($failureKey, $window); - - // Record last failure details - Cache::put($lastFailureKey, [ - 'message' => $e->getMessage(), - 'class' => get_class($e), - 'time' => now()->toIso8601String(), - ], $window); - - Log::warning("Circuit breaker recorded failure for {$service}", [ - 'error' => $e->getMessage(), - 'failures' => $newCount, - ]); - } - - /** - * Check if the circuit should trip (open). - */ - protected function shouldTrip(string $service): bool - { - $failures = (int) Cache::get($this->getFailureCountKey($service), 0); - $threshold = $this->getFailureThreshold($service); - - return $failures >= $threshold; - } - - /** - * Trip the circuit to open state. - */ - protected function tripCircuit(string $service): void - { - $this->setState($service, self::STATE_OPEN); - Cache::put($this->getOpenedAtKey($service), time(), 86400); // 24h max - - Log::error("Circuit breaker tripped for {$service}", [ - 'failures' => Cache::get($this->getFailureCountKey($service)), - ]); - } - - /** - * Close the circuit after successful recovery. - */ - protected function closeCircuit(string $service): void - { - $this->setState($service, self::STATE_CLOSED); - Cache::forget($this->getFailureCountKey($service)); - Cache::forget($this->getOpenedAtKey($service)); - - Log::info("Circuit breaker closed for {$service} after successful recovery"); - } - - /** - * Set circuit state. - */ - protected function setState(string $service, string $state): void - { - Cache::put($this->getStateKey($service), $state, 86400); // 24h max - } - - /** - * Check if an exception is recoverable (should use fallback). - */ - protected function isRecoverableError(Throwable $e): bool - { - // Database connection errors, table not found, etc. - $recoverablePatterns = [ - 'SQLSTATE', - 'Connection refused', - 'Table .* doesn\'t exist', - 'Base table or view not found', - 'Connection timed out', - 'Too many connections', - ]; - - $message = $e->getMessage(); - - foreach ($recoverablePatterns as $pattern) { - if (preg_match('/'.$pattern.'/i', $message)) { - return true; - } - } - - return false; - } - - /** - * Get the failure threshold from config. - */ - protected function getFailureThreshold(string $service): int - { - return (int) config("mcp.circuit_breaker.{$service}.threshold", - config('mcp.circuit_breaker.default_threshold', 5) - ); - } - - /** - * Get the reset timeout (how long to wait before trying again). - */ - protected function getResetTimeout(string $service): int - { - return (int) config("mcp.circuit_breaker.{$service}.reset_timeout", - config('mcp.circuit_breaker.default_reset_timeout', 60) - ); - } - - /** - * Get the failure window (how long failures are counted). - */ - protected function getFailureWindow(string $service): int - { - return (int) config("mcp.circuit_breaker.{$service}.failure_window", - config('mcp.circuit_breaker.default_failure_window', 120) - ); - } - - /** - * Atomically increment a counter with TTL refresh. - * - * Uses a lock to ensure the increment and TTL refresh are atomic. - */ - protected function atomicIncrement(string $key, int $ttl): int - { - $lock = Cache::lock($key.':lock', 5); - - try { - $lock->block(3); - - $current = (int) Cache::get($key, 0); - $newValue = $current + 1; - Cache::put($key, $newValue, $ttl); - - return $newValue; - } finally { - $lock->release(); - } - } - - /** - * Atomically decrement a counter (only if positive). - * - * Note: We use COUNTER_TTL as a fallback since Laravel's Cache facade - * doesn't expose remaining TTL. The counter will refresh on activity. - */ - protected function atomicDecrement(string $key): int - { - $lock = Cache::lock($key.':lock', 5); - - try { - $lock->block(3); - - $current = (int) Cache::get($key, 0); - if ($current > 0) { - $newValue = $current - 1; - Cache::put($key, $newValue, self::COUNTER_TTL); - - return $newValue; - } - - return 0; - } finally { - $lock->release(); - } - } - - /** - * Acquire a trial lock for half-open state. - * - * Only one request can hold the trial lock at a time, preventing - * concurrent trial requests during half-open state. - */ - protected function acquireTrialLock(string $service): bool - { - $lockKey = $this->getTrialLockKey($service); - - // Try to acquire lock with a short TTL (auto-release if request hangs) - return Cache::add($lockKey, true, 30); - } - - /** - * Release the trial lock. - */ - protected function releaseTrialLock(string $service): void - { - Cache::forget($this->getTrialLockKey($service)); - } - - /** - * Get the trial lock cache key. - */ - protected function getTrialLockKey(string $service): string - { - return self::CACHE_PREFIX.$service.':trial_lock'; - } - - // Cache key helpers - protected function getStateKey(string $service): string - { - return self::CACHE_PREFIX.$service.':state'; - } - - protected function getFailureCountKey(string $service): string - { - return self::CACHE_PREFIX.$service.':failures'; - } - - protected function getSuccessCountKey(string $service): string - { - return self::CACHE_PREFIX.$service.':successes'; - } - - protected function getLastFailureKey(string $service): string - { - return self::CACHE_PREFIX.$service.':last_failure'; - } - - protected function getOpenedAtKey(string $service): string - { - return self::CACHE_PREFIX.$service.':opened_at'; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/DataRedactor.php b/packages/core-mcp/src/Mod/Mcp/Services/DataRedactor.php deleted file mode 100644 index 54c1e71..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/DataRedactor.php +++ /dev/null @@ -1,305 +0,0 @@ -redactArray($data, $maxDepth - 1); - } - - if (is_string($data)) { - return $this->redactString($data); - } - - return $data; - } - - /** - * Redact sensitive values from an array. - */ - protected function redactArray(array $data, int $maxDepth): array - { - $result = []; - - foreach ($data as $key => $value) { - $lowerKey = strtolower((string) $key); - - // Check for fully sensitive keys - if ($this->isSensitiveKey($lowerKey)) { - $result[$key] = self::REDACTED; - - continue; - } - - // Check for PII keys - partially redact - if ($this->isPiiKey($lowerKey) && is_string($value)) { - $result[$key] = $this->partialRedact($value); - - continue; - } - - // Recurse into nested arrays (with depth guard) - if (is_array($value)) { - if ($maxDepth <= 0) { - $result[$key] = '[MAX_DEPTH_EXCEEDED]'; - } else { - $result[$key] = $this->redactArray($value, $maxDepth - 1); - } - - continue; - } - - // Check string values for embedded sensitive patterns - if (is_string($value)) { - $result[$key] = $this->redactString($value); - - continue; - } - - $result[$key] = $value; - } - - return $result; - } - - /** - * Check if a key name indicates sensitive data. - */ - protected function isSensitiveKey(string $key): bool - { - foreach (self::SENSITIVE_KEYS as $sensitiveKey) { - if (str_contains($key, $sensitiveKey)) { - return true; - } - } - - return false; - } - - /** - * Check if a key name indicates PII. - */ - protected function isPiiKey(string $key): bool - { - foreach (self::PII_KEYS as $piiKey) { - if (str_contains($key, $piiKey)) { - return true; - } - } - - return false; - } - - /** - * Redact sensitive patterns from a string value. - */ - protected function redactString(string $value): string - { - // Redact bearer tokens - $value = preg_replace( - '/Bearer\s+[A-Za-z0-9\-_\.]+/i', - 'Bearer '.self::REDACTED, - $value - ) ?? $value; - - // Redact Basic auth - $value = preg_replace( - '/Basic\s+[A-Za-z0-9\+\/=]+/i', - 'Basic '.self::REDACTED, - $value - ) ?? $value; - - // Redact common API key patterns (key_xxx, sk_xxx, pk_xxx) - $value = preg_replace( - '/\b(sk|pk|key|api|token)_[a-zA-Z0-9]{16,}/i', - '$1_'.self::REDACTED, - $value - ) ?? $value; - - // Redact JWT tokens (xxx.xxx.xxx format with base64) - $value = preg_replace( - '/eyJ[a-zA-Z0-9_-]*\.eyJ[a-zA-Z0-9_-]*\.[a-zA-Z0-9_-]*/i', - self::REDACTED, - $value - ) ?? $value; - - // Redact UK National Insurance numbers - $value = preg_replace( - '/[A-Z]{2}\s?\d{2}\s?\d{2}\s?\d{2}\s?[A-Z]/i', - self::REDACTED, - $value - ) ?? $value; - - // Redact credit card numbers (basic pattern) - $value = preg_replace( - '/\b\d{4}[\s\-]?\d{4}[\s\-]?\d{4}[\s\-]?\d{4}\b/', - self::REDACTED, - $value - ) ?? $value; - - return $value; - } - - /** - * Partially redact a value, showing first and last characters. - */ - protected function partialRedact(string $value): string - { - $length = strlen($value); - - if ($length <= 4) { - return self::REDACTED; - } - - if ($length <= 8) { - return substr($value, 0, 2).'***'.substr($value, -1); - } - - // For longer values, show more context - $showChars = min(3, (int) floor($length / 4)); - - return substr($value, 0, $showChars).'***'.substr($value, -$showChars); - } - - /** - * Create a summary of array data without sensitive information. - * - * Useful for result_summary where we want structure info without details. - */ - public function summarize(mixed $data, int $maxDepth = 3): mixed - { - if ($maxDepth <= 0) { - return '[...]'; - } - - if (is_array($data)) { - $result = []; - $count = count($data); - - // Limit array size in summary - $limit = 10; - $truncated = $count > $limit; - $items = array_slice($data, 0, $limit, true); - - foreach ($items as $key => $value) { - $lowerKey = strtolower((string) $key); - - // Fully redact sensitive keys - if ($this->isSensitiveKey($lowerKey)) { - $result[$key] = self::REDACTED; - - continue; - } - - // Partially redact PII keys - if ($this->isPiiKey($lowerKey) && is_string($value)) { - $result[$key] = $this->partialRedact($value); - - continue; - } - - // Recurse with reduced depth - $result[$key] = $this->summarize($value, $maxDepth - 1); - } - - if ($truncated) { - $result['_truncated'] = '... and '.($count - $limit).' more items'; - } - - return $result; - } - - if (is_string($data)) { - // Redact first, then truncate (prevents leaking sensitive patterns) - $redacted = $this->redactString($data); - if (strlen($redacted) > 100) { - return substr($redacted, 0, 97).'...'; - } - - return $redacted; - } - - return $data; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/McpHealthService.php b/packages/core-mcp/src/Mod/Mcp/Services/McpHealthService.php deleted file mode 100644 index 83fafe1..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/McpHealthService.php +++ /dev/null @@ -1,303 +0,0 @@ -loadServerConfig($serverId); - - if (! $server) { - $result = $this->buildResult(self::STATUS_UNKNOWN, 'Server not found'); - Cache::put($cacheKey, $result, $this->cacheTtl); - - return $result; - } - - $result = $this->pingServer($server); - Cache::put($cacheKey, $result, $this->cacheTtl); - - return $result; - } - - /** - * Check health of all registered MCP servers. - */ - public function checkAll(bool $forceRefresh = false): array - { - $servers = $this->getRegisteredServers(); - $results = []; - - foreach ($servers as $serverId) { - $results[$serverId] = $this->check($serverId, $forceRefresh); - } - - return $results; - } - - /** - * Get cached health status without triggering a check. - */ - public function getCachedStatus(string $serverId): ?array - { - return Cache::get("mcp:health:{$serverId}"); - } - - /** - * Clear cached health status for a server. - */ - public function clearCache(string $serverId): void - { - Cache::forget("mcp:health:{$serverId}"); - } - - /** - * Clear all cached health statuses. - */ - public function clearAllCache(): void - { - foreach ($this->getRegisteredServers() as $serverId) { - Cache::forget("mcp:health:{$serverId}"); - } - } - - /** - * Ping a server by sending a minimal MCP request. - */ - protected function pingServer(array $server): array - { - $connection = $server['connection'] ?? []; - $type = $connection['type'] ?? 'stdio'; - - // Only support stdio for now - if ($type !== 'stdio') { - return $this->buildResult( - self::STATUS_UNKNOWN, - "Connection type '{$type}' health check not supported" - ); - } - - $command = $connection['command'] ?? null; - $args = $connection['args'] ?? []; - $cwd = $this->resolveEnvVars($connection['cwd'] ?? getcwd()); - - if (! $command) { - return $this->buildResult(self::STATUS_OFFLINE, 'No command configured'); - } - - // Build the MCP initialize request - $initRequest = json_encode([ - 'jsonrpc' => '2.0', - 'method' => 'initialize', - 'params' => [ - 'protocolVersion' => '2024-11-05', - 'capabilities' => [], - 'clientInfo' => [ - 'name' => 'mcp-health-check', - 'version' => '1.0.0', - ], - ], - 'id' => 1, - ]); - - try { - $startTime = microtime(true); - - // Build full command - $fullCommand = array_merge([$command], $args); - $process = new Process($fullCommand, $cwd); - $process->setInput($initRequest); - $process->setTimeout($this->timeout); - - $process->run(); - - $duration = round((microtime(true) - $startTime) * 1000); - $output = $process->getOutput(); - - // Check for valid JSON-RPC response - if ($process->isSuccessful() && ! empty($output)) { - // Try to parse the response - $lines = explode("\n", trim($output)); - foreach ($lines as $line) { - $response = json_decode($line, true); - if ($response && isset($response['result'])) { - return $this->buildResult( - self::STATUS_ONLINE, - 'Server responding', - [ - 'response_time_ms' => $duration, - 'server_info' => $response['result']['serverInfo'] ?? null, - 'protocol_version' => $response['result']['protocolVersion'] ?? null, - ] - ); - } - } - } - - // Process ran but didn't return expected response - if ($process->isSuccessful()) { - return $this->buildResult( - self::STATUS_DEGRADED, - 'Server started but returned unexpected response', - [ - 'response_time_ms' => $duration, - 'output' => substr($output, 0, 500), - ] - ); - } - - // Process failed - return $this->buildResult( - self::STATUS_OFFLINE, - 'Server failed to start', - [ - 'exit_code' => $process->getExitCode(), - 'error' => substr($process->getErrorOutput(), 0, 500), - ] - ); - - } catch (\Exception $e) { - Log::warning("MCP health check failed for {$server['id']}", [ - 'error' => $e->getMessage(), - ]); - - return $this->buildResult( - self::STATUS_OFFLINE, - 'Health check failed: '.$e->getMessage() - ); - } - } - - /** - * Build a health check result array. - */ - protected function buildResult(string $status, string $message, array $extra = []): array - { - return array_merge([ - 'status' => $status, - 'message' => $message, - 'checked_at' => now()->toIso8601String(), - ], $extra); - } - - /** - * Get list of registered server IDs. - */ - protected function getRegisteredServers(): array - { - $registry = $this->loadRegistry(); - - return collect($registry['servers'] ?? []) - ->pluck('id') - ->all(); - } - - /** - * Load the main registry file. - */ - protected function loadRegistry(): array - { - $path = resource_path('mcp/registry.yaml'); - - if (! file_exists($path)) { - return ['servers' => []]; - } - - return Yaml::parseFile($path); - } - - /** - * Load a server's YAML config. - */ - protected function loadServerConfig(string $id): ?array - { - $path = resource_path("mcp/servers/{$id}.yaml"); - - if (! file_exists($path)) { - return null; - } - - return Yaml::parseFile($path); - } - - /** - * Resolve environment variables in a string. - */ - protected function resolveEnvVars(string $value): string - { - return preg_replace_callback('/\$\{([^}]+)\}/', function ($matches) { - $parts = explode(':-', $matches[1], 2); - $var = $parts[0]; - $default = $parts[1] ?? ''; - - return env($var, $default); - }, $value); - } - - /** - * Get status badge HTML. - */ - public function getStatusBadge(string $status): string - { - return match ($status) { - self::STATUS_ONLINE => 'Online', - self::STATUS_OFFLINE => 'Offline', - self::STATUS_DEGRADED => 'Degraded', - default => 'Unknown', - }; - } - - /** - * Get status colour class for Tailwind. - */ - public function getStatusColour(string $status): string - { - return match ($status) { - self::STATUS_ONLINE => 'green', - self::STATUS_OFFLINE => 'red', - self::STATUS_DEGRADED => 'yellow', - default => 'gray', - }; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/McpMetricsService.php b/packages/core-mcp/src/Mod/Mcp/Services/McpMetricsService.php deleted file mode 100644 index 7a0a23b..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/McpMetricsService.php +++ /dev/null @@ -1,267 +0,0 @@ -subDays($days - 1)->startOfDay(); - - $stats = McpToolCallStat::forDateRange($startDate, now())->get(); - - $totalCalls = $stats->sum('call_count'); - $successCalls = $stats->sum('success_count'); - $errorCalls = $stats->sum('error_count'); - - $successRate = $totalCalls > 0 - ? round(($successCalls / $totalCalls) * 100, 1) - : 0; - - $avgDuration = $totalCalls > 0 - ? round($stats->sum('total_duration_ms') / $totalCalls, 1) - : 0; - - // Compare to previous period - $previousStart = $startDate->copy()->subDays($days); - $previousStats = McpToolCallStat::forDateRange($previousStart, $startDate->copy()->subDay())->get(); - $previousCalls = $previousStats->sum('call_count'); - - $callsTrend = $previousCalls > 0 - ? round((($totalCalls - $previousCalls) / $previousCalls) * 100, 1) - : 0; - - return [ - 'total_calls' => $totalCalls, - 'success_calls' => $successCalls, - 'error_calls' => $errorCalls, - 'success_rate' => $successRate, - 'avg_duration_ms' => $avgDuration, - 'calls_trend_percent' => $callsTrend, - 'unique_tools' => $stats->pluck('tool_name')->unique()->count(), - 'unique_servers' => $stats->pluck('server_id')->unique()->count(), - 'period_days' => $days, - ]; - } - - /** - * Get daily call trend data for charting. - */ - public function getDailyTrend(int $days = 7): Collection - { - $trend = McpToolCallStat::getDailyTrend($days); - - // Fill in missing dates with zeros - $dates = collect(); - for ($i = $days - 1; $i >= 0; $i--) { - $date = now()->subDays($i)->toDateString(); - $existing = $trend->firstWhere('date', $date); - - $dates->push([ - 'date' => $date, - 'date_formatted' => Carbon::parse($date)->format('M j'), - 'total_calls' => $existing->total_calls ?? 0, - 'total_success' => $existing->total_success ?? 0, - 'total_errors' => $existing->total_errors ?? 0, - 'success_rate' => $existing->success_rate ?? 0, - ]); - } - - return $dates; - } - - /** - * Get top tools by call count. - */ - public function getTopTools(int $days = 7, int $limit = 10): Collection - { - return McpToolCallStat::getTopTools($days, $limit); - } - - /** - * Get server breakdown. - */ - public function getServerStats(int $days = 7): Collection - { - return McpToolCallStat::getServerStats($days); - } - - /** - * Get recent tool calls for activity feed. - */ - public function getRecentCalls(int $limit = 20): Collection - { - return McpToolCall::query() - ->orderByDesc('created_at') - ->limit($limit) - ->get() - ->map(function ($call) { - return [ - 'id' => $call->id, - 'server_id' => $call->server_id, - 'tool_name' => $call->tool_name, - 'success' => $call->success, - 'duration' => $call->getDurationForHumans(), - 'duration_ms' => $call->duration_ms, - 'error_message' => $call->error_message, - 'session_id' => $call->session_id, - 'plan_slug' => $call->plan_slug, - 'created_at' => $call->created_at->diffForHumans(), - 'created_at_full' => $call->created_at->toIso8601String(), - ]; - }); - } - - /** - * Get error breakdown. - */ - public function getErrorBreakdown(int $days = 7): Collection - { - return McpToolCall::query() - ->select('tool_name', 'error_code') - ->selectRaw('COUNT(*) as error_count') - ->where('success', false) - ->where('created_at', '>=', now()->subDays($days)) - ->groupBy('tool_name', 'error_code') - ->orderByDesc('error_count') - ->limit(20) - ->get(); - } - - /** - * Get tool performance metrics (p50, p95, p99). - */ - public function getToolPerformance(int $days = 7, int $limit = 10): Collection - { - // Get raw call data for percentile calculations - $calls = McpToolCall::query() - ->select('tool_name', 'duration_ms') - ->whereNotNull('duration_ms') - ->where('success', true) - ->where('created_at', '>=', now()->subDays($days)) - ->get() - ->groupBy('tool_name'); - - $performance = collect(); - - foreach ($calls as $toolName => $toolCalls) { - $durations = $toolCalls->pluck('duration_ms')->sort()->values(); - $count = $durations->count(); - - if ($count === 0) { - continue; - } - - $performance->push([ - 'tool_name' => $toolName, - 'call_count' => $count, - 'min_ms' => $durations->first(), - 'max_ms' => $durations->last(), - 'avg_ms' => round($durations->avg(), 1), - 'p50_ms' => $this->percentile($durations, 50), - 'p95_ms' => $this->percentile($durations, 95), - 'p99_ms' => $this->percentile($durations, 99), - ]); - } - - return $performance - ->sortByDesc('call_count') - ->take($limit) - ->values(); - } - - /** - * Get hourly distribution for the last 24 hours. - */ - public function getHourlyDistribution(): Collection - { - $hourly = McpToolCall::query() - ->selectRaw('HOUR(created_at) as hour') - ->selectRaw('COUNT(*) as call_count') - ->selectRaw('SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as success_count') - ->where('created_at', '>=', now()->subHours(24)) - ->groupBy('hour') - ->orderBy('hour') - ->get() - ->keyBy('hour'); - - // Fill in missing hours - $result = collect(); - for ($i = 0; $i < 24; $i++) { - $hour = str_pad((string) $i, 2, '0', STR_PAD_LEFT); - $existing = $hourly->get($i); - - $result->push([ - 'hour' => $hour, - 'hour_formatted' => Carbon::createFromTime($i)->format('ga'), - 'call_count' => $existing->call_count ?? 0, - 'success_count' => $existing->success_count ?? 0, - ]); - } - - return $result; - } - - /** - * Get plan activity - which plans are using MCP tools. - */ - public function getPlanActivity(int $days = 7, int $limit = 10): Collection - { - return McpToolCall::query() - ->select('plan_slug') - ->selectRaw('COUNT(*) as call_count') - ->selectRaw('COUNT(DISTINCT tool_name) as unique_tools') - ->selectRaw('SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as success_count') - ->whereNotNull('plan_slug') - ->where('created_at', '>=', now()->subDays($days)) - ->groupBy('plan_slug') - ->orderByDesc('call_count') - ->limit($limit) - ->get() - ->map(function ($item) { - $item->success_rate = $item->call_count > 0 - ? round(($item->success_count / $item->call_count) * 100, 1) - : 0; - - return $item; - }); - } - - /** - * Calculate percentile from a sorted collection. - */ - protected function percentile(Collection $sortedValues, int $percentile): float - { - $count = $sortedValues->count(); - if ($count === 0) { - return 0; - } - - $index = ($percentile / 100) * ($count - 1); - $lower = (int) floor($index); - $upper = (int) ceil($index); - - if ($lower === $upper) { - return $sortedValues[$lower]; - } - - $fraction = $index - $lower; - - return round($sortedValues[$lower] + ($sortedValues[$upper] - $sortedValues[$lower]) * $fraction, 1); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/McpQuotaService.php b/packages/core-mcp/src/Mod/Mcp/Services/McpQuotaService.php deleted file mode 100644 index d695983..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/McpQuotaService.php +++ /dev/null @@ -1,395 +0,0 @@ -id : $workspace; - - $quota = McpUsageQuota::record($workspaceId, $toolCalls, $inputTokens, $outputTokens); - - // Invalidate cached usage - $this->invalidateUsageCache($workspaceId); - - return $quota; - } - - // ───────────────────────────────────────────────────────────────────────── - // Quota Checking - // ───────────────────────────────────────────────────────────────────────── - - /** - * Check if workspace is within quota limits. - * - * Returns true if within limits (or unlimited), false if quota exceeded. - */ - public function checkQuota(Workspace|int $workspace): bool - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - $workspace = $workspace instanceof Workspace ? $workspace : Workspace::find($workspaceId); - - if (! $workspace) { - return false; - } - - // Check tool calls quota - $toolCallsResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOOL_CALLS); - - if ($toolCallsResult->isDenied()) { - // Feature not in plan - deny access - return false; - } - - if (! $toolCallsResult->isUnlimited()) { - $usage = $this->getCurrentUsage($workspace); - $limit = $toolCallsResult->limit; - - if ($limit !== null && $usage['tool_calls_count'] >= $limit) { - return false; - } - } - - // Check tokens quota - $tokensResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOKENS); - - if (! $tokensResult->isUnlimited() && $tokensResult->isAllowed()) { - $usage = $this->getCurrentUsage($workspace); - $limit = $tokensResult->limit; - - if ($limit !== null && $usage['total_tokens'] >= $limit) { - return false; - } - } - - return true; - } - - /** - * Get detailed quota check result with reasons. - * - * @return array{allowed: bool, reason: ?string, tool_calls: array, tokens: array} - */ - public function checkQuotaDetailed(Workspace|int $workspace): array - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - $workspace = $workspace instanceof Workspace ? $workspace : Workspace::find($workspaceId); - - if (! $workspace) { - return [ - 'allowed' => false, - 'reason' => 'Workspace not found', - 'tool_calls' => ['allowed' => false], - 'tokens' => ['allowed' => false], - ]; - } - - $usage = $this->getCurrentUsage($workspace); - - // Check tool calls - $toolCallsResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOOL_CALLS); - $toolCallsAllowed = true; - $toolCallsReason = null; - - if ($toolCallsResult->isDenied()) { - $toolCallsAllowed = false; - $toolCallsReason = 'MCP tool calls not included in your plan'; - } elseif (! $toolCallsResult->isUnlimited()) { - $limit = $toolCallsResult->limit; - if ($limit !== null && $usage['tool_calls_count'] >= $limit) { - $toolCallsAllowed = false; - $toolCallsReason = "Monthly tool calls limit reached ({$usage['tool_calls_count']}/{$limit})"; - } - } - - // Check tokens - $tokensResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOKENS); - $tokensAllowed = true; - $tokensReason = null; - - if ($tokensResult->isDenied()) { - // Tokens might not be tracked separately - this is OK - $tokensAllowed = true; - } elseif (! $tokensResult->isUnlimited() && $tokensResult->isAllowed()) { - $limit = $tokensResult->limit; - if ($limit !== null && $usage['total_tokens'] >= $limit) { - $tokensAllowed = false; - $tokensReason = "Monthly token limit reached ({$usage['total_tokens']}/{$limit})"; - } - } - - $allowed = $toolCallsAllowed && $tokensAllowed; - $reason = $toolCallsReason ?? $tokensReason; - - return [ - 'allowed' => $allowed, - 'reason' => $reason, - 'tool_calls' => [ - 'allowed' => $toolCallsAllowed, - 'reason' => $toolCallsReason, - 'used' => $usage['tool_calls_count'], - 'limit' => $toolCallsResult->isUnlimited() ? null : $toolCallsResult->limit, - 'unlimited' => $toolCallsResult->isUnlimited(), - ], - 'tokens' => [ - 'allowed' => $tokensAllowed, - 'reason' => $tokensReason, - 'used' => $usage['total_tokens'], - 'input_tokens' => $usage['input_tokens'], - 'output_tokens' => $usage['output_tokens'], - 'limit' => $tokensResult->isUnlimited() ? null : $tokensResult->limit, - 'unlimited' => $tokensResult->isUnlimited(), - ], - ]; - } - - // ───────────────────────────────────────────────────────────────────────── - // Usage Retrieval - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get current month's usage for a workspace. - * - * @return array{tool_calls_count: int, input_tokens: int, output_tokens: int, total_tokens: int, month: string} - */ - public function getCurrentUsage(Workspace|int $workspace): array - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return Cache::remember( - $this->getUsageCacheKey($workspaceId), - 60, // 1 minute cache for current usage - function () use ($workspaceId) { - $quota = McpUsageQuota::getCurrentForWorkspace($workspaceId); - - return [ - 'tool_calls_count' => $quota->tool_calls_count, - 'input_tokens' => $quota->input_tokens, - 'output_tokens' => $quota->output_tokens, - 'total_tokens' => $quota->total_tokens, - 'month' => $quota->month, - ]; - } - ); - } - - /** - * Get remaining quota for a workspace. - * - * @return array{tool_calls: int|null, tokens: int|null, tool_calls_unlimited: bool, tokens_unlimited: bool} - */ - public function getRemainingQuota(Workspace|int $workspace): array - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - $workspace = $workspace instanceof Workspace ? $workspace : Workspace::find($workspaceId); - - if (! $workspace) { - return [ - 'tool_calls' => 0, - 'tokens' => 0, - 'tool_calls_unlimited' => false, - 'tokens_unlimited' => false, - ]; - } - - $usage = $this->getCurrentUsage($workspace); - - // Tool calls remaining - $toolCallsResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOOL_CALLS); - $toolCallsRemaining = null; - $toolCallsUnlimited = $toolCallsResult->isUnlimited(); - - if ($toolCallsResult->isAllowed() && ! $toolCallsUnlimited && $toolCallsResult->limit !== null) { - $toolCallsRemaining = max(0, $toolCallsResult->limit - $usage['tool_calls_count']); - } - - // Tokens remaining - $tokensResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOKENS); - $tokensRemaining = null; - $tokensUnlimited = $tokensResult->isUnlimited(); - - if ($tokensResult->isAllowed() && ! $tokensUnlimited && $tokensResult->limit !== null) { - $tokensRemaining = max(0, $tokensResult->limit - $usage['total_tokens']); - } - - return [ - 'tool_calls' => $toolCallsRemaining, - 'tokens' => $tokensRemaining, - 'tool_calls_unlimited' => $toolCallsUnlimited, - 'tokens_unlimited' => $tokensUnlimited, - ]; - } - - // ───────────────────────────────────────────────────────────────────────── - // Quota Management - // ───────────────────────────────────────────────────────────────────────── - - /** - * Reset monthly quota for a workspace (for billing cycle reset). - */ - public function resetMonthlyQuota(Workspace|int $workspace): McpUsageQuota - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - $quota = McpUsageQuota::getCurrentForWorkspace($workspaceId); - $quota->reset(); - - $this->invalidateUsageCache($workspaceId); - - return $quota; - } - - /** - * Get usage history for a workspace (last N months). - * - * @return \Illuminate\Support\Collection - */ - public function getUsageHistory(Workspace|int $workspace, int $months = 12): \Illuminate\Support\Collection - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return McpUsageQuota::where('workspace_id', $workspaceId) - ->orderByDesc('month') - ->limit($months) - ->get(); - } - - /** - * Get quota limits from entitlements. - * - * @return array{tool_calls_limit: int|null, tokens_limit: int|null, tool_calls_unlimited: bool, tokens_unlimited: bool} - */ - public function getQuotaLimits(Workspace|int $workspace): array - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - $workspace = $workspace instanceof Workspace ? $workspace : Workspace::find($workspaceId); - - if (! $workspace) { - return [ - 'tool_calls_limit' => 0, - 'tokens_limit' => 0, - 'tool_calls_unlimited' => false, - 'tokens_unlimited' => false, - ]; - } - - $cacheKey = "mcp_quota_limits:{$workspaceId}"; - - return Cache::remember($cacheKey, self::CACHE_TTL, function () use ($workspace) { - $toolCallsResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOOL_CALLS); - $tokensResult = $this->entitlements->can($workspace, self::FEATURE_MONTHLY_TOKENS); - - return [ - 'tool_calls_limit' => $toolCallsResult->isUnlimited() ? null : $toolCallsResult->limit, - 'tokens_limit' => $tokensResult->isUnlimited() ? null : $tokensResult->limit, - 'tool_calls_unlimited' => $toolCallsResult->isUnlimited(), - 'tokens_unlimited' => $tokensResult->isUnlimited(), - ]; - }); - } - - // ───────────────────────────────────────────────────────────────────────── - // Response Headers - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get quota info formatted for HTTP response headers. - * - * @return array - */ - public function getQuotaHeaders(Workspace|int $workspace): array - { - $usage = $this->getCurrentUsage($workspace); - $remaining = $this->getRemainingQuota($workspace); - $limits = $this->getQuotaLimits($workspace); - - $headers = [ - 'X-MCP-Quota-Tool-Calls-Used' => (string) $usage['tool_calls_count'], - 'X-MCP-Quota-Tokens-Used' => (string) $usage['total_tokens'], - ]; - - if ($limits['tool_calls_unlimited']) { - $headers['X-MCP-Quota-Tool-Calls-Limit'] = 'unlimited'; - $headers['X-MCP-Quota-Tool-Calls-Remaining'] = 'unlimited'; - } else { - $headers['X-MCP-Quota-Tool-Calls-Limit'] = (string) ($limits['tool_calls_limit'] ?? 0); - $headers['X-MCP-Quota-Tool-Calls-Remaining'] = (string) ($remaining['tool_calls'] ?? 0); - } - - if ($limits['tokens_unlimited']) { - $headers['X-MCP-Quota-Tokens-Limit'] = 'unlimited'; - $headers['X-MCP-Quota-Tokens-Remaining'] = 'unlimited'; - } else { - $headers['X-MCP-Quota-Tokens-Limit'] = (string) ($limits['tokens_limit'] ?? 0); - $headers['X-MCP-Quota-Tokens-Remaining'] = (string) ($remaining['tokens'] ?? 0); - } - - $headers['X-MCP-Quota-Reset'] = now()->endOfMonth()->toIso8601String(); - - return $headers; - } - - // ───────────────────────────────────────────────────────────────────────── - // Cache Management - // ───────────────────────────────────────────────────────────────────────── - - /** - * Invalidate usage cache for a workspace. - */ - public function invalidateUsageCache(int $workspaceId): void - { - Cache::forget($this->getUsageCacheKey($workspaceId)); - Cache::forget("mcp_quota_limits:{$workspaceId}"); - } - - /** - * Get cache key for workspace usage. - */ - protected function getUsageCacheKey(int $workspaceId): string - { - $month = now()->format('Y-m'); - - return "mcp_usage:{$workspaceId}:{$month}"; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/McpWebhookDispatcher.php b/packages/core-mcp/src/Mod/Mcp/Services/McpWebhookDispatcher.php deleted file mode 100644 index 91f0048..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/McpWebhookDispatcher.php +++ /dev/null @@ -1,128 +0,0 @@ -forWorkspace($workspaceId) - ->active() - ->forEvent($eventType) - ->get(); - - if ($endpoints->isEmpty()) { - return; - } - - $payload = [ - 'event' => $eventType, - 'timestamp' => now()->toIso8601String(), - 'data' => [ - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'arguments' => $arguments, - 'success' => $success, - 'duration_ms' => $durationMs, - 'error' => $errorMessage, - ], - ]; - - foreach ($endpoints as $endpoint) { - $this->deliverWebhook($endpoint, $payload); - } - } - - /** - * Deliver a webhook to an endpoint. - */ - protected function deliverWebhook(WebhookEndpoint $endpoint, array $payload): void - { - $payloadJson = json_encode($payload); - $signature = $endpoint->generateSignature($payloadJson); - - $startTime = microtime(true); - - try { - $response = Http::timeout(10) - ->withHeaders([ - 'Content-Type' => 'application/json', - 'X-Webhook-Signature' => $signature, - 'X-Webhook-Event' => $payload['event'], - 'X-Webhook-Timestamp' => $payload['timestamp'], - ]) - ->withBody($payloadJson, 'application/json') - ->post($endpoint->url); - - $durationMs = (int) ((microtime(true) - $startTime) * 1000); - - // Record delivery - WebhookDelivery::create([ - 'webhook_endpoint_id' => $endpoint->id, - 'event_id' => 'evt_'.uniqid(), - 'event_type' => $payload['event'], - 'payload' => $payload, - 'response_code' => $response->status(), - 'response_body' => substr($response->body(), 0, 1000), - 'status' => $response->successful() ? 'success' : 'failed', - 'attempt' => 1, - 'delivered_at' => $response->successful() ? now() : null, - ]); - - if ($response->successful()) { - $endpoint->recordSuccess(); - } else { - $endpoint->recordFailure(); - Log::warning('MCP Webhook delivery failed', [ - 'endpoint_id' => $endpoint->id, - 'url' => $endpoint->url, - 'status' => $response->status(), - ]); - } - } catch (\Throwable $e) { - $durationMs = (int) ((microtime(true) - $startTime) * 1000); - - WebhookDelivery::create([ - 'webhook_endpoint_id' => $endpoint->id, - 'event_id' => 'evt_'.uniqid(), - 'event_type' => $payload['event'], - 'payload' => $payload, - 'response_code' => 0, - 'response_body' => $e->getMessage(), - 'status' => 'failed', - 'attempt' => 1, - ]); - - $endpoint->recordFailure(); - - Log::error('MCP Webhook delivery error', [ - 'endpoint_id' => $endpoint->id, - 'url' => $endpoint->url, - 'error' => $e->getMessage(), - ]); - } - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/OpenApiGenerator.php b/packages/core-mcp/src/Mod/Mcp/Services/OpenApiGenerator.php deleted file mode 100644 index 6872eb3..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/OpenApiGenerator.php +++ /dev/null @@ -1,409 +0,0 @@ -loadRegistry(); - $this->loadServers(); - - return [ - 'openapi' => '3.0.3', - 'info' => $this->buildInfo(), - 'servers' => $this->buildServers(), - 'tags' => $this->buildTags(), - 'paths' => $this->buildPaths(), - 'components' => $this->buildComponents(), - ]; - } - - public function toJson(): string - { - return json_encode($this->generate(), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - } - - public function toYaml(): string - { - return Yaml::dump($this->generate(), 10, 2); - } - - protected function loadRegistry(): void - { - $path = resource_path('mcp/registry.yaml'); - $this->registry = file_exists($path) ? Yaml::parseFile($path) : ['servers' => []]; - } - - protected function loadServers(): void - { - foreach ($this->registry['servers'] ?? [] as $ref) { - $path = resource_path("mcp/servers/{$ref['id']}.yaml"); - if (file_exists($path)) { - $this->servers[$ref['id']] = Yaml::parseFile($path); - } - } - } - - protected function buildInfo(): array - { - return [ - 'title' => 'Host UK MCP API', - 'description' => 'HTTP API for interacting with Host UK MCP servers. Execute tools, read resources, and discover available capabilities.', - 'version' => '1.0.0', - 'contact' => [ - 'name' => 'Host UK Support', - 'url' => 'https://host.uk.com/contact', - 'email' => 'support@host.uk.com', - ], - 'license' => [ - 'name' => 'Proprietary', - 'url' => 'https://host.uk.com/terms', - ], - ]; - } - - protected function buildServers(): array - { - return [ - [ - 'url' => 'https://mcp.host.uk.com/api/v1/mcp', - 'description' => 'Production', - ], - [ - 'url' => 'https://mcp.test/api/v1/mcp', - 'description' => 'Local development', - ], - ]; - } - - protected function buildTags(): array - { - $tags = [ - [ - 'name' => 'Discovery', - 'description' => 'Server and tool discovery endpoints', - ], - [ - 'name' => 'Execution', - 'description' => 'Tool execution endpoints', - ], - ]; - - foreach ($this->servers as $id => $server) { - $tags[] = [ - 'name' => $server['name'] ?? $id, - 'description' => $server['tagline'] ?? $server['description'] ?? '', - ]; - } - - return $tags; - } - - protected function buildPaths(): array - { - $paths = []; - - // Discovery endpoints - $paths['/servers'] = [ - 'get' => [ - 'tags' => ['Discovery'], - 'summary' => 'List all MCP servers', - 'operationId' => 'listServers', - 'security' => [['bearerAuth' => []], ['apiKeyAuth' => []]], - 'responses' => [ - '200' => [ - 'description' => 'List of available servers', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/ServerList', - ], - ], - ], - ], - ], - ], - ]; - - $paths['/servers/{serverId}'] = [ - 'get' => [ - 'tags' => ['Discovery'], - 'summary' => 'Get server details', - 'operationId' => 'getServer', - 'security' => [['bearerAuth' => []], ['apiKeyAuth' => []]], - 'parameters' => [ - [ - 'name' => 'serverId', - 'in' => 'path', - 'required' => true, - 'schema' => ['type' => 'string'], - 'description' => 'Server identifier', - ], - ], - 'responses' => [ - '200' => [ - 'description' => 'Server details with tools and resources', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/Server', - ], - ], - ], - ], - '404' => ['description' => 'Server not found'], - ], - ], - ]; - - $paths['/servers/{serverId}/tools'] = [ - 'get' => [ - 'tags' => ['Discovery'], - 'summary' => 'List tools for a server', - 'operationId' => 'listServerTools', - 'security' => [['bearerAuth' => []], ['apiKeyAuth' => []]], - 'parameters' => [ - [ - 'name' => 'serverId', - 'in' => 'path', - 'required' => true, - 'schema' => ['type' => 'string'], - ], - ], - 'responses' => [ - '200' => [ - 'description' => 'List of tools', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/ToolList', - ], - ], - ], - ], - ], - ], - ]; - - // Execution endpoint - $paths['/tools/call'] = [ - 'post' => [ - 'tags' => ['Execution'], - 'summary' => 'Execute an MCP tool', - 'operationId' => 'callTool', - 'security' => [['bearerAuth' => []], ['apiKeyAuth' => []]], - 'requestBody' => [ - 'required' => true, - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/ToolCallRequest', - ], - ], - ], - ], - 'responses' => [ - '200' => [ - 'description' => 'Tool executed successfully', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/ToolCallResponse', - ], - ], - ], - ], - '400' => ['description' => 'Invalid request'], - '401' => ['description' => 'Unauthorized'], - '404' => ['description' => 'Server or tool not found'], - '500' => ['description' => 'Tool execution error'], - ], - ], - ]; - - // Resource endpoint - $paths['/resources/{uri}'] = [ - 'get' => [ - 'tags' => ['Execution'], - 'summary' => 'Read a resource', - 'operationId' => 'readResource', - 'security' => [['bearerAuth' => []], ['apiKeyAuth' => []]], - 'parameters' => [ - [ - 'name' => 'uri', - 'in' => 'path', - 'required' => true, - 'schema' => ['type' => 'string'], - 'description' => 'Resource URI (server://path)', - ], - ], - 'responses' => [ - '200' => [ - 'description' => 'Resource content', - 'content' => [ - 'application/json' => [ - 'schema' => [ - '$ref' => '#/components/schemas/ResourceResponse', - ], - ], - ], - ], - ], - ], - ]; - - return $paths; - } - - protected function buildComponents(): array - { - return [ - 'securitySchemes' => [ - 'bearerAuth' => [ - 'type' => 'http', - 'scheme' => 'bearer', - 'description' => 'API key in Bearer format: hk_xxx_yyy', - ], - 'apiKeyAuth' => [ - 'type' => 'apiKey', - 'in' => 'header', - 'name' => 'X-API-Key', - 'description' => 'API key header', - ], - ], - 'schemas' => $this->buildSchemas(), - ]; - } - - protected function buildSchemas(): array - { - $schemas = [ - 'ServerList' => [ - 'type' => 'object', - 'properties' => [ - 'servers' => [ - 'type' => 'array', - 'items' => ['$ref' => '#/components/schemas/ServerSummary'], - ], - 'count' => ['type' => 'integer'], - ], - ], - 'ServerSummary' => [ - 'type' => 'object', - 'properties' => [ - 'id' => ['type' => 'string'], - 'name' => ['type' => 'string'], - 'tagline' => ['type' => 'string'], - 'status' => ['type' => 'string', 'enum' => ['available', 'beta', 'deprecated']], - 'tool_count' => ['type' => 'integer'], - 'resource_count' => ['type' => 'integer'], - ], - ], - 'Server' => [ - 'type' => 'object', - 'properties' => [ - 'id' => ['type' => 'string'], - 'name' => ['type' => 'string'], - 'tagline' => ['type' => 'string'], - 'description' => ['type' => 'string'], - 'tools' => [ - 'type' => 'array', - 'items' => ['$ref' => '#/components/schemas/Tool'], - ], - 'resources' => [ - 'type' => 'array', - 'items' => ['$ref' => '#/components/schemas/Resource'], - ], - ], - ], - 'Tool' => [ - 'type' => 'object', - 'properties' => [ - 'name' => ['type' => 'string'], - 'description' => ['type' => 'string'], - 'inputSchema' => [ - 'type' => 'object', - 'additionalProperties' => true, - ], - ], - ], - 'Resource' => [ - 'type' => 'object', - 'properties' => [ - 'uri' => ['type' => 'string'], - 'name' => ['type' => 'string'], - 'description' => ['type' => 'string'], - 'mimeType' => ['type' => 'string'], - ], - ], - 'ToolList' => [ - 'type' => 'object', - 'properties' => [ - 'server' => ['type' => 'string'], - 'tools' => [ - 'type' => 'array', - 'items' => ['$ref' => '#/components/schemas/Tool'], - ], - 'count' => ['type' => 'integer'], - ], - ], - 'ToolCallRequest' => [ - 'type' => 'object', - 'required' => ['server', 'tool'], - 'properties' => [ - 'server' => [ - 'type' => 'string', - 'description' => 'Server ID', - ], - 'tool' => [ - 'type' => 'string', - 'description' => 'Tool name', - ], - 'arguments' => [ - 'type' => 'object', - 'description' => 'Tool arguments', - 'additionalProperties' => true, - ], - ], - ], - 'ToolCallResponse' => [ - 'type' => 'object', - 'properties' => [ - 'success' => ['type' => 'boolean'], - 'server' => ['type' => 'string'], - 'tool' => ['type' => 'string'], - 'result' => [ - 'type' => 'object', - 'additionalProperties' => true, - ], - 'duration_ms' => ['type' => 'integer'], - 'error' => ['type' => 'string'], - ], - ], - 'ResourceResponse' => [ - 'type' => 'object', - 'properties' => [ - 'uri' => ['type' => 'string'], - 'content' => [ - 'type' => 'object', - 'additionalProperties' => true, - ], - ], - ], - ]; - - return $schemas; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/SqlQueryValidator.php b/packages/core-mcp/src/Mod/Mcp/Services/SqlQueryValidator.php deleted file mode 100644 index 134186a..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/SqlQueryValidator.php +++ /dev/null @@ -1,302 +0,0 @@ - value, etc. - * - Supports AND/OR logical operators - * - Allows LIKE, IN, BETWEEN, IS NULL/NOT NULL operators - * - No subqueries (no nested SELECT) - * - No function calls except common safe ones - */ - private const DEFAULT_WHITELIST = [ - // Simple SELECT from single table with optional WHERE - '/^\s*SELECT\s+[\w\s,.*`]+\s+FROM\s+`?\w+`?(\s+WHERE\s+[\w\s`.,!=<>\'"%()]+(\s+(AND|OR)\s+[\w\s`.,!=<>\'"%()]+)*)?(\s+ORDER\s+BY\s+[\w\s,`]+(\s+(ASC|DESC))?)?(\s+LIMIT\s+\d+(\s*,\s*\d+)?)?;?\s*$/i', - // COUNT queries - '/^\s*SELECT\s+COUNT\s*\(\s*\*?\s*\)\s+FROM\s+`?\w+`?(\s+WHERE\s+[\w\s`.,!=<>\'"%()]+(\s+(AND|OR)\s+[\w\s`.,!=<>\'"%()]+)*)?;?\s*$/i', - // SELECT with explicit column list - '/^\s*SELECT\s+`?\w+`?(\s*,\s*`?\w+`?)*\s+FROM\s+`?\w+`?(\s+WHERE\s+[\w\s`.,!=<>\'"%()]+(\s+(AND|OR)\s+[\w\s`.,!=<>\'"%()]+)*)?(\s+ORDER\s+BY\s+[\w\s,`]+)?(\s+LIMIT\s+\d+)?;?\s*$/i', - ]; - - private array $whitelist; - - private bool $useWhitelist; - - public function __construct( - ?array $whitelist = null, - bool $useWhitelist = true - ) { - $this->whitelist = $whitelist ?? self::DEFAULT_WHITELIST; - $this->useWhitelist = $useWhitelist; - } - - /** - * Validate a SQL query for safety. - * - * @throws ForbiddenQueryException If the query fails validation - */ - public function validate(string $query): void - { - // Check for dangerous patterns on the ORIGINAL query first - // This catches attempts to obfuscate keywords with comments - $this->checkDangerousPatterns($query); - - // Now normalise and continue validation - $query = $this->normaliseQuery($query); - - $this->checkBlockedKeywords($query); - $this->checkQueryStructure($query); - - if ($this->useWhitelist) { - $this->checkWhitelist($query); - } - } - - /** - * Check if a query is valid without throwing. - */ - public function isValid(string $query): bool - { - try { - $this->validate($query); - - return true; - } catch (ForbiddenQueryException) { - return false; - } - } - - /** - * Add a pattern to the whitelist. - */ - public function addWhitelistPattern(string $pattern): self - { - $this->whitelist[] = $pattern; - - return $this; - } - - /** - * Replace the entire whitelist. - */ - public function setWhitelist(array $patterns): self - { - $this->whitelist = $patterns; - - return $this; - } - - /** - * Enable or disable whitelist checking. - */ - public function setUseWhitelist(bool $use): self - { - $this->useWhitelist = $use; - - return $this; - } - - /** - * Normalise the query for consistent validation. - */ - private function normaliseQuery(string $query): string - { - // Remove SQL comments - $query = $this->stripComments($query); - - // Normalise whitespace - $query = preg_replace('/\s+/', ' ', $query); - - return trim($query); - } - - /** - * Strip SQL comments which could be used to bypass filters. - */ - private function stripComments(string $query): string - { - // Remove -- style comments - $query = preg_replace('/--.*$/m', '', $query); - - // Remove # style comments - $query = preg_replace('/#.*$/m', '', $query); - - // Remove /* */ style comments (including multi-line) - $query = preg_replace('/\/\*.*?\*\//s', '', $query); - - // Remove /*! MySQL-specific comments that execute code - $query = preg_replace('/\/\*!.*?\*\//s', '', $query); - - return $query; - } - - /** - * Check for blocked SQL keywords. - * - * @throws ForbiddenQueryException - */ - private function checkBlockedKeywords(string $query): void - { - $upperQuery = strtoupper($query); - - foreach (self::BLOCKED_KEYWORDS as $keyword) { - // Use word boundary check for most keywords - $pattern = '/\b'.preg_quote($keyword, '/').'\b/i'; - - if (preg_match($pattern, $query)) { - throw ForbiddenQueryException::disallowedKeyword($query, $keyword); - } - } - } - - /** - * Check for dangerous patterns that indicate injection. - * - * @throws ForbiddenQueryException - */ - private function checkDangerousPatterns(string $query): void - { - foreach (self::DANGEROUS_PATTERNS as $pattern) { - if (preg_match($pattern, $query)) { - throw ForbiddenQueryException::invalidStructure( - $query, - 'Query contains potentially malicious pattern' - ); - } - } - } - - /** - * Check basic query structure. - * - * @throws ForbiddenQueryException - */ - private function checkQueryStructure(string $query): void - { - // Must start with SELECT - if (! preg_match('/^\s*SELECT\b/i', $query)) { - throw ForbiddenQueryException::invalidStructure( - $query, - 'Query must begin with SELECT' - ); - } - - // Check for multiple statements (stacked queries) - // After stripping comments, there should be at most one semicolon at the end - $semicolonCount = substr_count($query, ';'); - if ($semicolonCount > 1) { - throw ForbiddenQueryException::invalidStructure( - $query, - 'Multiple statements detected' - ); - } - - if ($semicolonCount === 1 && ! preg_match('/;\s*$/', $query)) { - throw ForbiddenQueryException::invalidStructure( - $query, - 'Semicolon only allowed at end of query' - ); - } - } - - /** - * Check if query matches at least one whitelist pattern. - * - * @throws ForbiddenQueryException - */ - private function checkWhitelist(string $query): void - { - foreach ($this->whitelist as $pattern) { - if (preg_match($pattern, $query)) { - return; // Query matches a whitelisted pattern - } - } - - throw ForbiddenQueryException::notWhitelisted($query); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/ToolAnalyticsService.php b/packages/core-mcp/src/Mod/Mcp/Services/ToolAnalyticsService.php deleted file mode 100644 index daa67c1..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/ToolAnalyticsService.php +++ /dev/null @@ -1,386 +0,0 @@ - - */ - protected array $pendingMetrics = []; - - /** - * Track tools used in current session for combination tracking. - * - * @var array> - */ - protected array $sessionTools = []; - - /** - * Record a tool execution. - */ - public function recordExecution( - string $tool, - int $durationMs, - bool $success, - ?string $workspaceId = null, - ?string $sessionId = null - ): void { - if (! config('mcp.analytics.enabled', true)) { - return; - } - - $key = $this->getMetricKey($tool, $workspaceId); - - if (! isset($this->pendingMetrics[$key])) { - $this->pendingMetrics[$key] = [ - 'tool_name' => $tool, - 'workspace_id' => $workspaceId, - 'calls' => 0, - 'errors' => 0, - 'duration' => 0, - 'min' => null, - 'max' => null, - ]; - } - - $this->pendingMetrics[$key]['calls']++; - $this->pendingMetrics[$key]['duration'] += $durationMs; - - if (! $success) { - $this->pendingMetrics[$key]['errors']++; - } - - if ($this->pendingMetrics[$key]['min'] === null || $durationMs < $this->pendingMetrics[$key]['min']) { - $this->pendingMetrics[$key]['min'] = $durationMs; - } - - if ($this->pendingMetrics[$key]['max'] === null || $durationMs > $this->pendingMetrics[$key]['max']) { - $this->pendingMetrics[$key]['max'] = $durationMs; - } - - // Track tool combinations if session ID provided - if ($sessionId !== null) { - $this->trackToolInSession($sessionId, $tool, $workspaceId); - } - - // Flush if batch size reached - $batchSize = config('mcp.analytics.batch_size', 100); - if ($this->getTotalPendingCalls() >= $batchSize) { - $this->flush(); - } - } - - /** - * Get statistics for a specific tool. - */ - public function getToolStats(string $tool, ?Carbon $from = null, ?Carbon $to = null): ToolStats - { - $from = $from ?? now()->subDays(30); - $to = $to ?? now(); - - $stats = ToolMetric::getAggregatedStats($tool, $from, $to); - - return ToolStats::fromArray($stats); - } - - /** - * Get statistics for all tools. - */ - public function getAllToolStats(?Carbon $from = null, ?Carbon $to = null): Collection - { - $from = $from ?? now()->subDays(30); - $to = $to ?? now(); - - $results = ToolMetric::query() - ->select('tool_name') - ->selectRaw('SUM(call_count) as total_calls') - ->selectRaw('SUM(error_count) as error_count') - ->selectRaw('SUM(total_duration_ms) as total_duration') - ->selectRaw('MIN(min_duration_ms) as min_duration_ms') - ->selectRaw('MAX(max_duration_ms) as max_duration_ms') - ->forDateRange($from, $to) - ->groupBy('tool_name') - ->orderByDesc('total_calls') - ->get(); - - return $results->map(function ($row) { - $totalCalls = (int) $row->total_calls; - $errorCount = (int) $row->error_count; - $totalDuration = (int) $row->total_duration; - - return new ToolStats( - toolName: $row->tool_name, - totalCalls: $totalCalls, - errorCount: $errorCount, - errorRate: $totalCalls > 0 ? round(($errorCount / $totalCalls) * 100, 2) : 0.0, - avgDurationMs: $totalCalls > 0 ? round($totalDuration / $totalCalls, 2) : 0.0, - minDurationMs: (int) ($row->min_duration_ms ?? 0), - maxDurationMs: (int) ($row->max_duration_ms ?? 0), - ); - }); - } - - /** - * Get the most popular tools by call count. - */ - public function getPopularTools(int $limit = 10, ?Carbon $from = null, ?Carbon $to = null): Collection - { - return $this->getAllToolStats($from, $to) - ->sortByDesc(fn (ToolStats $stats) => $stats->totalCalls) - ->take($limit) - ->values(); - } - - /** - * Get tools with the highest error rates. - */ - public function getErrorProneTools(int $limit = 10, ?Carbon $from = null, ?Carbon $to = null): Collection - { - $minCalls = 10; // Require minimum calls to be considered - - return $this->getAllToolStats($from, $to) - ->filter(fn (ToolStats $stats) => $stats->totalCalls >= $minCalls) - ->sortByDesc(fn (ToolStats $stats) => $stats->errorRate) - ->take($limit) - ->values(); - } - - /** - * Get tool combinations - tools frequently used together. - */ - public function getToolCombinations(int $limit = 10, ?Carbon $from = null, ?Carbon $to = null): Collection - { - $from = $from ?? now()->subDays(30); - $to = $to ?? now(); - - return DB::table('mcp_tool_combinations') - ->select('tool_a', 'tool_b') - ->selectRaw('SUM(occurrence_count) as total_occurrences') - ->whereBetween('date', [$from->toDateString(), $to->toDateString()]) - ->groupBy('tool_a', 'tool_b') - ->orderByDesc('total_occurrences') - ->limit($limit) - ->get() - ->map(fn ($row) => [ - 'tool_a' => $row->tool_a, - 'tool_b' => $row->tool_b, - 'occurrences' => (int) $row->total_occurrences, - ]); - } - - /** - * Get usage trends for a specific tool. - */ - public function getUsageTrends(string $tool, int $days = 30): array - { - $startDate = now()->subDays($days - 1)->startOfDay(); - $endDate = now()->endOfDay(); - - $metrics = ToolMetric::forTool($tool) - ->forDateRange($startDate, $endDate) - ->orderBy('date') - ->get() - ->keyBy(fn ($m) => $m->date->toDateString()); - - $trends = []; - - for ($i = $days - 1; $i >= 0; $i--) { - $date = now()->subDays($i)->toDateString(); - $metric = $metrics->get($date); - - $trends[] = [ - 'date' => $date, - 'date_formatted' => Carbon::parse($date)->format('M j'), - 'calls' => $metric?->call_count ?? 0, - 'errors' => $metric?->error_count ?? 0, - 'avg_duration_ms' => $metric?->average_duration ?? 0, - 'error_rate' => $metric?->error_rate ?? 0, - ]; - } - - return $trends; - } - - /** - * Get workspace-specific statistics. - */ - public function getWorkspaceStats(string $workspaceId, ?Carbon $from = null, ?Carbon $to = null): array - { - $from = $from ?? now()->subDays(30); - $to = $to ?? now(); - - $results = ToolMetric::query() - ->forWorkspace($workspaceId) - ->forDateRange($from, $to) - ->get(); - - $totalCalls = $results->sum('call_count'); - $errorCount = $results->sum('error_count'); - $totalDuration = $results->sum('total_duration_ms'); - $uniqueTools = $results->pluck('tool_name')->unique()->count(); - - return [ - 'workspace_id' => $workspaceId, - 'total_calls' => $totalCalls, - 'error_count' => $errorCount, - 'error_rate' => $totalCalls > 0 ? round(($errorCount / $totalCalls) * 100, 2) : 0.0, - 'avg_duration_ms' => $totalCalls > 0 ? round($totalDuration / $totalCalls, 2) : 0.0, - 'unique_tools' => $uniqueTools, - ]; - } - - /** - * Flush pending metrics to the database. - */ - public function flush(): void - { - if (empty($this->pendingMetrics)) { - return; - } - - $date = now()->toDateString(); - - foreach ($this->pendingMetrics as $data) { - $metric = ToolMetric::firstOrCreate([ - 'tool_name' => $data['tool_name'], - 'workspace_id' => $data['workspace_id'], - 'date' => $date, - ], [ - 'call_count' => 0, - 'error_count' => 0, - 'total_duration_ms' => 0, - ]); - - $metric->call_count += $data['calls']; - $metric->error_count += $data['errors']; - $metric->total_duration_ms += $data['duration']; - - if ($data['min'] !== null) { - if ($metric->min_duration_ms === null || $data['min'] < $metric->min_duration_ms) { - $metric->min_duration_ms = $data['min']; - } - } - - if ($data['max'] !== null) { - if ($metric->max_duration_ms === null || $data['max'] > $metric->max_duration_ms) { - $metric->max_duration_ms = $data['max']; - } - } - - $metric->save(); - } - - // Flush session tool combinations - $this->flushToolCombinations(); - - $this->pendingMetrics = []; - } - - /** - * Track a tool being used in a session. - */ - protected function trackToolInSession(string $sessionId, string $tool, ?string $workspaceId): void - { - $key = $sessionId.':'.($workspaceId ?? 'global'); - - if (! isset($this->sessionTools[$key])) { - $this->sessionTools[$key] = [ - 'workspace_id' => $workspaceId, - 'tools' => [], - ]; - } - - if (! in_array($tool, $this->sessionTools[$key]['tools'], true)) { - $this->sessionTools[$key]['tools'][] = $tool; - } - } - - /** - * Flush tool combinations to the database. - */ - protected function flushToolCombinations(): void - { - $date = now()->toDateString(); - - foreach ($this->sessionTools as $sessionData) { - $tools = $sessionData['tools']; - $workspaceId = $sessionData['workspace_id']; - - // Generate all unique pairs - $count = count($tools); - for ($i = 0; $i < $count; $i++) { - for ($j = $i + 1; $j < $count; $j++) { - // Ensure consistent ordering (alphabetical) - $pair = [$tools[$i], $tools[$j]]; - sort($pair); - - DB::table('mcp_tool_combinations') - ->updateOrInsert( - [ - 'tool_a' => $pair[0], - 'tool_b' => $pair[1], - 'workspace_id' => $workspaceId, - 'date' => $date, - ], - [ - 'occurrence_count' => DB::raw('occurrence_count + 1'), - 'updated_at' => now(), - ] - ); - - // Handle insert case where occurrence_count wasn't set - DB::table('mcp_tool_combinations') - ->where('tool_a', $pair[0]) - ->where('tool_b', $pair[1]) - ->where('workspace_id', $workspaceId) - ->where('date', $date) - ->whereNull('created_at') - ->update([ - 'created_at' => now(), - 'occurrence_count' => 1, - ]); - } - } - } - - $this->sessionTools = []; - } - - /** - * Get the metric key for batching. - */ - protected function getMetricKey(string $tool, ?string $workspaceId): string - { - return $tool.':'.($workspaceId ?? 'global'); - } - - /** - * Get total pending calls across all batches. - */ - protected function getTotalPendingCalls(): int - { - $total = 0; - foreach ($this->pendingMetrics as $data) { - $total += $data['calls']; - } - - return $total; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/ToolDependencyService.php b/packages/core-mcp/src/Mod/Mcp/Services/ToolDependencyService.php deleted file mode 100644 index 3376f77..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/ToolDependencyService.php +++ /dev/null @@ -1,496 +0,0 @@ -> - */ - protected array $dependencies = []; - - /** - * Custom dependency validators. - * - * @var array - */ - protected array $customValidators = []; - - public function __construct() - { - $this->registerDefaultDependencies(); - } - - /** - * Register dependencies for a tool. - * - * @param string $toolName The tool name - * @param array $dependencies List of dependencies - */ - public function register(string $toolName, array $dependencies): self - { - $this->dependencies[$toolName] = $dependencies; - - return $this; - } - - /** - * Register a custom validator for CUSTOM dependency types. - * - * @param string $name The custom dependency name - * @param callable $validator Function(array $context, array $args): bool - */ - public function registerCustomValidator(string $name, callable $validator): self - { - $this->customValidators[$name] = $validator; - - return $this; - } - - /** - * Get dependencies for a tool. - * - * @return array - */ - public function getDependencies(string $toolName): array - { - return $this->dependencies[$toolName] ?? []; - } - - /** - * Check if all dependencies are met for a tool. - * - * @param string $sessionId The session identifier - * @param string $toolName The tool to check - * @param array $context The execution context - * @param array $args The tool arguments - * @return bool True if all dependencies are met - */ - public function checkDependencies(string $sessionId, string $toolName, array $context = [], array $args = []): bool - { - $missing = $this->getMissingDependencies($sessionId, $toolName, $context, $args); - - return empty($missing); - } - - /** - * Get list of missing dependencies for a tool. - * - * @param string $sessionId The session identifier - * @param string $toolName The tool to check - * @param array $context The execution context - * @param array $args The tool arguments - * @return array List of unmet dependencies - */ - public function getMissingDependencies(string $sessionId, string $toolName, array $context = [], array $args = []): array - { - $dependencies = $this->getDependencies($toolName); - - if (empty($dependencies)) { - return []; - } - - $calledTools = $this->getCalledTools($sessionId); - $missing = []; - - foreach ($dependencies as $dependency) { - if ($dependency->optional) { - continue; // Skip optional dependencies - } - - $isMet = $this->isDependencyMet($dependency, $calledTools, $context, $args); - - if (! $isMet) { - $missing[] = $dependency; - } - } - - return $missing; - } - - /** - * Validate dependencies and throw exception if not met. - * - * @param string $sessionId The session identifier - * @param string $toolName The tool to validate - * @param array $context The execution context - * @param array $args The tool arguments - * - * @throws MissingDependencyException If dependencies are not met - */ - public function validateDependencies(string $sessionId, string $toolName, array $context = [], array $args = []): void - { - $missing = $this->getMissingDependencies($sessionId, $toolName, $context, $args); - - if (! empty($missing)) { - $suggestedOrder = $this->getSuggestedToolOrder($toolName, $missing); - - throw new MissingDependencyException($toolName, $missing, $suggestedOrder); - } - } - - /** - * Record that a tool was called in a session. - * - * @param string $sessionId The session identifier - * @param string $toolName The tool that was called - * @param array $args The arguments used (for entity tracking) - */ - public function recordToolCall(string $sessionId, string $toolName, array $args = []): void - { - $key = self::SESSION_CACHE_PREFIX.$sessionId; - $history = Cache::get($key, []); - - $history[] = [ - 'tool' => $toolName, - 'args' => $args, - 'timestamp' => now()->toIso8601String(), - ]; - - Cache::put($key, $history, self::SESSION_CACHE_TTL); - } - - /** - * Get list of tools called in a session. - * - * @return array Tool names that have been called - */ - public function getCalledTools(string $sessionId): array - { - $key = self::SESSION_CACHE_PREFIX.$sessionId; - $history = Cache::get($key, []); - - return array_unique(array_column($history, 'tool')); - } - - /** - * Get full tool call history for a session. - * - * @return array - */ - public function getToolHistory(string $sessionId): array - { - $key = self::SESSION_CACHE_PREFIX.$sessionId; - - return Cache::get($key, []); - } - - /** - * Clear session tool history. - */ - public function clearSession(string $sessionId): void - { - Cache::forget(self::SESSION_CACHE_PREFIX.$sessionId); - } - - /** - * Get the full dependency graph for visualization. - * - * @return array - */ - public function getDependencyGraph(): array - { - $graph = []; - - // Build forward dependencies - foreach ($this->dependencies as $tool => $deps) { - $graph[$tool] = [ - 'dependencies' => array_map(fn (ToolDependency $d) => $d->toArray(), $deps), - 'dependents' => [], - ]; - } - - // Build reverse dependencies (who depends on whom) - foreach ($this->dependencies as $tool => $deps) { - foreach ($deps as $dep) { - if ($dep->type === DependencyType::TOOL_CALLED) { - if (! isset($graph[$dep->key])) { - $graph[$dep->key] = [ - 'dependencies' => [], - 'dependents' => [], - ]; - } - $graph[$dep->key]['dependents'][] = $tool; - } - } - } - - return $graph; - } - - /** - * Get all tools that depend on a specific tool. - * - * @return array Tool names that depend on the given tool - */ - public function getDependentTools(string $toolName): array - { - $dependents = []; - - foreach ($this->dependencies as $tool => $deps) { - foreach ($deps as $dep) { - if ($dep->type === DependencyType::TOOL_CALLED && $dep->key === $toolName) { - $dependents[] = $tool; - } - } - } - - return $dependents; - } - - /** - * Get all tools in dependency order (topological sort). - * - * @return array Tools sorted by dependency order - */ - public function getTopologicalOrder(): array - { - $visited = []; - $order = []; - $tools = array_keys($this->dependencies); - - foreach ($tools as $tool) { - $this->topologicalVisit($tool, $visited, $order); - } - - return $order; - } - - /** - * Check if a specific dependency is met. - */ - protected function isDependencyMet( - ToolDependency $dependency, - array $calledTools, - array $context, - array $args - ): bool { - return match ($dependency->type) { - DependencyType::TOOL_CALLED => in_array($dependency->key, $calledTools, true), - DependencyType::SESSION_STATE => isset($context[$dependency->key]) && $context[$dependency->key] !== null, - DependencyType::CONTEXT_EXISTS => array_key_exists($dependency->key, $context), - DependencyType::ENTITY_EXISTS => $this->checkEntityExists($dependency, $args, $context), - DependencyType::CUSTOM => $this->checkCustomDependency($dependency, $context, $args), - }; - } - - /** - * Check if an entity exists based on the dependency configuration. - */ - protected function checkEntityExists(ToolDependency $dependency, array $args, array $context): bool - { - $entityType = $dependency->key; - $argKey = $dependency->metadata['arg_key'] ?? null; - - if (! $argKey || ! isset($args[$argKey])) { - return false; - } - - // Check based on entity type - return match ($entityType) { - 'plan' => $this->planExists($args[$argKey]), - 'session' => $this->sessionExists($args[$argKey] ?? $context['session_id'] ?? null), - 'phase' => $this->phaseExists($args['plan_slug'] ?? null, $args[$argKey] ?? null), - default => true, // Unknown entity types pass by default - }; - } - - /** - * Check if a plan exists. - */ - protected function planExists(?string $slug): bool - { - if (! $slug) { - return false; - } - - // Use a simple database check - the model namespace may vary - return \DB::table('agent_plans')->where('slug', $slug)->exists(); - } - - /** - * Check if a session exists. - */ - protected function sessionExists(?string $sessionId): bool - { - if (! $sessionId) { - return false; - } - - return \DB::table('agent_sessions')->where('session_id', $sessionId)->exists(); - } - - /** - * Check if a phase exists. - */ - protected function phaseExists(?string $planSlug, ?string $phaseIdentifier): bool - { - if (! $planSlug || ! $phaseIdentifier) { - return false; - } - - $plan = \DB::table('agent_plans')->where('slug', $planSlug)->first(); - if (! $plan) { - return false; - } - - $query = \DB::table('agent_phases')->where('agent_plan_id', $plan->id); - - if (is_numeric($phaseIdentifier)) { - return $query->where('order', (int) $phaseIdentifier)->exists(); - } - - return $query->where('name', $phaseIdentifier)->exists(); - } - - /** - * Check a custom dependency using registered validator. - */ - protected function checkCustomDependency(ToolDependency $dependency, array $context, array $args): bool - { - $validator = $this->customValidators[$dependency->key] ?? null; - - if (! $validator) { - // No validator registered - pass by default with warning - return true; - } - - return call_user_func($validator, $context, $args); - } - - /** - * Get suggested tool order to satisfy dependencies. - * - * @param array $missing - * @return array - */ - protected function getSuggestedToolOrder(string $targetTool, array $missing): array - { - $order = []; - - foreach ($missing as $dep) { - if ($dep->type === DependencyType::TOOL_CALLED) { - // Recursively get dependencies of the required tool - $preDeps = $this->getDependencies($dep->key); - foreach ($preDeps as $preDep) { - if ($preDep->type === DependencyType::TOOL_CALLED && ! in_array($preDep->key, $order, true)) { - $order[] = $preDep->key; - } - } - - if (! in_array($dep->key, $order, true)) { - $order[] = $dep->key; - } - } - } - - $order[] = $targetTool; - - return $order; - } - - /** - * Helper for topological sort. - */ - protected function topologicalVisit(string $tool, array &$visited, array &$order): void - { - if (isset($visited[$tool])) { - return; - } - - $visited[$tool] = true; - - foreach ($this->getDependencies($tool) as $dep) { - if ($dep->type === DependencyType::TOOL_CALLED) { - $this->topologicalVisit($dep->key, $visited, $order); - } - } - - $order[] = $tool; - } - - /** - * Register default dependencies for known tools. - */ - protected function registerDefaultDependencies(): void - { - // Session tools - session_log/artifact/handoff require active session - $this->register('session_log', [ - ToolDependency::sessionState('session_id', 'Active session required. Call session_start first.'), - ]); - - $this->register('session_artifact', [ - ToolDependency::sessionState('session_id', 'Active session required. Call session_start first.'), - ]); - - $this->register('session_handoff', [ - ToolDependency::sessionState('session_id', 'Active session required. Call session_start first.'), - ]); - - $this->register('session_end', [ - ToolDependency::sessionState('session_id', 'Active session required. Call session_start first.'), - ]); - - // Plan tools - require workspace context - $this->register('plan_create', [ - ToolDependency::contextExists('workspace_id', 'Workspace context required'), - ]); - - // Task tools - require plan to exist - $this->register('task_update', [ - ToolDependency::entityExists('plan', 'Plan must exist', ['arg_key' => 'plan_slug']), - ]); - - $this->register('task_toggle', [ - ToolDependency::entityExists('plan', 'Plan must exist', ['arg_key' => 'plan_slug']), - ]); - - // Phase tools - require plan to exist - $this->register('phase_get', [ - ToolDependency::entityExists('plan', 'Plan must exist', ['arg_key' => 'plan_slug']), - ]); - - $this->register('phase_update_status', [ - ToolDependency::entityExists('plan', 'Plan must exist', ['arg_key' => 'plan_slug']), - ]); - - $this->register('phase_add_checkpoint', [ - ToolDependency::entityExists('plan', 'Plan must exist', ['arg_key' => 'plan_slug']), - ]); - - // Content tools - require brief to exist for generation - $this->register('content_generate', [ - ToolDependency::contextExists('workspace_id', 'Workspace context required'), - ]); - - $this->register('content_batch_generate', [ - ToolDependency::contextExists('workspace_id', 'Workspace context required'), - ]); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/ToolRateLimiter.php b/packages/core-mcp/src/Mod/Mcp/Services/ToolRateLimiter.php deleted file mode 100644 index 6178983..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/ToolRateLimiter.php +++ /dev/null @@ -1,144 +0,0 @@ - false, 'remaining' => PHP_INT_MAX, 'retry_after' => null]; - } - - $limit = $this->getLimitForTool($toolName); - $decaySeconds = config('mcp.rate_limiting.decay_seconds', 60); - $cacheKey = $this->getCacheKey($identifier, $toolName); - - $current = (int) Cache::get($cacheKey, 0); - - if ($current >= $limit) { - $ttl = Cache::ttl($cacheKey); - - return [ - 'limited' => true, - 'remaining' => 0, - 'retry_after' => $ttl > 0 ? $ttl : $decaySeconds, - ]; - } - - return [ - 'limited' => false, - 'remaining' => $limit - $current - 1, - 'retry_after' => null, - ]; - } - - /** - * Record a tool call against the rate limit. - * - * @param string $identifier Session ID, API key, or other unique identifier - * @param string $toolName The tool being called - */ - public function hit(string $identifier, string $toolName): void - { - if (! config('mcp.rate_limiting.enabled', true)) { - return; - } - - $decaySeconds = config('mcp.rate_limiting.decay_seconds', 60); - $cacheKey = $this->getCacheKey($identifier, $toolName); - - $current = (int) Cache::get($cacheKey, 0); - - if ($current === 0) { - // First call - set with expiration - Cache::put($cacheKey, 1, $decaySeconds); - } else { - // Increment without resetting TTL - Cache::increment($cacheKey); - } - } - - /** - * Clear rate limit for an identifier. - * - * @param string $identifier Session ID, API key, or other unique identifier - * @param string|null $toolName Specific tool, or null to clear all - */ - public function clear(string $identifier, ?string $toolName = null): void - { - if ($toolName !== null) { - Cache::forget($this->getCacheKey($identifier, $toolName)); - } else { - // Clear all tool rate limits for this identifier (requires knowing tools) - // For now, just clear the specific key pattern - Cache::forget($this->getCacheKey($identifier, '*')); - } - } - - /** - * Get the rate limit for a specific tool. - */ - protected function getLimitForTool(string $toolName): int - { - // Check for tool-specific limit - $perToolLimits = config('mcp.rate_limiting.per_tool', []); - - if (isset($perToolLimits[$toolName])) { - return (int) $perToolLimits[$toolName]; - } - - // Use default limit - return (int) config('mcp.rate_limiting.calls_per_minute', 60); - } - - /** - * Generate cache key for rate limiting. - */ - protected function getCacheKey(string $identifier, string $toolName): string - { - // Use general key for overall rate limiting - return self::CACHE_PREFIX.$identifier.':'.$toolName; - } - - /** - * Get rate limit status for reporting. - * - * @return array{limit: int, remaining: int, reset_at: string|null} - */ - public function getStatus(string $identifier, string $toolName): array - { - $limit = $this->getLimitForTool($toolName); - $cacheKey = $this->getCacheKey($identifier, $toolName); - $current = (int) Cache::get($cacheKey, 0); - $ttl = Cache::ttl($cacheKey); - - return [ - 'limit' => $limit, - 'remaining' => max(0, $limit - $current), - 'reset_at' => $ttl > 0 ? now()->addSeconds($ttl)->toIso8601String() : null, - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/ToolRegistry.php b/packages/core-mcp/src/Mod/Mcp/Services/ToolRegistry.php deleted file mode 100644 index 5738007..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/ToolRegistry.php +++ /dev/null @@ -1,353 +0,0 @@ -> - */ - protected array $examples = [ - 'query_database' => [ - 'query' => 'SELECT id, name FROM users LIMIT 10', - ], - 'list_tables' => [], - 'list_routes' => [], - 'list_sites' => [], - 'get_stats' => [], - 'create_coupon' => [ - 'code' => 'SUMMER25', - 'discount_type' => 'percentage', - 'discount_value' => 25, - 'expires_at' => '2025-12-31', - ], - 'list_invoices' => [ - 'status' => 'paid', - 'limit' => 10, - ], - 'get_billing_status' => [], - 'upgrade_plan' => [ - 'plan_slug' => 'professional', - ], - ]; - - /** - * Get all available MCP servers. - * - * @return Collection - */ - public function getServers(): Collection - { - return Cache::remember('mcp:playground:servers', self::CACHE_TTL, function () { - $registry = $this->loadRegistry(); - - return collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values(); - }); - } - - /** - * Get all tools for a specific server. - * - * @return Collection - */ - public function getToolsForServer(string $serverId, bool $includeVersionInfo = false): Collection - { - $cacheKey = $includeVersionInfo - ? "mcp:playground:tools:{$serverId}:versioned" - : "mcp:playground:tools:{$serverId}"; - - return Cache::remember($cacheKey, self::CACHE_TTL, function () use ($serverId, $includeVersionInfo) { - $server = $this->loadServerFull($serverId); - - if (! $server) { - return collect(); - } - - return collect($server['tools'] ?? []) - ->map(function ($tool) use ($serverId, $includeVersionInfo) { - $name = $tool['name']; - $baseVersion = $tool['version'] ?? ToolVersionService::DEFAULT_VERSION; - - $result = [ - 'name' => $name, - 'description' => $tool['description'] ?? $tool['purpose'] ?? '', - 'category' => $this->extractCategory($tool), - 'inputSchema' => $tool['inputSchema'] ?? ['type' => 'object', 'properties' => $tool['parameters'] ?? []], - 'examples' => $this->examples[$name] ?? $this->generateExampleFromSchema($tool['inputSchema'] ?? []), - 'version' => $baseVersion, - ]; - - // Optionally enrich with database version info - if ($includeVersionInfo) { - $latestVersion = McpToolVersion::forServer($serverId) - ->forTool($name) - ->latest() - ->first(); - - if ($latestVersion) { - $result['version'] = $latestVersion->version; - $result['version_status'] = $latestVersion->status; - $result['is_deprecated'] = $latestVersion->is_deprecated; - $result['sunset_at'] = $latestVersion->sunset_at?->toIso8601String(); - - // Use versioned schema if available - if ($latestVersion->input_schema) { - $result['inputSchema'] = $latestVersion->input_schema; - } - } - } - - return $result; - }) - ->values(); - }); - } - - /** - * Get all tools grouped by category. - * - * @return Collection> - */ - public function getToolsByCategory(string $serverId): Collection - { - return $this->getToolsForServer($serverId) - ->groupBy('category') - ->sortKeys(); - } - - /** - * Search tools by name or description. - * - * @return Collection - */ - public function searchTools(string $serverId, string $query): Collection - { - $query = strtolower(trim($query)); - - if (empty($query)) { - return $this->getToolsForServer($serverId); - } - - return $this->getToolsForServer($serverId) - ->filter(function ($tool) use ($query) { - return str_contains(strtolower($tool['name']), $query) - || str_contains(strtolower($tool['description']), $query) - || str_contains(strtolower($tool['category']), $query); - }) - ->values(); - } - - /** - * Get a specific tool by name. - */ - public function getTool(string $serverId, string $toolName): ?array - { - return $this->getToolsForServer($serverId) - ->firstWhere('name', $toolName); - } - - /** - * Get example inputs for a tool. - */ - public function getExampleInputs(string $toolName): array - { - return $this->examples[$toolName] ?? []; - } - - /** - * Set custom example inputs for a tool. - */ - public function setExampleInputs(string $toolName, array $examples): void - { - $this->examples[$toolName] = $examples; - } - - /** - * Get all categories across all servers. - * - * @return Collection - */ - public function getAllCategories(): Collection - { - return $this->getServers() - ->flatMap(fn ($server) => $this->getToolsForServer($server['id'])) - ->groupBy('category') - ->map(fn ($tools) => $tools->count()) - ->sortKeys(); - } - - /** - * Get full server configuration. - */ - public function getServerFull(string $serverId): ?array - { - return $this->loadServerFull($serverId); - } - - /** - * Clear cached registry data. - */ - public function clearCache(): void - { - Cache::forget('mcp:playground:servers'); - - foreach ($this->getServers() as $server) { - Cache::forget("mcp:playground:tools:{$server['id']}"); - } - } - - /** - * Extract category from tool definition. - */ - protected function extractCategory(array $tool): string - { - // Check for explicit category - if (isset($tool['category'])) { - return ucfirst($tool['category']); - } - - // Infer from tool name - $name = $tool['name'] ?? ''; - - $categoryPatterns = [ - 'query' => ['query', 'search', 'find', 'get', 'list'], - 'commerce' => ['coupon', 'invoice', 'billing', 'plan', 'payment', 'subscription'], - 'content' => ['content', 'article', 'page', 'post', 'media'], - 'system' => ['table', 'route', 'stat', 'config', 'setting'], - 'user' => ['user', 'auth', 'session', 'permission'], - ]; - - foreach ($categoryPatterns as $category => $patterns) { - foreach ($patterns as $pattern) { - if (str_contains(strtolower($name), $pattern)) { - return ucfirst($category); - } - } - } - - return 'General'; - } - - /** - * Generate example inputs from JSON schema. - */ - protected function generateExampleFromSchema(array $schema): array - { - $properties = $schema['properties'] ?? []; - $examples = []; - - foreach ($properties as $name => $prop) { - $type = is_array($prop['type'] ?? 'string') ? ($prop['type'][0] ?? 'string') : ($prop['type'] ?? 'string'); - - // Use default if available - if (isset($prop['default'])) { - $examples[$name] = $prop['default']; - - continue; - } - - // Use example if available - if (isset($prop['example'])) { - $examples[$name] = $prop['example']; - - continue; - } - - // Use first enum value if available - if (isset($prop['enum']) && ! empty($prop['enum'])) { - $examples[$name] = $prop['enum'][0]; - - continue; - } - - // Generate based on type - $examples[$name] = match ($type) { - 'integer', 'number' => $prop['minimum'] ?? 0, - 'boolean' => false, - 'array' => [], - 'object' => new \stdClass, - default => '', // string - }; - } - - return $examples; - } - - /** - * Load the MCP registry file. - */ - protected function loadRegistry(): array - { - $path = resource_path('mcp/registry.yaml'); - - if (! file_exists($path)) { - return ['servers' => []]; - } - - return Yaml::parseFile($path); - } - - /** - * Load full server configuration. - */ - protected function loadServerFull(string $id): ?array - { - // Sanitise server ID to prevent path traversal - $id = basename($id, '.yaml'); - - if (! preg_match('/^[a-z0-9-]+$/', $id)) { - return null; - } - - $path = resource_path("mcp/servers/{$id}.yaml"); - - if (! file_exists($path)) { - return null; - } - - return Yaml::parseFile($path); - } - - /** - * Load server summary (id, name, tagline, tool count). - */ - protected function loadServerSummary(string $id): ?array - { - $server = $this->loadServerFull($id); - - if (! $server) { - return null; - } - - return [ - 'id' => $server['id'], - 'name' => $server['name'], - 'tagline' => $server['tagline'] ?? '', - 'tool_count' => count($server['tools'] ?? []), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Services/ToolVersionService.php b/packages/core-mcp/src/Mod/Mcp/Services/ToolVersionService.php deleted file mode 100644 index 83ee630..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Services/ToolVersionService.php +++ /dev/null @@ -1,478 +0,0 @@ -isValidSemver($version)) { - throw new \InvalidArgumentException("Invalid semver version: {$version}"); - } - - // Check if version already exists - $existing = McpToolVersion::forServer($serverId) - ->forTool($toolName) - ->forVersion($version) - ->first(); - - if ($existing) { - // Update existing version - $existing->update([ - 'input_schema' => $inputSchema ?? $existing->input_schema, - 'output_schema' => $outputSchema ?? $existing->output_schema, - 'description' => $description ?? $existing->description, - 'changelog' => $options['changelog'] ?? $existing->changelog, - 'migration_notes' => $options['migration_notes'] ?? $existing->migration_notes, - ]); - - if ($options['mark_latest'] ?? false) { - $existing->markAsLatest(); - } - - $this->clearCache($serverId, $toolName); - - return $existing->fresh(); - } - - // Create new version - $toolVersion = McpToolVersion::create([ - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'version' => $version, - 'input_schema' => $inputSchema, - 'output_schema' => $outputSchema, - 'description' => $description, - 'changelog' => $options['changelog'] ?? null, - 'migration_notes' => $options['migration_notes'] ?? null, - 'is_latest' => false, - ]); - - // Mark as latest if requested or if it's the first version - $isFirst = McpToolVersion::forServer($serverId)->forTool($toolName)->count() === 1; - - if (($options['mark_latest'] ?? false) || $isFirst) { - $toolVersion->markAsLatest(); - } - - $this->clearCache($serverId, $toolName); - - Log::info('MCP tool version registered', [ - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'version' => $version, - 'is_latest' => $toolVersion->is_latest, - ]); - - return $toolVersion; - } - - /** - * Get a tool at a specific version. - * - * Returns null if version doesn't exist. Use getLatestVersion() for fallback. - */ - public function getToolAtVersion(string $serverId, string $toolName, string $version): ?McpToolVersion - { - $cacheKey = self::CACHE_PREFIX."{$serverId}:{$toolName}:{$version}"; - - return Cache::remember($cacheKey, self::CACHE_TTL, function () use ($serverId, $toolName, $version) { - return McpToolVersion::forServer($serverId) - ->forTool($toolName) - ->forVersion($version) - ->first(); - }); - } - - /** - * Get the latest version of a tool. - */ - public function getLatestVersion(string $serverId, string $toolName): ?McpToolVersion - { - $cacheKey = self::CACHE_PREFIX."{$serverId}:{$toolName}:latest"; - - return Cache::remember($cacheKey, self::CACHE_TTL, function () use ($serverId, $toolName) { - // First try to find explicitly marked latest - $latest = McpToolVersion::forServer($serverId) - ->forTool($toolName) - ->latest() - ->first(); - - if ($latest) { - return $latest; - } - - // Fallback to newest version by semver - return McpToolVersion::forServer($serverId) - ->forTool($toolName) - ->active() - ->orderByVersion('desc') - ->first(); - }); - } - - /** - * Resolve a tool version, falling back to latest if not specified. - * - * @return array{version: McpToolVersion|null, warning: array|null, error: array|null} - */ - public function resolveVersion(string $serverId, string $toolName, ?string $requestedVersion = null): array - { - // If no version requested, use latest - if ($requestedVersion === null) { - $version = $this->getLatestVersion($serverId, $toolName); - - return [ - 'version' => $version, - 'warning' => null, - 'error' => $version === null ? [ - 'code' => 'TOOL_NOT_FOUND', - 'message' => "No versions found for tool {$serverId}:{$toolName}", - ] : null, - ]; - } - - // Look up specific version - $version = $this->getToolAtVersion($serverId, $toolName, $requestedVersion); - - if (! $version) { - return [ - 'version' => null, - 'warning' => null, - 'error' => [ - 'code' => 'VERSION_NOT_FOUND', - 'message' => "Version {$requestedVersion} not found for tool {$serverId}:{$toolName}", - ], - ]; - } - - // Check if sunset - if ($version->is_sunset) { - return [ - 'version' => null, - 'warning' => null, - 'error' => $version->getSunsetError(), - ]; - } - - // Check if deprecated (warning, not error) - $warning = $version->getDeprecationWarning(); - - return [ - 'version' => $version, - 'warning' => $warning, - 'error' => null, - ]; - } - - /** - * Check if a version is deprecated. - */ - public function isDeprecated(string $serverId, string $toolName, string $version): bool - { - $toolVersion = $this->getToolAtVersion($serverId, $toolName, $version); - - return $toolVersion?->is_deprecated ?? false; - } - - /** - * Check if a version is sunset (blocked). - */ - public function isSunset(string $serverId, string $toolName, string $version): bool - { - $toolVersion = $this->getToolAtVersion($serverId, $toolName, $version); - - return $toolVersion?->is_sunset ?? false; - } - - /** - * Compare two semver versions. - * - * @return int -1 if $a < $b, 0 if equal, 1 if $a > $b - */ - public function compareVersions(string $a, string $b): int - { - return version_compare( - $this->normalizeSemver($a), - $this->normalizeSemver($b) - ); - } - - /** - * Get version history for a tool. - * - * @return Collection - */ - public function getVersionHistory(string $serverId, string $toolName): Collection - { - return McpToolVersion::forServer($serverId) - ->forTool($toolName) - ->orderByVersion('desc') - ->get(); - } - - /** - * Attempt to migrate a tool call from an old version schema to a new one. - * - * This is a best-effort migration that: - * - Preserves arguments that exist in both schemas - * - Applies defaults for new required arguments where possible - * - Returns warnings for arguments that couldn't be migrated - * - * @return array{arguments: array, warnings: array, success: bool} - */ - public function migrateToolCall( - string $serverId, - string $toolName, - string $fromVersion, - string $toVersion, - array $arguments - ): array { - $fromTool = $this->getToolAtVersion($serverId, $toolName, $fromVersion); - $toTool = $this->getToolAtVersion($serverId, $toolName, $toVersion); - - if (! $fromTool || ! $toTool) { - return [ - 'arguments' => $arguments, - 'warnings' => ['Could not load version schemas for migration'], - 'success' => false, - ]; - } - - $toSchema = $toTool->input_schema ?? []; - $toProperties = $toSchema['properties'] ?? []; - $toRequired = $toSchema['required'] ?? []; - - $migratedArgs = []; - $warnings = []; - - // Copy over arguments that exist in the new schema - foreach ($arguments as $key => $value) { - if (isset($toProperties[$key])) { - $migratedArgs[$key] = $value; - } else { - $warnings[] = "Argument '{$key}' removed in version {$toVersion}"; - } - } - - // Check for new required arguments without defaults - foreach ($toRequired as $requiredKey) { - if (! isset($migratedArgs[$requiredKey])) { - // Try to apply default from schema - if (isset($toProperties[$requiredKey]['default'])) { - $migratedArgs[$requiredKey] = $toProperties[$requiredKey]['default']; - $warnings[] = "Applied default value for new required argument '{$requiredKey}'"; - } else { - $warnings[] = "Missing required argument '{$requiredKey}' added in version {$toVersion}"; - } - } - } - - return [ - 'arguments' => $migratedArgs, - 'warnings' => $warnings, - 'success' => empty(array_filter($warnings, fn ($w) => str_starts_with($w, 'Missing required'))), - ]; - } - - /** - * Deprecate a tool version with optional sunset date. - */ - public function deprecateVersion( - string $serverId, - string $toolName, - string $version, - ?Carbon $sunsetAt = null - ): ?McpToolVersion { - $toolVersion = McpToolVersion::forServer($serverId) - ->forTool($toolName) - ->forVersion($version) - ->first(); - - if (! $toolVersion) { - return null; - } - - $toolVersion->deprecate($sunsetAt); - $this->clearCache($serverId, $toolName); - - Log::info('MCP tool version deprecated', [ - 'server_id' => $serverId, - 'tool_name' => $toolName, - 'version' => $version, - 'sunset_at' => $sunsetAt?->toIso8601String(), - ]); - - return $toolVersion; - } - - /** - * Get all tools with version info for a server. - * - * @return Collection - */ - public function getToolsWithVersions(string $serverId): Collection - { - $versions = McpToolVersion::forServer($serverId) - ->orderByVersion('desc') - ->get(); - - return $versions->groupBy('tool_name') - ->map(function ($toolVersions, $toolName) { - return [ - 'tool_name' => $toolName, - 'latest' => $toolVersions->firstWhere('is_latest', true) ?? $toolVersions->first(), - 'versions' => $toolVersions, - 'version_count' => $toolVersions->count(), - 'has_deprecated' => $toolVersions->contains(fn ($v) => $v->is_deprecated), - 'has_sunset' => $toolVersions->contains(fn ($v) => $v->is_sunset), - ]; - }); - } - - /** - * Get all unique servers that have versioned tools. - */ - public function getServersWithVersions(): Collection - { - return McpToolVersion::select('server_id') - ->distinct() - ->orderBy('server_id') - ->pluck('server_id'); - } - - /** - * Sync tool versions from YAML server definitions. - * - * Call this during deployment to register/update versions from server configs. - * - * @param array $serverConfig Parsed YAML server configuration - * @param string $version Version to register (e.g., from deployment tag) - */ - public function syncFromServerConfig(array $serverConfig, string $version, bool $markLatest = true): int - { - $serverId = $serverConfig['id'] ?? null; - $tools = $serverConfig['tools'] ?? []; - - if (! $serverId || empty($tools)) { - return 0; - } - - $registered = 0; - - foreach ($tools as $tool) { - $toolName = $tool['name'] ?? null; - if (! $toolName) { - continue; - } - - $this->registerVersion( - serverId: $serverId, - toolName: $toolName, - version: $version, - inputSchema: $tool['inputSchema'] ?? null, - outputSchema: $tool['outputSchema'] ?? null, - description: $tool['description'] ?? $tool['purpose'] ?? null, - options: [ - 'mark_latest' => $markLatest, - ] - ); - - $registered++; - } - - return $registered; - } - - /** - * Get statistics about tool versions. - */ - public function getStats(): array - { - return [ - 'total_versions' => McpToolVersion::count(), - 'total_tools' => McpToolVersion::select('server_id', 'tool_name') - ->distinct() - ->count(), - 'deprecated_count' => McpToolVersion::deprecated()->count(), - 'sunset_count' => McpToolVersion::sunset()->count(), - 'servers' => $this->getServersWithVersions()->count(), - ]; - } - - // ------------------------------------------------------------------------- - // Protected Methods - // ------------------------------------------------------------------------- - - /** - * Validate semver format. - */ - protected function isValidSemver(string $version): bool - { - // Basic semver pattern: major.minor.patch with optional prerelease/build - $pattern = '/^(\d+)\.(\d+)\.(\d+)(-[a-zA-Z0-9.-]+)?(\+[a-zA-Z0-9.-]+)?$/'; - - return (bool) preg_match($pattern, $version); - } - - /** - * Normalize semver for comparison (removes prerelease/build metadata). - */ - protected function normalizeSemver(string $version): string - { - // Remove prerelease and build metadata for basic comparison - return preg_replace('/[-+].*$/', '', $version) ?? $version; - } - - /** - * Clear cache for a tool's versions. - */ - protected function clearCache(string $serverId, string $toolName): void - { - // Clear specific version caches would require tracking all versions - // For simplicity, we use a short TTL and let cache naturally expire - Cache::forget(self::CACHE_PREFIX."{$serverId}:{$toolName}:latest"); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/McpQuotaServiceTest.php b/packages/core-mcp/src/Mod/Mcp/Tests/Unit/McpQuotaServiceTest.php deleted file mode 100644 index b8ef3fd..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/McpQuotaServiceTest.php +++ /dev/null @@ -1,245 +0,0 @@ -entitlementsMock = Mockery::mock(EntitlementService::class); - $this->quotaService = new McpQuotaService($this->entitlementsMock); - - $this->workspace = Workspace::factory()->create(); - } - - protected function tearDown(): void - { - Mockery::close(); - parent::tearDown(); - } - - public function test_records_usage_for_workspace(): void - { - $quota = $this->quotaService->recordUsage($this->workspace, toolCalls: 5, inputTokens: 100, outputTokens: 50); - - $this->assertInstanceOf(McpUsageQuota::class, $quota); - $this->assertEquals(5, $quota->tool_calls_count); - $this->assertEquals(100, $quota->input_tokens); - $this->assertEquals(50, $quota->output_tokens); - $this->assertEquals(now()->format('Y-m'), $quota->month); - } - - public function test_increments_existing_usage(): void - { - // First call - $this->quotaService->recordUsage($this->workspace, toolCalls: 5, inputTokens: 100, outputTokens: 50); - - // Second call - $quota = $this->quotaService->recordUsage($this->workspace, toolCalls: 3, inputTokens: 200, outputTokens: 100); - - $this->assertEquals(8, $quota->tool_calls_count); - $this->assertEquals(300, $quota->input_tokens); - $this->assertEquals(150, $quota->output_tokens); - } - - public function test_check_quota_returns_true_when_unlimited(): void - { - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS) - ->andReturn(EntitlementResult::unlimited(McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS)); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOKENS) - ->andReturn(EntitlementResult::unlimited(McpQuotaService::FEATURE_MONTHLY_TOKENS)); - - $result = $this->quotaService->checkQuota($this->workspace); - - $this->assertTrue($result); - } - - public function test_check_quota_returns_false_when_denied(): void - { - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS) - ->andReturn(EntitlementResult::denied('Not included in plan', featureCode: McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS)); - - $result = $this->quotaService->checkQuota($this->workspace); - - $this->assertFalse($result); - } - - public function test_check_quota_returns_false_when_limit_exceeded(): void - { - // Set up existing usage that exceeds limit - McpUsageQuota::create([ - 'workspace_id' => $this->workspace->id, - 'month' => now()->format('Y-m'), - 'tool_calls_count' => 100, - 'input_tokens' => 0, - 'output_tokens' => 0, - ]); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS) - ->andReturn(EntitlementResult::allowed(limit: 100, used: 100, featureCode: McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS)); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOKENS) - ->andReturn(EntitlementResult::unlimited(McpQuotaService::FEATURE_MONTHLY_TOKENS)); - - $result = $this->quotaService->checkQuota($this->workspace); - - $this->assertFalse($result); - } - - public function test_check_quota_returns_true_when_within_limit(): void - { - McpUsageQuota::create([ - 'workspace_id' => $this->workspace->id, - 'month' => now()->format('Y-m'), - 'tool_calls_count' => 50, - 'input_tokens' => 0, - 'output_tokens' => 0, - ]); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS) - ->andReturn(EntitlementResult::allowed(limit: 100, used: 50, featureCode: McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS)); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOKENS) - ->andReturn(EntitlementResult::unlimited(McpQuotaService::FEATURE_MONTHLY_TOKENS)); - - $result = $this->quotaService->checkQuota($this->workspace); - - $this->assertTrue($result); - } - - public function test_get_remaining_quota_calculates_correctly(): void - { - McpUsageQuota::create([ - 'workspace_id' => $this->workspace->id, - 'month' => now()->format('Y-m'), - 'tool_calls_count' => 30, - 'input_tokens' => 500, - 'output_tokens' => 500, - ]); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS) - ->andReturn(EntitlementResult::allowed(limit: 100, used: 30, featureCode: McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS)); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOKENS) - ->andReturn(EntitlementResult::allowed(limit: 5000, used: 1000, featureCode: McpQuotaService::FEATURE_MONTHLY_TOKENS)); - - $remaining = $this->quotaService->getRemainingQuota($this->workspace); - - $this->assertEquals(70, $remaining['tool_calls']); - $this->assertEquals(4000, $remaining['tokens']); - $this->assertFalse($remaining['tool_calls_unlimited']); - $this->assertFalse($remaining['tokens_unlimited']); - } - - public function test_get_quota_headers_returns_correct_format(): void - { - McpUsageQuota::create([ - 'workspace_id' => $this->workspace->id, - 'month' => now()->format('Y-m'), - 'tool_calls_count' => 25, - 'input_tokens' => 300, - 'output_tokens' => 200, - ]); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS) - ->andReturn(EntitlementResult::allowed(limit: 100, used: 25, featureCode: McpQuotaService::FEATURE_MONTHLY_TOOL_CALLS)); - - $this->entitlementsMock - ->shouldReceive('can') - ->with($this->workspace, McpQuotaService::FEATURE_MONTHLY_TOKENS) - ->andReturn(EntitlementResult::unlimited(McpQuotaService::FEATURE_MONTHLY_TOKENS)); - - $headers = $this->quotaService->getQuotaHeaders($this->workspace); - - $this->assertArrayHasKey('X-MCP-Quota-Tool-Calls-Used', $headers); - $this->assertArrayHasKey('X-MCP-Quota-Tool-Calls-Limit', $headers); - $this->assertArrayHasKey('X-MCP-Quota-Tool-Calls-Remaining', $headers); - $this->assertArrayHasKey('X-MCP-Quota-Tokens-Used', $headers); - $this->assertArrayHasKey('X-MCP-Quota-Tokens-Limit', $headers); - $this->assertArrayHasKey('X-MCP-Quota-Reset', $headers); - - $this->assertEquals('25', $headers['X-MCP-Quota-Tool-Calls-Used']); - $this->assertEquals('100', $headers['X-MCP-Quota-Tool-Calls-Limit']); - $this->assertEquals('unlimited', $headers['X-MCP-Quota-Tokens-Limit']); - } - - public function test_reset_monthly_quota_clears_usage(): void - { - McpUsageQuota::create([ - 'workspace_id' => $this->workspace->id, - 'month' => now()->format('Y-m'), - 'tool_calls_count' => 50, - 'input_tokens' => 1000, - 'output_tokens' => 500, - ]); - - $quota = $this->quotaService->resetMonthlyQuota($this->workspace); - - $this->assertEquals(0, $quota->tool_calls_count); - $this->assertEquals(0, $quota->input_tokens); - $this->assertEquals(0, $quota->output_tokens); - } - - public function test_get_usage_history_returns_ordered_records(): void - { - // Create usage for multiple months - foreach (['2026-01', '2025-12', '2025-11'] as $month) { - McpUsageQuota::create([ - 'workspace_id' => $this->workspace->id, - 'month' => $month, - 'tool_calls_count' => rand(10, 100), - 'input_tokens' => rand(100, 1000), - 'output_tokens' => rand(100, 1000), - ]); - } - - $history = $this->quotaService->getUsageHistory($this->workspace, 3); - - $this->assertCount(3, $history); - // Should be ordered by month descending - $this->assertEquals('2026-01', $history->first()->month); - $this->assertEquals('2025-11', $history->last()->month); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolDependencyServiceTest.php b/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolDependencyServiceTest.php deleted file mode 100644 index 6eb0838..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolDependencyServiceTest.php +++ /dev/null @@ -1,480 +0,0 @@ -service = new ToolDependencyService; - Cache::flush(); - } - - public function test_can_register_dependencies(): void - { - $deps = [ - ToolDependency::toolCalled('plan_create'), - ToolDependency::contextExists('workspace_id'), - ]; - - $this->service->register('custom_tool', $deps); - - $registered = $this->service->getDependencies('custom_tool'); - - $this->assertCount(2, $registered); - $this->assertSame('plan_create', $registered[0]->key); - $this->assertSame(DependencyType::TOOL_CALLED, $registered[0]->type); - } - - public function test_returns_empty_for_unregistered_tool(): void - { - $deps = $this->service->getDependencies('nonexistent_tool'); - - $this->assertEmpty($deps); - } - - public function test_check_dependencies_passes_when_no_deps(): void - { - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'tool_without_deps', - context: [], - args: [], - ); - - $this->assertTrue($result); - } - - public function test_check_dependencies_fails_when_tool_not_called(): void - { - $this->service->register('dependent_tool', [ - ToolDependency::toolCalled('required_tool'), - ]); - - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'dependent_tool', - context: [], - args: [], - ); - - $this->assertFalse($result); - } - - public function test_check_dependencies_passes_after_tool_called(): void - { - $this->service->register('dependent_tool', [ - ToolDependency::toolCalled('required_tool'), - ]); - - // Record the required tool call - $this->service->recordToolCall('test-session', 'required_tool'); - - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'dependent_tool', - context: [], - args: [], - ); - - $this->assertTrue($result); - } - - public function test_check_context_exists_dependency(): void - { - $this->service->register('workspace_tool', [ - ToolDependency::contextExists('workspace_id'), - ]); - - // Without workspace_id - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'workspace_tool', - context: [], - args: [], - ); - $this->assertFalse($result); - - // With workspace_id - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'workspace_tool', - context: ['workspace_id' => 123], - args: [], - ); - $this->assertTrue($result); - } - - public function test_check_session_state_dependency(): void - { - $this->service->register('session_tool', [ - ToolDependency::sessionState('session_id'), - ]); - - // Without session_id - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'session_tool', - context: [], - args: [], - ); - $this->assertFalse($result); - - // With null session_id (should still fail) - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'session_tool', - context: ['session_id' => null], - args: [], - ); - $this->assertFalse($result); - - // With valid session_id - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'session_tool', - context: ['session_id' => 'ses_123'], - args: [], - ); - $this->assertTrue($result); - } - - public function test_get_missing_dependencies(): void - { - $this->service->register('multi_dep_tool', [ - ToolDependency::toolCalled('tool_a'), - ToolDependency::toolCalled('tool_b'), - ToolDependency::contextExists('workspace_id'), - ]); - - // Record one tool call - $this->service->recordToolCall('test-session', 'tool_a'); - - $missing = $this->service->getMissingDependencies( - sessionId: 'test-session', - toolName: 'multi_dep_tool', - context: [], - args: [], - ); - - $this->assertCount(2, $missing); - $this->assertSame('tool_b', $missing[0]->key); - $this->assertSame('workspace_id', $missing[1]->key); - } - - public function test_validate_dependencies_throws_exception(): void - { - $this->service->register('validated_tool', [ - ToolDependency::toolCalled('required_tool', 'You must call required_tool first'), - ]); - - $this->expectException(MissingDependencyException::class); - $this->expectExceptionMessage('Cannot execute \'validated_tool\''); - - $this->service->validateDependencies( - sessionId: 'test-session', - toolName: 'validated_tool', - context: [], - args: [], - ); - } - - public function test_validate_dependencies_passes_when_met(): void - { - $this->service->register('validated_tool', [ - ToolDependency::toolCalled('required_tool'), - ]); - - $this->service->recordToolCall('test-session', 'required_tool'); - - // Should not throw - $this->service->validateDependencies( - sessionId: 'test-session', - toolName: 'validated_tool', - context: [], - args: [], - ); - - $this->assertTrue(true); // No exception means pass - } - - public function test_optional_dependencies_are_skipped(): void - { - $this->service->register('soft_dep_tool', [ - ToolDependency::toolCalled('hard_req'), - ToolDependency::toolCalled('soft_req')->asOptional(), - ]); - - $this->service->recordToolCall('test-session', 'hard_req'); - - // Should pass even though soft_req not called - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'soft_dep_tool', - context: [], - args: [], - ); - - $this->assertTrue($result); - } - - public function test_record_and_get_tool_call_history(): void - { - $this->service->recordToolCall('test-session', 'tool_a', ['arg1' => 'value1']); - $this->service->recordToolCall('test-session', 'tool_b'); - $this->service->recordToolCall('test-session', 'tool_a', ['arg1' => 'value2']); - - $calledTools = $this->service->getCalledTools('test-session'); - - $this->assertCount(2, $calledTools); - $this->assertContains('tool_a', $calledTools); - $this->assertContains('tool_b', $calledTools); - - $history = $this->service->getToolHistory('test-session'); - - $this->assertCount(3, $history); - $this->assertSame('tool_a', $history[0]['tool']); - $this->assertSame(['arg1' => 'value1'], $history[0]['args']); - } - - public function test_clear_session(): void - { - $this->service->recordToolCall('test-session', 'tool_a'); - - $this->assertNotEmpty($this->service->getCalledTools('test-session')); - - $this->service->clearSession('test-session'); - - $this->assertEmpty($this->service->getCalledTools('test-session')); - } - - public function test_get_dependency_graph(): void - { - $this->service->register('tool_a', []); - $this->service->register('tool_b', [ - ToolDependency::toolCalled('tool_a'), - ]); - $this->service->register('tool_c', [ - ToolDependency::toolCalled('tool_b'), - ]); - - $graph = $this->service->getDependencyGraph(); - - $this->assertArrayHasKey('tool_a', $graph); - $this->assertArrayHasKey('tool_b', $graph); - $this->assertArrayHasKey('tool_c', $graph); - - // tool_b depends on tool_a - $this->assertContains('tool_b', $graph['tool_a']['dependents']); - - // tool_c depends on tool_b - $this->assertContains('tool_c', $graph['tool_b']['dependents']); - } - - public function test_get_dependent_tools(): void - { - $this->service->register('base_tool', []); - $this->service->register('dep_tool_1', [ - ToolDependency::toolCalled('base_tool'), - ]); - $this->service->register('dep_tool_2', [ - ToolDependency::toolCalled('base_tool'), - ]); - - $dependents = $this->service->getDependentTools('base_tool'); - - $this->assertCount(2, $dependents); - $this->assertContains('dep_tool_1', $dependents); - $this->assertContains('dep_tool_2', $dependents); - } - - public function test_get_topological_order(): void - { - $this->service->register('tool_a', []); - $this->service->register('tool_b', [ - ToolDependency::toolCalled('tool_a'), - ]); - $this->service->register('tool_c', [ - ToolDependency::toolCalled('tool_b'), - ]); - - $order = $this->service->getTopologicalOrder(); - - $indexA = array_search('tool_a', $order); - $indexB = array_search('tool_b', $order); - $indexC = array_search('tool_c', $order); - - $this->assertLessThan($indexB, $indexA); - $this->assertLessThan($indexC, $indexB); - } - - public function test_custom_validator(): void - { - $this->service->register('custom_validated_tool', [ - ToolDependency::custom('has_permission', 'User must have admin permission'), - ]); - - // Register custom validator that checks for admin role - $this->service->registerCustomValidator('has_permission', function ($context, $args) { - return ($context['role'] ?? null) === 'admin'; - }); - - // Without admin role - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'custom_validated_tool', - context: ['role' => 'user'], - args: [], - ); - $this->assertFalse($result); - - // With admin role - $result = $this->service->checkDependencies( - sessionId: 'test-session', - toolName: 'custom_validated_tool', - context: ['role' => 'admin'], - args: [], - ); - $this->assertTrue($result); - } - - public function test_suggested_tool_order(): void - { - $this->service->register('tool_a', []); - $this->service->register('tool_b', [ - ToolDependency::toolCalled('tool_a'), - ]); - $this->service->register('tool_c', [ - ToolDependency::toolCalled('tool_b'), - ]); - - try { - $this->service->validateDependencies( - sessionId: 'test-session', - toolName: 'tool_c', - context: [], - args: [], - ); - $this->fail('Should have thrown MissingDependencyException'); - } catch (MissingDependencyException $e) { - $this->assertContains('tool_a', $e->suggestedOrder); - $this->assertContains('tool_b', $e->suggestedOrder); - $this->assertContains('tool_c', $e->suggestedOrder); - - // Verify order - $indexA = array_search('tool_a', $e->suggestedOrder); - $indexB = array_search('tool_b', $e->suggestedOrder); - $this->assertLessThan($indexB, $indexA); - } - } - - public function test_session_isolation(): void - { - $this->service->register('isolated_tool', [ - ToolDependency::toolCalled('prereq'), - ]); - - // Record in session 1 - $this->service->recordToolCall('session-1', 'prereq'); - - // Session 1 should pass - $result1 = $this->service->checkDependencies( - sessionId: 'session-1', - toolName: 'isolated_tool', - context: [], - args: [], - ); - $this->assertTrue($result1); - - // Session 2 should fail (different session) - $result2 = $this->service->checkDependencies( - sessionId: 'session-2', - toolName: 'isolated_tool', - context: [], - args: [], - ); - $this->assertFalse($result2); - } - - public function test_missing_dependency_exception_api_response(): void - { - $missing = [ - ToolDependency::toolCalled('tool_a', 'Tool A must be called first'), - ToolDependency::contextExists('workspace_id', 'Workspace context required'), - ]; - - $exception = new MissingDependencyException( - toolName: 'target_tool', - missingDependencies: $missing, - suggestedOrder: ['tool_a', 'target_tool'], - ); - - $response = $exception->toApiResponse(); - - $this->assertSame('dependency_not_met', $response['error']); - $this->assertSame('target_tool', $response['tool']); - $this->assertCount(2, $response['missing_dependencies']); - $this->assertSame(['tool_a', 'target_tool'], $response['suggested_order']); - $this->assertArrayHasKey('help', $response); - } - - public function test_default_dependencies_registered(): void - { - // The service should have default dependencies registered - $sessionLogDeps = $this->service->getDependencies('session_log'); - - $this->assertNotEmpty($sessionLogDeps); - $this->assertSame(DependencyType::SESSION_STATE, $sessionLogDeps[0]->type); - $this->assertSame('session_id', $sessionLogDeps[0]->key); - } - - public function test_tool_dependency_factory_methods(): void - { - $toolCalled = ToolDependency::toolCalled('some_tool'); - $this->assertSame(DependencyType::TOOL_CALLED, $toolCalled->type); - $this->assertSame('some_tool', $toolCalled->key); - - $sessionState = ToolDependency::sessionState('session_key'); - $this->assertSame(DependencyType::SESSION_STATE, $sessionState->type); - - $contextExists = ToolDependency::contextExists('context_key'); - $this->assertSame(DependencyType::CONTEXT_EXISTS, $contextExists->type); - - $entityExists = ToolDependency::entityExists('plan', 'Plan must exist', ['arg_key' => 'plan_slug']); - $this->assertSame(DependencyType::ENTITY_EXISTS, $entityExists->type); - $this->assertSame('plan_slug', $entityExists->metadata['arg_key']); - - $custom = ToolDependency::custom('custom_check', 'Custom validation'); - $this->assertSame(DependencyType::CUSTOM, $custom->type); - } - - public function test_tool_dependency_to_and_from_array(): void - { - $original = ToolDependency::toolCalled('some_tool', 'Must call first') - ->asOptional(); - - $array = $original->toArray(); - - $this->assertSame('tool_called', $array['type']); - $this->assertSame('some_tool', $array['key']); - $this->assertTrue($array['optional']); - - $restored = ToolDependency::fromArray($array); - - $this->assertSame($original->type, $restored->type); - $this->assertSame($original->key, $restored->key); - $this->assertSame($original->optional, $restored->optional); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolVersionServiceTest.php b/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolVersionServiceTest.php deleted file mode 100644 index caaedd1..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ToolVersionServiceTest.php +++ /dev/null @@ -1,441 +0,0 @@ -service = new ToolVersionService; - } - - public function test_can_register_new_version(): void - { - $version = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - inputSchema: ['type' => 'object', 'properties' => ['query' => ['type' => 'string']]], - description: 'A test tool', - options: ['mark_latest' => true] - ); - - $this->assertSame('test-server', $version->server_id); - $this->assertSame('test_tool', $version->tool_name); - $this->assertSame('1.0.0', $version->version); - $this->assertTrue($version->is_latest); - } - - public function test_first_version_is_automatically_latest(): void - { - $version = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - ); - - $this->assertTrue($version->is_latest); - } - - public function test_can_get_tool_at_specific_version(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $this->service->registerVersion('test-server', 'test_tool', '2.0.0'); - - $v1 = $this->service->getToolAtVersion('test-server', 'test_tool', '1.0.0'); - $v2 = $this->service->getToolAtVersion('test-server', 'test_tool', '2.0.0'); - - $this->assertSame('1.0.0', $v1->version); - $this->assertSame('2.0.0', $v2->version); - } - - public function test_get_latest_version(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $v2 = $this->service->registerVersion('test-server', 'test_tool', '2.0.0', options: ['mark_latest' => true]); - - $latest = $this->service->getLatestVersion('test-server', 'test_tool'); - - $this->assertSame('2.0.0', $latest->version); - $this->assertTrue($latest->is_latest); - } - - public function test_resolve_version_returns_latest_when_no_version_specified(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $this->service->registerVersion('test-server', 'test_tool', '2.0.0', options: ['mark_latest' => true]); - - $result = $this->service->resolveVersion('test-server', 'test_tool', null); - - $this->assertNotNull($result['version']); - $this->assertSame('2.0.0', $result['version']->version); - $this->assertNull($result['warning']); - $this->assertNull($result['error']); - } - - public function test_resolve_version_returns_specific_version(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $this->service->registerVersion('test-server', 'test_tool', '2.0.0', options: ['mark_latest' => true]); - - $result = $this->service->resolveVersion('test-server', 'test_tool', '1.0.0'); - - $this->assertNotNull($result['version']); - $this->assertSame('1.0.0', $result['version']->version); - } - - public function test_resolve_version_returns_error_for_nonexistent_version(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - - $result = $this->service->resolveVersion('test-server', 'test_tool', '9.9.9'); - - $this->assertNull($result['version']); - $this->assertNotNull($result['error']); - $this->assertSame('VERSION_NOT_FOUND', $result['error']['code']); - } - - public function test_resolve_deprecated_version_returns_warning(): void - { - $version = $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $version->deprecate(Carbon::now()->addDays(30)); - - $this->service->registerVersion('test-server', 'test_tool', '2.0.0', options: ['mark_latest' => true]); - - $result = $this->service->resolveVersion('test-server', 'test_tool', '1.0.0'); - - $this->assertNotNull($result['version']); - $this->assertNotNull($result['warning']); - $this->assertSame('TOOL_VERSION_DEPRECATED', $result['warning']['code']); - } - - public function test_resolve_sunset_version_returns_error(): void - { - $version = $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $version->deprecated_at = Carbon::now()->subDays(60); - $version->sunset_at = Carbon::now()->subDays(30); - $version->save(); - - $this->service->registerVersion('test-server', 'test_tool', '2.0.0', options: ['mark_latest' => true]); - - $result = $this->service->resolveVersion('test-server', 'test_tool', '1.0.0'); - - $this->assertNull($result['version']); - $this->assertNotNull($result['error']); - $this->assertSame('TOOL_VERSION_SUNSET', $result['error']['code']); - } - - public function test_is_deprecated(): void - { - $version = $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $version->deprecate(); - - $this->assertTrue($this->service->isDeprecated('test-server', 'test_tool', '1.0.0')); - } - - public function test_is_sunset(): void - { - $version = $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $version->deprecated_at = Carbon::now()->subDays(60); - $version->sunset_at = Carbon::now()->subDays(30); - $version->save(); - - $this->assertTrue($this->service->isSunset('test-server', 'test_tool', '1.0.0')); - } - - public function test_compare_versions(): void - { - $this->assertSame(-1, $this->service->compareVersions('1.0.0', '2.0.0')); - $this->assertSame(0, $this->service->compareVersions('1.0.0', '1.0.0')); - $this->assertSame(1, $this->service->compareVersions('2.0.0', '1.0.0')); - $this->assertSame(-1, $this->service->compareVersions('1.0.0', '1.0.1')); - $this->assertSame(-1, $this->service->compareVersions('1.0.0', '1.1.0')); - } - - public function test_get_version_history(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $this->service->registerVersion('test-server', 'test_tool', '1.1.0'); - $this->service->registerVersion('test-server', 'test_tool', '2.0.0'); - - $history = $this->service->getVersionHistory('test-server', 'test_tool'); - - $this->assertCount(3, $history); - // Should be ordered by version desc - $this->assertSame('2.0.0', $history[0]->version); - $this->assertSame('1.1.0', $history[1]->version); - $this->assertSame('1.0.0', $history[2]->version); - } - - public function test_migrate_tool_call(): void - { - $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - inputSchema: [ - 'type' => 'object', - 'properties' => ['query' => ['type' => 'string']], - 'required' => ['query'], - ] - ); - - $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '2.0.0', - inputSchema: [ - 'type' => 'object', - 'properties' => [ - 'query' => ['type' => 'string'], - 'limit' => ['type' => 'integer', 'default' => 10], - ], - 'required' => ['query', 'limit'], - ] - ); - - $result = $this->service->migrateToolCall( - serverId: 'test-server', - toolName: 'test_tool', - fromVersion: '1.0.0', - toVersion: '2.0.0', - arguments: ['query' => 'SELECT * FROM users'] - ); - - $this->assertTrue($result['success']); - $this->assertSame('SELECT * FROM users', $result['arguments']['query']); - $this->assertSame(10, $result['arguments']['limit']); // Default applied - } - - public function test_deprecate_version(): void - { - $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - - $sunsetDate = Carbon::now()->addDays(30); - $deprecatedVersion = $this->service->deprecateVersion( - 'test-server', - 'test_tool', - '1.0.0', - $sunsetDate - ); - - $this->assertNotNull($deprecatedVersion->deprecated_at); - $this->assertSame($sunsetDate->toDateString(), $deprecatedVersion->sunset_at->toDateString()); - } - - public function test_get_tools_with_versions(): void - { - $this->service->registerVersion('test-server', 'tool_a', '1.0.0'); - $this->service->registerVersion('test-server', 'tool_a', '2.0.0', options: ['mark_latest' => true]); - $this->service->registerVersion('test-server', 'tool_b', '1.0.0'); - - $tools = $this->service->getToolsWithVersions('test-server'); - - $this->assertCount(2, $tools); - $this->assertArrayHasKey('tool_a', $tools); - $this->assertArrayHasKey('tool_b', $tools); - $this->assertSame(2, $tools['tool_a']['version_count']); - $this->assertSame(1, $tools['tool_b']['version_count']); - } - - public function test_get_servers_with_versions(): void - { - $this->service->registerVersion('server-a', 'tool', '1.0.0'); - $this->service->registerVersion('server-b', 'tool', '1.0.0'); - - $servers = $this->service->getServersWithVersions(); - - $this->assertCount(2, $servers); - $this->assertContains('server-a', $servers); - $this->assertContains('server-b', $servers); - } - - public function test_sync_from_server_config(): void - { - $config = [ - 'id' => 'test-server', - 'tools' => [ - [ - 'name' => 'tool_a', - 'description' => 'Tool A', - 'inputSchema' => ['type' => 'object'], - ], - [ - 'name' => 'tool_b', - 'purpose' => 'Tool B purpose', - ], - ], - ]; - - $registered = $this->service->syncFromServerConfig($config, '1.0.0'); - - $this->assertSame(2, $registered); - - $toolA = $this->service->getToolAtVersion('test-server', 'tool_a', '1.0.0'); - $toolB = $this->service->getToolAtVersion('test-server', 'tool_b', '1.0.0'); - - $this->assertNotNull($toolA); - $this->assertNotNull($toolB); - $this->assertSame('Tool A', $toolA->description); - $this->assertSame('Tool B purpose', $toolB->description); - } - - public function test_get_stats(): void - { - $this->service->registerVersion('server-a', 'tool_a', '1.0.0'); - $this->service->registerVersion('server-a', 'tool_a', '2.0.0'); - $this->service->registerVersion('server-b', 'tool_b', '1.0.0'); - - $stats = $this->service->getStats(); - - $this->assertSame(3, $stats['total_versions']); - $this->assertSame(2, $stats['total_tools']); - $this->assertSame(2, $stats['servers']); - } - - public function test_invalid_semver_throws_exception(): void - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('Invalid semver version'); - - $this->service->registerVersion('test-server', 'test_tool', 'invalid'); - } - - public function test_valid_semver_formats(): void - { - // Basic versions - $v1 = $this->service->registerVersion('test-server', 'tool', '1.0.0'); - $this->assertSame('1.0.0', $v1->version); - - // Prerelease - $v2 = $this->service->registerVersion('test-server', 'tool', '2.0.0-beta'); - $this->assertSame('2.0.0-beta', $v2->version); - - // Prerelease with dots - $v3 = $this->service->registerVersion('test-server', 'tool', '2.0.0-alpha.1'); - $this->assertSame('2.0.0-alpha.1', $v3->version); - - // Build metadata - $v4 = $this->service->registerVersion('test-server', 'tool', '2.0.0+build.123'); - $this->assertSame('2.0.0+build.123', $v4->version); - } - - public function test_updating_existing_version(): void - { - $original = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - description: 'Original description' - ); - - $updated = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - description: 'Updated description' - ); - - $this->assertSame($original->id, $updated->id); - $this->assertSame('Updated description', $updated->description); - } - - public function test_model_compare_schema_with(): void - { - $v1 = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - inputSchema: [ - 'type' => 'object', - 'properties' => [ - 'query' => ['type' => 'string'], - 'format' => ['type' => 'string'], - ], - ] - ); - - $v2 = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '2.0.0', - inputSchema: [ - 'type' => 'object', - 'properties' => [ - 'query' => ['type' => 'string', 'maxLength' => 1000], // Changed - 'limit' => ['type' => 'integer'], // Added - ], - ] - ); - - $diff = $v1->compareSchemaWith($v2); - - $this->assertContains('limit', $diff['added']); - $this->assertContains('format', $diff['removed']); - $this->assertArrayHasKey('query', $diff['changed']); - } - - public function test_model_mark_as_latest(): void - { - $v1 = $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - $v2 = $this->service->registerVersion('test-server', 'test_tool', '2.0.0'); - - $v2->markAsLatest(); - - $this->assertFalse($v1->fresh()->is_latest); - $this->assertTrue($v2->fresh()->is_latest); - } - - public function test_model_status_attribute(): void - { - $version = $this->service->registerVersion('test-server', 'test_tool', '1.0.0'); - - $this->assertSame('latest', $version->status); - - $version->is_latest = false; - $version->save(); - $this->assertSame('active', $version->fresh()->status); - - $version->deprecated_at = Carbon::now()->subDay(); - $version->save(); - $this->assertSame('deprecated', $version->fresh()->status); - - $version->sunset_at = Carbon::now()->subDay(); - $version->save(); - $this->assertSame('sunset', $version->fresh()->status); - } - - public function test_model_to_api_array(): void - { - $version = $this->service->registerVersion( - serverId: 'test-server', - toolName: 'test_tool', - version: '1.0.0', - inputSchema: ['type' => 'object'], - description: 'Test tool', - options: ['changelog' => 'Initial release'] - ); - - $array = $version->toApiArray(); - - $this->assertSame('test-server', $array['server_id']); - $this->assertSame('test_tool', $array['tool_name']); - $this->assertSame('1.0.0', $array['version']); - $this->assertTrue($array['is_latest']); - $this->assertSame('latest', $array['status']); - $this->assertSame('Test tool', $array['description']); - $this->assertSame('Initial release', $array['changelog']); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ValidateWorkspaceContextMiddlewareTest.php b/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ValidateWorkspaceContextMiddlewareTest.php deleted file mode 100644 index 526c3ff..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/ValidateWorkspaceContextMiddlewareTest.php +++ /dev/null @@ -1,110 +0,0 @@ -middleware = new ValidateWorkspaceContext; - $this->user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - }); - - it('sets workspace context when mcp_workspace attribute exists', function () { - $request = Request::create('/api/mcp/tools/call', 'POST'); - $request->attributes->set('mcp_workspace', $this->workspace); - - $contextSet = null; - $response = $this->middleware->handle($request, function ($request) use (&$contextSet) { - $contextSet = $request->attributes->get('mcp_workspace_context'); - - return response()->json(['success' => true]); - }); - - expect($contextSet)->toBeInstanceOf(WorkspaceContext::class); - expect($contextSet->workspaceId)->toBe($this->workspace->id); - expect($response->getStatusCode())->toBe(200); - }); - - it('rejects requests without workspace when mode is required', function () { - $request = Request::create('/api/mcp/tools/call', 'POST'); - $request->headers->set('Accept', 'application/json'); - - $response = $this->middleware->handle($request, function () { - return response()->json(['success' => true]); - }, 'required'); - - expect($response->getStatusCode())->toBe(403); - - $data = json_decode($response->getContent(), true); - expect($data['error'])->toBe('missing_workspace_context'); - }); - - it('allows requests without workspace when mode is optional', function () { - $request = Request::create('/api/mcp/tools/call', 'POST'); - - $response = $this->middleware->handle($request, function ($request) { - $context = $request->attributes->get('mcp_workspace_context'); - - return response()->json(['has_context' => $context !== null]); - }, 'optional'); - - expect($response->getStatusCode())->toBe(200); - - $data = json_decode($response->getContent(), true); - expect($data['has_context'])->toBeFalse(); - }); - - it('extracts workspace from authenticated user', function () { - $request = Request::create('/api/mcp/tools/call', 'POST'); - $request->setUserResolver(fn () => $this->user); - - $contextSet = null; - $response = $this->middleware->handle($request, function ($request) use (&$contextSet) { - $contextSet = $request->attributes->get('mcp_workspace_context'); - - return response()->json(['success' => true]); - }); - - expect($contextSet)->toBeInstanceOf(WorkspaceContext::class); - expect($contextSet->workspaceId)->toBe($this->workspace->id); - }); - - it('defaults to required mode', function () { - $request = Request::create('/api/mcp/tools/call', 'POST'); - $request->headers->set('Accept', 'application/json'); - - $response = $this->middleware->handle($request, function () { - return response()->json(['success' => true]); - }); - - expect($response->getStatusCode())->toBe(403); - }); - - it('returns HTML response for non-API requests', function () { - $request = Request::create('/mcp/tools', 'GET'); - // Not setting Accept: application/json - - $response = $this->middleware->handle($request, function () { - return response()->json(['success' => true]); - }, 'required'); - - expect($response->getStatusCode())->toBe(403); - expect($response->headers->get('Content-Type'))->not->toContain('application/json'); - }); -}); diff --git a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/WorkspaceContextSecurityTest.php b/packages/core-mcp/src/Mod/Mcp/Tests/Unit/WorkspaceContextSecurityTest.php deleted file mode 100644 index b3c1e4f..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tests/Unit/WorkspaceContextSecurityTest.php +++ /dev/null @@ -1,190 +0,0 @@ -tool)->toBe('ListInvoices'); - expect($exception->getMessage())->toContain('ListInvoices'); - expect($exception->getMessage())->toContain('workspace context'); - }); - - it('creates exception with custom message', function () { - $exception = new MissingWorkspaceContextException('TestTool', 'Custom error message'); - - expect($exception->getMessage())->toBe('Custom error message'); - expect($exception->tool)->toBe('TestTool'); - }); - - it('returns correct status code', function () { - $exception = new MissingWorkspaceContextException('TestTool'); - - expect($exception->getStatusCode())->toBe(403); - }); - - it('returns correct error type', function () { - $exception = new MissingWorkspaceContextException('TestTool'); - - expect($exception->getErrorType())->toBe('missing_workspace_context'); - }); -}); - -describe('WorkspaceContext', function () { - beforeEach(function () { - $this->workspace = Workspace::factory()->create([ - 'name' => 'Test Workspace', - 'slug' => 'test-workspace', - ]); - }); - - it('creates context from workspace model', function () { - $context = WorkspaceContext::fromWorkspace($this->workspace); - - expect($context->workspaceId)->toBe($this->workspace->id); - expect($context->workspace)->toBe($this->workspace); - }); - - it('creates context from workspace ID', function () { - $context = WorkspaceContext::fromId($this->workspace->id); - - expect($context->workspaceId)->toBe($this->workspace->id); - expect($context->workspace)->toBeNull(); - }); - - it('loads workspace when accessing from ID-only context', function () { - $context = WorkspaceContext::fromId($this->workspace->id); - - $loadedWorkspace = $context->getWorkspace(); - - expect($loadedWorkspace->id)->toBe($this->workspace->id); - expect($loadedWorkspace->name)->toBe('Test Workspace'); - }); - - it('validates ownership correctly', function () { - $context = WorkspaceContext::fromWorkspace($this->workspace); - - // Should not throw for matching workspace - $context->validateOwnership($this->workspace->id, 'invoice'); - - expect(true)->toBeTrue(); // If we get here, no exception was thrown - }); - - it('throws on ownership validation failure', function () { - $context = WorkspaceContext::fromWorkspace($this->workspace); - $differentWorkspaceId = $this->workspace->id + 999; - - expect(fn () => $context->validateOwnership($differentWorkspaceId, 'invoice')) - ->toThrow(\RuntimeException::class, 'invoice does not belong to the authenticated workspace'); - }); - - it('checks workspace ID correctly', function () { - $context = WorkspaceContext::fromWorkspace($this->workspace); - - expect($context->hasWorkspaceId($this->workspace->id))->toBeTrue(); - expect($context->hasWorkspaceId($this->workspace->id + 1))->toBeFalse(); - }); -}); - -describe('RequiresWorkspaceContext trait', function () { - beforeEach(function () { - $this->workspace = Workspace::factory()->create(); - $this->tool = new TestToolWithWorkspaceContext; - }); - - it('throws MissingWorkspaceContextException when no context set', function () { - expect(fn () => $this->tool->getWorkspaceId()) - ->toThrow(MissingWorkspaceContextException::class); - }); - - it('returns workspace ID when context is set', function () { - $this->tool->setWorkspace($this->workspace); - - expect($this->tool->getWorkspaceId())->toBe($this->workspace->id); - }); - - it('returns workspace when context is set', function () { - $this->tool->setWorkspace($this->workspace); - - $workspace = $this->tool->getWorkspace(); - - expect($workspace->id)->toBe($this->workspace->id); - }); - - it('allows setting context from workspace ID', function () { - $this->tool->setWorkspaceId($this->workspace->id); - - expect($this->tool->getWorkspaceId())->toBe($this->workspace->id); - }); - - it('allows setting context object directly', function () { - $context = WorkspaceContext::fromWorkspace($this->workspace); - $this->tool->setWorkspaceContext($context); - - expect($this->tool->getWorkspaceId())->toBe($this->workspace->id); - }); - - it('correctly reports whether context is available', function () { - expect($this->tool->hasWorkspaceContext())->toBeFalse(); - - $this->tool->setWorkspace($this->workspace); - - expect($this->tool->hasWorkspaceContext())->toBeTrue(); - }); - - it('validates resource ownership through context', function () { - $this->tool->setWorkspace($this->workspace); - $differentWorkspaceId = $this->workspace->id + 999; - - expect(fn () => $this->tool->validateResourceOwnership($differentWorkspaceId, 'subscription')) - ->toThrow(\RuntimeException::class, 'subscription does not belong'); - }); - - it('requires context with custom error message', function () { - expect(fn () => $this->tool->requireWorkspaceContext('listing invoices')) - ->toThrow(MissingWorkspaceContextException::class, 'listing invoices'); - }); -}); - -describe('Workspace-scoped tool security', function () { - beforeEach(function () { - $this->user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - // Create another workspace to test isolation - $this->otherWorkspace = Workspace::factory()->create(); - }); - - it('prevents accessing another workspace data by setting context correctly', function () { - $context = WorkspaceContext::fromWorkspace($this->workspace); - - // Trying to validate ownership of data from another workspace should fail - expect(fn () => $context->validateOwnership($this->otherWorkspace->id, 'data')) - ->toThrow(\RuntimeException::class); - }); -}); diff --git a/packages/core-mcp/src/Mod/Mcp/Tests/UseCase/ApiKeyManagerBasic.php b/packages/core-mcp/src/Mod/Mcp/Tests/UseCase/ApiKeyManagerBasic.php deleted file mode 100644 index 270680c..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tests/UseCase/ApiKeyManagerBasic.php +++ /dev/null @@ -1,71 +0,0 @@ -user = User::factory()->create([ - 'email' => 'test@example.com', - 'password' => bcrypt('password'), - ]); - - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - }); - - it('can view the API key manager page with all sections', function () { - // Login and navigate to MCP keys page - $this->actingAs($this->user); - - $response = $this->get(route('mcp.keys')); - - $response->assertOk(); - - // Verify page title and description - $response->assertSee(__('mcp::mcp.keys.title')); - $response->assertSee(__('mcp::mcp.keys.description')); - - // Verify empty state when no keys exist - $response->assertSee(__('mcp::mcp.keys.empty.title')); - $response->assertSee(__('mcp::mcp.keys.empty.description')); - - // Verify action buttons - $response->assertSee(__('mcp::mcp.keys.actions.create')); - }); - - it('can view the playground page', function () { - $this->actingAs($this->user); - - $response = $this->get(route('mcp.playground')); - - $response->assertOk(); - - // Verify page title and description - $response->assertSee(__('mcp::mcp.playground.title')); - $response->assertSee(__('mcp::mcp.playground.description')); - }); - - it('can view the request log page', function () { - $this->actingAs($this->user); - - $response = $this->get(route('mcp.logs')); - - $response->assertOk(); - - // Verify page title and description - $response->assertSee(__('mcp::mcp.logs.title')); - $response->assertSee(__('mcp::mcp.logs.description')); - }); -}); diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/CreateCoupon.php b/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/CreateCoupon.php deleted file mode 100644 index 18b53eb..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/CreateCoupon.php +++ /dev/null @@ -1,100 +0,0 @@ -input('code')); - $name = $request->input('name'); - $type = $request->input('type', 'percentage'); - $value = $request->input('value'); - $duration = $request->input('duration', 'once'); - $maxUses = $request->input('max_uses'); - $validUntil = $request->input('valid_until'); - - // Validate code format - if (! preg_match('/^[A-Z0-9_-]+$/', $code)) { - return Response::text(json_encode([ - 'error' => 'Invalid code format. Use only uppercase letters, numbers, hyphens, and underscores.', - ])); - } - - // Check for existing code - if (Coupon::where('code', $code)->exists()) { - return Response::text(json_encode([ - 'error' => 'A coupon with this code already exists.', - ])); - } - - // Validate type - if (! in_array($type, ['percentage', 'fixed_amount'])) { - return Response::text(json_encode([ - 'error' => 'Invalid type. Use percentage or fixed_amount.', - ])); - } - - // Validate value - if ($type === 'percentage' && ($value < 1 || $value > 100)) { - return Response::text(json_encode([ - 'error' => 'Percentage value must be between 1 and 100.', - ])); - } - - try { - $coupon = Coupon::create([ - 'code' => $code, - 'name' => $name, - 'type' => $type, - 'value' => $value, - 'duration' => $duration, - 'max_uses' => $maxUses, - 'max_uses_per_workspace' => 1, - 'valid_until' => $validUntil ? \Carbon\Carbon::parse($validUntil) : null, - 'is_active' => true, - 'applies_to' => 'all', - ]); - - return Response::text(json_encode([ - 'success' => true, - 'coupon' => [ - 'id' => $coupon->id, - 'code' => $coupon->code, - 'name' => $coupon->name, - 'type' => $coupon->type, - 'value' => (float) $coupon->value, - 'duration' => $coupon->duration, - 'max_uses' => $coupon->max_uses, - 'valid_until' => $coupon->valid_until?->toDateString(), - 'is_active' => $coupon->is_active, - ], - ], JSON_PRETTY_PRINT)); - } catch (\Exception $e) { - return Response::text(json_encode([ - 'error' => 'Failed to create coupon: '.$e->getMessage(), - ])); - } - } - - public function schema(JsonSchema $schema): array - { - return [ - 'code' => $schema->string('Unique coupon code (uppercase letters, numbers, hyphens, underscores)')->required(), - 'name' => $schema->string('Display name for the coupon')->required(), - 'type' => $schema->string('Discount type: percentage or fixed_amount (default: percentage)'), - 'value' => $schema->number('Discount value (percentage 1-100 or fixed amount)')->required(), - 'duration' => $schema->string('How long discount applies: once, repeating, or forever (default: once)'), - 'max_uses' => $schema->integer('Maximum total uses (null for unlimited)'), - 'valid_until' => $schema->string('Expiry date in YYYY-MM-DD format'), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/GetBillingStatus.php b/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/GetBillingStatus.php deleted file mode 100644 index d30f037..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/GetBillingStatus.php +++ /dev/null @@ -1,77 +0,0 @@ -getWorkspace(); - $workspaceId = $workspace->id; - - // Get active subscription - $subscription = Subscription::with('workspacePackage.package') - ->where('workspace_id', $workspaceId) - ->whereIn('status', ['active', 'trialing', 'past_due']) - ->first(); - - // Get workspace packages - $packages = $workspace->workspacePackages() - ->with('package') - ->whereIn('status', ['active', 'trial']) - ->get(); - - $status = [ - 'workspace' => [ - 'id' => $workspace->id, - 'name' => $workspace->name, - ], - 'subscription' => $subscription ? [ - 'id' => $subscription->id, - 'status' => $subscription->status, - 'gateway' => $subscription->gateway, - 'billing_cycle' => $subscription->billing_cycle, - 'current_period_start' => $subscription->current_period_start?->toIso8601String(), - 'current_period_end' => $subscription->current_period_end?->toIso8601String(), - 'days_until_renewal' => $subscription->daysUntilRenewal(), - 'cancel_at_period_end' => $subscription->cancel_at_period_end, - 'on_trial' => $subscription->onTrial(), - 'trial_ends_at' => $subscription->trial_ends_at?->toIso8601String(), - ] : null, - 'packages' => $packages->map(fn ($wp) => [ - 'code' => $wp->package?->code, - 'name' => $wp->package?->name, - 'status' => $wp->status, - 'expires_at' => $wp->expires_at?->toIso8601String(), - ])->values()->all(), - ]; - - return Response::text(json_encode($status, JSON_PRETTY_PRINT)); - } - - public function schema(JsonSchema $schema): array - { - // No parameters needed - workspace comes from authentication context - return []; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/ListInvoices.php b/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/ListInvoices.php deleted file mode 100644 index 3f4282c..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/ListInvoices.php +++ /dev/null @@ -1,76 +0,0 @@ -getWorkspaceId(); - - $status = $request->input('status'); // paid, pending, overdue, void - $limit = min($request->input('limit', 10), 50); - - $query = Invoice::with('order') - ->where('workspace_id', $workspaceId) - ->latest(); - - if ($status) { - $query->where('status', $status); - } - - $invoices = $query->limit($limit)->get(); - - $result = [ - 'workspace_id' => $workspaceId, - 'count' => $invoices->count(), - 'invoices' => $invoices->map(fn ($invoice) => [ - 'id' => $invoice->id, - 'invoice_number' => $invoice->invoice_number, - 'status' => $invoice->status, - 'subtotal' => (float) $invoice->subtotal, - 'discount_amount' => (float) $invoice->discount_amount, - 'tax_amount' => (float) $invoice->tax_amount, - 'total' => (float) $invoice->total, - 'amount_paid' => (float) $invoice->amount_paid, - 'amount_due' => (float) $invoice->amount_due, - 'currency' => $invoice->currency, - 'issue_date' => $invoice->issue_date?->toDateString(), - 'due_date' => $invoice->due_date?->toDateString(), - 'paid_at' => $invoice->paid_at?->toIso8601String(), - 'is_overdue' => $invoice->isOverdue(), - 'order_number' => $invoice->order?->order_number, - ])->all(), - ]; - - return Response::text(json_encode($result, JSON_PRETTY_PRINT)); - } - - public function schema(JsonSchema $schema): array - { - return [ - 'status' => $schema->string('Filter by status: paid, pending, overdue, void'), - 'limit' => $schema->integer('Maximum number of invoices to return (default 10, max 50)'), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/UpgradePlan.php b/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/UpgradePlan.php deleted file mode 100644 index 44e57a9..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/Commerce/UpgradePlan.php +++ /dev/null @@ -1,120 +0,0 @@ -getWorkspace(); - $workspaceId = $workspace->id; - - $newPackageCode = $request->input('package_code'); - $preview = $request->input('preview', true); - $immediate = $request->input('immediate', true); - - $newPackage = Package::where('code', $newPackageCode)->first(); - - if (! $newPackage) { - return Response::text(json_encode([ - 'error' => 'Package not found', - 'available_packages' => Package::where('is_active', true) - ->where('is_public', true) - ->pluck('code') - ->all(), - ])); - } - - // Get active subscription - $subscription = Subscription::with('workspacePackage.package') - ->where('workspace_id', $workspaceId) - ->whereIn('status', ['active', 'trialing']) - ->first(); - - if (! $subscription) { - return Response::text(json_encode([ - 'error' => 'No active subscription found for this workspace', - ])); - } - - $subscriptionService = app(SubscriptionService::class); - - try { - if ($preview) { - // Preview the proration - $proration = $subscriptionService->previewPlanChange($subscription, $newPackage); - - return Response::text(json_encode([ - 'preview' => true, - 'current_package' => $subscription->workspacePackage?->package?->code, - 'new_package' => $newPackage->code, - 'proration' => [ - 'is_upgrade' => $proration->isUpgrade(), - 'is_downgrade' => $proration->isDowngrade(), - 'current_plan_price' => $proration->currentPlanPrice, - 'new_plan_price' => $proration->newPlanPrice, - 'credit_amount' => $proration->creditAmount, - 'prorated_new_cost' => $proration->proratedNewPlanCost, - 'net_amount' => $proration->netAmount, - 'requires_payment' => $proration->requiresPayment(), - 'days_remaining' => $proration->daysRemaining, - 'currency' => $proration->currency, - ], - ], JSON_PRETTY_PRINT)); - } - - // Execute the plan change - $result = $subscriptionService->changePlan( - $subscription, - $newPackage, - prorate: true, - immediate: $immediate - ); - - return Response::text(json_encode([ - 'success' => true, - 'immediate' => $result['immediate'], - 'current_package' => $subscription->workspacePackage?->package?->code, - 'new_package' => $newPackage->code, - 'proration' => $result['proration']?->toArray(), - 'subscription_status' => $result['subscription']->status, - ], JSON_PRETTY_PRINT)); - - } catch (\Exception $e) { - return Response::text(json_encode([ - 'error' => $e->getMessage(), - ])); - } - } - - public function schema(JsonSchema $schema): array - { - return [ - 'package_code' => $schema->string('The code of the new package (e.g., agency, enterprise)')->required(), - 'preview' => $schema->boolean('If true, only preview the change without executing (default: true)'), - 'immediate' => $schema->boolean('If true, apply change immediately; if false, schedule for period end (default: true)'), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/Concerns/RequiresWorkspaceContext.php b/packages/core-mcp/src/Mod/Mcp/Tools/Concerns/RequiresWorkspaceContext.php deleted file mode 100644 index 9b06991..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/Concerns/RequiresWorkspaceContext.php +++ /dev/null @@ -1,135 +0,0 @@ -name - ? $this->name - : class_basename(static::class); - } - - /** - * Get the workspace context, throwing if not available. - * - * @throws MissingWorkspaceContextException - */ - protected function getWorkspaceContext(): WorkspaceContext - { - if ($this->workspaceContext) { - return $this->workspaceContext; - } - - throw new MissingWorkspaceContextException($this->getToolName()); - } - - /** - * Get the workspace ID from context. - * - * @throws MissingWorkspaceContextException - */ - protected function getWorkspaceId(): int - { - return $this->getWorkspaceContext()->workspaceId; - } - - /** - * Get the workspace model from context. - * - * @throws MissingWorkspaceContextException - */ - protected function getWorkspace(): Workspace - { - return $this->getWorkspaceContext()->getWorkspace(); - } - - /** - * Set the workspace context for this tool execution. - */ - public function setWorkspaceContext(WorkspaceContext $context): void - { - $this->workspaceContext = $context; - } - - /** - * Set workspace context from a workspace model. - */ - public function setWorkspace(Workspace $workspace): void - { - $this->workspaceContext = WorkspaceContext::fromWorkspace($workspace); - } - - /** - * Set workspace context from a workspace ID. - */ - public function setWorkspaceId(int $workspaceId): void - { - $this->workspaceContext = WorkspaceContext::fromId($workspaceId); - } - - /** - * Check if workspace context is available. - */ - protected function hasWorkspaceContext(): bool - { - return $this->workspaceContext !== null; - } - - /** - * Validate that a resource belongs to the current workspace. - * - * @throws \RuntimeException If the resource doesn't belong to this workspace - * @throws MissingWorkspaceContextException If no workspace context - */ - protected function validateResourceOwnership(int $resourceWorkspaceId, string $resourceType = 'resource'): void - { - $this->getWorkspaceContext()->validateOwnership($resourceWorkspaceId, $resourceType); - } - - /** - * Require workspace context, throwing with a custom message if not available. - * - * @throws MissingWorkspaceContextException - */ - protected function requireWorkspaceContext(string $operation = 'this operation'): WorkspaceContext - { - if (! $this->workspaceContext) { - throw new MissingWorkspaceContextException( - $this->getToolName(), - sprintf( - "Workspace context is required for %s in tool '%s'. Authenticate with an API key or user session.", - $operation, - $this->getToolName() - ) - ); - } - - return $this->workspaceContext; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/Concerns/ValidatesDependencies.php b/packages/core-mcp/src/Mod/Mcp/Tools/Concerns/ValidatesDependencies.php deleted file mode 100644 index ad92c7e..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/Concerns/ValidatesDependencies.php +++ /dev/null @@ -1,123 +0,0 @@ - - */ - public function dependencies(): array - { - return []; - } - - /** - * Validate that all dependencies are met. - * - * @param array $context The execution context - * @param array $args The tool arguments - * - * @throws MissingDependencyException If dependencies are not met - */ - protected function validateDependencies(array $context = [], array $args = []): void - { - $sessionId = $context['session_id'] ?? 'anonymous'; - - app(ToolDependencyService::class)->validateDependencies( - sessionId: $sessionId, - toolName: $this->name(), - context: $context, - args: $args, - ); - } - - /** - * Check if all dependencies are met without throwing. - * - * @param array $context The execution context - * @param array $args The tool arguments - */ - protected function dependenciesMet(array $context = [], array $args = []): bool - { - $sessionId = $context['session_id'] ?? 'anonymous'; - - return app(ToolDependencyService::class)->checkDependencies( - sessionId: $sessionId, - toolName: $this->name(), - context: $context, - args: $args, - ); - } - - /** - * Get list of unmet dependencies. - * - * @param array $context The execution context - * @param array $args The tool arguments - * @return array - */ - protected function getMissingDependencies(array $context = [], array $args = []): array - { - $sessionId = $context['session_id'] ?? 'anonymous'; - - return app(ToolDependencyService::class)->getMissingDependencies( - sessionId: $sessionId, - toolName: $this->name(), - context: $context, - args: $args, - ); - } - - /** - * Record this tool call for dependency tracking. - * - * @param array $context The execution context - * @param array $args The tool arguments - */ - protected function recordToolCall(array $context = [], array $args = []): void - { - $sessionId = $context['session_id'] ?? 'anonymous'; - - app(ToolDependencyService::class)->recordToolCall( - sessionId: $sessionId, - toolName: $this->name(), - args: $args, - ); - } - - /** - * Create a dependency error response. - */ - protected function dependencyError(MissingDependencyException $e): array - { - return [ - 'error' => 'dependency_not_met', - 'message' => $e->getMessage(), - 'missing' => array_map( - fn (ToolDependency $dep) => [ - 'type' => $dep->type->value, - 'key' => $dep->key, - 'description' => $dep->description, - ], - $e->missingDependencies - ), - 'suggested_order' => $e->suggestedOrder, - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/ContentTools.php b/packages/core-mcp/src/Mod/Mcp/Tools/ContentTools.php deleted file mode 100644 index fd5b69d..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/ContentTools.php +++ /dev/null @@ -1,633 +0,0 @@ -get('action'); - $workspaceSlug = $request->get('workspace'); - - // Resolve workspace - $workspace = $this->resolveWorkspace($workspaceSlug); - if (! $workspace && in_array($action, ['list', 'read', 'create', 'update', 'delete'])) { - return Response::text(json_encode([ - 'error' => 'Workspace is required. Provide a workspace slug.', - ])); - } - - return match ($action) { - 'list' => $this->listContent($workspace, $request), - 'read' => $this->readContent($workspace, $request), - 'create' => $this->createContent($workspace, $request), - 'update' => $this->updateContent($workspace, $request), - 'delete' => $this->deleteContent($workspace, $request), - 'taxonomies' => $this->listTaxonomies($workspace, $request), - default => Response::text(json_encode([ - 'error' => 'Invalid action. Available: list, read, create, update, delete, taxonomies', - ])), - }; - } - - /** - * Resolve workspace from slug. - */ - protected function resolveWorkspace(?string $slug): ?Workspace - { - if (! $slug) { - return null; - } - - return Workspace::where('slug', $slug) - ->orWhere('id', $slug) - ->first(); - } - - /** - * Check entitlements for content operations. - */ - protected function checkEntitlement(Workspace $workspace, string $action): ?array - { - $entitlements = app(EntitlementService::class); - - // Check if workspace has content MCP access - $result = $entitlements->can($workspace, 'content.mcp_access'); - - if ($result->isDenied()) { - return ['error' => $result->reason ?? 'Content MCP access not available in your plan.']; - } - - // For create operations, check content limits - if ($action === 'create') { - $limitResult = $entitlements->can($workspace, 'content.items'); - if ($limitResult->isDenied()) { - return ['error' => $limitResult->reason ?? 'Content item limit reached.']; - } - } - - return null; - } - - /** - * List content items for a workspace. - */ - protected function listContent(Workspace $workspace, Request $request): Response - { - $query = ContentItem::forWorkspace($workspace->id) - ->native() - ->with(['author', 'taxonomies']); - - // Filter by type (post/page) - if ($type = $request->get('type')) { - $query->where('type', $type); - } - - // Filter by status - if ($status = $request->get('status')) { - if ($status === 'published') { - $query->published(); - } elseif ($status === 'scheduled') { - $query->scheduled(); - } else { - $query->where('status', $status); - } - } - - // Search - if ($search = $request->get('search')) { - $query->where(function ($q) use ($search) { - $q->where('title', 'like', "%{$search}%") - ->orWhere('content_html', 'like', "%{$search}%") - ->orWhere('excerpt', 'like', "%{$search}%"); - }); - } - - // Pagination - $limit = min($request->get('limit', 20), 100); - $offset = $request->get('offset', 0); - - $total = $query->count(); - $items = $query->orderByDesc('updated_at') - ->skip($offset) - ->take($limit) - ->get(); - - $result = [ - 'items' => $items->map(fn (ContentItem $item) => [ - 'id' => $item->id, - 'slug' => $item->slug, - 'title' => $item->title, - 'type' => $item->type, - 'status' => $item->status, - 'excerpt' => Str::limit($item->excerpt, 200), - 'author' => $item->author?->name, - 'categories' => $item->categories->pluck('name')->all(), - 'tags' => $item->tags->pluck('name')->all(), - 'word_count' => str_word_count(strip_tags($item->content_html ?? '')), - 'publish_at' => $item->publish_at?->toIso8601String(), - 'created_at' => $item->created_at->toIso8601String(), - 'updated_at' => $item->updated_at->toIso8601String(), - ]), - 'total' => $total, - 'limit' => $limit, - 'offset' => $offset, - ]; - - return Response::text(json_encode($result, JSON_PRETTY_PRINT)); - } - - /** - * Read full content of an item. - */ - protected function readContent(Workspace $workspace, Request $request): Response - { - $identifier = $request->get('identifier'); - - if (! $identifier) { - return Response::text(json_encode(['error' => 'identifier (slug or ID) is required'])); - } - - $query = ContentItem::forWorkspace($workspace->id)->native(); - - // Find by ID, slug, or wp_id - if (is_numeric($identifier)) { - $item = $query->where('id', $identifier) - ->orWhere('wp_id', $identifier) - ->first(); - } else { - $item = $query->where('slug', $identifier)->first(); - } - - if (! $item) { - return Response::text(json_encode(['error' => 'Content not found'])); - } - - // Load relationships - $item->load(['author', 'taxonomies', 'revisions' => fn ($q) => $q->latest()->limit(5)]); - - // Return as markdown with frontmatter for AI context - $format = $request->get('format', 'json'); - - if ($format === 'markdown') { - $markdown = $this->contentToMarkdown($item); - - return Response::text($markdown); - } - - $result = [ - 'id' => $item->id, - 'slug' => $item->slug, - 'title' => $item->title, - 'type' => $item->type, - 'status' => $item->status, - 'excerpt' => $item->excerpt, - 'content_html' => $item->content_html, - 'content_markdown' => $item->content_markdown, - 'author' => [ - 'id' => $item->author?->id, - 'name' => $item->author?->name, - ], - 'categories' => $item->categories->map(fn ($t) => [ - 'id' => $t->id, - 'slug' => $t->slug, - 'name' => $t->name, - ])->all(), - 'tags' => $item->tags->map(fn ($t) => [ - 'id' => $t->id, - 'slug' => $t->slug, - 'name' => $t->name, - ])->all(), - 'seo_meta' => $item->seo_meta, - 'publish_at' => $item->publish_at?->toIso8601String(), - 'revision_count' => $item->revision_count, - 'recent_revisions' => $item->revisions->map(fn ($r) => [ - 'id' => $r->id, - 'revision_number' => $r->revision_number, - 'change_type' => $r->change_type, - 'created_at' => $r->created_at->toIso8601String(), - ])->all(), - 'created_at' => $item->created_at->toIso8601String(), - 'updated_at' => $item->updated_at->toIso8601String(), - ]; - - return Response::text(json_encode($result, JSON_PRETTY_PRINT)); - } - - /** - * Create new content. - */ - protected function createContent(Workspace $workspace, Request $request): Response - { - // Check entitlements - $entitlementError = $this->checkEntitlement($workspace, 'create'); - if ($entitlementError) { - return Response::text(json_encode($entitlementError)); - } - - // Validate required fields - $title = $request->get('title'); - if (! $title) { - return Response::text(json_encode(['error' => 'title is required'])); - } - - $type = $request->get('type', 'post'); - if (! in_array($type, ['post', 'page'])) { - return Response::text(json_encode(['error' => 'type must be post or page'])); - } - - $status = $request->get('status', 'draft'); - if (! in_array($status, ['draft', 'publish', 'future', 'private'])) { - return Response::text(json_encode(['error' => 'status must be draft, publish, future, or private'])); - } - - // Generate slug - $slug = $request->get('slug') ?: Str::slug($title); - $baseSlug = $slug; - $counter = 1; - - // Ensure unique slug within workspace - while (ContentItem::forWorkspace($workspace->id)->where('slug', $slug)->exists()) { - $slug = $baseSlug.'-'.$counter++; - } - - // Parse markdown content if provided - $content = $request->get('content', ''); - $contentHtml = $request->get('content_html'); - $contentMarkdown = $request->get('content_markdown', $content); - - // Convert markdown to HTML if only markdown provided - if ($contentMarkdown && ! $contentHtml) { - $contentHtml = Str::markdown($contentMarkdown); - } - - // Handle scheduling - $publishAt = null; - if ($status === 'future') { - $publishAt = $request->get('publish_at'); - if (! $publishAt) { - return Response::text(json_encode(['error' => 'publish_at is required for scheduled content'])); - } - $publishAt = \Carbon\Carbon::parse($publishAt); - } - - // Create content item - $item = ContentItem::create([ - 'workspace_id' => $workspace->id, - 'content_type' => ContentType::NATIVE, - 'type' => $type, - 'status' => $status, - 'slug' => $slug, - 'title' => $title, - 'excerpt' => $request->get('excerpt'), - 'content_html' => $contentHtml, - 'content_markdown' => $contentMarkdown, - 'seo_meta' => $request->get('seo_meta'), - 'publish_at' => $publishAt, - 'last_edited_by' => Auth::id(), - ]); - - // Handle categories - if ($categories = $request->get('categories')) { - $categoryIds = $this->resolveOrCreateTaxonomies($workspace, $categories, 'category'); - $item->taxonomies()->attach($categoryIds); - } - - // Handle tags - if ($tags = $request->get('tags')) { - $tagIds = $this->resolveOrCreateTaxonomies($workspace, $tags, 'tag'); - $item->taxonomies()->attach($tagIds); - } - - // Create initial revision - $item->createRevision(Auth::user(), ContentRevision::CHANGE_EDIT, 'Created via MCP'); - - // Record usage - $entitlements = app(EntitlementService::class); - $entitlements->recordUsage($workspace, 'content.items', 1, Auth::user(), [ - 'source' => 'mcp', - 'content_id' => $item->id, - ]); - - return Response::text(json_encode([ - 'ok' => true, - 'item' => [ - 'id' => $item->id, - 'slug' => $item->slug, - 'title' => $item->title, - 'type' => $item->type, - 'status' => $item->status, - 'url' => $this->getContentUrl($workspace, $item), - ], - ], JSON_PRETTY_PRINT)); - } - - /** - * Update existing content. - */ - protected function updateContent(Workspace $workspace, Request $request): Response - { - $identifier = $request->get('identifier'); - - if (! $identifier) { - return Response::text(json_encode(['error' => 'identifier (slug or ID) is required'])); - } - - $query = ContentItem::forWorkspace($workspace->id)->native(); - - if (is_numeric($identifier)) { - $item = $query->find($identifier); - } else { - $item = $query->where('slug', $identifier)->first(); - } - - if (! $item) { - return Response::text(json_encode(['error' => 'Content not found'])); - } - - // Build update data - $updateData = []; - - if ($request->has('title')) { - $updateData['title'] = $request->get('title'); - } - - if ($request->has('excerpt')) { - $updateData['excerpt'] = $request->get('excerpt'); - } - - if ($request->has('content') || $request->has('content_markdown')) { - $contentMarkdown = $request->get('content_markdown') ?? $request->get('content'); - $updateData['content_markdown'] = $contentMarkdown; - $updateData['content_html'] = $request->get('content_html') ?? Str::markdown($contentMarkdown); - } - - if ($request->has('content_html') && ! $request->has('content_markdown')) { - $updateData['content_html'] = $request->get('content_html'); - } - - if ($request->has('status')) { - $status = $request->get('status'); - if (! in_array($status, ['draft', 'publish', 'future', 'private'])) { - return Response::text(json_encode(['error' => 'status must be draft, publish, future, or private'])); - } - $updateData['status'] = $status; - - if ($status === 'future' && $request->has('publish_at')) { - $updateData['publish_at'] = \Carbon\Carbon::parse($request->get('publish_at')); - } - } - - if ($request->has('seo_meta')) { - $updateData['seo_meta'] = $request->get('seo_meta'); - } - - if ($request->has('slug')) { - $newSlug = $request->get('slug'); - if ($newSlug !== $item->slug) { - // Check uniqueness - if (ContentItem::forWorkspace($workspace->id)->where('slug', $newSlug)->where('id', '!=', $item->id)->exists()) { - return Response::text(json_encode(['error' => 'Slug already exists'])); - } - $updateData['slug'] = $newSlug; - } - } - - $updateData['last_edited_by'] = Auth::id(); - - // Update item - $item->update($updateData); - - // Handle categories - if ($request->has('categories')) { - $categoryIds = $this->resolveOrCreateTaxonomies($workspace, $request->get('categories'), 'category'); - $item->categories()->sync($categoryIds); - } - - // Handle tags - if ($request->has('tags')) { - $tagIds = $this->resolveOrCreateTaxonomies($workspace, $request->get('tags'), 'tag'); - $item->tags()->sync($tagIds); - } - - // Create revision - $changeSummary = $request->get('change_summary', 'Updated via MCP'); - $item->createRevision(Auth::user(), ContentRevision::CHANGE_EDIT, $changeSummary); - - $item->refresh()->load(['author', 'taxonomies']); - - return Response::text(json_encode([ - 'ok' => true, - 'item' => [ - 'id' => $item->id, - 'slug' => $item->slug, - 'title' => $item->title, - 'type' => $item->type, - 'status' => $item->status, - 'revision_count' => $item->revision_count, - 'url' => $this->getContentUrl($workspace, $item), - ], - ], JSON_PRETTY_PRINT)); - } - - /** - * Delete content (soft delete). - */ - protected function deleteContent(Workspace $workspace, Request $request): Response - { - $identifier = $request->get('identifier'); - - if (! $identifier) { - return Response::text(json_encode(['error' => 'identifier (slug or ID) is required'])); - } - - $query = ContentItem::forWorkspace($workspace->id)->native(); - - if (is_numeric($identifier)) { - $item = $query->find($identifier); - } else { - $item = $query->where('slug', $identifier)->first(); - } - - if (! $item) { - return Response::text(json_encode(['error' => 'Content not found'])); - } - - // Create final revision before delete - $item->createRevision(Auth::user(), ContentRevision::CHANGE_EDIT, 'Deleted via MCP'); - - // Soft delete - $item->delete(); - - return Response::text(json_encode([ - 'ok' => true, - 'deleted' => [ - 'id' => $item->id, - 'slug' => $item->slug, - 'title' => $item->title, - ], - ], JSON_PRETTY_PRINT)); - } - - /** - * List taxonomies (categories and tags). - */ - protected function listTaxonomies(Workspace $workspace, Request $request): Response - { - $type = $request->get('type'); // category or tag - - $query = ContentTaxonomy::where('workspace_id', $workspace->id); - - if ($type) { - $query->where('type', $type); - } - - $taxonomies = $query->orderBy('name')->get(); - - $result = [ - 'taxonomies' => $taxonomies->map(fn ($t) => [ - 'id' => $t->id, - 'type' => $t->type, - 'slug' => $t->slug, - 'name' => $t->name, - 'description' => $t->description, - ])->all(), - 'total' => $taxonomies->count(), - ]; - - return Response::text(json_encode($result, JSON_PRETTY_PRINT)); - } - - /** - * Resolve or create taxonomies from slugs/names. - */ - protected function resolveOrCreateTaxonomies(Workspace $workspace, array $items, string $type): array - { - $ids = []; - - foreach ($items as $item) { - $taxonomy = ContentTaxonomy::where('workspace_id', $workspace->id) - ->where('type', $type) - ->where(function ($q) use ($item) { - $q->where('slug', $item) - ->orWhere('name', $item); - }) - ->first(); - - if (! $taxonomy) { - // Create new taxonomy - $taxonomy = ContentTaxonomy::create([ - 'workspace_id' => $workspace->id, - 'type' => $type, - 'slug' => Str::slug($item), - 'name' => $item, - ]); - } - - $ids[] = $taxonomy->id; - } - - return $ids; - } - - /** - * Convert content item to markdown with frontmatter. - */ - protected function contentToMarkdown(ContentItem $item): string - { - $frontmatter = [ - 'title' => $item->title, - 'slug' => $item->slug, - 'type' => $item->type, - 'status' => $item->status, - 'author' => $item->author?->name, - 'categories' => $item->categories->pluck('name')->all(), - 'tags' => $item->tags->pluck('name')->all(), - 'created_at' => $item->created_at->toIso8601String(), - 'updated_at' => $item->updated_at->toIso8601String(), - ]; - - if ($item->publish_at) { - $frontmatter['publish_at'] = $item->publish_at->toIso8601String(); - } - - if ($item->seo_meta) { - $frontmatter['seo'] = $item->seo_meta; - } - - $yaml = "---\n"; - foreach ($frontmatter as $key => $value) { - if (is_array($value)) { - $yaml .= "{$key}: ".json_encode($value)."\n"; - } else { - $yaml .= "{$key}: {$value}\n"; - } - } - $yaml .= "---\n\n"; - - // Prefer markdown content, fall back to stripping HTML - $content = $item->content_markdown ?? strip_tags($item->content_html ?? ''); - - return $yaml.$content; - } - - /** - * Get the public URL for content. - */ - protected function getContentUrl(Workspace $workspace, ContentItem $item): string - { - $domain = $workspace->domain ?? config('app.url'); - $path = $item->type === 'post' ? "/blog/{$item->slug}" : "/{$item->slug}"; - - return "https://{$domain}{$path}"; - } - - public function schema(JsonSchema $schema): array - { - return [ - 'action' => $schema->string('Action: list, read, create, update, delete, taxonomies'), - 'workspace' => $schema->string('Workspace slug (required for most actions)')->nullable(), - 'identifier' => $schema->string('Content slug or ID (for read, update, delete)')->nullable(), - 'type' => $schema->string('Content type: post or page (for list filter or create)')->nullable(), - 'status' => $schema->string('Content status: draft, publish, future, private')->nullable(), - 'search' => $schema->string('Search term for list action')->nullable(), - 'limit' => $schema->integer('Max items to return (default 20, max 100)')->nullable(), - 'offset' => $schema->integer('Offset for pagination')->nullable(), - 'format' => $schema->string('Output format: json or markdown (for read action)')->nullable(), - 'title' => $schema->string('Content title (for create/update)')->nullable(), - 'slug' => $schema->string('URL slug (for create/update)')->nullable(), - 'excerpt' => $schema->string('Content excerpt/summary')->nullable(), - 'content' => $schema->string('Content body as markdown (for create/update)')->nullable(), - 'content_html' => $schema->string('Content body as HTML (optional, auto-generated from markdown)')->nullable(), - 'content_markdown' => $schema->string('Content body as markdown (alias for content)')->nullable(), - 'categories' => $schema->array('Array of category slugs or names')->nullable(), - 'tags' => $schema->array('Array of tag strings')->nullable(), - 'seo_meta' => $schema->array('SEO metadata: {title, description, keywords}')->nullable(), - 'publish_at' => $schema->string('ISO datetime for scheduled publishing (status=future)')->nullable(), - 'change_summary' => $schema->string('Summary of changes for revision history (update action)')->nullable(), - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/GetStats.php b/packages/core-mcp/src/Mod/Mcp/Tools/GetStats.php deleted file mode 100644 index 16ee6e3..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/GetStats.php +++ /dev/null @@ -1,30 +0,0 @@ - 6, - 'active_users' => 128, - 'page_views_30d' => 12500, - 'server_load' => '23%', - ]; - - return Response::text(json_encode($stats, JSON_PRETTY_PRINT)); - } - - public function schema(JsonSchema $schema): array - { - return []; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/ListRoutes.php b/packages/core-mcp/src/Mod/Mcp/Tools/ListRoutes.php deleted file mode 100644 index bdb9230..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/ListRoutes.php +++ /dev/null @@ -1,32 +0,0 @@ -getRoutes()) - ->map(fn ($route) => [ - 'uri' => $route->uri(), - 'methods' => $route->methods(), - 'name' => $route->getName(), - ]) - ->values() - ->toArray(); - - return Response::text(json_encode($routes, JSON_PRETTY_PRINT)); - } - - public function schema(JsonSchema $schema): array - { - return []; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/ListSites.php b/packages/core-mcp/src/Mod/Mcp/Tools/ListSites.php deleted file mode 100644 index 7ce9a9f..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/ListSites.php +++ /dev/null @@ -1,32 +0,0 @@ - 'BioHost', 'domain' => 'link.host.uk.com', 'type' => 'WordPress'], - ['name' => 'SocialHost', 'domain' => 'social.host.uk.com', 'type' => 'Laravel'], - ['name' => 'AnalyticsHost', 'domain' => 'analytics.host.uk.com', 'type' => 'Node.js'], - ['name' => 'TrustHost', 'domain' => 'trust.host.uk.com', 'type' => 'WordPress'], - ['name' => 'NotifyHost', 'domain' => 'notify.host.uk.com', 'type' => 'Go'], - ['name' => 'MailHost', 'domain' => 'hostmail.cc', 'type' => 'MailCow'], - ]; - - return Response::text(json_encode($sites, JSON_PRETTY_PRINT)); - } - - public function schema(JsonSchema $schema): array - { - return []; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/ListTables.php b/packages/core-mcp/src/Mod/Mcp/Tools/ListTables.php deleted file mode 100644 index f6255ea..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/ListTables.php +++ /dev/null @@ -1,28 +0,0 @@ -map(fn ($table) => array_values((array) $table)[0]) - ->toArray(); - - return Response::text(json_encode($tables, JSON_PRETTY_PRINT)); - } - - public function schema(JsonSchema $schema): array - { - return []; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/Tools/QueryDatabase.php b/packages/core-mcp/src/Mod/Mcp/Tools/QueryDatabase.php deleted file mode 100644 index 164199e..0000000 --- a/packages/core-mcp/src/Mod/Mcp/Tools/QueryDatabase.php +++ /dev/null @@ -1,281 +0,0 @@ -validator = $this->createValidator(); - } - - public function handle(Request $request): Response - { - $query = $request->input('query'); - $explain = $request->input('explain', false); - - if (empty($query)) { - return $this->errorResponse('Query is required'); - } - - // Validate the query - try { - $this->validator->validate($query); - } catch (ForbiddenQueryException $e) { - return $this->errorResponse($e->getMessage()); - } - - // Check for blocked tables - $blockedTable = $this->checkBlockedTables($query); - if ($blockedTable !== null) { - return $this->errorResponse( - sprintf("Access to table '%s' is not permitted", $blockedTable) - ); - } - - // Apply row limit if not present - $query = $this->applyRowLimit($query); - - try { - $connection = $this->getConnection(); - - // If explain is requested, run EXPLAIN first - if ($explain) { - return $this->handleExplain($connection, $query); - } - - $results = DB::connection($connection)->select($query); - - return Response::text(json_encode($results, JSON_PRETTY_PRINT)); - } catch (\Exception $e) { - // Log the actual error for debugging but return sanitised message - report($e); - - return $this->errorResponse('Query execution failed: '.$this->sanitiseErrorMessage($e->getMessage())); - } - } - - public function schema(JsonSchema $schema): array - { - return [ - 'query' => $schema->string('SQL SELECT query to execute. Only read-only SELECT queries are permitted.'), - 'explain' => $schema->boolean('If true, runs EXPLAIN on the query instead of executing it. Useful for query optimization and debugging.')->default(false), - ]; - } - - /** - * Create the SQL validator with configuration. - */ - private function createValidator(): SqlQueryValidator - { - $useWhitelist = Config::get('mcp.database.use_whitelist', true); - $customPatterns = Config::get('mcp.database.whitelist_patterns', []); - - $validator = new SqlQueryValidator(null, $useWhitelist); - - foreach ($customPatterns as $pattern) { - $validator->addWhitelistPattern($pattern); - } - - return $validator; - } - - /** - * Get the database connection to use. - * - * @throws \RuntimeException If the configured connection is invalid - */ - private function getConnection(): ?string - { - $connection = Config::get('mcp.database.connection'); - - // If configured connection doesn't exist, throw exception - if ($connection && ! Config::has("database.connections.{$connection}")) { - throw new \RuntimeException( - "Invalid MCP database connection '{$connection}' configured. ". - "Please ensure 'database.connections.{$connection}' exists in your database configuration." - ); - } - - return $connection; - } - - /** - * Check if the query references any blocked tables. - */ - private function checkBlockedTables(string $query): ?string - { - $blockedTables = Config::get('mcp.database.blocked_tables', []); - - foreach ($blockedTables as $table) { - // Check for table references in various formats - $patterns = [ - '/\bFROM\s+`?'.preg_quote($table, '/').'`?\b/i', - '/\bJOIN\s+`?'.preg_quote($table, '/').'`?\b/i', - '/\b'.preg_quote($table, '/').'\./i', // table.column format - ]; - - foreach ($patterns as $pattern) { - if (preg_match($pattern, $query)) { - return $table; - } - } - } - - return null; - } - - /** - * Apply row limit to query if not already present. - */ - private function applyRowLimit(string $query): string - { - $maxRows = Config::get('mcp.database.max_rows', 1000); - - // Check if LIMIT is already present - if (preg_match('/\bLIMIT\s+\d+/i', $query)) { - return $query; - } - - // Remove trailing semicolon if present - $query = rtrim(trim($query), ';'); - - return $query.' LIMIT '.$maxRows; - } - - /** - * Sanitise database error messages to avoid leaking sensitive information. - */ - private function sanitiseErrorMessage(string $message): string - { - // Remove specific database paths, credentials, etc. - $message = preg_replace('/\/[^\s]+/', '[path]', $message); - $message = preg_replace('/at \d+\.\d+\.\d+\.\d+/', 'at [ip]', $message); - - // Truncate long messages - if (strlen($message) > 200) { - $message = substr($message, 0, 200).'...'; - } - - return $message; - } - - /** - * Handle EXPLAIN query execution. - */ - private function handleExplain(?string $connection, string $query): Response - { - try { - // Run EXPLAIN on the query - $explainResults = DB::connection($connection)->select("EXPLAIN {$query}"); - - // Also try to get extended information if MySQL/MariaDB - $warnings = []; - try { - $warnings = DB::connection($connection)->select('SHOW WARNINGS'); - } catch (\Exception $e) { - // SHOW WARNINGS may not be available on all databases - } - - $response = [ - 'explain' => $explainResults, - 'query' => $query, - ]; - - if (! empty($warnings)) { - $response['warnings'] = $warnings; - } - - // Add helpful interpretation - $response['interpretation'] = $this->interpretExplain($explainResults); - - return Response::text(json_encode($response, JSON_PRETTY_PRINT)); - } catch (\Exception $e) { - report($e); - - return $this->errorResponse('EXPLAIN failed: '.$this->sanitiseErrorMessage($e->getMessage())); - } - } - - /** - * Provide human-readable interpretation of EXPLAIN results. - */ - private function interpretExplain(array $explainResults): array - { - $interpretation = []; - - foreach ($explainResults as $row) { - $rowAnalysis = []; - - // Convert stdClass to array for easier access - $rowArray = (array) $row; - - // Check for full table scan - if (isset($rowArray['type']) && $rowArray['type'] === 'ALL') { - $rowAnalysis[] = 'WARNING: Full table scan detected. Consider adding an index.'; - } - - // Check for filesort - if (isset($rowArray['Extra']) && str_contains($rowArray['Extra'], 'Using filesort')) { - $rowAnalysis[] = 'INFO: Using filesort. Query may benefit from an index on ORDER BY columns.'; - } - - // Check for temporary table - if (isset($rowArray['Extra']) && str_contains($rowArray['Extra'], 'Using temporary')) { - $rowAnalysis[] = 'INFO: Using temporary table. Consider optimizing the query.'; - } - - // Check rows examined - if (isset($rowArray['rows']) && $rowArray['rows'] > 10000) { - $rowAnalysis[] = sprintf('WARNING: High row count (%d rows). Query may be slow.', $rowArray['rows']); - } - - // Check if index is used - if (isset($rowArray['key']) && $rowArray['key'] !== null) { - $rowAnalysis[] = sprintf('GOOD: Using index: %s', $rowArray['key']); - } - - if (! empty($rowAnalysis)) { - $interpretation[] = [ - 'table' => $rowArray['table'] ?? 'unknown', - 'analysis' => $rowAnalysis, - ]; - } - } - - return $interpretation; - } - - /** - * Create an error response. - */ - private function errorResponse(string $message): Response - { - return Response::text(json_encode(['error' => $message])); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/dashboard.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/dashboard.blade.php deleted file mode 100644 index 10a44b0..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/dashboard.blade.php +++ /dev/null @@ -1,233 +0,0 @@ -
- -
-
- Tool Usage Analytics - Monitor MCP tool usage patterns, performance, and errors -
-
- - 7 Days - 14 Days - 30 Days - - Refresh -
-
- - -
- @include('mcp::admin.analytics.partials.stats-card', [ - 'label' => 'Total Calls', - 'value' => number_format($this->overview['total_calls']), - 'color' => 'default', - ]) - - @include('mcp::admin.analytics.partials.stats-card', [ - 'label' => 'Error Rate', - 'value' => $this->overview['error_rate'] . '%', - 'color' => $this->overview['error_rate'] > 10 ? 'red' : ($this->overview['error_rate'] > 5 ? 'yellow' : 'green'), - ]) - - @include('mcp::admin.analytics.partials.stats-card', [ - 'label' => 'Avg Response', - 'value' => $this->formatDuration($this->overview['avg_duration_ms']), - 'color' => $this->overview['avg_duration_ms'] > 5000 ? 'yellow' : 'default', - ]) - - @include('mcp::admin.analytics.partials.stats-card', [ - 'label' => 'Total Errors', - 'value' => number_format($this->overview['total_errors']), - 'color' => $this->overview['total_errors'] > 0 ? 'red' : 'default', - ]) - - @include('mcp::admin.analytics.partials.stats-card', [ - 'label' => 'Unique Tools', - 'value' => $this->overview['unique_tools'], - 'color' => 'default', - ]) -
- - -
- -
- - @if($tab === 'overview') -
- -
-
- Top 10 Most Used Tools -
-
- @if($this->popularTools->isEmpty()) -
No tool usage data available
- @else -
- @php $maxCalls = $this->popularTools->first()->totalCalls ?: 1; @endphp - @foreach($this->popularTools as $tool) -
-
- {{ $tool->toolName }} -
-
-
-
-
-
-
-
- {{ number_format($tool->totalCalls) }} -
-
- {{ $tool->errorRate }}% -
-
- @endforeach -
- @endif -
-
- - -
-
- Tools with Highest Error Rates -
-
- @if($this->errorProneTools->isEmpty()) -
All tools are healthy - no significant errors
- @else -
- @foreach($this->errorProneTools as $tool) -
-
- - {{ $tool->toolName }} - -
- {{ number_format($tool->errorCount) }} errors / {{ number_format($tool->totalCalls) }} calls -
-
- - {{ $tool->errorRate }}% errors - -
- @endforeach -
- @endif -
-
-
- @endif - - @if($tab === 'tools') - -
-
- All Tools - {{ $this->sortedTools->count() }} tools -
-
- @include('mcp::admin.analytics.partials.tool-table', ['tools' => $this->sortedTools]) -
-
- @endif - - @if($tab === 'errors') - -
-
- Error Analysis -
-
- @if($this->errorProneTools->isEmpty()) -
-
- All tools are healthy - no significant errors detected -
- @else -
- @foreach($this->errorProneTools as $tool) -
-
- - {{ $tool->toolName }} - - - {{ $tool->errorRate }}% Error Rate - -
-
-
- Total Calls: - {{ number_format($tool->totalCalls) }} -
-
- Errors: - {{ number_format($tool->errorCount) }} -
-
- Avg Duration: - {{ $this->formatDuration($tool->avgDurationMs) }} -
-
- Max Duration: - {{ $this->formatDuration($tool->maxDurationMs) }} -
-
-
- @endforeach -
- @endif -
-
- @endif - - @if($tab === 'combinations') - -
-
- Popular Tool Combinations - Tools frequently used together in the same session -
-
- @if($this->toolCombinations->isEmpty()) -
No tool combination data available yet
- @else -
- @foreach($this->toolCombinations as $combo) -
-
- {{ $combo['tool_a'] }} - + - {{ $combo['tool_b'] }} -
- - {{ number_format($combo['occurrences']) }} times - -
- @endforeach -
- @endif -
-
- @endif -
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/stats-card.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/stats-card.blade.php deleted file mode 100644 index c873cf3..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/stats-card.blade.php +++ /dev/null @@ -1,32 +0,0 @@ -@props([ - 'label', - 'value', - 'color' => 'default', - 'subtext' => null, -]) - -@php - $colorClasses = match($color) { - 'red' => 'bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-800', - 'yellow' => 'bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-800', - 'green' => 'bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800', - 'blue' => 'bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800', - default => 'bg-white dark:bg-zinc-800 border-zinc-200 dark:border-zinc-700', - }; - - $valueClasses = match($color) { - 'red' => 'text-red-600 dark:text-red-400', - 'yellow' => 'text-yellow-600 dark:text-yellow-400', - 'green' => 'text-green-600 dark:text-green-400', - 'blue' => 'text-blue-600 dark:text-blue-400', - default => '', - }; -@endphp - -
- {{ $label }} - {{ $value }} - @if($subtext) - {{ $subtext }} - @endif -
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/tool-table.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/tool-table.blade.php deleted file mode 100644 index a03c517..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/partials/tool-table.blade.php +++ /dev/null @@ -1,100 +0,0 @@ -@props(['tools']) - - - - - - - - - - - - - - - @forelse($tools as $tool) - - - - - - - - - - @empty - - - - @endforelse - -
-
- Tool Name - @if($sortColumn === 'toolName') - {{ $sortDirection === 'asc' ? '▲' : '▼' }} - @endif -
-
-
- Total Calls - @if($sortColumn === 'totalCalls') - {{ $sortDirection === 'asc' ? '▲' : '▼' }} - @endif -
-
-
- Errors - @if($sortColumn === 'errorCount') - {{ $sortDirection === 'asc' ? '▲' : '▼' }} - @endif -
-
-
- Error Rate - @if($sortColumn === 'errorRate') - {{ $sortDirection === 'asc' ? '▲' : '▼' }} - @endif -
-
-
- Avg Duration - @if($sortColumn === 'avgDurationMs') - {{ $sortDirection === 'asc' ? '▲' : '▼' }} - @endif -
-
- Min / Max - - Actions -
- - {{ $tool->toolName }} - - - {{ number_format($tool->totalCalls) }} - - {{ number_format($tool->errorCount) }} - - - {{ $tool->errorRate }}% - - - {{ $this->formatDuration($tool->avgDurationMs) }} - - {{ $this->formatDuration($tool->minDurationMs) }} / {{ $this->formatDuration($tool->maxDurationMs) }} - - - View Details - -
- No tool usage data available -
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/tool-detail.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/tool-detail.blade.php deleted file mode 100644 index 3166aaa..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/analytics/tool-detail.blade.php +++ /dev/null @@ -1,183 +0,0 @@ -
- -
-
- - {{ $toolName }} - Detailed usage analytics for this tool -
-
- - 7 Days - 14 Days - 30 Days - - Refresh -
-
- - -
-
- Total Calls - {{ number_format($this->stats->totalCalls) }} -
- -
- Error Rate - - {{ $this->stats->errorRate }}% - -
- -
- Total Errors - - {{ number_format($this->stats->errorCount) }} - -
- -
- Avg Duration - {{ $this->formatDuration($this->stats->avgDurationMs) }} -
- -
- Min Duration - {{ $this->formatDuration($this->stats->minDurationMs) }} -
- -
- Max Duration - {{ $this->formatDuration($this->stats->maxDurationMs) }} -
-
- - -
-
- Usage Trend -
-
- @if(empty($this->trends) || array_sum(array_column($this->trends, 'calls')) === 0) -
No usage data available for this period
- @else -
- @php - $maxCalls = max(array_column($this->trends, 'calls')) ?: 1; - @endphp - @foreach($this->trends as $day) -
- {{ $day['date_formatted'] }} -
-
- @php - $callsWidth = ($day['calls'] / $maxCalls) * 100; - $errorsWidth = $day['calls'] > 0 ? ($day['errors'] / $day['calls']) * $callsWidth : 0; - $successWidth = $callsWidth - $errorsWidth; - @endphp -
-
-
-
-
- {{ $day['calls'] }} -
-
- @if($day['calls'] > 0) - - {{ round($day['error_rate'], 1) }}% - - @else - - - @endif -
-
- @endforeach -
- -
-
-
- Successful -
-
-
- Errors -
-
- @endif -
-
- - -
-
- Response Time Distribution -
-
-
-
-
Fastest
-
{{ $this->formatDuration($this->stats->minDurationMs) }}
-
-
-
Average
-
{{ $this->formatDuration($this->stats->avgDurationMs) }}
-
-
-
Slowest
-
{{ $this->formatDuration($this->stats->maxDurationMs) }}
-
-
-
-
- - -
-
- Daily Breakdown -
-
- - - - - - - - - - - - @forelse($this->trends as $day) - @if($day['calls'] > 0) - - - - - - - - @endif - @empty - - - - @endforelse - -
DateCallsErrorsError RateAvg Duration
{{ $day['date'] }}{{ number_format($day['calls']) }}{{ number_format($day['errors']) }} - - {{ round($day['error_rate'], 1) }}% - - {{ $this->formatDuration($day['avg_duration_ms']) }}
- No data available for this period -
-
-
-
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/api-key-manager.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/api-key-manager.blade.php deleted file mode 100644 index 7226a73..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/api-key-manager.blade.php +++ /dev/null @@ -1,268 +0,0 @@ -
- - @if(session('message')) -
-

{{ session('message') }}

-
- @endif - - -
-
-

- {{ __('mcp::mcp.keys.title') }} -

-

- {{ __('mcp::mcp.keys.description') }} -

-
- - {{ __('mcp::mcp.keys.actions.create') }} - -
- - -
- @if($keys->isEmpty()) -
-
- -
-

{{ __('mcp::mcp.keys.empty.title') }}

-

- {{ __('mcp::mcp.keys.empty.description') }} -

- - {{ __('mcp::mcp.keys.actions.create_first') }} - -
- @else - - - - - - - - - - - - - @foreach($keys as $key) - - - - - - - - - @endforeach - -
- {{ __('mcp::mcp.keys.table.name') }} - - {{ __('mcp::mcp.keys.table.key') }} - - {{ __('mcp::mcp.keys.table.scopes') }} - - {{ __('mcp::mcp.keys.table.last_used') }} - - {{ __('mcp::mcp.keys.table.expires') }} - - {{ __('mcp::mcp.keys.table.actions') }} -
- {{ $key->name }} - - - {{ $key->prefix }}_**** - - -
- @foreach($key->scopes ?? [] as $scope) - - {{ $scope }} - - @endforeach -
-
- {{ $key->last_used_at?->diffForHumans() ?? __('mcp::mcp.keys.status.never') }} - - @if($key->expires_at) - @if($key->expires_at->isPast()) - {{ __('mcp::mcp.keys.status.expired') }} - @else - {{ $key->expires_at->diffForHumans() }} - @endif - @else - {{ __('mcp::mcp.keys.status.never') }} - @endif - - - {{ __('mcp::mcp.keys.actions.revoke') }} - -
- @endif -
- - -
- -
-

- - {{ __('mcp::mcp.keys.auth.title') }} -

-

- {{ __('mcp::mcp.keys.auth.description') }} -

-
-
-

{{ __('mcp::mcp.keys.auth.header_recommended') }}

-
Authorization: Bearer hk_abc123_****
-
-
-

{{ __('mcp::mcp.keys.auth.header_api_key') }}

-
X-API-Key: hk_abc123_****
-
-
-
- - -
-

- - {{ __('mcp::mcp.keys.example.title') }} -

-

- {{ __('mcp::mcp.keys.example.description') }} -

-
curl -X POST https://mcp.host.uk.com/api/v1/tools/call \
-  -H "Authorization: Bearer YOUR_API_KEY" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "server": "commerce",
-    "tool": "product_list",
-    "arguments": {}
-  }'
-
-
- - - -
-

{{ __('mcp::mcp.keys.create_modal.title') }}

- -
- -
- {{ __('mcp::mcp.keys.create_modal.name_label') }} - - @error('newKeyName') -

{{ $message }}

- @enderror -
- - -
- {{ __('mcp::mcp.keys.create_modal.permissions_label') }} -
- - - -
-
- - -
- {{ __('mcp::mcp.keys.create_modal.expiry_label') }} - - - - - - -
-
- -
- {{ __('mcp::mcp.keys.create_modal.cancel') }} - {{ __('mcp::mcp.keys.create_modal.create') }} -
-
-
- - - -
-
-
- -
-

{{ __('mcp::mcp.keys.new_key_modal.title') }}

-
- -
-

- {{ __('mcp::mcp.keys.new_key_modal.warning') }} {{ __('mcp::mcp.keys.new_key_modal.warning_detail') }} -

-
- -
-
{{ $newPlainKey }}
- -
- -
- {{ __('mcp::mcp.keys.new_key_modal.done') }} -
-
-
-
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/audit-log-viewer.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/audit-log-viewer.blade.php deleted file mode 100644 index dbac118..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/audit-log-viewer.blade.php +++ /dev/null @@ -1,400 +0,0 @@ -{{-- -MCP Audit Log Viewer. - -Displays immutable audit trail for MCP tool executions. -Includes integrity verification and compliance export features. ---}} - -
- {{-- Header --}} -
-
- {{ __('MCP Audit Log') }} - Immutable audit trail for tool executions with hash chain integrity -
-
- - Verify Integrity - - - Export - -
-
- - {{-- Stats Cards --}} -
-
-
Total Entries
-
- {{ number_format($this->stats['total']) }} -
-
-
-
Success Rate
-
- {{ $this->stats['success_rate'] }}% -
-
-
-
Failed Calls
-
- {{ number_format($this->stats['failed']) }} -
-
-
-
Sensitive Calls
-
- {{ number_format($this->stats['sensitive_calls']) }} -
-
-
- - {{-- Filters --}} -
-
- -
- - All tools - @foreach ($this->tools as $toolName) - {{ $toolName }} - @endforeach - - - All workspaces - @foreach ($this->workspaces as $ws) - {{ $ws->name }} - @endforeach - - - All statuses - Success - Failed - - - All sensitivity - Sensitive only - Normal only - - - - @if($search || $tool || $workspace || $status || $sensitivity || $dateFrom || $dateTo) - Clear - @endif -
- - {{-- Audit Log Table --}} - - - ID - Time - Tool - Workspace - Status - Sensitivity - Actor - Duration - - - - - @forelse ($this->entries as $entry) - - - #{{ $entry->id }} - - - {{ $entry->created_at->format('M j, Y H:i:s') }} - - -
{{ $entry->tool_name }}
-
{{ $entry->server_id }}
-
- - @if($entry->workspace) - {{ $entry->workspace->name }} - @else - - - @endif - - - - {{ $entry->success ? 'Success' : 'Failed' }} - - - - @if($entry->is_sensitive) - - Sensitive - - @else - - - @endif - - - {{ $entry->getActorDisplay() }} - @if($entry->actor_ip) -
{{ $entry->actor_ip }}
- @endif -
- - {{ $entry->getDurationForHumans() }} - - - - View - - -
- @empty - - -
-
- -
- No audit entries found - Audit logs will appear here as tools are executed. -
-
-
- @endforelse -
-
- - @if($this->entries->hasPages()) -
- {{ $this->entries->links() }} -
- @endif - - {{-- Entry Detail Modal --}} - @if($this->selectedEntry) - -
-
- Audit Entry #{{ $this->selectedEntry->id }} - -
- - {{-- Integrity Status --}} - @php - $integrity = $this->selectedEntry->getIntegrityStatus(); - @endphp -
-
- - - {{ $integrity['valid'] ? 'Integrity Verified' : 'Integrity Issues Detected' }} - -
- @if(!$integrity['valid']) -
    - @foreach($integrity['issues'] as $issue) -
  • {{ $issue }}
  • - @endforeach -
- @endif -
- - {{-- Entry Details --}} -
-
-
Tool
-
{{ $this->selectedEntry->tool_name }}
-
-
-
Server
-
{{ $this->selectedEntry->server_id }}
-
-
-
Timestamp
-
{{ $this->selectedEntry->created_at->format('Y-m-d H:i:s.u') }}
-
-
-
Duration
-
{{ $this->selectedEntry->getDurationForHumans() }}
-
-
-
Status
-
- - {{ $this->selectedEntry->success ? 'Success' : 'Failed' }} - -
-
-
-
Actor
-
{{ $this->selectedEntry->getActorDisplay() }}
-
-
- - @if($this->selectedEntry->is_sensitive) -
-
- - Sensitive Tool -
-

- {{ $this->selectedEntry->sensitivity_reason ?? 'This tool is flagged as sensitive.' }} -

-
- @endif - - @if($this->selectedEntry->error_message) -
-
Error
-
- @if($this->selectedEntry->error_code) -
- {{ $this->selectedEntry->error_code }} -
- @endif -
- {{ $this->selectedEntry->error_message }} -
-
-
- @endif - - @if($this->selectedEntry->input_params) -
-
Input Parameters
-
{{ json_encode($this->selectedEntry->input_params, JSON_PRETTY_PRINT) }}
-
- @endif - - @if($this->selectedEntry->output_summary) -
-
Output Summary
-
{{ json_encode($this->selectedEntry->output_summary, JSON_PRETTY_PRINT) }}
-
- @endif - - {{-- Hash Chain Info --}} -
-
Hash Chain
-
-
- Entry Hash: - {{ $this->selectedEntry->entry_hash }} -
-
- Previous Hash: - {{ $this->selectedEntry->previous_hash ?? '(first entry)' }} -
-
-
-
-
- @endif - - {{-- Integrity Verification Modal --}} - @if($showIntegrityModal && $integrityStatus) - -
-
- Integrity Verification - -
- -
-
- -
-
- {{ $integrityStatus['valid'] ? 'Audit Log Verified' : 'Integrity Issues Detected' }} -
-
- {{ number_format($integrityStatus['verified']) }} of {{ number_format($integrityStatus['total']) }} entries verified -
-
-
-
- - @if(!$integrityStatus['valid'] && !empty($integrityStatus['issues'])) -
-
Issues Found:
-
- @foreach($integrityStatus['issues'] as $issue) -
-
- Entry #{{ $issue['id'] }}: {{ $issue['type'] }} -
-
- {{ $issue['message'] }} -
-
- @endforeach -
-
- @endif - -
- - Close - -
-
-
- @endif - - {{-- Export Modal --}} - @if($showExportModal) - -
-
- Export Audit Log - -
- -
-

- Export the audit log with current filters applied. The export includes integrity verification metadata. -

- -
- Export Format - - JSON (with integrity metadata) - CSV (data only) - -
- -
-
Current Filters:
-
    - @if($tool) -
  • Tool: {{ $tool }}
  • - @endif - @if($workspace) -
  • Workspace: {{ $this->workspaces->firstWhere('id', $workspace)?->name }}
  • - @endif - @if($dateFrom || $dateTo) -
  • Date: {{ $dateFrom ?: 'start' }} to {{ $dateTo ?: 'now' }}
  • - @endif - @if($sensitivity === 'sensitive') -
  • Sensitive only
  • - @endif - @if(!$tool && !$workspace && !$dateFrom && !$dateTo && !$sensitivity) -
  • All entries
  • - @endif -
-
-
- -
- - Cancel - - - Download - -
-
-
- @endif -
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/mcp-playground.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/mcp-playground.blade.php deleted file mode 100644 index d5f5191..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/mcp-playground.blade.php +++ /dev/null @@ -1,502 +0,0 @@ -
- {{-- Header --}} -
-
-
-

MCP Playground

-

- Interactive tool testing with documentation and examples -

-
-
- -
-
-
- - {{-- Error Display --}} - @if($error) -
-
- - - -

{{ $error }}

-
-
- @endif - -
- {{-- Left Sidebar: Tool Browser --}} -
-
- {{-- Server Selection --}} -
- - -
- - @if($selectedServer) - {{-- Search --}} -
-
- - - - -
-
- - {{-- Category Filter --}} - @if($categories->isNotEmpty()) -
- -
- - @foreach($categories as $category) - - @endforeach -
-
- @endif - - {{-- Tools List --}} -
- @forelse($toolsByCategory as $category => $categoryTools) -
-

{{ $category }}

-
- @foreach($categoryTools as $tool) - - @endforeach - @empty -
-

No tools found

-
- @endforelse -
- @else -
- - - -

Select a server to browse tools

-
- @endif -
-
- - {{-- Center: Tool Details & Input Form --}} -
- {{-- API Key Authentication --}} -
-

- - - - Authentication -

-
-
- - -

Paste your API key to execute requests live

-
-
- - @if($keyStatus === 'valid') - - - - - Valid - - @elseif($keyStatus === 'invalid') - - - - - Invalid key - - @elseif($keyStatus === 'expired') - - - - - Expired - - @endif -
- @if($keyInfo) -
-
-
- Name: - {{ $keyInfo['name'] }} -
-
- Workspace: - {{ $keyInfo['workspace'] }} -
-
-
- @endif -
-
- - {{-- Tool Form --}} - @if($currentTool) -
-
-
-
-

{{ $currentTool['name'] }}

-

{{ $currentTool['description'] }}

-
- - {{ $currentTool['category'] }} - -
-
- - @php - $properties = $currentTool['inputSchema']['properties'] ?? []; - $required = $currentTool['inputSchema']['required'] ?? []; - @endphp - - @if(count($properties) > 0) -
-
-

Parameters

- -
- - @foreach($properties as $name => $schema) - @php - $isRequired = in_array($name, $required) || ($schema['required'] ?? false); - $type = is_array($schema['type'] ?? 'string') ? ($schema['type'][0] ?? 'string') : ($schema['type'] ?? 'string'); - $description = $schema['description'] ?? ''; - @endphp - -
- - - @if(isset($schema['enum'])) - - @elseif($type === 'boolean') - - @elseif($type === 'integer' || $type === 'number') - - @elseif($type === 'array' || $type === 'object') - - @else - - @endif - - @if($description) -

{{ $description }}

- @endif -
- @endforeach -
- @else -

This tool has no parameters.

- @endif - -
- -
-
- @else -
- - - -

Select a tool

-

- Choose a tool from the sidebar to view its documentation and test it -

-
- @endif -
- - {{-- Right: Response Viewer --}} -
-
-
-

Response

- @if($executionTime > 0) - {{ $executionTime }}ms - @endif -
- -
- @if($lastResponse) -
- -
- - @if(isset($lastResponse['error'])) -
-

{{ $lastResponse['error'] }}

-
- @endif - -
-
{{ json_encode($lastResponse, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) }}
-
- - @if(isset($lastResponse['executed']) && !$lastResponse['executed']) -
-

- This is a preview. Add a valid API key to execute requests live. -

-
- @endif - @else -
- - - -

Response will appear here

-
- @endif -
- - {{-- API Reference --}} -
-

API Reference

-
-
- Endpoint - /api/v1/mcp/tools/call -
-
- Method - POST -
-
- Auth - Bearer token -
-
-
-
-
-
- - {{-- History Panel (Collapsible Bottom) --}} -
-
-
-

- - - - Conversation History -

- @if(count($conversationHistory) > 0) - - @endif -
- - @if(count($conversationHistory) > 0) -
- @foreach($conversationHistory as $index => $entry) -
-
-
-
- @if($entry['success'] ?? true) - - Success - - @else - - Failed - - @endif - {{ $entry['tool'] }} - on - {{ $entry['server'] }} -
-
- {{ \Carbon\Carbon::parse($entry['timestamp'])->diffForHumans() }} - @if(isset($entry['duration_ms'])) - {{ $entry['duration_ms'] }}ms - @endif -
-
-
- - -
-
-
- @endforeach -
- @else -
-

No history yet. Execute a tool to see it here.

-
- @endif -
-
-
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/playground.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/playground.blade.php deleted file mode 100644 index 1077ee5..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/playground.blade.php +++ /dev/null @@ -1,281 +0,0 @@ -
-
-

{{ __('mcp::mcp.playground.title') }}

-

- {{ __('mcp::mcp.playground.description') }} -

-
- - {{-- Error Display --}} - @if($error) -
-
- -

{{ $error }}

-
-
- @endif - -
- -
- -
-

{{ __('mcp::mcp.playground.auth.title') }}

- -
-
- -
- -
- - {{ __('mcp::mcp.playground.auth.validate') }} - - - @if($keyStatus === 'valid') - - - {{ __('mcp::mcp.playground.auth.status.valid') }} - - @elseif($keyStatus === 'invalid') - - - {{ __('mcp::mcp.playground.auth.status.invalid') }} - - @elseif($keyStatus === 'expired') - - - {{ __('mcp::mcp.playground.auth.status.expired') }} - - @elseif($keyStatus === 'empty') - - {{ __('mcp::mcp.playground.auth.status.empty') }} - - @endif -
- - @if($keyInfo) -
-
-
- {{ __('mcp::mcp.playground.auth.key_info.name') }}: - {{ $keyInfo['name'] }} -
-
- {{ __('mcp::mcp.playground.auth.key_info.workspace') }}: - {{ $keyInfo['workspace'] }} -
-
- {{ __('mcp::mcp.playground.auth.key_info.scopes') }}: - {{ implode(', ', $keyInfo['scopes'] ?? []) }} -
-
- {{ __('mcp::mcp.playground.auth.key_info.last_used') }}: - {{ $keyInfo['last_used'] }} -
-
-
- @elseif(!$isAuthenticated && !$apiKey) -
-

- {{ __('mcp::mcp.playground.auth.sign_in_prompt') }} - {{ __('mcp::mcp.playground.auth.sign_in_description') }} -

-
- @endif -
-
- - -
-

{{ __('mcp::mcp.playground.tools.title') }}

- -
- - @foreach($servers as $server) - {{ $server['name'] }} - @endforeach - - - @if($selectedServer && count($tools) > 0) - - @foreach($tools as $tool) - {{ $tool['name'] }} - @endforeach - - @endif -
-
- - - @if($toolSchema) -
-
-

{{ $toolSchema['name'] }}

-

{{ $toolSchema['description'] ?? $toolSchema['purpose'] ?? '' }}

-
- - @php - $params = $toolSchema['inputSchema']['properties'] ?? $toolSchema['parameters'] ?? []; - $required = $toolSchema['inputSchema']['required'] ?? []; - @endphp - - @if(count($params) > 0) -
-

{{ __('mcp::mcp.playground.tools.arguments') }}

- - @foreach($params as $name => $schema) -
- @php - $paramRequired = in_array($name, $required) || ($schema['required'] ?? false); - $paramType = is_array($schema['type'] ?? 'string') ? ($schema['type'][0] ?? 'string') : ($schema['type'] ?? 'string'); - @endphp - - @if(isset($schema['enum'])) - - @foreach($schema['enum'] as $option) - {{ $option }} - @endforeach - - @elseif($paramType === 'boolean') - - true - false - - @elseif($paramType === 'integer' || $paramType === 'number') - - @else - - @endif -
- @endforeach -
- @else -

{{ __('mcp::mcp.playground.tools.no_arguments') }}

- @endif - -
- - - @if($keyStatus === 'valid') - {{ __('mcp::mcp.playground.tools.execute') }} - @else - {{ __('mcp::mcp.playground.tools.generate') }} - @endif - - {{ __('mcp::mcp.playground.tools.executing') }} - -
-
- @endif -
- - -
-
-

{{ __('mcp::mcp.playground.response.title') }}

- - @if($response) -
-
- -
-
{{ $response }}
-
- @else -
- -

{{ __('mcp::mcp.playground.response.empty') }}

-
- @endif -
- - -
-

{{ __('mcp::mcp.playground.reference.title') }}

-
-
- {{ __('mcp::mcp.playground.reference.endpoint') }}: - {{ config('app.url') }}/api/v1/mcp/tools/call -
-
- {{ __('mcp::mcp.playground.reference.method') }}: - POST -
-
- {{ __('mcp::mcp.playground.reference.auth') }}: - @if($keyStatus === 'valid') - Bearer {{ Str::limit($apiKey, 20, '...') }} - @else - Bearer <your-api-key> - @endif -
-
- {{ __('mcp::mcp.playground.reference.content_type') }}: - application/json -
-
- - @if($isAuthenticated) -
- - {{ __('mcp::mcp.playground.reference.manage_keys') }} - -
- @endif -
-
-
-
- -@script - -@endscript diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/quota-usage.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/quota-usage.blade.php deleted file mode 100644 index 90f27fe..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/quota-usage.blade.php +++ /dev/null @@ -1,186 +0,0 @@ -
- {{-- Header --}} -
-
-

MCP Usage Quota

-

- Current billing period resets {{ $this->resetDate }} -

-
- -
- - {{-- Current Usage Cards --}} -
- {{-- Tool Calls Card --}} -
-
-
-
- -
-
-

Tool Calls

-

Monthly usage

-
-
-
- - @if($quotaLimits['tool_calls_unlimited'] ?? false) -
- - {{ number_format($currentUsage['tool_calls_count'] ?? 0) }} - - Unlimited -
- @else -
-
- - {{ number_format($currentUsage['tool_calls_count'] ?? 0) }} - - - of {{ number_format($quotaLimits['tool_calls_limit'] ?? 0) }} - -
-
-
-
-

- {{ number_format($remaining['tool_calls'] ?? 0) }} remaining -

-
- @endif -
- - {{-- Tokens Card --}} -
-
-
-
- -
-
-

Tokens

-

Monthly consumption

-
-
-
- - @if($quotaLimits['tokens_unlimited'] ?? false) -
- - {{ number_format($currentUsage['total_tokens'] ?? 0) }} - - Unlimited -
-
-
- Input: - - {{ number_format($currentUsage['input_tokens'] ?? 0) }} - -
-
- Output: - - {{ number_format($currentUsage['output_tokens'] ?? 0) }} - -
-
- @else -
-
- - {{ number_format($currentUsage['total_tokens'] ?? 0) }} - - - of {{ number_format($quotaLimits['tokens_limit'] ?? 0) }} - -
-
-
-
-
-

- {{ number_format($remaining['tokens'] ?? 0) }} remaining -

-
- - In: {{ number_format($currentUsage['input_tokens'] ?? 0) }} - - - Out: {{ number_format($currentUsage['output_tokens'] ?? 0) }} - -
-
-
- @endif -
-
- - {{-- Usage History --}} - @if($usageHistory->count() > 0) -
-

Usage History

-
- - - - - - - - - - - - @foreach($usageHistory as $record) - - - - - - - - @endforeach - -
MonthTool CallsInput TokensOutput TokensTotal Tokens
- {{ $record->month_label }} - - {{ number_format($record->tool_calls_count) }} - - {{ number_format($record->input_tokens) }} - - {{ number_format($record->output_tokens) }} - - {{ number_format($record->total_tokens) }} -
-
-
- @endif - - {{-- Upgrade Prompt (shown when near limit) --}} - @if(($this->toolCallsPercentage >= 80 || $this->tokensPercentage >= 80) && !($quotaLimits['tool_calls_unlimited'] ?? false)) -
-
- -
-

Approaching usage limit

-

- You're nearing your monthly MCP quota. Consider upgrading your plan for higher limits. -

-
-
-
- @endif -
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/request-log.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/request-log.blade.php deleted file mode 100644 index 9086b55..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/request-log.blade.php +++ /dev/null @@ -1,153 +0,0 @@ -
-
-

{{ __('mcp::mcp.logs.title') }}

-

- {{ __('mcp::mcp.logs.description') }} -

-
- - -
-
-
- - -
-
- - -
-
-
- -
- -
-
- @forelse($requests as $request) - - @empty -
- {{ __('mcp::mcp.logs.empty') }} -
- @endforelse -
- - @if($requests->hasPages()) -
- {{ $requests->links() }} -
- @endif -
- - -
- @if($selectedRequest) -
-

{{ __('mcp::mcp.logs.detail.title') }}

- -
- -
- -
- - - {{ $selectedRequest->response_status }} - {{ $selectedRequest->isSuccessful() ? __('mcp::mcp.logs.status_ok') : __('mcp::mcp.logs.status_error') }} - -
- - -
- -
{{ json_encode($selectedRequest->request_body, JSON_PRETTY_PRINT) }}
-
- - -
- -
{{ json_encode($selectedRequest->response_body, JSON_PRETTY_PRINT) }}
-
- - @if($selectedRequest->error_message) -
- -
{{ $selectedRequest->error_message }}
-
- @endif - - -
- -
{{ $selectedRequest->toCurl() }}
-
- - -
-
{{ __('mcp::mcp.logs.detail.metadata.request_id') }}: {{ $selectedRequest->request_id }}
-
{{ __('mcp::mcp.logs.detail.metadata.duration') }}: {{ $selectedRequest->duration_for_humans }}
-
{{ __('mcp::mcp.logs.detail.metadata.ip') }}: {{ $selectedRequest->ip_address ?? __('mcp::mcp.common.na') }}
-
{{ __('mcp::mcp.logs.detail.metadata.time') }}: {{ $selectedRequest->created_at->format('Y-m-d H:i:s') }}
-
-
- @else -
- -

{{ __('mcp::mcp.logs.empty_detail') }}

-
- @endif -
-
-
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/tool-version-manager.blade.php b/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/tool-version-manager.blade.php deleted file mode 100644 index 5d6b424..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Blade/admin/tool-version-manager.blade.php +++ /dev/null @@ -1,537 +0,0 @@ -{{-- -MCP Tool Version Manager. - -Admin interface for managing tool version lifecycles, -viewing schema changes between versions, and setting deprecation schedules. ---}} - -
- {{-- Header --}} -
-
- {{ __('Tool Versions') }} - Manage MCP tool version lifecycles and backwards compatibility -
-
- - Register Version - -
-
- - {{-- Stats Cards --}} -
-
-
Total Versions
-
- {{ number_format($this->stats['total_versions']) }} -
-
-
-
Unique Tools
-
- {{ number_format($this->stats['total_tools']) }} -
-
-
-
Servers
-
- {{ number_format($this->stats['servers']) }} -
-
-
-
Deprecated
-
- {{ number_format($this->stats['deprecated_count']) }} -
-
-
-
Sunset
-
- {{ number_format($this->stats['sunset_count']) }} -
-
-
- - {{-- Filters --}} -
-
- -
- - All servers - @foreach ($this->servers as $serverId) - {{ $serverId }} - @endforeach - - - All statuses - Latest - Active (non-latest) - Deprecated - Sunset - - @if($search || $server || $status) - Clear - @endif -
- - {{-- Versions Table --}} - - - Tool - Server - Version - Status - Deprecated - Sunset - Created - - - - - @forelse ($this->versions as $version) - - -
{{ $version->tool_name }}
- @if($version->description) -
{{ $version->description }}
- @endif -
- - {{ $version->server_id }} - - - - {{ $version->version }} - - - - - {{ ucfirst($version->status) }} - - - - @if($version->deprecated_at) - {{ $version->deprecated_at->format('M j, Y') }} - @else - - - @endif - - - @if($version->sunset_at) - - {{ $version->sunset_at->format('M j, Y') }} - - @else - - - @endif - - - {{ $version->created_at->format('M j, Y') }} - - - - - - - View Details - - @if(!$version->is_latest && !$version->is_sunset) - - Mark as Latest - - @endif - @if(!$version->is_deprecated && !$version->is_sunset) - - Deprecate - - @endif - - - -
- @empty - - -
-
- -
- No tool versions found - Register tool versions to enable backwards compatibility. -
-
-
- @endforelse -
-
- - @if($this->versions->hasPages()) -
- {{ $this->versions->links() }} -
- @endif - - {{-- Version Detail Modal --}} - @if($showVersionDetail && $this->selectedVersion) - -
-
-
- {{ $this->selectedVersion->tool_name }} -
- - {{ $this->selectedVersion->version }} - - - {{ ucfirst($this->selectedVersion->status) }} - -
-
- -
- - {{-- Metadata --}} -
-
-
Server
-
{{ $this->selectedVersion->server_id }}
-
-
-
Created
-
{{ $this->selectedVersion->created_at->format('Y-m-d H:i:s') }}
-
- @if($this->selectedVersion->deprecated_at) -
-
Deprecated
-
- {{ $this->selectedVersion->deprecated_at->format('Y-m-d') }} -
-
- @endif - @if($this->selectedVersion->sunset_at) -
-
Sunset
-
- {{ $this->selectedVersion->sunset_at->format('Y-m-d') }} -
-
- @endif -
- - @if($this->selectedVersion->description) -
-
Description
-
{{ $this->selectedVersion->description }}
-
- @endif - - @if($this->selectedVersion->changelog) -
-
Changelog
-
- {!! nl2br(e($this->selectedVersion->changelog)) !!} -
-
- @endif - - @if($this->selectedVersion->migration_notes) -
-
- - Migration Notes -
-
- {!! nl2br(e($this->selectedVersion->migration_notes)) !!} -
-
- @endif - - {{-- Input Schema --}} - @if($this->selectedVersion->input_schema) -
-
Input Schema
-
{{ $this->formatSchema($this->selectedVersion->input_schema) }}
-
- @endif - - {{-- Output Schema --}} - @if($this->selectedVersion->output_schema) -
-
Output Schema
-
{{ $this->formatSchema($this->selectedVersion->output_schema) }}
-
- @endif - - {{-- Version History --}} - @if($this->versionHistory->count() > 1) -
-
Version History
-
- @foreach($this->versionHistory as $index => $historyVersion) -
-
- - {{ $historyVersion->version }} - - - {{ ucfirst($historyVersion->status) }} - - - {{ $historyVersion->created_at->format('M j, Y') }} - -
- @if($historyVersion->id !== $this->selectedVersion->id && $index < $this->versionHistory->count() - 1) - @php $nextVersion = $this->versionHistory[$index + 1] @endphp - - Compare - - @endif -
- @endforeach -
-
- @endif -
-
- @endif - - {{-- Compare Schemas Modal --}} - @if($showCompareModal && $this->schemaComparison) - -
-
- Schema Comparison - -
- -
-
- - {{ $this->schemaComparison['from']->version }} - -
- -
- - {{ $this->schemaComparison['to']->version }} - -
-
- - @php $changes = $this->schemaComparison['changes'] @endphp - - @if(empty($changes['added']) && empty($changes['removed']) && empty($changes['changed'])) -
-
- - No schema changes between versions -
-
- @else -
- @if(!empty($changes['added'])) -
-
- Added Properties ({{ count($changes['added']) }}) -
-
    - @foreach($changes['added'] as $prop) -
  • {{ $prop }}
  • - @endforeach -
-
- @endif - - @if(!empty($changes['removed'])) -
-
- Removed Properties ({{ count($changes['removed']) }}) -
-
    - @foreach($changes['removed'] as $prop) -
  • {{ $prop }}
  • - @endforeach -
-
- @endif - - @if(!empty($changes['changed'])) -
-
- Changed Properties ({{ count($changes['changed']) }}) -
-
- @foreach($changes['changed'] as $prop => $change) -
- {{ $prop }} -
-
-
Before:
-
{{ json_encode($change['from'], JSON_PRETTY_PRINT) }}
-
-
-
After:
-
{{ json_encode($change['to'], JSON_PRETTY_PRINT) }}
-
-
-
- @endforeach -
-
- @endif -
- @endif - -
- Close -
-
-
- @endif - - {{-- Deprecate Modal --}} - @if($showDeprecateModal) - @php $deprecateVersion = \Core\Mod\Mcp\Models\McpToolVersion::find($deprecateVersionId) @endphp - @if($deprecateVersion) - -
-
- Deprecate Version - -
- -
-
- - {{ $deprecateVersion->tool_name }} v{{ $deprecateVersion->version }} -
-

- Deprecated versions will show warnings to agents but remain usable until sunset. -

-
- -
- Sunset Date (optional) - - - After this date, the version will be blocked and return errors. - -
- -
- Cancel - - Deprecate Version - -
-
-
- @endif - @endif - - {{-- Register Version Modal --}} - @if($showRegisterModal) - -
-
- Register Tool Version - -
- -
-
-
- Server ID - - @error('registerServer') {{ $message }} @enderror -
-
- Tool Name - - @error('registerTool') {{ $message }} @enderror -
-
- -
-
- Version (semver) - - @error('registerVersion') {{ $message }} @enderror -
-
- -
-
- -
- Description - - @error('registerDescription') {{ $message }} @enderror -
- -
- Changelog - - @error('registerChangelog') {{ $message }} @enderror -
- -
- Migration Notes - - @error('registerMigrationNotes') {{ $message }} @enderror -
- -
- Input Schema (JSON) - - @error('registerInputSchema') {{ $message }} @enderror -
- -
- Cancel - Register Version -
-
-
-
- @endif -
diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ApiKeyManager.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ApiKeyManager.php deleted file mode 100644 index 3f98cd2..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ApiKeyManager.php +++ /dev/null @@ -1,112 +0,0 @@ -workspace = $workspace; - } - - public function openCreateModal(): void - { - $this->showCreateModal = true; - $this->newKeyName = ''; - $this->newKeyScopes = ['read', 'write']; - $this->newKeyExpiry = 'never'; - } - - public function closeCreateModal(): void - { - $this->showCreateModal = false; - } - - public function createKey(): void - { - $this->validate([ - 'newKeyName' => 'required|string|max:100', - ]); - - $expiresAt = match ($this->newKeyExpiry) { - '30days' => now()->addDays(30), - '90days' => now()->addDays(90), - '1year' => now()->addYear(), - default => null, - }; - - $result = ApiKey::generate( - workspaceId: $this->workspace->id, - userId: auth()->id(), - name: $this->newKeyName, - scopes: $this->newKeyScopes, - expiresAt: $expiresAt, - ); - - $this->newPlainKey = $result['plain_key']; - $this->showCreateModal = false; - $this->showNewKeyModal = true; - - session()->flash('message', 'API key created successfully.'); - } - - public function closeNewKeyModal(): void - { - $this->newPlainKey = null; - $this->showNewKeyModal = false; - } - - public function revokeKey(int $keyId): void - { - $key = $this->workspace->apiKeys()->findOrFail($keyId); - $key->revoke(); - - session()->flash('message', 'API key revoked.'); - } - - public function toggleScope(string $scope): void - { - if (in_array($scope, $this->newKeyScopes)) { - $this->newKeyScopes = array_values(array_diff($this->newKeyScopes, [$scope])); - } else { - $this->newKeyScopes[] = $scope; - } - } - - public function render() - { - return view('mcp::admin.api-key-manager', [ - 'keys' => $this->workspace->apiKeys()->orderByDesc('created_at')->get(), - ]); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/AuditLogViewer.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/AuditLogViewer.php deleted file mode 100644 index df98d14..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/AuditLogViewer.php +++ /dev/null @@ -1,249 +0,0 @@ -checkHadesAccess(); - } - - #[Computed] - public function entries(): LengthAwarePaginator - { - $query = McpAuditLog::query() - ->with('workspace') - ->orderByDesc('id'); - - if ($this->search) { - $query->where(function ($q) { - $q->where('tool_name', 'like', "%{$this->search}%") - ->orWhere('server_id', 'like', "%{$this->search}%") - ->orWhere('session_id', 'like', "%{$this->search}%") - ->orWhere('error_message', 'like', "%{$this->search}%"); - }); - } - - if ($this->tool) { - $query->where('tool_name', $this->tool); - } - - if ($this->workspace) { - $query->where('workspace_id', $this->workspace); - } - - if ($this->status === 'success') { - $query->where('success', true); - } elseif ($this->status === 'failed') { - $query->where('success', false); - } - - if ($this->sensitivity === 'sensitive') { - $query->where('is_sensitive', true); - } elseif ($this->sensitivity === 'normal') { - $query->where('is_sensitive', false); - } - - if ($this->dateFrom) { - $query->where('created_at', '>=', Carbon::parse($this->dateFrom)->startOfDay()); - } - - if ($this->dateTo) { - $query->where('created_at', '<=', Carbon::parse($this->dateTo)->endOfDay()); - } - - return $query->paginate($this->perPage); - } - - #[Computed] - public function workspaces(): Collection - { - return Workspace::orderBy('name')->get(['id', 'name']); - } - - #[Computed] - public function tools(): Collection - { - return McpAuditLog::query() - ->select('tool_name') - ->distinct() - ->orderBy('tool_name') - ->pluck('tool_name'); - } - - #[Computed] - public function selectedEntry(): ?McpAuditLog - { - if (! $this->selectedEntryId) { - return null; - } - - return McpAuditLog::with('workspace')->find($this->selectedEntryId); - } - - #[Computed] - public function stats(): array - { - return app(AuditLogService::class)->getStats( - workspaceId: $this->workspace ? (int) $this->workspace : null, - days: 30 - ); - } - - public function viewEntry(int $id): void - { - $this->selectedEntryId = $id; - } - - public function closeEntryDetail(): void - { - $this->selectedEntryId = null; - } - - public function verifyIntegrity(): void - { - $this->integrityStatus = app(AuditLogService::class)->verifyChain(); - $this->showIntegrityModal = true; - } - - public function closeIntegrityModal(): void - { - $this->showIntegrityModal = false; - $this->integrityStatus = null; - } - - public function openExportModal(): void - { - $this->showExportModal = true; - } - - public function closeExportModal(): void - { - $this->showExportModal = false; - } - - public function export(): StreamedResponse - { - $auditLogService = app(AuditLogService::class); - - $workspaceId = $this->workspace ? (int) $this->workspace : null; - $from = $this->dateFrom ? Carbon::parse($this->dateFrom) : null; - $to = $this->dateTo ? Carbon::parse($this->dateTo) : null; - $tool = $this->tool ?: null; - $sensitiveOnly = $this->sensitivity === 'sensitive'; - - if ($this->exportFormat === 'csv') { - $content = $auditLogService->exportToCsv($workspaceId, $from, $to, $tool, $sensitiveOnly); - $filename = 'mcp-audit-log-'.now()->format('Y-m-d-His').'.csv'; - $contentType = 'text/csv'; - } else { - $content = $auditLogService->exportToJson($workspaceId, $from, $to, $tool, $sensitiveOnly); - $filename = 'mcp-audit-log-'.now()->format('Y-m-d-His').'.json'; - $contentType = 'application/json'; - } - - return response()->streamDownload(function () use ($content) { - echo $content; - }, $filename, [ - 'Content-Type' => $contentType, - ]); - } - - public function clearFilters(): void - { - $this->search = ''; - $this->tool = ''; - $this->workspace = ''; - $this->status = ''; - $this->sensitivity = ''; - $this->dateFrom = ''; - $this->dateTo = ''; - $this->resetPage(); - } - - public function getStatusBadgeClass(bool $success): string - { - return $success - ? 'bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300' - : 'bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300'; - } - - public function getSensitivityBadgeClass(bool $isSensitive): string - { - return $isSensitive - ? 'bg-amber-100 text-amber-700 dark:bg-amber-900/50 dark:text-amber-300' - : 'bg-zinc-100 text-zinc-600 dark:bg-zinc-700 dark:text-zinc-300'; - } - - private function checkHadesAccess(): void - { - if (! auth()->user()?->isHades()) { - abort(403, 'Hades access required'); - } - } - - public function render() - { - return view('mcp::admin.audit-log-viewer'); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/McpPlayground.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/McpPlayground.php deleted file mode 100644 index 3b4c983..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/McpPlayground.php +++ /dev/null @@ -1,539 +0,0 @@ -loadConversationHistory(); - - // Auto-select first server if available - $servers = $this->getServers(); - if ($servers->isNotEmpty()) { - $this->selectedServer = $servers->first()['id']; - } - } - - /** - * Handle server selection change. - */ - public function updatedSelectedServer(): void - { - $this->selectedTool = null; - $this->toolInput = []; - $this->lastResponse = null; - $this->error = null; - $this->searchQuery = ''; - $this->selectedCategory = ''; - } - - /** - * Handle tool selection change. - */ - public function updatedSelectedTool(): void - { - $this->toolInput = []; - $this->lastResponse = null; - $this->error = null; - - if ($this->selectedTool) { - $this->loadExampleInputs(); - } - } - - /** - * Handle API key change. - */ - public function updatedApiKey(): void - { - $this->keyStatus = null; - $this->keyInfo = null; - } - - /** - * Validate the API key. - */ - public function validateKey(): void - { - $this->keyStatus = null; - $this->keyInfo = null; - - if (empty($this->apiKey)) { - $this->keyStatus = 'empty'; - - return; - } - - $key = ApiKey::findByPlainKey($this->apiKey); - - if (! $key) { - $this->keyStatus = 'invalid'; - - return; - } - - if ($key->isExpired()) { - $this->keyStatus = 'expired'; - - return; - } - - $this->keyStatus = 'valid'; - $this->keyInfo = [ - 'name' => $key->name, - 'scopes' => $key->scopes ?? [], - 'workspace' => $key->workspace?->name ?? 'Unknown', - 'last_used' => $key->last_used_at?->diffForHumans() ?? 'Never', - ]; - } - - /** - * Select a tool by name. - */ - public function selectTool(string $toolName): void - { - $this->selectedTool = $toolName; - $this->updatedSelectedTool(); - } - - /** - * Load example inputs for the selected tool. - */ - public function loadExampleInputs(): void - { - if (! $this->selectedTool) { - return; - } - - $tool = $this->getRegistry()->getTool($this->selectedServer, $this->selectedTool); - - if (! $tool) { - return; - } - - // Load example inputs - $examples = $tool['examples'] ?? []; - - // Also populate from schema defaults if no examples - if (empty($examples) && isset($tool['inputSchema']['properties'])) { - foreach ($tool['inputSchema']['properties'] as $name => $schema) { - if (isset($schema['default'])) { - $examples[$name] = $schema['default']; - } - } - } - - $this->toolInput = $examples; - } - - /** - * Execute the selected tool. - */ - public function execute(): void - { - if (! $this->selectedServer || ! $this->selectedTool) { - $this->error = 'Please select a server and tool.'; - - return; - } - - // Rate limiting: 10 executions per minute - $rateLimitKey = 'mcp-playground:'.$this->getRateLimitKey(); - if (RateLimiter::tooManyAttempts($rateLimitKey, 10)) { - $this->error = 'Too many requests. Please wait before trying again.'; - - return; - } - RateLimiter::hit($rateLimitKey, 60); - - $this->isExecuting = true; - $this->lastResponse = null; - $this->error = null; - - try { - $startTime = microtime(true); - - // Filter empty values from input - $args = array_filter($this->toolInput, fn ($v) => $v !== '' && $v !== null); - - // Type conversion for arguments - $args = $this->convertArgumentTypes($args); - - // Execute the tool - if ($this->keyStatus === 'valid') { - $result = $this->executeViaApi($args); - } else { - $result = $this->generateRequestPreview($args); - } - - $this->executionTime = (int) round((microtime(true) - $startTime) * 1000); - $this->lastResponse = $result; - - // Add to conversation history - $this->addToHistory([ - 'server' => $this->selectedServer, - 'tool' => $this->selectedTool, - 'input' => $args, - 'output' => $result, - 'success' => ! isset($result['error']), - 'duration_ms' => $this->executionTime, - 'timestamp' => now()->toIso8601String(), - ]); - - } catch (\Throwable $e) { - $this->error = $e->getMessage(); - $this->lastResponse = ['error' => $e->getMessage()]; - } finally { - $this->isExecuting = false; - } - } - - /** - * Re-run a historical execution. - */ - public function rerunFromHistory(int $index): void - { - if (! isset($this->conversationHistory[$index])) { - return; - } - - $entry = $this->conversationHistory[$index]; - - $this->selectedServer = $entry['server']; - $this->selectedTool = $entry['tool']; - $this->toolInput = $entry['input'] ?? []; - - $this->execute(); - } - - /** - * View a historical execution result. - */ - public function viewFromHistory(int $index): void - { - if (! isset($this->conversationHistory[$index])) { - return; - } - - $entry = $this->conversationHistory[$index]; - - $this->selectedServer = $entry['server']; - $this->selectedTool = $entry['tool']; - $this->toolInput = $entry['input'] ?? []; - $this->lastResponse = $entry['output'] ?? null; - $this->executionTime = $entry['duration_ms'] ?? 0; - } - - /** - * Clear conversation history. - */ - public function clearHistory(): void - { - $this->conversationHistory = []; - Session::forget(self::HISTORY_SESSION_KEY); - } - - /** - * Get available servers. - */ - #[Computed] - public function getServers(): \Illuminate\Support\Collection - { - return $this->getRegistry()->getServers(); - } - - /** - * Get tools for the selected server. - */ - #[Computed] - public function getTools(): \Illuminate\Support\Collection - { - if (empty($this->selectedServer)) { - return collect(); - } - - $tools = $this->getRegistry()->getToolsForServer($this->selectedServer); - - // Apply search filter - if (! empty($this->searchQuery)) { - $query = strtolower($this->searchQuery); - $tools = $tools->filter(function ($tool) use ($query) { - return str_contains(strtolower($tool['name']), $query) - || str_contains(strtolower($tool['description']), $query); - }); - } - - // Apply category filter - if (! empty($this->selectedCategory)) { - $tools = $tools->filter(fn ($tool) => $tool['category'] === $this->selectedCategory); - } - - return $tools->values(); - } - - /** - * Get tools grouped by category. - */ - #[Computed] - public function getToolsByCategory(): \Illuminate\Support\Collection - { - return $this->getTools()->groupBy('category')->sortKeys(); - } - - /** - * Get available categories. - */ - #[Computed] - public function getCategories(): \Illuminate\Support\Collection - { - if (empty($this->selectedServer)) { - return collect(); - } - - return $this->getRegistry() - ->getToolsForServer($this->selectedServer) - ->pluck('category') - ->unique() - ->sort() - ->values(); - } - - /** - * Get the current tool schema. - */ - #[Computed] - public function getCurrentTool(): ?array - { - if (! $this->selectedTool) { - return null; - } - - return $this->getRegistry()->getTool($this->selectedServer, $this->selectedTool); - } - - /** - * Check if user is authenticated. - */ - public function isAuthenticated(): bool - { - return auth()->check(); - } - - public function render() - { - return view('mcp::admin.mcp-playground', [ - 'servers' => $this->getServers(), - 'tools' => $this->getTools(), - 'toolsByCategory' => $this->getToolsByCategory(), - 'categories' => $this->getCategories(), - 'currentTool' => $this->getCurrentTool(), - 'isAuthenticated' => $this->isAuthenticated(), - ]); - } - - /** - * Get the tool registry service. - */ - protected function getRegistry(): ToolRegistry - { - return app(ToolRegistry::class); - } - - /** - * Get rate limit key based on user or IP. - */ - protected function getRateLimitKey(): string - { - if (auth()->check()) { - return 'user:'.auth()->id(); - } - - return 'ip:'.request()->ip(); - } - - /** - * Convert argument types based on their values. - */ - protected function convertArgumentTypes(array $args): array - { - foreach ($args as $key => $value) { - if (is_numeric($value)) { - $args[$key] = str_contains((string) $value, '.') ? (float) $value : (int) $value; - } - if ($value === 'true') { - $args[$key] = true; - } - if ($value === 'false') { - $args[$key] = false; - } - } - - return $args; - } - - /** - * Execute tool via HTTP API. - */ - protected function executeViaApi(array $args): array - { - $payload = [ - 'server' => $this->selectedServer, - 'tool' => $this->selectedTool, - 'arguments' => $args, - ]; - - $response = Http::withToken($this->apiKey) - ->timeout(30) - ->post(config('app.url').'/api/v1/mcp/tools/call', $payload); - - return [ - 'status' => $response->status(), - 'response' => $response->json(), - 'executed' => true, - ]; - } - - /** - * Generate a request preview without executing. - */ - protected function generateRequestPreview(array $args): array - { - $payload = [ - 'server' => $this->selectedServer, - 'tool' => $this->selectedTool, - 'arguments' => $args, - ]; - - return [ - 'request' => $payload, - 'note' => 'Add a valid API key to execute this request live.', - 'curl' => sprintf( - "curl -X POST %s/api/v1/mcp/tools/call \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '%s'", - config('app.url'), - json_encode($payload, JSON_UNESCAPED_SLASHES) - ), - 'executed' => false, - ]; - } - - /** - * Load conversation history from session. - */ - protected function loadConversationHistory(): void - { - $this->conversationHistory = Session::get(self::HISTORY_SESSION_KEY, []); - } - - /** - * Add an entry to conversation history. - */ - protected function addToHistory(array $entry): void - { - // Prepend new entry - array_unshift($this->conversationHistory, $entry); - - // Keep only last N entries - $this->conversationHistory = array_slice($this->conversationHistory, 0, self::MAX_HISTORY_ENTRIES); - - // Save to session - Session::put(self::HISTORY_SESSION_KEY, $this->conversationHistory); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/Playground.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/Playground.php deleted file mode 100644 index ccea82e..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/Playground.php +++ /dev/null @@ -1,263 +0,0 @@ -loadServers(); - } - - public function loadServers(): void - { - try { - $registry = $this->loadRegistry(); - $this->servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values() - ->toArray(); - } catch (\Throwable $e) { - $this->error = 'Failed to load servers'; - $this->servers = []; - } - } - - public function updatedSelectedServer(): void - { - $this->error = null; - $this->selectedTool = ''; - $this->toolSchema = null; - $this->arguments = []; - $this->response = ''; - - if (! $this->selectedServer) { - $this->tools = []; - - return; - } - - try { - $server = $this->loadServerFull($this->selectedServer); - $this->tools = $server['tools'] ?? []; - } catch (\Throwable $e) { - $this->error = 'Failed to load server tools'; - $this->tools = []; - } - } - - public function updatedSelectedTool(): void - { - $this->error = null; - $this->arguments = []; - $this->response = ''; - - if (! $this->selectedTool) { - $this->toolSchema = null; - - return; - } - - try { - $this->toolSchema = collect($this->tools)->firstWhere('name', $this->selectedTool); - - // Pre-fill arguments with defaults - $params = $this->toolSchema['inputSchema']['properties'] ?? []; - foreach ($params as $name => $schema) { - $this->arguments[$name] = $schema['default'] ?? ''; - } - } catch (\Throwable $e) { - $this->error = 'Failed to load tool schema'; - $this->toolSchema = null; - } - } - - public function updatedApiKey(): void - { - // Clear key status when key changes - $this->keyStatus = null; - $this->keyInfo = null; - } - - public function validateKey(): void - { - $this->keyStatus = null; - $this->keyInfo = null; - - if (empty($this->apiKey)) { - $this->keyStatus = 'empty'; - - return; - } - - $key = ApiKey::findByPlainKey($this->apiKey); - - if (! $key) { - $this->keyStatus = 'invalid'; - - return; - } - - if ($key->isExpired()) { - $this->keyStatus = 'expired'; - - return; - } - - $this->keyStatus = 'valid'; - $this->keyInfo = [ - 'name' => $key->name, - 'scopes' => $key->scopes, - 'server_scopes' => $key->getAllowedServers(), - 'workspace' => $key->workspace?->name ?? 'Unknown', - 'last_used' => $key->last_used_at?->diffForHumans() ?? 'Never', - ]; - } - - public function isAuthenticated(): bool - { - return auth()->check(); - } - - public function execute(): void - { - if (! $this->selectedServer || ! $this->selectedTool) { - return; - } - - $this->loading = true; - $this->response = ''; - $this->error = null; - - try { - // Filter out empty arguments - $args = array_filter($this->arguments, fn ($v) => $v !== '' && $v !== null); - - // Convert numeric strings to numbers where appropriate - foreach ($args as $key => $value) { - if (is_numeric($value)) { - $args[$key] = str_contains($value, '.') ? (float) $value : (int) $value; - } - if ($value === 'true') { - $args[$key] = true; - } - if ($value === 'false') { - $args[$key] = false; - } - } - - $payload = [ - 'server' => $this->selectedServer, - 'tool' => $this->selectedTool, - 'arguments' => $args, - ]; - - // If we have an API key, make a real request - if (! empty($this->apiKey) && $this->keyStatus === 'valid') { - $response = Http::withToken($this->apiKey) - ->timeout(30) - ->post(config('app.url').'/api/v1/mcp/tools/call', $payload); - - $this->response = json_encode([ - 'status' => $response->status(), - 'response' => $response->json(), - ], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - - return; - } - - // Otherwise, just show request format - $this->response = json_encode([ - 'request' => $payload, - 'note' => 'Add an API key above to execute this request live.', - 'curl' => sprintf( - "curl -X POST %s/api/v1/mcp/tools/call \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '%s'", - config('app.url'), - json_encode($payload, JSON_UNESCAPED_SLASHES) - ), - ], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - } catch (\Throwable $e) { - $this->response = json_encode([ - 'error' => $e->getMessage(), - ], JSON_PRETTY_PRINT); - } finally { - $this->loading = false; - } - } - - public function render() - { - $isAuthenticated = $this->isAuthenticated(); - $workspace = $isAuthenticated ? auth()->user()?->defaultHostWorkspace() : null; - - return view('mcp::admin.playground', [ - 'isAuthenticated' => $isAuthenticated, - 'workspace' => $workspace, - ]); - } - - protected function loadRegistry(): array - { - $path = resource_path('mcp/registry.yaml'); - - return file_exists($path) ? Yaml::parseFile($path) : ['servers' => []]; - } - - protected function loadServerFull(string $id): ?array - { - $path = resource_path("mcp/servers/{$id}.yaml"); - - return file_exists($path) ? Yaml::parseFile($path) : null; - } - - protected function loadServerSummary(string $id): ?array - { - $server = $this->loadServerFull($id); - if (! $server) { - return null; - } - - return [ - 'id' => $server['id'], - 'name' => $server['name'], - 'tagline' => $server['tagline'] ?? '', - ]; - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/QuotaUsage.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/QuotaUsage.php deleted file mode 100644 index 889afd1..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/QuotaUsage.php +++ /dev/null @@ -1,93 +0,0 @@ -workspaceId = $workspaceId ?? auth()->user()?->defaultHostWorkspace()?->id; - $this->usageHistory = collect(); - $this->loadQuotaData(); - } - - public function loadQuotaData(): void - { - if (! $this->workspaceId) { - return; - } - - $quotaService = app(McpQuotaService::class); - $workspace = Workspace::find($this->workspaceId); - - if (! $workspace) { - return; - } - - $this->currentUsage = $quotaService->getCurrentUsage($workspace); - $this->quotaLimits = $quotaService->getQuotaLimits($workspace); - $this->remaining = $quotaService->getRemainingQuota($workspace); - $this->usageHistory = $quotaService->getUsageHistory($workspace, 6); - } - - public function getToolCallsPercentageProperty(): float - { - if ($this->quotaLimits['tool_calls_unlimited'] ?? false) { - return 0; - } - - $limit = $this->quotaLimits['tool_calls_limit'] ?? 0; - if ($limit === 0) { - return 0; - } - - return min(100, round(($this->currentUsage['tool_calls_count'] ?? 0) / $limit * 100, 1)); - } - - public function getTokensPercentageProperty(): float - { - if ($this->quotaLimits['tokens_unlimited'] ?? false) { - return 0; - } - - $limit = $this->quotaLimits['tokens_limit'] ?? 0; - if ($limit === 0) { - return 0; - } - - return min(100, round(($this->currentUsage['total_tokens'] ?? 0) / $limit * 100, 1)); - } - - public function getResetDateProperty(): string - { - return now()->endOfMonth()->format('j F Y'); - } - - public function render() - { - return view('mcp::admin.quota-usage'); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/RequestLog.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/RequestLog.php deleted file mode 100644 index 1927c28..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/RequestLog.php +++ /dev/null @@ -1,86 +0,0 @@ -resetPage(); - } - - public function updatedStatusFilter(): void - { - $this->resetPage(); - } - - public function selectRequest(int $id): void - { - $this->selectedRequestId = $id; - $this->selectedRequest = McpApiRequest::find($id); - } - - public function closeDetail(): void - { - $this->selectedRequestId = null; - $this->selectedRequest = null; - } - - public function render() - { - $workspace = auth()->user()?->defaultHostWorkspace(); - - $query = McpApiRequest::query() - ->orderByDesc('created_at'); - - if ($workspace) { - $query->forWorkspace($workspace->id); - } - - if ($this->serverFilter) { - $query->forServer($this->serverFilter); - } - - if ($this->statusFilter === 'success') { - $query->successful(); - } elseif ($this->statusFilter === 'failed') { - $query->failed(); - } - - $requests = $query->paginate(20); - - // Get unique servers for filter dropdown - $servers = McpApiRequest::query() - ->when($workspace, fn ($q) => $q->forWorkspace($workspace->id)) - ->distinct() - ->pluck('server_id') - ->filter() - ->values(); - - return view('mcp::admin.request-log', [ - 'requests' => $requests, - 'servers' => $servers, - ]); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDashboard.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDashboard.php deleted file mode 100644 index 4676eeb..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDashboard.php +++ /dev/null @@ -1,249 +0,0 @@ -analyticsService = $analyticsService; - } - - /** - * Set the number of days to display. - */ - public function setDays(int $days): void - { - $this->days = max(1, min(90, $days)); - } - - /** - * Set the active tab. - */ - public function setTab(string $tab): void - { - $this->tab = $tab; - } - - /** - * Set the sort column and direction. - */ - public function sort(string $column): void - { - if ($this->sortColumn === $column) { - $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; - } else { - $this->sortColumn = $column; - $this->sortDirection = 'desc'; - } - } - - /** - * Set the workspace filter. - */ - public function setWorkspace(?string $workspaceId): void - { - $this->workspaceId = $workspaceId; - } - - /** - * Get the date range. - */ - protected function getDateRange(): array - { - return [ - 'from' => now()->subDays($this->days - 1)->startOfDay(), - 'to' => now()->endOfDay(), - ]; - } - - /** - * Get overview statistics. - */ - public function getOverviewProperty(): array - { - $range = $this->getDateRange(); - $stats = $this->getAllToolsProperty(); - - $totalCalls = $stats->sum(fn (ToolStats $s) => $s->totalCalls); - $totalErrors = $stats->sum(fn (ToolStats $s) => $s->errorCount); - $avgDuration = $totalCalls > 0 - ? $stats->sum(fn (ToolStats $s) => $s->avgDurationMs * $s->totalCalls) / $totalCalls - : 0; - - return [ - 'total_calls' => $totalCalls, - 'total_errors' => $totalErrors, - 'error_rate' => $totalCalls > 0 ? round(($totalErrors / $totalCalls) * 100, 2) : 0, - 'avg_duration_ms' => round($avgDuration, 2), - 'unique_tools' => $stats->count(), - ]; - } - - /** - * Get all tool statistics. - */ - public function getAllToolsProperty(): Collection - { - $range = $this->getDateRange(); - - return app(ToolAnalyticsService::class)->getAllToolStats($range['from'], $range['to']); - } - - /** - * Get sorted tool statistics for the table. - */ - public function getSortedToolsProperty(): Collection - { - $tools = $this->getAllToolsProperty(); - - return $tools->sortBy( - fn (ToolStats $s) => match ($this->sortColumn) { - 'toolName' => $s->toolName, - 'totalCalls' => $s->totalCalls, - 'errorCount' => $s->errorCount, - 'errorRate' => $s->errorRate, - 'avgDurationMs' => $s->avgDurationMs, - default => $s->totalCalls, - }, - SORT_REGULAR, - $this->sortDirection === 'desc' - )->values(); - } - - /** - * Get the most popular tools. - */ - public function getPopularToolsProperty(): Collection - { - $range = $this->getDateRange(); - - return app(ToolAnalyticsService::class)->getPopularTools(10, $range['from'], $range['to']); - } - - /** - * Get tools with high error rates. - */ - public function getErrorProneToolsProperty(): Collection - { - $range = $this->getDateRange(); - - return app(ToolAnalyticsService::class)->getErrorProneTools(10, $range['from'], $range['to']); - } - - /** - * Get tool combinations. - */ - public function getToolCombinationsProperty(): Collection - { - $range = $this->getDateRange(); - - return app(ToolAnalyticsService::class)->getToolCombinations(10, $range['from'], $range['to']); - } - - /** - * Get daily trends for charting. - */ - public function getDailyTrendsProperty(): array - { - $range = $this->getDateRange(); - $allStats = $this->getAllToolsProperty(); - - // Aggregate daily data - $dailyData = []; - for ($i = $this->days - 1; $i >= 0; $i--) { - $date = now()->subDays($i); - $dailyData[] = [ - 'date' => $date->toDateString(), - 'date_formatted' => $date->format('M j'), - 'calls' => 0, // Would need per-day aggregation - 'errors' => 0, - ]; - } - - return $dailyData; - } - - /** - * Get chart data for the top tools bar chart. - */ - public function getTopToolsChartDataProperty(): array - { - $tools = $this->getPopularToolsProperty()->take(10); - - return [ - 'labels' => $tools->pluck('toolName')->toArray(), - 'data' => $tools->pluck('totalCalls')->toArray(), - 'colors' => $tools->map(fn (ToolStats $t) => $t->errorRate > 10 ? '#ef4444' : '#3b82f6')->toArray(), - ]; - } - - /** - * Format duration for display. - */ - public function formatDuration(float $ms): string - { - if ($ms === 0.0) { - return '-'; - } - - if ($ms < 1000) { - return round($ms).'ms'; - } - - return round($ms / 1000, 2).'s'; - } - - public function render() - { - return view('mcp::admin.analytics.dashboard'); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDetail.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDetail.php deleted file mode 100644 index e58f207..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolAnalyticsDetail.php +++ /dev/null @@ -1,109 +0,0 @@ -toolName = $name; - } - - public function boot(ToolAnalyticsService $analyticsService): void - { - $this->analyticsService = $analyticsService; - } - - /** - * Set the number of days to display. - */ - public function setDays(int $days): void - { - $this->days = max(1, min(90, $days)); - } - - /** - * Get the tool statistics. - */ - public function getStatsProperty(): ToolStats - { - $from = now()->subDays($this->days - 1)->startOfDay(); - $to = now()->endOfDay(); - - return app(ToolAnalyticsService::class)->getToolStats($this->toolName, $from, $to); - } - - /** - * Get usage trends for the tool. - */ - public function getTrendsProperty(): array - { - return app(ToolAnalyticsService::class)->getUsageTrends($this->toolName, $this->days); - } - - /** - * Get chart data for the usage trend line chart. - */ - public function getTrendChartDataProperty(): array - { - $trends = $this->getTrendsProperty(); - - return [ - 'labels' => array_column($trends, 'date_formatted'), - 'calls' => array_column($trends, 'calls'), - 'errors' => array_column($trends, 'errors'), - 'avgDuration' => array_column($trends, 'avg_duration_ms'), - ]; - } - - /** - * Format duration for display. - */ - public function formatDuration(float $ms): string - { - if ($ms === 0.0) { - return '-'; - } - - if ($ms < 1000) { - return round($ms).'ms'; - } - - return round($ms / 1000, 2).'s'; - } - - public function render() - { - return view('mcp::admin.analytics.tool-detail'); - } -} diff --git a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolVersionManager.php b/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolVersionManager.php deleted file mode 100644 index bea8367..0000000 --- a/packages/core-mcp/src/Mod/Mcp/View/Modal/Admin/ToolVersionManager.php +++ /dev/null @@ -1,349 +0,0 @@ -checkHadesAccess(); - } - - #[Computed] - public function versions(): LengthAwarePaginator - { - $query = McpToolVersion::query() - ->orderByDesc('created_at'); - - if ($this->search) { - $query->where(function ($q) { - $q->where('tool_name', 'like', "%{$this->search}%") - ->orWhere('server_id', 'like', "%{$this->search}%") - ->orWhere('version', 'like', "%{$this->search}%") - ->orWhere('description', 'like', "%{$this->search}%"); - }); - } - - if ($this->server) { - $query->forServer($this->server); - } - - if ($this->status === 'latest') { - $query->latest(); - } elseif ($this->status === 'deprecated') { - $query->deprecated(); - } elseif ($this->status === 'sunset') { - $query->sunset(); - } elseif ($this->status === 'active') { - $query->active()->where('is_latest', false); - } - - return $query->paginate($this->perPage); - } - - #[Computed] - public function servers(): Collection - { - return app(ToolVersionService::class)->getServersWithVersions(); - } - - #[Computed] - public function stats(): array - { - return app(ToolVersionService::class)->getStats(); - } - - #[Computed] - public function selectedVersion(): ?McpToolVersion - { - if (! $this->selectedVersionId) { - return null; - } - - return McpToolVersion::find($this->selectedVersionId); - } - - #[Computed] - public function versionHistory(): Collection - { - if (! $this->selectedVersion) { - return collect(); - } - - return app(ToolVersionService::class)->getVersionHistory( - $this->selectedVersion->server_id, - $this->selectedVersion->tool_name - ); - } - - #[Computed] - public function schemaComparison(): ?array - { - if (! $this->compareFromId || ! $this->compareToId) { - return null; - } - - $from = McpToolVersion::find($this->compareFromId); - $to = McpToolVersion::find($this->compareToId); - - if (! $from || ! $to) { - return null; - } - - return [ - 'from' => $from, - 'to' => $to, - 'changes' => $from->compareSchemaWith($to), - ]; - } - - // ------------------------------------------------------------------------- - // Actions - // ------------------------------------------------------------------------- - - public function viewVersion(int $id): void - { - $this->selectedVersionId = $id; - $this->showVersionDetail = true; - } - - public function closeVersionDetail(): void - { - $this->showVersionDetail = false; - $this->selectedVersionId = null; - } - - public function openCompareModal(int $fromId, int $toId): void - { - $this->compareFromId = $fromId; - $this->compareToId = $toId; - $this->showCompareModal = true; - } - - public function closeCompareModal(): void - { - $this->showCompareModal = false; - $this->compareFromId = null; - $this->compareToId = null; - } - - public function openDeprecateModal(int $versionId): void - { - $this->deprecateVersionId = $versionId; - $this->deprecateSunsetDate = ''; - $this->showDeprecateModal = true; - } - - public function closeDeprecateModal(): void - { - $this->showDeprecateModal = false; - $this->deprecateVersionId = null; - $this->deprecateSunsetDate = ''; - } - - public function deprecateVersion(): void - { - $version = McpToolVersion::find($this->deprecateVersionId); - if (! $version) { - return; - } - - $sunsetAt = $this->deprecateSunsetDate - ? Carbon::parse($this->deprecateSunsetDate) - : null; - - app(ToolVersionService::class)->deprecateVersion( - $version->server_id, - $version->tool_name, - $version->version, - $sunsetAt - ); - - $this->closeDeprecateModal(); - $this->dispatch('version-deprecated'); - } - - public function markAsLatest(int $versionId): void - { - $version = McpToolVersion::find($versionId); - if (! $version) { - return; - } - - $version->markAsLatest(); - $this->dispatch('version-marked-latest'); - } - - public function openRegisterModal(): void - { - $this->resetRegisterForm(); - $this->showRegisterModal = true; - } - - public function closeRegisterModal(): void - { - $this->showRegisterModal = false; - $this->resetRegisterForm(); - } - - public function registerVersion(): void - { - $this->validate([ - 'registerServer' => 'required|string|max:64', - 'registerTool' => 'required|string|max:128', - 'registerVersion' => 'required|string|max:32|regex:/^\d+\.\d+\.\d+(-[a-zA-Z0-9.-]+)?$/', - 'registerDescription' => 'nullable|string|max:1000', - 'registerChangelog' => 'nullable|string|max:5000', - 'registerMigrationNotes' => 'nullable|string|max:5000', - 'registerInputSchema' => 'nullable|string', - ]); - - $inputSchema = null; - if ($this->registerInputSchema) { - $inputSchema = json_decode($this->registerInputSchema, true); - if (json_last_error() !== JSON_ERROR_NONE) { - $this->addError('registerInputSchema', 'Invalid JSON'); - - return; - } - } - - app(ToolVersionService::class)->registerVersion( - serverId: $this->registerServer, - toolName: $this->registerTool, - version: $this->registerVersion, - inputSchema: $inputSchema, - description: $this->registerDescription ?: null, - options: [ - 'changelog' => $this->registerChangelog ?: null, - 'migration_notes' => $this->registerMigrationNotes ?: null, - 'mark_latest' => $this->registerMarkLatest, - ] - ); - - $this->closeRegisterModal(); - $this->dispatch('version-registered'); - } - - public function clearFilters(): void - { - $this->search = ''; - $this->server = ''; - $this->status = ''; - $this->resetPage(); - } - - // ------------------------------------------------------------------------- - // Helpers - // ------------------------------------------------------------------------- - - public function getStatusBadgeColor(string $status): string - { - return match ($status) { - 'latest' => 'green', - 'active' => 'zinc', - 'deprecated' => 'amber', - 'sunset' => 'red', - default => 'zinc', - }; - } - - public function formatSchema(array $schema): string - { - return json_encode($schema, JSON_PRETTY_PRINT); - } - - private function resetRegisterForm(): void - { - $this->registerServer = ''; - $this->registerTool = ''; - $this->registerVersion = ''; - $this->registerDescription = ''; - $this->registerChangelog = ''; - $this->registerMigrationNotes = ''; - $this->registerInputSchema = ''; - $this->registerMarkLatest = false; - } - - private function checkHadesAccess(): void - { - if (! auth()->user()?->isHades()) { - abort(403, 'Hades access required'); - } - } - - public function render() - { - return view('mcp::admin.tool-version-manager'); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/Boot.php b/packages/core-mcp/src/Website/Mcp/Boot.php deleted file mode 100644 index ea4035a..0000000 --- a/packages/core-mcp/src/Website/Mcp/Boot.php +++ /dev/null @@ -1,48 +0,0 @@ -loadViewsFrom(__DIR__.'/View/Blade', 'mcp'); - - $this->registerLivewireComponents(); - $this->registerRoutes(); - } - - protected function registerLivewireComponents(): void - { - Livewire::component('mcp.dashboard', View\Modal\Dashboard::class); - Livewire::component('mcp.api-key-manager', View\Modal\ApiKeyManager::class); - Livewire::component('mcp.api-explorer', View\Modal\ApiExplorer::class); - Livewire::component('mcp.mcp-metrics', View\Modal\McpMetrics::class); - Livewire::component('mcp.mcp-playground', View\Modal\McpPlayground::class); - Livewire::component('mcp.playground', View\Modal\Playground::class); - Livewire::component('mcp.request-log', View\Modal\RequestLog::class); - Livewire::component('mcp.unified-search', View\Modal\UnifiedSearch::class); - } - - protected function registerRoutes(): void - { - Route::middleware('web')->group(__DIR__.'/Routes/web.php'); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/Controllers/McpRegistryController.php b/packages/core-mcp/src/Website/Mcp/Controllers/McpRegistryController.php deleted file mode 100644 index f0ad09c..0000000 --- a/packages/core-mcp/src/Website/Mcp/Controllers/McpRegistryController.php +++ /dev/null @@ -1,482 +0,0 @@ -environment('production') ? 600 : 0; - } - - /** - * Discovery endpoint: /.well-known/mcp-servers.json - * - * Returns the registry of all available MCP servers. - * This is the entry point for agent discovery. - */ - public function registry(Request $request) - { - $registry = $this->loadRegistry(); - - // Build server summaries for discovery - $servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values() - ->all(); - - $data = [ - 'servers' => $servers, - 'registry_version' => $registry['registry_version'] ?? '1.0', - 'organization' => $registry['organization'] ?? 'Host UK', - ]; - - // Always return JSON for .well-known - return response()->json($data); - } - - /** - * Server list page: /servers - * - * Shows all available servers (HTML) or returns JSON array. - */ - public function index(Request $request) - { - $registry = $this->loadRegistry(); - - $servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerFull($ref['id'])) - ->filter() - ->values(); - - // Include planned servers for display - $plannedServers = collect($registry['planned_servers'] ?? []); - - if ($this->wantsJson($request)) { - return response()->json([ - 'servers' => $servers, - 'planned' => $plannedServers, - ]); - } - - return view('mcp::web.index', [ - 'servers' => $servers, - 'plannedServers' => $plannedServers, - ]); - } - - /** - * Server detail: /servers/{id} or /servers/{id}.json - * - * Returns full server definition with all tools, resources, workflows. - */ - public function show(Request $request, string $id) - { - // Remove .json extension if present - $id = preg_replace('/\.json$/', '', $id); - - $server = $this->loadServerFull($id); - - if (! $server) { - if ($this->wantsJson($request)) { - return response()->json(['error' => 'Server not found'], 404); - } - abort(404, 'Server not found'); - } - - if ($this->wantsJson($request)) { - return response()->json($server); - } - - return view('mcp::web.show', ['server' => $server]); - } - - /** - * Landing page: / - * - * MCP portal landing page for humans. - */ - public function landing(Request $request) - { - $registry = $this->loadRegistry(); - - $servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values(); - - $plannedServers = collect($registry['planned_servers'] ?? []); - - return view('mcp::web.landing', [ - 'servers' => $servers, - 'plannedServers' => $plannedServers, - 'organization' => $registry['organization'] ?? 'Host UK', - ]); - } - - /** - * Connection config generator: /connect - * - * Shows how to add MCP servers to Claude Code etc. - */ - public function connect(Request $request) - { - $registry = $this->loadRegistry(); - - $servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerFull($ref['id'])) - ->filter() - ->values(); - - return view('mcp::web.connect', [ - 'servers' => $servers, - 'templates' => $registry['connection_templates'] ?? [], - 'workspace' => $request->attributes->get('mcp_workspace'), - ]); - } - - /** - * Dashboard: /dashboard - * - * Shows MCP usage for the authenticated workspace. - */ - public function dashboard(Request $request) - { - $workspace = $request->attributes->get('mcp_workspace'); - $entitlement = $request->attributes->get('mcp_entitlement'); - - // Get tool call stats for this workspace - $stats = $this->getWorkspaceStats($workspace); - - return view('mcp::web.dashboard', [ - 'workspace' => $workspace, - 'entitlement' => $entitlement, - 'stats' => $stats, - ]); - } - - /** - * API Keys management: /keys - * - * Manage API keys for MCP access. - */ - public function keys(Request $request) - { - $workspace = $request->attributes->get('mcp_workspace'); - - return view('mcp::web.keys', [ - 'workspace' => $workspace, - 'keys' => $workspace->apiKeys ?? collect(), - ]); - } - - /** - * Get MCP usage stats for a workspace. - */ - protected function getWorkspaceStats($workspace): array - { - $since = now()->subDays(30); - - // Use aggregate queries instead of loading all records into memory - $baseQuery = McpToolCall::where('created_at', '>=', $since); - - if ($workspace) { - $baseQuery->where('workspace_id', $workspace->id); - } - - $totalCalls = (clone $baseQuery)->count(); - $successfulCalls = (clone $baseQuery)->where('success', true)->count(); - - $byServer = (clone $baseQuery) - ->selectRaw('server_id, COUNT(*) as count') - ->groupBy('server_id') - ->orderByDesc('count') - ->limit(5) - ->pluck('count', 'server_id') - ->all(); - - $byDay = (clone $baseQuery) - ->selectRaw('DATE(created_at) as date, COUNT(*) as count') - ->groupBy('date') - ->orderBy('date') - ->pluck('count', 'date') - ->all(); - - return [ - 'total_calls' => $totalCalls, - 'successful_calls' => $successfulCalls, - 'by_server' => $byServer, - 'by_day' => $byDay, - ]; - } - - /** - * Usage analytics endpoint: /servers/{id}/analytics - * - * Shows tool usage stats for a specific server. - */ - public function analytics(Request $request, string $id) - { - $server = $this->loadServerFull($id); - - if (! $server) { - if ($this->wantsJson($request)) { - return response()->json(['error' => 'Server not found'], 404); - } - abort(404, 'Server not found'); - } - - // Validate days parameter - bound to reasonable range - $days = min(max($request->integer('days', 7), 1), 90); - - // Get tool call stats for this server - $stats = $this->getServerAnalytics($id, $days); - - if ($this->wantsJson($request)) { - return response()->json([ - 'server_id' => $id, - 'period_days' => $days, - 'stats' => $stats, - ]); - } - - return view('mcp::web.analytics', [ - 'server' => $server, - 'stats' => $stats, - 'days' => $days, - ]); - } - - /** - * OpenAPI specification. - * - * GET /openapi.json or /openapi.yaml - */ - public function openapi(Request $request) - { - $generator = new OpenApiGenerator; - $format = $request->query('format', 'json'); - - if ($format === 'yaml' || str_ends_with($request->path(), '.yaml')) { - return response($generator->toYaml()) - ->header('Content-Type', 'application/x-yaml'); - } - - return response()->json($generator->generate()); - } - - /** - * Get analytics for a specific server. - */ - protected function getServerAnalytics(string $serverId, int $days = 7): array - { - $since = now()->subDays($days); - - $baseQuery = McpToolCall::forServer($serverId) - ->where('created_at', '>=', $since); - - // Get aggregate stats without loading all records into memory - $totalCalls = (clone $baseQuery)->count(); - $successfulCalls = (clone $baseQuery)->where('success', true)->count(); - $failedCalls = $totalCalls - $successfulCalls; - $avgDuration = (clone $baseQuery)->avg('duration_ms') ?? 0; - - // Tool breakdown with aggregates - $byTool = (clone $baseQuery) - ->selectRaw('tool_name, COUNT(*) as calls, SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as success_count, AVG(duration_ms) as avg_duration') - ->groupBy('tool_name') - ->orderByDesc('calls') - ->limit(10) - ->get() - ->mapWithKeys(fn ($row) => [ - $row->tool_name => [ - 'calls' => (int) $row->calls, - 'success_rate' => $row->calls > 0 - ? round($row->success_count / $row->calls * 100, 1) - : 0, - 'avg_duration_ms' => round($row->avg_duration ?? 0), - ], - ]) - ->all(); - - // Daily breakdown - $byDay = (clone $baseQuery) - ->selectRaw('DATE(created_at) as date, COUNT(*) as count') - ->groupBy('date') - ->orderBy('date') - ->pluck('count', 'date') - ->all(); - - // Error breakdown - $errors = (clone $baseQuery) - ->where('success', false) - ->whereNotNull('error_code') - ->selectRaw('error_code, COUNT(*) as count') - ->groupBy('error_code') - ->orderByDesc('count') - ->limit(5) - ->pluck('count', 'error_code') - ->all(); - - return [ - 'total_calls' => $totalCalls, - 'successful_calls' => $successfulCalls, - 'failed_calls' => $failedCalls, - 'success_rate' => $totalCalls > 0 ? round($successfulCalls / $totalCalls * 100, 1) : 0, - 'avg_duration_ms' => round($avgDuration), - 'by_tool' => $byTool, - 'by_day' => $byDay, - 'errors' => $errors, - ]; - } - - /** - * Load the main registry file. - */ - protected function loadRegistry(): array - { - return Cache::remember('mcp:registry', $this->getCacheTtl(), function () { - $path = resource_path('mcp/registry.yaml'); - - if (! file_exists($path)) { - return ['servers' => [], 'planned_servers' => []]; - } - - return Yaml::parseFile($path); - }); - } - - /** - * Load a server's YAML file. - */ - protected function loadServerYaml(string $id): ?array - { - // Sanitise server ID to prevent path traversal attacks - $id = basename($id, '.yaml'); - - // Validate ID format (alphanumeric with hyphens only) - if (! preg_match('/^[a-z0-9-]+$/', $id)) { - return null; - } - - return Cache::remember("mcp:server:{$id}", $this->getCacheTtl(), function () use ($id) { - $path = resource_path("mcp/servers/{$id}.yaml"); - - if (! file_exists($path)) { - return null; - } - - return Yaml::parseFile($path); - }); - } - - /** - * Load server summary for registry discovery. - * - * Returns minimal info: id, name, description, use_when, connection type. - */ - protected function loadServerSummary(string $id): ?array - { - $server = $this->loadServerYaml($id); - - if (! $server) { - return null; - } - - return [ - 'id' => $server['id'], - 'name' => $server['name'], - 'description' => $server['description'] ?? $server['tagline'] ?? '', - 'tagline' => $server['tagline'] ?? '', - 'icon' => $server['icon'] ?? 'server', - 'status' => $server['status'] ?? 'available', - 'use_when' => $server['use_when'] ?? [], - 'connection' => [ - 'type' => $server['connection']['type'] ?? 'stdio', - ], - 'capabilities' => $this->extractCapabilities($server), - 'related_servers' => $server['related_servers'] ?? [], - ]; - } - - /** - * Load full server definition for detail view. - */ - protected function loadServerFull(string $id): ?array - { - $server = $this->loadServerYaml($id); - - if (! $server) { - return null; - } - - // Add computed fields - $server['tool_count'] = count($server['tools'] ?? []); - $server['resource_count'] = count($server['resources'] ?? []); - $server['workflow_count'] = count($server['workflows'] ?? []); - $server['capabilities'] = $this->extractCapabilities($server); - - return $server; - } - - /** - * Extract capability summary from server definition. - */ - protected function extractCapabilities(array $server): array - { - $caps = []; - - if (! empty($server['tools'])) { - $caps[] = 'tools'; - } - - if (! empty($server['resources'])) { - $caps[] = 'resources'; - } - - return $caps; - } - - /** - * Check if request wants JSON response. - */ - protected function wantsJson(Request $request): bool - { - // Explicit .json extension - if (str_ends_with($request->path(), '.json')) { - return true; - } - - // Accept header - if ($request->wantsJson()) { - return true; - } - - // Query param override - if ($request->query('format') === 'json') { - return true; - } - - return false; - } -} diff --git a/packages/core-mcp/src/Website/Mcp/Routes/web.php b/packages/core-mcp/src/Website/Mcp/Routes/web.php deleted file mode 100644 index c6c575d..0000000 --- a/packages/core-mcp/src/Website/Mcp/Routes/web.php +++ /dev/null @@ -1,48 +0,0 @@ -name('mcp.')->group(function () { - // Agent discovery endpoint (always JSON) - Route::get('.well-known/mcp-servers.json', [McpRegistryController::class, 'registry']) - ->name('registry'); - - // Landing page - Route::get('/', [McpRegistryController::class, 'landing']) - ->middleware(McpAuthenticate::class.':optional') - ->name('landing'); - - // Server list (HTML/JSON based on Accept header) - Route::get('servers', [McpRegistryController::class, 'index']) - ->middleware(McpAuthenticate::class.':optional') - ->name('servers.index'); - - // Server detail (supports .json extension) - Route::get('servers/{id}', [McpRegistryController::class, 'show']) - ->middleware(McpAuthenticate::class.':optional') - ->name('servers.show') - ->where('id', '[a-z0-9-]+(?:\.json)?'); - - // Connection config page - Route::get('connect', [McpRegistryController::class, 'connect']) - ->middleware(McpAuthenticate::class.':optional') - ->name('connect'); - - // OpenAPI spec - Route::get('openapi.json', [McpRegistryController::class, 'openapi'])->name('openapi.json'); - Route::get('openapi.yaml', [McpRegistryController::class, 'openapi'])->name('openapi.yaml'); -}); diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/analytics.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/analytics.blade.php deleted file mode 100644 index c6afc41..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/analytics.blade.php +++ /dev/null @@ -1,115 +0,0 @@ - - {{ $server['name'] }} Analytics - -
- - -

{{ $server['name'] }} Analytics

-

- Tool usage statistics for the last {{ $days }} days. -

-
- - -
-
-

Total Calls

-

{{ number_format($stats['total_calls']) }}

-
-
-

Success Rate

-

- {{ $stats['success_rate'] }}% -

-
-
-

Successful

-

{{ number_format($stats['successful_calls']) }}

-
-
-

Failed

-

{{ number_format($stats['failed_calls']) }}

-
-
- - - @if(!empty($stats['by_tool'])) -
-

Tool Usage

-
- @foreach($stats['by_tool'] as $tool => $data) -
-
- {{ $tool }} -
-
- {{ $data['calls'] }} calls - - {{ $data['success_rate'] }}% success - - {{ $data['avg_duration_ms'] }}ms avg -
-
- @endforeach -
-
- @endif - - - @if(!empty($stats['by_day'])) -
-

Daily Activity

-
- @foreach($stats['by_day'] as $date => $count) -
- {{ $date }} -
-
- @php - $maxCalls = max($stats['by_day']); - $width = $maxCalls > 0 ? ($count / $maxCalls) * 100 : 0; - @endphp -
-
-
- {{ $count }} -
- @endforeach -
-
- @endif - - - @if(!empty($stats['errors'])) -
-

Error Breakdown

-
- @foreach($stats['errors'] as $code => $count) -
- {{ $code ?: 'Unknown' }} - {{ $count }} occurrences -
- @endforeach -
-
- @endif - - -
- Time range: - - @foreach([7, 14, 30] as $range) - - {{ $range }} days - - @endforeach - -
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/api-explorer.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/api-explorer.blade.php deleted file mode 100644 index 17595d7..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/api-explorer.blade.php +++ /dev/null @@ -1,219 +0,0 @@ -
-
- -
-

API Explorer

-

Interactive documentation with code snippets in 11 languages

-
- - -
-
- - - -
- -
- - -
-

Enter your API key to enable live testing. Keys are not stored.

-
-
-
- -
- -
-
-
-

Endpoints

-
-
- @foreach($endpoints as $index => $endpoint) - - @endforeach -
-
-
- - -
- -
-
-

Request

-
-
-
- - -
- - @if(in_array($method, ['POST', 'PUT', 'PATCH'])) -
-
- - -
- -
- @endif - - -
-
- - -
-
-
-

Code Snippet

- -
-
- - -
-
- @foreach($languages as $lang) - - @endforeach -
-
- - -
-
{{ $snippet }}
-
-
- - - @if($error) -
-
- - - -
-

Error

-

{{ $error }}

-
-
-
- @endif - - @if($response) -
-
-
-

Response

- - {{ $response['status'] }} - -
- {{ $responseTime }}ms -
-
-
{{ json_encode($response['body'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) }}
-
-
- @endif -
-
- - - -
- - @script - - @endscript -
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/api-key-manager.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/api-key-manager.blade.php deleted file mode 100644 index 340a4eb..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/api-key-manager.blade.php +++ /dev/null @@ -1,268 +0,0 @@ -
- - @if(session('message')) -
-

{{ session('message') }}

-
- @endif - - -
-
-

- API Keys -

-

- Create API keys to authenticate HTTP requests to MCP servers. -

-
- - Create Key - -
- - -
- @if($keys->isEmpty()) -
-
- -
-

No API Keys Yet

-

- Create an API key to start making authenticated requests to MCP servers over HTTP. -

- - Create Your First Key - -
- @else - - - - - - - - - - - - - @foreach($keys as $key) - - - - - - - - - @endforeach - -
- Name - - Key - - Scopes - - Last Used - - Expires - - Actions -
- {{ $key->name }} - - - {{ $key->prefix }}_**** - - -
- @foreach($key->scopes ?? [] as $scope) - - {{ $scope }} - - @endforeach -
-
- {{ $key->last_used_at?->diffForHumans() ?? 'Never' }} - - @if($key->expires_at) - @if($key->expires_at->isPast()) - Expired - @else - {{ $key->expires_at->diffForHumans() }} - @endif - @else - Never - @endif - - - Revoke - -
- @endif -
- - -
- -
-

- - Authentication -

-

- Include your API key in HTTP requests using one of these methods: -

-
-
-

Authorization Header (recommended)

-
Authorization: Bearer hk_abc123_****
-
-
-

X-API-Key Header

-
X-API-Key: hk_abc123_****
-
-
-
- - -
-

- - Example Request -

-

- Call an MCP tool via HTTP POST: -

-
curl -X POST https://mcp.host.uk.com/api/v1/tools/call \
-  -H "Authorization: Bearer YOUR_API_KEY" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "server": "commerce",
-    "tool": "product_list",
-    "arguments": {}
-  }'
-
-
- - - -
-

Create API Key

- -
- -
- Key Name - - @error('newKeyName') -

{{ $message }}

- @enderror -
- - -
- Permissions -
- - - -
-
- - -
- Expiration - - - - - - -
-
- -
- Cancel - Create Key -
-
-
- - - -
-
-
- -
-

API Key Created

-
- -
-

- Copy this key now. You won't be able to see it again. -

-
- -
-
{{ $newPlainKey }}
- -
- -
- Done -
-
-
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/connect.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/connect.blade.php deleted file mode 100644 index 426972d..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/connect.blade.php +++ /dev/null @@ -1,217 +0,0 @@ - - Setup Guide - -
-
-

Setup Guide

-

- Connect to Host UK MCP servers via HTTP API or stdio. -

-
- - - - - -
-
-
- -
-
-

HTTP API

- - Recommended - -
-
- -

- Call MCP tools from any language or platform using standard HTTP requests. - Perfect for external integrations, webhooks, and remote agents. -

- -

1. Get your API key

-

- Sign in to your Host UK account to create an API key from the admin dashboard. -

- -

2. Call a tool

-
curl -X POST https://mcp.host.uk.com/api/v1/mcp/tools/call \
-  -H "Authorization: Bearer YOUR_API_KEY" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "server": "commerce",
-    "tool": "product_list",
-    "arguments": { "category": "hosting" }
-  }'
- -

3. List available tools

-
curl https://mcp.host.uk.com/api/v1/mcp/servers \
-  -H "Authorization: Bearer YOUR_API_KEY"
- -
-
-

API Endpoints

- - View OpenAPI Spec → - -
-
-
- GET /api/v1/mcp/servers - List all servers -
-
- GET /api/v1/mcp/servers/{id} - Server details -
-
- GET /api/v1/mcp/servers/{id}/tools - List tools -
-
- POST /api/v1/mcp/tools/call - Execute a tool -
-
- GET /api/v1/mcp/resources/{uri} - Read a resource -
-
-
-
- - -
-
-
- -
-
-

Stdio (Local)

- - For local development - -
-
- -

- Direct stdio connection for Claude Code and other local AI agents. - Ideal for OSS framework users running their own Host Hub instance. -

- -
- - Show stdio configuration - - -
- -
-

Claude Code

-

- Add to ~/.claude/claude_code_config.json: -

-
{
-  "mcpServers": {
-@foreach($servers as $server)
-    "{{ $server['id'] }}": {
-      "command": "{{ $server['connection']['command'] ?? 'php' }}",
-      "args": {!! json_encode($server['connection']['args'] ?? ['artisan', 'mcp:agent-server']) !!},
-      "cwd": "{{ $server['connection']['cwd'] ?? '/path/to/host.uk.com' }}"
-    }{{ !$loop->last ? ',' : '' }}
-@endforeach
-  }
-}
-
- - -
-

Cursor

-

- Add to .cursor/mcp.json: -

-
{
-  "mcpServers": {
-@foreach($servers as $server)
-    "{{ $server['id'] }}": {
-      "command": "{{ $server['connection']['command'] ?? 'php' }}",
-      "args": {!! json_encode($server['connection']['args'] ?? ['artisan', 'mcp:agent-server']) !!}
-    }{{ !$loop->last ? ',' : '' }}
-@endforeach
-  }
-}
-
- - -
-

Docker

-
{
-  "mcpServers": {
-    "hosthub-agent": {
-      "command": "docker",
-      "args": ["exec", "-i", "hosthub-app", "php", "artisan", "mcp:agent-server"]
-    }
-  }
-}
-
-
-
-
- - -
-

Authentication

- -
-
-

Authorization Header (Recommended)

-
Authorization: Bearer hk_abc123_your_key_here
-
- -
-

X-API-Key Header

-
X-API-Key: hk_abc123_your_key_here
-
-
- -
-

Server-scoped keys

-

- API keys can be restricted to specific MCP servers. If you get a 403 error, - check your key's server scopes in your admin dashboard. -

-
-
- - -
-

Need help setting up?

-
- - Browse Servers - - - Contact Support - -
-
-
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/dashboard.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/dashboard.blade.php deleted file mode 100644 index f530059..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/dashboard.blade.php +++ /dev/null @@ -1,283 +0,0 @@ -
- -
-
- Upstream Intelligence - Track vendor updates and manage porting tasks -
-
- Refresh -
-
- - -
-
- Vendors - {{ $this->stats['total_vendors'] }} -
-
- Pending - {{ $this->stats['pending_todos'] }} -
-
- Quick Wins - {{ $this->stats['quick_wins'] }} -
-
- Security - {{ $this->stats['security_updates'] }} -
-
- In Progress - {{ $this->stats['in_progress'] }} -
-
- This Week - {{ $this->stats['recent_releases'] }} -
-
- - -
-
- Tracked Vendors -
-
-
- @foreach($this->vendors as $vendor) -
-
- {{ $vendor->getSourceTypeIcon() }} - {{ $vendor->name }} -
-
-
{{ $vendor->vendor_name }} · {{ $vendor->getSourceTypeLabel() }}
-
Version: {{ $vendor->current_version ?? 'Not set' }}
-
- {{ $vendor->todos_count }} todos - {{ $vendor->releases_count }} releases -
-
-
- @endforeach -
-
-
- - -
-
- - All Vendors - @foreach($this->vendors as $vendor) - {{ $vendor->name }} - @endforeach - - - - All Status - Pending - In Progress - Ported - Skipped - - - - All Types - Feature - Bugfix - Security - UI - Block - API - - - - All Effort - Low (<1hr) - Medium (1-4hr) - High (4+hr) - - - -
-
- - -
-
- Porting Tasks - {{ $this->todos->total() }} total -
-
- - - Type - Title - Vendor - Priority - Effort - Status - Actions - - - @forelse($this->todos as $todo) - - - {{ $todo->getTypeIcon() }} - - -
-
{{ $todo->title }}
- @if($todo->description) -
{{ Str::limit($todo->description, 80) }}
- @endif -
-
- - {{ $todo->vendor->name }} - - - - {{ $todo->priority }}/10 - - - - - {{ $todo->getEffortLabel() }} - - - - - {{ str_replace('_', ' ', $todo->status) }} - - - - @if($todo->status === 'pending') - Start - @elseif($todo->status === 'in_progress') -
- Done - Skip -
- @endif -
-
- @empty - - - No todos found matching filters - - - @endforelse -
-
-
- @if($this->todos->hasPages()) -
- {{ $this->todos->links() }} -
- @endif -
- - -
- -
-
- Asset Library -
- @if($this->assetStats['updates_available'] > 0) - {{ $this->assetStats['updates_available'] }} updates - @endif - {{ $this->assetStats['total'] }} assets -
-
-
-
- @foreach($this->assets as $asset) -
-
- {{ $asset->getTypeIcon() }} -
-
{{ $asset->name }}
-
- @if($asset->package_name) - {{ $asset->package_name }} - @endif -
-
-
-
- {{ $asset->getLicenseIcon() }} - @if($asset->installed_version) - - {{ $asset->installed_version }} - @if($asset->hasUpdate()) - → {{ $asset->latest_version }} - @endif - - @else - Not installed - @endif -
-
- @endforeach -
-
-
- - -
-
- Pattern Library - {{ $this->assetStats['patterns'] }} patterns -
-
-
- @foreach($this->patterns as $pattern) -
-
- {{ $pattern->getCategoryIcon() }} - {{ $pattern->name }} -
-
{{ $pattern->description }}
-
- {{ $pattern->language }} - @if($pattern->is_vetted) - Vetted - @endif -
-
- @endforeach -
-
-
-
- - -
-
- Recent Activity -
-
-
- @forelse($this->recentLogs as $log) -
- {{ $log->getActionIcon() }} - {{ $log->created_at->diffForHumans() }} - {{ $log->getActionLabel() }} - · - {{ $log->vendor->name }} - @if($log->error_message) - Error - @endif -
- @empty -
No recent activity
- @endforelse -
-
-
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/index.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/index.blade.php deleted file mode 100644 index 9f7a8bc..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/index.blade.php +++ /dev/null @@ -1,126 +0,0 @@ - - MCP Servers - -
-

MCP Servers

-

- All available MCP servers for AI agent integration. -

-
- - -
- @forelse($servers as $server) -
-
-
-
-
- @switch($server['id']) - @case('hosthub-agent') - - @break - @case('commerce') - - @break - @case('socialhost') - - @break - @case('biohost') - - @break - @case('supporthost') - - @break - @case('analyticshost') - - @break - @default - - @endswitch -
-
-

- {{ $server['name'] }} -

-

{{ $server['id'] }}

-
-
- - {{ ucfirst($server['status'] ?? 'available') }} - -
- -

- {{ $server['tagline'] ?? $server['description'] ?? '' }} -

- - -
- - - {{ $server['tool_count'] ?? 0 }} tools - - - - {{ $server['resource_count'] ?? 0 }} resources - - @if(($server['workflow_count'] ?? 0) > 0) - - - {{ $server['workflow_count'] }} workflows - - @endif -
-
- - -
- @empty -
- -

No MCP servers available.

-
- @endforelse -
- - - @if($plannedServers->isNotEmpty()) -
-

Planned Servers

-
- @foreach($plannedServers as $server) -
-
-
- @switch($server['id']) - @case('upstream') - - @break - @case('analyticshost') - - @break - @default - - @endswitch -
-

{{ $server['name'] }}

-
-

{{ $server['tagline'] ?? '' }}

-
- @endforeach -
-
- @endif -
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/keys.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/keys.blade.php deleted file mode 100644 index 78463fb..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/keys.blade.php +++ /dev/null @@ -1,6 +0,0 @@ - - API Keys - Manage API keys for MCP server access. - - - diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/landing.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/landing.blade.php deleted file mode 100644 index 18a79a5..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/landing.blade.php +++ /dev/null @@ -1,205 +0,0 @@ - - MCP Portal - Connect AI agents to Host UK infrastructure. Machine-readable, agent-optimised, human-friendly. - - -
-

- Host UK MCP Ecosystem -

-

- Connect AI agents to Host UK infrastructure.
- Machine-readable • - Agent-optimised • - Human-friendly -

-
- - Browse Servers - - - Setup Guide - -
-
- - -
-

Developer Tools

- -
- - -
-

Available Servers

- -
- - - @if($plannedServers->isNotEmpty()) -
-

Coming Soon

-
- @foreach($plannedServers as $server) -
-
-
- @switch($server['id']) - @case('analyticshost') - - @break - @case('upstream') - - @break - @default - - @endswitch -
- - Planned - -
-

- {{ $server['name'] }} -

-

- {{ $server['tagline'] ?? '' }} -

-
- @endforeach -
-
- @endif - - -
-

Quick Start

-

- Call MCP tools via HTTP API with your API key: -

-
curl -X POST https://mcp.host.uk.com/api/v1/mcp/tools/call \
-  -H "Authorization: Bearer YOUR_API_KEY" \
-  -H "Content-Type: application/json" \
-  -d '{
-    "server": "commerce",
-    "tool": "product_list",
-    "arguments": {}
-  }'
-
- - Full Setup Guide - - - OpenAPI Spec - -
-
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-metrics.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-metrics.blade.php deleted file mode 100644 index fd550bc..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-metrics.blade.php +++ /dev/null @@ -1,309 +0,0 @@ -
- -
-
- MCP Agent Metrics - Monitor tool usage, performance, and errors -
-
- - 7 Days - 14 Days - 30 Days - - Refresh -
-
- - -
-
- Total Calls - {{ number_format($this->overview['total_calls']) }} - @if($this->overview['calls_trend_percent'] != 0) - - {{ $this->overview['calls_trend_percent'] > 0 ? '+' : '' }}{{ $this->overview['calls_trend_percent'] }}% - - @endif -
-
- Success Rate - {{ $this->overview['success_rate'] }}% -
-
- Successful - {{ number_format($this->overview['success_calls']) }} -
-
- Errors - {{ number_format($this->overview['error_calls']) }} -
-
- Avg Duration - {{ $this->overview['avg_duration_ms'] < 1000 ? $this->overview['avg_duration_ms'] . 'ms' : round($this->overview['avg_duration_ms'] / 1000, 2) . 's' }} -
-
- Unique Tools - {{ $this->overview['unique_tools'] }} -
-
- - -
- -
- - @if($activeTab === 'overview') -
- -
-
- Daily Call Volume -
-
-
- @foreach($this->dailyTrend as $day) -
- {{ $day['date_formatted'] }} -
-
- @php - $maxCalls = collect($this->dailyTrend)->max('total_calls') ?: 1; - $successWidth = ($day['total_success'] / $maxCalls) * 100; - $errorWidth = ($day['total_errors'] / $maxCalls) * 100; - @endphp -
-
-
-
-
- {{ $day['total_calls'] }} -
-
- @endforeach -
-
-
- - -
-
- Top Tools -
-
-
- @forelse($this->topTools as $tool) -
-
- {{ $tool->tool_name }} - {{ $tool->server_id }} -
-
- - {{ $tool->success_rate }}% - - {{ number_format($tool->total_calls) }} -
-
- @empty -
No tool calls recorded yet
- @endforelse -
-
-
- - -
-
- Server Breakdown -
-
- @forelse($this->serverStats as $server) -
-
- {{ $server->server_id }} - {{ $server->unique_tools }} tools -
-
- {{ number_format($server->total_success) }} - {{ number_format($server->total_errors) }} - {{ number_format($server->total_calls) }} -
-
- @empty -
No servers active yet
- @endforelse -
-
- - -
-
- Plan Activity -
-
- @forelse($this->planActivity as $plan) -
-
- {{ $plan->plan_slug }} - {{ $plan->unique_tools }} tools -
-
- - {{ $plan->success_rate }}% - - {{ number_format($plan->call_count) }} -
-
- @empty -
No plan activity recorded
- @endforelse -
-
-
- @endif - - @if($activeTab === 'performance') -
- -
-
- Tool Performance (p50 / p95 / p99) -
-
- - - - - - - - - - - - - - - @forelse($this->toolPerformance as $tool) - - - - - - - - - - - @empty - - - - @endforelse - -
ToolCallsMinAvgp50p95p99Max
{{ $tool['tool_name'] }}{{ number_format($tool['call_count']) }}{{ $tool['min_ms'] }}ms{{ round($tool['avg_ms']) }}ms{{ round($tool['p50_ms']) }}ms{{ round($tool['p95_ms']) }}ms{{ round($tool['p99_ms']) }}ms{{ $tool['max_ms'] }}ms
No performance data recorded yet
-
-
- - -
-
- Hourly Distribution (Last 24 Hours) -
-
-
- @php $maxHourly = collect($this->hourlyDistribution)->max('call_count') ?: 1; @endphp - @foreach($this->hourlyDistribution as $hour) -
-
- {{ $hour['hour_formatted'] }} -
- @endforeach -
-
-
-
- @endif - - @if($activeTab === 'errors') -
-
- Error Breakdown -
-
- - - - - - - - - - @forelse($this->errorBreakdown as $error) - - - - - - @empty - - - - @endforelse - -
ToolError CodeCount
{{ $error->tool_name }} - - {{ $error->error_code ?? 'unknown' }} - - {{ number_format($error->error_count) }}
No errors recorded - all systems healthy
-
-
- @endif - - @if($activeTab === 'activity') -
-
- Recent Activity -
-
- @forelse($this->recentCalls as $call) -
-
- -
- {{ $call['tool_name'] }} - @if($call['plan_slug']) - @ {{ $call['plan_slug'] }} - @endif - @if(!$call['success'] && $call['error_message']) -
{{ Str::limit($call['error_message'], 80) }}
- @endif -
-
-
- {{ $call['duration'] }} - {{ $call['created_at'] }} -
-
- @empty -
No activity recorded yet
- @endforelse -
-
- @endif -
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-playground.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-playground.blade.php deleted file mode 100644 index df3ea74..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/mcp-playground.blade.php +++ /dev/null @@ -1,180 +0,0 @@ -
-
- -
-

MCP Tool Playground

-

Test MCP tool calls with custom parameters

-
- -
- -
-
-

Request

- - -
- - -
- - -
- - - @if($selectedTool) - @php $currentTool = collect($tools)->firstWhere('name', $selectedTool); @endphp - @if($currentTool && !empty($currentTool['purpose'])) -

{{ $currentTool['purpose'] }}

- @endif - @endif -
- - -
-
- - -
- - @error('inputJson') -

{{ $message }}

- @enderror -
- - - -
-
- - -
-
-
-

Response

- @if($executionTime > 0) - {{ $executionTime }}ms - @endif -
- - @if($lastError) -
-
-
- - - -
-
-

Error

-

{{ $lastError }}

-
-
-
- @endif - -
-
@if($lastResult){{ json_encode($lastResult, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) }}@else// Response will appear here...@endif
-
-
-
-
- - - @if($selectedTool && !empty($tools)) - @php $currentTool = collect($tools)->firstWhere('name', $selectedTool); @endphp - @if($currentTool && !empty($currentTool['parameters'])) -
-
-

Parameter Reference

-
- - - - - - - - - - - @foreach($currentTool['parameters'] as $paramName => $paramDef) - - - - - - - @endforeach - -
NameTypeRequiredDescription
{{ $paramName }}{{ is_array($paramDef) ? ($paramDef['type'] ?? 'string') : 'string' }} - @if(is_array($paramDef) && ($paramDef['required'] ?? false)) - Required - @else - Optional - @endif - {{ is_array($paramDef) ? ($paramDef['description'] ?? '-') : $paramDef }}
-
-
-
- @endif - @endif - - - -
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/playground.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/playground.blade.php deleted file mode 100644 index 0554f9d..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/playground.blade.php +++ /dev/null @@ -1,274 +0,0 @@ -
-
-

Playground

-

- Test MCP tools interactively and execute requests live. -

-
- - {{-- Error Display --}} - @if($error) -
-
- -

{{ $error }}

-
-
- @endif - -
- -
- -
-

Authentication

- -
-
- -
- -
- - Validate Key - - - @if($keyStatus === 'valid') - - - Valid - - @elseif($keyStatus === 'invalid') - - - Invalid key - - @elseif($keyStatus === 'expired') - - - Expired - - @elseif($keyStatus === 'empty') - - Enter a key to validate - - @endif -
- - @if($keyInfo) -
-
-
- Name: - {{ $keyInfo['name'] }} -
-
- Workspace: - {{ $keyInfo['workspace'] }} -
-
- Scopes: - {{ implode(', ', $keyInfo['scopes'] ?? []) }} -
-
- Last used: - {{ $keyInfo['last_used'] }} -
-
-
- @elseif(!$isAuthenticated && !$apiKey) -
-

- Sign in - to create API keys, or paste an existing key above. -

-
- @endif -
-
- - -
-

Select Tool

- -
- - @foreach($servers as $server) - {{ $server['name'] }} - @endforeach - - - @if($selectedServer && count($tools) > 0) - - @foreach($tools as $tool) - {{ $tool['name'] }} - @endforeach - - @endif -
-
- - - @if($toolSchema) -
-
-

{{ $toolSchema['name'] }}

-

{{ $toolSchema['description'] ?? $toolSchema['purpose'] ?? '' }}

-
- - @php - $params = $toolSchema['inputSchema']['properties'] ?? $toolSchema['parameters'] ?? []; - $required = $toolSchema['inputSchema']['required'] ?? []; - @endphp - - @if(count($params) > 0) -
-

Arguments

- - @foreach($params as $name => $schema) -
- @php - $paramRequired = in_array($name, $required) || ($schema['required'] ?? false); - $paramType = is_array($schema['type'] ?? 'string') ? ($schema['type'][0] ?? 'string') : ($schema['type'] ?? 'string'); - @endphp - - @if(isset($schema['enum'])) - - @foreach($schema['enum'] as $option) - {{ $option }} - @endforeach - - @elseif($paramType === 'boolean') - - true - false - - @elseif($paramType === 'integer' || $paramType === 'number') - - @else - - @endif -
- @endforeach -
- @else -

This tool has no arguments.

- @endif - -
- - - @if($keyStatus === 'valid') - Execute Request - @else - Generate Request - @endif - - Executing... - -
-
- @endif -
- - -
-
-

Response

- - @if($response) -
-
- -
-
{{ $response }}
-
- @else -
- -

Select a server and tool to get started.

-
- @endif -
- - -
-

API Reference

-
-
- Endpoint: - {{ config('app.url') }}/api/v1/mcp/tools/call -
-
- Method: - POST -
-
- Auth: - @if($keyStatus === 'valid') - Bearer {{ Str::limit($apiKey, 20, '...') }} - @else - Bearer <your-api-key> - @endif -
-
- Content-Type: - application/json -
-
- -
-
-
-
- -@script - -@endscript diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/request-log.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/request-log.blade.php deleted file mode 100644 index fc6a27b..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/request-log.blade.php +++ /dev/null @@ -1,153 +0,0 @@ -
-
-

Request Log

-

- View API requests and generate curl commands to replay them. -

-
- - -
-
-
- - -
-
- - -
-
-
- -
- -
-
- @forelse($requests as $request) - - @empty -
- No requests found. -
- @endforelse -
- - @if($requests->hasPages()) -
- {{ $requests->links() }} -
- @endif -
- - -
- @if($selectedRequest) -
-

Request Detail

- -
- -
- -
- - - {{ $selectedRequest->response_status }} - {{ $selectedRequest->isSuccessful() ? 'OK' : 'Error' }} - -
- - -
- -
{{ json_encode($selectedRequest->request_body, JSON_PRETTY_PRINT) }}
-
- - -
- -
{{ json_encode($selectedRequest->response_body, JSON_PRETTY_PRINT) }}
-
- - @if($selectedRequest->error_message) -
- -
{{ $selectedRequest->error_message }}
-
- @endif - - -
- -
{{ $selectedRequest->toCurl() }}
-
- - -
-
Request ID: {{ $selectedRequest->request_id }}
-
Duration: {{ $selectedRequest->duration_for_humans }}
-
IP: {{ $selectedRequest->ip_address ?? 'N/A' }}
-
Time: {{ $selectedRequest->created_at->format('Y-m-d H:i:s') }}
-
-
- @else -
- -

Select a request to view details and generate replay commands.

-
- @endif -
-
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/show.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/show.blade.php deleted file mode 100644 index 9c2b9e7..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/show.blade.php +++ /dev/null @@ -1,227 +0,0 @@ - - {{ $server['name'] }} - {{ $server['tagline'] ?? $server['description'] ?? '' }} - - -
- - -
-
-
- @switch($server['id']) - @case('hosthub-agent') - - @break - @case('commerce') - - @break - @case('socialhost') - - @break - @case('biohost') - - @break - @case('supporthost') - - @break - @case('analyticshost') - - @break - @case('upstream') - - @break - @default - - @endswitch -
-
-

{{ $server['name'] }}

-

{{ $server['id'] }}

-
-
- - {{ ucfirst($server['status'] ?? 'available') }} - -
- -

- {{ $server['tagline'] ?? '' }} -

-
- - - @if(!empty($server['description'])) -
-

About

-
- {!! nl2br(e($server['description'])) !!} -
-
- @endif - - -
- @if(!empty($server['use_when'])) -
-

- - Use when -

-
    - @foreach($server['use_when'] as $item) -
  • • {{ $item }}
  • - @endforeach -
-
- @endif - - @if(!empty($server['dont_use_when'])) -
-

- - Don't use when -

-
    - @foreach($server['dont_use_when'] as $item) -
  • • {{ $item }}
  • - @endforeach -
-
- @endif -
- - - @if(!empty($server['connection'])) -
-

Connection

-
{
-  "{{ $server['id'] }}": {
-    "command": "{{ $server['connection']['command'] ?? 'php' }}",
-    "args": {!! json_encode($server['connection']['args'] ?? ['artisan', 'mcp:agent-server']) !!},
-    "cwd": "{{ $server['connection']['cwd'] ?? '/path/to/project' }}"
-  }
-}
-
- @endif - - - @if(!empty($server['tools'])) -
-

- Tools ({{ count($server['tools']) }}) -

-
- @foreach($server['tools'] as $tool) -
-
-

- {{ $tool['name'] }} -

-
-

- {{ $tool['purpose'] ?? '' }} -

- - @if(!empty($tool['example_prompts'])) -
-

Example prompts:

-
    - @foreach(array_slice($tool['example_prompts'], 0, 3) as $prompt) -
  • "{{ $prompt }}"
  • - @endforeach -
-
- @endif - - @if(!empty($tool['parameters'])) -
- - Parameters - -
- @foreach($tool['parameters'] as $name => $param) -
- {{ $name }} - @if(!empty($param['required'])) - * - @endif - - {{ is_array($param['type'] ?? '') ? implode('|', $param['type']) : ($param['type'] ?? 'string') }} - - @if(!empty($param['description'])) -

{{ $param['description'] }}

- @endif -
- @endforeach -
-
- @endif -
- @endforeach -
-
- @endif - - - @if(!empty($server['resources'])) -
-

- Resources ({{ count($server['resources']) }}) -

-
- @foreach($server['resources'] as $resource) -
- -
-

{{ $resource['uri'] }}

-

{{ $resource['purpose'] ?? $resource['name'] ?? '' }}

-
-
- @endforeach -
-
- @endif - - - @if(!empty($server['workflows'])) -
-

- Workflows ({{ count($server['workflows']) }}) -

-
- @foreach($server['workflows'] as $workflow) -
-

{{ $workflow['name'] }}

-

{{ $workflow['description'] ?? '' }}

- @if(!empty($workflow['steps'])) -
    - @foreach($workflow['steps'] as $index => $step) -
  1. - {{ $step['action'] }} - @if(!empty($step['note'])) - — {{ $step['note'] }} - @endif -
  2. - @endforeach -
- @endif -
- @endforeach -
-
- @endif - - - -
diff --git a/packages/core-mcp/src/Website/Mcp/View/Blade/web/unified-search.blade.php b/packages/core-mcp/src/Website/Mcp/View/Blade/web/unified-search.blade.php deleted file mode 100644 index db7d1b3..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Blade/web/unified-search.blade.php +++ /dev/null @@ -1,202 +0,0 @@ -
-
- -
-

Search

-

Find tools, endpoints, patterns, and more across the system

-
- - -
-
-
-
- - - -
- -
-
- - -
-
- Filter: - @foreach($this->types as $typeKey => $typeInfo) - - @endforeach - - @if(count($selectedTypes) > 0) - - @endif -
-
-
- - - @if(strlen($query) >= 2) - - - - @if($this->results->count() > 0) -
- Showing {{ $this->results->count() }} result{{ $this->results->count() !== 1 ? 's' : '' }} -
- @endif - @else - -
- - - -

Start searching

-

Type at least 2 characters to search across all system components.

-
- @foreach($this->types as $typeKey => $typeInfo) - - {{ $typeInfo['name'] }} - - @endforeach -
-
- @endif - - - -
-
diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/ApiExplorer.php b/packages/core-mcp/src/Website/Mcp/View/Modal/ApiExplorer.php deleted file mode 100644 index 1c7bd24..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/ApiExplorer.php +++ /dev/null @@ -1,271 +0,0 @@ - 'List Workspaces', - 'method' => 'GET', - 'path' => '/api/v1/workspaces', - 'description' => 'Get all workspaces for the authenticated user', - 'body' => null, - ], - [ - 'name' => 'Create Workspace', - 'method' => 'POST', - 'path' => '/api/v1/workspaces', - 'description' => 'Create a new workspace', - 'body' => ['name' => 'My Workspace', 'description' => 'A new workspace'], - ], - [ - 'name' => 'Get Workspace', - 'method' => 'GET', - 'path' => '/api/v1/workspaces/{id}', - 'description' => 'Get a specific workspace by ID', - 'body' => null, - ], - [ - 'name' => 'Update Workspace', - 'method' => 'PATCH', - 'path' => '/api/v1/workspaces/{id}', - 'description' => 'Update workspace details', - 'body' => ['name' => 'Updated Workspace', 'settings' => ['timezone' => 'UTC']], - ], - [ - 'name' => 'List Namespaces', - 'method' => 'GET', - 'path' => '/api/v1/namespaces', - 'description' => 'Get all namespaces accessible to the user', - 'body' => null, - ], - [ - 'name' => 'Check Entitlement', - 'method' => 'POST', - 'path' => '/api/v1/namespaces/{id}/entitlements/check', - 'description' => 'Check if a namespace has access to a feature', - 'body' => ['feature' => 'storage', 'quantity' => 1073741824], - ], - [ - 'name' => 'List API Keys', - 'method' => 'GET', - 'path' => '/api/v1/api-keys', - 'description' => 'Get all API keys for the workspace', - 'body' => null, - ], - [ - 'name' => 'Create API Key', - 'method' => 'POST', - 'path' => '/api/v1/api-keys', - 'description' => 'Create a new API key', - 'body' => ['name' => 'Production Key', 'scopes' => ['read:all'], 'rate_limit_tier' => 'pro'], - ], - ]; - - protected ApiSnippetService $snippetService; - - public function boot(ApiSnippetService $snippetService): void - { - $this->snippetService = $snippetService; - } - - public function mount(): void - { - // Set base URL from config - $this->baseUrl = config('api.base_url', config('app.url')); - - // Pre-select first endpoint - if (! empty($this->endpoints)) { - $this->selectEndpoint(0); - } - } - - public function selectEndpoint(int $index): void - { - if (! isset($this->endpoints[$index])) { - return; - } - - $endpoint = $this->endpoints[$index]; - $this->selectedEndpoint = (string) $index; - $this->method = $endpoint['method']; - $this->path = $endpoint['path']; - $this->bodyJson = $endpoint['body'] - ? json_encode($endpoint['body'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) - : '{}'; - $this->response = null; - $this->error = null; - } - - public function getCodeSnippet(): string - { - $headers = [ - 'Authorization' => 'Bearer '.($this->apiKey ?: 'YOUR_API_KEY'), - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - ]; - - $body = null; - if (in_array($this->method, ['POST', 'PUT', 'PATCH']) && $this->bodyJson !== '{}') { - $body = json_decode($this->bodyJson, true); - } - - return $this->snippetService->generate( - $this->selectedLanguage, - $this->method, - $this->path, - $headers, - $body, - $this->baseUrl - ); - } - - public function getAllSnippets(): array - { - $headers = [ - 'Authorization' => 'Bearer '.($this->apiKey ?: 'YOUR_API_KEY'), - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - ]; - - $body = null; - if (in_array($this->method, ['POST', 'PUT', 'PATCH']) && $this->bodyJson !== '{}') { - $body = json_decode($this->bodyJson, true); - } - - return $this->snippetService->generateAll( - $this->method, - $this->path, - $headers, - $body, - $this->baseUrl - ); - } - - public function copyToClipboard(): void - { - $this->dispatch('copy-to-clipboard', code: $this->getCodeSnippet()); - } - - public function sendRequest(): void - { - if (empty($this->apiKey)) { - $this->error = 'Please enter your API key to send requests'; - - return; - } - - $this->isLoading = true; - $this->response = null; - $this->error = null; - - try { - $startTime = microtime(true); - - $url = rtrim($this->baseUrl, '/').'/'.ltrim($this->path, '/'); - - $options = [ - 'http' => [ - 'method' => $this->method, - 'header' => [ - "Authorization: Bearer {$this->apiKey}", - 'Content-Type: application/json', - 'Accept: application/json', - ], - 'timeout' => 30, - 'ignore_errors' => true, - ], - ]; - - if (in_array($this->method, ['POST', 'PUT', 'PATCH']) && $this->bodyJson !== '{}') { - $options['http']['content'] = $this->bodyJson; - } - - $context = stream_context_create($options); - $result = @file_get_contents($url, false, $context); - - $this->responseTime = (int) round((microtime(true) - $startTime) * 1000); - - if ($result === false) { - $this->error = 'Request failed - check your API key and endpoint'; - - return; - } - - // Parse response headers - $statusCode = 200; - if (isset($http_response_header[0])) { - preg_match('/HTTP\/\d+\.?\d* (\d+)/', $http_response_header[0], $matches); - $statusCode = (int) ($matches[1] ?? 200); - } - - $this->response = [ - 'status' => $statusCode, - 'body' => json_decode($result, true) ?? $result, - 'headers' => $http_response_header ?? [], - ]; - - } catch (\Exception $e) { - $this->error = $e->getMessage(); - } finally { - $this->isLoading = false; - } - } - - public function formatBody(): void - { - try { - $decoded = json_decode($this->bodyJson, true); - if (json_last_error() === JSON_ERROR_NONE) { - $this->bodyJson = json_encode($decoded, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - } - } catch (\Exception $e) { - // Ignore - } - } - - public function render() - { - return view('mcp::web.api-explorer', [ - 'languages' => ApiSnippetService::getLanguages(), - 'snippet' => $this->getCodeSnippet(), - ]); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/ApiKeyManager.php b/packages/core-mcp/src/Website/Mcp/View/Modal/ApiKeyManager.php deleted file mode 100644 index a41114f..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/ApiKeyManager.php +++ /dev/null @@ -1,110 +0,0 @@ -workspace = $workspace; - } - - public function openCreateModal(): void - { - $this->showCreateModal = true; - $this->newKeyName = ''; - $this->newKeyScopes = ['read', 'write']; - $this->newKeyExpiry = 'never'; - } - - public function closeCreateModal(): void - { - $this->showCreateModal = false; - } - - public function createKey(): void - { - $this->validate([ - 'newKeyName' => 'required|string|max:100', - ]); - - $expiresAt = match ($this->newKeyExpiry) { - '30days' => now()->addDays(30), - '90days' => now()->addDays(90), - '1year' => now()->addYear(), - default => null, - }; - - $result = ApiKey::generate( - workspaceId: $this->workspace->id, - userId: auth()->id(), - name: $this->newKeyName, - scopes: $this->newKeyScopes, - expiresAt: $expiresAt, - ); - - $this->newPlainKey = $result['plain_key']; - $this->showCreateModal = false; - $this->showNewKeyModal = true; - - session()->flash('message', 'API key created successfully.'); - } - - public function closeNewKeyModal(): void - { - $this->newPlainKey = null; - $this->showNewKeyModal = false; - } - - public function revokeKey(int $keyId): void - { - $key = $this->workspace->apiKeys()->findOrFail($keyId); - $key->revoke(); - - session()->flash('message', 'API key revoked.'); - } - - public function toggleScope(string $scope): void - { - if (in_array($scope, $this->newKeyScopes)) { - $this->newKeyScopes = array_values(array_diff($this->newKeyScopes, [$scope])); - } else { - $this->newKeyScopes[] = $scope; - } - } - - public function render() - { - return view('mcp::web.api-key-manager', [ - 'keys' => $this->workspace->apiKeys()->orderByDesc('created_at')->get(), - ]); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/Dashboard.php b/packages/core-mcp/src/Website/Mcp/View/Modal/Dashboard.php deleted file mode 100644 index 1138fda..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/Dashboard.php +++ /dev/null @@ -1,188 +0,0 @@ -resetPage(); - } - - public function updatingTypeFilter(): void - { - $this->resetPage(); - } - - public function updatingStatusFilter(): void - { - $this->resetPage(); - } - - public function getVendorsProperty() - { - try { - return Vendor::active()->withCount(['todos', 'releases'])->get(); - } catch (\Illuminate\Database\QueryException $e) { - return collect(); - } - } - - public function getStatsProperty(): array - { - try { - return [ - 'total_vendors' => Vendor::active()->count(), - 'pending_todos' => UpstreamTodo::pending()->count(), - 'quick_wins' => UpstreamTodo::quickWins()->count(), - 'security_updates' => UpstreamTodo::pending()->where('type', 'security')->count(), - 'recent_releases' => \Mod\Uptelligence\Models\VersionRelease::recent(7)->count(), - 'in_progress' => UpstreamTodo::inProgress()->count(), - ]; - } catch (\Illuminate\Database\QueryException $e) { - return [ - 'total_vendors' => 0, - 'pending_todos' => 0, - 'quick_wins' => 0, - 'security_updates' => 0, - 'recent_releases' => 0, - 'in_progress' => 0, - ]; - } - } - - public function getTodosProperty() - { - try { - $query = UpstreamTodo::with('vendor') - ->orderByDesc('priority') - ->orderBy('effort'); - - if ($this->vendorFilter) { - $query->where('vendor_id', $this->vendorFilter); - } - - if ($this->typeFilter) { - $query->where('type', $this->typeFilter); - } - - if ($this->statusFilter) { - $query->where('status', $this->statusFilter); - } - - if ($this->effortFilter) { - $query->where('effort', $this->effortFilter); - } - - if ($this->quickWinsOnly) { - $query->where('effort', 'low')->where('priority', '>=', 5); - } - - return $query->paginate(15); - } catch (\Illuminate\Database\QueryException $e) { - return new \Illuminate\Pagination\LengthAwarePaginator([], 0, 15); - } - } - - public function getRecentLogsProperty() - { - try { - return AnalysisLog::with('vendor') - ->latest() - ->limit(10) - ->get(); - } catch (\Illuminate\Database\QueryException $e) { - return collect(); - } - } - - public function getAssetsProperty() - { - try { - return Asset::active()->orderBy('type')->get(); - } catch (\Illuminate\Database\QueryException $e) { - return collect(); - } - } - - public function getPatternsProperty() - { - try { - return Pattern::active()->orderBy('category')->limit(6)->get(); - } catch (\Illuminate\Database\QueryException $e) { - return collect(); - } - } - - public function getAssetStatsProperty(): array - { - try { - return [ - 'total' => Asset::active()->count(), - 'updates_available' => Asset::active()->needsUpdate()->count(), - 'patterns' => Pattern::active()->count(), - ]; - } catch (\Illuminate\Database\QueryException $e) { - return [ - 'total' => 0, - 'updates_available' => 0, - 'patterns' => 0, - ]; - } - } - - public function markInProgress(int $todoId): void - { - $todo = UpstreamTodo::findOrFail($todoId); - $todo->markInProgress(); - } - - public function markPorted(int $todoId): void - { - $todo = UpstreamTodo::findOrFail($todoId); - $todo->markPorted(); - } - - public function markSkipped(int $todoId): void - { - $todo = UpstreamTodo::findOrFail($todoId); - $todo->markSkipped(); - } - - public function render() - { - return view('mcp::web.dashboard'); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/McpMetrics.php b/packages/core-mcp/src/Website/Mcp/View/Modal/McpMetrics.php deleted file mode 100644 index 00d20d6..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/McpMetrics.php +++ /dev/null @@ -1,90 +0,0 @@ -metricsService = $metricsService; - } - - public function setDays(int $days): void - { - // Bound days to a reasonable range (1-90) - $this->days = min(max($days, 1), 90); - } - - public function setTab(string $tab): void - { - $this->activeTab = $tab; - } - - public function getOverviewProperty(): array - { - return app(McpMetricsService::class)->getOverview($this->days); - } - - public function getDailyTrendProperty(): array - { - return app(McpMetricsService::class)->getDailyTrend($this->days); - } - - public function getTopToolsProperty(): array - { - return app(McpMetricsService::class)->getTopTools($this->days, 10); - } - - public function getServerStatsProperty(): array - { - return app(McpMetricsService::class)->getServerStats($this->days); - } - - public function getRecentCallsProperty(): array - { - return app(McpMetricsService::class)->getRecentCalls(20); - } - - public function getErrorBreakdownProperty(): array - { - return app(McpMetricsService::class)->getErrorBreakdown($this->days); - } - - public function getToolPerformanceProperty(): array - { - return app(McpMetricsService::class)->getToolPerformance($this->days, 10); - } - - public function getHourlyDistributionProperty(): array - { - return app(McpMetricsService::class)->getHourlyDistribution(); - } - - public function getPlanActivityProperty(): array - { - return app(McpMetricsService::class)->getPlanActivity($this->days, 10); - } - - public function render() - { - return view('mcp::web.mcp-metrics'); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/McpPlayground.php b/packages/core-mcp/src/Website/Mcp/View/Modal/McpPlayground.php deleted file mode 100644 index e879e99..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/McpPlayground.php +++ /dev/null @@ -1,358 +0,0 @@ - 'required|string', - 'selectedTool' => 'required|string', - 'inputJson' => 'required|json', - ]; - - public function mount(): void - { - $this->loadServers(); - - if (! empty($this->servers)) { - $this->selectedServer = $this->servers[0]['id']; - $this->loadTools(); - } - } - - public function updatedSelectedServer(): void - { - $this->loadTools(); - $this->selectedTool = ''; - $this->inputJson = '{}'; - $this->lastResult = null; - $this->lastError = null; - } - - public function updatedSelectedTool(): void - { - // Pre-fill example parameters based on tool definition - $this->prefillParameters(); - $this->lastResult = null; - $this->lastError = null; - } - - public function execute(): void - { - $this->validate(); - - // Rate limit: 10 executions per minute per user/IP - $rateLimitKey = 'mcp-playground:'.$this->getRateLimitKey(); - if (RateLimiter::tooManyAttempts($rateLimitKey, 10)) { - $this->lastError = 'Too many requests. Please wait before trying again.'; - - return; - } - RateLimiter::hit($rateLimitKey, 60); - - $this->isExecuting = true; - $this->lastResult = null; - $this->lastError = null; - - try { - $params = json_decode($this->inputJson, true); - if (json_last_error() !== JSON_ERROR_NONE) { - $this->lastError = 'Invalid JSON: '.json_last_error_msg(); - - return; - } - - $startTime = microtime(true); - $result = $this->callTool($this->selectedServer, $this->selectedTool, $params); - $this->executionTime = (int) round((microtime(true) - $startTime) * 1000); - - if (isset($result['error'])) { - $this->lastError = $result['error']; - $this->lastResult = $result; - } else { - $this->lastResult = $result; - } - - } catch (\Exception $e) { - $this->lastError = $e->getMessage(); - } finally { - $this->isExecuting = false; - } - } - - /** - * Get rate limit key based on user or IP. - */ - protected function getRateLimitKey(): string - { - if (auth()->check()) { - return 'user:'.auth()->id(); - } - - return 'ip:'.request()->ip(); - } - - public function formatJson(): void - { - try { - $decoded = json_decode($this->inputJson, true); - if (json_last_error() === JSON_ERROR_NONE) { - $this->inputJson = json_encode($decoded, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - } - } catch (\Exception $e) { - // Ignore formatting errors - } - } - - protected function loadServers(): void - { - $registry = $this->loadRegistry(); - - $this->servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerYaml($ref['id'])) - ->filter() - ->map(fn ($server) => [ - 'id' => $server['id'], - 'name' => $server['name'], - 'tagline' => $server['tagline'] ?? '', - 'tool_count' => count($server['tools'] ?? []), - ]) - ->values() - ->all(); - } - - protected function loadTools(): void - { - if (empty($this->selectedServer)) { - $this->tools = []; - - return; - } - - $server = $this->loadServerYaml($this->selectedServer); - - $this->tools = collect($server['tools'] ?? []) - ->map(fn ($tool) => [ - 'name' => $tool['name'], - 'purpose' => $tool['purpose'] ?? '', - 'parameters' => $tool['parameters'] ?? [], - ]) - ->values() - ->all(); - } - - protected function prefillParameters(): void - { - if (empty($this->selectedTool)) { - $this->inputJson = '{}'; - - return; - } - - $tool = collect($this->tools)->firstWhere('name', $this->selectedTool); - - if (! $tool || empty($tool['parameters'])) { - $this->inputJson = '{}'; - - return; - } - - // Build example params from parameter definitions - $params = []; - foreach ($tool['parameters'] as $paramName => $paramDef) { - if (is_array($paramDef)) { - $type = $paramDef['type'] ?? 'string'; - $default = $paramDef['default'] ?? null; - $required = $paramDef['required'] ?? false; - - if ($default !== null) { - $params[$paramName] = $default; - } elseif ($required) { - // Add placeholder - $params[$paramName] = match ($type) { - 'boolean' => false, - 'integer', 'number' => 0, - 'array' => [], - default => '', - }; - } - } - } - - $this->inputJson = json_encode($params, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - } - - protected function callTool(string $serverId, string $toolName, array $params): array - { - $server = $this->loadServerYaml($serverId); - - if (! $server) { - return ['error' => 'Server not found']; - } - - $connection = $server['connection'] ?? []; - $type = $connection['type'] ?? 'stdio'; - - if ($type !== 'stdio') { - return ['error' => "Connection type '{$type}' not supported in playground"]; - } - - $command = $connection['command'] ?? null; - $args = $connection['args'] ?? []; - $cwd = $this->resolveEnvVars($connection['cwd'] ?? getcwd()); - - if (! $command) { - return ['error' => 'No command configured for this server']; - } - - // Build MCP tool call request - $request = json_encode([ - 'jsonrpc' => '2.0', - 'method' => 'tools/call', - 'params' => [ - 'name' => $toolName, - 'arguments' => $params, - ], - 'id' => 1, - ]); - - try { - $startTime = microtime(true); - - $fullCommand = array_merge([$command], $args); - $process = new Process($fullCommand, $cwd); - $process->setInput($request); - $process->setTimeout(30); - - $process->run(); - - $duration = (int) round((microtime(true) - $startTime) * 1000); - $output = $process->getOutput(); - - // Log the tool call - McpToolCall::log( - serverId: $serverId, - toolName: $toolName, - params: $params, - success: $process->isSuccessful(), - durationMs: $duration, - errorMessage: $process->isSuccessful() ? null : $process->getErrorOutput(), - ); - - if (! $process->isSuccessful()) { - return [ - 'error' => 'Process failed', - 'exit_code' => $process->getExitCode(), - 'stderr' => $process->getErrorOutput(), - ]; - } - - // Parse JSON-RPC response - $lines = explode("\n", trim($output)); - foreach ($lines as $line) { - $response = json_decode($line, true); - if ($response) { - if (isset($response['error'])) { - return [ - 'error' => $response['error']['message'] ?? 'Unknown error', - 'code' => $response['error']['code'] ?? null, - 'data' => $response['error']['data'] ?? null, - ]; - } - if (isset($response['result'])) { - return $response['result']; - } - } - } - - return [ - 'error' => 'No valid response received', - 'raw_output' => $output, - ]; - - } catch (\Exception $e) { - return ['error' => $e->getMessage()]; - } - } - - protected function loadRegistry(): array - { - return Cache::remember('mcp:registry', 0, function () { - $path = resource_path('mcp/registry.yaml'); - if (! file_exists($path)) { - return ['servers' => []]; - } - - return Yaml::parseFile($path); - }); - } - - protected function loadServerYaml(string $id): ?array - { - // Sanitise server ID to prevent path traversal attacks - $id = basename($id, '.yaml'); - - // Validate ID format (alphanumeric with hyphens only) - if (! preg_match('/^[a-z0-9-]+$/', $id)) { - return null; - } - - $path = resource_path("mcp/servers/{$id}.yaml"); - if (! file_exists($path)) { - return null; - } - - return Yaml::parseFile($path); - } - - protected function resolveEnvVars(string $value): string - { - return preg_replace_callback('/\$\{([^}]+)\}/', function ($matches) { - $parts = explode(':-', $matches[1], 2); - $var = $parts[0]; - $default = $parts[1] ?? ''; - - return env($var, $default); - }, $value); - } - - public function render() - { - return view('mcp::web.mcp-playground'); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/Playground.php b/packages/core-mcp/src/Website/Mcp/View/Modal/Playground.php deleted file mode 100644 index cfccdd9..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/Playground.php +++ /dev/null @@ -1,293 +0,0 @@ -loadServers(); - } - - public function loadServers(): void - { - try { - $registry = $this->loadRegistry(); - $this->servers = collect($registry['servers'] ?? []) - ->map(fn ($ref) => $this->loadServerSummary($ref['id'])) - ->filter() - ->values() - ->toArray(); - } catch (\Throwable $e) { - $this->error = 'Failed to load servers'; - $this->servers = []; - } - } - - public function updatedSelectedServer(): void - { - $this->error = null; - $this->selectedTool = ''; - $this->toolSchema = null; - $this->arguments = []; - $this->response = ''; - - if (! $this->selectedServer) { - $this->tools = []; - - return; - } - - try { - $server = $this->loadServerFull($this->selectedServer); - $this->tools = $server['tools'] ?? []; - } catch (\Throwable $e) { - $this->error = 'Failed to load server tools'; - $this->tools = []; - } - } - - public function updatedSelectedTool(): void - { - $this->error = null; - $this->arguments = []; - $this->response = ''; - - if (! $this->selectedTool) { - $this->toolSchema = null; - - return; - } - - try { - $this->toolSchema = collect($this->tools)->firstWhere('name', $this->selectedTool); - - // Pre-fill arguments with defaults - $params = $this->toolSchema['inputSchema']['properties'] ?? []; - foreach ($params as $name => $schema) { - $this->arguments[$name] = $schema['default'] ?? ''; - } - } catch (\Throwable $e) { - $this->error = 'Failed to load tool schema'; - $this->toolSchema = null; - } - } - - public function updatedApiKey(): void - { - // Clear key status when key changes - $this->keyStatus = null; - $this->keyInfo = null; - } - - public function validateKey(): void - { - $this->keyStatus = null; - $this->keyInfo = null; - - if (empty($this->apiKey)) { - $this->keyStatus = 'empty'; - - return; - } - - $key = ApiKey::findByPlainKey($this->apiKey); - - if (! $key) { - $this->keyStatus = 'invalid'; - - return; - } - - if ($key->isExpired()) { - $this->keyStatus = 'expired'; - - return; - } - - $this->keyStatus = 'valid'; - $this->keyInfo = [ - 'name' => $key->name, - 'scopes' => $key->scopes, - 'server_scopes' => $key->getAllowedServers(), - 'workspace' => $key->workspace?->name ?? 'Unknown', - 'last_used' => $key->last_used_at?->diffForHumans() ?? 'Never', - ]; - } - - public function isAuthenticated(): bool - { - return auth()->check(); - } - - public function execute(): void - { - if (! $this->selectedServer || ! $this->selectedTool) { - return; - } - - // Rate limit: 10 executions per minute per user/IP - $rateLimitKey = 'mcp-playground-api:'.$this->getRateLimitKey(); - if (RateLimiter::tooManyAttempts($rateLimitKey, 10)) { - $this->error = 'Too many requests. Please wait before trying again.'; - - return; - } - RateLimiter::hit($rateLimitKey, 60); - - $this->loading = true; - $this->response = ''; - $this->error = null; - - try { - // Filter out empty arguments - $args = array_filter($this->arguments, fn ($v) => $v !== '' && $v !== null); - - // Convert numeric strings to numbers where appropriate - foreach ($args as $key => $value) { - if (is_numeric($value)) { - $args[$key] = str_contains($value, '.') ? (float) $value : (int) $value; - } - if ($value === 'true') { - $args[$key] = true; - } - if ($value === 'false') { - $args[$key] = false; - } - } - - $payload = [ - 'server' => $this->selectedServer, - 'tool' => $this->selectedTool, - 'arguments' => $args, - ]; - - // If we have an API key, make a real request - if (! empty($this->apiKey) && $this->keyStatus === 'valid') { - $response = Http::withToken($this->apiKey) - ->timeout(30) - ->post(config('app.url').'/api/v1/mcp/tools/call', $payload); - - $this->response = json_encode([ - 'status' => $response->status(), - 'response' => $response->json(), - ], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - - return; - } - - // Otherwise, just show request format - $this->response = json_encode([ - 'request' => $payload, - 'note' => 'Add an API key above to execute this request live.', - 'curl' => sprintf( - "curl -X POST %s/api/v1/mcp/tools/call \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '%s'", - config('app.url'), - json_encode($payload, JSON_UNESCAPED_SLASHES) - ), - ], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - } catch (\Throwable $e) { - $this->response = json_encode([ - 'error' => $e->getMessage(), - ], JSON_PRETTY_PRINT); - } finally { - $this->loading = false; - } - } - - public function render() - { - $isAuthenticated = $this->isAuthenticated(); - $workspace = $isAuthenticated ? auth()->user()?->defaultHostWorkspace() : null; - - return view('mcp::web.playground', [ - 'isAuthenticated' => $isAuthenticated, - 'workspace' => $workspace, - ]); - } - - protected function loadRegistry(): array - { - $path = resource_path('mcp/registry.yaml'); - - return file_exists($path) ? Yaml::parseFile($path) : ['servers' => []]; - } - - protected function loadServerFull(string $id): ?array - { - // Sanitise server ID to prevent path traversal attacks - $id = basename($id, '.yaml'); - - // Validate ID format (alphanumeric with hyphens only) - if (! preg_match('/^[a-z0-9-]+$/', $id)) { - return null; - } - - $path = resource_path("mcp/servers/{$id}.yaml"); - - return file_exists($path) ? Yaml::parseFile($path) : null; - } - - /** - * Get rate limit key based on user or IP. - */ - protected function getRateLimitKey(): string - { - if (auth()->check()) { - return 'user:'.auth()->id(); - } - - return 'ip:'.request()->ip(); - } - - protected function loadServerSummary(string $id): ?array - { - $server = $this->loadServerFull($id); - if (! $server) { - return null; - } - - return [ - 'id' => $server['id'], - 'name' => $server['name'], - 'tagline' => $server['tagline'] ?? '', - ]; - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/RequestLog.php b/packages/core-mcp/src/Website/Mcp/View/Modal/RequestLog.php deleted file mode 100644 index 0e81606..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/RequestLog.php +++ /dev/null @@ -1,100 +0,0 @@ -resetPage(); - } - - public function updatedStatusFilter(): void - { - $this->resetPage(); - } - - public function selectRequest(int $id): void - { - $workspace = auth()->user()?->defaultHostWorkspace(); - - // Only allow selecting requests that belong to the user's workspace - $request = McpApiRequest::query() - ->when($workspace, fn ($q) => $q->forWorkspace($workspace->id)) - ->find($id); - - if (! $request) { - $this->selectedRequestId = null; - $this->selectedRequest = null; - - return; - } - - $this->selectedRequestId = $id; - $this->selectedRequest = $request; - } - - public function closeDetail(): void - { - $this->selectedRequestId = null; - $this->selectedRequest = null; - } - - public function render() - { - $workspace = auth()->user()?->defaultHostWorkspace(); - - $query = McpApiRequest::query() - ->orderByDesc('created_at'); - - if ($workspace) { - $query->forWorkspace($workspace->id); - } - - if ($this->serverFilter) { - $query->forServer($this->serverFilter); - } - - if ($this->statusFilter === 'success') { - $query->successful(); - } elseif ($this->statusFilter === 'failed') { - $query->failed(); - } - - $requests = $query->paginate(20); - - // Get unique servers for filter dropdown - $servers = McpApiRequest::query() - ->when($workspace, fn ($q) => $q->forWorkspace($workspace->id)) - ->distinct() - ->pluck('server_id') - ->filter() - ->values(); - - return view('mcp::web.request-log', [ - 'requests' => $requests, - 'servers' => $servers, - ]); - } -} diff --git a/packages/core-mcp/src/Website/Mcp/View/Modal/UnifiedSearch.php b/packages/core-mcp/src/Website/Mcp/View/Modal/UnifiedSearch.php deleted file mode 100644 index 03bf000..0000000 --- a/packages/core-mcp/src/Website/Mcp/View/Modal/UnifiedSearch.php +++ /dev/null @@ -1,82 +0,0 @@ -searchService = $searchService; - } - - public function updatedQuery(): void - { - // Debounce handled by wire:model.debounce - } - - public function toggleType(string $type): void - { - if (in_array($type, $this->selectedTypes)) { - $this->selectedTypes = array_values(array_diff($this->selectedTypes, [$type])); - } else { - $this->selectedTypes[] = $type; - } - } - - public function clearFilters(): void - { - $this->selectedTypes = []; - } - - public function getResultsProperty(): Collection - { - if (strlen($this->query) < 2) { - return collect(); - } - - return $this->searchService->search($this->query, $this->selectedTypes, $this->limit); - } - - public function getTypesProperty(): array - { - return UnifiedSearchService::getTypes(); - } - - public function getResultCountsByTypeProperty(): array - { - if (strlen($this->query) < 2) { - return []; - } - - $allResults = $this->searchService->search($this->query, [], 200); - - return $allResults->groupBy('type')->map->count()->toArray(); - } - - public function render() - { - return view('mcp::web.unified-search'); - } -} diff --git a/packages/core-mcp/tests/Feature/SqlQueryValidatorTest.php b/packages/core-mcp/tests/Feature/SqlQueryValidatorTest.php deleted file mode 100644 index 08d41f4..0000000 --- a/packages/core-mcp/tests/Feature/SqlQueryValidatorTest.php +++ /dev/null @@ -1,453 +0,0 @@ -validator = new SqlQueryValidator; - } - - // ========================================================================= - // Valid Queries - Should Pass - // ========================================================================= - - #[Test] - public function it_allows_simple_select_queries(): void - { - $query = 'SELECT * FROM posts'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_allows_select_with_where_clause(): void - { - $query = 'SELECT id, title FROM posts WHERE status = 1'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_allows_select_with_order_by(): void - { - $query = 'SELECT * FROM posts ORDER BY created_at DESC'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_allows_select_with_limit(): void - { - $query = 'SELECT * FROM posts LIMIT 10'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_allows_count_queries(): void - { - $query = 'SELECT COUNT(*) FROM posts'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_allows_queries_with_backtick_escaped_identifiers(): void - { - $query = 'SELECT `id`, `title` FROM `posts`'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_allows_queries_ending_with_semicolon(): void - { - $query = 'SELECT * FROM posts;'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - // ========================================================================= - // Blocked Keywords - Data Modification - // ========================================================================= - - #[Test] - #[DataProvider('blockedKeywordProvider')] - public function it_blocks_dangerous_keywords(string $query, string $keyword): void - { - $this->expectException(ForbiddenQueryException::class); - $this->expectExceptionMessageMatches('/Disallowed SQL keyword/i'); - - $this->validator->validate($query); - } - - public static function blockedKeywordProvider(): array - { - return [ - 'INSERT' => ['INSERT INTO posts (title) VALUES ("test")', 'INSERT'], - 'UPDATE' => ['UPDATE posts SET title = "hacked"', 'UPDATE'], - 'DELETE' => ['DELETE FROM posts WHERE id = 1', 'DELETE'], - 'DROP TABLE' => ['DROP TABLE posts', 'DROP'], - 'TRUNCATE' => ['TRUNCATE TABLE posts', 'TRUNCATE'], - 'ALTER' => ['ALTER TABLE posts ADD COLUMN hacked INT', 'ALTER'], - 'CREATE' => ['CREATE TABLE hacked (id INT)', 'CREATE'], - 'GRANT' => ['GRANT ALL ON *.* TO hacker', 'GRANT'], - 'REVOKE' => ['REVOKE ALL ON posts FROM user', 'REVOKE'], - ]; - } - - // ========================================================================= - // UNION Injection Attempts - // ========================================================================= - - #[Test] - public function it_blocks_union_based_injection(): void - { - $query = 'SELECT * FROM posts UNION SELECT * FROM users'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_union_all_injection(): void - { - $query = 'SELECT * FROM posts UNION ALL SELECT * FROM users'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_union_with_comments(): void - { - $query = 'SELECT * FROM posts /**/UNION/**/SELECT * FROM users'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_union_with_newlines(): void - { - $query = "SELECT * FROM posts\nUNION\nSELECT * FROM users"; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - // ========================================================================= - // Stacked Query Attempts - // ========================================================================= - - #[Test] - public function it_blocks_stacked_queries(): void - { - $query = 'SELECT * FROM posts; DROP TABLE users;'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_stacked_queries_with_spaces(): void - { - $query = 'SELECT * FROM posts ; DELETE FROM users'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_comment_hidden_stacked_queries(): void - { - $query = 'SELECT * FROM posts; -- DROP TABLE users'; - - // After comment stripping, this becomes "SELECT * FROM posts; " with trailing space - // which should be fine, but let's test the stacked query detection - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate('SELECT * FROM posts; SELECT * FROM users'); - } - - // ========================================================================= - // Comment-Based Bypass Attempts - // ========================================================================= - - #[Test] - public function it_strips_inline_comments(): void - { - // Comments should be stripped, leaving a valid query - $query = 'SELECT * FROM posts -- WHERE admin = 1'; - - // This is valid because after stripping comments it becomes "SELECT * FROM posts" - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_strips_block_comments(): void - { - $query = 'SELECT * FROM posts /* comment */ WHERE id = 1'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_blocks_mysql_executable_comments_with_union(): void - { - // MySQL executable comments containing UNION should be blocked - // even though they look like comments, they execute in MySQL - $query = 'SELECT * FROM posts /*!50000 UNION SELECT * FROM users */'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_strips_safe_mysql_executable_comments(): void - { - // Safe MySQL executable comments (without dangerous keywords) should be stripped - $query = 'SELECT * FROM posts /*!50000 WHERE id = 1 */'; - - // This is blocked because the pattern catches /*! comments followed by WHERE - // Actually this specific pattern should be OK, let's test a simpler case - $query = 'SELECT /*!50000 STRAIGHT_JOIN */ * FROM posts'; - - // Note: this will likely fail whitelist, let's disable it for this test - $validator = new SqlQueryValidator(null, false); - $validator->validate($query); - $this->assertTrue($validator->isValid($query)); - } - - // ========================================================================= - // Time-Based Attack Prevention - // ========================================================================= - - #[Test] - public function it_blocks_sleep_function(): void - { - $query = 'SELECT * FROM posts WHERE 1=1 AND SLEEP(5)'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_benchmark_function(): void - { - $query = "SELECT * FROM posts WHERE BENCHMARK(10000000,SHA1('test'))"; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - // ========================================================================= - // System Table Access - // ========================================================================= - - #[Test] - public function it_blocks_information_schema_access(): void - { - $query = 'SELECT * FROM INFORMATION_SCHEMA.TABLES'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_mysql_system_table_access(): void - { - $query = 'SELECT * FROM mysql.user'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - // ========================================================================= - // Hex/Encoding Bypass Attempts - // ========================================================================= - - #[Test] - public function it_blocks_hex_encoded_values(): void - { - $query = 'SELECT * FROM posts WHERE id = 0x1'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - #[Test] - public function it_blocks_char_function(): void - { - $query = 'SELECT * FROM posts WHERE title = CHAR(65,66,67)'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - // ========================================================================= - // Structure Validation - // ========================================================================= - - #[Test] - public function it_requires_select_at_start(): void - { - $query = 'SHOW TABLES'; - - $this->expectException(ForbiddenQueryException::class); - $this->expectExceptionMessageMatches('/must begin with SELECT/i'); - $this->validator->validate($query); - } - - #[Test] - public function it_rejects_queries_not_starting_with_select(): void - { - $query = ' INSERT INTO posts VALUES (1)'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - // ========================================================================= - // Whitelist Functionality - // ========================================================================= - - #[Test] - public function it_can_disable_whitelist(): void - { - $validator = new SqlQueryValidator([], false); - - // Complex query that wouldn't match default whitelist but has no dangerous patterns - // Actually, let's use a query that is blocked by pattern matching - $query = 'SELECT * FROM posts'; - - $validator->validate($query); - $this->assertTrue($validator->isValid($query)); - } - - #[Test] - public function it_can_add_custom_whitelist_patterns(): void - { - $validator = new SqlQueryValidator([], true); - - // Add a custom pattern that allows a specific query structure - $validator->addWhitelistPattern('/^\s*SELECT\s+\*\s+FROM\s+custom_table\s*$/i'); - - $query = 'SELECT * FROM custom_table'; - $validator->validate($query); - $this->assertTrue($validator->isValid($query)); - } - - #[Test] - public function it_rejects_queries_not_matching_whitelist(): void - { - $validator = new SqlQueryValidator([], true); - - // Empty whitelist means nothing is allowed - $query = 'SELECT * FROM posts'; - - $this->expectException(ForbiddenQueryException::class); - $this->expectExceptionMessageMatches('/does not match any allowed pattern/i'); - $validator->validate($query); - } - - // ========================================================================= - // Subquery Detection - // ========================================================================= - - #[Test] - public function it_blocks_subqueries_in_where_clause(): void - { - $query = 'SELECT * FROM posts WHERE id IN (SELECT user_id FROM users WHERE admin = 1)'; - - $this->expectException(ForbiddenQueryException::class); - $this->validator->validate($query); - } - - // ========================================================================= - // Edge Cases - // ========================================================================= - - #[Test] - public function it_handles_multiline_queries(): void - { - $query = 'SELECT - id, - title - FROM - posts - WHERE - status = 1'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_handles_extra_whitespace(): void - { - $query = ' SELECT * FROM posts '; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - #[Test] - public function it_is_case_insensitive_for_keywords(): void - { - $query = 'select * from posts where ID = 1'; - - $this->validator->validate($query); - $this->assertTrue($this->validator->isValid($query)); - } - - // ========================================================================= - // Exception Details - // ========================================================================= - - #[Test] - public function exception_contains_query_and_reason(): void - { - try { - $this->validator->validate('DELETE FROM posts'); - $this->fail('Expected ForbiddenQueryException'); - } catch (ForbiddenQueryException $e) { - $this->assertEquals('DELETE FROM posts', $e->query); - $this->assertNotEmpty($e->reason); - } - } - - #[Test] - public function exception_factory_methods_work(): void - { - $e1 = ForbiddenQueryException::disallowedKeyword('SELECT', 'DELETE'); - $this->assertStringContainsString('DELETE', $e1->getMessage()); - - $e2 = ForbiddenQueryException::notWhitelisted('SELECT * FROM foo'); - $this->assertStringContainsString('allowed pattern', $e2->getMessage()); - - $e3 = ForbiddenQueryException::invalidStructure('query', 'bad structure'); - $this->assertStringContainsString('bad structure', $e3->getMessage()); - } -} diff --git a/packages/core-php/README.md b/packages/core-php/README.md deleted file mode 100644 index bac6073..0000000 --- a/packages/core-php/README.md +++ /dev/null @@ -1,161 +0,0 @@ -# Core PHP Framework - -The core framework package providing event-driven architecture, module system, and foundational features for building modular Laravel applications. - -## Installation - -```bash -composer require host-uk/core -``` - -## Key Features - -### Event-Driven Module System -Modules declare lifecycle events they're interested in and are only loaded when needed: - -```php -class Boot -{ - public static array $listens = [ - WebRoutesRegistering::class => 'onWebRoutes', - AdminPanelBooting::class => 'onAdmin', - ]; -} -``` - -### Multi-Tenant Data Isolation -Automatic workspace scoping for Eloquent models: - -```php -use Core\Mod\Tenant\Concerns\BelongsToWorkspace; - -class Product extends Model -{ - use BelongsToWorkspace; -} - -// Automatically scoped to current workspace -$products = Product::all(); -``` - -### Actions Pattern -Single-purpose business logic classes with dependency injection: - -```php -use Core\Actions\Action; - -class CreateOrder -{ - use Action; - - public function handle(User $user, array $data): Order - { - return Order::create($data); - } -} - -$order = CreateOrder::run($user, $validated); -``` - -### Activity Logging -Built-in audit trails for model changes: - -```php -use Core\Activity\Concerns\LogsActivity; - -class Order extends Model -{ - use LogsActivity; - - protected array $activityLogAttributes = ['status', 'total']; -} -``` - -### Seeder Auto-Discovery -Automatic seeder ordering via attributes: - -```php -#[SeederPriority(10)] -#[SeederAfter(FeatureSeeder::class)] -class PackageSeeder extends Seeder -{ - public function run(): void - { - // ... - } -} -``` - -### HLCRF Layout System -Data-driven composable layouts: - -```php -use Core\Front\Components\Layout; - -$page = Layout::make('HCF') - ->h('') - ->c('
Content
') - ->f('
Footer
'); -``` - -## Lifecycle Events - -| Event | Purpose | -|-------|---------| -| `WebRoutesRegistering` | Public web routes | -| `AdminPanelBooting` | Admin panel routes | -| `ApiRoutesRegistering` | REST API endpoints | -| `ClientRoutesRegistering` | Authenticated client routes | -| `ConsoleBooting` | Artisan commands | -| `McpToolsRegistering` | MCP tool handlers | -| `FrameworkBooted` | Late-stage initialization | - -## Configuration - -Publish the configuration: - -```bash -php artisan vendor:publish --tag=core-config -``` - -Configure in `config/core.php`: - -```php -return [ - 'module_paths' => [ - app_path('Core'), - app_path('Mod'), - ], - 'workspace_cache' => [ - 'enabled' => true, - 'ttl' => 3600, - ], -]; -``` - -## Artisan Commands - -```bash -php artisan make:mod Commerce # Create module -php artisan make:website Marketing # Create website -php artisan make:plug Stripe # Create plugin -``` - -## Requirements - -- PHP 8.2+ -- Laravel 11+ or 12+ - -## Documentation - -- [Main Documentation](../../README.md) -- [Patterns Guide](../../docs/patterns.md) -- [HLCRF Layout System](src/Core/Front/HLCRF.md) - -## Changelog - -See [changelog/2026/jan/features.md](changelog/2026/jan/features.md) for recent changes. - -## License - -EUPL-1.2 - See [LICENSE](../../LICENSE) for details. diff --git a/packages/core-php/TODO.md b/packages/core-php/TODO.md deleted file mode 100644 index 5c08615..0000000 --- a/packages/core-php/TODO.md +++ /dev/null @@ -1,336 +0,0 @@ -# Core-PHP TODO - -## Testing & Quality Assurance - -### High Priority - -- [ ] **Test Coverage: CDN Services** - Achieve 80%+ coverage for CDN integration - - [ ] Test BunnyCdnService upload/purge operations - - [ ] Test FluxCdnService URL generation and purging - - [ ] Test StorageOffload for S3/BunnyCDN switching - - [ ] Test AssetPipeline with versioning and minification - - [ ] Test CdnUrlBuilder with signed URLs - - **Estimated effort:** 4-6 hours - -- [ ] **Test Coverage: Activity Logging** - Add comprehensive activity tests - - [ ] Test LogsActivity trait with all CRUD operations - - [ ] Test IP hashing for GDPR compliance - - [ ] Test activity pruning command - - [ ] Test workspace scoping in activity logs - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Media Processing** - Test image optimization pipeline - - [ ] Test ImageOptimizer with various formats (JPG, PNG, WebP, AVIF) - - [ ] Test ImageResizer with responsive sizes - - [ ] Test ExifStripper for privacy - - [ ] Test lazy thumbnail generation - - [ ] Test MediaConversion queuing and progress tracking - - **Estimated effort:** 5-7 hours - -- [ ] **Test Coverage: Search System** - Test unified search - - [ ] Test SearchAnalytics recording and queries - - [ ] Test SearchSuggestions with partial queries - - [ ] Test SearchHighlighter with various patterns - - [ ] Test cross-model unified search - - **Estimated effort:** 4-5 hours - -### Medium Priority - -- [ ] **Test Coverage: SEO Tools** - Test SEO metadata and generation - - [ ] Test SeoMetadata rendering (title, description, OG, Twitter) - - [ ] Test dynamic OG image generation job - - [ ] Test sitemap generation and indexing - - [ ] Test structured data (JSON-LD) generation - - [ ] Test canonical URL validation - - **Estimated effort:** 4-5 hours - -- [ ] **Test Coverage: Configuration System** - Test config profiles and versioning - - [ ] Test ConfigService with profiles - - [ ] Test ConfigVersioning and rollback - - [ ] Test ConfigExporter import/export - - [ ] Test sensitive config encryption - - [ ] Test config cache invalidation - - **Estimated effort:** 3-4 hours - -- [ ] **Test Coverage: Security Headers** - Test header middleware - - [ ] Test CSP header generation with nonces - - [ ] Test HSTS enforcement - - [ ] Test X-Frame-Options and security headers - - [ ] Test CspNonceService in views - - **Estimated effort:** 2-3 hours - -- [ ] **Test Coverage: Email Shield** - Test email validation - - [ ] Test disposable domain detection - - [ ] Test role-based email detection - - [ ] Test DNS MX record validation - - [ ] Test blocklist/allowlist functionality - - **Estimated effort:** 2-3 hours - -### Low Priority - -- [ ] **Test Coverage: Lang/Translation** - Test translation memory - - [ ] Test TranslationMemory fuzzy matching - - [ ] Test TMX import/export - - [ ] Test ICU message formatting - - [ ] Test translation coverage reporting - - **Estimated effort:** 3-4 hours - -- [ ] **Performance: Config Caching** - Optimize config queries - - [ ] Profile ConfigService query performance - - [ ] Implement query result caching beyond remember() - - [ ] Add Redis cache driver support - - **Estimated effort:** 2-3 hours - -## Features & Enhancements - -### High Priority - -- [ ] **EPIC: Core DOM Component System** - Extend `` helpers for HLCRF layouts - - [ ] **Phase 1: Architecture & Planning** (2-3 hours) - - [ ] Create `src/Core/Front/Dom/` namespace structure - - [ ] Design Blade component API (slot-based vs named components) - - [ ] Document component naming conventions - - [ ] Plan backwards compatibility with existing HLCRF Layout class - - - [ ] **Phase 2: Core DOM Components** (4-6 hours) - - [ ] Create `` component → maps to HLCRF H slot - - [ ] Create `` component → maps to HLCRF L slot - - [ ] Create `` component → maps to HLCRF C slot - - [ ] Create `` component → maps to HLCRF R slot - - [ ] Create `` component → maps to HLCRF F slot - - [ ] Create `` generic slot component - - [ ] Add automatic path tracking (H-0, L-C-2, etc.) - - [ ] Support nested layouts with path inheritance - - - [ ] **Phase 3: Layout Container Components** (3-4 hours) - - [ ] Create `` wrapper component - - [ ] Create `` component (alias for HCF layout) - - [ ] Create `` component (alias for HLCRF layout) - - [ ] Create `` component (alias for C-only layout) - - [ ] Support inline nesting syntax: `` - - - [ ] **Phase 4: Semantic HTML Components** (2-3 hours) - - [ ] Create `` with automatic semantic tags - - [ ] Create `` for sidebars - - [ ] Create `` for content blocks - - [ ] Create `` for navigation areas - - [ ] Add ARIA landmark support automatically - - - [ ] **Phase 5: Component Composition** (3-4 hours) - - [ ] Support `` for data-block attributes - - [ ] Add `` for custom named slots - - [ ] Create `` for layout grids - - [ ] Create `` - - [ ] Support responsive breakpoints in components - - - [ ] **Phase 6: Integration & Testing** (4-5 hours) - - [ ] Register all components in CoreTagCompiler - - [ ] Test component nesting and path generation - - [ ] Test with Livewire components inside slots - - [ ] Test responsive layout switching - - [ ] Create comprehensive test suite (80%+ coverage) - - [ ] Add Pest snapshots for HTML output - - - [ ] **Phase 7: Documentation & Examples** (3-4 hours) - - [ ] Create `docs/packages/core/dom-components.md` - - [ ] Document all component props and slots - - [ ] Add migration guide from PHP Layout class to Blade components - - [ ] Create example layouts (blog, dashboard, landing page) - - [ ] Add Storybook-style component gallery - - - [ ] **Phase 8: Developer Experience** (2-3 hours) - - [ ] Add IDE autocomplete hints for component props - - [ ] Create `php artisan make:layout` command - - [ ] Add validation for invalid slot combinations - - [ ] Create debug mode with visual slot boundaries - - [ ] Add performance profiling for nested layouts - - **Total Estimated Effort:** 23-32 hours - **Priority:** High - Core framework feature - **Impact:** Dramatically improves DX for building HLCRF layouts - **Dependencies:** Existing CoreTagCompiler, Layout class - - **Example Usage:** - ```blade - - - - - - - -

Sidebar Widget

-

Content

-
-
- - - -

Main Content

-

Article text...

-
-
- - - @livewire('recent-activity') - - - -

© 2026

-
-
- ``` - - **Alternative Slot-Based Syntax:** - ```blade - - - - - - -
Content
-
- - -
Footer
-
-
- ``` - -- [ ] **Feature: Seeder Dependency Resolution** - Complete seeder system - - [ ] Implement SeederRegistry with dependency graph - - [ ] Add circular dependency detection - - [ ] Support #[SeederPriority], #[SeederBefore], #[SeederAfter] - - [ ] Test with complex dependency chains - - **Estimated effort:** 4-6 hours - - **Files:** `src/Core/Database/Seeders/` - -- [ ] **Feature: Service Discovery** - Complete service registration system - - [ ] Implement ServiceDiscovery class - - [ ] Add service dependency validation - - [ ] Support version compatibility checking - - [ ] Test service resolution with dependencies - - **Estimated effort:** 3-4 hours - - **Files:** `src/Core/Service/` - -- [ ] **Feature: Tiered Cache** - Complete tiered caching implementation - - [ ] Implement TieredCacheStore with memory → Redis → file - - [ ] Add CacheWarmer for pre-population - - [ ] Add StorageMetrics for monitoring - - [ ] Test cache tier fallback behavior - - **Estimated effort:** 5-6 hours - - **Files:** `src/Core/Storage/` - -### Medium Priority - -- [ ] **Feature: Action Gate Enforcement** - Complete action gate system - - [ ] Add ActionGateMiddleware enforcement mode - - [ ] Implement training mode for learning patterns - - [ ] Add audit logging for all requests - - [ ] Test with dangerous actions - - **Estimated effort:** 4-5 hours - - **Files:** `src/Core/Bouncer/Gate/` - -- [ ] **Enhancement: Media Progress Tracking** - Real-time conversion progress - - [ ] Fire ConversionProgress events - - [ ] Add WebSocket broadcasting support - - [ ] Create Livewire progress component - - [ ] Test with large video files - - **Estimated effort:** 3-4 hours - - **Files:** `src/Core/Media/` - -- [ ] **Enhancement: SEO Score Tracking** - Complete SEO analytics - - [ ] Implement SeoScoreTrend recording - - [ ] Add SEO score calculation logic - - [ ] Create admin dashboard for SEO metrics - - [ ] Add automated SEO audit command - - **Estimated effort:** 4-5 hours - - **Files:** `src/Core/Seo/Analytics/` - -### Low Priority - -- [ ] **Enhancement: Search Analytics Dashboard** - Visual search insights - - [ ] Create Livewire component for search analytics - - [ ] Add charts for popular searches and CTR - - [ ] Show zero-result searches for improvement - - [ ] Export search analytics to CSV - - **Estimated effort:** 3-4 hours - -- [ ] **Enhancement: Email Shield Stats** - Email validation metrics - - [ ] Track disposable email blocks - - [ ] Track validation failures by reason - - [ ] Add admin dashboard for email stats - - [ ] Implement automatic pruning - - **Estimated effort:** 2-3 hours - -## Documentation - -- [x] **API Docs: Service Contracts** - Document service pattern - - [x] Add examples for ServiceDefinition - - [x] Document service versioning - - [x] Add dependency resolution examples - - **Completed:** January 2026 - - **File:** `docs/packages/core/service-contracts.md` - -- [x] **API Docs: Seeder System** - Document seeder attributes - - [x] Document dependency resolution - - [x] Add complex ordering examples - - [x] Document circular dependency errors - - **Completed:** January 2026 - - **File:** `docs/packages/core/seeder-system.md` - -## Code Quality - -- [ ] **Refactor: Extract BlocklistService Tests** - Separate test concerns - - [ ] Create BlocklistServiceTest.php - - [ ] Move tests from inline to dedicated file - - [ ] Add edge case coverage - - **Estimated effort:** 1-2 hours - -- [ ] **Refactor: Consolidate Privacy Helpers** - Single source of truth - - [ ] Move IP hashing to dedicated service - - [ ] Consolidate anonymization logic - - [ ] Add comprehensive tests - - **Estimated effort:** 2-3 hours - -- [ ] **PHPStan: Fix Level 5 Errors** - Improve type safety - - [ ] Fix union type issues in config system - - [ ] Add missing return types - - [ ] Fix property type declarations - - **Estimated effort:** 3-4 hours - -## Infrastructure - -- [x] **GitHub Template Repository** - Created host-uk/core-template - - [x] Set up base Laravel 12 app - - [x] Configure composer.json with Core packages - - [x] Update bootstrap/app.php to register providers - - [x] Create config/core.php - - [x] Update .env.example with Core variables - - [x] Write comprehensive README.md - - [x] Test `php artisan core:new` command - - **Completed:** January 2026 - - **Command:** `php artisan core:new my-project` - -- [ ] **CI/CD: Add PHP 8.3 Testing** - Future compatibility - - [ ] Test on PHP 8.3 - - [ ] Fix any deprecations - - [ ] Update composer.json PHP constraint - - **Estimated effort:** 1-2 hours - -- [ ] **CI/CD: Add Performance Benchmarks** - Track performance - - [ ] Benchmark critical paths (config load, search, etc.) - - [ ] Set performance budgets - - [ ] Fail CI on regressions - - **Estimated effort:** 3-4 hours - ---- - -## Completed (January 2026) - -- [x] **CDN integration tests** - Comprehensive test suite added -- [x] **Security: IP Hashing** - GDPR-compliant IP hashing in referral tracking -- [x] **Documentation** - Complete package documentation created - -*See `changelog/2026/jan/` for completed features.* diff --git a/packages/core-php/composer.json b/packages/core-php/composer.json deleted file mode 100644 index 8bb8d24..0000000 --- a/packages/core-php/composer.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "host-uk/core", - "description": "Modular monolith framework for Laravel - event-driven architecture with lazy module loading", - "keywords": ["laravel", "modular", "monolith", "framework", "events", "modules"], - "license": "EUPL-1.2", - "authors": [ - { - "name": "Host UK", - "email": "support@host.uk.com" - } - ], - "require": { - "php": "^8.2", - "laravel/framework": "^11.0|^12.0", - "laravel/pennant": "^1.0", - "livewire/livewire": "^3.0|^4.0" - }, - "suggest": { - "spatie/laravel-activitylog": "Required for activity logging features (^4.0)" - }, - "autoload": { - "psr-4": { - "Core\\": "src/Core/", - "Core\\Website\\": "src/Website/", - "Core\\Mod\\": "src/Mod/", - "Core\\Plug\\": "src/Plug/" - }, - "files": [ - "src/Core/Media/Thumbnail/helpers.php" - ] - }, - "autoload-dev": { - "psr-4": { - "Core\\Tests\\": "tests/", - "Mod\\": "tests/Fixtures/Mod/", - "Plug\\": "tests/Fixtures/Plug/", - "Website\\": "tests/Fixtures/Website/" - } - }, - "extra": { - "laravel": { - "providers": [ - "Core\\LifecycleEventProvider", - "Core\\Lang\\LangServiceProvider", - "Core\\Bouncer\\Gate\\Boot" - ] - } - }, - "minimum-stability": "stable", - "prefer-stable": true -} diff --git a/packages/core-php/config/core.php b/packages/core-php/config/core.php deleted file mode 100644 index bf5f195..0000000 --- a/packages/core-php/config/core.php +++ /dev/null @@ -1,455 +0,0 @@ - [ - 'name' => env('APP_NAME', 'Core PHP'), - 'description' => env('APP_DESCRIPTION', 'A modular monolith framework'), - 'tagline' => env('APP_TAGLINE', 'Build powerful applications with a clean, modular architecture.'), - 'cta_text' => env('APP_CTA_TEXT', 'Join developers building with our framework.'), - 'icon' => env('APP_ICON', 'cube'), - 'color' => env('APP_COLOR', 'violet'), - 'logo' => env('APP_LOGO'), // Path relative to public/, e.g. 'images/logo.svg' - 'privacy_url' => env('APP_PRIVACY_URL'), - 'terms_url' => env('APP_TERMS_URL'), - 'powered_by' => env('APP_POWERED_BY'), - 'powered_by_url' => env('APP_POWERED_BY_URL'), - ], - - /* - |-------------------------------------------------------------------------- - | Module Paths - |-------------------------------------------------------------------------- - | - | Directories to scan for module Boot.php files with $listens declarations. - | Each path should be an absolute path to a directory containing modules. - | - | Example: - | 'module_paths' => [ - | app_path('Core'), - | app_path('Mod'), - | ], - | - */ - - 'module_paths' => [ - // app_path('Core'), - // app_path('Mod'), - ], - - /* - |-------------------------------------------------------------------------- - | FontAwesome Configuration - |-------------------------------------------------------------------------- - | - | Configure FontAwesome Pro detection and fallback behaviour. - | - */ - - 'fontawesome' => [ - // Set to true if you have a FontAwesome Pro licence - 'pro' => env('FONTAWESOME_PRO', false), - - // Your FontAwesome Kit ID (optional) - 'kit' => env('FONTAWESOME_KIT'), - ], - - /* - |-------------------------------------------------------------------------- - | Pro Fallback Behaviour - |-------------------------------------------------------------------------- - | - | How to handle Pro-only components when Pro packages aren't installed. - | - | Options: - | - 'error': Throw exception in dev, silent in production - | - 'fallback': Use free alternatives where possible - | - 'silent': Render nothing for Pro-only components - | - */ - - 'pro_fallback' => env('CORE_PRO_FALLBACK', 'error'), - - /* - |-------------------------------------------------------------------------- - | Icon Defaults - |-------------------------------------------------------------------------- - | - | Default icon style when not specified. Only applies when not using - | auto-detection (brand/jelly lists). - | - */ - - 'icon' => [ - 'default_style' => 'solid', - ], - - /* - |-------------------------------------------------------------------------- - | Search Configuration - |-------------------------------------------------------------------------- - | - | Configure the unified search feature including searchable API endpoints. - | Add your application's API endpoints here to include them in search results. - | - */ - - 'search' => [ - 'api_endpoints' => [ - // Example endpoints - override in your application's config - // ['method' => 'GET', 'path' => '/api/v1/users', 'description' => 'List users'], - // ['method' => 'POST', 'path' => '/api/v1/users', 'description' => 'Create user'], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Email Shield Configuration - |-------------------------------------------------------------------------- - | - | Configure the Email Shield validation and statistics module. - | Statistics track daily email validation counts for monitoring and - | analysis. Old records are automatically pruned based on retention period. - | - | Schedule the prune command in your app/Console/Kernel.php: - | $schedule->command('email-shield:prune')->daily(); - | - */ - - 'email_shield' => [ - // Number of days to retain email shield statistics records. - // Records older than this will be deleted by the prune command. - // Set to 0 to disable automatic pruning. - 'retention_days' => env('CORE_EMAIL_SHIELD_RETENTION_DAYS', 90), - ], - - /* - |-------------------------------------------------------------------------- - | Admin Menu Configuration - |-------------------------------------------------------------------------- - | - | Configure the admin menu caching behaviour. Menu items are cached per - | user/workspace combination to improve performance on repeated requests. - | - */ - - 'admin_menu' => [ - // Whether to enable caching for static menu items. - // Set to false during development for instant menu updates. - 'cache_enabled' => env('CORE_ADMIN_MENU_CACHE', true), - - // Cache TTL in seconds (default: 5 minutes). - // Lower values mean more frequent cache misses but fresher menus. - 'cache_ttl' => env('CORE_ADMIN_MENU_CACHE_TTL', 300), - ], - - /* - |-------------------------------------------------------------------------- - | Storage Resilience Configuration - |-------------------------------------------------------------------------- - | - | Configure how the application handles Redis failures. When Redis becomes - | unavailable, the system can either silently fall back to database storage - | or throw an exception. - | - */ - - 'storage' => [ - // Whether to silently fall back to database when Redis fails. - // Set to false to throw exceptions on Redis failure. - 'silent_fallback' => env('CORE_STORAGE_SILENT_FALLBACK', true), - - // Log level for fallback events: 'debug', 'info', 'notice', 'warning', 'error', 'critical' - 'fallback_log_level' => env('CORE_STORAGE_FALLBACK_LOG_LEVEL', 'warning'), - - // Whether to dispatch RedisFallbackActivated events for monitoring/alerting - 'dispatch_fallback_events' => env('CORE_STORAGE_DISPATCH_EVENTS', true), - - /* - |---------------------------------------------------------------------- - | Circuit Breaker Configuration - |---------------------------------------------------------------------- - | - | The circuit breaker prevents cascading failures when Redis becomes - | unavailable. When failures exceed the threshold, the circuit opens - | and requests go directly to the fallback, avoiding repeated - | connection attempts that slow down the application. - | - */ - - 'circuit_breaker' => [ - // Enable/disable the circuit breaker - 'enabled' => env('CORE_STORAGE_CIRCUIT_BREAKER_ENABLED', true), - - // Number of failures before opening the circuit - 'failure_threshold' => env('CORE_STORAGE_CIRCUIT_BREAKER_FAILURES', 5), - - // Seconds to wait before attempting recovery (half-open state) - 'recovery_timeout' => env('CORE_STORAGE_CIRCUIT_BREAKER_RECOVERY', 30), - - // Number of successful operations to close the circuit - 'success_threshold' => env('CORE_STORAGE_CIRCUIT_BREAKER_SUCCESSES', 2), - - // Cache driver for storing circuit breaker state (use non-Redis driver) - 'state_driver' => env('CORE_STORAGE_CIRCUIT_BREAKER_DRIVER', 'file'), - ], - - /* - |---------------------------------------------------------------------- - | Storage Metrics Configuration - |---------------------------------------------------------------------- - | - | Storage metrics collect information about cache operations including - | hit/miss rates, latencies, and fallback activations. Use these - | metrics for monitoring cache health and performance tuning. - | - */ - - 'metrics' => [ - // Enable/disable metrics collection - 'enabled' => env('CORE_STORAGE_METRICS_ENABLED', true), - - // Maximum latency samples to keep per driver (for percentile calculations) - 'max_samples' => env('CORE_STORAGE_METRICS_MAX_SAMPLES', 1000), - - // Whether to log metrics events - 'log_enabled' => env('CORE_STORAGE_METRICS_LOG', true), - ], - ], - - /* - |-------------------------------------------------------------------------- - | Service Configuration - |-------------------------------------------------------------------------- - | - | Configure service discovery and dependency resolution. Services are - | discovered by scanning module paths for classes implementing - | ServiceDefinition. - | - */ - - 'services' => [ - // Whether to cache service discovery results - 'cache_discovery' => env('CORE_SERVICES_CACHE_DISCOVERY', true), - ], - - /* - |-------------------------------------------------------------------------- - | Language & Translation Configuration - |-------------------------------------------------------------------------- - | - | Configure translation fallback chains and missing key validation. - | The fallback chain allows regional locales to fall back to their base - | locale before using the application's fallback locale. - | - | Example chain: en_GB -> en -> fallback_locale (from config/app.php) - | - */ - - 'lang' => [ - // Enable locale chain fallback (e.g., en_GB -> en -> fallback) - // When true, regional locales like 'en_GB' will first try 'en' before - // falling back to the application's fallback_locale. - 'fallback_chain' => env('CORE_LANG_FALLBACK_CHAIN', true), - - // Warn about missing translation keys in development environments. - // Set to true to always enable, false to always disable, or leave - // null to auto-enable in local/development/testing environments. - 'validate_keys' => env('CORE_LANG_VALIDATE_KEYS'), - - // Log missing translation keys when validation is enabled. - 'log_missing_keys' => env('CORE_LANG_LOG_MISSING_KEYS', true), - - // Log level for missing translation key warnings. - // Options: 'debug', 'info', 'notice', 'warning', 'error', 'critical' - 'missing_key_log_level' => env('CORE_LANG_MISSING_KEY_LOG_LEVEL', 'debug'), - - // Enable ICU message format support. - // Requires the PHP intl extension for full functionality. - // When disabled, ICU patterns will use basic placeholder replacement. - 'icu_enabled' => env('CORE_LANG_ICU_ENABLED', true), - ], - - /* - |-------------------------------------------------------------------------- - | Bouncer Action Gate Configuration - |-------------------------------------------------------------------------- - | - | Configure the action whitelisting system. Philosophy: "If it wasn't - | trained, it doesn't exist." Every controller action must be explicitly - | permitted. Unknown actions are blocked (production) or prompt for - | approval (training mode). - | - */ - - 'bouncer' => [ - // Enable training mode to allow approving new actions interactively. - // In production, this should be false to enforce strict whitelisting. - // In development/staging, enable to train the system with valid actions. - 'training_mode' => env('CORE_BOUNCER_TRAINING_MODE', false), - - // Whether to enable the action gate middleware. - // Set to false to completely disable action whitelisting. - 'enabled' => env('CORE_BOUNCER_ENABLED', true), - - // Guards that should have action gating applied. - // Actions on routes using these middleware groups will be checked. - 'guarded_middleware' => ['web', 'admin', 'api', 'client'], - - // Routes matching these patterns will bypass the action gate. - // Use for login pages, public assets, health checks, etc. - 'bypass_patterns' => [ - 'login', - 'logout', - 'register', - 'password/*', - 'sanctum/*', - 'livewire/*', - '_debugbar/*', - 'horizon/*', - 'telescope/*', - ], - - // Number of days to retain action request logs. - // Set to 0 to disable automatic pruning. - 'log_retention_days' => env('CORE_BOUNCER_LOG_RETENTION', 30), - - // Whether to log allowed requests (can generate many records). - // Recommended: false in production, true during training. - 'log_allowed_requests' => env('CORE_BOUNCER_LOG_ALLOWED', false), - - /* - |---------------------------------------------------------------------- - | Honeypot Configuration - |---------------------------------------------------------------------- - | - | Configure the honeypot system that traps bots ignoring robots.txt. - | Paths listed in robots.txt as disallowed are monitored; any request - | indicates a bot that doesn't respect robots.txt. - | - */ - - 'honeypot' => [ - // Whether to auto-block IPs that hit critical honeypot paths. - // When enabled, IPs hitting paths like /admin or /.env are blocked. - // Set to false to require manual review of all honeypot hits. - 'auto_block_critical' => env('CORE_BOUNCER_HONEYPOT_AUTO_BLOCK', true), - - // Rate limiting for honeypot logging to prevent DoS via log flooding. - // Maximum number of log entries per IP within the time window. - 'rate_limit_max' => env('CORE_BOUNCER_HONEYPOT_RATE_LIMIT_MAX', 10), - - // Rate limit time window in seconds (default: 60 = 1 minute). - 'rate_limit_window' => env('CORE_BOUNCER_HONEYPOT_RATE_LIMIT_WINDOW', 60), - - // Severity levels for honeypot paths. - // 'critical' - Active probing (admin panels, config files). - // 'warning' - General robots.txt violation. - 'severity_levels' => [ - 'critical' => env('CORE_BOUNCER_HONEYPOT_SEVERITY_CRITICAL', 'critical'), - 'warning' => env('CORE_BOUNCER_HONEYPOT_SEVERITY_WARNING', 'warning'), - ], - - // Paths that indicate critical/malicious probing. - // Requests to these paths result in 'critical' severity. - // Supports prefix matching (e.g., 'admin' matches '/admin', '/admin/login'). - 'critical_paths' => [ - 'admin', - 'wp-admin', - 'wp-login.php', - 'administrator', - 'phpmyadmin', - '.env', - '.git', - ], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Workspace Cache Configuration - |-------------------------------------------------------------------------- - | - | Configure workspace-scoped caching for multi-tenant resources. - | Models using the BelongsToWorkspace trait can cache their collections - | with automatic invalidation when records are created, updated, or deleted. - | - | The cache system supports both tagged cache stores (Redis, Memcached) - | and non-tagged stores (file, database, array). Tagged stores provide - | more efficient cache invalidation. - | - */ - - 'workspace_cache' => [ - // Whether to enable workspace-scoped caching. - // Set to false to completely disable caching (all queries hit the database). - 'enabled' => env('CORE_WORKSPACE_CACHE_ENABLED', true), - - // Default TTL in seconds for cached workspace queries. - // Individual queries can override this with their own TTL. - 'ttl' => env('CORE_WORKSPACE_CACHE_TTL', 300), - - // Cache key prefix to avoid collisions with other cache keys. - // Change this if you need to separate cache data between deployments. - 'prefix' => env('CORE_WORKSPACE_CACHE_PREFIX', 'workspace_cache'), - - // Whether to use cache tags if available. - // Tags provide more efficient cache invalidation (flush by workspace or model). - // Only works with tag-supporting stores (Redis, Memcached). - // Set to false to always use key-based cache management. - 'use_tags' => env('CORE_WORKSPACE_CACHE_USE_TAGS', true), - ], - - /* - |-------------------------------------------------------------------------- - | Activity Logging Configuration - |-------------------------------------------------------------------------- - | - | Configure activity logging for audit trails across modules. - | Uses spatie/laravel-activitylog under the hood with workspace-aware - | enhancements for multi-tenant environments. - | - | Models can use the Core\Activity\Concerns\LogsActivity trait to - | automatically log create, update, and delete operations. - | - */ - - 'activity' => [ - // Whether to enable activity logging globally. - // Set to false to completely disable activity logging. - 'enabled' => env('CORE_ACTIVITY_ENABLED', true), - - // The log name to use for activities. - // Different log names can be used to separate activities by context. - 'log_name' => env('CORE_ACTIVITY_LOG_NAME', 'default'), - - // Whether to include workspace_id in activity properties. - // Enable this in multi-tenant applications to scope activities per workspace. - 'include_workspace' => env('CORE_ACTIVITY_INCLUDE_WORKSPACE', true), - - // Default events to log when using the LogsActivity trait. - // Models can override this with the $activityLogEvents property. - 'default_events' => ['created', 'updated', 'deleted'], - - // Number of days to retain activity logs. - // Use the activity:prune command to clean up old logs. - // Set to 0 to disable automatic pruning. - 'retention_days' => env('CORE_ACTIVITY_RETENTION_DAYS', 90), - - // Custom Activity model class (optional). - // Set this to use a custom Activity model with additional scopes. - // Default: Core\Activity\Models\Activity::class - 'activity_model' => env('CORE_ACTIVITY_MODEL', \Core\Activity\Models\Activity::class), - ], - -]; diff --git a/packages/core-php/phpunit.xml b/packages/core-php/phpunit.xml deleted file mode 100644 index 5a49573..0000000 --- a/packages/core-php/phpunit.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - tests/Feature - src/Core/**/Tests/Feature - src/Mod/**/Tests/Feature - - - tests/Unit - src/Core/**/Tests/Unit - src/Mod/**/Tests/Unit - - - - - src/Core - - - diff --git a/packages/core-php/src/Mod/Tenant/Boot.php b/packages/core-php/src/Mod/Tenant/Boot.php deleted file mode 100644 index 354c780..0000000 --- a/packages/core-php/src/Mod/Tenant/Boot.php +++ /dev/null @@ -1,173 +0,0 @@ - - */ - public static array $listens = [ - AdminPanelBooting::class => 'onAdminPanel', - ApiRoutesRegistering::class => 'onApiRoutes', - WebRoutesRegistering::class => 'onWebRoutes', - ConsoleBooting::class => 'onConsole', - ]; - - public function register(): void - { - $this->app->singleton( - \Core\Mod\Tenant\Contracts\TwoFactorAuthenticationProvider::class, - \Core\Mod\Tenant\Services\TotpService::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\EntitlementService::class, - \Core\Mod\Tenant\Services\EntitlementService::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\WorkspaceManager::class, - \Core\Mod\Tenant\Services\WorkspaceManager::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\UserStatsService::class, - \Core\Mod\Tenant\Services\UserStatsService::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\WorkspaceService::class, - \Core\Mod\Tenant\Services\WorkspaceService::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\WorkspaceCacheManager::class, - \Core\Mod\Tenant\Services\WorkspaceCacheManager::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\UsageAlertService::class, - \Core\Mod\Tenant\Services\UsageAlertService::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\EntitlementWebhookService::class, - \Core\Mod\Tenant\Services\EntitlementWebhookService::class - ); - - $this->app->singleton( - \Core\Mod\Tenant\Services\WorkspaceTeamService::class, - \Core\Mod\Tenant\Services\WorkspaceTeamService::class - ); - - $this->registerBackwardCompatAliases(); - } - - protected function registerBackwardCompatAliases(): void - { - if (! class_exists(\App\Services\WorkspaceManager::class)) { - class_alias( - \Core\Mod\Tenant\Services\WorkspaceManager::class, - \App\Services\WorkspaceManager::class - ); - } - - if (! class_exists(\App\Services\UserStatsService::class)) { - class_alias( - \Core\Mod\Tenant\Services\UserStatsService::class, - \App\Services\UserStatsService::class - ); - } - - if (! class_exists(\App\Services\WorkspaceService::class)) { - class_alias( - \Core\Mod\Tenant\Services\WorkspaceService::class, - \App\Services\WorkspaceService::class - ); - } - - if (! class_exists(\App\Services\WorkspaceCacheManager::class)) { - class_alias( - \Core\Mod\Tenant\Services\WorkspaceCacheManager::class, - \App\Services\WorkspaceCacheManager::class - ); - } - } - - public function boot(): void - { - $this->loadMigrationsFrom(__DIR__.'/Migrations'); - $this->loadTranslationsFrom(__DIR__.'/Lang/en_GB', 'tenant'); - } - - // ------------------------------------------------------------------------- - // Event-driven handlers - // ------------------------------------------------------------------------- - - public function onAdminPanel(AdminPanelBooting $event): void - { - $event->views($this->moduleName, __DIR__.'/View/Blade'); - - // Admin Livewire components - $event->livewire('tenant.admin.entitlement-webhook-manager', View\Modal\Admin\EntitlementWebhookManager::class); - } - - public function onApiRoutes(ApiRoutesRegistering $event): void - { - if (file_exists(__DIR__.'/Routes/api.php')) { - $event->routes(fn () => Route::middleware('api')->group(__DIR__.'/Routes/api.php')); - } - } - - public function onWebRoutes(WebRoutesRegistering $event): void - { - $event->views($this->moduleName, __DIR__.'/View/Blade'); - - if (file_exists(__DIR__.'/Routes/web.php')) { - $event->routes(fn () => Route::middleware('web')->group(__DIR__.'/Routes/web.php')); - } - - // Account management - $event->livewire('tenant.account.cancel-deletion', View\Modal\Web\CancelDeletion::class); - $event->livewire('tenant.account.confirm-deletion', View\Modal\Web\ConfirmDeletion::class); - - // Workspace - $event->livewire('tenant.workspace.home', View\Modal\Web\WorkspaceHome::class); - } - - public function onConsole(ConsoleBooting $event): void - { - $event->middleware('admin.domain', Middleware\RequireAdminDomain::class); - $event->middleware('workspace.permission', Middleware\CheckWorkspacePermission::class); - - // Artisan commands - $event->command(Console\Commands\RefreshUserStats::class); - $event->command(Console\Commands\ProcessAccountDeletions::class); - $event->command(Console\Commands\CheckUsageAlerts::class); - $event->command(Console\Commands\ResetBillingCycles::class); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Concerns/BelongsToNamespace.php b/packages/core-php/src/Mod/Tenant/Concerns/BelongsToNamespace.php deleted file mode 100644 index ab25e5b..0000000 --- a/packages/core-php/src/Mod/Tenant/Concerns/BelongsToNamespace.php +++ /dev/null @@ -1,247 +0,0 @@ -where('is_active', true)->get(); - */ -trait BelongsToNamespace -{ - /** - * Boot the trait - sets up auto-assignment of namespace_id and cache invalidation. - */ - protected static function bootBelongsToNamespace(): void - { - // Auto-assign namespace_id when creating a model without one - static::creating(function ($model) { - if (empty($model->namespace_id)) { - $namespace = static::getCurrentNamespace(); - if ($namespace) { - $model->namespace_id = $namespace->id; - } - } - }); - - static::saved(function ($model) { - if ($model->namespace_id) { - static::clearNamespaceCache($model->namespace_id); - } - }); - - static::deleted(function ($model) { - if ($model->namespace_id) { - static::clearNamespaceCache($model->namespace_id); - } - }); - } - - /** - * Get the namespace this model belongs to. - */ - public function namespace(): BelongsTo - { - return $this->belongsTo(Namespace_::class, 'namespace_id'); - } - - /** - * Scope query to the current namespace. - */ - public function scopeOwnedByCurrentNamespace(Builder $query): Builder - { - $namespace = static::getCurrentNamespace(); - - if (! $namespace) { - return $query->whereRaw('1 = 0'); // Return empty result - } - - return $query->where('namespace_id', $namespace->id); - } - - /** - * Scope query to a specific namespace. - */ - public function scopeForNamespace(Builder $query, Namespace_|int $namespace): Builder - { - $namespaceId = $namespace instanceof Namespace_ ? $namespace->id : $namespace; - - return $query->where('namespace_id', $namespaceId); - } - - /** - * Scope query to all namespaces accessible by the current user. - */ - public function scopeAccessibleByCurrentUser(Builder $query): Builder - { - $user = auth()->user(); - - if (! $user || ! $user instanceof User) { - return $query->whereRaw('1 = 0'); // Return empty result - } - - $namespaceIds = Namespace_::accessibleBy($user)->pluck('id'); - - return $query->whereIn('namespace_id', $namespaceIds); - } - - /** - * Get all models owned by the current namespace, cached. - * - * @param int $ttl Cache TTL in seconds (default 5 minutes) - */ - public static function ownedByCurrentNamespaceCached(int $ttl = 300): Collection - { - $namespace = static::getCurrentNamespace(); - - if (! $namespace) { - return collect(); - } - - return Cache::remember( - static::namespaceCacheKey($namespace->id), - $ttl, - fn () => static::ownedByCurrentNamespace()->get() - ); - } - - /** - * Get all models for a specific namespace, cached. - * - * @param int $ttl Cache TTL in seconds (default 5 minutes) - */ - public static function forNamespaceCached(Namespace_|int $namespace, int $ttl = 300): Collection - { - $namespaceId = $namespace instanceof Namespace_ ? $namespace->id : $namespace; - - return Cache::remember( - static::namespaceCacheKey($namespaceId), - $ttl, - fn () => static::forNamespace($namespaceId)->get() - ); - } - - /** - * Get the cache key for a namespace's model collection. - */ - protected static function namespaceCacheKey(int $namespaceId): string - { - $modelClass = class_basename(static::class); - - return "namespace.{$namespaceId}.{$modelClass}"; - } - - /** - * Clear the cache for a namespace's model collection. - */ - public static function clearNamespaceCache(int $namespaceId): void - { - Cache::forget(static::namespaceCacheKey($namespaceId)); - } - - /** - * Clear cache for all namespaces accessible to current user. - */ - public static function clearAllNamespaceCache(): void - { - $user = auth()->user(); - - if ($user && $user instanceof User) { - $namespaces = Namespace_::accessibleBy($user)->get(); - foreach ($namespaces as $namespace) { - static::clearNamespaceCache($namespace->id); - } - } - } - - /** - * Get the current namespace from session/request. - */ - protected static function getCurrentNamespace(): ?Namespace_ - { - // Try to get from request attributes (set by middleware) - if (request()->attributes->has('current_namespace')) { - return request()->attributes->get('current_namespace'); - } - - // Try to get from session - $namespaceUuid = session('current_namespace_uuid'); - if ($namespaceUuid) { - $namespace = Namespace_::where('uuid', $namespaceUuid)->first(); - if ($namespace) { - return $namespace; - } - } - - // Fall back to user's default namespace - $user = auth()->user(); - if ($user && method_exists($user, 'defaultNamespace')) { - return $user->defaultNamespace(); - } - - return null; - } - - /** - * Check if this model belongs to the given namespace. - */ - public function belongsToNamespace(Namespace_|int $namespace): bool - { - $namespaceId = $namespace instanceof Namespace_ ? $namespace->id : $namespace; - - return $this->namespace_id === $namespaceId; - } - - /** - * Check if this model belongs to the current namespace. - */ - public function belongsToCurrentNamespace(): bool - { - $namespace = static::getCurrentNamespace(); - - if (! $namespace) { - return false; - } - - return $this->belongsToNamespace($namespace); - } - - /** - * Check if the current user can access this model. - */ - public function isAccessibleByCurrentUser(): bool - { - $user = auth()->user(); - - if (! $user || ! $user instanceof User) { - return false; - } - - if (! $this->namespace) { - return false; - } - - return $this->namespace->isAccessibleBy($user); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Concerns/BelongsToWorkspace.php b/packages/core-php/src/Mod/Tenant/Concerns/BelongsToWorkspace.php deleted file mode 100644 index 61d45ee..0000000 --- a/packages/core-php/src/Mod/Tenant/Concerns/BelongsToWorkspace.php +++ /dev/null @@ -1,349 +0,0 @@ -where('status', 'active')->get(); - * - * To opt out of strict mode (not recommended): - * class LegacyModel extends Model { - * use BelongsToWorkspace; - * protected bool $workspaceContextRequired = false; - * } - * - * For custom caching beyond the default ownedByCurrentWorkspace, also use HasWorkspaceCache: - * class Account extends Model { - * use BelongsToWorkspace, HasWorkspaceCache; - * - * public static function getActiveAccounts(): Collection - * { - * return static::rememberForWorkspace( - * 'active_accounts', - * 300, - * fn() => static::ownedByCurrentWorkspace()->where('status', 'active')->get() - * ); - * } - * } - */ -trait BelongsToWorkspace -{ - /** - * Boot the trait - sets up auto-assignment of workspace_id and cache invalidation. - * - * SECURITY: Throws MissingWorkspaceContextException when creating without workspace context, - * unless the model has opted out with $workspaceContextRequired = false. - */ - protected static function bootBelongsToWorkspace(): void - { - // Auto-assign workspace_id when creating a model without one - static::creating(function ($model) { - if (empty($model->workspace_id)) { - $workspace = static::getCurrentWorkspace(); - - if ($workspace) { - $model->workspace_id = $workspace->id; - - return; - } - - // No workspace context - check if we should enforce - if ($model->requiresWorkspaceContext()) { - throw MissingWorkspaceContextException::forCreate( - class_basename($model) - ); - } - } - }); - - // Clear cache on saved event (create/update) - static::saved(function ($model) { - if ($model->workspace_id) { - static::clearWorkspaceCache($model->workspace_id); - } - }); - - // Clear cache on deleted event - static::deleted(function ($model) { - if ($model->workspace_id) { - static::clearWorkspaceCache($model->workspace_id); - } - }); - } - - /** - * Determine if this model requires workspace context. - * - * Models can opt out by setting $workspaceContextRequired = false, - * but this is not recommended for security reasons. - */ - public function requiresWorkspaceContext(): bool - { - // Check model-level setting - if (property_exists($this, 'workspaceContextRequired')) { - return $this->workspaceContextRequired; - } - - // Check if global strict mode is disabled - if (! WorkspaceScope::isStrictModeEnabled()) { - return false; - } - - // Check if running from console (CLI commands may need to work without context) - if (app()->runningInConsole() && ! app()->runningUnitTests()) { - return false; - } - - // Default: require workspace context for security - return true; - } - - /** - * Get the workspace this model belongs to. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * Scope query to the current user's default workspace. - * - * SECURITY: Throws MissingWorkspaceContextException when no workspace context - * is available and strict mode is enabled. - * - * @throws MissingWorkspaceContextException When workspace context is missing in strict mode - */ - public function scopeOwnedByCurrentWorkspace(Builder $query): Builder - { - $workspace = static::getCurrentWorkspace(); - - if ($workspace) { - return $query->where('workspace_id', $workspace->id); - } - - // No workspace context - check if we should enforce strict mode - if ($this->requiresWorkspaceContext()) { - throw MissingWorkspaceContextException::forScope( - class_basename($this) - ); - } - - // Non-strict mode: return empty result set (fail safe) - return $query->whereRaw('1 = 0'); - } - - /** - * Scope query to a specific workspace. - */ - public function scopeForWorkspace(Builder $query, Workspace|int $workspace): Builder - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $query->where('workspace_id', $workspaceId); - } - - /** - * Get all models owned by the current workspace, cached. - * - * Uses the WorkspaceCacheManager for caching, which supports both - * tagged cache stores (Redis, Memcached) and non-tagged stores. - * - * SECURITY: Throws MissingWorkspaceContextException when no workspace context - * is available and strict mode is enabled. - * - * @param int|null $ttl Cache TTL in seconds (null = use config default) - * - * @throws MissingWorkspaceContextException When workspace context is missing in strict mode - */ - public static function ownedByCurrentWorkspaceCached(?int $ttl = null): Collection - { - $workspace = static::getCurrentWorkspace(); - - if ($workspace) { - return static::getWorkspaceCacheManager()->rememberModel( - $workspace, - static::class, - static::getDefaultCacheKey(), - $ttl, - fn () => static::ownedByCurrentWorkspace()->get() - ); - } - - // No workspace context - check if we should enforce strict mode - $instance = new static; - if ($instance->requiresWorkspaceContext()) { - throw MissingWorkspaceContextException::forScope( - class_basename(static::class) - ); - } - - // Non-strict mode: return empty collection (fail safe) - return collect(); - } - - /** - * Get all models for a specific workspace, cached. - * - * @param int|null $ttl Cache TTL in seconds (null = use config default) - */ - public static function forWorkspaceCached(Workspace|int $workspace, ?int $ttl = null): Collection - { - return static::getWorkspaceCacheManager()->rememberModel( - $workspace, - static::class, - static::getDefaultCacheKey(), - $ttl, - fn () => static::forWorkspace($workspace)->get() - ); - } - - /** - * Get the cache key for a workspace's model collection. - * - * This generates the full cache key including the workspace-scoped prefix. - */ - public static function workspaceCacheKey(int $workspaceId): string - { - return static::getWorkspaceCacheManager()->key( - $workspaceId, - static::getDefaultCacheKey() - ); - } - - /** - * Get the default cache key suffix for this model. - * - * Override this in your model to customise the cache key. - */ - protected static function getDefaultCacheKey(): string - { - return class_basename(static::class).'.all'; - } - - /** - * Clear the cache for a workspace's model collection. - * - * This clears the default cached collection. If using HasWorkspaceCache - * for custom cached queries, you may need to clear those separately. - */ - public static function clearWorkspaceCache(int $workspaceId): void - { - static::getWorkspaceCacheManager()->forget( - $workspaceId, - static::getDefaultCacheKey() - ); - } - - /** - * Clear cache for all workspaces this model exists in. - * - * For tagged cache stores (Redis), this flushes all cache for this model. - * For non-tagged stores, this clears cache for workspaces the current user has access to. - */ - public static function clearAllWorkspaceCaches(): void - { - $manager = static::getWorkspaceCacheManager(); - - // If tags are supported, we can flush all cache for this model efficiently - if ($manager->supportsTags()) { - $manager->flushModel(static::class); - - return; - } - - // For non-tagged stores, clear for all workspaces the current user has access to - $user = auth()->user(); - - if ($user && method_exists($user, 'hostWorkspaces')) { - foreach ($user->hostWorkspaces as $workspace) { - static::clearWorkspaceCache($workspace->id); - } - } - } - - /** - * Get the current user's default workspace. - * - * First checks request attributes (set by middleware), then falls back - * to the authenticated user's default workspace. - */ - protected static function getCurrentWorkspace(): ?Workspace - { - // First try to get from request attributes (set by middleware) - if (request()->attributes->has('workspace_model')) { - return request()->attributes->get('workspace_model'); - } - - // Then try to get from authenticated user - $user = auth()->user(); - - if (! $user) { - return null; - } - - // Use the Host UK method if available - if (method_exists($user, 'defaultHostWorkspace')) { - return $user->defaultHostWorkspace(); - } - - return null; - } - - /** - * Check if this model belongs to the given workspace. - */ - public function belongsToWorkspace(Workspace|int $workspace): bool - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $this->workspace_id === $workspaceId; - } - - /** - * Check if this model belongs to the current user's workspace. - */ - public function belongsToCurrentWorkspace(): bool - { - $workspace = static::getCurrentWorkspace(); - - if (! $workspace) { - return false; - } - - return $this->belongsToWorkspace($workspace); - } - - /** - * Get the workspace cache manager instance. - */ - protected static function getWorkspaceCacheManager(): WorkspaceCacheManager - { - return app(WorkspaceCacheManager::class); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Concerns/HasWorkspaceCache.php b/packages/core-php/src/Mod/Tenant/Concerns/HasWorkspaceCache.php deleted file mode 100644 index 5ba50ba..0000000 --- a/packages/core-php/src/Mod/Tenant/Concerns/HasWorkspaceCache.php +++ /dev/null @@ -1,272 +0,0 @@ - static::ownedByCurrentWorkspace() - * ->where('status', 'active') - * ->get() - * ); - * } - * } - */ -trait HasWorkspaceCache -{ - /** - * Remember a value for the current workspace. - * - * @template T - * - * @param string $key The cache key (will be prefixed with workspace context) - * @param int|null $ttl TTL in seconds (null = use default from config) - * @param Closure(): T $callback The callback to generate the value - * @return T - */ - public static function rememberForWorkspace(string $key, ?int $ttl, Closure $callback): mixed - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - // No workspace context - execute callback directly without caching - return $callback(); - } - - // Include model name in key to avoid collisions - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->rememberModel( - $workspace, - static::class, - $modelKey, - $ttl, - $callback - ); - } - - /** - * Remember a value forever for the current workspace. - * - * @template T - * - * @param Closure(): T $callback - * @return T - */ - public static function rememberForWorkspaceForever(string $key, Closure $callback): mixed - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - return $callback(); - } - - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->rememberForever( - $workspace, - $modelKey, - $callback - ); - } - - /** - * Remember a value for a specific workspace. - * - * @template T - * - * @param Closure(): T $callback - * @return T - */ - public static function rememberForSpecificWorkspace( - Workspace|int $workspace, - string $key, - ?int $ttl, - Closure $callback - ): mixed { - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->rememberModel( - $workspace, - static::class, - $modelKey, - $ttl, - $callback - ); - } - - /** - * Store a value in cache for the current workspace. - */ - public static function putForWorkspace(string $key, mixed $value, ?int $ttl = null): bool - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - return false; - } - - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->put( - $workspace, - $modelKey, - $value, - $ttl - ); - } - - /** - * Get a cached value for the current workspace. - */ - public static function getFromWorkspaceCache(string $key, mixed $default = null): mixed - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - return $default; - } - - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->get( - $workspace, - $modelKey, - $default - ); - } - - /** - * Check if a key exists in the workspace cache. - */ - public static function hasInWorkspaceCache(string $key): bool - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - return false; - } - - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->has( - $workspace, - $modelKey - ); - } - - /** - * Forget a specific key from the current workspace cache. - */ - public static function forgetForWorkspace(string $key): bool - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - return false; - } - - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->forget( - $workspace, - $modelKey - ); - } - - /** - * Forget a specific key from a specific workspace cache. - */ - public static function forgetForSpecificWorkspace(Workspace|int $workspace, string $key): bool - { - $modelKey = static::getCacheKeyForModel($key); - - return static::getWorkspaceCacheManager()->forget( - $workspace, - $modelKey - ); - } - - /** - * Clear all cache for the current workspace's model data. - */ - public static function clearWorkspaceCacheForModel(): bool - { - $workspace = static::getCurrentWorkspaceForCache(); - - if (! $workspace) { - return false; - } - - // Clear the default workspace cache key - return static::getWorkspaceCacheManager()->forget( - $workspace, - static::getCacheKeyForModel('all') - ); - } - - /** - * Clear all cache for this model across all workspaces. - * Only works with tagged cache stores (Redis, Memcached). - */ - public static function clearAllWorkspaceCacheForModel(): bool - { - return static::getWorkspaceCacheManager()->flushModel(static::class); - } - - /** - * Get the cache key prefix for this model. - */ - protected static function getCacheKeyForModel(string $key): string - { - return class_basename(static::class).'.'.$key; - } - - /** - * Get the current workspace for caching. - */ - protected static function getCurrentWorkspaceForCache(): ?Workspace - { - // First try to get from request attributes (set by middleware) - if (request()->attributes->has('workspace_model')) { - return request()->attributes->get('workspace_model'); - } - - // Then try to get from authenticated user - $user = auth()->user(); - - if ($user && method_exists($user, 'defaultHostWorkspace')) { - return $user->defaultHostWorkspace(); - } - - return null; - } - - /** - * Get the workspace cache manager instance. - */ - protected static function getWorkspaceCacheManager(): WorkspaceCacheManager - { - return app(WorkspaceCacheManager::class); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Concerns/TwoFactorAuthenticatable.php b/packages/core-php/src/Mod/Tenant/Concerns/TwoFactorAuthenticatable.php deleted file mode 100644 index f838870..0000000 --- a/packages/core-php/src/Mod/Tenant/Concerns/TwoFactorAuthenticatable.php +++ /dev/null @@ -1,250 +0,0 @@ -hasOne(UserTwoFactorAuth::class, 'user_id'); - } - - /** - * Check if two-factor authentication is enabled. - */ - public function hasTwoFactorAuthEnabled(): bool - { - if ($this->twoFactorAuth) { - return ! is_null($this->twoFactorAuth->secret_key) - && ! is_null($this->twoFactorAuth->confirmed_at); - } - - return false; - } - - /** - * Get the two-factor authentication secret key. - */ - public function twoFactorAuthSecretKey(): ?string - { - return $this->twoFactorAuth?->secret_key; - } - - /** - * Get the two-factor recovery codes. - */ - public function twoFactorRecoveryCodes(): array - { - return $this->twoFactorAuth?->recovery_codes?->toArray() ?? []; - } - - /** - * Replace a used recovery code with a new one. - */ - public function twoFactorReplaceRecoveryCode(string $code): void - { - if (! $this->twoFactorAuth) { - return; - } - - $codes = $this->twoFactorRecoveryCodes(); - $index = array_search($code, $codes); - - if ($index !== false) { - $codes[$index] = $this->generateRecoveryCode(); - $this->twoFactorAuth->update(['recovery_codes' => $codes]); - } - } - - /** - * Generate a QR code SVG for two-factor setup. - */ - public function twoFactorQrCodeSvg(): string - { - $secret = $this->twoFactorAuthSecretKey(); - if (! $secret) { - return ''; - } - - $url = $this->twoFactorQrCodeUrl(); - - return $this->getTotpService()->qrCodeSvg($url); - } - - /** - * Generate the TOTP URL for QR code. - */ - public function twoFactorQrCodeUrl(): string - { - return $this->getTotpService()->qrCodeUrl( - config('app.name'), - $this->email, - $this->twoFactorAuthSecretKey() - ); - } - - /** - * Verify a TOTP code. - */ - public function verifyTwoFactorCode(string $code): bool - { - $secret = $this->twoFactorAuthSecretKey(); - if (! $secret) { - return false; - } - - return $this->getTotpService()->verify($secret, $code); - } - - /** - * Generate a new two-factor secret. - */ - public function generateTwoFactorSecret(): string - { - return $this->getTotpService()->generateSecretKey(); - } - - /** - * Verify a recovery code. - * - * @return bool True if the recovery code was valid and used - */ - public function verifyRecoveryCode(string $code): bool - { - $codes = $this->twoFactorRecoveryCodes(); - $code = strtoupper(trim($code)); - - $index = array_search($code, $codes); - - if ($index !== false) { - $this->twoFactorReplaceRecoveryCode($code); - - return true; - } - - return false; - } - - /** - * Generate a random recovery code. - */ - protected function generateRecoveryCode(): string - { - return strtoupper(bin2hex(random_bytes(5))).'-'.strtoupper(bin2hex(random_bytes(5))); - } - - /** - * Generate a set of recovery codes. - * - * @param int $count Number of codes to generate - */ - public function generateRecoveryCodes(int $count = 8): array - { - $codes = []; - - for ($i = 0; $i < $count; $i++) { - $codes[] = $this->generateRecoveryCode(); - } - - return $codes; - } - - /** - * Enable two-factor authentication for this user. - * - * Creates the 2FA record with a new secret but does not confirm it yet. - * The user must verify a code before 2FA is fully enabled. - * - * @return string The secret key for QR code generation - */ - public function enableTwoFactorAuth(): string - { - $secret = $this->generateTwoFactorSecret(); - - $this->twoFactorAuth()->updateOrCreate( - ['user_id' => $this->id], - [ - 'secret_key' => $secret, - 'recovery_codes' => null, - 'confirmed_at' => null, - ] - ); - - $this->load('twoFactorAuth'); - - return $secret; - } - - /** - * Confirm two-factor authentication after verifying a code. - * - * @return array The recovery codes - */ - public function confirmTwoFactorAuth(): array - { - if (! $this->twoFactorAuth || ! $this->twoFactorAuth->secret_key) { - throw new \RuntimeException('Two-factor authentication has not been initialised.'); - } - - $recoveryCodes = $this->generateRecoveryCodes(); - - $this->twoFactorAuth->update([ - 'recovery_codes' => $recoveryCodes, - 'confirmed_at' => now(), - ]); - - return $recoveryCodes; - } - - /** - * Disable two-factor authentication for this user. - */ - public function disableTwoFactorAuth(): void - { - $this->twoFactorAuth?->delete(); - $this->unsetRelation('twoFactorAuth'); - } - - /** - * Regenerate recovery codes. - * - * @return array The new recovery codes - */ - public function regenerateTwoFactorRecoveryCodes(): array - { - if (! $this->hasTwoFactorAuthEnabled()) { - throw new \RuntimeException('Two-factor authentication is not enabled.'); - } - - $recoveryCodes = $this->generateRecoveryCodes(); - - $this->twoFactorAuth->update([ - 'recovery_codes' => $recoveryCodes, - ]); - - return $recoveryCodes; - } - - /** - * Get the TOTP service instance. - */ - protected function getTotpService(): TwoFactorAuthenticationProvider - { - return app(TwoFactorAuthenticationProvider::class); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Console/Commands/CheckUsageAlerts.php b/packages/core-php/src/Mod/Tenant/Console/Commands/CheckUsageAlerts.php deleted file mode 100644 index 35cf2ca..0000000 --- a/packages/core-php/src/Mod/Tenant/Console/Commands/CheckUsageAlerts.php +++ /dev/null @@ -1,261 +0,0 @@ -option('dry-run'); - $verbose = $this->option('verbose'); - - if ($dryRun) { - $this->info('DRY RUN: No notifications will be sent.'); - } - - if ($workspaceOption = $this->option('workspace')) { - return $this->checkSingleWorkspace($workspaceOption, $dryRun, $verbose); - } - - return $this->checkAllWorkspaces($dryRun, $verbose); - } - - /** - * Check a single workspace. - */ - protected function checkSingleWorkspace(string $identifier, bool $dryRun, bool $verbose): int - { - $workspace = is_numeric($identifier) - ? Workspace::find($identifier) - : Workspace::where('slug', $identifier)->first(); - - if (! $workspace) { - $this->error("Workspace not found: {$identifier}"); - - return self::FAILURE; - } - - $this->info("Checking workspace: {$workspace->name} ({$workspace->slug})"); - - if ($dryRun) { - $this->showUsageStatus($workspace); - - return self::SUCCESS; - } - - $result = $this->alertService->checkWorkspace($workspace); - - $this->info("Alerts sent: {$result['alerts_sent']}"); - $this->info("Alerts resolved: {$result['alerts_resolved']}"); - - if ($verbose && ! empty($result['details'])) { - $this->newLine(); - $this->table( - ['Feature', 'Usage %', 'Threshold', 'Action'], - collect($result['details'])->map(fn ($d) => [ - $d['feature'], - $d['percentage'] !== null ? round($d['percentage'], 1).'%' : 'N/A', - $d['threshold'] ? $d['threshold'].'%' : 'N/A', - $d['alert_sent'] ? 'Alert sent' : ($d['resolved'] ? 'Resolved' : 'No action'), - ])->toArray() - ); - } - - return self::SUCCESS; - } - - /** - * Check all workspaces. - */ - protected function checkAllWorkspaces(bool $dryRun, bool $verbose): int - { - $this->info('Checking all active workspaces for usage alerts...'); - - if ($dryRun) { - $this->showAllWorkspacesStatus($verbose); - - return self::SUCCESS; - } - - $result = $this->alertService->checkAllWorkspaces(); - - $this->newLine(); - $this->info("Workspaces checked: {$result['checked']}"); - $this->info("Alerts sent: {$result['alerts_sent']}"); - $this->info("Alerts resolved: {$result['alerts_resolved']}"); - - if ($result['alerts_sent'] > 0) { - $this->comment('Usage alert notifications have been queued for delivery.'); - } - - return self::SUCCESS; - } - - /** - * Show usage status for a single workspace (dry run). - */ - protected function showUsageStatus(Workspace $workspace): void - { - $status = $this->alertService->getUsageStatus($workspace); - - if ($status->isEmpty()) { - $this->info('No features with limits found.'); - - return; - } - - $this->newLine(); - $this->table( - ['Feature', 'Used', 'Limit', 'Usage %', 'Status', 'Active Alert'], - $status->map(fn ($s) => [ - $s['name'], - $s['used'] ?? 0, - $s['limit'] ?? 'N/A', - $s['percentage'] !== null ? round($s['percentage'], 1).'%' : 'N/A', - $this->getStatusLabel($s), - $s['active_alert'] ? $s['alert_threshold'].'% alert' : '-', - ])->toArray() - ); - - $approaching = $status->filter(fn ($s) => $s['near_limit'] || $s['at_limit']); - - if ($approaching->isNotEmpty()) { - $this->newLine(); - $this->warn("Features approaching limits: {$approaching->count()}"); - - foreach ($approaching as $item) { - $wouldSend = ! $item['active_alert'] || $item['alert_threshold'] < $this->getThresholdForPercentage($item['percentage']); - - if ($wouldSend) { - $this->line(" - {$item['name']}: Would send alert"); - } else { - $this->line(" - {$item['name']}: Alert already sent"); - } - } - } - } - - /** - * Show status for all workspaces (dry run). - */ - protected function showAllWorkspacesStatus(bool $verbose): void - { - $workspaces = Workspace::query() - ->active() - ->whereHas('workspacePackages', fn ($q) => $q->active()) - ->get(); - - $this->info("Found {$workspaces->count()} active workspaces with packages."); - - $alerts = []; - - foreach ($workspaces as $workspace) { - $status = $this->alertService->getUsageStatus($workspace); - $approaching = $status->filter(fn ($s) => $s['near_limit'] || $s['at_limit']); - - if ($approaching->isNotEmpty()) { - foreach ($approaching as $item) { - $alerts[] = [ - 'workspace' => $workspace->name, - 'feature' => $item['name'], - 'used' => $item['used'], - 'limit' => $item['limit'], - 'percentage' => round($item['percentage'], 1), - 'has_alert' => $item['active_alert'] !== null, - ]; - } - } - } - - if (empty($alerts)) { - $this->info('No workspaces are approaching limits.'); - - return; - } - - $this->newLine(); - $this->warn('Found '.count($alerts).' features approaching limits:'); - $this->newLine(); - - $this->table( - ['Workspace', 'Feature', 'Used', 'Limit', '%', 'Alert Sent?'], - collect($alerts)->map(fn ($a) => [ - $a['workspace'], - $a['feature'], - $a['used'], - $a['limit'], - $a['percentage'].'%', - $a['has_alert'] ? 'Yes' : 'No', - ])->toArray() - ); - } - - /** - * Get status label for display. - */ - protected function getStatusLabel(array $status): string - { - if ($status['at_limit']) { - return 'At Limit'; - } - - if ($status['percentage'] >= 90) { - return 'Critical'; - } - - if ($status['near_limit']) { - return 'Warning'; - } - - return 'OK'; - } - - /** - * Get threshold for a given percentage. - */ - protected function getThresholdForPercentage(?float $percentage): ?int - { - if ($percentage === null) { - return null; - } - - if ($percentage >= 100) { - return 100; - } - - if ($percentage >= 90) { - return 90; - } - - if ($percentage >= 80) { - return 80; - } - - return null; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Console/Commands/ProcessAccountDeletions.php b/packages/core-php/src/Mod/Tenant/Console/Commands/ProcessAccountDeletions.php deleted file mode 100644 index 09c57a5..0000000 --- a/packages/core-php/src/Mod/Tenant/Console/Commands/ProcessAccountDeletions.php +++ /dev/null @@ -1,82 +0,0 @@ -with('user')->get(); - - if ($pendingDeletions->isEmpty()) { - $this->info('No pending account deletions to process.'); - - return self::SUCCESS; - } - - $this->info("Processing {$pendingDeletions->count()} account deletion(s)..."); - - $deleted = 0; - $failed = 0; - - foreach ($pendingDeletions as $request) { - try { - $user = $request->user; - - if (! $user) { - $this->warn("User not found for deletion request #{$request->id}"); - $request->complete(); - - continue; - } - - $this->line("Deleting account: {$user->email}"); - - DB::transaction(function () use ($request, $user) { - // Mark request as completed - $request->complete(); - - // Delete all workspaces owned by the user - if (method_exists($user, 'ownedWorkspaces')) { - $user->ownedWorkspaces()->each(function ($workspace) { - $workspace->delete(); - }); - } - - // Hard delete user account - $user->forceDelete(); - }); - - Log::info('Account deleted via scheduled task', [ - 'user_id' => $user->id, - 'email' => $user->email, - 'deletion_request_id' => $request->id, - ]); - - $deleted++; - } catch (\Exception $e) { - $this->error("Failed to delete account for request #{$request->id}: {$e->getMessage()}"); - Log::error('Failed to process account deletion', [ - 'deletion_request_id' => $request->id, - 'error' => $e->getMessage(), - ]); - $failed++; - } - } - - $this->info("Completed: {$deleted} deleted, {$failed} failed."); - - return $failed > 0 ? self::FAILURE : self::SUCCESS; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Console/Commands/RefreshUserStats.php b/packages/core-php/src/Mod/Tenant/Console/Commands/RefreshUserStats.php deleted file mode 100644 index 2e69729..0000000 --- a/packages/core-php/src/Mod/Tenant/Console/Commands/RefreshUserStats.php +++ /dev/null @@ -1,56 +0,0 @@ -option('user')) { - $this->refreshUser($userId); - - return Command::SUCCESS; - } - - // Refresh all users with stale stats (> 1 hour old) - $staleUsers = User::where(function ($query) { - $query->whereNull('stats_computed_at') - ->orWhere('stats_computed_at', '<', now()->subHour()); - })->pluck('id'); - - $this->info("Queuing stats refresh for {$staleUsers->count()} users..."); - - foreach ($staleUsers as $userId) { - ComputeUserStats::dispatch($userId)->onQueue('stats'); - } - - $this->info('Done! Stats will be computed in background.'); - - return Command::SUCCESS; - } - - protected function refreshUser(int $userId): void - { - $user = User::find($userId); - - if (! $user) { - $this->error("User {$userId} not found."); - - return; - } - - $this->info("Computing stats for user: {$user->name}..."); - ComputeUserStats::dispatchSync($userId); - $this->info('Done!'); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Console/Commands/ResetBillingCycles.php b/packages/core-php/src/Mod/Tenant/Console/Commands/ResetBillingCycles.php deleted file mode 100644 index 4c64106..0000000 --- a/packages/core-php/src/Mod/Tenant/Console/Commands/ResetBillingCycles.php +++ /dev/null @@ -1,411 +0,0 @@ -option('dry-run'); - $verbose = $this->option('verbose'); - - if ($dryRun) { - $this->info('DRY RUN: No changes will be made.'); - } - - $this->info('Starting billing cycle reset process...'); - $this->newLine(); - - if ($workspaceOption = $this->option('workspace')) { - return $this->processSingleWorkspace($workspaceOption, $dryRun, $verbose); - } - - return $this->processAllWorkspaces($dryRun, $verbose); - } - - /** - * Process a single workspace. - */ - protected function processSingleWorkspace(string $identifier, bool $dryRun, bool $verbose): int - { - $workspace = is_numeric($identifier) - ? Workspace::find($identifier) - : Workspace::where('slug', $identifier)->first(); - - if (! $workspace) { - $this->error("Workspace not found: {$identifier}"); - - return self::FAILURE; - } - - $this->info("Processing workspace: {$workspace->name} ({$workspace->slug})"); - - $result = $this->processWorkspace($workspace, $dryRun, $verbose); - - $this->outputSummary(); - - return $result ? self::SUCCESS : self::FAILURE; - } - - /** - * Process all workspaces. - */ - protected function processAllWorkspaces(bool $dryRun, bool $verbose): int - { - // Get workspaces with active packages - $workspaces = Workspace::query() - ->active() - ->whereHas('workspacePackages', fn ($q) => $q->active()) - ->get(); - - $this->info("Found {$workspaces->count()} active workspaces with packages."); - $this->newLine(); - - $bar = $this->output->createProgressBar($workspaces->count()); - $bar->start(); - - foreach ($workspaces as $workspace) { - try { - $this->processWorkspace($workspace, $dryRun, $verbose); - $this->workspacesProcessed++; - } catch (\Exception $e) { - $this->newLine(); - $this->error("Error processing workspace {$workspace->slug}: {$e->getMessage()}"); - - Log::error('Billing cycle reset failed for workspace', [ - 'workspace_id' => $workspace->id, - 'workspace_slug' => $workspace->slug, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - } - - $bar->advance(); - } - - $bar->finish(); - $this->newLine(2); - - $this->outputSummary(); - - return self::SUCCESS; - } - - /** - * Process a single workspace's billing cycle. - */ - protected function processWorkspace(Workspace $workspace, bool $dryRun, bool $verbose): bool - { - // Get the primary (base) package to determine billing cycle - $primaryPackage = $workspace->workspacePackages() - ->whereHas('package', fn ($q) => $q->where('is_base_package', true)) - ->active() - ->first(); - - if (! $primaryPackage) { - if ($verbose) { - $this->line(" Skipping {$workspace->name}: No active base package"); - } - - return true; - } - - $cycleStart = $primaryPackage->getCurrentCycleStart(); - $cycleEnd = $primaryPackage->getCurrentCycleEnd(); - $previousCycleEnd = $cycleStart; - - // Determine if we're at a billing cycle boundary (within 24 hours of cycle start) - $isAtCycleStart = now()->diffInHours($cycleStart) < 24 && now()->gte($cycleStart); - - if ($verbose) { - $this->newLine(); - $this->line(" Workspace: {$workspace->name}"); - $this->line(" Cycle: {$cycleStart->format('Y-m-d')} to {$cycleEnd->format('Y-m-d')}"); - $this->line(' At cycle start: '.($isAtCycleStart ? 'Yes' : 'No')); - } - - // 1. Expire cycle-bound boosts from previous cycle - $expiredBoosts = $this->expireCycleBoundBoosts($workspace, $previousCycleEnd, $dryRun, $verbose); - - // 2. Reset usage counters at cycle start - if ($isAtCycleStart) { - $this->resetUsageCounters($workspace, $cycleStart, $dryRun, $verbose); - } - - // 3. Expire time-based boosts that have passed their expiry - $this->expireTimedBoosts($workspace, $dryRun, $verbose); - - // 4. Send notifications for expired boosts - if (! $dryRun && $expiredBoosts->isNotEmpty()) { - $this->sendBoostExpiryNotifications($workspace, $expiredBoosts, $verbose); - } - - return true; - } - - /** - * Expire cycle-bound boosts that should have ended in the previous cycle. - */ - protected function expireCycleBoundBoosts(Workspace $workspace, Carbon $cycleEnd, bool $dryRun, bool $verbose): Collection - { - $boosts = $workspace->boosts() - ->where('duration_type', Boost::DURATION_CYCLE_BOUND) - ->where('status', Boost::STATUS_ACTIVE) - ->where(function ($q) { - // Either no explicit expiry (cycle-bound) or expiry has passed - $q->whereNull('expires_at') - ->orWhere('expires_at', '<=', now()); - }) - ->get(); - - if ($boosts->isEmpty()) { - return collect(); - } - - if ($verbose) { - $this->line(" Found {$boosts->count()} cycle-bound boosts to expire"); - } - - if ($dryRun) { - foreach ($boosts as $boost) { - $this->line(" [DRY RUN] Would expire boost: {$boost->feature_code} (ID: {$boost->id})"); - } - - return $boosts; - } - - DB::transaction(function () use ($workspace, $boosts) { - foreach ($boosts as $boost) { - $boost->expire(); - - EntitlementLog::logBoostAction( - $workspace, - EntitlementLog::ACTION_BOOST_EXPIRED, - $boost, - source: EntitlementLog::SOURCE_SYSTEM, - metadata: [ - 'reason' => 'Billing cycle ended', - 'expired_at' => now()->toIso8601String(), - ] - ); - - $this->boostsExpired++; - } - }); - - // Invalidate entitlement cache - $this->entitlementService->invalidateCache($workspace); - - Log::info('Billing cycle: Expired cycle-bound boosts', [ - 'workspace_id' => $workspace->id, - 'workspace_slug' => $workspace->slug, - 'boosts_expired' => $boosts->count(), - 'boost_ids' => $boosts->pluck('id')->toArray(), - ]); - - return $boosts; - } - - /** - * Expire boosts with explicit time-based expiry that has passed. - */ - protected function expireTimedBoosts(Workspace $workspace, bool $dryRun, bool $verbose): void - { - $boosts = $workspace->boosts() - ->where('duration_type', Boost::DURATION_DURATION) - ->where('status', Boost::STATUS_ACTIVE) - ->where('expires_at', '<=', now()) - ->get(); - - if ($boosts->isEmpty()) { - return; - } - - if ($verbose) { - $this->line(" Found {$boosts->count()} timed boosts to expire"); - } - - if ($dryRun) { - foreach ($boosts as $boost) { - $this->line(" [DRY RUN] Would expire timed boost: {$boost->feature_code} (ID: {$boost->id})"); - } - - return; - } - - DB::transaction(function () use ($workspace, $boosts) { - foreach ($boosts as $boost) { - $boost->expire(); - - EntitlementLog::logBoostAction( - $workspace, - EntitlementLog::ACTION_BOOST_EXPIRED, - $boost, - source: EntitlementLog::SOURCE_SYSTEM, - metadata: [ - 'reason' => 'Duration expired', - 'expires_at' => $boost->expires_at->toIso8601String(), - 'expired_at' => now()->toIso8601String(), - ] - ); - - $this->boostsExpired++; - } - }); - - $this->entitlementService->invalidateCache($workspace); - } - - /** - * Reset usage counters for cycle-based features. - * - * Note: We don't actually delete usage records - instead, the EntitlementService - * calculates usage based on the current cycle start date. This method logs the - * cycle reset for audit purposes. - */ - protected function resetUsageCounters(Workspace $workspace, Carbon $cycleStart, bool $dryRun, bool $verbose): void - { - // Get count of usage records from previous cycle - $previousUsage = UsageRecord::where('workspace_id', $workspace->id) - ->where('recorded_at', '<', $cycleStart) - ->count(); - - if ($previousUsage === 0) { - return; - } - - if ($verbose) { - $this->line(" Cycle reset: {$previousUsage} usage records now in previous cycle"); - } - - if ($dryRun) { - $this->line(' [DRY RUN] Would log cycle reset for workspace'); - - return; - } - - // Log the cycle reset for audit trail - EntitlementLog::create([ - 'workspace_id' => $workspace->id, - 'action' => EntitlementLog::ACTION_CYCLE_RESET, - 'entity_type' => 'workspace', - 'entity_id' => $workspace->id, - 'source' => EntitlementLog::SOURCE_SYSTEM, - 'metadata' => [ - 'cycle_start' => $cycleStart->toIso8601String(), - 'previous_cycle_records' => $previousUsage, - 'reset_at' => now()->toIso8601String(), - ], - ]); - - $this->usageCountersReset++; - - // Invalidate usage cache so new calculations use current cycle - $this->entitlementService->invalidateCache($workspace); - - Log::info('Billing cycle: Reset usage counters', [ - 'workspace_id' => $workspace->id, - 'workspace_slug' => $workspace->slug, - 'cycle_start' => $cycleStart->toIso8601String(), - 'previous_cycle_records' => $previousUsage, - ]); - } - - /** - * Send notifications to workspace owner about expired boosts. - */ - protected function sendBoostExpiryNotifications(Workspace $workspace, Collection $expiredBoosts, bool $verbose): void - { - $owner = $workspace->owner(); - - if (! $owner) { - if ($verbose) { - $this->line(' No owner found for notification'); - } - - return; - } - - try { - $owner->notify(new BoostExpiredNotification($workspace, $expiredBoosts)); - $this->notificationsSent++; - - if ($verbose) { - $this->line(" Sent boost expiry notification to: {$owner->email}"); - } - } catch (\Exception $e) { - Log::error('Failed to send boost expiry notification', [ - 'workspace_id' => $workspace->id, - 'user_id' => $owner->id, - 'error' => $e->getMessage(), - ]); - } - } - - /** - * Output summary statistics. - */ - protected function outputSummary(): void - { - $this->info('Billing cycle reset completed.'); - $this->newLine(); - - $this->table( - ['Metric', 'Count'], - [ - ['Workspaces processed', $this->workspacesProcessed], - ['Boosts expired', $this->boostsExpired], - ['Usage cycles reset', $this->usageCountersReset], - ['Notifications sent', $this->notificationsSent], - ] - ); - - if ($this->boostsExpired > 0) { - $this->comment('Boost expiry notifications have been queued for delivery.'); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Contracts/EntitlementWebhookEvent.php b/packages/core-php/src/Mod/Tenant/Contracts/EntitlementWebhookEvent.php deleted file mode 100644 index 569a070..0000000 --- a/packages/core-php/src/Mod/Tenant/Contracts/EntitlementWebhookEvent.php +++ /dev/null @@ -1,37 +0,0 @@ - - */ - public function payload(): array; - - /** - * Get a human-readable message for this event. - */ - public function message(): string; -} diff --git a/packages/core-php/src/Mod/Tenant/Contracts/TwoFactorAuthenticationProvider.php b/packages/core-php/src/Mod/Tenant/Contracts/TwoFactorAuthenticationProvider.php deleted file mode 100644 index eb5230b..0000000 --- a/packages/core-php/src/Mod/Tenant/Contracts/TwoFactorAuthenticationProvider.php +++ /dev/null @@ -1,36 +0,0 @@ -resolveWorkspace($request); - - $webhooks = EntitlementWebhook::query() - ->forWorkspace($workspace) - ->withCount('deliveries') - ->latest() - ->paginate($request->integer('per_page', 25)); - - return response()->json($webhooks); - } - - /** - * Create a new webhook. - */ - public function store(Request $request): JsonResponse - { - $workspace = $this->resolveWorkspace($request); - - $validated = $request->validate([ - 'name' => ['required', 'string', 'max:255'], - 'url' => ['required', 'url', 'max:2048'], - 'events' => ['required', 'array', 'min:1'], - 'events.*' => ['string', Rule::in(EntitlementWebhook::EVENTS)], - 'secret' => ['nullable', 'string', 'min:32'], - 'metadata' => ['nullable', 'array'], - ]); - - $webhook = $this->webhookService->register( - workspace: $workspace, - name: $validated['name'], - url: $validated['url'], - events: $validated['events'], - secret: $validated['secret'] ?? null, - metadata: $validated['metadata'] ?? [] - ); - - return response()->json([ - 'message' => __('Webhook created successfully'), - 'webhook' => $webhook, - 'secret' => $webhook->secret, // Return secret on creation only - ], 201); - } - - /** - * Get a specific webhook. - */ - public function show(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $webhook->loadCount('deliveries'); - $webhook->load(['deliveries' => fn ($q) => $q->latest('created_at')->limit(10)]); - - return response()->json([ - 'webhook' => $webhook, - 'available_events' => $this->webhookService->getAvailableEvents(), - ]); - } - - /** - * Update a webhook. - */ - public function update(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $validated = $request->validate([ - 'name' => ['sometimes', 'string', 'max:255'], - 'url' => ['sometimes', 'url', 'max:2048'], - 'events' => ['sometimes', 'array', 'min:1'], - 'events.*' => ['string', Rule::in(EntitlementWebhook::EVENTS)], - 'is_active' => ['sometimes', 'boolean'], - 'max_attempts' => ['sometimes', 'integer', 'min:1', 'max:10'], - 'metadata' => ['sometimes', 'array'], - ]); - - $webhook = $this->webhookService->update($webhook, $validated); - - return response()->json([ - 'message' => __('Webhook updated successfully'), - 'webhook' => $webhook, - ]); - } - - /** - * Delete a webhook. - */ - public function destroy(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $this->webhookService->unregister($webhook); - - return response()->json([ - 'message' => __('Webhook deleted successfully'), - ]); - } - - /** - * Regenerate webhook secret. - */ - public function regenerateSecret(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $secret = $webhook->regenerateSecret(); - - return response()->json([ - 'message' => __('Secret regenerated successfully'), - 'secret' => $secret, - ]); - } - - /** - * Send a test webhook. - */ - public function test(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $delivery = $this->webhookService->testWebhook($webhook); - - return response()->json([ - 'message' => $delivery->isSucceeded() - ? __('Test webhook sent successfully') - : __('Test webhook failed'), - 'delivery' => $delivery, - ]); - } - - /** - * Reset circuit breaker for a webhook. - */ - public function resetCircuitBreaker(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $this->webhookService->resetCircuitBreaker($webhook); - - return response()->json([ - 'message' => __('Webhook re-enabled successfully'), - 'webhook' => $webhook->refresh(), - ]); - } - - /** - * Get delivery history for a webhook. - */ - public function deliveries(Request $request, EntitlementWebhook $webhook): JsonResponse - { - $this->authorizeWebhook($request, $webhook); - - $deliveries = $webhook->deliveries() - ->latest('created_at') - ->paginate($request->integer('per_page', 50)); - - return response()->json($deliveries); - } - - /** - * Retry a failed delivery. - */ - public function retryDelivery(Request $request, EntitlementWebhookDelivery $delivery): JsonResponse - { - $this->authorizeWebhook($request, $delivery->webhook); - - if ($delivery->isSucceeded()) { - return response()->json([ - 'message' => __('Cannot retry a successful delivery'), - ], 422); - } - - $delivery = $this->webhookService->retryDelivery($delivery); - - return response()->json([ - 'message' => $delivery->isSucceeded() - ? __('Delivery retried successfully') - : __('Delivery retry failed'), - 'delivery' => $delivery, - ]); - } - - /** - * Get available event types. - */ - public function events(): JsonResponse - { - return response()->json([ - 'events' => $this->webhookService->getAvailableEvents(), - ]); - } - - /** - * Resolve the workspace from the request. - */ - protected function resolveWorkspace(Request $request): Workspace - { - // First try explicit workspace_id parameter - if ($request->has('workspace_id')) { - $workspace = Workspace::findOrFail($request->integer('workspace_id')); - - // Verify user has access - if (! $request->user()->workspaces->contains($workspace)) { - abort(403, 'You do not have access to this workspace'); - } - - return $workspace; - } - - // Fall back to user's default workspace - return $request->user()->defaultHostWorkspace() - ?? abort(400, 'No workspace specified and user has no default workspace'); - } - - /** - * Authorize that the user can access this webhook. - */ - protected function authorizeWebhook(Request $request, EntitlementWebhook $webhook): void - { - if (! $request->user()->workspaces->contains($webhook->workspace)) { - abort(403, 'You do not have access to this webhook'); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Controllers/EntitlementApiController.php b/packages/core-php/src/Mod/Tenant/Controllers/EntitlementApiController.php deleted file mode 100644 index bb8dce6..0000000 --- a/packages/core-php/src/Mod/Tenant/Controllers/EntitlementApiController.php +++ /dev/null @@ -1,493 +0,0 @@ -validate([ - 'email' => 'required|email', - 'name' => 'required|string|max:255', - 'product_code' => 'required|string', - 'billing_cycle_anchor' => 'nullable|date', - 'expires_at' => 'nullable|date', - 'blesta_service_id' => 'nullable|string', - ]); - - // Find or create the user - $user = User::where('email', $validated['email'])->first(); - $isNewUser = false; - - if (! $user) { - $user = User::create([ - 'name' => $validated['name'], - 'email' => $validated['email'], - 'password' => bcrypt(Str::random(32)), // Random password, user can reset - ]); - $isNewUser = true; - - // Trigger email verification notification - event(new Registered($user)); - } - - // Find the package - $package = Package::where('code', $validated['product_code'])->first(); - - if (! $package) { - return response()->json([ - 'success' => false, - 'error' => "Package '{$validated['product_code']}' not found", - ], 404); - } - - // Get or create the user's primary workspace - $workspace = $user->ownedWorkspaces()->first(); - - if (! $workspace) { - $workspace = Workspace::create([ - 'name' => $user->name."'s Workspace", - 'slug' => Str::slug($user->name).'-'.Str::random(6), - 'domain' => 'hub.host.uk.com', - 'type' => 'custom', - ]); - - // Attach user as owner - $workspace->users()->attach($user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - } - - // Provision the package - $workspacePackage = $this->entitlements->provisionPackage( - $workspace, - $package->code, - [ - 'source' => EntitlementLog::SOURCE_BLESTA, - 'billing_cycle_anchor' => $validated['billing_cycle_anchor'] - ? now()->parse($validated['billing_cycle_anchor']) - : now(), - 'expires_at' => $validated['expires_at'] - ? now()->parse($validated['expires_at']) - : null, - 'blesta_service_id' => $validated['blesta_service_id'], - 'metadata' => [ - 'created_via' => 'blesta_api', - 'client_email' => $validated['email'], - ], - ] - ); - - return response()->json([ - 'success' => true, - 'entitlement_id' => $workspacePackage->id, - 'workspace_id' => $workspace->id, - 'workspace_slug' => $workspace->slug, - 'package' => $package->code, - 'status' => $workspacePackage->status, - ], 201); - } - - /** - * Suspend an entitlement. - */ - public function suspend(Request $request, int $id): JsonResponse - { - $workspacePackage = WorkspacePackage::find($id); - - if (! $workspacePackage) { - return response()->json([ - 'success' => false, - 'error' => 'Entitlement not found', - ], 404); - } - - $workspace = $workspacePackage->workspace; - $workspacePackage->suspend(); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_SUSPENDED, - $workspacePackage, - source: EntitlementLog::SOURCE_BLESTA, - metadata: ['reason' => $request->input('reason', 'Suspended via Blesta')] - ); - - $this->entitlements->invalidateCache($workspace); - - return response()->json([ - 'success' => true, - 'entitlement_id' => $workspacePackage->id, - 'status' => $workspacePackage->fresh()->status, - ]); - } - - /** - * Unsuspend (reactivate) an entitlement. - */ - public function unsuspend(Request $request, int $id): JsonResponse - { - $workspacePackage = WorkspacePackage::find($id); - - if (! $workspacePackage) { - return response()->json([ - 'success' => false, - 'error' => 'Entitlement not found', - ], 404); - } - - $workspace = $workspacePackage->workspace; - $workspacePackage->reactivate(); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_REACTIVATED, - $workspacePackage, - source: EntitlementLog::SOURCE_BLESTA - ); - - $this->entitlements->invalidateCache($workspace); - - return response()->json([ - 'success' => true, - 'entitlement_id' => $workspacePackage->id, - 'status' => $workspacePackage->fresh()->status, - ]); - } - - /** - * Cancel an entitlement. - */ - public function cancel(Request $request, int $id): JsonResponse - { - $workspacePackage = WorkspacePackage::find($id); - - if (! $workspacePackage) { - return response()->json([ - 'success' => false, - 'error' => 'Entitlement not found', - ], 404); - } - - $workspace = $workspacePackage->workspace; - $workspacePackage->cancel(now()); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_CANCELLED, - $workspacePackage, - source: EntitlementLog::SOURCE_BLESTA, - metadata: ['reason' => $request->input('reason', 'Cancelled via Blesta')] - ); - - $this->entitlements->invalidateCache($workspace); - - return response()->json([ - 'success' => true, - 'entitlement_id' => $workspacePackage->id, - 'status' => $workspacePackage->fresh()->status, - ]); - } - - /** - * Renew an entitlement (extend expiry, reset usage). - */ - public function renew(Request $request, int $id): JsonResponse - { - $validated = $request->validate([ - 'expires_at' => 'nullable|date', - 'billing_cycle_anchor' => 'nullable|date', - ]); - - $workspacePackage = WorkspacePackage::find($id); - - if (! $workspacePackage) { - return response()->json([ - 'success' => false, - 'error' => 'Entitlement not found', - ], 404); - } - - $workspace = $workspacePackage->workspace; - - // Update dates - $updates = []; - if (isset($validated['expires_at'])) { - $updates['expires_at'] = now()->parse($validated['expires_at']); - } - if (isset($validated['billing_cycle_anchor'])) { - $updates['billing_cycle_anchor'] = now()->parse($validated['billing_cycle_anchor']); - } - - if (! empty($updates)) { - $workspacePackage->update($updates); - } - - // Expire cycle-bound boosts from the previous cycle - $this->entitlements->expireCycleBoundBoosts($workspace); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_RENEWED, - $workspacePackage, - source: EntitlementLog::SOURCE_BLESTA, - newValues: $updates - ); - - $this->entitlements->invalidateCache($workspace); - - return response()->json([ - 'success' => true, - 'entitlement_id' => $workspacePackage->id, - 'status' => $workspacePackage->fresh()->status, - 'expires_at' => $workspacePackage->fresh()->expires_at?->toIso8601String(), - ]); - } - - /** - * Get entitlement details. - */ - public function show(int $id): JsonResponse - { - $workspacePackage = WorkspacePackage::with(['package', 'workspace'])->find($id); - - if (! $workspacePackage) { - return response()->json([ - 'success' => false, - 'error' => 'Entitlement not found', - ], 404); - } - - return response()->json([ - 'success' => true, - 'entitlement' => [ - 'id' => $workspacePackage->id, - 'workspace_id' => $workspacePackage->workspace_id, - 'workspace_slug' => $workspacePackage->workspace->slug, - 'package_code' => $workspacePackage->package->code, - 'package_name' => $workspacePackage->package->name, - 'status' => $workspacePackage->status, - 'starts_at' => $workspacePackage->starts_at?->toIso8601String(), - 'expires_at' => $workspacePackage->expires_at?->toIso8601String(), - 'billing_cycle_anchor' => $workspacePackage->billing_cycle_anchor?->toIso8601String(), - 'blesta_service_id' => $workspacePackage->blesta_service_id, - ], - ]); - } - - // ========================================================================== - // Cross-App Entitlement API (for external services like BioHost) - // ========================================================================== - - /** - * Check if a feature is allowed for a user/workspace. - * - * Used by external apps (BioHost, etc.) to check entitlements. - * - * Query params: - * - email: User email to lookup workspace - * - feature: Feature code to check - * - quantity: Optional quantity to check (default 1) - */ - public function check(Request $request): JsonResponse - { - $validated = $request->validate([ - 'email' => 'required|email', - 'feature' => 'required|string', - 'quantity' => 'nullable|integer|min:1', - ]); - - // Find user by email - $user = User::where('email', $validated['email'])->first(); - - if (! $user) { - return response()->json([ - 'allowed' => false, - 'reason' => 'User not found', - 'feature_code' => $validated['feature'], - ], 404); - } - - // Get user's primary workspace - $workspace = $user->defaultHostWorkspace(); - - if (! $workspace) { - return response()->json([ - 'allowed' => false, - 'reason' => 'No workspace found for user', - 'feature_code' => $validated['feature'], - ], 404); - } - - // Check entitlement - $result = $this->entitlements->can( - $workspace, - $validated['feature'], - (int) ($validated['quantity'] ?? 1) - ); - - return response()->json([ - 'allowed' => $result->isAllowed(), - 'limit' => $result->limit, - 'used' => $result->used, - 'remaining' => $result->remaining, - 'unlimited' => $result->isUnlimited(), - 'usage_percentage' => $result->getUsagePercentage(), - 'feature_code' => $validated['feature'], - 'workspace_id' => $workspace->id, - ]); - } - - /** - * Record usage for a feature. - * - * Used by external apps to record usage after an action is performed. - */ - public function recordUsage(Request $request): JsonResponse - { - $validated = $request->validate([ - 'email' => 'required|email', - 'feature' => 'required|string', - 'quantity' => 'nullable|integer|min:1', - 'metadata' => 'nullable|array', - ]); - - // Find user by email - $user = User::where('email', $validated['email'])->first(); - - if (! $user) { - return response()->json([ - 'success' => false, - 'error' => 'User not found', - ], 404); - } - - // Get user's primary workspace - $workspace = $user->defaultHostWorkspace(); - - if (! $workspace) { - return response()->json([ - 'success' => false, - 'error' => 'No workspace found for user', - ], 404); - } - - // Record usage - $record = $this->entitlements->recordUsage( - $workspace, - $validated['feature'], - $validated['quantity'] ?? 1, - $user, - $validated['metadata'] ?? null - ); - - return response()->json([ - 'success' => true, - 'usage_record_id' => $record->id, - 'feature_code' => $validated['feature'], - 'quantity' => $validated['quantity'] ?? 1, - ], 201); - } - - /** - * Get usage summary for a workspace. - * - * Returns all features with their current usage for dashboard display. - */ - public function summary(Request $request, Workspace $workspace): JsonResponse - { - // Get active packages - $packages = $this->entitlements->getActivePackages($workspace); - - // Get active boosts - $boosts = $this->entitlements->getActiveBoosts($workspace); - - // Get usage summary grouped by category - $usageSummary = $this->entitlements->getUsageSummary($workspace); - - // Format features for response - $features = []; - foreach ($usageSummary as $category => $categoryFeatures) { - $features[$category] = collect($categoryFeatures)->map(fn ($f) => [ - 'code' => $f['code'], - 'name' => $f['name'], - 'limit' => $f['limit'], - 'used' => $f['used'], - 'remaining' => $f['remaining'], - 'unlimited' => $f['unlimited'], - 'percentage' => $f['percentage'], - ])->values()->toArray(); - } - - return response()->json([ - 'workspace_id' => $workspace->id, - 'packages' => $packages->map(fn ($wp) => [ - 'code' => $wp->package->code, - 'name' => $wp->package->name, - 'status' => $wp->status, - 'expires_at' => $wp->expires_at?->toIso8601String(), - ])->values(), - 'features' => $features, - 'boosts' => $boosts->map(fn ($b) => [ - 'feature' => $b->feature_code, - 'value' => $b->limit_value, - 'type' => $b->boost_type, - 'expires_at' => $b->expires_at?->toIso8601String(), - ])->values(), - ]); - } - - /** - * Get usage summary for the authenticated user's workspace. - */ - public function mySummary(Request $request): JsonResponse - { - $user = $request->user(); - - if (! $user) { - return response()->json([ - 'error' => 'Unauthenticated', - ], 401); - } - - $workspace = $user->defaultHostWorkspace(); - - if (! $workspace) { - return response()->json([ - 'error' => 'No workspace found', - ], 404); - } - - return $this->summary($request, $workspace); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Controllers/ReferralController.php b/packages/core-php/src/Mod/Tenant/Controllers/ReferralController.php deleted file mode 100644 index 2382ac1..0000000 --- a/packages/core-php/src/Mod/Tenant/Controllers/ReferralController.php +++ /dev/null @@ -1,138 +0,0 @@ -route('pricing'); - } - - // Normalise provider and model to lowercase - $provider = strtolower($provider); - $model = $model ? strtolower($model) : null; - - // Build referral data for session (includes hashed IP for fraud detection) - $referral = [ - 'provider' => $provider, - 'model' => $model, - 'referred_at' => now()->toIso8601String(), - 'ip_hash' => PrivacyHelper::hashIp($request->ip()), - ]; - - // Track the referral visit in stats (raw inbound count) - TreePlantingStats::incrementReferrals($provider, $model); - - // Store in session (primary) - includes hashed IP - $request->session()->put(self::REFERRAL_SESSION, $referral); - - // Cookie data - exclude IP for privacy (GDPR compliance) - // Provider/model is sufficient for referral attribution - $cookieData = [ - 'provider' => $provider, - 'model' => $model, - 'referred_at' => $referral['referred_at'], - ]; - - // Set 30-day cookie (backup for session expiry) - $cookie = Cookie::make( - name: self::REFERRAL_COOKIE, - value: json_encode($cookieData), - minutes: self::COOKIE_LIFETIME, - path: '/', - domain: config('session.domain'), - secure: config('app.env') === 'production', - httpOnly: true, - sameSite: 'lax' - ); - - // Redirect to pricing with ref=agent parameter - return redirect() - ->route('pricing', ['ref' => 'agent']) - ->withCookie($cookie); - } - - /** - * Get the agent referral from session or cookie. - * - * @return array{provider: string, model: ?string, referred_at: string, ip_hash?: string}|null - */ - public static function getReferral(Request $request): ?array - { - // Try session first - $referral = $request->session()->get(self::REFERRAL_SESSION); - - if ($referral) { - return $referral; - } - - // Fall back to cookie - $cookie = $request->cookie(self::REFERRAL_COOKIE); - - if ($cookie) { - try { - $decoded = json_decode($cookie, true); - if (is_array($decoded) && isset($decoded['provider'])) { - return $decoded; - } - } catch (\Throwable) { - // Cookie invalid — ignore - } - } - - return null; - } - - /** - * Clear the agent referral from session and cookie. - */ - public static function clearReferral(Request $request): void - { - $request->session()->forget(self::REFERRAL_SESSION); - Cookie::queue(Cookie::forget(self::REFERRAL_COOKIE)); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Controllers/WorkspaceController.php b/packages/core-php/src/Mod/Tenant/Controllers/WorkspaceController.php deleted file mode 100644 index 91c7d68..0000000 --- a/packages/core-php/src/Mod/Tenant/Controllers/WorkspaceController.php +++ /dev/null @@ -1,277 +0,0 @@ -user(); - - if (! $user instanceof User) { - return $this->accessDeniedResponse('Authentication required.'); - } - - $query = $user->workspaces() - ->withCount(['users', 'bioPages']) - ->orderBy('user_workspace.is_default', 'desc') - ->orderBy('workspaces.name', 'asc'); - - // Filter by type - if ($request->has('type')) { - $query->where('type', $request->input('type')); - } - - // Filter by active status - if ($request->has('is_active')) { - $query->where('is_active', filter_var($request->input('is_active'), FILTER_VALIDATE_BOOLEAN)); - } - - // Search by name - if ($request->has('search')) { - $query->where('workspaces.name', 'like', '%'.$request->input('search').'%'); - } - - $perPage = min((int) $request->input('per_page', 25), 100); - $workspaces = $query->paginate($perPage); - - return new PaginatedCollection($workspaces, WorkspaceResource::class); - } - - /** - * Get the current workspace. - * - * GET /api/v1/workspaces/current - */ - public function current(Request $request): WorkspaceResource|JsonResponse - { - $workspace = $this->resolveWorkspace($request); - - if (! $workspace) { - return $this->noWorkspaceResponse(); - } - - $workspace->loadCount(['users', 'bioPages']); - - return new WorkspaceResource($workspace); - } - - /** - * Get a single workspace. - * - * GET /api/v1/workspaces/{workspace} - */ - public function show(Request $request, Workspace $workspace): WorkspaceResource|JsonResponse - { - $user = $request->user(); - - if (! $user instanceof User) { - return $this->accessDeniedResponse('Authentication required.'); - } - - // Verify user has access to workspace - $hasAccess = $user->workspaces() - ->where('workspaces.id', $workspace->id) - ->exists(); - - if (! $hasAccess) { - return $this->notFoundResponse('Workspace'); - } - - $workspace->loadCount(['users', 'bioPages']); - - return new WorkspaceResource($workspace); - } - - /** - * Create a new workspace. - * - * POST /api/v1/workspaces - */ - public function store(Request $request): WorkspaceResource|JsonResponse - { - $user = $request->user(); - - if (! $user instanceof User) { - return $this->accessDeniedResponse('Authentication required.'); - } - - $validated = $request->validate([ - 'name' => 'required|string|max:255', - 'slug' => 'nullable|string|max:100|unique:workspaces,slug', - 'icon' => 'nullable|string|max:50', - 'color' => 'nullable|string|max:20', - 'description' => 'nullable|string|max:500', - 'type' => 'nullable|string|in:personal,team,agency,custom', - ]); - - // Generate slug if not provided - if (empty($validated['slug'])) { - $validated['slug'] = \Illuminate\Support\Str::slug($validated['name']).'-'.\Illuminate\Support\Str::random(6); - } - - // Set default domain - $validated['domain'] = 'hub.host.uk.com'; - $validated['type'] = $validated['type'] ?? 'custom'; - - $workspace = Workspace::create($validated); - - // Attach user as owner - $workspace->users()->attach($user->id, [ - 'role' => 'owner', - 'is_default' => false, - ]); - - $workspace->loadCount(['users', 'bioPages']); - - return new WorkspaceResource($workspace); - } - - /** - * Update a workspace. - * - * PUT /api/v1/workspaces/{workspace} - */ - public function update(Request $request, Workspace $workspace): WorkspaceResource|JsonResponse - { - $user = $request->user(); - - if (! $user instanceof User) { - return $this->accessDeniedResponse('Authentication required.'); - } - - // Verify user has owner/admin access - $pivot = $user->workspaces() - ->where('workspaces.id', $workspace->id) - ->first() - ?->pivot; - - if (! $pivot || ! in_array($pivot->role, ['owner', 'admin'], true)) { - return $this->accessDeniedResponse('You do not have permission to update this workspace.'); - } - - $validated = $request->validate([ - 'name' => 'sometimes|string|max:255', - 'slug' => 'sometimes|string|max:100|unique:workspaces,slug,'.$workspace->id, - 'icon' => 'nullable|string|max:50', - 'color' => 'nullable|string|max:20', - 'description' => 'nullable|string|max:500', - 'is_active' => 'sometimes|boolean', - ]); - - $workspace->update($validated); - $workspace->loadCount(['users', 'bioPages']); - - return new WorkspaceResource($workspace); - } - - /** - * Delete a workspace. - * - * DELETE /api/v1/workspaces/{workspace} - */ - public function destroy(Request $request, Workspace $workspace): JsonResponse - { - $user = $request->user(); - - if (! $user instanceof User) { - return $this->accessDeniedResponse('Authentication required.'); - } - - // Verify user is the owner - $pivot = $user->workspaces() - ->where('workspaces.id', $workspace->id) - ->first() - ?->pivot; - - if (! $pivot || $pivot->role !== 'owner') { - return $this->accessDeniedResponse('Only the workspace owner can delete a workspace.'); - } - - // Prevent deleting user's only workspace - $workspaceCount = $user->workspaces()->count(); - if ($workspaceCount <= 1) { - return response()->json([ - 'error' => 'cannot_delete', - 'message' => 'You cannot delete your only workspace.', - ], 422); - } - - $workspace->delete(); - - return response()->json(null, 204); - } - - /** - * Switch to a workspace (set as default). - * - * POST /api/v1/workspaces/{workspace}/switch - */ - public function switch(Request $request, Workspace $workspace): WorkspaceResource|JsonResponse - { - $user = $request->user(); - - if (! $user instanceof User) { - return $this->accessDeniedResponse('Authentication required.'); - } - - // Verify user has access - $hasAccess = $user->workspaces() - ->where('workspaces.id', $workspace->id) - ->exists(); - - if (! $hasAccess) { - return $this->notFoundResponse('Workspace'); - } - - // Use a single transaction with optimised query: - // Clear all defaults and set the new one in one operation using raw update - \Illuminate\Support\Facades\DB::transaction(function () use ($user, $workspace) { - // Clear all existing defaults for this user's hub workspaces - \Illuminate\Support\Facades\DB::table('user_workspace') - ->where('user_id', $user->id) - ->whereIn('workspace_id', function ($query) { - $query->select('id') - ->from('workspaces') - ->where('domain', 'hub.host.uk.com'); - }) - ->update(['is_default' => false]); - - // Set the new default - \Illuminate\Support\Facades\DB::table('user_workspace') - ->where('user_id', $user->id) - ->where('workspace_id', $workspace->id) - ->update(['is_default' => true]); - }); - - $workspace->loadCount(['users', 'bioPages']); - - return new WorkspaceResource($workspace); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Controllers/WorkspaceInvitationController.php b/packages/core-php/src/Mod/Tenant/Controllers/WorkspaceInvitationController.php deleted file mode 100644 index 999d1ff..0000000 --- a/packages/core-php/src/Mod/Tenant/Controllers/WorkspaceInvitationController.php +++ /dev/null @@ -1,68 +0,0 @@ -route('login') - ->with('error', 'This invitation link is invalid.'); - } - - // Already accepted - if ($invitation->isAccepted()) { - return redirect()->route('login') - ->with('info', 'This invitation has already been accepted.'); - } - - // Expired - if ($invitation->isExpired()) { - return redirect()->route('login') - ->with('error', 'This invitation has expired. Please ask the workspace owner to send a new invitation.'); - } - - // User not authenticated - redirect to login with intended return URL - if (! $request->user()) { - return redirect()->route('login', [ - 'email' => $invitation->email, - ])->with('invitation_token', $token) - ->with('info', "You've been invited to join {$invitation->workspace->name}. Please log in or register to accept."); - } - - // Accept the invitation - $accepted = Workspace::acceptInvitation($token, $request->user()); - - if (! $accepted) { - return redirect()->route('dashboard') - ->with('error', 'Unable to accept this invitation. It may have expired or already been used.'); - } - - // Redirect to the workspace - return redirect()->route('workspace.home', ['workspace' => $invitation->workspace->slug]) - ->with('success', "You've joined {$invitation->workspace->name}."); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Factories/UserFactory.php b/packages/core-php/src/Mod/Tenant/Database/Factories/UserFactory.php deleted file mode 100644 index 3a56e26..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Factories/UserFactory.php +++ /dev/null @@ -1,73 +0,0 @@ - - */ -class UserFactory extends Factory -{ - /** - * The name of the factory's corresponding model. - * - * Uses the backward-compatible alias class to ensure type compatibility - * with existing code that expects Mod\Tenant\Models\User. - */ - protected $model = \Core\Mod\Tenant\Models\User::class; - - /** - * The current password being used by the factory. - */ - protected static ?string $password; - - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - return [ - 'name' => fake()->name(), - 'email' => fake()->unique()->safeEmail(), - 'email_verified_at' => now(), - 'password' => static::$password ??= Hash::make('password'), - 'remember_token' => Str::random(10), - 'account_type' => 'apollo', - ]; - } - - /** - * Create a Hades (admin) user. - */ - public function hades(): static - { - return $this->state(fn (array $attributes) => [ - 'account_type' => 'hades', - ]); - } - - /** - * Create an Apollo (standard) user. - */ - public function apollo(): static - { - return $this->state(fn (array $attributes) => [ - 'account_type' => 'apollo', - ]); - } - - /** - * Indicate that the model's email address should be unverified. - */ - public function unverified(): static - { - return $this->state(fn (array $attributes) => [ - 'email_verified_at' => null, - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Factories/UserTokenFactory.php b/packages/core-php/src/Mod/Tenant/Database/Factories/UserTokenFactory.php deleted file mode 100644 index dab5b03..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Factories/UserTokenFactory.php +++ /dev/null @@ -1,87 +0,0 @@ - - */ -class UserTokenFactory extends Factory -{ - /** - * The name of the factory's corresponding model. - * - * @var class-string - */ - protected $model = UserToken::class; - - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - $plainToken = Str::random(40); - - return [ - 'user_id' => User::factory(), - 'name' => fake()->words(2, true).' Token', - 'token' => hash('sha256', $plainToken), - 'last_used_at' => null, - 'expires_at' => null, - ]; - } - - /** - * Indicate that the token has been used recently. - */ - public function used(): static - { - return $this->state(fn (array $attributes) => [ - 'last_used_at' => now()->subMinutes(fake()->numberBetween(1, 60)), - ]); - } - - /** - * Indicate that the token expires in the future. - * - * @param int $days Number of days until expiration - */ - public function expiresIn(int $days = 30): static - { - return $this->state(fn (array $attributes) => [ - 'expires_at' => now()->addDays($days), - ]); - } - - /** - * Indicate that the token has expired. - */ - public function expired(): static - { - return $this->state(fn (array $attributes) => [ - 'expires_at' => now()->subDays(1), - ]); - } - - /** - * Create a token with a known plain-text value for testing. - * - * @param string $plainToken The plain-text token value - */ - public function withToken(string $plainToken): static - { - return $this->state(fn (array $attributes) => [ - 'token' => hash('sha256', $plainToken), - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Factories/WaitlistEntryFactory.php b/packages/core-php/src/Mod/Tenant/Database/Factories/WaitlistEntryFactory.php deleted file mode 100644 index 01ca0dd..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Factories/WaitlistEntryFactory.php +++ /dev/null @@ -1,59 +0,0 @@ - - */ -class WaitlistEntryFactory extends Factory -{ - protected $model = WaitlistEntry::class; - - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - return [ - 'email' => fake()->unique()->safeEmail(), - 'name' => fake()->optional(0.8)->name(), - 'source' => fake()->randomElement(['direct', 'twitter', 'linkedin', 'google', 'referral']), - 'interest' => fake()->optional(0.5)->randomElement(['SocialHost', 'BioHost', 'AnalyticsHost', 'TrustHost', 'NotifyHost']), - 'invite_code' => null, - 'invited_at' => null, - 'registered_at' => null, - 'user_id' => null, - 'notes' => null, - 'bonus_code' => null, - ]; - } - - /** - * Indicate the entry has been invited. - */ - public function invited(): static - { - return $this->state(fn (array $attributes) => [ - 'invite_code' => strtoupper(fake()->bothify('????????')), - 'invited_at' => fake()->dateTimeBetween('-30 days', 'now'), - 'bonus_code' => 'LAUNCH50', - ]); - } - - /** - * Indicate the entry has converted to a user. - */ - public function converted(): static - { - return $this->invited()->state(fn (array $attributes) => [ - 'registered_at' => fake()->dateTimeBetween($attributes['invited_at'] ?? '-7 days', 'now'), - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceFactory.php b/packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceFactory.php deleted file mode 100644 index 55f4cc2..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceFactory.php +++ /dev/null @@ -1,81 +0,0 @@ - - */ -class WorkspaceFactory extends Factory -{ - protected $model = Workspace::class; - - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - $name = fake()->company(); - $slug = fake()->unique()->slug(2); - - return [ - 'name' => $name, - 'slug' => $slug, - 'domain' => $slug.'.host.uk.com', - 'icon' => fake()->randomElement(['globe', 'building', 'newspaper', 'megaphone']), - 'color' => fake()->randomElement(['violet', 'blue', 'green', 'amber', 'rose']), - 'description' => fake()->sentence(), - 'type' => 'cms', - 'settings' => [], - 'is_active' => true, - 'sort_order' => fake()->numberBetween(1, 100), - ]; - } - - /** - * Create a CMS workspace. - */ - public function cms(): static - { - return $this->state(fn (array $attributes) => [ - 'type' => 'cms', - ]); - } - - /** - * Create a static workspace. - */ - public function static(): static - { - return $this->state(fn (array $attributes) => [ - 'type' => 'static', - ]); - } - - /** - * Create an inactive workspace. - */ - public function inactive(): static - { - return $this->state(fn (array $attributes) => [ - 'is_active' => false, - ]); - } - - /** - * Create the main workspace (used in tests). - */ - public function main(): static - { - return $this->state(fn (array $attributes) => [ - 'name' => 'Host UK', - 'slug' => 'main', - 'domain' => 'hestia.host.uk.com', - 'type' => 'cms', - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceInvitationFactory.php b/packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceInvitationFactory.php deleted file mode 100644 index c1771b2..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Factories/WorkspaceInvitationFactory.php +++ /dev/null @@ -1,75 +0,0 @@ - - */ -class WorkspaceInvitationFactory extends Factory -{ - protected $model = WorkspaceInvitation::class; - - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - return [ - 'email' => fake()->unique()->safeEmail(), - 'token' => Str::random(64), - 'role' => 'member', - 'invited_by' => null, - 'expires_at' => now()->addDays(7), - 'accepted_at' => null, - ]; - } - - /** - * Indicate the invitation has been accepted. - */ - public function accepted(): static - { - return $this->state(fn (array $attributes) => [ - 'accepted_at' => fake()->dateTimeBetween('-7 days', 'now'), - ]); - } - - /** - * Indicate the invitation has expired. - */ - public function expired(): static - { - return $this->state(fn (array $attributes) => [ - 'expires_at' => fake()->dateTimeBetween('-30 days', '-1 day'), - 'accepted_at' => null, - ]); - } - - /** - * Set the role to admin. - */ - public function asAdmin(): static - { - return $this->state(fn (array $attributes) => [ - 'role' => 'admin', - ]); - } - - /** - * Set the role to owner. - */ - public function asOwner(): static - { - return $this->state(fn (array $attributes) => [ - 'role' => 'owner', - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Seeders/DemoTestUserSeeder.php b/packages/core-php/src/Mod/Tenant/Database/Seeders/DemoTestUserSeeder.php deleted file mode 100644 index d1da763..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Seeders/DemoTestUserSeeder.php +++ /dev/null @@ -1,170 +0,0 @@ - self::EMAIL], - [ - 'name' => 'Nyx Tester', - 'password' => Hash::make(self::PASSWORD), - 'email_verified_at' => now(), - ] - ); - - // Create or update Nyx demo workspace - $workspace = Workspace::updateOrCreate( - ['slug' => self::WORKSPACE_SLUG], - [ - 'name' => 'Nyx Demo Workspace', - 'domain' => 'nyx.host.uk.com', - 'is_active' => true, - ] - ); - - // Attach user to workspace (if not already) - if (! $workspace->users()->where('user_id', $user->id)->exists()) { - $workspace->users()->attach($user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - } - - // Assign Nyx package (Lethean Network demo tier) - $nyxPackage = Package::where('code', 'nyx')->first(); - if ($nyxPackage) { - // Remove any existing packages - $workspace->workspacePackages()->delete(); - - // Create Nyx package assignment - $workspace->workspacePackages()->create([ - 'package_id' => $nyxPackage->id, - 'status' => 'active', - 'starts_at' => now(), - 'expires_at' => null, // No expiry for test account - ]); - } - - // Create minimal test data for the workspace - $this->createTestBioPage($workspace, $user); - $this->createTestShortLink($workspace, $user); - - $this->command->info('Nyx demo user created successfully.'); - $this->command->info("Email: {$user->email}"); - $this->command->info('Password: '.self::PASSWORD); - $this->command->info("Workspace: {$workspace->slug}"); - $this->command->info('Tier: Nyx (Lethean Network)'); - } - - /** - * Create a single test bio page. - */ - protected function createTestBioPage(Workspace $workspace, User $user): void - { - // Only create if Web Page model exists and no test page exists - if (! class_exists(\Core\Mod\Web\Models\Page::class)) { - return; - } - - $existingPage = \Core\Mod\Web\Models\Page::where('workspace_id', $workspace->id) - ->where('url', 'nyx-test') - ->first(); - - if ($existingPage) { - return; - } - - \Core\Mod\Web\Models\Page::create([ - 'workspace_id' => $workspace->id, - 'user_id' => $user->id, - 'url' => 'nyx-test', - 'type' => 'page', - 'settings' => [ - 'name' => 'Nyx Test Page', - 'description' => 'Test page for Playwright acceptance tests (Lethean Network)', - 'title' => 'Nyx Test', - 'blocks' => [ - [ - 'id' => 'header-1', - 'type' => 'header', - 'data' => [ - 'name' => 'Nyx Tester', - 'bio' => 'Lethean Network demo account', - ], - ], - [ - 'id' => 'link-1', - 'type' => 'link', - 'data' => [ - 'title' => 'Test Link', - 'url' => 'https://example.com', - ], - ], - ], - 'theme' => 'default', - 'show_branding' => true, - ], - 'is_enabled' => true, - ]); - } - - /** - * Create a single test short link. - */ - protected function createTestShortLink(Workspace $workspace, User $user): void - { - // Only create if Web Page model exists - if (! class_exists(\Core\Mod\Web\Models\Page::class)) { - return; - } - - $existingLink = \Core\Mod\Web\Models\Page::where('workspace_id', $workspace->id) - ->where('url', 'nyx-short') - ->first(); - - if ($existingLink) { - return; - } - - \Core\Mod\Web\Models\Page::create([ - 'workspace_id' => $workspace->id, - 'user_id' => $user->id, - 'url' => 'nyx-short', - 'type' => 'link', - 'location_url' => 'https://host.uk.com', - 'is_enabled' => true, - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Seeders/DemoWorkspaceSeeder.php b/packages/core-php/src/Mod/Tenant/Database/Seeders/DemoWorkspaceSeeder.php deleted file mode 100644 index 4b759a3..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Seeders/DemoWorkspaceSeeder.php +++ /dev/null @@ -1,165 +0,0 @@ -createDemoPackages(); - - // Create demo workspaces - $workspaces = [ - [ - 'name' => 'Demo Social', - 'slug' => 'demo-social', - 'domain' => 'demo-social.host.test', - 'description' => 'Demo workspace with SocialHost access', - 'icon' => 'share-nodes', - 'color' => 'green', - 'package' => 'demo-social', - ], - [ - 'name' => 'Demo Trust', - 'slug' => 'demo-trust', - 'domain' => 'demo-trust.host.test', - 'description' => 'Demo workspace with TrustHost access', - 'icon' => 'shield-check', - 'color' => 'orange', - 'package' => 'demo-trust', - ], - [ - 'name' => 'Demo No Services', - 'slug' => 'demo-no-services', - 'domain' => 'demo-free.host.test', - 'description' => 'Demo workspace with no service access', - 'icon' => 'user', - 'color' => 'gray', - 'package' => null, - ], - ]; - - foreach ($workspaces as $data) { - $workspace = Workspace::updateOrCreate( - ['slug' => $data['slug']], - [ - 'name' => $data['name'], - 'domain' => $data['domain'], - 'description' => $data['description'], - 'icon' => $data['icon'], - 'color' => $data['color'], - 'type' => 'custom', - 'is_active' => true, - ] - ); - - // Provision package if specified - if ($data['package']) { - $entitlements->provisionPackage($workspace, $data['package']); - } - - $this->command->info("Created demo workspace: {$data['name']}"); - } - - // Create demo user and attach to workspaces - $this->createDemoUser($workspaces); - } - - protected function createDemoPackages(): void - { - // Demo Social Package - SocialHost access - $socialPackage = Package::updateOrCreate( - ['code' => 'demo-social'], - [ - 'name' => 'Demo Social', - 'description' => 'Demo package with SocialHost access', - 'is_stackable' => false, - 'is_base_package' => true, - 'is_active' => true, - 'is_public' => false, - 'sort_order' => 900, - ] - ); - - // Attach service gate - $hostSocial = Feature::where('code', 'core.srv.social')->first(); - if ($hostSocial && ! $socialPackage->features()->where('feature_id', $hostSocial->id)->exists()) { - $socialPackage->features()->attach($hostSocial->id, ['limit_value' => null]); - } - - // Attach social features with limits - $socialAccounts = Feature::where('code', 'social.accounts')->first(); - if ($socialAccounts && ! $socialPackage->features()->where('feature_id', $socialAccounts->id)->exists()) { - $socialPackage->features()->attach($socialAccounts->id, ['limit_value' => 5]); - } - - $socialPosts = Feature::where('code', 'social.posts.scheduled')->first(); - if ($socialPosts && ! $socialPackage->features()->where('feature_id', $socialPosts->id)->exists()) { - $socialPackage->features()->attach($socialPosts->id, ['limit_value' => 50]); - } - - // Demo Trust Package - TrustHost access - $trustPackage = Package::updateOrCreate( - ['code' => 'demo-trust'], - [ - 'name' => 'Demo Trust', - 'description' => 'Demo package with TrustHost access', - 'is_stackable' => false, - 'is_base_package' => true, - 'is_active' => true, - 'is_public' => false, - 'sort_order' => 901, - ] - ); - - // Attach service gate - $hostTrust = Feature::where('code', 'core.srv.trust')->first(); - if ($hostTrust && ! $trustPackage->features()->where('feature_id', $hostTrust->id)->exists()) { - $trustPackage->features()->attach($hostTrust->id, ['limit_value' => null]); - } - - $this->command->info('Demo packages created.'); - } - - protected function createDemoUser(array $workspaces): void - { - // Find primary admin user, or create demo user as fallback - $user = User::where('email', 'snider@host.uk.com')->first() - ?? User::updateOrCreate( - ['email' => 'demo@host.uk.com'], - [ - 'name' => 'Demo User', - 'password' => bcrypt('demo-password-123'), - 'email_verified_at' => now(), - ] - ); - - // Attach to all demo workspaces - foreach ($workspaces as $data) { - $workspace = Workspace::where('slug', $data['slug'])->first(); - if ($workspace && ! $workspace->users()->where('user_id', $user->id)->exists()) { - $workspace->users()->attach($user->id, [ - 'role' => 'owner', - 'is_default' => false, // Don't change their default workspace - ]); - } - } - - $this->command->info("Demo workspaces attached to: {$user->email}"); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Seeders/FeatureSeeder.php b/packages/core-php/src/Mod/Tenant/Database/Seeders/FeatureSeeder.php deleted file mode 100644 index 1e1b5b9..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Seeders/FeatureSeeder.php +++ /dev/null @@ -1,901 +0,0 @@ - 'tier.apollo', - 'name' => 'Apollo Tier', - 'description' => 'Access to Apollo tier features', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'tier.hades', - 'name' => 'Hades Tier', - 'description' => 'Access to Hades tier features (developer tools)', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 2, - ], - // Lethean Network designations - [ - 'code' => 'tier.nyx', - 'name' => 'Nyx Tier', - 'description' => 'Demo/test account access (Lethean Network)', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 3, - ], - [ - 'code' => 'tier.stygian', - 'name' => 'Stygian Tier', - 'description' => 'Standard user access (Lethean Network)', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 4, - ], - // Corporate Sponsors (Lethean Network) - [ - 'code' => 'tier.plouton', - 'name' => 'Ploutōn Tier', - 'description' => 'White label partner access (Lethean Network)', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 5, - ], - [ - 'code' => 'tier.hermes', - 'name' => 'Hermes Tier', - 'description' => 'Founding patron access - seat in Elysia (Lethean Network)', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 6, - ], - - // Service access gates (deny by default) - [ - 'code' => 'core.srv.social', - 'name' => 'SocialHost Access', - 'description' => 'Access to SocialHost social media management', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'core.srv.bio', - 'name' => 'BioHost Access', - 'description' => 'Access to BioHost link-in-bio pages', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 2, - ], - [ - 'code' => 'core.srv.analytics', - 'name' => 'AnalyticsHost Access', - 'description' => 'Access to AnalyticsHost privacy-focused analytics', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 3, - ], - [ - 'code' => 'core.srv.trust', - 'name' => 'TrustHost Access', - 'description' => 'Access to TrustHost social proof notifications', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 4, - ], - [ - 'code' => 'core.srv.notify', - 'name' => 'NotifyHost Access', - 'description' => 'Access to NotifyHost push notifications', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 5, - ], - [ - 'code' => 'core.srv.support', - 'name' => 'SupportHost Access', - 'description' => 'Access to SupportHost help desk', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 6, - ], - [ - 'code' => 'core.srv.web', - 'name' => 'WebHost Access', - 'description' => 'Access to WebHost site management', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 7, - ], - [ - 'code' => 'core.srv.commerce', - 'name' => 'Commerce Access', - 'description' => 'Access to Commerce store management', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 8, - ], - [ - 'code' => 'core.srv.hub', - 'name' => 'Hub Access', - 'description' => 'Access to Hub admin panel', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 0, // Internal service - ], - [ - 'code' => 'core.srv.agentic', - 'name' => 'Agentic Access', - 'description' => 'Access to AI agent services', - 'category' => 'service', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 9, - ], - - // Social features - [ - 'code' => 'social.accounts', - 'name' => 'Social Accounts', - 'description' => 'Number of connected social media accounts', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'social.posts.scheduled', - 'name' => 'Scheduled Posts', - 'description' => 'Number of scheduled posts per month', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'sort_order' => 2, - ], - [ - 'code' => 'social.workspaces', - 'name' => 'Social Workspaces', - 'description' => 'Number of social workspaces', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 3, - ], - [ - 'code' => 'social.posts.bulk', - 'name' => 'Bulk Post Upload', - 'description' => 'Upload multiple posts via CSV/bulk import', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 4, - ], - [ - 'code' => 'social.analytics', - 'name' => 'Social Analytics', - 'description' => 'Access to social media analytics', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 5, - ], - [ - 'code' => 'social.analytics.advanced', - 'name' => 'Advanced Analytics', - 'description' => 'Advanced reporting and analytics features', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 6, - ], - [ - 'code' => 'social.team', - 'name' => 'Team Collaboration', - 'description' => 'Multi-user team features for social management', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 7, - ], - [ - 'code' => 'social.approval_workflow', - 'name' => 'Approval Workflow', - 'description' => 'Content approval workflow before posting', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 8, - ], - [ - 'code' => 'social.white_label', - 'name' => 'White Label', - 'description' => 'Remove SocialHost branding', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 9, - ], - [ - 'code' => 'social.api_access', - 'name' => 'Social API Access', - 'description' => 'Access to SocialHost API', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 10, - ], - [ - 'code' => 'social.templates', - 'name' => 'Post Templates', - 'description' => 'Number of saved post templates', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 11, - ], - [ - 'code' => 'social.hashtag_groups', - 'name' => 'Hashtag Groups', - 'description' => 'Number of saved hashtag groups', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 12, - ], - [ - 'code' => 'social.ai_suggestions', - 'name' => 'AI Content Suggestions', - 'description' => 'AI-powered caption generation and content improvement', - 'category' => 'social', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 13, - ], - - // AI features - [ - 'code' => 'ai.credits', - 'name' => 'AI Credits', - 'description' => 'AI generation credits per month', - 'category' => 'ai', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'sort_order' => 1, - ], - [ - 'code' => 'ai.providers.claude', - 'name' => 'Claude AI', - 'description' => 'Access to Claude AI provider', - 'category' => 'ai', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 2, - ], - [ - 'code' => 'ai.providers.gemini', - 'name' => 'Gemini AI', - 'description' => 'Access to Gemini AI provider', - 'category' => 'ai', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 3, - ], - - // Team features - [ - 'code' => 'team.members', - 'name' => 'Team Members', - 'description' => 'Number of team members per workspace', - 'category' => 'team', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - - // API features - [ - 'code' => 'api.requests', - 'name' => 'API Requests', - 'description' => 'API requests per 30 days (rolling)', - 'category' => 'api', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_ROLLING, - 'rolling_window_days' => 30, - 'sort_order' => 1, - ], - - // MCP Quota features - [ - 'code' => 'mcp.monthly_tool_calls', - 'name' => 'MCP Tool Calls', - 'description' => 'Monthly limit for MCP tool calls', - 'category' => 'mcp', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'sort_order' => 1, - ], - [ - 'code' => 'mcp.monthly_tokens', - 'name' => 'MCP Tokens', - 'description' => 'Monthly limit for MCP token consumption', - 'category' => 'mcp', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'sort_order' => 2, - ], - - // Storage - Global pool - [ - 'code' => 'core.res.storage.total', - 'name' => 'Total Storage', - 'description' => 'Total storage across all services (MB)', - 'category' => 'storage', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - - // ───────────────────────────────────────────────────────────── - // lt.hn Pricing Features (numeric - ordered by sort_order) - // ───────────────────────────────────────────────────────────── - [ - 'code' => 'bio.pages', - 'name' => 'Bio Pages', - 'description' => 'Number of pages allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 10, - ], - [ - 'code' => 'webpage.sub_pages', - 'name' => 'Sub-Pages', - 'description' => 'Additional pages under your main page', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 20, - ], - [ - 'code' => 'bio.blocks', - 'name' => 'Page Blocks', - 'description' => 'Number of blocks per page', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 30, - ], - [ - 'code' => 'bio.static_sites', - 'name' => 'Static Websites', - 'description' => 'Number of static websites allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 40, - ], - [ - 'code' => 'bio.custom_domains', - 'name' => 'Custom Domains', - 'description' => 'Number of custom domains allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 50, - ], - [ - 'code' => 'bio.web3_domains', - 'name' => 'Web3 Domains', - 'description' => 'Number of Web3 domains (ENS, etc.)', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 60, - ], - [ - 'code' => 'bio.vcard', - 'name' => 'vCard', - 'description' => 'Number of vCard downloads allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 70, - ], - [ - 'code' => 'bio.events', - 'name' => 'Events', - 'description' => 'Number of event blocks allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 80, - ], - [ - 'code' => 'bio.file_downloads', - 'name' => 'File Downloads', - 'description' => 'Number of file download blocks allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 90, - ], - [ - 'code' => 'bio.splash_pages', - 'name' => 'Splash Pages', - 'description' => 'Number of splash/landing pages allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 100, - ], - [ - 'code' => 'bio.shortened_links', - 'name' => 'Shortened Links', - 'description' => 'Number of shortened links allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 110, - ], - [ - 'code' => 'bio.pixels', - 'name' => 'Pixels', - 'description' => 'Number of tracking pixels allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 120, - ], - [ - 'code' => 'bio.qr_codes', - 'name' => 'QR Codes', - 'description' => 'Number of QR codes allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 130, - ], - // ───────────────────────────────────────────────────────────── - // lt.hn Pricing Features (boolean - ordered by sort_order) - // ───────────────────────────────────────────────────────────── - [ - 'code' => 'bio.analytics.basic', - 'name' => 'Basic Analytics', - 'description' => 'Basic analytics for pages', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 200, - ], - [ - 'code' => 'support.community', - 'name' => 'Community Support', - 'description' => 'Access to community support', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 210, - ], - [ - 'code' => 'support.host.uk.com', - 'name' => 'Support', - 'description' => 'Email support access', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 211, - ], - [ - 'code' => 'support.priority', - 'name' => 'Priority Support', - 'description' => 'Priority support access', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 212, - ], - [ - 'code' => 'bio.themes', - 'name' => 'Themes', - 'description' => 'Access to page themes', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 220, - ], - // ───────────────────────────────────────────────────────────── - // Legacy Bio features (internal use) - // ───────────────────────────────────────────────────────────── - [ - 'code' => 'bio.shortlinks', - 'name' => 'Short Links', - 'description' => 'Number of short links allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 150, - ], - [ - 'code' => 'bio.static', - 'name' => 'Static Pages', - 'description' => 'Number of static HTML pages allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 151, - ], - [ - 'code' => 'bio.domains', - 'name' => 'Custom Domains (Legacy)', - 'description' => 'Number of custom domains allowed', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 152, - ], - [ - 'code' => 'bio.analytics_days', - 'name' => 'Analytics Retention', - 'description' => 'Days of analytics history retained', - 'category' => 'web', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 5, - ], - [ - 'code' => 'bio.tier.pro', - 'name' => 'Pro Block Types', - 'description' => 'Access to pro-tier block types', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 6, - ], - [ - 'code' => 'bio.tier.ultimate', - 'name' => 'Ultimate Block Types', - 'description' => 'Access to ultimate-tier block types', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 7, - ], - [ - 'code' => 'bio.tier.payment', - 'name' => 'Payment Block Types', - 'description' => 'Access to payment block types', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 8, - ], - [ - 'code' => 'web.themes.premium', - 'name' => 'Premium Themes', - 'description' => 'Access to premium page themes', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 9, - ], - [ - 'code' => 'bio.pwa', - 'name' => 'Progressive Web App', - 'description' => 'Turn pages into installable apps', - 'category' => 'web', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 230, - ], - - // Content features (native CMS) - [ - 'code' => 'content.mcp_access', - 'name' => 'Content MCP Access', - 'description' => 'Access to content management via MCP tools', - 'category' => 'content', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'content.items', - 'name' => 'Content Items', - 'description' => 'Number of content items (posts, pages)', - 'category' => 'content', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 2, - ], - [ - 'code' => 'content.ai_generation', - 'name' => 'AI Content Generation', - 'description' => 'Generate content using AI via MCP', - 'category' => 'content', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 3, - ], - - // Analytics features - [ - 'code' => 'analytics.sites', - 'name' => 'Analytics Sites', - 'description' => 'Number of sites to track', - 'category' => 'analytics', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'analytics.pageviews', - 'name' => 'Monthly Pageviews', - 'description' => 'Pageviews tracked per month', - 'category' => 'analytics', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'sort_order' => 2, - ], - - // Support features - [ - 'code' => 'support.mailboxes', - 'name' => 'Mailboxes', - 'description' => 'Number of support mailboxes', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'support.agents', - 'name' => 'Support Agents', - 'description' => 'Number of support agents', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 2, - ], - [ - 'code' => 'support.conversations', - 'name' => 'Conversations per Month', - 'description' => 'Number of conversations per month', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'sort_order' => 3, - ], - [ - 'code' => 'support.chat_widget', - 'name' => 'Live Chat Widget', - 'description' => 'Enable live chat widget', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 4, - ], - [ - 'code' => 'support.saved_replies', - 'name' => 'Saved Replies', - 'description' => 'Number of saved reply templates', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 5, - ], - [ - 'code' => 'support.custom_folders', - 'name' => 'Custom Folders', - 'description' => 'Enable custom folder organisation', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 6, - ], - [ - 'code' => 'support.api_access', - 'name' => 'API Access', - 'description' => 'Access to Support API endpoints', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 7, - ], - [ - 'code' => 'support.auto_reply', - 'name' => 'Auto Reply', - 'description' => 'Automatic reply to incoming messages', - 'category' => 'support', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 8, - ], - [ - 'code' => 'support.email_templates', - 'name' => 'Email Templates', - 'description' => 'Number of email templates', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 9, - ], - [ - 'code' => 'support.file_storage_mb', - 'name' => 'File Storage (MB)', - 'description' => 'File attachment storage in megabytes', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 10, - ], - [ - 'code' => 'support.retention_days', - 'name' => 'Retention Days', - 'description' => 'Number of days to retain conversation history', - 'category' => 'support', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 11, - ], - - // Tools features (utility tools access) - [ - 'code' => 'tool.mcp_access', - 'name' => 'Tools MCP Access', - 'description' => 'Access to utility tools via MCP API', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 1, - ], - [ - 'code' => 'tool.url_shortener', - 'name' => 'URL Shortener', - 'description' => 'Create persistent short links with analytics', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 2, - ], - [ - 'code' => 'tool.qr_generator', - 'name' => 'QR Code Generator', - 'description' => 'Create and save QR codes', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 3, - ], - [ - 'code' => 'tool.dns_lookup', - 'name' => 'DNS Lookup', - 'description' => 'DNS record lookup tool', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 4, - ], - [ - 'code' => 'tool.ssl_lookup', - 'name' => 'SSL Lookup', - 'description' => 'SSL certificate lookup tool', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 5, - ], - [ - 'code' => 'tool.whois_lookup', - 'name' => 'WHOIS Lookup', - 'description' => 'Domain WHOIS lookup tool', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 6, - ], - [ - 'code' => 'tool.ip_lookup', - 'name' => 'IP Lookup', - 'description' => 'IP address geolocation lookup', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 7, - ], - [ - 'code' => 'tool.http_headers', - 'name' => 'HTTP Headers', - 'description' => 'HTTP header inspection tool', - 'category' => 'tools', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'sort_order' => 8, - ], - ]; - - foreach ($features as $featureData) { - Feature::updateOrCreate( - ['code' => $featureData['code']], - $featureData - ); - } - - // Create child features for storage pool - $storageParent = Feature::where('code', 'core.res.storage.total')->first(); - if ($storageParent) { - $storageChildren = [ - [ - 'code' => 'core.res.cdn', - 'name' => 'Main Site CDN', - 'description' => 'CDN storage for main site (MB)', - 'category' => 'storage', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'parent_feature_id' => $storageParent->id, - 'sort_order' => 2, - ], - [ - 'code' => 'bio.cdn', - 'name' => 'Bio CDN', - 'description' => 'CDN storage for bio pages (MB)', - 'category' => 'storage', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'parent_feature_id' => $storageParent->id, - 'sort_order' => 3, - ], - [ - 'code' => 'social.cdn', - 'name' => 'Social CDN', - 'description' => 'CDN storage for social media (MB)', - 'category' => 'storage', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'parent_feature_id' => $storageParent->id, - 'sort_order' => 4, - ], - ]; - - foreach ($storageChildren as $childData) { - Feature::updateOrCreate( - ['code' => $childData['code']], - $childData - ); - } - } - - $this->command->info('Features seeded successfully.'); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Seeders/SystemWorkspaceSeeder.php b/packages/core-php/src/Mod/Tenant/Database/Seeders/SystemWorkspaceSeeder.php deleted file mode 100644 index f2f4418..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Seeders/SystemWorkspaceSeeder.php +++ /dev/null @@ -1,57 +0,0 @@ -first(); - - if (! $hermes) { - $this->command->error('Hermes package not found. Run PackageSeeder first.'); - - return; - } - - // Assign to both main and system workspaces - $slugs = ['main', 'system']; - - foreach ($slugs as $slug) { - $workspace = Workspace::where('slug', $slug)->first(); - - if (! $workspace) { - $this->command->warn("Workspace '{$slug}' not found, skipping."); - - continue; - } - - $existing = WorkspacePackage::where('workspace_id', $workspace->id) - ->where('package_id', $hermes->id) - ->first(); - - if ($existing) { - $this->command->info('Hermes already assigned to '.$workspace->name); - - continue; - } - - WorkspacePackage::create([ - 'workspace_id' => $workspace->id, - 'package_id' => $hermes->id, - 'status' => WorkspacePackage::STATUS_ACTIVE, - 'starts_at' => now(), - ]); - - $this->command->info('Hermes assigned to '.$workspace->name); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Database/Seeders/WorkspaceSeeder.php b/packages/core-php/src/Mod/Tenant/Database/Seeders/WorkspaceSeeder.php deleted file mode 100644 index 6f01935..0000000 --- a/packages/core-php/src/Mod/Tenant/Database/Seeders/WorkspaceSeeder.php +++ /dev/null @@ -1,183 +0,0 @@ -environment('local'); - $domain = $isLocal ? 'host.test' : 'host.uk.com'; - $email = 'snider@host.uk.com'; - - // Create system user first so we can assign ownership - $systemUser = User::updateOrCreate( - ['id' => 1], - [ - 'name' => 'Snider', - 'email' => $email, - 'password' => Hash::make('change-me-in-env'), - 'tier' => UserTier::HADES, - 'tier_expires_at' => null, - 'email_verified_at' => now(), - ] - ); - - // Service workspaces - marketing domains are handled by Mod modules, not workspace routing. - // The workspace domain field is for custom user-assigned domains (e.g., mybrand.com). - // Service domains (lthn.test, social.host.test, etc.) are routed via Mod\{Service}\Boot. - $workspaces = [ - [ - 'name' => 'Host UK', - 'slug' => 'main', - 'domain' => $domain, // Main marketing site - 'icon' => 'globe', - 'color' => 'violet', - 'description' => 'Main website content', - 'type' => 'cms', - 'sort_order' => 0, - ], - [ - 'name' => 'Social', - 'slug' => 'social', - 'domain' => '', // Marketing domain routed via Mod\Social - 'icon' => 'share-nodes', - 'color' => 'green', - 'description' => 'Social media scheduling', - 'type' => 'custom', - 'sort_order' => 2, - ], - [ - 'name' => 'Analytics', - 'slug' => 'analytics', - 'domain' => '', // Marketing domain routed via Mod\Analytics - 'icon' => 'chart-line', - 'color' => 'yellow', - 'description' => 'Privacy-first analytics', - 'type' => 'custom', - 'sort_order' => 3, - ], - [ - 'name' => 'Trust', - 'slug' => 'trust', - 'domain' => '', // Marketing domain routed via Mod\Trust - 'icon' => 'shield-check', - 'color' => 'orange', - 'description' => 'Social proof widgets', - 'type' => 'custom', - 'sort_order' => 4, - ], - [ - 'name' => 'Notify', - 'slug' => 'notify', - 'domain' => '', // Marketing domain routed via Mod\Notify - 'icon' => 'bell', - 'color' => 'red', - 'description' => 'Push notifications', - 'type' => 'custom', - 'sort_order' => 5, - ], - [ - 'name' => 'LtHn', - 'slug' => 'lthn', - 'domain' => '', // Marketing domain routed via Mod\LtHn - 'icon' => 'link', - 'color' => 'cyan', - 'description' => 'lt.hn bio link service', - 'type' => 'custom', - 'sort_order' => 6, - ], - ]; - - foreach ($workspaces as $workspace) { - $ws = Workspace::updateOrCreate( - ['slug' => $workspace['slug']], - array_merge($workspace, ['is_active' => true]) - ); - - // Attach system user as owner if not already attached - if (! $ws->users()->where('user_id', $systemUser->id)->exists()) { - $ws->users()->attach($systemUser->id, [ - 'role' => 'owner', - 'is_default' => false, - ]); - } - } - - // Provision hades to main workspace only - $this->provisionWorkspaceEntitlements(); - } - - /** - * Provision packages for workspaces. - */ - protected function provisionWorkspaceEntitlements(): void - { - if (! Schema::hasTable('entitlement_workspace_packages')) { - return; - } - - // Main workspace gets full Hades access - $this->provisionPackage('main', 'hades'); - - // Service workspaces get analytics, social, trust, notify for tracking & upsell - $serviceWorkspaces = ['social', 'analytics', 'trust', 'notify', 'lthn']; - $marketingServices = [ - 'core-srv-analytics-access', - 'core-srv-social-access', - 'core-srv-trust-access', - 'core-srv-notify-access', - ]; - - foreach ($serviceWorkspaces as $workspace) { - foreach ($marketingServices as $package) { - $this->provisionPackage($workspace, $package); - } - } - } - - /** - * Provision a package to a workspace. - */ - protected function provisionPackage(string $workspaceSlug, string $packageCode): void - { - $package = Package::where('code', $packageCode)->first(); - if (! $package) { - return; - } - - $workspace = Workspace::where('slug', $workspaceSlug)->first(); - if (! $workspace) { - return; - } - - WorkspacePackage::updateOrCreate( - [ - 'workspace_id' => $workspace->id, - 'package_id' => $package->id, - ], - [ - 'status' => WorkspacePackage::STATUS_ACTIVE, - 'starts_at' => now(), - 'expires_at' => null, - ] - ); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Enums/UserTier.php b/packages/core-php/src/Mod/Tenant/Enums/UserTier.php deleted file mode 100644 index ba7b38f..0000000 --- a/packages/core-php/src/Mod/Tenant/Enums/UserTier.php +++ /dev/null @@ -1,81 +0,0 @@ - 'Free', - self::APOLLO => 'Apollo', - self::HADES => 'Hades', - }; - } - - public function color(): string - { - return match ($this) { - self::FREE => 'gray', - self::APOLLO => 'blue', - self::HADES => 'violet', - }; - } - - public function icon(): string - { - return match ($this) { - self::FREE => 'user', - self::APOLLO => 'sun', - self::HADES => 'crown', - }; - } - - public function maxWorkspaces(): int - { - return match ($this) { - self::FREE => 1, - self::APOLLO => 5, - self::HADES => -1, // Unlimited - }; - } - - public function features(): array - { - return match ($this) { - self::FREE => [ - 'basic_content_editing', - 'single_workspace', - ], - self::APOLLO => [ - 'basic_content_editing', - 'advanced_content_editing', - 'multiple_workspaces', - 'analytics_basic', - 'social_scheduling', - ], - self::HADES => [ - 'basic_content_editing', - 'advanced_content_editing', - 'multiple_workspaces', - 'unlimited_workspaces', - 'analytics_basic', - 'analytics_advanced', - 'social_scheduling', - 'social_automation', - 'api_access', - 'priority_support', - 'white_label', - ], - }; - } - - public function hasFeature(string $feature): bool - { - return in_array($feature, $this->features()); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Enums/WebhookDeliveryStatus.php b/packages/core-php/src/Mod/Tenant/Enums/WebhookDeliveryStatus.php deleted file mode 100644 index d3fef18..0000000 --- a/packages/core-php/src/Mod/Tenant/Enums/WebhookDeliveryStatus.php +++ /dev/null @@ -1,12 +0,0 @@ - $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'workspace_slug' => $this->workspace->slug, - 'boost' => [ - 'id' => $this->boost->id, - 'feature_code' => $this->boost->feature_code, - 'feature_name' => $this->feature?->name ?? ucwords(str_replace(['.', '_', '-'], ' ', $this->boost->feature_code)), - 'boost_type' => $this->boost->boost_type, - 'limit_value' => $this->boost->limit_value, - 'duration_type' => $this->boost->duration_type, - 'starts_at' => $this->boost->starts_at?->toIso8601String(), - 'expires_at' => $this->boost->expires_at?->toIso8601String(), - ], - ]; - } - - public function message(): string - { - $featureName = $this->feature?->name ?? $this->boost->feature_code; - - return "Boost activated: {$featureName} for workspace {$this->workspace->name}"; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Events/Webhook/BoostExpiredEvent.php b/packages/core-php/src/Mod/Tenant/Events/Webhook/BoostExpiredEvent.php deleted file mode 100644 index d1733b4..0000000 --- a/packages/core-php/src/Mod/Tenant/Events/Webhook/BoostExpiredEvent.php +++ /dev/null @@ -1,58 +0,0 @@ - $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'workspace_slug' => $this->workspace->slug, - 'boost' => [ - 'id' => $this->boost->id, - 'feature_code' => $this->boost->feature_code, - 'feature_name' => $this->feature?->name ?? ucwords(str_replace(['.', '_', '-'], ' ', $this->boost->feature_code)), - 'boost_type' => $this->boost->boost_type, - 'limit_value' => $this->boost->limit_value, - 'consumed_quantity' => $this->boost->consumed_quantity, - 'duration_type' => $this->boost->duration_type, - 'expired_at' => $this->boost->expires_at?->toIso8601String() ?? now()->toIso8601String(), - ], - ]; - } - - public function message(): string - { - $featureName = $this->feature?->name ?? $this->boost->feature_code; - - return "Boost expired: {$featureName} for workspace {$this->workspace->name}"; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Events/Webhook/LimitReachedEvent.php b/packages/core-php/src/Mod/Tenant/Events/Webhook/LimitReachedEvent.php deleted file mode 100644 index dc25e8f..0000000 --- a/packages/core-php/src/Mod/Tenant/Events/Webhook/LimitReachedEvent.php +++ /dev/null @@ -1,52 +0,0 @@ - $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'workspace_slug' => $this->workspace->slug, - 'feature_code' => $this->feature->code, - 'feature_name' => $this->feature->name, - 'used' => $this->used, - 'limit' => $this->limit, - 'percentage' => 100, - 'remaining' => 0, - ]; - } - - public function message(): string - { - return "Limit reached: {$this->feature->name} at 100% ({$this->used}/{$this->limit}) for workspace {$this->workspace->name}"; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Events/Webhook/LimitWarningEvent.php b/packages/core-php/src/Mod/Tenant/Events/Webhook/LimitWarningEvent.php deleted file mode 100644 index ddfdd0e..0000000 --- a/packages/core-php/src/Mod/Tenant/Events/Webhook/LimitWarningEvent.php +++ /dev/null @@ -1,56 +0,0 @@ - $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'workspace_slug' => $this->workspace->slug, - 'feature_code' => $this->feature->code, - 'feature_name' => $this->feature->name, - 'used' => $this->used, - 'limit' => $this->limit, - 'percentage' => round(($this->used / $this->limit) * 100), - 'remaining' => max(0, $this->limit - $this->used), - 'threshold' => $this->threshold, - ]; - } - - public function message(): string - { - $percentage = round(($this->used / $this->limit) * 100); - - return "Usage warning: {$this->feature->name} at {$percentage}% ({$this->used}/{$this->limit}) for workspace {$this->workspace->name}"; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Events/Webhook/PackageChangedEvent.php b/packages/core-php/src/Mod/Tenant/Events/Webhook/PackageChangedEvent.php deleted file mode 100644 index 3fbbc96..0000000 --- a/packages/core-php/src/Mod/Tenant/Events/Webhook/PackageChangedEvent.php +++ /dev/null @@ -1,67 +0,0 @@ - $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'workspace_slug' => $this->workspace->slug, - 'change_type' => $this->changeType, - 'previous_package' => $this->previousPackage ? [ - 'id' => $this->previousPackage->id, - 'code' => $this->previousPackage->code, - 'name' => $this->previousPackage->name, - ] : null, - 'new_package' => [ - 'id' => $this->newPackage->id, - 'code' => $this->newPackage->code, - 'name' => $this->newPackage->name, - ], - ]; - } - - public function message(): string - { - if ($this->changeType === 'added') { - return "Package added: {$this->newPackage->name} assigned to workspace {$this->workspace->name}"; - } - - if ($this->changeType === 'removed') { - return "Package removed from workspace {$this->workspace->name}"; - } - - $from = $this->previousPackage?->name ?? 'none'; - - return "Package changed: {$from} to {$this->newPackage->name} for workspace {$this->workspace->name}"; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Exceptions/EntitlementException.php b/packages/core-php/src/Mod/Tenant/Exceptions/EntitlementException.php deleted file mode 100644 index 4d01d67..0000000 --- a/packages/core-php/src/Mod/Tenant/Exceptions/EntitlementException.php +++ /dev/null @@ -1,46 +0,0 @@ -featureCode; - } - - /** - * Render the exception as an HTTP response. - */ - public function render($request) - { - if ($request->expectsJson()) { - return response()->json([ - 'message' => $this->getMessage(), - 'feature_code' => $this->featureCode, - ], $this->getCode()); - } - - return redirect()->back() - ->with('error', $this->getMessage()); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Exceptions/MissingWorkspaceContextException.php b/packages/core-php/src/Mod/Tenant/Exceptions/MissingWorkspaceContextException.php deleted file mode 100644 index 7fe077b..0000000 --- a/packages/core-php/src/Mod/Tenant/Exceptions/MissingWorkspaceContextException.php +++ /dev/null @@ -1,133 +0,0 @@ -withoutGlobalScope(WorkspaceScope::class) if intentionally querying across workspaces.", - operation: 'scope', - model: $model - ); - } - - /** - * Create exception for middleware. - */ - public static function forMiddleware(): self - { - return new self( - message: 'This route requires workspace context. Ensure you are accessing through a valid workspace subdomain or have a workspace session.', - operation: 'middleware' - ); - } - - /** - * Get the operation that failed. - */ - public function getOperation(): ?string - { - return $this->operation; - } - - /** - * Get the model class that was involved. - */ - public function getModel(): ?string - { - return $this->model; - } - - /** - * Render the exception as an HTTP response. - */ - public function render(Request $request): Response - { - if ($request->expectsJson()) { - return response()->json([ - 'message' => $this->getMessage(), - 'error' => 'missing_workspace_context', - 'operation' => $this->operation, - 'model' => $this->model, - ], $this->getCode()); - } - - // For web requests, show a user-friendly error page - if (view()->exists('errors.workspace-required')) { - return response()->view('errors.workspace-required', [ - 'message' => $this->getMessage(), - ], $this->getCode()); - } - - return response($this->getMessage(), $this->getCode()); - } - - /** - * Report the exception (for logging/monitoring). - */ - public function report(): bool - { - // Log this as a potential security issue - workspace context was missing - // where it should have been present - logger()->warning('Missing workspace context', [ - 'operation' => $this->operation, - 'model' => $this->model, - 'url' => request()->url(), - 'user_id' => auth()->id(), - ]); - - // Return true to indicate we've handled reporting - return true; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Features/ApolloTier.php b/packages/core-php/src/Mod/Tenant/Features/ApolloTier.php deleted file mode 100644 index da3a675..0000000 --- a/packages/core-php/src/Mod/Tenant/Features/ApolloTier.php +++ /dev/null @@ -1,79 +0,0 @@ -checkWorkspaceEntitlement($scope); - } - - if ($scope instanceof User) { - // Check user's owner workspace - $workspace = $scope->ownedWorkspaces()->first(); - if ($workspace && $this->checkWorkspaceEntitlement($workspace)) { - return true; - } - - // Legacy fallback: check user tier - return $this->checkUserTier($scope); - } - - return false; - } - - /** - * Check if workspace has Apollo or Hades tier entitlement. - */ - protected function checkWorkspaceEntitlement(Workspace $workspace): bool - { - // Apollo is active if workspace has Apollo OR Hades tier - $apolloResult = $this->entitlements->can($workspace, 'tier.apollo'); - $hadesResult = $this->entitlements->can($workspace, 'tier.hades'); - - return $apolloResult->isAllowed() || $hadesResult->isAllowed(); - } - - /** - * Legacy fallback: check user's tier attribute. - */ - protected function checkUserTier(mixed $scope): bool - { - if (method_exists($scope, 'getTier')) { - $tier = $scope->getTier(); - - return $tier === UserTier::APOLLO || $tier === UserTier::HADES; - } - - if (isset($scope->tier)) { - $tier = $scope->tier; - if (is_string($tier)) { - return in_array($tier, [UserTier::APOLLO->value, UserTier::HADES->value]); - } - - return $tier === UserTier::APOLLO || $tier === UserTier::HADES; - } - - return false; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Features/BetaFeatures.php b/packages/core-php/src/Mod/Tenant/Features/BetaFeatures.php deleted file mode 100644 index 892fc62..0000000 --- a/packages/core-php/src/Mod/Tenant/Features/BetaFeatures.php +++ /dev/null @@ -1,42 +0,0 @@ -choose(); // 10% rollout - } -} diff --git a/packages/core-php/src/Mod/Tenant/Features/HadesTier.php b/packages/core-php/src/Mod/Tenant/Features/HadesTier.php deleted file mode 100644 index 75a5788..0000000 --- a/packages/core-php/src/Mod/Tenant/Features/HadesTier.php +++ /dev/null @@ -1,70 +0,0 @@ -checkWorkspaceEntitlement($scope); - } - - if ($scope instanceof User) { - // Check user's owner workspace - $workspace = $scope->ownedWorkspaces()->first(); - if ($workspace && $this->checkWorkspaceEntitlement($workspace)) { - return true; - } - - // Legacy fallback: check user tier - return $this->checkUserTier($scope); - } - - return false; - } - - /** - * Check if workspace has Hades tier entitlement. - */ - protected function checkWorkspaceEntitlement(Workspace $workspace): bool - { - $result = $this->entitlements->can($workspace, 'tier.hades'); - - return $result->isAllowed(); - } - - /** - * Legacy fallback: check user's tier attribute. - */ - protected function checkUserTier(mixed $scope): bool - { - if (method_exists($scope, 'getTier')) { - return $scope->getTier() === UserTier::HADES; - } - - if (isset($scope->tier)) { - return $scope->tier === UserTier::HADES->value || $scope->tier === UserTier::HADES; - } - - return false; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Features/UnlimitedWorkspaces.php b/packages/core-php/src/Mod/Tenant/Features/UnlimitedWorkspaces.php deleted file mode 100644 index 4d01e69..0000000 --- a/packages/core-php/src/Mod/Tenant/Features/UnlimitedWorkspaces.php +++ /dev/null @@ -1,75 +0,0 @@ -checkWorkspaceEntitlement($scope); - } - - if ($scope instanceof User) { - // Check user's owner workspace - $workspace = $scope->ownedWorkspaces()->first(); - if ($workspace && $this->checkWorkspaceEntitlement($workspace)) { - return true; - } - - // Legacy fallback: check user tier - return $this->checkUserTier($scope); - } - - return false; - } - - /** - * Check if workspace has Hades tier entitlement (unlimited workspaces). - */ - protected function checkWorkspaceEntitlement(Workspace $workspace): bool - { - $result = $this->entitlements->can($workspace, 'tier.hades'); - - return $result->isAllowed(); - } - - /** - * Legacy fallback: check user's tier attribute. - */ - protected function checkUserTier(mixed $scope): bool - { - if (method_exists($scope, 'getTier')) { - return $scope->getTier() === UserTier::HADES; - } - - if (isset($scope->tier)) { - $tier = $scope->tier; - if (is_string($tier)) { - return $tier === UserTier::HADES->value; - } - - return $tier === UserTier::HADES; - } - - return false; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Jobs/ComputeUserStats.php b/packages/core-php/src/Mod/Tenant/Jobs/ComputeUserStats.php deleted file mode 100644 index b315eb0..0000000 --- a/packages/core-php/src/Mod/Tenant/Jobs/ComputeUserStats.php +++ /dev/null @@ -1,43 +0,0 @@ -userId); - - if (! $user) { - return; - } - - $statsService->computeStats($user); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Jobs/DispatchEntitlementWebhook.php b/packages/core-php/src/Mod/Tenant/Jobs/DispatchEntitlementWebhook.php deleted file mode 100644 index 9a64c91..0000000 --- a/packages/core-php/src/Mod/Tenant/Jobs/DispatchEntitlementWebhook.php +++ /dev/null @@ -1,188 +0,0 @@ - - */ - public array $backoff = [60, 300, 900]; // 1min, 5min, 15min - - /** - * Create a new job instance. - */ - public function __construct( - public int $webhookId, - public string $eventName, - public array $eventPayload - ) { - $this->onQueue('webhooks'); - } - - /** - * Execute the job. - */ - public function handle(): void - { - $webhook = EntitlementWebhook::find($this->webhookId); - - if (! $webhook) { - Log::warning('Entitlement webhook not found', ['webhook_id' => $this->webhookId]); - - return; - } - - // Skip if webhook is inactive (circuit breaker may have triggered) - if (! $webhook->isActive()) { - Log::info('Entitlement webhook is inactive, skipping', [ - 'webhook_id' => $this->webhookId, - 'event' => $this->eventName, - ]); - - return; - } - - $data = [ - 'event' => $this->eventName, - 'data' => $this->eventPayload, - 'timestamp' => now()->toIso8601String(), - ]; - - try { - $headers = [ - 'Content-Type' => 'application/json', - 'X-Request-Source' => config('app.name'), - 'User-Agent' => config('app.name').' Entitlement Webhook', - ]; - - if ($webhook->secret) { - $headers['X-Signature'] = hash_hmac('sha256', json_encode($data), $webhook->secret); - } - - $response = Http::withHeaders($headers) - ->timeout(10) - ->post($webhook->url, $data); - - $status = match ($response->status()) { - 200, 201, 202, 204 => WebhookDeliveryStatus::SUCCESS, - default => WebhookDeliveryStatus::FAILED, - }; - - // Create delivery record - $webhook->deliveries()->create([ - 'uuid' => Str::uuid(), - 'event' => $this->eventName, - 'attempts' => $this->attempts(), - 'status' => $status, - 'http_status' => $response->status(), - 'payload' => $data, - 'response' => $response->json() ?: ['body' => substr($response->body(), 0, 1000)], - 'created_at' => now(), - ]); - - if ($status === WebhookDeliveryStatus::SUCCESS) { - $webhook->resetFailureCount(); - Log::info('Entitlement webhook delivered successfully', [ - 'webhook_id' => $webhook->id, - 'event' => $this->eventName, - 'http_status' => $response->status(), - ]); - } else { - $webhook->incrementFailureCount(); - $webhook->updateLastDeliveryStatus($status); - - Log::warning('Entitlement webhook delivery failed', [ - 'webhook_id' => $webhook->id, - 'event' => $this->eventName, - 'http_status' => $response->status(), - 'response' => substr($response->body(), 0, 500), - ]); - - // Throw exception to trigger retry - throw new \RuntimeException("Webhook returned {$response->status()}"); - } - - $webhook->updateLastDeliveryStatus($status); - } catch (\Exception $e) { - $webhook->incrementFailureCount(); - $webhook->updateLastDeliveryStatus(WebhookDeliveryStatus::FAILED); - - // Create failure delivery record - $webhook->deliveries()->create([ - 'uuid' => Str::uuid(), - 'event' => $this->eventName, - 'attempts' => $this->attempts(), - 'status' => WebhookDeliveryStatus::FAILED, - 'payload' => $data, - 'response' => ['error' => $e->getMessage()], - 'created_at' => now(), - ]); - - Log::error('Entitlement webhook dispatch exception', [ - 'webhook_id' => $webhook->id, - 'event' => $this->eventName, - 'error' => $e->getMessage(), - 'attempt' => $this->attempts(), - ]); - - throw $e; - } - } - - /** - * Handle job failure after all retries exhausted. - */ - public function failed(\Throwable $exception): void - { - $webhook = EntitlementWebhook::find($this->webhookId); - - Log::error('Entitlement webhook job failed permanently', [ - 'webhook_id' => $this->webhookId, - 'event' => $this->eventName, - 'error' => $exception->getMessage(), - 'circuit_broken' => $webhook?->isCircuitBroken() ?? false, - ]); - } - - /** - * Get the tags that should be assigned to the job. - * - * @return array - */ - public function tags(): array - { - return [ - 'entitlement-webhook', - "webhook:{$this->webhookId}", - "event:{$this->eventName}", - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Jobs/ProcessAccountDeletion.php b/packages/core-php/src/Mod/Tenant/Jobs/ProcessAccountDeletion.php deleted file mode 100644 index 1439795..0000000 --- a/packages/core-php/src/Mod/Tenant/Jobs/ProcessAccountDeletion.php +++ /dev/null @@ -1,130 +0,0 @@ -deletionRequest->id); - - if (! $request) { - Log::info('Skipping account deletion - request no longer exists', [ - 'deletion_request_id' => $this->deletionRequest->id, - ]); - - return; - } - - // Verify the request is still valid for deletion - if (! $request->isActive()) { - Log::info('Skipping account deletion - request no longer active', [ - 'deletion_request_id' => $request->id, - ]); - - return; - } - - $user = $request->user; - - if (! $user) { - Log::warning('User not found for deletion request', [ - 'deletion_request_id' => $request->id, - ]); - $request->complete(); - - return; - } - - // Update local reference - $this->deletionRequest = $request; - - $userId = $user->id; - - DB::transaction(function () use ($user) { - // Mark request as completed - $this->deletionRequest->complete(); - - // Delete all workspaces owned by the user - if (method_exists($user, 'ownedWorkspaces')) { - $user->ownedWorkspaces()->each(function ($workspace) { - $workspace->delete(); - }); - } - - // Hard delete user account - $user->forceDelete(); - }); - - Log::info('Account deleted successfully', [ - 'user_id' => $userId, - 'deletion_request_id' => $this->deletionRequest->id, - 'via' => 'job', - ]); - } - - /** - * Handle a job failure. - */ - public function failed(\Throwable $exception): void - { - Log::error('Failed to process account deletion', [ - 'deletion_request_id' => $this->deletionRequest->id, - 'error' => $exception->getMessage(), - ]); - } - - /** - * Get the tags that should be assigned to the job. - * - * @return array - */ - public function tags(): array - { - return [ - 'account-deletion', - 'user:'.$this->deletionRequest->user_id, - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Lang/en_GB/tenant.php b/packages/core-php/src/Mod/Tenant/Lang/en_GB/tenant.php deleted file mode 100644 index 82b6a57..0000000 --- a/packages/core-php/src/Mod/Tenant/Lang/en_GB/tenant.php +++ /dev/null @@ -1,567 +0,0 @@ - [ - 'welcome' => 'Welcome', - 'powered_by' => 'Powered by :name\'s creator toolkit. Manage, publish, and grow your online presence.', - 'manage_content' => 'Manage Content', - 'get_early_access' => 'Get early access', - 'view_content' => 'View Content', - 'latest_posts' => 'Latest Posts', - 'pages' => 'Pages', - 'read_more' => 'Read more', - 'untitled' => 'Untitled', - 'no_content' => [ - 'title' => 'No content yet', - 'message' => 'This workspace doesn\'t have any published content.', - ], - 'create_content' => 'Create Content', - 'part_of_toolkit' => 'Part of the :name Toolkit', - 'toolkit_description' => 'Access all creator services from one unified platform', - ], - - /* - |-------------------------------------------------------------------------- - | Account Deletion - |-------------------------------------------------------------------------- - */ - 'deletion' => [ - 'invalid' => [ - 'title' => 'Link Invalid or Expired', - 'message' => 'This deletion link is no longer valid. It may have been cancelled or already used.', - ], - 'verify' => [ - 'title' => 'Verify Your Identity', - 'description' => 'Enter your password to confirm immediate account deletion for :name', - 'password_label' => 'Password', - 'password_placeholder' => 'Enter your password', - 'submit' => 'Verify & Continue', - 'changed_mind' => 'Changed your mind?', - 'cancel_link' => 'Cancel deletion', - ], - 'confirm' => [ - 'title' => 'Final Confirmation', - 'warning' => 'This action is permanent and irreversible.', - 'will_delete' => 'The following will be permanently deleted:', - 'items' => [ - 'profile' => 'Your profile and personal data', - 'workspaces' => 'All workspaces you own', - 'content' => 'All content, media, and settings', - 'social' => 'Social connections and scheduled posts', - ], - 'cancel' => 'Cancel', - 'delete_forever' => 'Delete Forever', - ], - 'deleting' => [ - 'title' => 'Deleting Account', - 'messages' => [ - 'social' => 'Disconnecting social accounts...', - 'posts' => 'Removing scheduled posts...', - 'media' => 'Deleting media files...', - 'workspaces' => 'Removing workspaces...', - 'personal' => 'Erasing personal data...', - 'final' => 'Finalizing deletion...', - ], - ], - 'goodbye' => [ - 'title' => 'F.I.N.', - 'deleted' => 'Your account has been deleted.', - 'thanks' => 'Thank you for being part of our journey.', - ], - 'cancelled' => [ - 'title' => 'Deletion Cancelled', - 'message' => 'Your account deletion has been cancelled. Your account is safe and will remain active.', - 'go_to_profile' => 'Go to Profile', - ], - 'cancel_invalid' => [ - 'title' => 'Link Invalid', - 'message' => 'This cancellation link is no longer valid. The deletion may have already been cancelled or completed.', - ], - 'processing' => 'Processing...', - 'return_home' => 'Return Home', - ], - - /* - |-------------------------------------------------------------------------- - | Admin - Workspace Manager - |-------------------------------------------------------------------------- - */ - 'admin' => [ - 'title' => 'Workspace Manager', - 'subtitle' => 'Manage workspaces and transfer resources', - 'hades_only' => 'Hades Only', - 'stats' => [ - 'total' => 'Total Workspaces', - 'active' => 'Active', - 'inactive' => 'Inactive', - ], - 'search_placeholder' => 'Search workspaces by name or slug...', - 'table' => [ - 'workspace' => 'Workspace', - 'owner' => 'Owner', - 'bio' => 'Bio', - 'social' => 'Social', - 'analytics' => 'Analytics', - 'trust' => 'Trust', - 'notify' => 'Notify', - 'commerce' => 'Commerce', - 'status' => 'Status', - 'actions' => 'Actions', - 'no_owner' => 'No owner', - 'active' => 'Active', - 'inactive' => 'Inactive', - 'empty' => 'No workspaces found matching your criteria.', - ], - 'actions' => [ - 'view_details' => 'View details', - 'edit' => 'Edit workspace', - 'change_owner' => 'Change owner', - 'transfer' => 'Transfer resources', - 'delete' => 'Delete workspace', - 'provision' => 'Provision new', - ], - 'confirm_delete' => 'Are you sure you want to delete this workspace? This cannot be undone.', - 'edit_modal' => [ - 'title' => 'Edit Workspace', - 'name' => 'Name', - 'name_placeholder' => 'Workspace name', - 'slug' => 'Slug', - 'slug_placeholder' => 'workspace-slug', - 'active' => 'Active', - 'cancel' => 'Cancel', - 'save' => 'Save Changes', - ], - 'transfer_modal' => [ - 'title' => 'Transfer Resources', - 'source' => 'Source', - 'target_workspace' => 'Target Workspace', - 'select_target' => 'Select target workspace...', - 'resources_label' => 'Resources to Transfer', - 'warning' => 'Warning: This will move all selected resource types from the source workspace to the target workspace. This action cannot be undone.', - 'cancel' => 'Cancel', - 'transfer' => 'Transfer Resources', - ], - 'owner_modal' => [ - 'title' => 'Change Workspace Owner', - 'workspace' => 'Workspace', - 'new_owner' => 'New Owner', - 'select_owner' => 'Select new owner...', - 'warning' => 'The current owner will be demoted to a member. If the new owner is not already a member, they will be added to the workspace.', - 'cancel' => 'Cancel', - 'change' => 'Change Owner', - ], - 'resources_modal' => [ - 'in' => 'in', - 'select_all' => 'Select All', - 'deselect_all' => 'Deselect All', - 'selected' => ':count selected', - 'no_resources' => 'No resources found.', - 'transfer_selected' => 'Transfer Selected', - 'select_workspace' => 'Select workspace...', - 'transfer_items' => 'Transfer :count Item|Transfer :count Items', - 'close' => 'Close', - ], - 'provision_modal' => [ - 'create' => 'Create :type', - 'workspace' => 'Workspace', - 'name' => 'Name', - 'name_placeholder' => 'Enter name...', - 'slug' => 'Slug', - 'slug_placeholder' => 'my-page', - 'url' => 'URL', - 'url_placeholder' => 'https://example.com', - 'cancel' => 'Cancel', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Usage Alerts - |-------------------------------------------------------------------------- - */ - 'usage_alerts' => [ - 'threshold' => [ - 'warning' => 'Warning', - 'critical' => 'Critical', - 'limit_reached' => 'Limit Reached', - ], - 'status' => [ - 'ok' => 'OK', - 'approaching' => 'Approaching Limit', - 'at_limit' => 'At Limit', - ], - 'labels' => [ - 'used' => 'Used', - 'limit' => 'Limit', - 'remaining' => 'Remaining', - 'percentage' => 'Usage', - 'feature' => 'Feature', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Emails - |-------------------------------------------------------------------------- - */ - 'emails' => [ - 'usage_alert' => [ - 'warning' => [ - 'subject' => ':feature usage at :percentage%', - 'heading' => 'Usage Warning', - 'body' => 'Your **:workspace** workspace is approaching its **:feature** limit.', - 'usage_line' => 'Current usage: :used of :limit (:percentage%)', - 'remaining_line' => 'Remaining: :remaining', - 'action_text' => 'Consider upgrading your plan to ensure uninterrupted service.', - ], - 'critical' => [ - 'subject' => 'Urgent: :feature usage at :percentage%', - 'heading' => 'Critical Usage Alert', - 'body' => 'Your **:workspace** workspace is almost at its **:feature** limit.', - 'usage_line' => 'Current usage: :used of :limit (:percentage%)', - 'remaining_line' => 'Only :remaining remaining', - 'action_text' => 'Upgrade now to avoid any service interruptions.', - ], - 'limit_reached' => [ - 'subject' => ':feature limit reached', - 'heading' => 'Limit Reached', - 'body' => 'Your **:workspace** workspace has reached its **:feature** limit.', - 'usage_line' => 'Usage: :used of :limit (100%)', - 'options_heading' => 'You will not be able to use this feature until:', - 'options' => [ - 'upgrade' => 'You upgrade to a higher plan', - 'reset' => 'Your usage resets (if applicable)', - 'reduce' => 'You reduce your current usage', - ], - ], - 'view_usage' => 'View Usage', - 'upgrade_plan' => 'Upgrade Plan', - 'help_text' => 'If you have questions about your plan, please contact our support team.', - ], - 'deletion_requested' => [ - 'subject' => 'Account Deletion Scheduled', - 'greeting' => 'Hi :name,', - 'scheduled' => 'Your :app account has been scheduled for permanent deletion.', - 'auto_delete' => 'Your account will be automatically deleted on :date (in :days days).', - 'will_delete' => 'What will be deleted:', - 'items' => [ - 'profile' => 'Your profile and personal information', - 'workspaces' => 'All workspaces you own', - 'content' => 'All content, media, and settings', - 'social' => 'Social media connections and scheduled posts', - ], - 'delete_now' => 'Want to delete immediately?', - 'delete_now_description' => 'Click the button below to delete your account right now:', - 'delete_button' => 'Delete Now', - 'changed_mind' => 'Changed your mind?', - 'changed_mind_description' => 'Click below to cancel the deletion and keep your account:', - 'cancel_button' => 'Cancel Deletion', - 'not_requested' => 'Did not request this?', - 'not_requested_description' => 'If you did not request account deletion, click the cancel button above immediately and change your password.', - ], - 'boost_expired' => [ - 'subject_single' => ':feature boost expired - :workspace', - 'subject_multiple' => ':count boosts expired - :workspace', - 'body_single' => 'A boost for **:feature** has expired in your **:workspace** workspace.', - 'body_multiple' => 'The following boosts have expired in your **:workspace** workspace:', - 'cycle_bound_note' => 'This was a cycle-bound boost that ended with your billing period.', - 'action_text' => 'You can purchase additional boosts or upgrade your plan to restore this capacity.', - 'boost_types' => [ - 'unlimited' => 'Unlimited access', - 'enable' => 'Feature access', - 'add_limit' => '+:total capacity (:consumed used)', - ], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Billing Cycles - |-------------------------------------------------------------------------- - */ - 'billing' => [ - 'cycle_reset' => 'Your billing cycle has been reset.', - 'boosts_expired' => ':count boost(s) have expired.', - 'usage_reset' => 'Usage counters have been reset for the new billing period.', - ], - - /* - |-------------------------------------------------------------------------- - | Common - |-------------------------------------------------------------------------- - */ - 'common' => [ - 'na' => 'N/A', - 'none' => 'None', - 'unknown' => 'Unknown', - ], - - /* - |-------------------------------------------------------------------------- - | Errors - |-------------------------------------------------------------------------- - */ - 'errors' => [ - 'hades_required' => 'Hades tier required for this feature.', - 'unauthenticated' => 'You must be logged in to access this resource.', - 'no_workspace' => 'No workspace context available.', - 'insufficient_permissions' => 'You do not have permission to perform this action.', - ], - - /* - |-------------------------------------------------------------------------- - | Admin - Team Manager - |-------------------------------------------------------------------------- - */ - 'admin' => [ - // ... existing admin translations will be merged ... - - 'team_manager' => [ - 'title' => 'Workspace Teams', - 'subtitle' => 'Manage teams and role-based permissions for workspaces', - - 'stats' => [ - 'total_teams' => 'Total Teams', - 'total_members' => 'Total Members', - 'members_assigned' => 'Assigned to Teams', - ], - - 'search' => [ - 'placeholder' => 'Search teams by name...', - ], - - 'filter' => [ - 'all_workspaces' => 'All Workspaces', - ], - - 'columns' => [ - 'team' => 'Team', - 'workspace' => 'Workspace', - 'members' => 'Members', - 'permissions' => 'Permissions', - 'actions' => 'Actions', - ], - - 'labels' => [ - 'permissions' => 'permissions', - ], - - 'badges' => [ - 'system' => 'System', - 'default' => 'Default', - ], - - 'actions' => [ - 'create_team' => 'Create Team', - 'edit' => 'Edit', - 'delete' => 'Delete', - 'view_members' => 'View Members', - 'seed_defaults' => 'Seed Defaults', - 'migrate_members' => 'Migrate Members', - ], - - 'confirm' => [ - 'delete_team' => 'Are you sure you want to delete this team? Members will be unassigned.', - ], - - 'empty_state' => [ - 'title' => 'No teams found', - 'description' => 'Create teams to organise members and control permissions in your workspaces.', - ], - - 'modal' => [ - 'title_create' => 'Create Team', - 'title_edit' => 'Edit Team', - - 'fields' => [ - 'workspace' => 'Workspace', - 'select_workspace' => 'Select workspace...', - 'name' => 'Name', - 'name_placeholder' => 'e.g. Editors', - 'slug' => 'Slug', - 'slug_placeholder' => 'e.g. editors', - 'slug_description' => 'Leave blank to auto-generate from name.', - 'description' => 'Description', - 'colour' => 'Colour', - 'is_default' => 'Default team for new members', - 'permissions' => 'Permissions', - ], - - 'actions' => [ - 'cancel' => 'Cancel', - 'create' => 'Create Team', - 'update' => 'Update Team', - ], - ], - - 'messages' => [ - 'team_created' => 'Team created successfully.', - 'team_updated' => 'Team updated successfully.', - 'team_deleted' => 'Team deleted successfully.', - 'cannot_delete_system' => 'Cannot delete system teams.', - 'cannot_delete_has_members' => 'Cannot delete team with :count assigned member(s). Remove members first.', - 'defaults_seeded' => 'Default teams have been seeded successfully.', - 'members_migrated' => ':count member(s) have been migrated to teams.', - ], - ], - - 'member_manager' => [ - 'title' => 'Workspace Members', - 'subtitle' => 'Manage member team assignments and custom permissions', - - 'stats' => [ - 'total_members' => 'Total Members', - 'with_team' => 'Assigned to Team', - 'with_custom' => 'With Custom Permissions', - ], - - 'search' => [ - 'placeholder' => 'Search members by name or email...', - ], - - 'filter' => [ - 'all_workspaces' => 'All Workspaces', - 'all_teams' => 'All Teams', - ], - - 'columns' => [ - 'member' => 'Member', - 'workspace' => 'Workspace', - 'team' => 'Team', - 'role' => 'Legacy Role', - 'permissions' => 'Custom', - 'actions' => 'Actions', - ], - - 'labels' => [ - 'no_team' => 'No team', - 'inherited' => 'Inherited', - ], - - 'actions' => [ - 'assign_team' => 'Assign to Team', - 'remove_from_team' => 'Remove from Team', - 'custom_permissions' => 'Custom Permissions', - 'clear_permissions' => 'Clear Custom Permissions', - ], - - 'confirm' => [ - 'clear_permissions' => 'Are you sure you want to clear all custom permissions for this member?', - 'bulk_remove_team' => 'Are you sure you want to remove the selected members from their teams?', - 'bulk_clear_permissions' => 'Are you sure you want to clear custom permissions for all selected members?', - ], - - 'bulk' => [ - 'selected' => ':count selected', - 'assign_team' => 'Assign Team', - 'remove_team' => 'Remove Team', - 'clear_permissions' => 'Clear Permissions', - 'clear' => 'Clear', - ], - - 'empty_state' => [ - 'title' => 'No members found', - 'description' => 'No members match your current filter criteria.', - ], - - 'modal' => [ - 'actions' => [ - 'cancel' => 'Cancel', - 'save' => 'Save', - 'assign' => 'Assign', - ], - ], - - 'assign_modal' => [ - 'title' => 'Assign to Team', - 'team' => 'Team', - 'no_team' => 'No team (remove assignment)', - ], - - 'permissions_modal' => [ - 'title' => 'Custom Permissions', - 'team_permissions' => 'Team: :team', - 'description' => 'Custom permissions override the team permissions. Grant additional permissions or revoke specific ones.', - 'grant_label' => 'Grant Additional Permissions', - 'revoke_label' => 'Revoke Permissions', - ], - - 'bulk_assign_modal' => [ - 'title' => 'Bulk Assign Team', - 'description' => 'Assign :count selected member(s) to a team.', - 'team' => 'Team', - 'no_team' => 'No team (remove assignment)', - ], - - 'messages' => [ - 'team_assigned' => 'Member assigned to team successfully.', - 'removed_from_team' => 'Member removed from team successfully.', - 'permissions_updated' => 'Custom permissions updated successfully.', - 'permissions_cleared' => 'Custom permissions cleared successfully.', - 'no_members_selected' => 'No members selected.', - 'invalid_team' => 'Invalid team selected.', - 'bulk_team_assigned' => ':count member(s) assigned to team.', - 'bulk_removed_from_team' => ':count member(s) removed from team.', - 'bulk_permissions_cleared' => 'Custom permissions cleared for :count member(s).', - ], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Entitlement Webhooks - |-------------------------------------------------------------------------- - */ - 'webhooks' => [ - 'events' => [ - 'limit_warning' => 'Limit Warning', - 'limit_reached' => 'Limit Reached', - 'package_changed' => 'Package Changed', - 'boost_activated' => 'Boost Activated', - 'boost_expired' => 'Boost Expired', - ], - 'messages' => [ - 'created' => 'Webhook created successfully.', - 'updated' => 'Webhook updated successfully.', - 'deleted' => 'Webhook deleted successfully.', - 'test_success' => 'Test webhook sent successfully.', - 'test_failed' => 'Test webhook failed.', - 'secret_regenerated' => 'Secret regenerated successfully.', - 'circuit_reset' => 'Webhook re-enabled and failure count reset.', - 'retry_success' => 'Delivery retried successfully.', - 'retry_failed' => 'Retry failed.', - ], - 'labels' => [ - 'name' => 'Name', - 'url' => 'URL', - 'events' => 'Events', - 'status' => 'Status', - 'active' => 'Active', - 'inactive' => 'Inactive', - 'circuit_broken' => 'Circuit Broken', - 'secret' => 'Secret', - 'max_attempts' => 'Max Retry Attempts', - 'deliveries' => 'Deliveries', - ], - 'descriptions' => [ - 'url' => 'The endpoint that will receive webhook POST requests.', - 'max_attempts' => 'Number of times to retry failed deliveries (1-10).', - 'inactive' => 'Inactive webhooks will not receive any events.', - 'secret' => 'Use this secret to verify webhook signatures. The signature is sent in the X-Signature header and is a HMAC-SHA256 hash of the JSON payload.', - 'save_secret' => 'Save this secret now. It will not be shown again.', - ], - ], -]; diff --git a/packages/core-php/src/Mod/Tenant/Listeners/SendWelcomeEmail.php b/packages/core-php/src/Mod/Tenant/Listeners/SendWelcomeEmail.php deleted file mode 100644 index 325b090..0000000 --- a/packages/core-php/src/Mod/Tenant/Listeners/SendWelcomeEmail.php +++ /dev/null @@ -1,21 +0,0 @@ -user->notify(new WelcomeNotification); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Mail/AccountDeletionRequested.php b/packages/core-php/src/Mod/Tenant/Mail/AccountDeletionRequested.php deleted file mode 100644 index 0577105..0000000 --- a/packages/core-php/src/Mod/Tenant/Mail/AccountDeletionRequested.php +++ /dev/null @@ -1,62 +0,0 @@ - $this->deletionRequest->user, - 'confirmationUrl' => $this->deletionRequest->confirmationUrl(), - 'cancelUrl' => $this->deletionRequest->cancelUrl(), - 'expiresAt' => $this->deletionRequest->expires_at, - 'daysRemaining' => $this->deletionRequest->daysRemaining(), - ], - ); - } - - /** - * Get the attachments for the message. - * - * @return array - */ - public function attachments(): array - { - return []; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Middleware/CheckWorkspacePermission.php b/packages/core-php/src/Mod/Tenant/Middleware/CheckWorkspacePermission.php deleted file mode 100644 index be217e3..0000000 --- a/packages/core-php/src/Mod/Tenant/Middleware/CheckWorkspacePermission.php +++ /dev/null @@ -1,96 +0,0 @@ -user(); - - if (! $user) { - abort(403, __('tenant::tenant.errors.unauthenticated')); - } - - // Get current workspace from request or user's default - $workspace = $this->getWorkspace($request); - - if (! $workspace) { - abort(403, __('tenant::tenant.errors.no_workspace')); - } - - // Set up the team service with the workspace context - $this->teamService->forWorkspace($workspace); - - // Check if user has any of the required permissions - if (! $this->teamService->hasAnyPermission($user, $permissions)) { - abort(403, __('tenant::tenant.errors.insufficient_permissions')); - } - - // Store the workspace and member in request for later use - $request->attributes->set('workspace_model', $workspace); - - $member = $this->teamService->getMember($user); - if ($member) { - $request->attributes->set('workspace_member', $member); - } - - return $next($request); - } - - protected function getWorkspace(Request $request): ?Workspace - { - // First try to get from request attributes (already resolved by other middleware) - if ($request->attributes->has('workspace_model')) { - return $request->attributes->get('workspace_model'); - } - - // Try to get from route parameter - $workspaceParam = $request->route('workspace'); - if ($workspaceParam instanceof Workspace) { - return $workspaceParam; - } - - if (is_string($workspaceParam) || is_int($workspaceParam)) { - return Workspace::where('slug', $workspaceParam) - ->orWhere('id', $workspaceParam) - ->first(); - } - - // Try to get from session - $sessionSlug = session('workspace'); - if ($sessionSlug) { - return Workspace::where('slug', $sessionSlug)->first(); - } - - // Fall back to user's default workspace - $user = $request->user(); - if ($user && method_exists($user, 'defaultHostWorkspace')) { - return $user->defaultHostWorkspace(); - } - - return null; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Middleware/RequireAdminDomain.php b/packages/core-php/src/Mod/Tenant/Middleware/RequireAdminDomain.php deleted file mode 100644 index ceae3c6..0000000 --- a/packages/core-php/src/Mod/Tenant/Middleware/RequireAdminDomain.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes->get('is_admin_domain', true); - - // Allow access on admin domains or local development - if ($isAdminDomain) { - return $next($request); - } - - // On service subdomains, redirect to the public workspace page - $workspace = $request->attributes->get('workspace', 'main'); - - // Redirect to the public page for this workspace - return redirect()->route('workspace.show', ['workspace' => $workspace]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Middleware/RequireWorkspaceContext.php b/packages/core-php/src/Mod/Tenant/Middleware/RequireWorkspaceContext.php deleted file mode 100644 index a3f4c21..0000000 --- a/packages/core-php/src/Mod/Tenant/Middleware/RequireWorkspaceContext.php +++ /dev/null @@ -1,118 +0,0 @@ -group(function () { - * Route::resource('accounts', AccountController::class); - * }); - * - * Register in Kernel.php: - * 'workspace.required' => \Core\Mod\Tenant\Middleware\RequireWorkspaceContext::class, - */ -class RequireWorkspaceContext -{ - /** - * Handle an incoming request. - * - * @throws MissingWorkspaceContextException When workspace context is missing - */ - public function handle(Request $request, Closure $next, ?string $validateAccess = null): Response - { - // Get current workspace from various sources - $workspace = $this->resolveWorkspace($request); - - if (! $workspace) { - throw MissingWorkspaceContextException::forMiddleware(); - } - - // Optionally validate user has access to the workspace - if ($validateAccess === 'validate' && auth()->check()) { - $this->validateUserAccess($request, $workspace); - } - - // Ensure workspace is set in request attributes for downstream use - if (! $request->attributes->has('workspace_model')) { - $request->attributes->set('workspace_model', $workspace); - } - - return $next($request); - } - - /** - * Resolve workspace from request. - */ - protected function resolveWorkspace(Request $request): ?Workspace - { - // 1. Check if workspace_model is already set (by ResolveWorkspaceFromSubdomain) - if ($request->attributes->has('workspace_model')) { - return $request->attributes->get('workspace_model'); - } - - // 2. Try Workspace::current() which checks multiple sources - $current = Workspace::current(); - if ($current) { - return $current; - } - - // 3. Check request input for workspace_id (API requests) - if ($workspaceId = $request->input('workspace_id')) { - return Workspace::find($workspaceId); - } - - // 4. Check header for workspace context (API requests) - if ($workspaceId = $request->header('X-Workspace-ID')) { - return Workspace::find($workspaceId); - } - - // 5. Check query parameter for workspace (API/webhook requests) - if ($workspaceSlug = $request->query('workspace')) { - return Workspace::where('slug', $workspaceSlug)->first(); - } - - return null; - } - - /** - * Validate that the authenticated user has access to the workspace. - * - * @throws MissingWorkspaceContextException When user doesn't have access - */ - protected function validateUserAccess(Request $request, Workspace $workspace): void - { - $user = auth()->user(); - - // Check if user model has workspaces relationship - if (method_exists($user, 'workspaces') || method_exists($user, 'hostWorkspaces')) { - $workspaces = method_exists($user, 'hostWorkspaces') - ? $user->hostWorkspaces - : $user->workspaces; - - if (! $workspaces->contains('id', $workspace->id)) { - throw new MissingWorkspaceContextException( - message: 'You do not have access to this workspace.', - operation: 'access', - code: 403 - ); - } - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Middleware/ResolveNamespace.php b/packages/core-php/src/Mod/Tenant/Middleware/ResolveNamespace.php deleted file mode 100644 index 9a8eed9..0000000 --- a/packages/core-php/src/Mod/Tenant/Middleware/ResolveNamespace.php +++ /dev/null @@ -1,59 +0,0 @@ -query('namespace')) { - $namespace = $this->namespaceService->findByUuid($namespaceUuid); - if ($namespace && $this->namespaceService->canAccess($namespace)) { - // Store in session for subsequent requests - $this->namespaceService->setCurrent($namespace); - $request->attributes->set('current_namespace', $namespace); - - return $next($request); - } - } - - // Try to resolve namespace from header (for API requests) - if ($namespaceUuid = $request->header('X-Namespace')) { - $namespace = $this->namespaceService->findByUuid($namespaceUuid); - if ($namespace && $this->namespaceService->canAccess($namespace)) { - $request->attributes->set('current_namespace', $namespace); - - return $next($request); - } - } - - // Try to resolve from session - $namespace = $this->namespaceService->current(); - if ($namespace) { - $request->attributes->set('current_namespace', $namespace); - } - - return $next($request); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Middleware/ResolveWorkspaceFromSubdomain.php b/packages/core-php/src/Mod/Tenant/Middleware/ResolveWorkspaceFromSubdomain.php deleted file mode 100644 index b2cb10c..0000000 --- a/packages/core-php/src/Mod/Tenant/Middleware/ResolveWorkspaceFromSubdomain.php +++ /dev/null @@ -1,142 +0,0 @@ -getHost(); - $subdomain = $this->extractSubdomain($host); - $workspace = $this->resolveWorkspaceFromSubdomain($subdomain); - - // Store subdomain info in request - $request->attributes->set('subdomain', $subdomain); - $request->attributes->set('is_admin_domain', $this->isAdminDomain($subdomain)); - - if ($workspace) { - // Wrap session operations in try-catch to handle corrupted sessions - try { - $this->workspaceService->setCurrent($workspace); - $request->attributes->set('workspace_data', $this->workspaceService->current()); - } catch (\Throwable) { - // Session write failed - continue with defaults - // ResilientSession middleware will handle the actual error - } - - $request->attributes->set('workspace', $workspace); - - // CRITICAL: Also set the Workspace MODEL instance (not array) - // This enables Workspace::current() and WorkspaceScope to work - try { - $workspaceModel = Workspace::where('slug', $workspace)->first(); - if ($workspaceModel) { - $request->attributes->set('workspace_model', $workspaceModel); - } - } catch (\Throwable) { - // Database query failed - continue without workspace model - } - } - - return $next($request); - } - - /** - * Extract subdomain from hostname. - */ - protected function extractSubdomain(string $host): string - { - $baseDomain = config('app.base_domain', 'host.uk.com'); - - // Handle localhost/dev environments - if (str_contains($host, 'localhost') || str_contains($host, '127.0.0.1') || str_ends_with($host, '.test')) { - return ''; // Treat as main domain for local dev - } - - // Check if this is our base domain - if (! str_ends_with($host, $baseDomain)) { - return ''; - } - - // Extract subdomain - $subdomain = str_replace('.'.$baseDomain, '', $host); - - // Handle bare domain (no subdomain) - if ($subdomain === $host) { - return ''; - } - - return $subdomain; - } - - /** - * Check if subdomain should serve admin panel. - */ - public function isAdminDomain(?string $subdomain): bool - { - return in_array($subdomain ?? '', $this->adminSubdomains, true); - } - - /** - * Resolve workspace slug from subdomain. - */ - protected function resolveWorkspaceFromSubdomain(string $subdomain): ?string - { - // Map subdomains to workspace slugs (must match database Workspace slugs) - $mappings = [ - // Admin/main domain aliases - 'hestia' => 'main', - 'main' => 'main', - 'www' => 'main', - 'hub' => 'main', - '' => 'main', - // Service subdomains - bio is canonical, link is alias - 'bio' => 'bio', - 'link' => 'bio', - 'social' => 'social', - 'analytics' => 'analytics', - 'stats' => 'analytics', - 'trust' => 'trust', - 'proof' => 'trust', - 'notify' => 'notify', - 'push' => 'notify', - ]; - - if (isset($mappings[$subdomain])) { - return $mappings[$subdomain]; - } - - // Check if subdomain matches a workspace slug directly - $workspace = $this->workspaceService->get($subdomain); - if ($workspace) { - return $subdomain; - } - - // Unknown subdomain - could be a user subdomain, default to main - return 'main'; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Migrations/0001_01_01_000000_create_tenant_tables.php b/packages/core-php/src/Mod/Tenant/Migrations/0001_01_01_000000_create_tenant_tables.php deleted file mode 100644 index 8f624c5..0000000 --- a/packages/core-php/src/Mod/Tenant/Migrations/0001_01_01_000000_create_tenant_tables.php +++ /dev/null @@ -1,316 +0,0 @@ -id(); - $table->string('name'); - $table->string('email')->unique(); - $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); - $table->rememberToken(); - $table->string('tier')->default('free'); - $table->timestamp('tier_expires_at')->nullable(); - $table->timestamps(); - }); - - // 2. Password Reset Tokens - Schema::create('password_reset_tokens', function (Blueprint $table) { - $table->string('email')->primary(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - }); - - // 3. Sessions - Schema::create('sessions', function (Blueprint $table) { - $table->string('id')->primary(); - $table->foreignId('user_id')->nullable()->index(); - $table->string('ip_address', 45)->nullable(); - $table->text('user_agent')->nullable(); - $table->longText('payload'); - $table->integer('last_activity')->index(); - }); - - // 4. Workspaces (the tenant boundary) - Schema::create('workspaces', function (Blueprint $table) { - $table->id(); - $table->string('name'); - $table->string('slug')->unique(); - $table->string('domain')->nullable(); - $table->string('icon')->nullable(); - $table->string('color')->nullable(); - $table->text('description')->nullable(); - $table->string('type')->default('default'); - $table->json('settings')->nullable(); - $table->boolean('is_active')->default(true); - $table->integer('sort_order')->default(0); - - // WP Connector fields - $table->boolean('wp_connector_enabled')->default(false); - $table->string('wp_connector_url')->nullable(); - $table->string('wp_connector_secret')->nullable(); - $table->timestamp('wp_connector_verified_at')->nullable(); - $table->timestamp('wp_connector_last_sync')->nullable(); - $table->json('wp_connector_config')->nullable(); - - // Billing fields - $table->string('stripe_customer_id')->nullable(); - $table->string('btcpay_customer_id')->nullable(); - $table->string('billing_name')->nullable(); - $table->string('billing_email')->nullable(); - $table->string('billing_address_line1')->nullable(); - $table->string('billing_address_line2')->nullable(); - $table->string('billing_city')->nullable(); - $table->string('billing_state')->nullable(); - $table->string('billing_postal_code')->nullable(); - $table->string('billing_country')->nullable(); - $table->string('vat_number')->nullable(); - $table->string('tax_id')->nullable(); - $table->boolean('tax_exempt')->default(false); - - $table->timestamps(); - $table->softDeletes(); - }); - - // 5. User Workspace Pivot - Schema::create('user_workspace', function (Blueprint $table) { - $table->id(); - $table->foreignId('user_id')->constrained()->cascadeOnDelete(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('role')->default('member'); - $table->boolean('is_default')->default(false); - $table->timestamps(); - - $table->unique(['user_id', 'workspace_id']); - }); - - // 6. Namespaces - Schema::create('namespaces', function (Blueprint $table) { - $table->id(); - $table->uuid('uuid')->unique(); - $table->string('name', 128); - $table->string('slug', 64); - $table->string('description', 512)->nullable(); - $table->string('icon', 64)->default('folder'); - $table->string('color', 16)->default('zinc'); - - // Polymorphic owner (User::class or Workspace::class) - $table->morphs('owner'); - - // Workspace context for billing aggregation - $table->foreignId('workspace_id')->nullable() - ->constrained()->nullOnDelete(); - - $table->json('settings')->nullable(); - $table->boolean('is_default')->default(false); - $table->boolean('is_active')->default(true); - $table->smallInteger('sort_order')->default(0); - - $table->timestamps(); - $table->softDeletes(); - - $table->unique(['owner_type', 'owner_id', 'slug']); - $table->index(['workspace_id', 'is_active']); - $table->index(['owner_type', 'owner_id', 'is_active']); - }); - - // 7. Entitlement Features - Schema::create('entitlement_features', function (Blueprint $table) { - $table->id(); - $table->string('code')->unique(); - $table->string('name'); - $table->text('description')->nullable(); - $table->string('category')->nullable(); - $table->enum('type', ['boolean', 'limit', 'unlimited'])->default('boolean'); - $table->enum('reset_type', ['none', 'monthly', 'rolling'])->default('none'); - $table->integer('rolling_window_days')->nullable(); - $table->foreignId('parent_feature_id')->nullable() - ->constrained('entitlement_features')->nullOnDelete(); - $table->integer('sort_order')->default(0); - $table->boolean('is_active')->default(true); - $table->timestamps(); - - $table->index(['category', 'sort_order']); - $table->index('category'); - }); - - // 8. Entitlement Packages - Schema::create('entitlement_packages', function (Blueprint $table) { - $table->id(); - $table->string('code')->unique(); - $table->string('name'); - $table->text('description')->nullable(); - $table->string('icon')->nullable(); - $table->string('color')->nullable(); - $table->integer('sort_order')->default(0); - $table->boolean('is_stackable')->default(true); - $table->boolean('is_base_package')->default(false); - $table->boolean('is_active')->default(true); - $table->boolean('is_public')->default(true); - $table->decimal('monthly_price', 10, 2)->nullable(); - $table->decimal('yearly_price', 10, 2)->nullable(); - $table->decimal('setup_fee', 10, 2)->default(0); - $table->unsignedInteger('trial_days')->default(0); - $table->string('stripe_monthly_price_id')->nullable(); - $table->string('stripe_yearly_price_id')->nullable(); - $table->string('btcpay_monthly_price_id')->nullable(); - $table->string('btcpay_yearly_price_id')->nullable(); - $table->string('blesta_package_id')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index('blesta_package_id'); - }); - - // 9. Entitlement Package Features - Schema::create('entitlement_package_features', function (Blueprint $table) { - $table->id(); - $table->foreignId('package_id')->constrained('entitlement_packages')->cascadeOnDelete(); - $table->foreignId('feature_id')->constrained('entitlement_features')->cascadeOnDelete(); - $table->unsignedBigInteger('limit_value')->nullable(); - $table->timestamps(); - - $table->unique(['package_id', 'feature_id']); - }); - - // 10. Entitlement Workspace Packages - Schema::create('entitlement_workspace_packages', function (Blueprint $table) { - $table->id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->foreignId('package_id')->constrained('entitlement_packages')->cascadeOnDelete(); - $table->enum('status', ['active', 'suspended', 'cancelled', 'expired'])->default('active'); - $table->timestamp('starts_at')->nullable(); - $table->timestamp('expires_at')->nullable(); - $table->timestamp('billing_cycle_anchor')->nullable(); - $table->string('blesta_service_id')->nullable(); - $table->json('metadata')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['workspace_id', 'status'], 'ent_ws_pkg_ws_status_idx'); - $table->index(['expires_at', 'status'], 'ent_ws_pkg_expires_status_idx'); - $table->index('blesta_service_id'); - }); - - // 11. Entitlement Namespace Packages - Schema::create('entitlement_namespace_packages', function (Blueprint $table) { - $table->id(); - $table->foreignId('namespace_id')->constrained('namespaces')->cascadeOnDelete(); - $table->foreignId('package_id')->constrained('entitlement_packages')->cascadeOnDelete(); - $table->enum('status', ['active', 'suspended', 'cancelled', 'expired'])->default('active'); - $table->timestamp('starts_at')->nullable(); - $table->timestamp('expires_at')->nullable(); - $table->json('metadata')->nullable(); - $table->timestamps(); - $table->softDeletes(); - - $table->index(['namespace_id', 'status']); - $table->index(['expires_at', 'status']); - }); - - // 12. Entitlement Boosts - Schema::create('entitlement_boosts', function (Blueprint $table) { - $table->id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('feature_code'); - $table->enum('boost_type', ['add_limit', 'enable', 'unlimited'])->default('add_limit'); - $table->enum('duration_type', ['cycle_bound', 'duration', 'permanent'])->default('cycle_bound'); - $table->unsignedBigInteger('limit_value')->nullable(); - $table->unsignedBigInteger('consumed_quantity')->default(0); - $table->enum('status', ['active', 'exhausted', 'expired', 'cancelled'])->default('active'); - $table->timestamp('starts_at')->nullable(); - $table->timestamp('expires_at')->nullable(); - $table->string('blesta_addon_id')->nullable(); - $table->json('metadata')->nullable(); - $table->timestamps(); - - $table->index(['workspace_id', 'feature_code', 'status'], 'ent_boosts_ws_feat_status_idx'); - $table->index(['expires_at', 'status'], 'ent_boosts_expires_status_idx'); - $table->index('feature_code'); - $table->index('blesta_addon_id'); - }); - - // 13. Entitlement Usage Records - Schema::create('entitlement_usage_records', function (Blueprint $table) { - $table->id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('feature_code'); - $table->unsignedBigInteger('quantity')->default(1); - $table->foreignId('user_id')->nullable()->constrained()->nullOnDelete(); - $table->json('metadata')->nullable(); - $table->timestamp('recorded_at'); - $table->timestamps(); - - $table->index(['workspace_id', 'feature_code', 'recorded_at'], 'ent_usage_ws_feat_rec_idx'); - $table->index('recorded_at', 'ent_usage_recorded_idx'); - $table->index('feature_code'); - }); - - // 14. Entitlement Logs - Schema::create('entitlement_logs', function (Blueprint $table) { - $table->id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('action'); - $table->string('entity_type'); - $table->unsignedBigInteger('entity_id')->nullable(); - $table->foreignId('user_id')->nullable()->constrained()->nullOnDelete(); - $table->string('source')->nullable(); - $table->json('old_values')->nullable(); - $table->json('new_values')->nullable(); - $table->json('metadata')->nullable(); - $table->timestamps(); - - $table->index(['workspace_id', 'action'], 'ent_logs_ws_action_idx'); - $table->index(['entity_type', 'entity_id'], 'ent_logs_entity_idx'); - $table->index('created_at', 'ent_logs_created_idx'); - }); - - // 15. User Two-Factor Auth - Schema::create('user_two_factor_auth', function (Blueprint $table) { - $table->id(); - $table->foreignId('user_id')->unique()->constrained()->cascadeOnDelete(); - $table->text('secret')->nullable(); - $table->json('recovery_codes')->nullable(); - $table->timestamp('confirmed_at')->nullable(); - $table->timestamp('enabled_at')->nullable(); - $table->timestamps(); - }); - - Schema::enableForeignKeyConstraints(); - } - - public function down(): void - { - Schema::disableForeignKeyConstraints(); - Schema::dropIfExists('user_two_factor_auth'); - Schema::dropIfExists('entitlement_logs'); - Schema::dropIfExists('entitlement_usage_records'); - Schema::dropIfExists('entitlement_boosts'); - Schema::dropIfExists('entitlement_namespace_packages'); - Schema::dropIfExists('entitlement_workspace_packages'); - Schema::dropIfExists('entitlement_package_features'); - Schema::dropIfExists('entitlement_packages'); - Schema::dropIfExists('entitlement_features'); - Schema::dropIfExists('namespaces'); - Schema::dropIfExists('user_workspace'); - Schema::dropIfExists('workspaces'); - Schema::dropIfExists('sessions'); - Schema::dropIfExists('password_reset_tokens'); - Schema::dropIfExists('users'); - Schema::enableForeignKeyConstraints(); - } -}; diff --git a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_000000_create_workspace_invitations_table.php b/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_000000_create_workspace_invitations_table.php deleted file mode 100644 index 2429301..0000000 --- a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_000000_create_workspace_invitations_table.php +++ /dev/null @@ -1,37 +0,0 @@ -id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('email'); - $table->string('token', 64)->unique(); - $table->string('role')->default('member'); - $table->foreignId('invited_by')->nullable()->constrained('users')->nullOnDelete(); - $table->timestamp('expires_at'); - $table->timestamp('accepted_at')->nullable(); - $table->timestamps(); - - $table->index(['workspace_id', 'email']); - $table->index(['email', 'accepted_at']); - $table->index('expires_at'); - }); - } - - public function down(): void - { - Schema::dropIfExists('workspace_invitations'); - } -}; diff --git a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_120000_create_usage_alert_history_table.php b/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_120000_create_usage_alert_history_table.php deleted file mode 100644 index e9d0aca..0000000 --- a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_120000_create_usage_alert_history_table.php +++ /dev/null @@ -1,35 +0,0 @@ -id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('feature_code'); - $table->unsignedTinyInteger('threshold'); // 80, 90, 100 - $table->timestamp('notified_at'); - $table->timestamp('resolved_at')->nullable(); // When usage dropped below threshold - $table->json('metadata')->nullable(); // Snapshot of usage at notification time - $table->timestamps(); - - $table->index(['workspace_id', 'feature_code', 'threshold'], 'usage_alert_ws_feat_thresh_idx'); - $table->index(['workspace_id', 'resolved_at'], 'usage_alert_ws_resolved_idx'); - }); - } - - public function down(): void - { - Schema::dropIfExists('entitlement_usage_alert_history'); - } -}; diff --git a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_entitlement_webhooks_tables.php b/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_entitlement_webhooks_tables.php deleted file mode 100644 index 7bb8fdd..0000000 --- a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_entitlement_webhooks_tables.php +++ /dev/null @@ -1,63 +0,0 @@ -id(); - $table->uuid('uuid')->unique(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('name'); - $table->string('url', 2048); - $table->text('secret')->nullable(); // Encrypted HMAC secret - $table->json('events'); // Array of subscribed event types - $table->boolean('is_active')->default(true); - $table->unsignedTinyInteger('max_attempts')->default(3); - $table->string('last_delivery_status')->nullable(); // pending, success, failed - $table->timestamp('last_triggered_at')->nullable(); - $table->unsignedInteger('failure_count')->default(0); - $table->json('metadata')->nullable(); // Additional configuration - $table->timestamps(); - - $table->index(['workspace_id', 'is_active'], 'ent_wh_ws_active_idx'); - $table->index('uuid'); - }); - - Schema::create('entitlement_webhook_deliveries', function (Blueprint $table) { - $table->id(); - $table->uuid('uuid'); - $table->foreignId('webhook_id') - ->constrained('entitlement_webhooks') - ->cascadeOnDelete(); - $table->string('event'); // Event name: limit_warning, limit_reached, etc. - $table->unsignedTinyInteger('attempts')->default(1); - $table->string('status'); // pending, success, failed - $table->unsignedSmallInteger('http_status')->nullable(); - $table->timestamp('resend_at')->nullable(); - $table->boolean('resent_manually')->default(false); - $table->json('payload'); - $table->json('response')->nullable(); - $table->timestamp('created_at'); - - $table->index(['webhook_id', 'status'], 'ent_wh_del_wh_status_idx'); - $table->index(['webhook_id', 'created_at'], 'ent_wh_del_wh_created_idx'); - $table->index('uuid'); - }); - } - - public function down(): void - { - Schema::dropIfExists('entitlement_webhook_deliveries'); - Schema::dropIfExists('entitlement_webhooks'); - } -}; diff --git a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_workspace_teams_table.php b/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_workspace_teams_table.php deleted file mode 100644 index cf8f09e..0000000 --- a/packages/core-php/src/Mod/Tenant/Migrations/2026_01_26_140000_create_workspace_teams_table.php +++ /dev/null @@ -1,59 +0,0 @@ -id(); - $table->foreignId('workspace_id')->constrained()->cascadeOnDelete(); - $table->string('name'); - $table->string('slug'); - $table->text('description')->nullable(); - $table->json('permissions')->nullable(); - $table->boolean('is_default')->default(false); - $table->boolean('is_system')->default(false); - $table->string('colour', 32)->default('zinc'); - $table->integer('sort_order')->default(0); - $table->timestamps(); - - $table->unique(['workspace_id', 'slug']); - $table->index(['workspace_id', 'is_default']); - }); - - // 2. Enhance user_workspace pivot table - Schema::table('user_workspace', function (Blueprint $table) { - $table->foreignId('team_id')->nullable() - ->after('role') - ->constrained('workspace_teams') - ->nullOnDelete(); - $table->json('custom_permissions')->nullable()->after('team_id'); - $table->timestamp('joined_at')->nullable()->after('custom_permissions'); - $table->foreignId('invited_by')->nullable() - ->after('joined_at') - ->constrained('users') - ->nullOnDelete(); - }); - } - - public function down(): void - { - Schema::table('user_workspace', function (Blueprint $table) { - $table->dropForeign(['team_id']); - $table->dropForeign(['invited_by']); - $table->dropColumn(['team_id', 'custom_permissions', 'joined_at', 'invited_by']); - }); - - Schema::dropIfExists('workspace_teams'); - } -}; diff --git a/packages/core-php/src/Mod/Tenant/Models/AccountDeletionRequest.php b/packages/core-php/src/Mod/Tenant/Models/AccountDeletionRequest.php deleted file mode 100644 index 5716742..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/AccountDeletionRequest.php +++ /dev/null @@ -1,160 +0,0 @@ - 'datetime', - 'confirmed_at' => 'datetime', - 'completed_at' => 'datetime', - 'cancelled_at' => 'datetime', - ]; - - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Create a new deletion request for a user. - * Account WILL be deleted in 7 days unless cancelled. - * Clicking the email link deletes immediately after re-auth. - */ - public static function createForUser(User $user, ?string $reason = null): self - { - // Cancel any existing pending requests - static::where('user_id', $user->id) - ->whereNull('completed_at') - ->whereNull('cancelled_at') - ->delete(); - - return static::create([ - 'user_id' => $user->id, - 'token' => Str::random(64), - 'reason' => $reason, - 'expires_at' => now()->addDays(7), - ]); - } - - /** - * Find a valid request by token (for immediate deletion via email link). - */ - public static function findValidByToken(string $token): ?self - { - return static::where('token', $token) - ->whereNull('completed_at') - ->whereNull('cancelled_at') - ->first(); - } - - /** - * Get all pending requests that should be auto-deleted (past expiry). - */ - public static function pendingAutoDelete() - { - return static::where('expires_at', '<=', now()) - ->whereNull('completed_at') - ->whereNull('cancelled_at'); - } - - /** - * Check if the request is still active (not completed or cancelled). - */ - public function isActive(): bool - { - return is_null($this->completed_at) && is_null($this->cancelled_at); - } - - /** - * Check if the request is pending deletion (scheduled but not executed). - */ - public function isPending(): bool - { - return $this->isActive() && $this->expires_at->isFuture(); - } - - /** - * Check if the request is ready for auto-deletion (past expiry). - */ - public function isReadyForAutoDeletion(): bool - { - return $this->isActive() && $this->expires_at->isPast(); - } - - /** - * Mark the request as confirmed (user clicked email link). - */ - public function confirm(): self - { - $this->update(['confirmed_at' => now()]); - - return $this; - } - - /** - * Mark the request as completed (account deleted). - */ - public function complete(): self - { - $this->update(['completed_at' => now()]); - - return $this; - } - - /** - * Cancel the deletion request. - */ - public function cancel(): self - { - $this->update(['cancelled_at' => now()]); - - return $this; - } - - /** - * Get days remaining until auto-deletion. - */ - public function daysRemaining(): int - { - return max(0, (int) now()->diffInDays($this->expires_at, false)); - } - - /** - * Get hours remaining until auto-deletion. - */ - public function hoursRemaining(): int - { - return max(0, (int) now()->diffInHours($this->expires_at, false)); - } - - /** - * Get the immediate deletion URL (for email). - */ - public function confirmationUrl(): string - { - return route('account.delete.confirm', ['token' => $this->token]); - } - - /** - * Get the cancel URL. - */ - public function cancelUrl(): string - { - return route('account.delete.cancel', ['token' => $this->token]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/AgentReferralBonus.php b/packages/core-php/src/Mod/Tenant/Models/AgentReferralBonus.php deleted file mode 100644 index 0f0af0e..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/AgentReferralBonus.php +++ /dev/null @@ -1,110 +0,0 @@ - 'boolean', - 'last_conversion_at' => 'datetime', - 'total_conversions' => 'integer', - ]; - - /** - * Get or create a bonus record for a provider/model. - */ - public static function getOrCreate(string $provider, ?string $model = null): self - { - return static::firstOrCreate( - ['provider' => $provider, 'model' => $model], - ['next_referral_guaranteed' => false, 'total_conversions' => 0] - ); - } - - /** - * Check if the next referral is guaranteed for a provider/model. - */ - public static function hasGuaranteedReferral(string $provider, ?string $model = null): bool - { - $bonus = static::where('provider', $provider) - ->where('model', $model) - ->first(); - - return $bonus?->next_referral_guaranteed ?? false; - } - - /** - * Grant a guaranteed next referral to a provider/model. - */ - public static function grantGuaranteedReferral(string $provider, ?string $model = null): self - { - $bonus = static::getOrCreate($provider, $model); - - $bonus->update([ - 'next_referral_guaranteed' => true, - 'last_conversion_at' => now(), - 'total_conversions' => $bonus->total_conversions + 1, - ]); - - return $bonus; - } - - /** - * Consume the guaranteed referral for a provider/model. - */ - public static function consumeGuaranteedReferral(string $provider, ?string $model = null): bool - { - $bonus = static::where('provider', $provider) - ->where('model', $model) - ->where('next_referral_guaranteed', true) - ->first(); - - if (! $bonus) { - return false; - } - - $bonus->update(['next_referral_guaranteed' => false]); - - return true; - } - - /** - * Scope to a specific provider. - */ - public function scopeForProvider(Builder $query, string $provider): Builder - { - return $query->where('provider', $provider); - } - - /** - * Scope to records with guaranteed next referral. - */ - public function scopeGuaranteed(Builder $query): Builder - { - return $query->where('next_referral_guaranteed', true); - } - - /** - * Check if this bonus has a guaranteed next referral. - */ - public function hasGuarantee(): bool - { - return $this->next_referral_guaranteed; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/Boost.php b/packages/core-php/src/Mod/Tenant/Models/Boost.php deleted file mode 100644 index 9c43e19..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/Boost.php +++ /dev/null @@ -1,220 +0,0 @@ - 'integer', - 'consumed_quantity' => 'integer', - 'starts_at' => 'datetime', - 'expires_at' => 'datetime', - 'metadata' => 'array', - ]; - - /** - * Boost types. - */ - public const BOOST_TYPE_ADD_LIMIT = 'add_limit'; - - public const BOOST_TYPE_ENABLE = 'enable'; - - public const BOOST_TYPE_UNLIMITED = 'unlimited'; - - /** - * Duration types. - */ - public const DURATION_CYCLE_BOUND = 'cycle_bound'; - - public const DURATION_DURATION = 'duration'; - - public const DURATION_PERMANENT = 'permanent'; - - /** - * Status constants. - */ - public const STATUS_ACTIVE = 'active'; - - public const STATUS_EXHAUSTED = 'exhausted'; - - public const STATUS_EXPIRED = 'expired'; - - public const STATUS_CANCELLED = 'cancelled'; - - /** - * The workspace this boost belongs to. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * The namespace this boost belongs to. - */ - public function namespace(): BelongsTo - { - return $this->belongsTo(Namespace_::class, 'namespace_id'); - } - - /** - * The user this boost belongs to (for user-level boosts like vanity URLs). - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Scope to active boosts. - */ - public function scopeActive($query) - { - return $query->where('status', self::STATUS_ACTIVE); - } - - /** - * Scope to a specific feature. - */ - public function scopeForFeature($query, string $featureCode) - { - return $query->where('feature_code', $featureCode); - } - - /** - * Scope to usable boosts (active and not expired). - */ - public function scopeUsable($query) - { - return $query->where('status', self::STATUS_ACTIVE) - ->where(function ($q) { - $q->whereNull('expires_at') - ->orWhere('expires_at', '>', now()); - }) - ->where(function ($q) { - $q->whereNull('starts_at') - ->orWhere('starts_at', '<=', now()); - }); - } - - /** - * Check if this boost is currently usable. - */ - public function isUsable(): bool - { - if ($this->status !== self::STATUS_ACTIVE) { - return false; - } - - if ($this->starts_at && $this->starts_at->isFuture()) { - return false; - } - - if ($this->expires_at && $this->expires_at->isPast()) { - return false; - } - - return true; - } - - /** - * Get remaining limit for this boost. - */ - public function getRemainingLimit(): ?int - { - if ($this->boost_type === self::BOOST_TYPE_UNLIMITED) { - return null; // Unlimited - } - - if ($this->boost_type === self::BOOST_TYPE_ENABLE) { - return null; // Boolean, no limit - } - - return max(0, $this->limit_value - $this->consumed_quantity); - } - - /** - * Consume some of this boost's limit. - */ - public function consume(int $quantity = 1): bool - { - if (! $this->isUsable()) { - return false; - } - - if ($this->boost_type !== self::BOOST_TYPE_ADD_LIMIT) { - return true; // No consumption for enable/unlimited - } - - $remaining = $this->getRemainingLimit(); - - if ($remaining !== null && $quantity > $remaining) { - return false; - } - - $this->increment('consumed_quantity', $quantity); - - // Check if exhausted - if ($this->getRemainingLimit() === 0) { - $this->update(['status' => self::STATUS_EXHAUSTED]); - } - - return true; - } - - /** - * Check if this boost has remaining capacity. - */ - public function hasCapacity(): bool - { - if ($this->boost_type === self::BOOST_TYPE_UNLIMITED) { - return true; - } - - if ($this->boost_type === self::BOOST_TYPE_ENABLE) { - return true; - } - - return $this->getRemainingLimit() > 0; - } - - /** - * Expire this boost. - */ - public function expire(): void - { - $this->update(['status' => self::STATUS_EXPIRED]); - } - - /** - * Cancel this boost. - */ - public function cancel(): void - { - $this->update(['status' => self::STATUS_CANCELLED]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/EntitlementLog.php b/packages/core-php/src/Mod/Tenant/Models/EntitlementLog.php deleted file mode 100644 index 366df43..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/EntitlementLog.php +++ /dev/null @@ -1,207 +0,0 @@ - 'array', - 'new_values' => 'array', - 'metadata' => 'array', - ]; - - /** - * Action constants. - */ - public const ACTION_PACKAGE_PROVISIONED = 'package.provisioned'; - - public const ACTION_PACKAGE_SUSPENDED = 'package.suspended'; - - public const ACTION_PACKAGE_CANCELLED = 'package.cancelled'; - - public const ACTION_PACKAGE_REACTIVATED = 'package.reactivated'; - - public const ACTION_PACKAGE_RENEWED = 'package.renewed'; - - public const ACTION_PACKAGE_EXPIRED = 'package.expired'; - - public const ACTION_BOOST_PROVISIONED = 'boost.provisioned'; - - public const ACTION_BOOST_CONSUMED = 'boost.consumed'; - - public const ACTION_BOOST_EXHAUSTED = 'boost.exhausted'; - - public const ACTION_BOOST_EXPIRED = 'boost.expired'; - - public const ACTION_BOOST_CANCELLED = 'boost.cancelled'; - - public const ACTION_USAGE_RECORDED = 'usage.recorded'; - - public const ACTION_USAGE_DENIED = 'usage.denied'; - - public const ACTION_CYCLE_RESET = 'cycle.reset'; - - /** - * Source constants. - */ - public const SOURCE_BLESTA = 'blesta'; - - public const SOURCE_COMMERCE = 'commerce'; - - public const SOURCE_ADMIN = 'admin'; - - public const SOURCE_SYSTEM = 'system'; - - public const SOURCE_API = 'api'; - - /** - * The workspace this log belongs to. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * The namespace this log belongs to. - */ - public function namespace(): BelongsTo - { - return $this->belongsTo(Namespace_::class, 'namespace_id'); - } - - /** - * The user who triggered this action. - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Scope to a specific action. - */ - public function scopeForAction($query, string $action) - { - return $query->where('action', $action); - } - - /** - * Scope to a specific entity. - */ - public function scopeForEntity($query, string $entityType, ?int $entityId = null) - { - $query->where('entity_type', $entityType); - - if ($entityId !== null) { - $query->where('entity_id', $entityId); - } - - return $query; - } - - /** - * Scope to a specific source. - */ - public function scopeFromSource($query, string $source) - { - return $query->where('source', $source); - } - - /** - * Create a log entry for a package action. - */ - public static function logPackageAction( - Workspace $workspace, - string $action, - WorkspacePackage $workspacePackage, - ?User $user = null, - ?string $source = null, - ?array $oldValues = null, - ?array $newValues = null, - ?array $metadata = null - ): self { - return self::create([ - 'workspace_id' => $workspace->id, - 'action' => $action, - 'entity_type' => WorkspacePackage::class, - 'entity_id' => $workspacePackage->id, - 'user_id' => $user?->id, - 'source' => $source, - 'old_values' => $oldValues, - 'new_values' => $newValues, - 'metadata' => $metadata, - ]); - } - - /** - * Create a log entry for a boost action. - */ - public static function logBoostAction( - Workspace $workspace, - string $action, - Boost $boost, - ?User $user = null, - ?string $source = null, - ?array $oldValues = null, - ?array $newValues = null, - ?array $metadata = null - ): self { - return self::create([ - 'workspace_id' => $workspace->id, - 'action' => $action, - 'entity_type' => Boost::class, - 'entity_id' => $boost->id, - 'user_id' => $user?->id, - 'source' => $source, - 'old_values' => $oldValues, - 'new_values' => $newValues, - 'metadata' => $metadata, - ]); - } - - /** - * Create a log entry for a usage action. - */ - public static function logUsageAction( - Workspace $workspace, - string $action, - string $featureCode, - ?User $user = null, - ?string $source = null, - ?array $metadata = null - ): self { - return self::create([ - 'workspace_id' => $workspace->id, - 'action' => $action, - 'entity_type' => 'feature', - 'entity_id' => null, - 'user_id' => $user?->id, - 'source' => $source, - 'old_values' => null, - 'new_values' => ['feature_code' => $featureCode], - 'metadata' => $metadata, - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/EntitlementWebhook.php b/packages/core-php/src/Mod/Tenant/Models/EntitlementWebhook.php deleted file mode 100644 index 13b2895..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/EntitlementWebhook.php +++ /dev/null @@ -1,245 +0,0 @@ - 'array', - 'is_active' => 'boolean', - 'max_attempts' => 'integer', - 'last_delivery_status' => WebhookDeliveryStatus::class, - 'last_triggered_at' => 'datetime', - 'failure_count' => 'integer', - 'secret' => 'encrypted', - 'metadata' => 'array', - ]; - - protected $hidden = [ - 'secret', - ]; - - /** - * Available webhook event types. - */ - public const EVENTS = [ - 'limit_warning', - 'limit_reached', - 'package_changed', - 'boost_activated', - 'boost_expired', - ]; - - /** - * Maximum consecutive failures before auto-disable (circuit breaker). - */ - public const MAX_FAILURES = 5; - - protected static function boot(): void - { - parent::boot(); - - static::creating(function (self $webhook) { - if (empty($webhook->uuid)) { - $webhook->uuid = (string) Str::uuid(); - } - }); - } - - // ------------------------------------------------------------------------- - // Relationships - // ------------------------------------------------------------------------- - - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - public function deliveries(): HasMany - { - return $this->hasMany(EntitlementWebhookDelivery::class, 'webhook_id'); - } - - // ------------------------------------------------------------------------- - // Scopes - // ------------------------------------------------------------------------- - - public function scopeActive(Builder $query): Builder - { - return $query->where('is_active', true); - } - - public function scopeForEvent(Builder $query, string $event): Builder - { - return $query->whereJsonContains('events', $event); - } - - public function scopeForWorkspace(Builder $query, Workspace|int $workspace): Builder - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $query->where('workspace_id', $workspaceId); - } - - // ------------------------------------------------------------------------- - // State checks - // ------------------------------------------------------------------------- - - public function isActive(): bool - { - return $this->is_active === true; - } - - public function hasEvent(string $event): bool - { - return in_array($event, $this->events ?? []); - } - - public function isCircuitBroken(): bool - { - return $this->failure_count >= self::MAX_FAILURES; - } - - // ------------------------------------------------------------------------- - // Status management - // ------------------------------------------------------------------------- - - public function incrementFailureCount(): void - { - $this->increment('failure_count'); - - // Auto-disable after too many failures (circuit breaker) - if ($this->failure_count >= self::MAX_FAILURES) { - $this->update(['is_active' => false]); - } - } - - public function resetFailureCount(): void - { - $this->update([ - 'failure_count' => 0, - 'last_triggered_at' => now(), - ]); - } - - public function updateLastDeliveryStatus(WebhookDeliveryStatus $status): void - { - $this->update(['last_delivery_status' => $status]); - } - - /** - * Trigger webhook and create delivery record. - */ - public function trigger(EntitlementWebhookEvent $event): EntitlementWebhookDelivery - { - $data = [ - 'event' => $event::name(), - 'data' => $event->payload(), - 'timestamp' => now()->toIso8601String(), - ]; - - try { - $headers = [ - 'Content-Type' => 'application/json', - 'X-Request-Source' => config('app.name'), - 'User-Agent' => config('app.name').' Entitlement Webhook', - ]; - - if ($this->secret) { - $headers['X-Signature'] = hash_hmac('sha256', json_encode($data), $this->secret); - } - - $response = Http::withHeaders($headers) - ->timeout(10) - ->post($this->url, $data); - - $status = match ($response->status()) { - 200, 201, 202, 204 => WebhookDeliveryStatus::SUCCESS, - default => WebhookDeliveryStatus::FAILED, - }; - - if ($status === WebhookDeliveryStatus::SUCCESS) { - $this->resetFailureCount(); - } else { - $this->incrementFailureCount(); - } - - $this->updateLastDeliveryStatus($status); - - return $this->deliveries()->create([ - 'uuid' => Str::uuid(), - 'event' => $event::name(), - 'status' => $status, - 'http_status' => $response->status(), - 'payload' => $data, - 'response' => $response->json() ?: ['body' => $response->body()], - 'created_at' => now(), - ]); - } catch (\Exception $e) { - $this->incrementFailureCount(); - $this->updateLastDeliveryStatus(WebhookDeliveryStatus::FAILED); - - return $this->deliveries()->create([ - 'uuid' => Str::uuid(), - 'event' => $event::name(), - 'status' => WebhookDeliveryStatus::FAILED, - 'payload' => $data, - 'response' => ['error' => $e->getMessage()], - 'created_at' => now(), - ]); - } - } - - public function getRouteKeyName(): string - { - return 'uuid'; - } - - /** - * Generate a new secret for this webhook. - */ - public function regenerateSecret(): string - { - $secret = bin2hex(random_bytes(32)); - $this->update(['secret' => $secret]); - - return $secret; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/EntitlementWebhookDelivery.php b/packages/core-php/src/Mod/Tenant/Models/EntitlementWebhookDelivery.php deleted file mode 100644 index 7d80e6b..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/EntitlementWebhookDelivery.php +++ /dev/null @@ -1,139 +0,0 @@ - 'integer', - 'status' => WebhookDeliveryStatus::class, - 'http_status' => 'integer', - 'resend_at' => 'datetime', - 'resent_manually' => 'boolean', - 'payload' => 'array', - 'response' => 'array', - 'created_at' => 'datetime', - ]; - - /** - * Prune deliveries older than 30 days. - */ - public function prunable(): Builder - { - return static::where('created_at', '<=', Carbon::now()->subMonth()); - } - - public function webhook(): BelongsTo - { - return $this->belongsTo(EntitlementWebhook::class, 'webhook_id'); - } - - public function isSucceeded(): bool - { - return $this->status === WebhookDeliveryStatus::SUCCESS; - } - - public function isFailed(): bool - { - return $this->status === WebhookDeliveryStatus::FAILED; - } - - public function isPending(): bool - { - return $this->status === WebhookDeliveryStatus::PENDING; - } - - public function isAttemptLimitReached(): bool - { - return $this->attempts >= $this->webhook->max_attempts; - } - - public function attempt(): void - { - $this->increment('attempts'); - } - - public function setAsResentManually(): void - { - $this->resent_manually = true; - $this->save(); - } - - public function updateResendAt(Carbon|DateTimeInterface|null $datetime = null): void - { - $this->resend_at = $datetime; - $this->save(); - } - - public function getRouteKeyName(): string - { - return 'uuid'; - } - - /** - * Get the event name in a human-readable format. - */ - public function getEventDisplayName(): string - { - return match ($this->event) { - 'limit_warning' => 'Limit Warning', - 'limit_reached' => 'Limit Reached', - 'package_changed' => 'Package Changed', - 'boost_activated' => 'Boost Activated', - 'boost_expired' => 'Boost Expired', - 'test' => 'Test', - default => ucwords(str_replace('_', ' ', $this->event)), - }; - } - - /** - * Get status badge colour for display. - */ - public function getStatusColour(): string - { - return match ($this->status) { - WebhookDeliveryStatus::SUCCESS => 'green', - WebhookDeliveryStatus::FAILED => 'red', - WebhookDeliveryStatus::PENDING => 'amber', - default => 'gray', - }; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/Feature.php b/packages/core-php/src/Mod/Tenant/Models/Feature.php deleted file mode 100644 index 6bbf8ab..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/Feature.php +++ /dev/null @@ -1,159 +0,0 @@ - 'integer', - 'sort_order' => 'integer', - 'is_active' => 'boolean', - ]; - - /** - * Feature types. - */ - public const TYPE_BOOLEAN = 'boolean'; - - public const TYPE_LIMIT = 'limit'; - - public const TYPE_UNLIMITED = 'unlimited'; - - /** - * Reset types. - */ - public const RESET_NONE = 'none'; - - public const RESET_MONTHLY = 'monthly'; - - public const RESET_ROLLING = 'rolling'; - - /** - * Packages that include this feature. - */ - public function packages(): BelongsToMany - { - return $this->belongsToMany(Package::class, 'entitlement_package_features', 'feature_id', 'package_id') - ->withPivot('limit_value') - ->withTimestamps(); - } - - /** - * Parent feature (for hierarchical limits / global pools). - */ - public function parent(): BelongsTo - { - return $this->belongsTo(Feature::class, 'parent_feature_id'); - } - - /** - * Child features (allowances within a global pool). - */ - public function children(): HasMany - { - return $this->hasMany(Feature::class, 'parent_feature_id'); - } - - /** - * Scope to active features. - */ - public function scopeActive($query) - { - return $query->where('is_active', true); - } - - /** - * Scope to features in a category. - */ - public function scopeInCategory($query, string $category) - { - return $query->where('category', $category); - } - - /** - * Scope to root features (no parent). - */ - public function scopeRoot($query) - { - return $query->whereNull('parent_feature_id'); - } - - /** - * Check if this feature is a boolean toggle. - */ - public function isBoolean(): bool - { - return $this->type === self::TYPE_BOOLEAN; - } - - /** - * Check if this feature has a usage limit. - */ - public function hasLimit(): bool - { - return $this->type === self::TYPE_LIMIT; - } - - /** - * Check if this feature is unlimited. - */ - public function isUnlimited(): bool - { - return $this->type === self::TYPE_UNLIMITED; - } - - /** - * Check if this feature resets monthly. - */ - public function resetsMonthly(): bool - { - return $this->reset_type === self::RESET_MONTHLY; - } - - /** - * Check if this feature uses rolling window reset. - */ - public function resetsRolling(): bool - { - return $this->reset_type === self::RESET_ROLLING; - } - - /** - * Check if this is a child feature (part of a global pool). - */ - public function isChildFeature(): bool - { - return $this->parent_feature_id !== null; - } - - /** - * Get the global pool feature code (parent or self). - */ - public function getPoolFeatureCode(): string - { - return $this->parent?->code ?? $this->code; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/NamespacePackage.php b/packages/core-php/src/Mod/Tenant/Models/NamespacePackage.php deleted file mode 100644 index 3f94bf7..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/NamespacePackage.php +++ /dev/null @@ -1,176 +0,0 @@ - 'datetime', - 'expires_at' => 'datetime', - 'billing_cycle_anchor' => 'datetime', - 'metadata' => 'array', - ]; - - /** - * Status constants. - */ - public const STATUS_ACTIVE = 'active'; - - public const STATUS_SUSPENDED = 'suspended'; - - public const STATUS_CANCELLED = 'cancelled'; - - public const STATUS_EXPIRED = 'expired'; - - /** - * The namespace this package belongs to. - */ - public function namespace(): BelongsTo - { - return $this->belongsTo(Namespace_::class, 'namespace_id'); - } - - /** - * The package definition. - */ - public function package(): BelongsTo - { - return $this->belongsTo(Package::class, 'package_id'); - } - - /** - * Scope to active assignments. - */ - public function scopeActive($query) - { - return $query->where('status', self::STATUS_ACTIVE); - } - - /** - * Scope to non-expired assignments. - */ - public function scopeNotExpired($query) - { - return $query->where(function ($q) { - $q->whereNull('expires_at') - ->orWhere('expires_at', '>', now()); - }); - } - - /** - * Check if this assignment is currently active. - */ - public function isActive(): bool - { - if ($this->status !== self::STATUS_ACTIVE) { - return false; - } - - if ($this->starts_at && $this->starts_at->isFuture()) { - return false; - } - - if ($this->expires_at && $this->expires_at->isPast()) { - return false; - } - - return true; - } - - /** - * Check if this assignment is on grace period. - */ - public function onGracePeriod(): bool - { - return $this->status === self::STATUS_CANCELLED - && $this->expires_at - && $this->expires_at->isFuture(); - } - - /** - * Get the current billing cycle start date. - */ - public function getCurrentCycleStart(): Carbon - { - if (! $this->billing_cycle_anchor) { - return $this->starts_at ?? $this->created_at; - } - - $anchor = $this->billing_cycle_anchor->copy(); - $now = now(); - - // Find the most recent cycle start - while ($anchor->addMonth()->lte($now)) { - // Keep advancing until we pass now - } - - return $anchor->subMonth(); - } - - /** - * Get the current billing cycle end date. - */ - public function getCurrentCycleEnd(): Carbon - { - return $this->getCurrentCycleStart()->copy()->addMonth(); - } - - /** - * Suspend this assignment. - */ - public function suspend(): void - { - $this->update(['status' => self::STATUS_SUSPENDED]); - } - - /** - * Reactivate this assignment. - */ - public function reactivate(): void - { - $this->update(['status' => self::STATUS_ACTIVE]); - } - - /** - * Cancel this assignment. - */ - public function cancel(?Carbon $endsAt = null): void - { - $this->update([ - 'status' => self::STATUS_CANCELLED, - 'expires_at' => $endsAt ?? $this->getCurrentCycleEnd(), - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/Namespace_.php b/packages/core-php/src/Mod/Tenant/Models/Namespace_.php deleted file mode 100644 index 6b67c09..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/Namespace_.php +++ /dev/null @@ -1,321 +0,0 @@ - 'array', - 'is_default' => 'boolean', - 'is_active' => 'boolean', - 'sort_order' => 'integer', - ]; - - /** - * Boot the model. - */ - protected static function booted(): void - { - static::creating(function (self $namespace) { - if (empty($namespace->uuid)) { - $namespace->uuid = (string) Str::uuid(); - } - }); - } - - // ───────────────────────────────────────────────────────────────────────── - // Ownership Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get the owner of the namespace (User or Workspace). - */ - public function owner(): MorphTo - { - return $this->morphTo(); - } - - /** - * Get the workspace for billing aggregation (if set). - * - * This is separate from owner - a user-owned namespace can still - * have a workspace context for billing purposes. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * Check if this namespace is owned by a user. - */ - public function isOwnedByUser(): bool - { - return $this->owner_type === User::class; - } - - /** - * Check if this namespace is owned by a workspace. - */ - public function isOwnedByWorkspace(): bool - { - return $this->owner_type === Workspace::class; - } - - /** - * Get the owner as User (or null if workspace-owned). - */ - public function getOwnerUser(): ?User - { - if ($this->isOwnedByUser()) { - return $this->owner; - } - - return null; - } - - /** - * Get the owner as Workspace (or null if user-owned). - */ - public function getOwnerWorkspace(): ?Workspace - { - if ($this->isOwnedByWorkspace()) { - return $this->owner; - } - - return null; - } - - // ───────────────────────────────────────────────────────────────────────── - // Entitlement Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Active package assignments for this namespace. - */ - public function namespacePackages(): HasMany - { - return $this->hasMany(NamespacePackage::class); - } - - /** - * Active boosts for this namespace. - */ - public function boosts(): HasMany - { - return $this->hasMany(Boost::class); - } - - /** - * Usage records for this namespace. - */ - public function usageRecords(): HasMany - { - return $this->hasMany(UsageRecord::class); - } - - /** - * Entitlement logs for this namespace. - */ - public function entitlementLogs(): HasMany - { - return $this->hasMany(EntitlementLog::class); - } - - // ───────────────────────────────────────────────────────────────────────── - // Settings & Configuration - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get a setting value from the settings JSON column. - */ - public function getSetting(string $key, mixed $default = null): mixed - { - return data_get($this->settings, $key, $default); - } - - /** - * Set a setting value in the settings JSON column. - */ - public function setSetting(string $key, mixed $value): self - { - $settings = $this->settings ?? []; - data_set($settings, $key, $value); - $this->settings = $settings; - - return $this; - } - - // ───────────────────────────────────────────────────────────────────────── - // Scopes - // ───────────────────────────────────────────────────────────────────────── - - /** - * Scope to only active namespaces. - */ - public function scopeActive($query) - { - return $query->where('is_active', true); - } - - /** - * Scope to order by sort order. - */ - public function scopeOrdered($query) - { - return $query->orderBy('sort_order'); - } - - /** - * Scope to namespaces owned by a specific user. - */ - public function scopeOwnedByUser($query, User|int $user) - { - $userId = $user instanceof User ? $user->id : $user; - - return $query->where('owner_type', User::class) - ->where('owner_id', $userId); - } - - /** - * Scope to namespaces owned by a specific workspace. - */ - public function scopeOwnedByWorkspace($query, Workspace|int $workspace) - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $query->where('owner_type', Workspace::class) - ->where('owner_id', $workspaceId); - } - - /** - * Scope to namespaces accessible by a user (owned by user OR owned by user's workspaces). - */ - public function scopeAccessibleBy($query, User $user) - { - $workspaceIds = $user->workspaces()->pluck('workspaces.id'); - - return $query->where(function ($q) use ($user, $workspaceIds) { - // User-owned namespaces - $q->where(function ($q2) use ($user) { - $q2->where('owner_type', User::class) - ->where('owner_id', $user->id); - }); - - // Workspace-owned namespaces (where user is a member) - if ($workspaceIds->isNotEmpty()) { - $q->orWhere(function ($q2) use ($workspaceIds) { - $q2->where('owner_type', Workspace::class) - ->whereIn('owner_id', $workspaceIds); - }); - } - }); - } - - // ───────────────────────────────────────────────────────────────────────── - // Helper Methods - // ───────────────────────────────────────────────────────────────────────── - - /** - * Check if a user has access to this namespace. - */ - public function isAccessibleBy(User $user): bool - { - // User owns the namespace directly - if ($this->isOwnedByUser() && $this->owner_id === $user->id) { - return true; - } - - // Workspace owns the namespace and user is a member - if ($this->isOwnedByWorkspace()) { - return $user->workspaces()->where('workspaces.id', $this->owner_id)->exists(); - } - - return false; - } - - /** - * Get the billing context for this namespace. - * - * Returns workspace if set, otherwise falls back to owner's default workspace. - */ - public function getBillingContext(): ?Workspace - { - // Explicit workspace set for billing - if ($this->workspace_id) { - return $this->workspace; - } - - // Workspace-owned: use the owner workspace - if ($this->isOwnedByWorkspace()) { - return $this->owner; - } - - // User-owned: fall back to user's default workspace - if ($this->isOwnedByUser() && $this->owner) { - return $this->owner->defaultHostWorkspace(); - } - - return null; - } - - /** - * Get the route key name for route model binding. - */ - public function getRouteKeyName(): string - { - return 'uuid'; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/Package.php b/packages/core-php/src/Mod/Tenant/Models/Package.php deleted file mode 100644 index e8ef1b0..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/Package.php +++ /dev/null @@ -1,244 +0,0 @@ - 'boolean', - 'is_base_package' => 'boolean', - 'is_active' => 'boolean', - 'is_public' => 'boolean', - 'sort_order' => 'integer', - 'monthly_price' => 'decimal:2', - 'yearly_price' => 'decimal:2', - 'setup_fee' => 'decimal:2', - 'trial_days' => 'integer', - ]; - - /** - * Features included in this package. - */ - public function features(): BelongsToMany - { - return $this->belongsToMany(Feature::class, 'entitlement_package_features', 'package_id', 'feature_id') - ->withPivot('limit_value') - ->withTimestamps(); - } - - /** - * Workspaces that have this package assigned. - */ - public function workspacePackages(): HasMany - { - return $this->hasMany(WorkspacePackage::class, 'package_id'); - } - - /** - * Scope to active packages. - */ - public function scopeActive($query) - { - return $query->where('is_active', true); - } - - /** - * Scope to public packages (shown on pricing page). - */ - public function scopePublic($query) - { - return $query->where('is_public', true); - } - - /** - * Scope to base packages (only one per workspace). - */ - public function scopeBase($query) - { - return $query->where('is_base_package', true); - } - - /** - * Scope to addon packages (stackable). - */ - public function scopeAddons($query) - { - return $query->where('is_base_package', false); - } - - /** - * Get the limit for a specific feature in this package. - */ - public function getFeatureLimit(string $featureCode): ?int - { - $feature = $this->features()->where('code', $featureCode)->first(); - - if (! $feature) { - return null; - } - - return $feature->pivot->limit_value; - } - - /** - * Check if package includes a feature (regardless of limit). - */ - public function hasFeature(string $featureCode): bool - { - return $this->features()->where('code', $featureCode)->exists(); - } - - // Pricing Helpers - - /** - * Check if package is free. - */ - public function isFree(): bool - { - return ($this->monthly_price ?? 0) == 0 && ($this->yearly_price ?? 0) == 0; - } - - /** - * Check if package has pricing set. - */ - public function hasPricing(): bool - { - return $this->monthly_price !== null || $this->yearly_price !== null; - } - - /** - * Get price for a billing cycle. - */ - public function getPrice(string $cycle = 'monthly'): float - { - return match ($cycle) { - 'yearly', 'annual' => (float) ($this->yearly_price ?? 0), - default => (float) ($this->monthly_price ?? 0), - }; - } - - /** - * Get yearly savings compared to monthly. - */ - public function getYearlySavings(): float - { - if (! $this->monthly_price || ! $this->yearly_price) { - return 0; - } - - $monthlyTotal = $this->monthly_price * 12; - - return max(0, $monthlyTotal - $this->yearly_price); - } - - /** - * Get yearly savings as percentage. - */ - public function getYearlySavingsPercent(): int - { - if (! $this->monthly_price || ! $this->yearly_price) { - return 0; - } - - $monthlyTotal = $this->monthly_price * 12; - if ($monthlyTotal == 0) { - return 0; - } - - return (int) round(($this->getYearlySavings() / $monthlyTotal) * 100); - } - - /** - * Get gateway price ID for a cycle. - */ - public function getGatewayPriceId(string $gateway, string $cycle = 'monthly'): ?string - { - $field = match ($cycle) { - 'yearly', 'annual' => "{$gateway}_price_id_yearly", - default => "{$gateway}_price_id_monthly", - }; - - return $this->{$field}; - } - - /** - * Check if package has trial period. - */ - public function hasTrial(): bool - { - return ($this->trial_days ?? 0) > 0; - } - - /** - * Check if package has setup fee. - */ - public function hasSetupFee(): bool - { - return ($this->setup_fee ?? 0) > 0; - } - - /** - * Scope to packages with pricing (purchasable). - */ - public function scopePurchasable($query) - { - return $query->where(function ($q) { - $q->whereNotNull('monthly_price') - ->orWhereNotNull('yearly_price'); - }); - } - - /** - * Scope to free packages. - */ - public function scopeFree($query) - { - return $query->where(function ($q) { - $q->whereNull('monthly_price') - ->orWhere('monthly_price', 0); - })->where(function ($q) { - $q->whereNull('yearly_price') - ->orWhere('yearly_price', 0); - }); - } - - /** - * Scope to order by sort_order. - */ - public function scopeOrdered($query) - { - return $query->orderBy('sort_order'); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/UsageAlertHistory.php b/packages/core-php/src/Mod/Tenant/Models/UsageAlertHistory.php deleted file mode 100644 index 857fa22..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/UsageAlertHistory.php +++ /dev/null @@ -1,198 +0,0 @@ - 'integer', - 'notified_at' => 'datetime', - 'resolved_at' => 'datetime', - 'metadata' => 'array', - ]; - - /** - * Alert threshold levels. - */ - public const THRESHOLD_WARNING = 80; - - public const THRESHOLD_CRITICAL = 90; - - public const THRESHOLD_LIMIT = 100; - - /** - * All threshold levels in order. - */ - public const THRESHOLDS = [ - self::THRESHOLD_WARNING, - self::THRESHOLD_CRITICAL, - self::THRESHOLD_LIMIT, - ]; - - /** - * The workspace this alert belongs to. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * Scope to alerts for a specific workspace. - */ - public function scopeForWorkspace($query, int $workspaceId) - { - return $query->where('workspace_id', $workspaceId); - } - - /** - * Scope to alerts for a specific feature. - */ - public function scopeForFeature($query, string $featureCode) - { - return $query->where('feature_code', $featureCode); - } - - /** - * Scope to alerts for a specific threshold. - */ - public function scopeForThreshold($query, int $threshold) - { - return $query->where('threshold', $threshold); - } - - /** - * Scope to unresolved alerts (still active). - */ - public function scopeUnresolved($query) - { - return $query->whereNull('resolved_at'); - } - - /** - * Scope to resolved alerts. - */ - public function scopeResolved($query) - { - return $query->whereNotNull('resolved_at'); - } - - /** - * Scope to recent alerts (within given days). - */ - public function scopeRecent($query, int $days = 7) - { - return $query->where('notified_at', '>=', now()->subDays($days)); - } - - /** - * Check if an alert has been sent for this workspace/feature/threshold combo. - * Only considers unresolved alerts. - */ - public static function hasActiveAlert(int $workspaceId, string $featureCode, int $threshold): bool - { - return static::query() - ->forWorkspace($workspaceId) - ->forFeature($featureCode) - ->forThreshold($threshold) - ->unresolved() - ->exists(); - } - - /** - * Get the most recent unresolved alert for a workspace/feature. - */ - public static function getActiveAlert(int $workspaceId, string $featureCode): ?self - { - return static::query() - ->forWorkspace($workspaceId) - ->forFeature($featureCode) - ->unresolved() - ->latest('notified_at') - ->first(); - } - - /** - * Record a new alert being sent. - */ - public static function record( - int $workspaceId, - string $featureCode, - int $threshold, - array $metadata = [] - ): self { - return static::create([ - 'workspace_id' => $workspaceId, - 'feature_code' => $featureCode, - 'threshold' => $threshold, - 'notified_at' => now(), - 'metadata' => $metadata, - ]); - } - - /** - * Mark this alert as resolved (usage dropped below threshold). - */ - public function resolve(): self - { - $this->update(['resolved_at' => now()]); - - return $this; - } - - /** - * Resolve all unresolved alerts for a workspace/feature. - */ - public static function resolveAllForFeature(int $workspaceId, string $featureCode): int - { - return static::query() - ->forWorkspace($workspaceId) - ->forFeature($featureCode) - ->unresolved() - ->update(['resolved_at' => now()]); - } - - /** - * Check if this alert is resolved. - */ - public function isResolved(): bool - { - return $this->resolved_at !== null; - } - - /** - * Get the threshold level name. - */ - public function getThresholdName(): string - { - return match ($this->threshold) { - self::THRESHOLD_WARNING => 'warning', - self::THRESHOLD_CRITICAL => 'critical', - self::THRESHOLD_LIMIT => 'limit_reached', - default => 'unknown', - }; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/UsageRecord.php b/packages/core-php/src/Mod/Tenant/Models/UsageRecord.php deleted file mode 100644 index ec44d7f..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/UsageRecord.php +++ /dev/null @@ -1,121 +0,0 @@ - 'integer', - 'metadata' => 'array', - 'recorded_at' => 'datetime', - ]; - - /** - * The workspace this usage belongs to. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * The namespace this usage belongs to. - */ - public function namespace(): BelongsTo - { - return $this->belongsTo(Namespace_::class, 'namespace_id'); - } - - /** - * The user who incurred this usage. - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Scope to a specific feature. - */ - public function scopeForFeature($query, string $featureCode) - { - return $query->where('feature_code', $featureCode); - } - - /** - * Scope to records since a date. - */ - public function scopeSince($query, Carbon $date) - { - return $query->where('recorded_at', '>=', $date); - } - - /** - * Scope to records in a date range. - */ - public function scopeBetween($query, Carbon $start, Carbon $end) - { - return $query->whereBetween('recorded_at', [$start, $end]); - } - - /** - * Scope to records in the current billing cycle. - */ - public function scopeInCurrentCycle($query, Carbon $cycleStart) - { - return $query->where('recorded_at', '>=', $cycleStart); - } - - /** - * Scope to records in a rolling window. - */ - public function scopeInRollingWindow($query, int $days) - { - return $query->where('recorded_at', '>=', now()->subDays($days)); - } - - /** - * Get total usage for a workspace + feature since a date. - */ - public static function getTotalUsage(int $workspaceId, string $featureCode, ?Carbon $since = null): int - { - $query = static::where('workspace_id', $workspaceId) - ->where('feature_code', $featureCode); - - if ($since) { - $query->where('recorded_at', '>=', $since); - } - - return (int) $query->sum('quantity'); - } - - /** - * Get total usage in a rolling window. - */ - public static function getRollingUsage(int $workspaceId, string $featureCode, int $days): int - { - return static::where('workspace_id', $workspaceId) - ->where('feature_code', $featureCode) - ->where('recorded_at', '>=', now()->subDays($days)) - ->sum('quantity'); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/User.php b/packages/core-php/src/Mod/Tenant/Models/User.php deleted file mode 100644 index c39f66e..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/User.php +++ /dev/null @@ -1,596 +0,0 @@ - - */ - protected $fillable = [ - 'name', - 'email', - 'password', - 'tier', - 'tier_expires_at', - 'referred_by', - 'referral_count', - 'referral_activated_at', - ]; - - /** - * The attributes that should be hidden for serialization. - * - * @var list - */ - protected $hidden = [ - 'password', - 'remember_token', - ]; - - /** - * Get the attributes that should be cast. - * - * @return array - */ - protected function casts(): array - { - return [ - 'email_verified_at' => 'datetime', - 'password' => 'hashed', - 'tier' => UserTier::class, - 'tier_expires_at' => 'datetime', - 'cached_stats' => 'array', - 'stats_computed_at' => 'datetime', - 'referral_activated_at' => 'datetime', - ]; - } - - /** - * Get all workspaces this user has access to. - */ - public function workspaces(): BelongsToMany - { - return $this->belongsToMany(Workspace::class, 'user_workspace') - ->withPivot(['role', 'is_default']) - ->withTimestamps(); - } - - /** - * Alias for workspaces() - kept for backward compatibility. - */ - public function hostWorkspaces(): BelongsToMany - { - return $this->workspaces(); - } - - /** - * Get the workspaces owned by this user. - */ - public function ownedWorkspaces(): BelongsToMany - { - return $this->belongsToMany(Workspace::class, 'user_workspace') - ->wherePivot('role', 'owner') - ->withPivot(['role', 'is_default']) - ->withTimestamps(); - } - - /** - * Get the user's tier. - */ - public function getTier(): UserTier - { - // Check if tier has expired - if ($this->tier_expires_at && $this->tier_expires_at->isPast()) { - return UserTier::FREE; - } - - return $this->tier ?? UserTier::FREE; - } - - /** - * Check if user is on a paid tier. - */ - public function isPaid(): bool - { - $tier = $this->getTier(); - - return $tier === UserTier::APOLLO || $tier === UserTier::HADES; - } - - /** - * Check if user is on Hades tier. - */ - public function isHades(): bool - { - return $this->getTier() === UserTier::HADES; - } - - /** - * Check if user is on Apollo tier. - */ - public function isApollo(): bool - { - return $this->getTier() === UserTier::APOLLO; - } - - /** - * Check if user has a specific feature. - */ - public function hasFeature(string $feature): bool - { - return $this->getTier()->hasFeature($feature); - } - - /** - * Get the maximum number of workspaces for this user. - */ - public function maxWorkspaces(): int - { - return $this->getTier()->maxWorkspaces(); - } - - /** - * Check if user can add more Host Hub workspaces. - */ - public function canAddHostWorkspace(): bool - { - $max = $this->maxWorkspaces(); - if ($max === -1) { - return true; // Unlimited - } - - return $this->hostWorkspaces()->count() < $max; - } - - /** - * Get the user's default Host Hub workspace. - */ - public function defaultHostWorkspace(): ?Workspace - { - return $this->hostWorkspaces() - ->wherePivot('is_default', true) - ->first() ?? $this->hostWorkspaces()->first(); - } - - // ───────────────────────────────────────────────────────────────────────── - // Namespace Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all namespaces owned directly by this user. - */ - public function namespaces(): MorphMany - { - return $this->morphMany(Namespace_::class, 'owner'); - } - - /** - * Get the user's default namespace. - * - * Priority: - * 1. User's default namespace (is_default = true) - * 2. First active user-owned namespace - * 3. First namespace from user's default workspace - */ - public function defaultNamespace(): ?Namespace_ - { - // Try user's explicit default - $default = $this->namespaces() - ->where('is_default', true) - ->active() - ->first(); - - if ($default) { - return $default; - } - - // Try first user-owned namespace - $userOwned = $this->namespaces() - ->active() - ->ordered() - ->first(); - - if ($userOwned) { - return $userOwned; - } - - // Try namespace from user's default workspace - $workspace = $this->defaultHostWorkspace(); - if ($workspace) { - return $workspace->namespaces() - ->active() - ->ordered() - ->first(); - } - - return null; - } - - /** - * Get all namespaces accessible by this user (owned + via workspaces). - */ - public function accessibleNamespaces(): \Illuminate\Database\Eloquent\Builder - { - return Namespace_::accessibleBy($this); - } - - /** - * Check if user's email has been verified. - * Hades accounts are always considered verified. - */ - public function hasVerifiedEmail(): bool - { - // Hades accounts bypass email verification - if ($this->isHades()) { - return true; - } - - return $this->email_verified_at !== null; - } - - /** - * Mark the user's email as verified. - */ - public function markEmailAsVerified(): bool - { - return $this->forceFill([ - 'email_verified_at' => $this->freshTimestamp(), - ])->save(); - } - - /** - * Send the email verification notification. - */ - public function sendEmailVerificationNotification(): void - { - $this->notify(new \Illuminate\Auth\Notifications\VerifyEmail); - } - - /** - * Get the email address that should be used for verification. - */ - public function getEmailForVerification(): string - { - return $this->email; - } - - // ───────────────────────────────────────────────────────────────────────── - // Page Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all pages owned by this user. - */ - public function pages(): HasMany - { - return $this->hasMany(Page::class); - } - - /** - * Get all page projects (folders) owned by this user. - */ - public function pageProjects(): HasMany - { - return $this->hasMany(Project::class); - } - - /** - * Get all custom domains owned by this user. - */ - public function pageDomains(): HasMany - { - return $this->hasMany(Domain::class); - } - - /** - * Get all tracking pixels owned by this user. - */ - public function pagePixels(): HasMany - { - return $this->hasMany(Pixel::class); - } - - // ───────────────────────────────────────────────────────────────────────── - // Analytics Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all analytics websites owned by this user. - */ - public function analyticsWebsites(): HasMany - { - return $this->hasMany(AnalyticsWebsite::class); - } - - /** - * Get all analytics goals owned by this user. - */ - public function analyticsGoals(): HasMany - { - return $this->hasMany(AnalyticsGoal::class); - } - - // ───────────────────────────────────────────────────────────────────────── - // Push Notification Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all push websites owned by this user. - */ - public function pushWebsites(): HasMany - { - return $this->hasMany(PushWebsite::class); - } - - /** - * Get all push campaigns owned by this user. - */ - public function pushCampaigns(): HasMany - { - return $this->hasMany(PushCampaign::class); - } - - /** - * Get all push segments owned by this user. - */ - public function pushSegments(): HasMany - { - return $this->hasMany(PushSegment::class); - } - - /** - * Get all push flows owned by this user. - */ - public function pushFlows(): HasMany - { - return $this->hasMany(PushFlow::class); - } - - // ───────────────────────────────────────────────────────────────────────── - // Trust Widget Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all trust campaigns owned by this user. - */ - public function trustCampaigns(): HasMany - { - return $this->hasMany(TrustCampaign::class); - } - - /** - * Get all trust notifications owned by this user. - */ - public function trustNotifications(): HasMany - { - return $this->hasMany(TrustNotification::class); - } - - // ───────────────────────────────────────────────────────────────────────── - // Entitlement Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all boosts owned by this user. - */ - public function boosts(): HasMany - { - return $this->hasMany(Boost::class); - } - - /** - * Get all orders placed by this user. - */ - public function orders(): HasMany - { - return $this->hasMany(Order::class); - } - - /** - * Check if user can claim a vanity URL. - * - * Requires either: - * - A paid subscription (Creator/Agency package) - * - A one-time vanity URL boost purchase - */ - public function canClaimVanityUrl(): bool - { - // Check for vanity URL boost - $hasBoost = $this->boosts() - ->where('feature_code', 'bio.vanity_url') - ->where('status', Boost::STATUS_ACTIVE) - ->exists(); - - if ($hasBoost) { - return true; - } - - // Check for paid subscription (Creator or Agency package) - // An order with total > 0 and status = 'paid' indicates a paid subscription - $hasPaidSubscription = $this->orders() - ->where('status', 'paid') - ->where('total', '>', 0) - ->whereHas('items', function ($query) { - $query->whereIn('item_code', ['creator', 'agency']); - }) - ->exists(); - - return $hasPaidSubscription; - } - - /** - * Get the user's bio.pages entitlement (base + boosts). - */ - public function getBioPagesLimit(): int - { - // Base: 1 page for all tiers - $base = 1; - - // Add from boosts - $boostPages = $this->boosts() - ->where('feature_code', 'bio.pages') - ->where('status', Boost::STATUS_ACTIVE) - ->sum('limit_value'); - - return $base + (int) $boostPages; - } - - /** - * Check if user can create more bio pages. - */ - public function canCreateBioPage(): bool - { - return $this->pages()->rootPages()->count() < $this->getBioPagesLimit(); - } - - /** - * Get remaining bio page slots. - */ - public function remainingBioPageSlots(): int - { - return max(0, $this->getBioPagesLimit() - $this->pages()->rootPages()->count()); - } - - // ───────────────────────────────────────────────────────────────────────── - // Sub-Page Entitlements - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get the user's sub-page limit (0 base + boosts). - */ - public function getSubPagesLimit(): int - { - // Base: 0 sub-pages (free tier) - $base = 0; - - // Add from boosts - $boostPages = $this->boosts() - ->where('feature_code', 'webpage.sub_pages') - ->where('status', Boost::STATUS_ACTIVE) - ->sum('limit_value'); - - return $base + (int) $boostPages; - } - - /** - * Get the total sub-pages count across all root pages. - */ - public function getSubPagesCount(): int - { - return $this->pages()->subPages()->count(); - } - - /** - * Check if user can create more sub-pages. - */ - public function canCreateSubPage(): bool - { - return $this->getSubPagesCount() < $this->getSubPagesLimit(); - } - - /** - * Get remaining sub-page slots. - */ - public function remainingSubPageSlots(): int - { - return max(0, $this->getSubPagesLimit() - $this->getSubPagesCount()); - } - - // ───────────────────────────────────────────────────────────────────────── - // Referral Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get the user who referred this user. - */ - public function referrer(): BelongsTo - { - return $this->belongsTo(self::class, 'referred_by'); - } - - /** - * Get all users referred by this user. - */ - public function referrals(): HasMany - { - return $this->hasMany(self::class, 'referred_by'); - } - - /** - * Check if user has activated referrals. - */ - public function hasActivatedReferrals(): bool - { - return $this->referral_activated_at !== null; - } - - /** - * Activate referrals for this user. - */ - public function activateReferrals(): void - { - if (! $this->hasActivatedReferrals()) { - $this->update(['referral_activated_at' => now()]); - } - } - - /** - * Get referral ranking (1-based position among all users by referral count). - */ - public function getReferralRank(): int - { - if ($this->referral_count === 0) { - return 0; // Not ranked if no referrals - } - - return self::where('referral_count', '>', $this->referral_count)->count() + 1; - } - - // ───────────────────────────────────────────────────────────────────────── - // Orderable Interface - // ───────────────────────────────────────────────────────────────────────── - - public function getBillingName(): ?string - { - return $this->name; - } - - public function getBillingEmail(): string - { - return $this->email; - } - - public function getBillingAddress(): ?array - { - return null; - } - - public function getTaxCountry(): ?string - { - return null; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/UserToken.php b/packages/core-php/src/Mod/Tenant/Models/UserToken.php deleted file mode 100644 index 8f986e8..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/UserToken.php +++ /dev/null @@ -1,126 +0,0 @@ - - */ - protected $fillable = [ - 'name', - 'token', - 'expires_at', - ]; - - /** - * The attributes that should be cast. - * - * @var array - */ - protected $casts = [ - 'last_used_at' => 'datetime', - 'expires_at' => 'datetime', - ]; - - /** - * The attributes that should be hidden for serialization. - * - * @var array - */ - protected $hidden = [ - 'token', - ]; - - /** - * Find a token by its plain-text value. - * - * Tokens are stored as SHA-256 hashes, so we hash the input - * before querying the database. - * - * @param string $token Plain-text token value - */ - public static function findToken(string $token): ?UserToken - { - return static::where('token', hash('sha256', $token))->first(); - } - - /** - * Get the user that owns the token. - * - * @return BelongsTo - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Determine if the token has expired. - */ - public function isExpired(): bool - { - return $this->expires_at && $this->expires_at->isPast(); - } - - /** - * Determine if the token is valid (not expired). - */ - public function isValid(): bool - { - return ! $this->isExpired(); - } - - /** - * Update the last used timestamp. - * - * Preserves the hasModifiedRecords state to avoid triggering - * model events when only updating usage tracking. - */ - public function recordUsage(): void - { - $connection = $this->getConnection(); - - // Preserve modification state if the connection supports it - if (method_exists($connection, 'hasModifiedRecords') && - method_exists($connection, 'setRecordModificationState')) { - - $hasModifiedRecords = $connection->hasModifiedRecords(); - - $this->forceFill(['last_used_at' => now()])->save(); - - $connection->setRecordModificationState($hasModifiedRecords); - } else { - // Fallback for connections that don't support modification state - $this->forceFill(['last_used_at' => now()])->save(); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/UserTwoFactorAuth.php b/packages/core-php/src/Mod/Tenant/Models/UserTwoFactorAuth.php deleted file mode 100644 index f969303..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/UserTwoFactorAuth.php +++ /dev/null @@ -1,38 +0,0 @@ - 'collection', - 'confirmed_at' => 'datetime', - ]; - - /** - * Get the user this 2FA belongs to. - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/WaitlistEntry.php b/packages/core-php/src/Mod/Tenant/Models/WaitlistEntry.php deleted file mode 100644 index 092bb96..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/WaitlistEntry.php +++ /dev/null @@ -1,126 +0,0 @@ - 'datetime', - 'registered_at' => 'datetime', - ]; - - /** - * Get the user this waitlist entry converted to. - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Scope to entries that haven't been invited yet. - */ - public function scopePending($query) - { - return $query->whereNull('invited_at'); - } - - /** - * Scope to entries that have been invited but not registered. - */ - public function scopeInvited($query) - { - return $query->whereNotNull('invited_at')->whereNull('registered_at'); - } - - /** - * Scope to entries that have converted to users. - */ - public function scopeConverted($query) - { - return $query->whereNotNull('registered_at'); - } - - /** - * Generate a unique invite code for this entry. - */ - public function generateInviteCode(): string - { - $code = strtoupper(Str::random(8)); - - // Ensure uniqueness - while (static::where('invite_code', $code)->exists()) { - $code = strtoupper(Str::random(8)); - } - - $this->update([ - 'invite_code' => $code, - 'invited_at' => now(), - 'bonus_code' => 'LAUNCH50', // Default launch bonus - ]); - - return $code; - } - - /** - * Mark this entry as registered. - */ - public function markAsRegistered(User $user): void - { - $this->update([ - 'registered_at' => now(), - 'user_id' => $user->id, - ]); - } - - /** - * Check if this entry has been invited. - */ - public function isInvited(): bool - { - return $this->invited_at !== null; - } - - /** - * Check if this entry has converted to a user. - */ - public function hasConverted(): bool - { - return $this->registered_at !== null; - } - - /** - * Find entry by invite code. - */ - public static function findByInviteCode(string $code): ?self - { - return static::where('invite_code', strtoupper($code))->first(); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/Workspace.php b/packages/core-php/src/Mod/Tenant/Models/Workspace.php deleted file mode 100644 index 1612846..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/Workspace.php +++ /dev/null @@ -1,834 +0,0 @@ - 'array', - 'is_active' => 'boolean', - 'wp_connector_enabled' => 'boolean', - 'wp_connector_verified_at' => 'datetime', - 'wp_connector_last_sync' => 'datetime', - 'wp_connector_config' => 'array', - 'tax_exempt' => 'boolean', - ]; - - /** - * Hidden attributes (sensitive data). - */ - protected $hidden = [ - 'wp_connector_secret', - ]; - - /** - * Get the users that have access to this workspace. - */ - public function users(): BelongsToMany - { - return $this->belongsToMany(User::class, 'user_workspace') - ->withPivot(['role', 'is_default', 'team_id', 'custom_permissions', 'joined_at', 'invited_by']) - ->withTimestamps(); - } - - /** - * Get workspace members (via the enhanced pivot model). - */ - public function members(): HasMany - { - return $this->hasMany(WorkspaceMember::class); - } - - /** - * Get teams defined for this workspace. - */ - public function teams(): HasMany - { - return $this->hasMany(WorkspaceTeam::class); - } - - /** - * Get the workspace owner (user with 'owner' role). - */ - public function owner(): ?User - { - return $this->users() - ->wherePivot('role', 'owner') - ->first(); - } - - /** - * Get the default team for new members. - */ - public function defaultTeam(): ?WorkspaceTeam - { - return $this->teams()->where('is_default', true)->first(); - } - - /** - * Active package assignments for this workspace. - */ - public function workspacePackages(): HasMany - { - return $this->hasMany(WorkspacePackage::class); - } - - /** - * Get pending invitations for this workspace. - */ - public function invitations(): HasMany - { - return $this->hasMany(WorkspaceInvitation::class); - } - - /** - * Get pending invitations only. - */ - public function pendingInvitations(): HasMany - { - return $this->invitations()->pending(); - } - - // ───────────────────────────────────────────────────────────────────────── - // Namespace Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all namespaces owned by this workspace. - */ - public function namespaces(): MorphMany - { - return $this->morphMany(Namespace_::class, 'owner'); - } - - /** - * Get the workspace's default namespace. - */ - public function defaultNamespace(): ?Namespace_ - { - return $this->namespaces() - ->where('is_default', true) - ->active() - ->first() - ?? $this->namespaces()->active()->ordered()->first(); - } - - /** - * The package definitions assigned to this workspace. - */ - public function packages(): BelongsToMany - { - return $this->belongsToMany(Package::class, 'entitlement_workspace_packages', 'workspace_id', 'package_id') - ->withPivot(['status', 'starts_at', 'expires_at', 'metadata']) - ->withTimestamps(); - } - - /** - * Get a setting from the settings JSON column. - */ - public function getSetting(string $key, mixed $default = null): mixed - { - return data_get($this->settings, $key, $default); - } - - /** - * Active boosts for this workspace. - */ - public function boosts(): HasMany - { - return $this->hasMany(Boost::class); - } - - /** - * Usage records for this workspace. - */ - public function usageRecords(): HasMany - { - return $this->hasMany(UsageRecord::class); - } - - /** - * Entitlement logs for this workspace. - */ - public function entitlementLogs(): HasMany - { - return $this->hasMany(EntitlementLog::class); - } - - /** - * Usage alert history for this workspace. - */ - public function usageAlerts(): HasMany - { - return $this->hasMany(UsageAlertHistory::class); - } - - /** - * Get active (unresolved) usage alerts for this workspace. - */ - public function activeUsageAlerts(): HasMany - { - return $this->usageAlerts()->whereNull('resolved_at'); - } - - // SocialHost Relationships (Native) - - /** - * Get social accounts for this workspace. - */ - public function socialAccounts(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Account::class); - } - - /** - * Get social posts for this workspace. - */ - public function socialPosts(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Post::class); - } - - /** - * Get social media templates for this workspace. - */ - public function socialTemplates(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Template::class); - } - - /** - * Get social media files for this workspace. - */ - public function socialMedia(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Media::class); - } - - /** - * Get social hashtag groups for this workspace. - */ - public function socialHashtagGroups(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\HashtagGroup::class); - } - - /** - * Get social webhooks for this workspace. - */ - public function socialWebhooks(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Webhook::class); - } - - /** - * Get social analytics for this workspace. - */ - public function socialAnalytics(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Analytics::class); - } - - /** - * Get social variables for this workspace. - */ - public function socialVariables(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Variable::class); - } - - /** - * Get posting schedule for this workspace. - */ - public function socialPostingSchedule(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\PostingSchedule::class); - } - - /** - * Get imported posts for this workspace. - */ - public function socialImportedPosts(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\ImportedPost::class); - } - - /** - * Get social metrics for this workspace. - */ - public function socialMetrics(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Metric::class); - } - - /** - * Get audience data for this workspace. - */ - public function socialAudience(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\Audience::class); - } - - /** - * Get Facebook insights for this workspace. - */ - public function socialFacebookInsights(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\FacebookInsight::class); - } - - /** - * Get Instagram insights for this workspace. - */ - public function socialInstagramInsights(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\InstagramInsight::class); - } - - /** - * Get Pinterest analytics for this workspace. - */ - public function socialPinterestAnalytics(): HasMany - { - return $this->hasMany(\Core\Mod\Social\Models\PinterestAnalytic::class); - } - - /** - * Check if this workspace has SocialHost enabled (has connected social accounts). - */ - public function hasSocialHost(): bool - { - return $this->socialAccounts()->exists(); - } - - /** - * Get count of connected social accounts. - */ - public function socialAccountsCount(): int - { - return $this->socialAccounts()->count(); - } - - // NOTE: Bio service relationships (bioPages, bioProjects, bioDomains, bioPixels) - // have been moved to the Host UK app's Mod\Bio module. - - // AnalyticsHost Relationships - - /** - * Get analytics websites for this workspace (AnalyticsHost). - */ - public function analyticsSites(): HasMany - { - return $this->hasMany(\Core\Mod\Analytics\Models\Website::class); - } - - /** - * Get social analytics websites for this workspace (legacy, for SocialHost analytics). - */ - public function socialAnalyticsWebsites(): HasMany - { - return $this->hasMany(\Core\Mod\Analytics\Models\AnalyticsWebsite::class); - } - - /** - * Get analytics goals for this workspace (AnalyticsHost). - */ - public function analyticsGoals(): HasMany - { - return $this->hasMany(\Core\Mod\Analytics\Models\Goal::class); - } - - /** - * Get social analytics goals for this workspace (legacy, for SocialHost analytics). - */ - public function socialAnalyticsGoals(): HasMany - { - return $this->hasMany(\Core\Mod\Analytics\Models\AnalyticsGoal::class); - } - - // TrustHost Relationships - - /** - * Get social proof campaigns (TrustHost widgets) for this workspace. - */ - public function trustWidgets(): HasMany - { - return $this->hasMany(\Core\Mod\Trust\Models\Campaign::class); - } - - /** - * Get social proof notifications for this workspace. - */ - public function trustNotifications(): HasMany - { - return $this->hasMany(\Core\Mod\Trust\Models\Notification::class); - } - - // NotifyHost Relationships - - /** - * Get push notification websites for this workspace. - */ - public function notificationSites(): HasMany - { - return $this->hasMany(\Core\Mod\Notify\Models\PushWebsite::class); - } - - /** - * Get push campaigns for this workspace. - */ - public function pushCampaigns(): HasMany - { - return $this->hasMany(\Core\Mod\Notify\Models\PushCampaign::class); - } - - /** - * Get push flows for this workspace. - */ - public function pushFlows(): HasMany - { - return $this->hasMany(\Core\Mod\Notify\Models\PushFlow::class); - } - - /** - * Get push segments for this workspace. - */ - public function pushSegments(): HasMany - { - return $this->hasMany(\Core\Mod\Notify\Models\PushSegment::class); - } - - // API & Webhooks Relationships - - /** - * Get API keys for this workspace. - */ - public function apiKeys(): HasMany - { - return $this->hasMany(\Core\Mod\Api\Models\ApiKey::class); - } - - /** - * Get webhook endpoints for this workspace. - */ - public function webhookEndpoints(): HasMany - { - return $this->hasMany(\Core\Mod\Api\Models\WebhookEndpoint::class); - } - - /** - * Get entitlement webhooks for this workspace. - */ - public function entitlementWebhooks(): HasMany - { - return $this->hasMany(EntitlementWebhook::class); - } - - // Trees for Agents Relationships - - /** - * Get tree plantings for this workspace. - */ - public function treePlantings(): HasMany - { - return $this->hasMany(\Core\Mod\Trees\Models\TreePlanting::class); - } - - /** - * Get total trees planted for this workspace. - */ - public function treesPlanted(): int - { - return $this->treePlantings() - ->whereIn('status', ['confirmed', 'planted']) - ->sum('trees'); - } - - /** - * Get trees planted this year for this workspace. - */ - public function treesThisYear(): int - { - return $this->treePlantings() - ->whereIn('status', ['confirmed', 'planted']) - ->whereYear('created_at', now()->year) - ->sum('trees'); - } - - // Content & Media Relationships - - /** - * Get content items for this workspace. - */ - public function contentItems(): HasMany - { - return $this->hasMany(\Core\Mod\Content\Models\ContentItem::class); - } - - /** - * Get content authors for this workspace. - */ - public function contentAuthors(): HasMany - { - return $this->hasMany(\Core\Mod\Content\Models\ContentAuthor::class); - } - - // Commerce Relationships (defined in app Mod\Commerce) - - /** - * Get subscriptions for this workspace. - */ - public function subscriptions(): HasMany - { - return $this->hasMany(\Mod\Commerce\Models\Subscription::class); - } - - /** - * Get invoices for this workspace. - */ - public function invoices(): HasMany - { - return $this->hasMany(\Mod\Commerce\Models\Invoice::class); - } - - /** - * Get payment methods for this workspace. - */ - public function paymentMethods(): HasMany - { - return $this->hasMany(\Mod\Commerce\Models\PaymentMethod::class); - } - - /** - * Get orders for this workspace. - */ - public function orders(): MorphMany - { - return $this->morphMany(\Mod\Commerce\Models\Order::class, 'orderable'); - } - - // Helper Methods - - /** - * Get the currently active workspace from request context. - * - * Returns the Workspace model instance (not array). - */ - public static function current(): ?self - { - // Try to get from request attributes (set by middleware) - if (request()->attributes->has('workspace_model')) { - return request()->attributes->get('workspace_model'); - } - - // Try to get from authenticated user's default workspace - if (auth()->check() && auth()->user() instanceof \Core\Mod\Tenant\Models\User) { - return auth()->user()->defaultHostWorkspace(); - } - - // Try to resolve from subdomain via WorkspaceService - $workspaceService = app(\App\Services\WorkspaceService::class); - $slug = $workspaceService->currentSlug(); - - return static::where('slug', $slug)->first(); - } - - /** - * Check if workspace can use a feature. - */ - public function can(string $featureCode, int $quantity = 1): EntitlementResult - { - return app(EntitlementService::class)->can($this, $featureCode, $quantity); - } - - /** - * Record usage of a feature. - */ - public function recordUsage(string $featureCode, int $quantity = 1, ?User $user = null, ?array $metadata = null): UsageRecord - { - return app(EntitlementService::class)->recordUsage($this, $featureCode, $quantity, $user, $metadata); - } - - /** - * Get usage summary for all features. - */ - public function getUsageSummary(): \Illuminate\Support\Collection - { - return app(EntitlementService::class)->getUsageSummary($this); - } - - /** - * Check if workspace has a specific package. - */ - public function hasPackage(string $packageCode): bool - { - return $this->workspacePackages() - ->whereHas('package', fn ($q) => $q->where('code', $packageCode)) - ->active() - ->exists(); - } - - /** - * Check if workspace has Apollo tier. - */ - public function isApollo(): bool - { - return $this->can('tier.apollo')->isAllowed(); - } - - /** - * Check if workspace has Hades tier. - */ - public function isHades(): bool - { - return $this->can('tier.hades')->isAllowed(); - } - - // ───────────────────────────────────────────────────────────────────────── - // Workspace Invitations - // ───────────────────────────────────────────────────────────────────────── - - /** - * Invite a user to this workspace by email. - * - * @param string $email The email address to invite - * @param string $role The role to assign (owner, admin, member) - * @param User|null $invitedBy The user sending the invitation - * @param int $expiresInDays Number of days until invitation expires - */ - public function invite(string $email, string $role = 'member', ?User $invitedBy = null, int $expiresInDays = 7): WorkspaceInvitation - { - // Check if there's already a pending invitation for this email - $existing = $this->invitations() - ->where('email', $email) - ->pending() - ->first(); - - if ($existing) { - // Update existing invitation - $existing->update([ - 'role' => $role, - 'invited_by' => $invitedBy?->id, - 'expires_at' => now()->addDays($expiresInDays), - ]); - - return $existing; - } - - // Create new invitation - $invitation = $this->invitations()->create([ - 'email' => $email, - 'token' => WorkspaceInvitation::generateToken(), - 'role' => $role, - 'invited_by' => $invitedBy?->id, - 'expires_at' => now()->addDays($expiresInDays), - ]); - - // Send notification - $invitation->notify(new \Core\Mod\Tenant\Notifications\WorkspaceInvitationNotification($invitation)); - - return $invitation; - } - - /** - * Accept an invitation to this workspace using a token. - * - * @param string $token The invitation token - * @param User $user The user accepting the invitation - * @return bool True if accepted, false if invalid/expired - */ - public static function acceptInvitation(string $token, User $user): bool - { - $invitation = WorkspaceInvitation::findPendingByToken($token); - - if (! $invitation) { - return false; - } - - return $invitation->accept($user); - } - - /** - * Get the external CMS URL for this workspace. - */ - public function getCmsUrlAttribute(): string - { - return 'https://'.$this->domain; - } - - /** - * Scope to only active workspaces. - */ - public function scopeActive($query) - { - return $query->where('is_active', true); - } - - /** - * Scope to order by sort order. - */ - public function scopeOrdered($query) - { - return $query->orderBy('sort_order'); - } - - /** - * Convert to array format used by WorkspaceService. - */ - public function toServiceArray(): array - { - return [ - 'name' => $this->name, - 'slug' => $this->slug, - 'domain' => $this->domain, - 'icon' => $this->icon, - 'color' => $this->color, - 'description' => $this->description, - ]; - } - - /** - * Generate a new webhook secret for the WP connector. - */ - public function generateWpConnectorSecret(): string - { - $secret = bin2hex(random_bytes(32)); - $this->update(['wp_connector_secret' => $secret]); - - return $secret; - } - - /** - * Enable the WP connector with a URL. - */ - public function enableWpConnector(string $url): self - { - $this->update([ - 'wp_connector_enabled' => true, - 'wp_connector_url' => rtrim($url, '/'), - 'wp_connector_secret' => $this->wp_connector_secret ?? bin2hex(random_bytes(32)), - ]); - - return $this; - } - - /** - * Disable the WP connector. - */ - public function disableWpConnector(): self - { - $this->update([ - 'wp_connector_enabled' => false, - 'wp_connector_verified_at' => null, - ]); - - return $this; - } - - /** - * Mark the WP connector as verified. - */ - public function markWpConnectorVerified(): self - { - $this->update(['wp_connector_verified_at' => now()]); - - return $this; - } - - /** - * Update the last sync timestamp. - */ - public function touchWpConnectorSync(): self - { - $this->update(['wp_connector_last_sync' => now()]); - - return $this; - } - - /** - * Check if the WP connector is active and verified. - */ - public function hasActiveWpConnector(): bool - { - return $this->wp_connector_enabled - && ! empty($this->wp_connector_url) - && ! empty($this->wp_connector_secret); - } - - /** - * Get the webhook URL that external CMS should POST to. - */ - public function getWpConnectorWebhookUrlAttribute(): string - { - return route('api.webhook.content').'?workspace='.$this->slug; - } - - /** - * Validate an incoming webhook signature. - */ - public function validateWebhookSignature(string $payload, string $signature): bool - { - if (empty($this->wp_connector_secret)) { - return false; - } - - $expected = hash_hmac('sha256', $payload, $this->wp_connector_secret); - - return hash_equals($expected, $signature); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/WorkspaceInvitation.php b/packages/core-php/src/Mod/Tenant/Models/WorkspaceInvitation.php deleted file mode 100644 index a863a82..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/WorkspaceInvitation.php +++ /dev/null @@ -1,168 +0,0 @@ - 'datetime', - 'accepted_at' => 'datetime', - ]; - - /** - * Get the workspace this invitation is for. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * Get the user who sent this invitation. - */ - public function inviter(): BelongsTo - { - return $this->belongsTo(User::class, 'invited_by'); - } - - /** - * Scope to pending invitations (not accepted, not expired). - */ - public function scopePending($query) - { - return $query->whereNull('accepted_at') - ->where('expires_at', '>', now()); - } - - /** - * Scope to expired invitations. - */ - public function scopeExpired($query) - { - return $query->whereNull('accepted_at') - ->where('expires_at', '<=', now()); - } - - /** - * Scope to accepted invitations. - */ - public function scopeAccepted($query) - { - return $query->whereNotNull('accepted_at'); - } - - /** - * Check if invitation is pending (not accepted and not expired). - */ - public function isPending(): bool - { - return $this->accepted_at === null && $this->expires_at->isFuture(); - } - - /** - * Check if invitation has expired. - */ - public function isExpired(): bool - { - return $this->accepted_at === null && $this->expires_at->isPast(); - } - - /** - * Check if invitation has been accepted. - */ - public function isAccepted(): bool - { - return $this->accepted_at !== null; - } - - /** - * Generate a unique token for this invitation. - */ - public static function generateToken(): string - { - do { - $token = Str::random(64); - } while (static::where('token', $token)->exists()); - - return $token; - } - - /** - * Find invitation by token. - */ - public static function findByToken(string $token): ?self - { - return static::where('token', $token)->first(); - } - - /** - * Find pending invitation by token. - */ - public static function findPendingByToken(string $token): ?self - { - return static::where('token', $token)->pending()->first(); - } - - /** - * Accept the invitation for a user. - */ - public function accept(User $user): bool - { - if (! $this->isPending()) { - return false; - } - - // Check if user already belongs to this workspace - if ($this->workspace->users()->where('user_id', $user->id)->exists()) { - // Mark as accepted but don't add again - $this->update(['accepted_at' => now()]); - - return true; - } - - // Add user to workspace with the invited role - $this->workspace->users()->attach($user->id, [ - 'role' => $this->role, - 'is_default' => false, - ]); - - // Mark invitation as accepted - $this->update(['accepted_at' => now()]); - - return true; - } - - /** - * Get the notification routing for mail. - */ - public function routeNotificationForMail(): string - { - return $this->email; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/WorkspaceMember.php b/packages/core-php/src/Mod/Tenant/Models/WorkspaceMember.php deleted file mode 100644 index 6d49df7..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/WorkspaceMember.php +++ /dev/null @@ -1,377 +0,0 @@ - 'array', - 'is_default' => 'boolean', - 'joined_at' => 'datetime', - ]; - - // ───────────────────────────────────────────────────────────────────────── - // Role Constants (legacy, for backwards compatibility) - // ───────────────────────────────────────────────────────────────────────── - - public const ROLE_OWNER = 'owner'; - - public const ROLE_ADMIN = 'admin'; - - public const ROLE_MEMBER = 'member'; - - // ───────────────────────────────────────────────────────────────────────── - // Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get the user for this membership. - */ - public function user(): BelongsTo - { - return $this->belongsTo(User::class); - } - - /** - * Get the workspace for this membership. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * Get the team for this membership. - */ - public function team(): BelongsTo - { - return $this->belongsTo(WorkspaceTeam::class, 'team_id'); - } - - /** - * Get the user who invited this member. - */ - public function inviter(): BelongsTo - { - return $this->belongsTo(User::class, 'invited_by'); - } - - // ───────────────────────────────────────────────────────────────────────── - // Scopes - // ───────────────────────────────────────────────────────────────────────── - - /** - * Scope to a specific workspace. - */ - public function scopeForWorkspace($query, Workspace|int $workspace) - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $query->where('workspace_id', $workspaceId); - } - - /** - * Scope to a specific user. - */ - public function scopeForUser($query, User|int $user) - { - $userId = $user instanceof User ? $user->id : $user; - - return $query->where('user_id', $userId); - } - - /** - * Scope to members with a specific role. - */ - public function scopeWithRole($query, string $role) - { - return $query->where('role', $role); - } - - /** - * Scope to members in a specific team. - */ - public function scopeInTeam($query, WorkspaceTeam|int $team) - { - $teamId = $team instanceof WorkspaceTeam ? $team->id : $team; - - return $query->where('team_id', $teamId); - } - - /** - * Scope to owners only. - */ - public function scopeOwners($query) - { - return $query->where('role', self::ROLE_OWNER); - } - - // ───────────────────────────────────────────────────────────────────────── - // Permission Helpers - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all effective permissions for this member. - * - * Merges team permissions with custom permission overrides. - */ - public function getEffectivePermissions(): array - { - // Start with team permissions - $permissions = $this->team?->permissions ?? []; - - // Merge custom permissions (overrides) - $customPermissions = $this->custom_permissions ?? []; - - // Custom permissions can grant (+permission) or revoke (-permission) - foreach ($customPermissions as $permission) { - if (str_starts_with($permission, '-')) { - // Remove permission - $toRemove = substr($permission, 1); - $permissions = array_values(array_filter( - $permissions, - fn ($p) => $p !== $toRemove - )); - } elseif (str_starts_with($permission, '+')) { - // Add permission (explicit add) - $toAdd = substr($permission, 1); - if (! in_array($toAdd, $permissions, true)) { - $permissions[] = $toAdd; - } - } else { - // Treat as add if no prefix - if (! in_array($permission, $permissions, true)) { - $permissions[] = $permission; - } - } - } - - // Legacy fallback: if no team, derive from role - if (! $this->team_id) { - $rolePermissions = match ($this->role) { - self::ROLE_OWNER => WorkspaceTeam::getDefaultPermissionsFor(WorkspaceTeam::TEAM_OWNER), - self::ROLE_ADMIN => WorkspaceTeam::getDefaultPermissionsFor(WorkspaceTeam::TEAM_ADMIN), - default => WorkspaceTeam::getDefaultPermissionsFor(WorkspaceTeam::TEAM_MEMBER), - }; - $permissions = array_unique(array_merge($permissions, $rolePermissions)); - } - - return array_values(array_unique($permissions)); - } - - /** - * Check if this member has a specific permission. - */ - public function hasPermission(string $permission): bool - { - $permissions = $this->getEffectivePermissions(); - - // Check for exact match - if (in_array($permission, $permissions, true)) { - return true; - } - - // Check for wildcard permissions - foreach ($permissions as $perm) { - if (str_ends_with($perm, '.*')) { - $prefix = substr($perm, 0, -1); - if (str_starts_with($permission, $prefix)) { - return true; - } - } - } - - return false; - } - - /** - * Check if this member has any of the given permissions. - */ - public function hasAnyPermission(array $permissions): bool - { - foreach ($permissions as $permission) { - if ($this->hasPermission($permission)) { - return true; - } - } - - return false; - } - - /** - * Check if this member has all of the given permissions. - */ - public function hasAllPermissions(array $permissions): bool - { - foreach ($permissions as $permission) { - if (! $this->hasPermission($permission)) { - return false; - } - } - - return true; - } - - /** - * Add a custom permission override. - */ - public function grantCustomPermission(string $permission): self - { - $custom = $this->custom_permissions ?? []; - - // Remove any revocation of this permission - $custom = array_filter($custom, fn ($p) => $p !== '-'.$permission); - - // Add the permission if not already present - if (! in_array($permission, $custom, true) && ! in_array('+'.$permission, $custom, true)) { - $custom[] = '+'.$permission; - } - - $this->update(['custom_permissions' => array_values($custom)]); - - return $this; - } - - /** - * Revoke a permission via custom override. - */ - public function revokeCustomPermission(string $permission): self - { - $custom = $this->custom_permissions ?? []; - - // Remove any grant of this permission - $custom = array_filter($custom, fn ($p) => $p !== $permission && $p !== '+'.$permission); - - // Add revocation - if (! in_array('-'.$permission, $custom, true)) { - $custom[] = '-'.$permission; - } - - $this->update(['custom_permissions' => array_values($custom)]); - - return $this; - } - - /** - * Clear all custom permission overrides. - */ - public function clearCustomPermissions(): self - { - $this->update(['custom_permissions' => null]); - - return $this; - } - - // ───────────────────────────────────────────────────────────────────────── - // Helper Methods - // ───────────────────────────────────────────────────────────────────────── - - /** - * Check if this member is the workspace owner. - */ - public function isOwner(): bool - { - return $this->role === self::ROLE_OWNER - || $this->team?->slug === WorkspaceTeam::TEAM_OWNER; - } - - /** - * Check if this member is an admin. - */ - public function isAdmin(): bool - { - return $this->isOwner() - || $this->role === self::ROLE_ADMIN - || $this->team?->slug === WorkspaceTeam::TEAM_ADMIN; - } - - /** - * Assign this member to a team. - */ - public function assignToTeam(WorkspaceTeam|int $team): self - { - $teamId = $team instanceof WorkspaceTeam ? $team->id : $team; - - $this->update(['team_id' => $teamId]); - - return $this; - } - - /** - * Remove this member from their team. - */ - public function removeFromTeam(): self - { - $this->update(['team_id' => null]); - - return $this; - } - - /** - * Get the display name for this membership (team name or role). - */ - public function getDisplayRole(): string - { - if ($this->team) { - return $this->team->name; - } - - return match ($this->role) { - self::ROLE_OWNER => 'Owner', - self::ROLE_ADMIN => 'Admin', - default => 'Member', - }; - } - - /** - * Get the colour for this membership's role badge. - */ - public function getRoleColour(): string - { - if ($this->team) { - return $this->team->colour; - } - - return match ($this->role) { - self::ROLE_OWNER => 'violet', - self::ROLE_ADMIN => 'blue', - default => 'zinc', - }; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/WorkspacePackage.php b/packages/core-php/src/Mod/Tenant/Models/WorkspacePackage.php deleted file mode 100644 index 629073b..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/WorkspacePackage.php +++ /dev/null @@ -1,164 +0,0 @@ - 'datetime', - 'expires_at' => 'datetime', - 'billing_cycle_anchor' => 'datetime', - 'metadata' => 'array', - ]; - - /** - * Status constants. - */ - public const STATUS_ACTIVE = 'active'; - - public const STATUS_SUSPENDED = 'suspended'; - - public const STATUS_CANCELLED = 'cancelled'; - - public const STATUS_EXPIRED = 'expired'; - - /** - * The workspace this package belongs to. - */ - public function workspace(): BelongsTo - { - return $this->belongsTo(Workspace::class); - } - - /** - * The package definition. - */ - public function package(): BelongsTo - { - return $this->belongsTo(Package::class, 'package_id'); - } - - /** - * Scope to active assignments. - */ - public function scopeActive($query) - { - return $query->where('status', self::STATUS_ACTIVE); - } - - /** - * Scope to non-expired assignments. - */ - public function scopeNotExpired($query) - { - return $query->where(function ($q) { - $q->whereNull('expires_at') - ->orWhere('expires_at', '>', now()); - }); - } - - /** - * Check if this assignment is currently active. - */ - public function isActive(): bool - { - if ($this->status !== self::STATUS_ACTIVE) { - return false; - } - - if ($this->starts_at && $this->starts_at->isFuture()) { - return false; - } - - if ($this->expires_at && $this->expires_at->isPast()) { - return false; - } - - return true; - } - - /** - * Check if this assignment is on grace period. - */ - public function onGracePeriod(): bool - { - return $this->status === self::STATUS_CANCELLED - && $this->expires_at - && $this->expires_at->isFuture(); - } - - /** - * Get the current billing cycle start date. - */ - public function getCurrentCycleStart(): Carbon - { - if (! $this->billing_cycle_anchor) { - return $this->starts_at ?? $this->created_at; - } - - $anchor = $this->billing_cycle_anchor->copy(); - $now = now(); - - // Find the most recent cycle start - while ($anchor->addMonth()->lte($now)) { - // Keep advancing until we pass now - } - - return $anchor->subMonth(); - } - - /** - * Get the current billing cycle end date. - */ - public function getCurrentCycleEnd(): Carbon - { - return $this->getCurrentCycleStart()->copy()->addMonth(); - } - - /** - * Suspend this assignment. - */ - public function suspend(): void - { - $this->update(['status' => self::STATUS_SUSPENDED]); - } - - /** - * Reactivate this assignment. - */ - public function reactivate(): void - { - $this->update(['status' => self::STATUS_ACTIVE]); - } - - /** - * Cancel this assignment. - */ - public function cancel(?Carbon $endsAt = null): void - { - $this->update([ - 'status' => self::STATUS_CANCELLED, - 'expires_at' => $endsAt ?? $this->getCurrentCycleEnd(), - ]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Models/WorkspaceTeam.php b/packages/core-php/src/Mod/Tenant/Models/WorkspaceTeam.php deleted file mode 100644 index 7e11644..0000000 --- a/packages/core-php/src/Mod/Tenant/Models/WorkspaceTeam.php +++ /dev/null @@ -1,517 +0,0 @@ - 'array', - 'is_default' => 'boolean', - 'is_system' => 'boolean', - 'sort_order' => 'integer', - ]; - - // ───────────────────────────────────────────────────────────────────────── - // Boot - // ───────────────────────────────────────────────────────────────────────── - - protected static function boot(): void - { - parent::boot(); - - static::creating(function (self $team) { - if (empty($team->slug)) { - $team->slug = Str::slug($team->name); - } - }); - } - - // ───────────────────────────────────────────────────────────────────────── - // Relationships - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get members assigned to this team via the pivot. - */ - public function members(): HasMany - { - return $this->hasMany(WorkspaceMember::class, 'team_id'); - } - - // ───────────────────────────────────────────────────────────────────────── - // Scopes - // ───────────────────────────────────────────────────────────────────────── - - /** - * Scope to default teams only. - */ - public function scopeDefault($query) - { - return $query->where('is_default', true); - } - - /** - * Scope to system teams only. - */ - public function scopeSystem($query) - { - return $query->where('is_system', true); - } - - /** - * Scope to custom (non-system) teams only. - */ - public function scopeCustom($query) - { - return $query->where('is_system', false); - } - - /** - * Scope ordered by sort_order. - */ - public function scopeOrdered($query) - { - return $query->orderBy('sort_order'); - } - - // ───────────────────────────────────────────────────────────────────────── - // Permission Helpers - // ───────────────────────────────────────────────────────────────────────── - - /** - * Check if this team has a specific permission. - */ - public function hasPermission(string $permission): bool - { - $permissions = $this->permissions ?? []; - - // Check for exact match - if (in_array($permission, $permissions, true)) { - return true; - } - - // Check for wildcard permissions (e.g., 'bio.*' matches 'bio.read') - foreach ($permissions as $perm) { - if (str_ends_with($perm, '.*')) { - $prefix = substr($perm, 0, -1); // Remove the '*' - if (str_starts_with($permission, $prefix)) { - return true; - } - } - } - - return false; - } - - /** - * Check if this team has any of the given permissions. - */ - public function hasAnyPermission(array $permissions): bool - { - foreach ($permissions as $permission) { - if ($this->hasPermission($permission)) { - return true; - } - } - - return false; - } - - /** - * Check if this team has all of the given permissions. - */ - public function hasAllPermissions(array $permissions): bool - { - foreach ($permissions as $permission) { - if (! $this->hasPermission($permission)) { - return false; - } - } - - return true; - } - - /** - * Grant a permission to this team. - */ - public function grantPermission(string $permission): self - { - $permissions = $this->permissions ?? []; - - if (! in_array($permission, $permissions, true)) { - $permissions[] = $permission; - $this->update(['permissions' => $permissions]); - } - - return $this; - } - - /** - * Revoke a permission from this team. - */ - public function revokePermission(string $permission): self - { - $permissions = $this->permissions ?? []; - $permissions = array_values(array_filter($permissions, fn ($p) => $p !== $permission)); - - $this->update(['permissions' => $permissions]); - - return $this; - } - - /** - * Set all permissions for this team. - */ - public function setPermissions(array $permissions): self - { - $this->update(['permissions' => $permissions]); - - return $this; - } - - // ───────────────────────────────────────────────────────────────────────── - // Static Helpers - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all available permissions grouped by category. - */ - public static function getAvailablePermissions(): array - { - return [ - 'workspace' => [ - 'label' => 'Workspace', - 'permissions' => [ - self::PERM_WORKSPACE_SETTINGS => 'Manage settings', - self::PERM_WORKSPACE_MEMBERS => 'Manage members', - self::PERM_WORKSPACE_TEAMS => 'Manage teams', - self::PERM_WORKSPACE_BILLING => 'Manage billing', - self::PERM_WORKSPACE_DELETE => 'Delete workspace', - ], - ], - 'bio' => [ - 'label' => 'BioHost', - 'permissions' => [ - self::PERM_BIO_READ => 'View pages', - self::PERM_BIO_WRITE => 'Create and edit pages', - self::PERM_BIO_ADMIN => 'Full access', - ], - ], - 'social' => [ - 'label' => 'SocialHost', - 'permissions' => [ - self::PERM_SOCIAL_READ => 'View posts and accounts', - self::PERM_SOCIAL_WRITE => 'Create and edit posts', - self::PERM_SOCIAL_ADMIN => 'Full access', - ], - ], - 'analytics' => [ - 'label' => 'AnalyticsHost', - 'permissions' => [ - self::PERM_ANALYTICS_READ => 'View analytics', - self::PERM_ANALYTICS_WRITE => 'Configure tracking', - self::PERM_ANALYTICS_ADMIN => 'Full access', - ], - ], - 'trust' => [ - 'label' => 'TrustHost', - 'permissions' => [ - self::PERM_TRUST_READ => 'View campaigns', - self::PERM_TRUST_WRITE => 'Create and edit campaigns', - self::PERM_TRUST_ADMIN => 'Full access', - ], - ], - 'notify' => [ - 'label' => 'NotifyHost', - 'permissions' => [ - self::PERM_NOTIFY_READ => 'View notifications', - self::PERM_NOTIFY_WRITE => 'Send notifications', - self::PERM_NOTIFY_ADMIN => 'Full access', - ], - ], - 'support' => [ - 'label' => 'SupportHost', - 'permissions' => [ - self::PERM_SUPPORT_READ => 'View conversations', - self::PERM_SUPPORT_WRITE => 'Reply to conversations', - self::PERM_SUPPORT_ADMIN => 'Full access', - ], - ], - 'commerce' => [ - 'label' => 'Commerce', - 'permissions' => [ - self::PERM_COMMERCE_READ => 'View orders and invoices', - self::PERM_COMMERCE_WRITE => 'Manage orders', - self::PERM_COMMERCE_ADMIN => 'Full access', - ], - ], - 'api' => [ - 'label' => 'API', - 'permissions' => [ - self::PERM_API_READ => 'View API keys', - self::PERM_API_WRITE => 'Create API keys', - self::PERM_API_ADMIN => 'Full access', - ], - ], - ]; - } - - /** - * Get flat list of all permission keys. - */ - public static function getAllPermissionKeys(): array - { - $keys = []; - foreach (self::getAvailablePermissions() as $group) { - $keys = array_merge($keys, array_keys($group['permissions'])); - } - - return $keys; - } - - /** - * Get default permissions for a given team type. - */ - public static function getDefaultPermissionsFor(string $teamSlug): array - { - return match ($teamSlug) { - self::TEAM_OWNER => self::getAllPermissionKeys(), // Owner gets all permissions - self::TEAM_ADMIN => array_filter( - self::getAllPermissionKeys(), - fn ($p) => ! in_array($p, [ - self::PERM_WORKSPACE_DELETE, - self::PERM_WORKSPACE_BILLING, - ], true) - ), - self::TEAM_MEMBER => [ - self::PERM_BIO_READ, - self::PERM_BIO_WRITE, - self::PERM_SOCIAL_READ, - self::PERM_SOCIAL_WRITE, - self::PERM_ANALYTICS_READ, - self::PERM_TRUST_READ, - self::PERM_TRUST_WRITE, - self::PERM_NOTIFY_READ, - self::PERM_NOTIFY_WRITE, - self::PERM_SUPPORT_READ, - self::PERM_SUPPORT_WRITE, - self::PERM_COMMERCE_READ, - self::PERM_API_READ, - ], - self::TEAM_VIEWER => [ - self::PERM_BIO_READ, - self::PERM_SOCIAL_READ, - self::PERM_ANALYTICS_READ, - self::PERM_TRUST_READ, - self::PERM_NOTIFY_READ, - self::PERM_SUPPORT_READ, - self::PERM_COMMERCE_READ, - self::PERM_API_READ, - ], - default => [], - }; - } - - /** - * Get the default team definitions for seeding. - */ - public static function getDefaultTeamDefinitions(): array - { - return [ - [ - 'name' => 'Owner', - 'slug' => self::TEAM_OWNER, - 'description' => 'Full ownership access to the workspace.', - 'permissions' => self::getDefaultPermissionsFor(self::TEAM_OWNER), - 'is_system' => true, - 'colour' => 'violet', - 'sort_order' => 1, - ], - [ - 'name' => 'Admin', - 'slug' => self::TEAM_ADMIN, - 'description' => 'Administrative access without billing or deletion rights.', - 'permissions' => self::getDefaultPermissionsFor(self::TEAM_ADMIN), - 'is_system' => true, - 'colour' => 'blue', - 'sort_order' => 2, - ], - [ - 'name' => 'Member', - 'slug' => self::TEAM_MEMBER, - 'description' => 'Standard member access to create and edit content.', - 'permissions' => self::getDefaultPermissionsFor(self::TEAM_MEMBER), - 'is_system' => true, - 'is_default' => true, - 'colour' => 'emerald', - 'sort_order' => 3, - ], - [ - 'name' => 'Viewer', - 'slug' => self::TEAM_VIEWER, - 'description' => 'Read-only access to view content.', - 'permissions' => self::getDefaultPermissionsFor(self::TEAM_VIEWER), - 'is_system' => true, - 'colour' => 'zinc', - 'sort_order' => 4, - ], - ]; - } - - /** - * Get available colour options for teams. - */ - public static function getColourOptions(): array - { - return [ - 'zinc' => 'Grey', - 'red' => 'Red', - 'orange' => 'Orange', - 'amber' => 'Amber', - 'yellow' => 'Yellow', - 'lime' => 'Lime', - 'green' => 'Green', - 'emerald' => 'Emerald', - 'teal' => 'Teal', - 'cyan' => 'Cyan', - 'sky' => 'Sky', - 'blue' => 'Blue', - 'indigo' => 'Indigo', - 'violet' => 'Violet', - 'purple' => 'Purple', - 'fuchsia' => 'Fuchsia', - 'pink' => 'Pink', - 'rose' => 'Rose', - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Notifications/BoostExpiredNotification.php b/packages/core-php/src/Mod/Tenant/Notifications/BoostExpiredNotification.php deleted file mode 100644 index 17862c9..0000000 --- a/packages/core-php/src/Mod/Tenant/Notifications/BoostExpiredNotification.php +++ /dev/null @@ -1,144 +0,0 @@ - - */ - public function via(object $notifiable): array - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - */ - public function toMail(object $notifiable): MailMessage - { - $workspaceName = $this->workspace->name; - $appName = config('core.app.name', 'Host UK'); - $boostCount = $this->expiredBoosts->count(); - - $message = (new MailMessage) - ->subject($this->getSubject($boostCount, $workspaceName)) - ->greeting('Hi,'); - - if ($boostCount === 1) { - $boost = $this->expiredBoosts->first(); - $featureName = $this->getFeatureName($boost->feature_code); - - return $message - ->line("A boost for **{$featureName}** has expired in your **{$workspaceName}** workspace.") - ->line('This was a cycle-bound boost that ended with your billing period.') - ->line($this->getBoostDescription($boost)) - ->action('View Usage', route('hub.billing')) - ->line('You can purchase additional boosts or upgrade your plan to restore this capacity.') - ->salutation("Cheers, the {$appName} team"); - } - - // Multiple boosts expired - $message->line("The following boosts have expired in your **{$workspaceName}** workspace:"); - - foreach ($this->expiredBoosts as $boost) { - $featureName = $this->getFeatureName($boost->feature_code); - $message->line("- **{$featureName}**: {$this->getBoostDescription($boost)}"); - } - - return $message - ->line('These were cycle-bound boosts that ended with your billing period.') - ->action('View Usage', route('hub.billing')) - ->line('You can purchase additional boosts or upgrade your plan to restore this capacity.') - ->salutation("Cheers, the {$appName} team"); - } - - /** - * Get email subject. - */ - protected function getSubject(int $boostCount, string $workspaceName): string - { - if ($boostCount === 1) { - $boost = $this->expiredBoosts->first(); - $featureName = $this->getFeatureName($boost->feature_code); - - return "{$featureName} boost expired - {$workspaceName}"; - } - - return "{$boostCount} boosts expired - {$workspaceName}"; - } - - /** - * Get the feature name for a code. - */ - protected function getFeatureName(string $featureCode): string - { - $feature = Feature::where('code', $featureCode)->first(); - - return $feature?->name ?? ucwords(str_replace(['.', '_', '-'], ' ', $featureCode)); - } - - /** - * Get description of what the boost provided. - */ - protected function getBoostDescription(Boost $boost): string - { - if ($boost->boost_type === Boost::BOOST_TYPE_UNLIMITED) { - return 'Unlimited access'; - } - - if ($boost->boost_type === Boost::BOOST_TYPE_ENABLE) { - return 'Feature access'; - } - - $consumed = $boost->consumed_quantity ?? 0; - $total = $boost->limit_value ?? 0; - - return "+{$total} capacity ({$consumed} used)"; - } - - /** - * Get the array representation of the notification. - * - * @return array - */ - public function toArray(object $notifiable): array - { - return [ - 'type' => 'boost_expired', - 'workspace_id' => $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'boosts' => $this->expiredBoosts->map(fn ($boost) => [ - 'id' => $boost->id, - 'feature_code' => $boost->feature_code, - 'boost_type' => $boost->boost_type, - 'limit_value' => $boost->limit_value, - 'consumed_quantity' => $boost->consumed_quantity, - ])->toArray(), - 'count' => $this->expiredBoosts->count(), - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Notifications/UsageAlertNotification.php b/packages/core-php/src/Mod/Tenant/Notifications/UsageAlertNotification.php deleted file mode 100644 index 6737bc2..0000000 --- a/packages/core-php/src/Mod/Tenant/Notifications/UsageAlertNotification.php +++ /dev/null @@ -1,162 +0,0 @@ - - */ - public function via(object $notifiable): array - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - */ - public function toMail(object $notifiable): MailMessage - { - $percentage = round(($this->used / $this->limit) * 100); - $remaining = max(0, $this->limit - $this->used); - $featureName = $this->feature->name; - $workspaceName = $this->workspace->name; - $appName = config('core.app.name', 'Host UK'); - - $message = (new MailMessage) - ->subject($this->getSubject($featureName, $percentage)); - - if ($this->threshold === UsageAlertHistory::THRESHOLD_LIMIT) { - return $this->limitReachedEmail($message, $featureName, $workspaceName, $appName); - } - - if ($this->threshold === UsageAlertHistory::THRESHOLD_CRITICAL) { - return $this->criticalEmail($message, $featureName, $workspaceName, $percentage, $remaining, $appName); - } - - return $this->warningEmail($message, $featureName, $workspaceName, $percentage, $remaining, $appName); - } - - /** - * Get email subject based on threshold. - */ - protected function getSubject(string $featureName, int $percentage): string - { - if ($this->threshold === UsageAlertHistory::THRESHOLD_LIMIT) { - return "{$featureName} limit reached"; - } - - return "{$featureName} usage at {$percentage}%"; - } - - /** - * Build warning email (80% threshold). - */ - protected function warningEmail( - MailMessage $message, - string $featureName, - string $workspaceName, - int $percentage, - int $remaining, - string $appName - ): MailMessage { - return $message - ->greeting('Hi,') - ->line("Your **{$workspaceName}** workspace is approaching its **{$featureName}** limit.") - ->line("**Current usage:** {$this->used} of {$this->limit} ({$percentage}%)") - ->line("**Remaining:** {$remaining}") - ->line('Consider upgrading your plan to ensure uninterrupted service.') - ->action('View Usage', route('hub.billing')) - ->line('If you have questions about your plan, please contact our support team.') - ->salutation("Cheers, the {$appName} team"); - } - - /** - * Build critical email (90% threshold). - */ - protected function criticalEmail( - MailMessage $message, - string $featureName, - string $workspaceName, - int $percentage, - int $remaining, - string $appName - ): MailMessage { - return $message - ->greeting('Hi,') - ->line("**Urgent:** Your **{$workspaceName}** workspace is almost at its **{$featureName}** limit.") - ->line("**Current usage:** {$this->used} of {$this->limit} ({$percentage}%)") - ->line("**Only {$remaining} remaining**") - ->line('Upgrade now to avoid any service interruptions.') - ->action('Upgrade Plan', route('hub.billing')) - ->line('Need help? Contact our support team.') - ->salutation("Cheers, the {$appName} team"); - } - - /** - * Build limit reached email (100% threshold). - */ - protected function limitReachedEmail( - MailMessage $message, - string $featureName, - string $workspaceName, - string $appName - ): MailMessage { - return $message - ->greeting('Hi,') - ->line("Your **{$workspaceName}** workspace has reached its **{$featureName}** limit.") - ->line("**Usage:** {$this->used} of {$this->limit} (100%)") - ->line('You will not be able to use this feature until:') - ->line('- You upgrade to a higher plan, or') - ->line('- Your usage resets (if applicable), or') - ->line('- You reduce your current usage') - ->action('Upgrade Plan', route('hub.billing')) - ->line('Need assistance? Our support team is here to help.') - ->salutation("Cheers, the {$appName} team"); - } - - /** - * Get the array representation of the notification. - * - * @return array - */ - public function toArray(object $notifiable): array - { - return [ - 'type' => 'usage_alert', - 'workspace_id' => $this->workspace->id, - 'workspace_name' => $this->workspace->name, - 'feature_code' => $this->feature->code, - 'feature_name' => $this->feature->name, - 'threshold' => $this->threshold, - 'used' => $this->used, - 'limit' => $this->limit, - 'percentage' => round(($this->used / $this->limit) * 100), - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Notifications/WaitlistInviteNotification.php b/packages/core-php/src/Mod/Tenant/Notifications/WaitlistInviteNotification.php deleted file mode 100644 index 4798764..0000000 --- a/packages/core-php/src/Mod/Tenant/Notifications/WaitlistInviteNotification.php +++ /dev/null @@ -1,69 +0,0 @@ - - */ - public function via(object $notifiable): array - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - */ - public function toMail(object $notifiable): MailMessage - { - $registerUrl = route('register', ['invite' => $this->entry->invite_code]); - $name = $this->entry->name ?: 'there'; - - return (new MailMessage) - ->subject('Your Host UK invite is ready') - ->greeting("Hello {$name},") - ->line('Good news. Your spot on the Host UK waitlist has come up and you can now create your account.') - ->line('**Your invite code:** '.$this->entry->invite_code) - ->line('As an early member, you\'ll get **50% off your first 3 months** when you upgrade to a paid plan.') - ->action('Create your account', $registerUrl) - ->line('This invite is linked to your email address and can only be used once.') - ->line('Here\'s what you\'ll get access to:') - ->line('• **BioHost** – Create bio pages with 60+ content blocks') - ->line('• **SocialHost** – Schedule posts across 20+ social platforms') - ->line('• **AnalyticsHost** – Privacy-first website analytics') - ->line('• **TrustHost** – Social proof widgets for your site') - ->line('• **NotifyHost** – Browser push notifications') - ->line('Questions? Just reply to this email.') - ->salutation('Cheers, the Host UK team'); - } - - /** - * Get the array representation of the notification. - * - * @return array - */ - public function toArray(object $notifiable): array - { - return [ - 'type' => 'waitlist_invite', - 'invite_code' => $this->entry->invite_code, - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Notifications/WelcomeNotification.php b/packages/core-php/src/Mod/Tenant/Notifications/WelcomeNotification.php deleted file mode 100644 index 42e0a2e..0000000 --- a/packages/core-php/src/Mod/Tenant/Notifications/WelcomeNotification.php +++ /dev/null @@ -1,57 +0,0 @@ - - */ - public function via(object $notifiable): array - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - */ - public function toMail(object $notifiable): MailMessage - { - return (new MailMessage) - ->subject('Welcome to Host UK') - ->greeting('Hello '.($notifiable->name ?: 'there').',') - ->line('Thanks for creating your Host UK account. You\'re all set to start building your online presence.') - ->line('Here\'s what you can do next:') - ->line('• **BioHost** – Create a bio page with 60+ content blocks') - ->line('• **SocialHost** – Schedule posts across 20+ social platforms') - ->line('• **AnalyticsHost** – Track your website visitors with privacy-first analytics') - ->line('• **TrustHost** – Add social proof widgets to your site') - ->line('• **NotifyHost** – Send browser push notifications') - ->action('Go to Dashboard', route('hub.dashboard')) - ->line('If you have any questions, just reply to this email.') - ->salutation('Cheers, the Host UK team'); - } - - /** - * Get the array representation of the notification. - * - * @return array - */ - public function toArray(object $notifiable): array - { - return [ - 'type' => 'welcome', - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Notifications/WorkspaceInvitationNotification.php b/packages/core-php/src/Mod/Tenant/Notifications/WorkspaceInvitationNotification.php deleted file mode 100644 index 7879274..0000000 --- a/packages/core-php/src/Mod/Tenant/Notifications/WorkspaceInvitationNotification.php +++ /dev/null @@ -1,65 +0,0 @@ - - */ - public function via(object $notifiable): array - { - return ['mail']; - } - - /** - * Get the mail representation of the notification. - */ - public function toMail(object $notifiable): MailMessage - { - $acceptUrl = route('workspace.invitation.accept', ['token' => $this->invitation->token]); - $workspaceName = $this->invitation->workspace->name; - $inviterName = $this->invitation->inviter?->name ?? 'A team member'; - $roleName = ucfirst($this->invitation->role); - $expiresAt = $this->invitation->expires_at->format('j F Y'); - - return (new MailMessage) - ->subject("You've been invited to join {$workspaceName}") - ->greeting('Hello,') - ->line("{$inviterName} has invited you to join **{$workspaceName}** as a **{$roleName}**.") - ->action('Accept invitation', $acceptUrl) - ->line("This invitation will expire on {$expiresAt}.") - ->line('If you did not expect this invitation, you can safely ignore this email.'); - } - - /** - * Get the array representation of the notification. - * - * @return array - */ - public function toArray(object $notifiable): array - { - return [ - 'type' => 'workspace_invitation', - 'workspace_id' => $this->invitation->workspace_id, - 'workspace_name' => $this->invitation->workspace->name, - 'role' => $this->invitation->role, - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Routes/api.php b/packages/core-php/src/Mod/Tenant/Routes/api.php deleted file mode 100644 index cb6cdc1..0000000 --- a/packages/core-php/src/Mod/Tenant/Routes/api.php +++ /dev/null @@ -1,82 +0,0 @@ -prefix('workspaces')->name('api.workspaces.')->group(function () { - Route::get('/', [WorkspaceController::class, 'index']) - ->name('index'); - Route::get('/current', [WorkspaceController::class, 'current']) - ->name('current'); - Route::post('/', [WorkspaceController::class, 'store']) - ->name('store'); - Route::get('/{workspace}', [WorkspaceController::class, 'show']) - ->name('show'); - Route::put('/{workspace}', [WorkspaceController::class, 'update']) - ->name('update'); - Route::delete('/{workspace}', [WorkspaceController::class, 'destroy']) - ->name('destroy'); - Route::post('/{workspace}/switch', [WorkspaceController::class, 'switch']) - ->name('switch'); -}); - -/* -|-------------------------------------------------------------------------- -| Workspaces API (API Key Auth) -|-------------------------------------------------------------------------- -| -| Read-only workspace access via API key. -| Use Authorization: Bearer hk_xxx header. -| -*/ - -Route::middleware(['api.auth', 'api.scope.enforce'])->prefix('workspaces')->name('api.key.workspaces.')->group(function () { - // Scope enforcement: GET=read (all routes here are read-only) - Route::get('/', [WorkspaceController::class, 'index'])->name('index'); - Route::get('/current', [WorkspaceController::class, 'current'])->name('current'); - Route::get('/{workspace}', [WorkspaceController::class, 'show'])->name('show'); -}); - -/* -|-------------------------------------------------------------------------- -| Entitlement Webhooks API (Auth Required) -|-------------------------------------------------------------------------- -| -| Webhook management for entitlement events. -| Session-based authentication. -| -*/ - -Route::middleware('auth')->prefix('entitlement-webhooks')->name('api.entitlement-webhooks.')->group(function () { - Route::get('/', [EntitlementWebhookController::class, 'index'])->name('index'); - Route::get('/events', [EntitlementWebhookController::class, 'events'])->name('events'); - Route::post('/', [EntitlementWebhookController::class, 'store'])->name('store'); - Route::get('/{webhook}', [EntitlementWebhookController::class, 'show'])->name('show'); - Route::put('/{webhook}', [EntitlementWebhookController::class, 'update'])->name('update'); - Route::delete('/{webhook}', [EntitlementWebhookController::class, 'destroy'])->name('destroy'); - Route::post('/{webhook}/test', [EntitlementWebhookController::class, 'test'])->name('test'); - Route::post('/{webhook}/regenerate-secret', [EntitlementWebhookController::class, 'regenerateSecret'])->name('regenerate-secret'); - Route::post('/{webhook}/reset-circuit-breaker', [EntitlementWebhookController::class, 'resetCircuitBreaker'])->name('reset-circuit-breaker'); - Route::get('/{webhook}/deliveries', [EntitlementWebhookController::class, 'deliveries'])->name('deliveries'); - Route::post('/deliveries/{delivery}/retry', [EntitlementWebhookController::class, 'retryDelivery'])->name('retry-delivery'); -}); diff --git a/packages/core-php/src/Mod/Tenant/Routes/web.php b/packages/core-php/src/Mod/Tenant/Routes/web.php deleted file mode 100644 index e3bf445..0000000 --- a/packages/core-php/src/Mod/Tenant/Routes/web.php +++ /dev/null @@ -1,59 +0,0 @@ -name('account.')->group(function () { - Route::get('/delete/{token}', ConfirmDeletion::class) - ->name('delete.confirm'); - - Route::get('/delete/{token}/cancel', CancelDeletion::class) - ->name('delete.cancel'); -}); - -/* -|-------------------------------------------------------------------------- -| Workspace Invitation Routes -|-------------------------------------------------------------------------- -| -| Token-based workspace invitation acceptance. -| Users receive these links via email to join a workspace. -| -*/ - -Route::get('/workspace/invitation/{token}', \Core\Mod\Tenant\Controllers\WorkspaceInvitationController::class) - ->name('workspace.invitation.accept'); - -/* -|-------------------------------------------------------------------------- -| Workspace Public Routes -|-------------------------------------------------------------------------- -| -| Workspace home page, typically accessed via subdomain. -| The workspace slug is resolved from subdomain middleware or route param. -| -*/ - -Route::get('/workspace/{workspace?}', WorkspaceHome::class) - ->name('workspace.home') - ->where('workspace', '[a-z0-9\-]+'); diff --git a/packages/core-php/src/Mod/Tenant/Rules/CheckUserPasswordRule.php b/packages/core-php/src/Mod/Tenant/Rules/CheckUserPasswordRule.php deleted file mode 100644 index 736a31d..0000000 --- a/packages/core-php/src/Mod/Tenant/Rules/CheckUserPasswordRule.php +++ /dev/null @@ -1,45 +0,0 @@ -user->password)) { - $fail($this->message ?: 'The password is incorrect.'); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Rules/ResourceStatusRule.php b/packages/core-php/src/Mod/Tenant/Rules/ResourceStatusRule.php deleted file mode 100644 index 48014f0..0000000 --- a/packages/core-php/src/Mod/Tenant/Rules/ResourceStatusRule.php +++ /dev/null @@ -1,39 +0,0 @@ -value, ResourceStatus::ENABLED->value], true)) { - $fail('The :attribute must be either enabled or disabled.'); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Scopes/WorkspaceScope.php b/packages/core-php/src/Mod/Tenant/Scopes/WorkspaceScope.php deleted file mode 100644 index 3af629f..0000000 --- a/packages/core-php/src/Mod/Tenant/Scopes/WorkspaceScope.php +++ /dev/null @@ -1,174 +0,0 @@ -hasWorkspaceColumn($model)) { - return; - } - - // Get current workspace (returns Workspace model instance) - $workspace = Workspace::current(); - - if ($workspace) { - $builder->where($model->getTable().'.workspace_id', $workspace->id); - - return; - } - - // No workspace context available - if ($this->shouldEnforceStrictMode($model)) { - throw MissingWorkspaceContextException::forScope( - class_basename($model) - ); - } - - // Non-strict mode: return empty result set (fail safe) - $builder->whereRaw('1 = 0'); - } - - /** - * Check if the model has a workspace_id column. - */ - protected function hasWorkspaceColumn(Model $model): bool - { - $fillable = $model->getFillable(); - $guarded = $model->getGuarded(); - - // Check if workspace_id is in fillable or not in guarded - return in_array('workspace_id', $fillable, true) - || (count($guarded) === 1 && $guarded[0] === '*') - || ! in_array('workspace_id', $guarded, true); - } - - /** - * Determine if strict mode should be enforced for a model. - */ - protected function shouldEnforceStrictMode(Model $model): bool - { - // Check global strict mode setting - if (! self::$strictModeEnabled) { - return false; - } - - // Check if model has opted out of strict mode - if (property_exists($model, 'workspaceScopeStrict') && $model->workspaceScopeStrict === false) { - return false; - } - - // Check if running from console (CLI commands may need to work without context) - if (app()->runningInConsole() && ! app()->runningUnitTests()) { - return false; - } - - return true; - } - - /** - * Extend the query builder with workspace-specific methods. - */ - public function extend(Builder $builder): void - { - // Add method to set workspace context for a query - $builder->macro('forWorkspace', function (Builder $builder, Workspace|int $workspace) { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $builder->withoutGlobalScope(WorkspaceScope::class) - ->where($builder->getModel()->getTable().'.workspace_id', $workspaceId); - }); - - // Add method to query across all workspaces (use with caution) - $builder->macro('acrossWorkspaces', function (Builder $builder) { - return $builder->withoutGlobalScope(WorkspaceScope::class); - }); - - // Add method to get current workspace for a query - $builder->macro('currentWorkspaceId', function (Builder $builder) { - $workspace = Workspace::current(); - - return $workspace?->id; - }); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/EntitlementResult.php b/packages/core-php/src/Mod/Tenant/Services/EntitlementResult.php deleted file mode 100644 index 078ba09..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/EntitlementResult.php +++ /dev/null @@ -1,174 +0,0 @@ - true]), - ); - } - - /** - * Check if the request is allowed. - */ - public function isAllowed(): bool - { - return $this->allowed; - } - - /** - * Check if the request is denied. - */ - public function isDenied(): bool - { - return ! $this->allowed; - } - - /** - * Get the denial message. - */ - public function getMessage(): ?string - { - return $this->reason; - } - - /** - * Check if this is an unlimited feature. - */ - public function isUnlimited(): bool - { - return $this->metadata['unlimited'] ?? false; - } - - /** - * Get usage percentage (0-100). - */ - public function getUsagePercentage(): ?float - { - if ($this->limit === null || $this->limit === 0) { - return null; - } - - return min(100, ($this->used ?? 0) / $this->limit * 100); - } - - /** - * Check if usage is near the limit (> 80%). - */ - public function isNearLimit(): bool - { - $percentage = $this->getUsagePercentage(); - - return $percentage !== null && $percentage >= 80; - } - - /** - * Check if usage is at the limit. - */ - public function isAtLimit(): bool - { - return $this->remaining === 0; - } - - /** - * Get the limit value. - */ - public function getLimit(): ?int - { - return $this->limit; - } - - /** - * Get the used value. - */ - public function getUsed(): ?int - { - return $this->used; - } - - /** - * Get the remaining value. - */ - public function getRemaining(): ?int - { - return $this->remaining; - } - - /** - * Convert to array for JSON responses. - */ - public function toArray(): array - { - return [ - 'allowed' => $this->allowed, - 'reason' => $this->reason, - 'limit' => $this->limit, - 'used' => $this->used, - 'remaining' => $this->remaining, - 'feature_code' => $this->featureCode, - 'unlimited' => $this->isUnlimited(), - 'usage_percentage' => $this->getUsagePercentage(), - ]; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/EntitlementService.php b/packages/core-php/src/Mod/Tenant/Services/EntitlementService.php deleted file mode 100644 index 807ed68..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/EntitlementService.php +++ /dev/null @@ -1,821 +0,0 @@ -getFeature($featureCode); - - if (! $feature) { - return EntitlementResult::denied( - reason: "Feature '{$featureCode}' does not exist.", - featureCode: $featureCode - ); - } - - // Get the pool feature code (parent if hierarchical) - $poolFeatureCode = $feature->getPoolFeatureCode(); - - // Get total limit from all active packages + boosts - $totalLimit = $this->getTotalLimit($workspace, $poolFeatureCode); - - if ($totalLimit === null) { - // Feature not included in any package - return EntitlementResult::denied( - reason: "Your plan does not include {$feature->name}.", - featureCode: $featureCode - ); - } - - // Check for unlimited - if ($totalLimit === -1) { - return EntitlementResult::unlimited($featureCode); - } - - // For boolean features, just check if enabled - if ($feature->isBoolean()) { - return EntitlementResult::allowed(featureCode: $featureCode); - } - - // Get current usage - $currentUsage = $this->getCurrentUsage($workspace, $poolFeatureCode, $feature); - - // Check if quantity would exceed limit - if ($currentUsage + $quantity > $totalLimit) { - return EntitlementResult::denied( - reason: "You've reached your {$feature->name} limit ({$totalLimit}).", - limit: $totalLimit, - used: $currentUsage, - featureCode: $featureCode - ); - } - - return EntitlementResult::allowed( - limit: $totalLimit, - used: $currentUsage, - featureCode: $featureCode - ); - } - - /** - * Check if a namespace can use a feature. - * - * Entitlement cascade: - * 1. Check namespace-level packages first - * 2. Fall back to workspace pool (if namespace has workspace context) - * 3. Fall back to user tier (for user-owned namespaces without workspace) - */ - public function canForNamespace(Namespace_ $namespace, string $featureCode, int $quantity = 1): EntitlementResult - { - $feature = $this->getFeature($featureCode); - - if (! $feature) { - return EntitlementResult::denied( - reason: "Feature '{$featureCode}' does not exist.", - featureCode: $featureCode - ); - } - - // Get the pool feature code (parent if hierarchical) - $poolFeatureCode = $feature->getPoolFeatureCode(); - - // Try namespace-level limit first - $totalLimit = $this->getNamespaceTotalLimit($namespace, $poolFeatureCode); - - // If not found at namespace level, try workspace fallback - if ($totalLimit === null && $namespace->workspace_id) { - $workspace = $namespace->workspace; - if ($workspace) { - $totalLimit = $this->getTotalLimit($workspace, $poolFeatureCode); - } - } - - // If still not found, try user tier fallback for user-owned namespaces - if ($totalLimit === null && $namespace->isOwnedByUser()) { - $user = $namespace->getOwnerUser(); - if ($user) { - // Check if user's tier includes this feature - if ($feature->isBoolean()) { - $hasFeature = $user->hasFeature($featureCode); - if ($hasFeature) { - return EntitlementResult::allowed(featureCode: $featureCode); - } - } - } - } - - if ($totalLimit === null) { - return EntitlementResult::denied( - reason: "Your plan does not include {$feature->name}.", - featureCode: $featureCode - ); - } - - // Check for unlimited - if ($totalLimit === -1) { - return EntitlementResult::unlimited($featureCode); - } - - // For boolean features, just check if enabled - if ($feature->isBoolean()) { - return EntitlementResult::allowed(featureCode: $featureCode); - } - - // Get current usage - $currentUsage = $this->getNamespaceCurrentUsage($namespace, $poolFeatureCode, $feature); - - // Check if quantity would exceed limit - if ($currentUsage + $quantity > $totalLimit) { - return EntitlementResult::denied( - reason: "You've reached your {$feature->name} limit ({$totalLimit}).", - limit: $totalLimit, - used: $currentUsage, - featureCode: $featureCode - ); - } - - return EntitlementResult::allowed( - limit: $totalLimit, - used: $currentUsage, - featureCode: $featureCode - ); - } - - /** - * Record usage of a feature for a namespace. - */ - public function recordNamespaceUsage( - Namespace_ $namespace, - string $featureCode, - int $quantity = 1, - ?User $user = null, - ?array $metadata = null - ): UsageRecord { - $feature = $this->getFeature($featureCode); - $poolFeatureCode = $feature?->getPoolFeatureCode() ?? $featureCode; - - $record = UsageRecord::create([ - 'namespace_id' => $namespace->id, - 'workspace_id' => $namespace->workspace_id, - 'feature_code' => $poolFeatureCode, - 'quantity' => $quantity, - 'user_id' => $user?->id, - 'metadata' => $metadata, - 'recorded_at' => now(), - ]); - - // Invalidate cache - $this->invalidateNamespaceCache($namespace); - - return $record; - } - - /** - * Record usage of a feature. - */ - public function recordUsage( - Workspace $workspace, - string $featureCode, - int $quantity = 1, - ?User $user = null, - ?array $metadata = null - ): UsageRecord { - $feature = $this->getFeature($featureCode); - $poolFeatureCode = $feature?->getPoolFeatureCode() ?? $featureCode; - - $record = UsageRecord::create([ - 'workspace_id' => $workspace->id, - 'feature_code' => $poolFeatureCode, - 'quantity' => $quantity, - 'user_id' => $user?->id, - 'metadata' => $metadata, - 'recorded_at' => now(), - ]); - - // Invalidate cache - $this->invalidateCache($workspace); - - return $record; - } - - /** - * Provision a package for a workspace. - */ - public function provisionPackage( - Workspace $workspace, - string $packageCode, - array $options = [] - ): WorkspacePackage { - $package = Package::where('code', $packageCode)->firstOrFail(); - - // Check if this is a base package and workspace already has one - if ($package->is_base_package) { - $existingBase = $workspace->workspacePackages() - ->whereHas('package', fn ($q) => $q->where('is_base_package', true)) - ->active() - ->first(); - - if ($existingBase) { - // Cancel existing base package - $existingBase->cancel(now()); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_CANCELLED, - $existingBase, - source: $options['source'] ?? EntitlementLog::SOURCE_SYSTEM, - metadata: ['reason' => 'Replaced by new base package'] - ); - } - } - - $workspacePackage = WorkspacePackage::create([ - 'workspace_id' => $workspace->id, - 'package_id' => $package->id, - 'status' => WorkspacePackage::STATUS_ACTIVE, - 'starts_at' => $options['starts_at'] ?? now(), - 'expires_at' => $options['expires_at'] ?? null, - 'billing_cycle_anchor' => $options['billing_cycle_anchor'] ?? now(), - 'blesta_service_id' => $options['blesta_service_id'] ?? null, - 'metadata' => $options['metadata'] ?? null, - ]); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_PROVISIONED, - $workspacePackage, - source: $options['source'] ?? EntitlementLog::SOURCE_SYSTEM, - newValues: $workspacePackage->toArray() - ); - - $this->invalidateCache($workspace); - - return $workspacePackage; - } - - /** - * Provision a boost for a workspace. - */ - public function provisionBoost( - Workspace $workspace, - string $featureCode, - array $options = [] - ): Boost { - $boost = Boost::create([ - 'workspace_id' => $workspace->id, - 'feature_code' => $featureCode, - 'boost_type' => $options['boost_type'] ?? Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => $options['duration_type'] ?? Boost::DURATION_CYCLE_BOUND, - 'limit_value' => $options['limit_value'] ?? null, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => $options['starts_at'] ?? now(), - 'expires_at' => $options['expires_at'] ?? null, - 'blesta_addon_id' => $options['blesta_addon_id'] ?? null, - 'metadata' => $options['metadata'] ?? null, - ]); - - EntitlementLog::logBoostAction( - $workspace, - EntitlementLog::ACTION_BOOST_PROVISIONED, - $boost, - source: $options['source'] ?? EntitlementLog::SOURCE_SYSTEM, - newValues: $boost->toArray() - ); - - $this->invalidateCache($workspace); - - return $boost; - } - - /** - * Get usage summary for a workspace. - */ - public function getUsageSummary(Workspace $workspace): Collection - { - $features = Feature::active()->orderBy('category')->orderBy('sort_order')->get(); - $summary = collect(); - - foreach ($features as $feature) { - $result = $this->can($workspace, $feature->code); - - $summary->push([ - 'feature' => $feature, - 'code' => $feature->code, - 'name' => $feature->name, - 'category' => $feature->category, - 'type' => $feature->type, - 'allowed' => $result->isAllowed(), - 'limit' => $result->limit, - 'used' => $result->used, - 'remaining' => $result->remaining, - 'unlimited' => $result->isUnlimited(), - 'percentage' => $result->getUsagePercentage(), - 'near_limit' => $result->isNearLimit(), - ]); - } - - return $summary->groupBy('category'); - } - - /** - * Get all active packages for a workspace. - */ - public function getActivePackages(Workspace $workspace): Collection - { - return $workspace->workspacePackages() - ->with('package.features') - ->active() - ->notExpired() - ->get(); - } - - /** - * Get all active boosts for a workspace. - */ - public function getActiveBoosts(Workspace $workspace): Collection - { - return $workspace->boosts() - ->usable() - ->orderBy('expires_at') - ->get(); - } - - /** - * Suspend a workspace's packages (e.g. for non-payment). - */ - public function suspendWorkspace(Workspace $workspace, ?string $source = null): void - { - $packages = $workspace->workspacePackages()->active()->get(); - - foreach ($packages as $workspacePackage) { - $workspacePackage->suspend(); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_SUSPENDED, - $workspacePackage, - source: $source ?? EntitlementLog::SOURCE_SYSTEM - ); - } - - $this->invalidateCache($workspace); - } - - /** - * Reactivate a workspace's packages. - */ - public function reactivateWorkspace(Workspace $workspace, ?string $source = null): void - { - $packages = $workspace->workspacePackages() - ->where('status', WorkspacePackage::STATUS_SUSPENDED) - ->get(); - - foreach ($packages as $workspacePackage) { - $workspacePackage->reactivate(); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_REACTIVATED, - $workspacePackage, - source: $source ?? EntitlementLog::SOURCE_SYSTEM - ); - } - - $this->invalidateCache($workspace); - } - - /** - * Revoke a package from a workspace (e.g. subscription cancelled). - */ - public function revokePackage(Workspace $workspace, string $packageCode, ?string $source = null): void - { - $workspacePackage = $workspace->workspacePackages() - ->whereHas('package', fn ($q) => $q->where('code', $packageCode)) - ->active() - ->first(); - - if (! $workspacePackage) { - return; - } - - $workspacePackage->update([ - 'status' => WorkspacePackage::STATUS_CANCELLED, - 'expires_at' => now(), - ]); - - EntitlementLog::logPackageAction( - $workspace, - EntitlementLog::ACTION_PACKAGE_CANCELLED, - $workspacePackage, - source: $source ?? EntitlementLog::SOURCE_SYSTEM, - metadata: ['reason' => 'Package revoked'] - ); - - $this->invalidateCache($workspace); - } - - /** - * Get the total limit for a feature across all packages + boosts. - * - * Returns null if feature not included, -1 if unlimited. - */ - protected function getTotalLimit(Workspace $workspace, string $featureCode): ?int - { - $cacheKey = "entitlement:{$workspace->id}:limit:{$featureCode}"; - - return Cache::remember($cacheKey, self::CACHE_TTL, function () use ($workspace, $featureCode) { - $feature = $this->getFeature($featureCode); - - if (! $feature) { - return null; - } - - $totalLimit = 0; - $hasFeature = false; - - // Sum limits from active packages - $packages = $this->getActivePackages($workspace); - - foreach ($packages as $workspacePackage) { - $packageFeature = $workspacePackage->package->features - ->where('code', $featureCode) - ->first(); - - if ($packageFeature) { - $hasFeature = true; - - // Check if unlimited in this package - if ($packageFeature->type === Feature::TYPE_UNLIMITED) { - return -1; - } - - // Add limit value (null = boolean, no limit to add) - $limitValue = $packageFeature->pivot->limit_value; - if ($limitValue !== null) { - $totalLimit += $limitValue; - } - } - } - - // Add limits from active boosts - $boosts = $workspace->boosts() - ->forFeature($featureCode) - ->usable() - ->get(); - - foreach ($boosts as $boost) { - $hasFeature = true; - - if ($boost->boost_type === Boost::BOOST_TYPE_UNLIMITED) { - return -1; - } - - if ($boost->boost_type === Boost::BOOST_TYPE_ADD_LIMIT) { - $remaining = $boost->getRemainingLimit(); - if ($remaining !== null) { - $totalLimit += $remaining; - } - } - } - - return $hasFeature ? $totalLimit : null; - }); - } - - /** - * Get current usage for a feature. - */ - protected function getCurrentUsage(Workspace $workspace, string $featureCode, Feature $feature): int - { - $cacheKey = "entitlement:{$workspace->id}:usage:{$featureCode}"; - - return Cache::remember($cacheKey, 60, function () use ($workspace, $featureCode, $feature) { - // Determine the time window for usage calculation - if ($feature->resetsMonthly()) { - // Get billing cycle anchor from the primary package - $primaryPackage = $workspace->workspacePackages() - ->whereHas('package', fn ($q) => $q->where('is_base_package', true)) - ->active() - ->first(); - - $cycleStart = $primaryPackage - ? $primaryPackage->getCurrentCycleStart() - : now()->startOfMonth(); - - return UsageRecord::getTotalUsage($workspace->id, $featureCode, $cycleStart); - } - - if ($feature->resetsRolling()) { - $days = $feature->rolling_window_days ?? 30; - - return UsageRecord::getRollingUsage($workspace->id, $featureCode, $days); - } - - // No reset - all time usage - return UsageRecord::getTotalUsage($workspace->id, $featureCode); - }); - } - - /** - * Get a feature by code. - */ - protected function getFeature(string $code): ?Feature - { - return Cache::remember("feature:{$code}", self::CACHE_TTL, function () use ($code) { - return Feature::where('code', $code)->first(); - }); - } - - /** - * Invalidate all entitlement caches for a workspace. - */ - public function invalidateCache(Workspace $workspace): void - { - // We can't easily clear pattern-based cache keys with all drivers, - // so we use a version tag approach - Cache::forget("entitlement:{$workspace->id}:version"); - Cache::increment("entitlement:{$workspace->id}:version"); - - // For now, just clear specific known keys - $features = Feature::pluck('code'); - foreach ($features as $code) { - Cache::forget("entitlement:{$workspace->id}:limit:{$code}"); - Cache::forget("entitlement:{$workspace->id}:usage:{$code}"); - } - } - - /** - * Expire cycle-bound boosts at billing cycle end. - */ - public function expireCycleBoundBoosts(Workspace $workspace): void - { - $boosts = $workspace->boosts() - ->where('duration_type', Boost::DURATION_CYCLE_BOUND) - ->where('status', Boost::STATUS_ACTIVE) - ->get(); - - foreach ($boosts as $boost) { - $boost->expire(); - - EntitlementLog::logBoostAction( - $workspace, - EntitlementLog::ACTION_BOOST_EXPIRED, - $boost, - source: EntitlementLog::SOURCE_SYSTEM, - metadata: ['reason' => 'Billing cycle ended'] - ); - } - - $this->invalidateCache($workspace); - } - - // ───────────────────────────────────────────────────────────────────────── - // Namespace-specific methods - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get the total limit for a feature from namespace-level packages + boosts. - * - * Returns null if feature not included, -1 if unlimited. - */ - protected function getNamespaceTotalLimit(Namespace_ $namespace, string $featureCode): ?int - { - $cacheKey = "entitlement:ns:{$namespace->id}:limit:{$featureCode}"; - - return Cache::remember($cacheKey, self::CACHE_TTL, function () use ($namespace, $featureCode) { - $feature = $this->getFeature($featureCode); - - if (! $feature) { - return null; - } - - $totalLimit = 0; - $hasFeature = false; - - // Sum limits from active namespace packages - $packages = $namespace->namespacePackages() - ->with('package.features') - ->active() - ->notExpired() - ->get(); - - foreach ($packages as $namespacePackage) { - $packageFeature = $namespacePackage->package->features - ->where('code', $featureCode) - ->first(); - - if ($packageFeature) { - $hasFeature = true; - - // Check if unlimited in this package - if ($packageFeature->type === Feature::TYPE_UNLIMITED) { - return -1; - } - - // Add limit value (null = boolean, no limit to add) - $limitValue = $packageFeature->pivot->limit_value; - if ($limitValue !== null) { - $totalLimit += $limitValue; - } - } - } - - // Add limits from active namespace-level boosts - $boosts = $namespace->boosts() - ->forFeature($featureCode) - ->usable() - ->get(); - - foreach ($boosts as $boost) { - $hasFeature = true; - - if ($boost->boost_type === Boost::BOOST_TYPE_UNLIMITED) { - return -1; - } - - if ($boost->boost_type === Boost::BOOST_TYPE_ADD_LIMIT) { - $remaining = $boost->getRemainingLimit(); - if ($remaining !== null) { - $totalLimit += $remaining; - } - } - } - - return $hasFeature ? $totalLimit : null; - }); - } - - /** - * Get current usage for a feature at namespace level. - */ - protected function getNamespaceCurrentUsage(Namespace_ $namespace, string $featureCode, Feature $feature): int - { - $cacheKey = "entitlement:ns:{$namespace->id}:usage:{$featureCode}"; - - return Cache::remember($cacheKey, 60, function () use ($namespace, $featureCode, $feature) { - // Determine the time window for usage calculation - if ($feature->resetsMonthly()) { - // Get billing cycle anchor from the primary package - $primaryPackage = $namespace->namespacePackages() - ->whereHas('package', fn ($q) => $q->where('is_base_package', true)) - ->active() - ->first(); - - $cycleStart = $primaryPackage - ? $primaryPackage->getCurrentCycleStart() - : now()->startOfMonth(); - - return UsageRecord::where('namespace_id', $namespace->id) - ->where('feature_code', $featureCode) - ->where('recorded_at', '>=', $cycleStart) - ->sum('quantity'); - } - - if ($feature->resetsRolling()) { - $days = $feature->rolling_window_days ?? 30; - $since = now()->subDays($days); - - return UsageRecord::where('namespace_id', $namespace->id) - ->where('feature_code', $featureCode) - ->where('recorded_at', '>=', $since) - ->sum('quantity'); - } - - // No reset - all time usage - return UsageRecord::where('namespace_id', $namespace->id) - ->where('feature_code', $featureCode) - ->sum('quantity'); - }); - } - - /** - * Get usage summary for a namespace. - */ - public function getNamespaceUsageSummary(Namespace_ $namespace): Collection - { - $features = Feature::active()->orderBy('category')->orderBy('sort_order')->get(); - $summary = collect(); - - foreach ($features as $feature) { - $result = $this->canForNamespace($namespace, $feature->code); - - $summary->push([ - 'feature' => $feature, - 'code' => $feature->code, - 'name' => $feature->name, - 'category' => $feature->category, - 'type' => $feature->type, - 'allowed' => $result->isAllowed(), - 'limit' => $result->limit, - 'used' => $result->used, - 'remaining' => $result->remaining, - 'unlimited' => $result->isUnlimited(), - 'percentage' => $result->getUsagePercentage(), - 'near_limit' => $result->isNearLimit(), - ]); - } - - return $summary->groupBy('category'); - } - - /** - * Provision a package for a namespace. - */ - public function provisionNamespacePackage( - Namespace_ $namespace, - string $packageCode, - array $options = [] - ): NamespacePackage { - $package = Package::where('code', $packageCode)->firstOrFail(); - - // Check if this is a base package and namespace already has one - if ($package->is_base_package) { - $existingBase = $namespace->namespacePackages() - ->whereHas('package', fn ($q) => $q->where('is_base_package', true)) - ->active() - ->first(); - - if ($existingBase) { - // Cancel existing base package - $existingBase->cancel(now()); - } - } - - $namespacePackage = NamespacePackage::create([ - 'namespace_id' => $namespace->id, - 'package_id' => $package->id, - 'status' => NamespacePackage::STATUS_ACTIVE, - 'starts_at' => $options['starts_at'] ?? now(), - 'expires_at' => $options['expires_at'] ?? null, - 'billing_cycle_anchor' => $options['billing_cycle_anchor'] ?? now(), - 'metadata' => $options['metadata'] ?? null, - ]); - - $this->invalidateNamespaceCache($namespace); - - return $namespacePackage; - } - - /** - * Provision a boost for a namespace. - */ - public function provisionNamespaceBoost( - Namespace_ $namespace, - string $featureCode, - array $options = [] - ): Boost { - $boost = Boost::create([ - 'namespace_id' => $namespace->id, - 'workspace_id' => $namespace->workspace_id, - 'feature_code' => $featureCode, - 'boost_type' => $options['boost_type'] ?? Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => $options['duration_type'] ?? Boost::DURATION_CYCLE_BOUND, - 'limit_value' => $options['limit_value'] ?? null, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => $options['starts_at'] ?? now(), - 'expires_at' => $options['expires_at'] ?? null, - 'metadata' => $options['metadata'] ?? null, - ]); - - $this->invalidateNamespaceCache($namespace); - - return $boost; - } - - /** - * Invalidate all entitlement caches for a namespace. - */ - public function invalidateNamespaceCache(Namespace_ $namespace): void - { - $features = Feature::pluck('code'); - foreach ($features as $code) { - Cache::forget("entitlement:ns:{$namespace->id}:limit:{$code}"); - Cache::forget("entitlement:ns:{$namespace->id}:usage:{$code}"); - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/EntitlementWebhookService.php b/packages/core-php/src/Mod/Tenant/Services/EntitlementWebhookService.php deleted file mode 100644 index c9b2818..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/EntitlementWebhookService.php +++ /dev/null @@ -1,361 +0,0 @@ - - */ - public function dispatch(Workspace $workspace, EntitlementWebhookEvent $event, bool $async = true): array - { - $eventName = $event::name(); - $results = []; - - $webhooks = EntitlementWebhook::query() - ->forWorkspace($workspace) - ->active() - ->forEvent($eventName) - ->get(); - - foreach ($webhooks as $webhook) { - if ($async) { - // Dispatch via job for async processing - DispatchEntitlementWebhook::dispatch($webhook->id, $eventName, $event->payload()); - - $results[] = [ - 'webhook_id' => $webhook->id, - 'success' => true, - 'queued' => true, - ]; - } else { - // Synchronous dispatch - try { - $delivery = $webhook->trigger($event); - $results[] = [ - 'webhook_id' => $webhook->id, - 'success' => $delivery->isSucceeded(), - 'delivery_id' => $delivery->id, - ]; - } catch (\Exception $e) { - Log::error('Webhook dispatch failed', [ - 'webhook_id' => $webhook->id, - 'event' => $eventName, - 'error' => $e->getMessage(), - ]); - - $results[] = [ - 'webhook_id' => $webhook->id, - 'success' => false, - 'error' => $e->getMessage(), - ]; - } - } - } - - return $results; - } - - /** - * Register a new webhook for a workspace. - */ - public function register( - Workspace $workspace, - string $name, - string $url, - array $events, - ?string $secret = null, - array $metadata = [] - ): EntitlementWebhook { - // Generate secret if not provided - $secret ??= bin2hex(random_bytes(32)); - - return EntitlementWebhook::create([ - 'workspace_id' => $workspace->id, - 'name' => $name, - 'url' => $url, - 'secret' => $secret, - 'events' => array_intersect($events, EntitlementWebhook::EVENTS), - 'is_active' => true, - 'max_attempts' => 3, - 'metadata' => $metadata, - ]); - } - - /** - * Unregister (delete) a webhook. - */ - public function unregister(EntitlementWebhook $webhook): bool - { - return $webhook->delete(); - } - - /** - * Update webhook configuration. - */ - public function update( - EntitlementWebhook $webhook, - array $attributes - ): EntitlementWebhook { - // Filter events to only allowed values - if (isset($attributes['events'])) { - $attributes['events'] = array_intersect($attributes['events'], EntitlementWebhook::EVENTS); - } - - $webhook->update($attributes); - - return $webhook->refresh(); - } - - /** - * Sign a payload with HMAC-SHA256. - */ - public function sign(array $payload, string $secret): string - { - return hash_hmac('sha256', json_encode($payload), $secret); - } - - /** - * Verify a webhook signature. - */ - public function verifySignature(array $payload, string $signature, string $secret): bool - { - $expected = $this->sign($payload, $secret); - - return hash_equals($expected, $signature); - } - - /** - * Get all available event types with descriptions. - * - * @return array}> - */ - public function getAvailableEvents(): array - { - return [ - 'limit_warning' => [ - 'name' => LimitWarningEvent::nameLocalised(), - 'description' => __('Triggered when usage reaches 80% or 90% of a feature limit'), - 'class' => LimitWarningEvent::class, - ], - 'limit_reached' => [ - 'name' => LimitReachedEvent::nameLocalised(), - 'description' => __('Triggered when usage reaches 100% of a feature limit'), - 'class' => LimitReachedEvent::class, - ], - 'package_changed' => [ - 'name' => PackageChangedEvent::nameLocalised(), - 'description' => __('Triggered when a workspace package is added, changed, or removed'), - 'class' => PackageChangedEvent::class, - ], - 'boost_activated' => [ - 'name' => BoostActivatedEvent::nameLocalised(), - 'description' => __('Triggered when a boost is activated for a workspace'), - 'class' => BoostActivatedEvent::class, - ], - 'boost_expired' => [ - 'name' => BoostExpiredEvent::nameLocalised(), - 'description' => __('Triggered when a boost expires'), - 'class' => BoostExpiredEvent::class, - ], - ]; - } - - /** - * Get event names as a simple array for forms. - * - * @return array - */ - public function getEventOptions(): array - { - $events = $this->getAvailableEvents(); - $options = []; - - foreach ($events as $key => $event) { - $options[$key] = $event['name']; - } - - return $options; - } - - /** - * Test a webhook by sending a test event. - */ - public function testWebhook(EntitlementWebhook $webhook): EntitlementWebhookDelivery - { - $testPayload = [ - 'event' => 'test', - 'data' => [ - 'webhook_id' => $webhook->id, - 'webhook_name' => $webhook->name, - 'message' => 'This is a test webhook delivery from '.$webhook->workspace->name, - 'subscribed_events' => $webhook->events, - ], - 'timestamp' => now()->toIso8601String(), - ]; - - try { - $headers = [ - 'Content-Type' => 'application/json', - 'X-Request-Source' => config('app.name'), - 'User-Agent' => config('app.name').' Entitlement Webhook', - 'X-Test-Webhook' => 'true', - ]; - - if ($webhook->secret) { - $headers['X-Signature'] = $this->sign($testPayload, $webhook->secret); - } - - $response = Http::withHeaders($headers) - ->timeout(10) - ->post($webhook->url, $testPayload); - - $status = in_array($response->status(), [200, 201, 202, 204]) - ? WebhookDeliveryStatus::SUCCESS - : WebhookDeliveryStatus::FAILED; - - return $webhook->deliveries()->create([ - 'uuid' => Str::uuid(), - 'event' => 'test', - 'status' => $status, - 'http_status' => $response->status(), - 'payload' => $testPayload, - 'response' => $response->json() ?: ['body' => $response->body()], - 'created_at' => now(), - ]); - } catch (\Exception $e) { - return $webhook->deliveries()->create([ - 'uuid' => Str::uuid(), - 'event' => 'test', - 'status' => WebhookDeliveryStatus::FAILED, - 'payload' => $testPayload, - 'response' => ['error' => $e->getMessage()], - 'created_at' => now(), - ]); - } - } - - /** - * Retry a failed delivery. - */ - public function retryDelivery(EntitlementWebhookDelivery $delivery): EntitlementWebhookDelivery - { - $webhook = $delivery->webhook; - - if (! $webhook->isActive()) { - throw new \RuntimeException('Cannot retry delivery for inactive webhook'); - } - - $payload = $delivery->payload; - - try { - $headers = [ - 'Content-Type' => 'application/json', - 'X-Request-Source' => config('app.name'), - 'User-Agent' => config('app.name').' Entitlement Webhook', - 'X-Retry-Attempt' => (string) ($delivery->attempts + 1), - ]; - - if ($webhook->secret) { - $headers['X-Signature'] = $this->sign($payload, $webhook->secret); - } - - $response = Http::withHeaders($headers) - ->timeout(10) - ->post($webhook->url, $payload); - - $status = in_array($response->status(), [200, 201, 202, 204]) - ? WebhookDeliveryStatus::SUCCESS - : WebhookDeliveryStatus::FAILED; - - $delivery->update([ - 'attempts' => $delivery->attempts + 1, - 'status' => $status, - 'http_status' => $response->status(), - 'response' => $response->json() ?: ['body' => $response->body()], - 'resent_manually' => true, - ]); - - if ($status === WebhookDeliveryStatus::SUCCESS) { - $webhook->resetFailureCount(); - } else { - $webhook->incrementFailureCount(); - } - - $webhook->updateLastDeliveryStatus($status); - - return $delivery; - } catch (\Exception $e) { - $delivery->update([ - 'attempts' => $delivery->attempts + 1, - 'status' => WebhookDeliveryStatus::FAILED, - 'response' => ['error' => $e->getMessage()], - 'resent_manually' => true, - ]); - - $webhook->incrementFailureCount(); - $webhook->updateLastDeliveryStatus(WebhookDeliveryStatus::FAILED); - - return $delivery; - } - } - - /** - * Re-enable a circuit-broken webhook after fixing the issue. - */ - public function resetCircuitBreaker(EntitlementWebhook $webhook): void - { - $webhook->update([ - 'is_active' => true, - 'failure_count' => 0, - ]); - } - - /** - * Get webhooks for a workspace. - */ - public function getWebhooksForWorkspace(Workspace $workspace): \Illuminate\Database\Eloquent\Collection - { - return EntitlementWebhook::query() - ->forWorkspace($workspace) - ->with(['deliveries' => fn ($q) => $q->latest('created_at')->limit(5)]) - ->latest() - ->get(); - } - - /** - * Get delivery history for a webhook. - */ - public function getDeliveryHistory(EntitlementWebhook $webhook, int $limit = 50): \Illuminate\Database\Eloquent\Collection - { - return $webhook->deliveries() - ->latest('created_at') - ->limit($limit) - ->get(); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/NamespaceManager.php b/packages/core-php/src/Mod/Tenant/Services/NamespaceManager.php deleted file mode 100644 index 531539c..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/NamespaceManager.php +++ /dev/null @@ -1,278 +0,0 @@ -fill([ - 'name' => $data['name'], - 'slug' => $data['slug'] ?? Str::slug($data['name']), - 'description' => $data['description'] ?? null, - 'icon' => $data['icon'] ?? 'folder', - 'color' => $data['color'] ?? 'zinc', - 'owner_type' => User::class, - 'owner_id' => $user->id, - 'workspace_id' => $data['workspace_id'] ?? null, - 'settings' => $data['settings'] ?? null, - 'is_default' => $data['is_default'] ?? false, - 'is_active' => $data['is_active'] ?? true, - 'sort_order' => $data['sort_order'] ?? 0, - ]); - - // If this is marked as default, unset other defaults - if ($namespace->is_default) { - Namespace_::ownedByUser($user) - ->where('is_default', true) - ->update(['is_default' => false]); - } - - $namespace->save(); - - // Invalidate cache - $this->namespaceService->invalidateUserCache($user); - - return $namespace; - } - - /** - * Create a namespace for a workspace. - */ - public function createForWorkspace(Workspace $workspace, array $data): Namespace_ - { - $namespace = new Namespace_(); - $namespace->fill([ - 'name' => $data['name'], - 'slug' => $data['slug'] ?? Str::slug($data['name']), - 'description' => $data['description'] ?? null, - 'icon' => $data['icon'] ?? 'folder', - 'color' => $data['color'] ?? 'zinc', - 'owner_type' => Workspace::class, - 'owner_id' => $workspace->id, - 'workspace_id' => $workspace->id, // Billing context is the owner workspace - 'settings' => $data['settings'] ?? null, - 'is_default' => $data['is_default'] ?? false, - 'is_active' => $data['is_active'] ?? true, - 'sort_order' => $data['sort_order'] ?? 0, - ]); - - // If this is marked as default, unset other defaults - if ($namespace->is_default) { - Namespace_::ownedByWorkspace($workspace) - ->where('is_default', true) - ->update(['is_default' => false]); - } - - $namespace->save(); - - // Invalidate cache for all workspace members - foreach ($workspace->users as $member) { - $this->namespaceService->invalidateUserCache($member); - } - - return $namespace; - } - - /** - * Create the default namespace for a user. - * - * This is typically called when a user first signs up. - */ - public function createDefaultForUser(User $user): Namespace_ - { - return $this->createForUser($user, [ - 'name' => 'Personal', - 'slug' => 'personal', - 'description' => 'Your personal workspace', - 'icon' => 'user', - 'color' => 'blue', - 'is_default' => true, - ]); - } - - /** - * Create the default namespace for a workspace. - * - * This is typically called when a workspace is created. - */ - public function createDefaultForWorkspace(Workspace $workspace): Namespace_ - { - return $this->createForWorkspace($workspace, [ - 'name' => $workspace->name, - 'slug' => 'default', - 'description' => "Default namespace for {$workspace->name}", - 'icon' => $workspace->icon ?? 'building', - 'color' => $workspace->color ?? 'zinc', - 'is_default' => true, - ]); - } - - /** - * Update a namespace. - */ - public function update(Namespace_ $namespace, array $data): Namespace_ - { - $wasDefault = $namespace->is_default; - - $namespace->fill(array_filter([ - 'name' => $data['name'] ?? null, - 'slug' => $data['slug'] ?? null, - 'description' => $data['description'] ?? null, - 'icon' => $data['icon'] ?? null, - 'color' => $data['color'] ?? null, - 'workspace_id' => array_key_exists('workspace_id', $data) ? $data['workspace_id'] : $namespace->workspace_id, - 'settings' => $data['settings'] ?? null, - 'is_default' => $data['is_default'] ?? null, - 'is_active' => $data['is_active'] ?? null, - 'sort_order' => $data['sort_order'] ?? null, - ], fn ($v) => $v !== null)); - - // If becoming default, unset other defaults for same owner - if (! $wasDefault && $namespace->is_default) { - Namespace_::where('owner_type', $namespace->owner_type) - ->where('owner_id', $namespace->owner_id) - ->where('id', '!=', $namespace->id) - ->where('is_default', true) - ->update(['is_default' => false]); - } - - $namespace->save(); - - // Invalidate cache - $this->namespaceService->invalidateCache($namespace->uuid); - $this->invalidateCacheForOwner($namespace); - - return $namespace; - } - - /** - * Delete (soft delete) a namespace. - */ - public function delete(Namespace_ $namespace): bool - { - // Invalidate cache first - $this->namespaceService->invalidateCache($namespace->uuid); - $this->invalidateCacheForOwner($namespace); - - // If this was the default, make another one default - if ($namespace->is_default) { - $newDefault = Namespace_::where('owner_type', $namespace->owner_type) - ->where('owner_id', $namespace->owner_id) - ->where('id', '!=', $namespace->id) - ->active() - ->ordered() - ->first(); - - if ($newDefault) { - $newDefault->update(['is_default' => true]); - } - } - - return $namespace->delete(); - } - - /** - * Restore a soft-deleted namespace. - */ - public function restore(Namespace_ $namespace): bool - { - $result = $namespace->restore(); - - // Invalidate cache - $this->namespaceService->invalidateCache($namespace->uuid); - $this->invalidateCacheForOwner($namespace); - - return $result; - } - - /** - * Set a namespace as the default for its owner. - */ - public function setAsDefault(Namespace_ $namespace): Namespace_ - { - // Unset other defaults - Namespace_::where('owner_type', $namespace->owner_type) - ->where('owner_id', $namespace->owner_id) - ->where('id', '!=', $namespace->id) - ->where('is_default', true) - ->update(['is_default' => false]); - - // Set this as default - $namespace->update(['is_default' => true]); - - // Invalidate cache - $this->invalidateCacheForOwner($namespace); - - return $namespace; - } - - /** - * Transfer a namespace to a new owner. - */ - public function transfer(Namespace_ $namespace, User|Workspace $newOwner): Namespace_ - { - $oldOwnerType = $namespace->owner_type; - $oldOwnerId = $namespace->owner_id; - - // Update ownership - $namespace->update([ - 'owner_type' => $newOwner::class, - 'owner_id' => $newOwner->id, - 'is_default' => false, // Can't be default in new context automatically - ]); - - // Invalidate cache - $this->namespaceService->invalidateCache($namespace->uuid); - - // Invalidate for old owner - if ($oldOwnerType === User::class) { - $this->namespaceService->invalidateUserCache(User::find($oldOwnerId)); - } else { - $workspace = Workspace::find($oldOwnerId); - foreach ($workspace->users as $member) { - $this->namespaceService->invalidateUserCache($member); - } - } - - // Invalidate for new owner - $this->invalidateCacheForOwner($namespace); - - return $namespace; - } - - /** - * Invalidate cache for the owner of a namespace. - */ - protected function invalidateCacheForOwner(Namespace_ $namespace): void - { - if ($namespace->isOwnedByUser()) { - $this->namespaceService->invalidateUserCache($namespace->owner); - } else { - foreach ($namespace->owner->users as $member) { - $this->namespaceService->invalidateUserCache($member); - } - } - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/NamespaceService.php b/packages/core-php/src/Mod/Tenant/Services/NamespaceService.php deleted file mode 100644 index 91418d2..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/NamespaceService.php +++ /dev/null @@ -1,288 +0,0 @@ -attributes->has('current_namespace')) { - return request()->attributes->get('current_namespace'); - } - - // Try from session - $uuid = session('current_namespace_uuid'); - if ($uuid) { - $namespace = $this->findByUuid($uuid); - if ($namespace && $this->canAccess($namespace)) { - return $namespace; - } - } - - // Fall back to user's default - return $this->defaultForCurrentUser(); - } - - /** - * Get the current namespace UUID from session. - */ - public function currentUuid(): ?string - { - return session('current_namespace_uuid'); - } - - /** - * Set the current namespace in session. - */ - public function setCurrent(Namespace_|string $namespace): void - { - $uuid = $namespace instanceof Namespace_ ? $namespace->uuid : $namespace; - - session(['current_namespace_uuid' => $uuid]); - } - - /** - * Clear the current namespace from session. - */ - public function clearCurrent(): void - { - session()->forget('current_namespace_uuid'); - } - - /** - * Find a namespace by UUID. - */ - public function findByUuid(string $uuid): ?Namespace_ - { - return Cache::remember( - "namespace:uuid:{$uuid}", - self::CACHE_TTL, - fn () => Namespace_::where('uuid', $uuid)->first() - ); - } - - /** - * Find a namespace by slug within an owner context. - */ - public function findBySlug(string $slug, User|Workspace $owner): ?Namespace_ - { - return Namespace_::where('owner_type', $owner::class) - ->where('owner_id', $owner->id) - ->where('slug', $slug) - ->first(); - } - - /** - * Get the default namespace for the current authenticated user. - */ - public function defaultForCurrentUser(): ?Namespace_ - { - $user = auth()->user(); - - if (! $user instanceof User) { - return null; - } - - return $this->defaultForUser($user); - } - - /** - * Get the default namespace for a user. - * - * Priority: - * 1. User's default namespace (is_default = true) - * 2. First active user-owned namespace - * 3. First namespace from user's default workspace - */ - public function defaultForUser(User $user): ?Namespace_ - { - // Try user's explicit default - $default = Namespace_::ownedByUser($user) - ->where('is_default', true) - ->active() - ->first(); - - if ($default) { - return $default; - } - - // Try first user-owned namespace - $userOwned = Namespace_::ownedByUser($user) - ->active() - ->ordered() - ->first(); - - if ($userOwned) { - return $userOwned; - } - - // Try namespace from user's default workspace - $workspace = $user->defaultHostWorkspace(); - if ($workspace) { - return Namespace_::ownedByWorkspace($workspace) - ->active() - ->ordered() - ->first(); - } - - return null; - } - - /** - * Get all namespaces accessible by the current user. - */ - public function accessibleByCurrentUser(): Collection - { - $user = auth()->user(); - - if (! $user instanceof User) { - return collect(); - } - - return $this->accessibleByUser($user); - } - - /** - * Get all namespaces accessible by a user. - */ - public function accessibleByUser(User $user): Collection - { - return Cache::remember( - "user:{$user->id}:accessible_namespaces", - self::CACHE_TTL, - fn () => Namespace_::accessibleBy($user) - ->active() - ->ordered() - ->get() - ); - } - - /** - * Get all namespaces owned by a user. - */ - public function ownedByUser(User $user): Collection - { - return Namespace_::ownedByUser($user) - ->active() - ->ordered() - ->get(); - } - - /** - * Get all namespaces owned by a workspace. - */ - public function ownedByWorkspace(Workspace $workspace): Collection - { - return Namespace_::ownedByWorkspace($workspace) - ->active() - ->ordered() - ->get(); - } - - /** - * Check if the current user can access a namespace. - */ - public function canAccess(Namespace_ $namespace): bool - { - $user = auth()->user(); - - if (! $user instanceof User) { - return false; - } - - return $namespace->isAccessibleBy($user); - } - - /** - * Group namespaces by owner type for UI display. - * - * Returns: - * [ - * 'personal' => Collection of user-owned namespaces, - * 'workspaces' => [ - * ['workspace' => Workspace, 'namespaces' => Collection], - * ... - * ] - * ] - */ - public function groupedForCurrentUser(): array - { - $user = auth()->user(); - - if (! $user instanceof User) { - return ['personal' => collect(), 'workspaces' => []]; - } - - return $this->groupedForUser($user); - } - - /** - * Group namespaces by owner type for a user. - */ - public function groupedForUser(User $user): array - { - $personal = Namespace_::ownedByUser($user) - ->active() - ->ordered() - ->get(); - - $workspaces = []; - foreach ($user->workspaces()->active()->get() as $workspace) { - $namespaces = Namespace_::ownedByWorkspace($workspace) - ->active() - ->ordered() - ->get(); - - if ($namespaces->isNotEmpty()) { - $workspaces[] = [ - 'workspace' => $workspace, - 'namespaces' => $namespaces, - ]; - } - } - - return [ - 'personal' => $personal, - 'workspaces' => $workspaces, - ]; - } - - /** - * Invalidate namespace cache for a user. - */ - public function invalidateUserCache(User $user): void - { - Cache::forget("user:{$user->id}:accessible_namespaces"); - } - - /** - * Invalidate namespace cache by UUID. - */ - public function invalidateCache(string $uuid): void - { - Cache::forget("namespace:uuid:{$uuid}"); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/TotpService.php b/packages/core-php/src/Mod/Tenant/Services/TotpService.php deleted file mode 100644 index 54de492..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/TotpService.php +++ /dev/null @@ -1,194 +0,0 @@ -base32Encode($secret); - } - - /** - * Generate QR code URL for authenticator app setup. - * - * @param string $name Application/account name - * @param string $email User email - * @param string $secret TOTP secret key - */ - public function qrCodeUrl(string $name, string $email, string $secret): string - { - $encodedName = rawurlencode($name); - $encodedEmail = rawurlencode($email); - - return "otpauth://totp/{$encodedName}:{$encodedEmail}?secret={$secret}&issuer={$encodedName}&algorithm=SHA1&digits=6&period=30"; - } - - /** - * Generate a QR code SVG for the given URL. - */ - public function qrCodeSvg(string $url): string - { - $options = new QROptions([ - 'outputType' => QRCode::OUTPUT_MARKUP_SVG, - 'eccLevel' => QRCode::ECC_M, - 'imageBase64' => false, - 'addQuietzone' => true, - 'quietzoneSize' => 2, - 'drawLightModules' => false, - 'svgViewBoxSize' => 200, - ]); - - return (new QRCode($options))->render($url); - } - - /** - * Verify a TOTP code against the secret. - * - * @param string $secret TOTP secret key (base32 encoded) - * @param string $code User-provided 6-digit code - */ - public function verify(string $secret, string $code): bool - { - // Remove any spaces or dashes from the code - $code = preg_replace('/[^0-9]/', '', $code); - - if (strlen($code) !== self::CODE_LENGTH) { - return false; - } - - $secretBytes = $this->base32Decode($secret); - $timestamp = time(); - - // Check current time and adjacent windows for clock drift - for ($i = -self::WINDOW; $i <= self::WINDOW; $i++) { - $calculatedCode = $this->generateCode($secretBytes, $timestamp + ($i * self::TIME_STEP)); - - if (hash_equals($calculatedCode, $code)) { - return true; - } - } - - return false; - } - - /** - * Generate a TOTP code for a given timestamp. - */ - protected function generateCode(string $secretBytes, int $timestamp): string - { - $counter = (int) floor($timestamp / self::TIME_STEP); - - // Pack counter as 64-bit big-endian - $counterBytes = pack('N*', 0, $counter); - - // Generate HMAC - $hash = hash_hmac(self::ALGORITHM, $counterBytes, $secretBytes, true); - - // Dynamic truncation - $offset = ord($hash[strlen($hash) - 1]) & 0x0F; - $binary = - ((ord($hash[$offset]) & 0x7F) << 24) | - ((ord($hash[$offset + 1]) & 0xFF) << 16) | - ((ord($hash[$offset + 2]) & 0xFF) << 8) | - (ord($hash[$offset + 3]) & 0xFF); - - $otp = $binary % (10 ** self::CODE_LENGTH); - - return str_pad((string) $otp, self::CODE_LENGTH, '0', STR_PAD_LEFT); - } - - /** - * Encode bytes as base32. - */ - protected function base32Encode(string $data): string - { - $alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; - $binary = ''; - - foreach (str_split($data) as $char) { - $binary .= str_pad(decbin(ord($char)), 8, '0', STR_PAD_LEFT); - } - - $encoded = ''; - $chunks = str_split($binary, 5); - - foreach ($chunks as $chunk) { - if (strlen($chunk) < 5) { - $chunk = str_pad($chunk, 5, '0', STR_PAD_RIGHT); - } - $encoded .= $alphabet[bindec($chunk)]; - } - - return $encoded; - } - - /** - * Decode base32 to bytes. - */ - protected function base32Decode(string $data): string - { - $alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; - $data = strtoupper($data); - $data = rtrim($data, '='); - - $binary = ''; - foreach (str_split($data) as $char) { - $index = strpos($alphabet, $char); - if ($index === false) { - continue; - } - $binary .= str_pad(decbin($index), 5, '0', STR_PAD_LEFT); - } - - $decoded = ''; - $chunks = str_split($binary, 8); - - foreach ($chunks as $chunk) { - if (strlen($chunk) === 8) { - $decoded .= chr(bindec($chunk)); - } - } - - return $decoded; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/UsageAlertService.php b/packages/core-php/src/Mod/Tenant/Services/UsageAlertService.php deleted file mode 100644 index af0dd68..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/UsageAlertService.php +++ /dev/null @@ -1,356 +0,0 @@ - 0, - 'alerts_sent' => 0, - 'alerts_resolved' => 0, - ]; - - // Get all active workspaces with packages - $workspaces = Workspace::query() - ->active() - ->whereHas('workspacePackages', fn ($q) => $q->active()) - ->get(); - - foreach ($workspaces as $workspace) { - $result = $this->checkWorkspace($workspace); - $stats['checked']++; - $stats['alerts_sent'] += $result['alerts_sent']; - $stats['alerts_resolved'] += $result['alerts_resolved']; - } - - return $stats; - } - - /** - * Check a single workspace for usage alerts. - * - * @return array{alerts_sent: int, alerts_resolved: int, details: array} - */ - public function checkWorkspace(Workspace $workspace): array - { - $alertsSent = 0; - $alertsResolved = 0; - $details = []; - - // Get all features with limits (not boolean, not unlimited) - $features = Feature::active() - ->where('type', Feature::TYPE_LIMIT) - ->get(); - - foreach ($features as $feature) { - $result = $this->checkFeatureUsage($workspace, $feature); - - if ($result['alert_sent']) { - $alertsSent++; - } - - if ($result['resolved']) { - $alertsResolved++; - } - - if ($result['alert_sent'] || $result['resolved']) { - $details[] = $result; - } - } - - return [ - 'alerts_sent' => $alertsSent, - 'alerts_resolved' => $alertsResolved, - 'details' => $details, - ]; - } - - /** - * Check usage for a specific feature and send alert if needed. - * - * @return array{feature: string, percentage: float|null, threshold: int|null, alert_sent: bool, resolved: bool} - */ - public function checkFeatureUsage(Workspace $workspace, Feature $feature): array - { - $result = [ - 'feature' => $feature->code, - 'percentage' => null, - 'threshold' => null, - 'alert_sent' => false, - 'resolved' => false, - ]; - - // Get entitlement check result - $entitlement = $this->entitlementService->can($workspace, $feature->code); - - // Skip if unlimited or no limit - if ($entitlement->isUnlimited() || $entitlement->limit === null || $entitlement->limit === 0) { - // Check if there are any unresolved alerts to clear - $resolved = UsageAlertHistory::resolveAllForFeature($workspace->id, $feature->code); - $result['resolved'] = $resolved > 0; - - return $result; - } - - $percentage = $entitlement->getUsagePercentage(); - $result['percentage'] = $percentage; - - // Determine the applicable threshold - $applicableThreshold = $this->getApplicableThreshold($percentage); - - // If usage dropped below all thresholds, resolve any active alerts - if ($applicableThreshold === null) { - $resolved = UsageAlertHistory::resolveAllForFeature($workspace->id, $feature->code); - $result['resolved'] = $resolved > 0; - - return $result; - } - - $result['threshold'] = $applicableThreshold; - - // Check if we've already sent an alert for this threshold - if (UsageAlertHistory::hasActiveAlert($workspace->id, $feature->code, $applicableThreshold)) { - return $result; - } - - // Send the alert - $this->sendAlert($workspace, $feature, $applicableThreshold, $entitlement->used, $entitlement->limit); - $result['alert_sent'] = true; - - return $result; - } - - /** - * Determine which threshold applies based on usage percentage. - */ - protected function getApplicableThreshold(?float $percentage): ?int - { - if ($percentage === null) { - return null; - } - - // Return the highest applicable threshold - if ($percentage >= UsageAlertHistory::THRESHOLD_LIMIT) { - return UsageAlertHistory::THRESHOLD_LIMIT; - } - - if ($percentage >= UsageAlertHistory::THRESHOLD_CRITICAL) { - return UsageAlertHistory::THRESHOLD_CRITICAL; - } - - if ($percentage >= UsageAlertHistory::THRESHOLD_WARNING) { - return UsageAlertHistory::THRESHOLD_WARNING; - } - - return null; - } - - /** - * Send a usage alert notification. - */ - protected function sendAlert( - Workspace $workspace, - Feature $feature, - int $threshold, - int $used, - int $limit - ): void { - // Get workspace owner to notify - $owner = $workspace->owner(); - - if (! $owner) { - Log::warning('Cannot send usage alert: workspace has no owner', [ - 'workspace_id' => $workspace->id, - 'feature_code' => $feature->code, - 'threshold' => $threshold, - ]); - - return; - } - - // Record the alert - UsageAlertHistory::record( - workspaceId: $workspace->id, - featureCode: $feature->code, - threshold: $threshold, - metadata: [ - 'used' => $used, - 'limit' => $limit, - 'percentage' => round(($used / $limit) * 100), - 'notified_user_id' => $owner->id, - ] - ); - - // Send notification - $owner->notify(new UsageAlertNotification( - workspace: $workspace, - feature: $feature, - threshold: $threshold, - used: $used, - limit: $limit - )); - - Log::info('Usage alert sent', [ - 'workspace_id' => $workspace->id, - 'workspace_name' => $workspace->name, - 'feature_code' => $feature->code, - 'threshold' => $threshold, - 'used' => $used, - 'limit' => $limit, - 'user_id' => $owner->id, - 'user_email' => $owner->email, - ]); - - // Dispatch webhook event - $this->dispatchWebhook($workspace, $feature, $threshold, $used, $limit); - } - - /** - * Dispatch webhook event for usage alert. - */ - protected function dispatchWebhook( - Workspace $workspace, - Feature $feature, - int $threshold, - int $used, - int $limit - ): void { - // Lazy load webhook service if not injected - $webhookService = $this->webhookService ?? app(EntitlementWebhookService::class); - - // Create appropriate event based on threshold - if ($threshold === UsageAlertHistory::THRESHOLD_LIMIT) { - $event = new LimitReachedEvent($workspace, $feature, $used, $limit); - } else { - $event = new LimitWarningEvent($workspace, $feature, $used, $limit, $threshold); - } - - // Dispatch to all matching webhooks (async) - try { - $webhookService->dispatch($workspace, $event); - } catch (\Exception $e) { - Log::error('Failed to dispatch usage alert webhook', [ - 'workspace_id' => $workspace->id, - 'feature_code' => $feature->code, - 'threshold' => $threshold, - 'error' => $e->getMessage(), - ]); - } - } - - /** - * Get current alert status for a workspace. - * - * Returns all features that have active alerts. - */ - public function getActiveAlertsForWorkspace(Workspace $workspace): Collection - { - return UsageAlertHistory::query() - ->forWorkspace($workspace->id) - ->unresolved() - ->with('workspace') - ->orderBy('threshold', 'desc') - ->orderBy('notified_at', 'desc') - ->get(); - } - - /** - * Get usage status for all features in a workspace. - * - * Returns features approaching limits with their alert status. - */ - public function getUsageStatus(Workspace $workspace): Collection - { - $features = Feature::active() - ->where('type', Feature::TYPE_LIMIT) - ->get(); - - return $features->map(function (Feature $feature) use ($workspace) { - $entitlement = $this->entitlementService->can($workspace, $feature->code); - $percentage = $entitlement->getUsagePercentage(); - $activeAlert = UsageAlertHistory::getActiveAlert($workspace->id, $feature->code); - - return [ - 'feature' => $feature, - 'code' => $feature->code, - 'name' => $feature->name, - 'used' => $entitlement->used, - 'limit' => $entitlement->limit, - 'percentage' => $percentage, - 'unlimited' => $entitlement->isUnlimited(), - 'near_limit' => $entitlement->isNearLimit(), - 'at_limit' => $entitlement->isAtLimit(), - 'active_alert' => $activeAlert, - 'alert_threshold' => $activeAlert?->threshold, - ]; - })->filter(fn ($item) => $item['limit'] !== null && ! $item['unlimited']); - } - - /** - * Manually resolve an alert (e.g., after user upgrades). - */ - public function resolveAlert(int $alertId): bool - { - $alert = UsageAlertHistory::find($alertId); - - if (! $alert || $alert->isResolved()) { - return false; - } - - $alert->resolve(); - - Log::info('Usage alert manually resolved', [ - 'alert_id' => $alertId, - 'workspace_id' => $alert->workspace_id, - 'feature_code' => $alert->feature_code, - ]); - - return true; - } - - /** - * Get alert history for a workspace. - */ - public function getAlertHistory(Workspace $workspace, int $days = 30): Collection - { - return UsageAlertHistory::query() - ->forWorkspace($workspace->id) - ->where('notified_at', '>=', now()->subDays($days)) - ->orderBy('notified_at', 'desc') - ->get(); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/UserStatsService.php b/packages/core-php/src/Mod/Tenant/Services/UserStatsService.php deleted file mode 100644 index 103caea..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/UserStatsService.php +++ /dev/null @@ -1,284 +0,0 @@ -getTier(); - - $stats = [ - 'quotas' => $this->computeQuotas($user, $tier), - 'services' => $this->computeServiceStats($user), - 'activity' => $this->getRecentActivity($user), - ]; - - // Save to user record - $user->cached_stats = $stats; - $user->stats_computed_at = now(); - $user->save(); - - return $stats; - } - - /** - * Get cached stats or compute fresh if stale (> 5 minutes). - */ - public function getStats(User $user): array - { - // Return cached if fresh (computed within last 5 minutes) - if ($user->stats_computed_at && $user->stats_computed_at->gt(now()->subMinutes(5))) { - return $user->cached_stats ?? $this->getDefaultStats($user); - } - - // For page loads, return cached data immediately and queue refresh - if ($user->cached_stats) { - // Queue background refresh - dispatch(new \Core\Mod\Tenant\Jobs\ComputeUserStats($user->id))->onQueue('stats'); - - return $user->cached_stats; - } - - // No cached data - compute synchronously (first time only) - return $this->computeStats($user); - } - - /** - * Get default stats structure for a user tier. - */ - public function getDefaultStats(User $user): array - { - $tier = $user->getTier(); - - return [ - 'quotas' => $this->getTierLimits($tier), - 'services' => $this->getDefaultServiceStats(), - 'activity' => [], - ]; - } - - /** - * Compute actual quota usage for user. - */ - protected function computeQuotas(User $user, UserTier $tier): array - { - $limits = $this->getTierLimits($tier); - - // Compute actual usage - // Host Hub workspaces the user has access to (via pivot table) - $workspaceCount = $user->hostWorkspaces()->count(); - $limits['workspaces']['used'] = $workspaceCount; - - // Social accounts across all workspaces - // TODO: Implement when social accounts are linked - // $socialAccountCount = ... - - // Scheduled posts - // TODO: Implement when scheduled posts are linked - // $scheduledPostCount = ... - - // Storage usage - // TODO: Implement when media storage tracking is added - // $storageUsed = ... - - return $limits; - } - - /** - * Get tier limits configuration. - */ - protected function getTierLimits(UserTier $tier): array - { - return match ($tier) { - UserTier::HADES => [ - 'workspaces' => ['used' => 0, 'limit' => null, 'label' => 'Workspaces'], - 'social_accounts' => ['used' => 0, 'limit' => null, 'label' => 'Social Accounts'], - 'scheduled_posts' => ['used' => 0, 'limit' => null, 'label' => 'Scheduled Posts'], - 'storage' => ['used' => 0, 'limit' => null, 'label' => 'Storage (GB)'], - ], - UserTier::APOLLO => [ - 'workspaces' => ['used' => 0, 'limit' => 5, 'label' => 'Workspaces'], - 'social_accounts' => ['used' => 0, 'limit' => 25, 'label' => 'Social Accounts'], - 'scheduled_posts' => ['used' => 0, 'limit' => 500, 'label' => 'Scheduled Posts'], - 'storage' => ['used' => 0, 'limit' => 10, 'label' => 'Storage (GB)'], - ], - default => [ - 'workspaces' => ['used' => 0, 'limit' => 1, 'label' => 'Workspaces'], - 'social_accounts' => ['used' => 0, 'limit' => 5, 'label' => 'Social Accounts'], - 'scheduled_posts' => ['used' => 0, 'limit' => 50, 'label' => 'Scheduled Posts'], - 'storage' => ['used' => 0, 'limit' => 1, 'label' => 'Storage (GB)'], - ], - }; - } - - /** - * Compute service stats for user. - */ - protected function computeServiceStats(User $user): array - { - $services = [ - [ - 'name' => 'SocialHost', - 'icon' => 'fa-share-nodes', - 'color' => 'bg-blue-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'BioHost', - 'icon' => 'fa-id-card', - 'color' => 'bg-violet-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'AnalyticsHost', - 'icon' => 'fa-chart-line', - 'color' => 'bg-green-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'TrustHost', - 'icon' => 'fa-shield-check', - 'color' => 'bg-amber-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - ]; - - // Check for active Host Hub workspaces (via pivot table) - $workspaceCount = $user->hostWorkspaces()->count(); - - if ($workspaceCount > 0) { - // SocialHost - check for social accounts - // TODO: Check social accounts when integration is complete - $services[0]['status'] = 'active'; - $services[0]['stat'] = $workspaceCount.' workspace(s)'; - - // BioHost - check for bio pages - // TODO: Check for bio pages when implemented - } - - return $services; - } - - /** - * Get default service stats. - */ - protected function getDefaultServiceStats(): array - { - return [ - [ - 'name' => 'SocialHost', - 'icon' => 'fa-share-nodes', - 'color' => 'bg-blue-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'BioHost', - 'icon' => 'fa-id-card', - 'color' => 'bg-violet-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'AnalyticsHost', - 'icon' => 'fa-chart-line', - 'color' => 'bg-green-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - [ - 'name' => 'TrustHost', - 'icon' => 'fa-shield-check', - 'color' => 'bg-amber-500', - 'status' => 'inactive', - 'stat' => 'Not configured', - ], - ]; - } - - /** - * Get recent activity for user. - */ - protected function getRecentActivity(User $user): array - { - // TODO: Implement actual activity logging - // For now return empty - activities will be added when actions are performed - return []; - } - - /** - * Get cached timezone list. - */ - public static function getTimezoneList(): array - { - return Cache::remember('timezone_list', 86400, function () { - $groups = []; - $timezones = \DateTimeZone::listIdentifiers(\DateTimeZone::ALL); - - foreach ($timezones as $tz) { - $parts = explode('/', $tz, 2); - $group = $parts[0] ?? 'Other'; - $label = $parts[1] ?? $tz; - - if (! isset($groups[$group])) { - $groups[$group] = []; - } - - $groups[$group][$tz] = str_replace('_', ' ', $label); - } - - ksort($groups); - foreach ($groups as &$items) { - asort($items); - } - - return $groups; - }); - } - - /** - * Get cached locale list. - */ - public static function getLocaleList(): array - { - return Cache::remember('locale_list', 86400, function () { - $locales = [ - 'en-GB' => 'English (UK)', - 'en-US' => 'English (US)', - 'es' => 'Español', - 'fr' => 'Français', - 'de' => 'Deutsch', - 'it' => 'Italiano', - 'pt' => 'Português', - 'nl' => 'Nederlands', - 'pl' => 'Polski', - 'ru' => 'Русский', - 'ja' => '日本語', - 'zh' => '中文', - 'ko' => '한국어', - 'ar' => 'العربية', - ]; - - $result = []; - foreach ($locales as $code => $name) { - $result[] = ['long' => $code, 'name' => $name]; - } - - return $result; - }); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/WorkspaceCacheManager.php b/packages/core-php/src/Mod/Tenant/Services/WorkspaceCacheManager.php deleted file mode 100644 index ef046f8..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/WorkspaceCacheManager.php +++ /dev/null @@ -1,458 +0,0 @@ -remember($workspace, 'key', 300, fn() => expensive_query()); - * - * // Clear all cache for a workspace - * $manager->flush($workspace); - * - * // Get cache statistics (useful for debugging) - * $stats = $manager->stats($workspace); - */ -class WorkspaceCacheManager -{ - /** - * Track all cache keys used (for non-tagged stores). - * This allows us to clear cache for a workspace even without tags. - */ - protected static array $keyRegistry = []; - - /** - * Configuration cache. - */ - protected ?array $config = null; - - /** - * Get the configuration for workspace caching. - */ - public function config(?string $key = null, mixed $default = null): mixed - { - if ($this->config === null) { - $this->config = config('core.workspace_cache', [ - 'enabled' => true, - 'ttl' => 300, - 'prefix' => 'workspace_cache', - 'use_tags' => true, - ]); - } - - if ($key === null) { - return $this->config; - } - - return $this->config[$key] ?? $default; - } - - /** - * Check if workspace caching is enabled. - */ - public function isEnabled(): bool - { - return (bool) $this->config('enabled', true); - } - - /** - * Get the cache prefix. - */ - public function prefix(): string - { - return $this->config('prefix', 'workspace_cache'); - } - - /** - * Get the default TTL. - */ - public function defaultTtl(): int - { - return (int) $this->config('ttl', 300); - } - - /** - * Check if the current cache store supports tags. - */ - public function supportsTags(): bool - { - if (! $this->config('use_tags', true)) { - return false; - } - - try { - return Cache::getStore() instanceof TaggableStore; - } catch (\Throwable) { - return false; - } - } - - /** - * Get the workspace tag name. - */ - public function workspaceTag(Workspace|int $workspace): string - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return $this->prefix().":workspace:{$workspaceId}"; - } - - /** - * Get the model tag name. - */ - public function modelTag(string $modelClass): string - { - $modelName = class_basename($modelClass); - - return $this->prefix().":model:{$modelName}"; - } - - /** - * Generate a cache key for a workspace-scoped value. - */ - public function key(Workspace|int $workspace, string $key): string - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return "{$this->prefix()}.{$workspaceId}.{$key}"; - } - - /** - * Remember a value in the cache for a workspace. - * - * @template T - * - * @param Workspace|int $workspace The workspace context - * @param string $key The cache key (will be prefixed automatically) - * @param int|null $ttl TTL in seconds (null = use default) - * @param Closure(): T $callback The callback to generate the value - * @return T - */ - public function remember(Workspace|int $workspace, string $key, ?int $ttl, Closure $callback): mixed - { - if (! $this->isEnabled()) { - return $callback(); - } - - $fullKey = $this->key($workspace, $key); - $ttl = $ttl ?? $this->defaultTtl(); - - // Register the key for later cleanup - $this->registerKey($workspace, $fullKey); - - if ($this->supportsTags()) { - return Cache::tags([$this->workspaceTag($workspace)]) - ->remember($fullKey, $ttl, $callback); - } - - return Cache::remember($fullKey, $ttl, $callback); - } - - /** - * Remember a value forever in the cache for a workspace. - * - * @template T - * - * @param Closure(): T $callback - * @return T - */ - public function rememberForever(Workspace|int $workspace, string $key, Closure $callback): mixed - { - if (! $this->isEnabled()) { - return $callback(); - } - - $fullKey = $this->key($workspace, $key); - - // Register the key for later cleanup - $this->registerKey($workspace, $fullKey); - - if ($this->supportsTags()) { - return Cache::tags([$this->workspaceTag($workspace)]) - ->rememberForever($fullKey, $callback); - } - - return Cache::rememberForever($fullKey, $callback); - } - - /** - * Store a value in the cache for a workspace. - */ - public function put(Workspace|int $workspace, string $key, mixed $value, ?int $ttl = null): bool - { - if (! $this->isEnabled()) { - return false; - } - - $fullKey = $this->key($workspace, $key); - $ttl = $ttl ?? $this->defaultTtl(); - - // Register the key for later cleanup - $this->registerKey($workspace, $fullKey); - - if ($this->supportsTags()) { - return Cache::tags([$this->workspaceTag($workspace)]) - ->put($fullKey, $value, $ttl); - } - - return Cache::put($fullKey, $value, $ttl); - } - - /** - * Get a value from the cache. - */ - public function get(Workspace|int $workspace, string $key, mixed $default = null): mixed - { - if (! $this->isEnabled()) { - return $default; - } - - $fullKey = $this->key($workspace, $key); - - if ($this->supportsTags()) { - return Cache::tags([$this->workspaceTag($workspace)]) - ->get($fullKey, $default); - } - - return Cache::get($fullKey, $default); - } - - /** - * Check if a key exists in the cache. - */ - public function has(Workspace|int $workspace, string $key): bool - { - if (! $this->isEnabled()) { - return false; - } - - $fullKey = $this->key($workspace, $key); - - if ($this->supportsTags()) { - return Cache::tags([$this->workspaceTag($workspace)]) - ->has($fullKey); - } - - return Cache::has($fullKey); - } - - /** - * Remove a specific key from the cache. - */ - public function forget(Workspace|int $workspace, string $key): bool - { - $fullKey = $this->key($workspace, $key); - - // Unregister the key - $this->unregisterKey($workspace, $fullKey); - - if ($this->supportsTags()) { - return Cache::tags([$this->workspaceTag($workspace)]) - ->forget($fullKey); - } - - return Cache::forget($fullKey); - } - - /** - * Flush all cache for a specific workspace. - */ - public function flush(Workspace|int $workspace): bool - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - if ($this->supportsTags()) { - $result = Cache::tags([$this->workspaceTag($workspace)])->flush(); - $this->clearKeyRegistry($workspaceId); - - return $result; - } - - // For non-tagged stores, we need to clear each registered key - return $this->flushRegisteredKeys($workspaceId); - } - - /** - * Flush cache for a specific model across all workspaces. - * Useful when a model's caching logic changes. - */ - public function flushModel(string $modelClass): bool - { - if ($this->supportsTags()) { - return Cache::tags([$this->modelTag($modelClass)])->flush(); - } - - // For non-tagged stores, we would need to track model-specific keys - // This is a best-effort operation - Log::warning("WorkspaceCacheManager: Cannot flush model cache without tags for {$modelClass}"); - - return false; - } - - /** - * Remember a model collection for a workspace with proper tagging. - * - * @template T - * - * @param Closure(): T $callback - * @return T - */ - public function rememberModel( - Workspace|int $workspace, - string $modelClass, - string $key, - ?int $ttl, - Closure $callback - ): mixed { - if (! $this->isEnabled()) { - return $callback(); - } - - $fullKey = $this->key($workspace, $key); - $ttl = $ttl ?? $this->defaultTtl(); - - // Register the key for later cleanup - $this->registerKey($workspace, $fullKey); - - if ($this->supportsTags()) { - return Cache::tags([ - $this->workspaceTag($workspace), - $this->modelTag($modelClass), - ])->remember($fullKey, $ttl, $callback); - } - - return Cache::remember($fullKey, $ttl, $callback); - } - - /** - * Get cache statistics for a workspace. - * - * This is useful for debugging and monitoring cache usage. - */ - public function stats(Workspace|int $workspace): array - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - $keys = self::$keyRegistry[$workspaceId] ?? []; - - $stats = [ - 'workspace_id' => $workspaceId, - 'enabled' => $this->isEnabled(), - 'supports_tags' => $this->supportsTags(), - 'prefix' => $this->prefix(), - 'default_ttl' => $this->defaultTtl(), - 'registered_keys' => count($keys), - 'keys' => $keys, - ]; - - // If we can, check which keys actually exist in cache - $existingKeys = 0; - foreach ($keys as $key) { - if (Cache::has($key)) { - $existingKeys++; - } - } - $stats['existing_keys'] = $existingKeys; - - return $stats; - } - - /** - * Get all registered keys for a workspace. - */ - public function getRegisteredKeys(Workspace|int $workspace): array - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - return self::$keyRegistry[$workspaceId] ?? []; - } - - /** - * Register a cache key for a workspace. - * This allows us to track all keys for cleanup later. - */ - protected function registerKey(Workspace|int $workspace, string $key): void - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - if (! isset(self::$keyRegistry[$workspaceId])) { - self::$keyRegistry[$workspaceId] = []; - } - - if (! in_array($key, self::$keyRegistry[$workspaceId], true)) { - self::$keyRegistry[$workspaceId][] = $key; - } - } - - /** - * Unregister a cache key for a workspace. - */ - protected function unregisterKey(Workspace|int $workspace, string $key): void - { - $workspaceId = $workspace instanceof Workspace ? $workspace->id : $workspace; - - if (isset(self::$keyRegistry[$workspaceId])) { - self::$keyRegistry[$workspaceId] = array_filter( - self::$keyRegistry[$workspaceId], - fn ($k) => $k !== $key - ); - } - } - - /** - * Clear the key registry for a workspace. - */ - protected function clearKeyRegistry(int $workspaceId): void - { - unset(self::$keyRegistry[$workspaceId]); - } - - /** - * Flush all registered keys for a workspace (non-tagged stores). - */ - protected function flushRegisteredKeys(int $workspaceId): bool - { - $keys = self::$keyRegistry[$workspaceId] ?? []; - - foreach ($keys as $key) { - Cache::forget($key); - } - - $this->clearKeyRegistry($workspaceId); - - return true; - } - - /** - * Reset the key registry (useful for testing). - */ - public static function resetKeyRegistry(): void - { - self::$keyRegistry = []; - } - - /** - * Override configuration (useful for testing). - */ - public function setConfig(array $config): void - { - $this->config = $config; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/WorkspaceManager.php b/packages/core-php/src/Mod/Tenant/Services/WorkspaceManager.php deleted file mode 100644 index f3b9a48..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/WorkspaceManager.php +++ /dev/null @@ -1,221 +0,0 @@ -attributes->set('workspace_model', $workspace); - - // Also cache it for quick retrieval - Cache::put("workspace.current.{$workspace->id}", $workspace, now()->addMinutes(5)); - } - - /** - * Forget the current workspace from request context. - */ - public function forgetCurrent(): void - { - if (request()->attributes->has('workspace_model')) { - $workspace = request()->attributes->get('workspace_model'); - Cache::forget("workspace.current.{$workspace->id}"); - request()->attributes->remove('workspace_model'); - } - } - - /** - * Get the current workspace. - */ - public function current(): ?Workspace - { - return Workspace::current(); - } - - /** - * Get all workspaces for the authenticated user. - */ - public function all(): Collection|array - { - if (! auth()->check()) { - return collect([]); - } - - /** @var User $user */ - $user = auth()->user(); - - return $user instanceof User - ? $user->workspaces - : collect([]); - } - - /** - * Load workspace by ID and set as current. - */ - public function loadById(int $id): bool - { - $workspace = Workspace::find($id); - - if (! $workspace) { - return false; - } - - $this->setCurrent($workspace); - - return true; - } - - /** - * Load workspace by UUID and set as current. - */ - public function loadByUuid(string $uuid): bool - { - $workspace = Workspace::where('uuid', $uuid)->first(); - - if (! $workspace) { - return false; - } - - $this->setCurrent($workspace); - - return true; - } - - /** - * Load workspace by slug and set as current. - */ - public function loadBySlug(string $slug): bool - { - $workspace = Workspace::where('slug', $slug)->first(); - - if (! $workspace) { - return false; - } - - $this->setCurrent($workspace); - - return true; - } - - /** - * Get unique validation rule for a column scoped to workspace. - * - * This ensures uniqueness within a workspace context (e.g., account names, - * template titles) rather than globally. - */ - public function uniqueRule(string $table, string $column = 'id', bool $softDelete = false): Rule - { - $workspace = $this->current(); - - $rule = Rule::unique($table, $column); - - if ($workspace) { - $rule->where('workspace_id', $workspace->id); - } - - if ($softDelete) { - $rule->whereNull('deleted_at'); - } - - return $rule; - } - - /** - * Get exists validation rule for a column scoped to workspace. - */ - public function existsRule(string $table, string $column = 'id', bool $softDelete = false): Rule - { - $workspace = $this->current(); - - $rule = Rule::exists($table, $column); - - if ($workspace) { - $rule->where('workspace_id', $workspace->id); - } - - if ($softDelete) { - $rule->whereNull('deleted_at'); - } - - return $rule; - } - - /** - * Create a new workspace for a user. - */ - public function create(User $user, array $attributes): Workspace - { - $workspace = Workspace::create($attributes); - - // Attach user as owner - $workspace->users()->attach($user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - return $workspace; - } - - /** - * Add a user to a workspace. - */ - public function addUser(Workspace $workspace, User $user, string $role = 'member', bool $isDefault = false): void - { - $workspace->users()->syncWithoutDetaching([ - $user->id => [ - 'role' => $role, - 'is_default' => $isDefault, - ], - ]); - } - - /** - * Remove a user from a workspace. - */ - public function removeUser(Workspace $workspace, User $user): void - { - $workspace->users()->detach($user->id); - } - - /** - * Switch user's default workspace. - */ - public function setDefault(User $user, Workspace $workspace): void - { - // Remove default flag from all workspaces - $user->workspaces()->updateExistingPivot( - $user->workspaces()->pluck('workspaces.id')->toArray(), - ['is_default' => false] - ); - - // Set this one as default - $user->workspaces()->updateExistingPivot($workspace->id, ['is_default' => true]); - } - - /** - * Check if workspace has capacity for new resources. - */ - public function hasCapacity(Workspace $workspace, string $featureCode, int $quantity = 1): bool - { - return $workspace->can($featureCode, $quantity)->isAllowed(); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/WorkspaceService.php b/packages/core-php/src/Mod/Tenant/Services/WorkspaceService.php deleted file mode 100644 index 30d08fc..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/WorkspaceService.php +++ /dev/null @@ -1,156 +0,0 @@ - - */ - public function all(): array - { - $user = auth()->user(); - if (! $user) { - return []; - } - - return $user->workspaces() - ->active() - ->ordered() - ->get() - ->keyBy('slug') - ->map(fn (Workspace $w) => $w->toServiceArray()) - ->toArray(); - } - - /** - * Get the current workspace slug from session. - */ - public function currentSlug(): string - { - return Session::get('workspace', 'main'); - } - - /** - * Get the current workspace as array. - */ - public function current(): array - { - $workspace = $this->currentModel(); - - return $workspace?->toServiceArray() ?? [ - 'name' => 'No Workspace', - 'slug' => 'main', - 'domain' => '', - 'icon' => 'globe', - 'color' => 'zinc', - 'description' => 'Select a workspace', - ]; - } - - /** - * Get the current workspace model. - */ - public function currentModel(): ?Workspace - { - $slug = $this->currentSlug(); - $user = auth()->user(); - - if (! $user) { - return null; - } - - // Try to find in user's workspaces - $workspace = $user->workspaces()->where('slug', $slug)->first(); - - // Fall back to default workspace - if (! $workspace) { - $workspace = $user->workspaces()->wherePivot('is_default', true)->first() - ?? $user->workspaces()->first(); - - if ($workspace) { - Session::put('workspace', $workspace->slug); - } - } - - return $workspace; - } - - /** - * Set the current workspace by slug. - */ - public function setCurrent(string $slug): bool - { - $user = auth()->user(); - if (! $user) { - return false; - } - - // Verify user has access to this workspace - $workspace = $user->workspaces()->where('slug', $slug)->first(); - if (! $workspace) { - return false; - } - - Session::put('workspace', $slug); - - return true; - } - - /** - * Get a specific workspace by slug (as array). - */ - public function get(string $slug): ?array - { - $workspace = Workspace::where('slug', $slug)->first(); - - return $workspace?->toServiceArray(); - } - - /** - * Get a workspace model by slug. - */ - public function getModel(string $slug): ?Workspace - { - return Workspace::where('slug', $slug)->first(); - } - - /** - * Find workspace by subdomain. - */ - public function findBySubdomain(string $subdomain): ?array - { - // Check for exact slug match first - $workspace = Workspace::where('slug', $subdomain)->first(); - if ($workspace) { - return $workspace->toServiceArray(); - } - - // Check domain contains subdomain - $workspace = Workspace::where('domain', 'LIKE', "{$subdomain}.%")->first(); - - return $workspace?->toServiceArray(); - } - - /** - * Get workspace slug from subdomain. - */ - public function getSlugFromSubdomain(string $subdomain): ?string - { - $workspace = $this->findBySubdomain($subdomain); - - return $workspace['slug'] ?? null; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Services/WorkspaceTeamService.php b/packages/core-php/src/Mod/Tenant/Services/WorkspaceTeamService.php deleted file mode 100644 index 34dcf0e..0000000 --- a/packages/core-php/src/Mod/Tenant/Services/WorkspaceTeamService.php +++ /dev/null @@ -1,629 +0,0 @@ -workspace = $workspace; - } - - /** - * Set the workspace context. - */ - public function forWorkspace(Workspace $workspace): self - { - $this->workspace = $workspace; - - return $this; - } - - /** - * Get the current workspace, resolving from context if needed. - */ - protected function getWorkspace(): ?Workspace - { - if ($this->workspace) { - return $this->workspace; - } - - // Try authenticated user's default workspace first - $this->workspace = auth()->user()?->defaultHostWorkspace(); - - // Fall back to session workspace if set - if (! $this->workspace) { - $sessionWorkspaceId = session('workspace_id'); - if ($sessionWorkspaceId) { - $this->workspace = Workspace::find($sessionWorkspaceId); - } - } - - return $this->workspace; - } - - // ───────────────────────────────────────────────────────────────────────── - // Team Management - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all teams for the workspace. - */ - public function getTeams(): Collection - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return new Collection; - } - - return WorkspaceTeam::where('workspace_id', $workspace->id) - ->ordered() - ->get(); - } - - /** - * Get a specific team by ID. - */ - public function getTeam(int $teamId): ?WorkspaceTeam - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return null; - } - - return WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('id', $teamId) - ->first(); - } - - /** - * Get a specific team by slug. - */ - public function getTeamBySlug(string $slug): ?WorkspaceTeam - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return null; - } - - return WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('slug', $slug) - ->first(); - } - - /** - * Get the default team for new members. - */ - public function getDefaultTeam(): ?WorkspaceTeam - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return null; - } - - return WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('is_default', true) - ->first(); - } - - /** - * Create a new team. - */ - public function createTeam(array $data): WorkspaceTeam - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - throw new \RuntimeException('No workspace context available.'); - } - - $team = WorkspaceTeam::create([ - 'workspace_id' => $workspace->id, - 'name' => $data['name'], - 'slug' => $data['slug'] ?? null, - 'description' => $data['description'] ?? null, - 'permissions' => $data['permissions'] ?? [], - 'is_default' => $data['is_default'] ?? false, - 'is_system' => $data['is_system'] ?? false, - 'colour' => $data['colour'] ?? 'zinc', - 'sort_order' => $data['sort_order'] ?? 0, - ]); - - // If this is the new default, unset other defaults - if ($team->is_default) { - WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('id', '!=', $team->id) - ->where('is_default', true) - ->update(['is_default' => false]); - } - - Log::info('Workspace team created', [ - 'team_id' => $team->id, - 'team_name' => $team->name, - 'workspace_id' => $workspace->id, - ]); - - return $team; - } - - /** - * Update an existing team. - */ - public function updateTeam(WorkspaceTeam $team, array $data): WorkspaceTeam - { - $workspace = $this->getWorkspace(); - - // Don't allow updating system teams' slug - if ($team->is_system && isset($data['slug'])) { - unset($data['slug']); - } - - $team->update($data); - - // If this is the new default, unset other defaults - if (($data['is_default'] ?? false) && $workspace) { - WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('id', '!=', $team->id) - ->where('is_default', true) - ->update(['is_default' => false]); - } - - Log::info('Workspace team updated', [ - 'team_id' => $team->id, - 'team_name' => $team->name, - 'workspace_id' => $team->workspace_id, - ]); - - return $team; - } - - /** - * Delete a team (only non-system teams). - */ - public function deleteTeam(WorkspaceTeam $team): bool - { - if ($team->is_system) { - throw new \RuntimeException('Cannot delete system teams.'); - } - - // Check if team has any members assigned - $memberCount = WorkspaceMember::where('team_id', $team->id)->count(); - if ($memberCount > 0) { - throw new \RuntimeException( - "Cannot delete team with {$memberCount} assigned members. Remove members first." - ); - } - - $teamId = $team->id; - $teamName = $team->name; - $workspaceId = $team->workspace_id; - - $team->delete(); - - Log::info('Workspace team deleted', [ - 'team_id' => $teamId, - 'team_name' => $teamName, - 'workspace_id' => $workspaceId, - ]); - - return true; - } - - // ───────────────────────────────────────────────────────────────────────── - // Member Management - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get a member record for a user in the workspace. - */ - public function getMember(User|int $user): ?WorkspaceMember - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return null; - } - - $userId = $user instanceof User ? $user->id : $user; - - return WorkspaceMember::where('workspace_id', $workspace->id) - ->where('user_id', $userId) - ->first(); - } - - /** - * Get all members in the workspace. - */ - public function getMembers(): Collection - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return new Collection; - } - - return WorkspaceMember::where('workspace_id', $workspace->id) - ->with(['user', 'team', 'inviter']) - ->get(); - } - - /** - * Get all members in a specific team. - */ - public function getTeamMembers(WorkspaceTeam|int $team): Collection - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return new Collection; - } - - $teamId = $team instanceof WorkspaceTeam ? $team->id : $team; - - return WorkspaceMember::where('workspace_id', $workspace->id) - ->where('team_id', $teamId) - ->with(['user', 'team', 'inviter']) - ->get(); - } - - /** - * Add a member to a team. - */ - public function addMemberToTeam(User|int $user, WorkspaceTeam|int $team): WorkspaceMember - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - throw new \RuntimeException('No workspace context available.'); - } - - $userId = $user instanceof User ? $user->id : $user; - $teamId = $team instanceof WorkspaceTeam ? $team->id : $team; - - // Verify team belongs to workspace - $teamModel = WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('id', $teamId) - ->first(); - - if (! $teamModel) { - throw new \RuntimeException('Team does not belong to the current workspace.'); - } - - $member = WorkspaceMember::where('workspace_id', $workspace->id) - ->where('user_id', $userId) - ->first(); - - if (! $member) { - throw new \RuntimeException('User is not a member of this workspace.'); - } - - $member->update(['team_id' => $teamId]); - - Log::info('Member added to team', [ - 'user_id' => $userId, - 'team_id' => $teamId, - 'team_name' => $teamModel->name, - 'workspace_id' => $workspace->id, - ]); - - return $member->fresh(); - } - - /** - * Remove a member from their team. - */ - public function removeMemberFromTeam(User|int $user): WorkspaceMember - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - throw new \RuntimeException('No workspace context available.'); - } - - $userId = $user instanceof User ? $user->id : $user; - - $member = WorkspaceMember::where('workspace_id', $workspace->id) - ->where('user_id', $userId) - ->first(); - - if (! $member) { - throw new \RuntimeException('User is not a member of this workspace.'); - } - - $oldTeamId = $member->team_id; - $member->update(['team_id' => null]); - - Log::info('Member removed from team', [ - 'user_id' => $userId, - 'old_team_id' => $oldTeamId, - 'workspace_id' => $workspace->id, - ]); - - return $member->fresh(); - } - - /** - * Set custom permissions for a member. - */ - public function setMemberCustomPermissions(User|int $user, array $customPermissions): WorkspaceMember - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - throw new \RuntimeException('No workspace context available.'); - } - - $userId = $user instanceof User ? $user->id : $user; - - $member = WorkspaceMember::where('workspace_id', $workspace->id) - ->where('user_id', $userId) - ->first(); - - if (! $member) { - throw new \RuntimeException('User is not a member of this workspace.'); - } - - $member->update(['custom_permissions' => $customPermissions]); - - Log::info('Member custom permissions updated', [ - 'user_id' => $userId, - 'workspace_id' => $workspace->id, - 'custom_permissions' => $customPermissions, - ]); - - return $member->fresh(); - } - - // ───────────────────────────────────────────────────────────────────────── - // Permission Checks - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get all effective permissions for a user in the workspace. - */ - public function getMemberPermissions(User|int $user): array - { - $member = $this->getMember($user); - - if (! $member) { - return []; - } - - return $member->getEffectivePermissions(); - } - - /** - * Check if a user has a specific permission in the workspace. - */ - public function hasPermission(User|int $user, string $permission): bool - { - $member = $this->getMember($user); - - if (! $member) { - return false; - } - - return $member->hasPermission($permission); - } - - /** - * Check if a user has any of the given permissions. - */ - public function hasAnyPermission(User|int $user, array $permissions): bool - { - $member = $this->getMember($user); - - if (! $member) { - return false; - } - - return $member->hasAnyPermission($permissions); - } - - /** - * Check if a user has all of the given permissions. - */ - public function hasAllPermissions(User|int $user, array $permissions): bool - { - $member = $this->getMember($user); - - if (! $member) { - return false; - } - - return $member->hasAllPermissions($permissions); - } - - /** - * Check if a user is the workspace owner. - */ - public function isOwner(User|int $user): bool - { - $member = $this->getMember($user); - - return $member?->isOwner() ?? false; - } - - /** - * Check if a user is a workspace admin. - */ - public function isAdmin(User|int $user): bool - { - $member = $this->getMember($user); - - return $member?->isAdmin() ?? false; - } - - // ───────────────────────────────────────────────────────────────────────── - // Member Queries - // ───────────────────────────────────────────────────────────────────────── - - /** - * Get members with a specific permission. - */ - public function getMembersWithPermission(string $permission): Collection - { - $members = $this->getMembers(); - - return $members->filter(fn ($member) => $member->hasPermission($permission)); - } - - /** - * Count members in the workspace. - */ - public function countMembers(): int - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return 0; - } - - return WorkspaceMember::where('workspace_id', $workspace->id)->count(); - } - - /** - * Count members in a specific team. - */ - public function countTeamMembers(WorkspaceTeam|int $team): int - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return 0; - } - - $teamId = $team instanceof WorkspaceTeam ? $team->id : $team; - - return WorkspaceMember::where('workspace_id', $workspace->id) - ->where('team_id', $teamId) - ->count(); - } - - // ───────────────────────────────────────────────────────────────────────── - // Seeding - // ───────────────────────────────────────────────────────────────────────── - - /** - * Seed default teams for a workspace. - */ - public function seedDefaultTeams(?Workspace $workspace = null): Collection - { - $workspace = $workspace ?? $this->getWorkspace(); - if (! $workspace) { - throw new \RuntimeException('No workspace context available for seeding.'); - } - - $teams = new Collection; - - foreach (WorkspaceTeam::getDefaultTeamDefinitions() as $definition) { - // Check if team already exists - $existing = WorkspaceTeam::where('workspace_id', $workspace->id) - ->where('slug', $definition['slug']) - ->first(); - - if ($existing) { - $teams->push($existing); - - continue; - } - - $team = WorkspaceTeam::create([ - 'workspace_id' => $workspace->id, - 'name' => $definition['name'], - 'slug' => $definition['slug'], - 'description' => $definition['description'], - 'permissions' => $definition['permissions'], - 'is_default' => $definition['is_default'] ?? false, - 'is_system' => $definition['is_system'] ?? false, - 'colour' => $definition['colour'] ?? 'zinc', - 'sort_order' => $definition['sort_order'] ?? 0, - ]); - - $teams->push($team); - } - - Log::info('Default workspace teams seeded', [ - 'workspace_id' => $workspace->id, - 'teams_count' => $teams->count(), - ]); - - return $teams; - } - - /** - * Ensure default teams exist for the workspace, creating them if needed. - */ - public function ensureDefaultTeams(): Collection - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return new Collection; - } - - // Check if any teams exist - $existingCount = WorkspaceTeam::where('workspace_id', $workspace->id)->count(); - - if ($existingCount === 0) { - return $this->seedDefaultTeams($workspace); - } - - return $this->getTeams(); - } - - /** - * Migrate existing members to appropriate teams based on their role. - */ - public function migrateExistingMembers(): int - { - $workspace = $this->getWorkspace(); - if (! $workspace) { - return 0; - } - - // Ensure teams exist - $this->ensureDefaultTeams(); - - $ownerTeam = $this->getTeamBySlug(WorkspaceTeam::TEAM_OWNER); - $adminTeam = $this->getTeamBySlug(WorkspaceTeam::TEAM_ADMIN); - $memberTeam = $this->getTeamBySlug(WorkspaceTeam::TEAM_MEMBER); - - $migrated = 0; - - DB::transaction(function () use ($workspace, $ownerTeam, $adminTeam, $memberTeam, &$migrated) { - // Get members without team assignments - $members = WorkspaceMember::where('workspace_id', $workspace->id) - ->whereNull('team_id') - ->get(); - - foreach ($members as $member) { - $teamId = match ($member->role) { - WorkspaceMember::ROLE_OWNER => $ownerTeam?->id, - WorkspaceMember::ROLE_ADMIN => $adminTeam?->id, - default => $memberTeam?->id, - }; - - if ($teamId) { - $member->update([ - 'team_id' => $teamId, - 'joined_at' => $member->joined_at ?? $member->created_at, - ]); - $migrated++; - } - } - }); - - Log::info('Workspace members migrated to teams', [ - 'workspace_id' => $workspace->id, - 'migrated_count' => $migrated, - ]); - - return $migrated; - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/AccountDeletionTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/AccountDeletionTest.php deleted file mode 100644 index 7d9455b..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/AccountDeletionTest.php +++ /dev/null @@ -1,334 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); -}); - -describe('AccountDeletionRequest Model', function () { - describe('createForUser()', function () { - it('creates a new deletion request', function () { - $request = AccountDeletionRequest::createForUser($this->user); - - expect($request)->toBeInstanceOf(AccountDeletionRequest::class) - ->and($request->user_id)->toBe($this->user->id) - ->and($request->token)->toHaveLength(64) - ->and($request->completed_at)->toBeNull() - ->and($request->cancelled_at)->toBeNull(); - }); - - it('sets expiry based on configured grace period', function () { - config(['tenant.deletion.grace_period_days' => 14]); - - $this->travelTo(now()->startOfDay()); - $request = AccountDeletionRequest::createForUser($this->user); - - // Expiry should be 14 days in the future - expect((int) abs($request->expires_at->startOfDay()->diffInDays(now()->startOfDay())))->toBe(14); - }); - - it('stores optional reason', function () { - $reason = 'Switching to competitor'; - - $request = AccountDeletionRequest::createForUser($this->user, $reason); - - expect($request->reason)->toBe($reason); - }); - - it('cancels existing pending requests', function () { - $oldRequest = AccountDeletionRequest::createForUser($this->user); - $oldRequestId = $oldRequest->id; - - $newRequest = AccountDeletionRequest::createForUser($this->user); - - expect(AccountDeletionRequest::find($oldRequestId))->toBeNull() - ->and($newRequest->id)->not->toBe($oldRequestId); - }); - - it('does not affect completed requests', function () { - $completedRequest = AccountDeletionRequest::createForUser($this->user); - $completedRequest->complete(); - - $newRequest = AccountDeletionRequest::createForUser($this->user); - - expect(AccountDeletionRequest::find($completedRequest->id))->not->toBeNull() - ->and($newRequest->id)->not->toBe($completedRequest->id); - }); - }); - - describe('findValidByToken()', function () { - it('finds valid request by token', function () { - $request = AccountDeletionRequest::createForUser($this->user); - - $found = AccountDeletionRequest::findValidByToken($request->token); - - expect($found)->not->toBeNull() - ->and($found->id)->toBe($request->id); - }); - - it('returns null for completed request', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->complete(); - - $found = AccountDeletionRequest::findValidByToken($request->token); - - expect($found)->toBeNull(); - }); - - it('returns null for cancelled request', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->cancel(); - - $found = AccountDeletionRequest::findValidByToken($request->token); - - expect($found)->toBeNull(); - }); - - it('returns null for invalid token', function () { - AccountDeletionRequest::createForUser($this->user); - - $found = AccountDeletionRequest::findValidByToken('invalid-token'); - - expect($found)->toBeNull(); - }); - }); - - describe('pendingAutoDelete()', function () { - it('returns requests past expiry date', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - - $pending = AccountDeletionRequest::pendingAutoDelete()->get(); - - expect($pending)->toHaveCount(1) - ->and($pending->first()->id)->toBe($request->id); - }); - - it('excludes requests not yet expired', function () { - AccountDeletionRequest::createForUser($this->user); - - $pending = AccountDeletionRequest::pendingAutoDelete()->get(); - - expect($pending)->toHaveCount(0); - }); - - it('excludes completed requests', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - $request->complete(); - - $pending = AccountDeletionRequest::pendingAutoDelete()->get(); - - expect($pending)->toHaveCount(0); - }); - - it('excludes cancelled requests', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - $request->cancel(); - - $pending = AccountDeletionRequest::pendingAutoDelete()->get(); - - expect($pending)->toHaveCount(0); - }); - }); - - describe('state methods', function () { - it('isActive returns true for pending requests', function () { - $request = AccountDeletionRequest::createForUser($this->user); - - expect($request->isActive())->toBeTrue(); - }); - - it('isActive returns false after completion', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->complete(); - - expect($request->isActive())->toBeFalse(); - }); - - it('isActive returns false after cancellation', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->cancel(); - - expect($request->isActive())->toBeFalse(); - }); - - it('isPending returns true for future expiry', function () { - $request = AccountDeletionRequest::createForUser($this->user); - - expect($request->isPending())->toBeTrue(); - }); - - it('isReadyForAutoDeletion returns true for past expiry', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - - expect($request->isReadyForAutoDeletion())->toBeTrue(); - }); - }); - - describe('time helpers', function () { - it('calculates days remaining approximately', function () { - $this->travelTo(now()->startOfDay()); - - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->startOfDay()->addDays(5)]); - - // Use startOfDay to avoid timing issues - expect($request->daysRemaining())->toBeGreaterThanOrEqual(4) - ->and($request->daysRemaining())->toBeLessThanOrEqual(5); - }); - - it('calculates hours remaining approximately', function () { - $this->travelTo(now()->startOfHour()); - - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->startOfHour()->addHours(48)]); - - expect($request->hoursRemaining())->toBeGreaterThanOrEqual(47) - ->and($request->hoursRemaining())->toBeLessThanOrEqual(48); - }); - - it('returns zero for past expiry', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDays(2)]); - - expect($request->daysRemaining())->toBe(0) - ->and($request->hoursRemaining())->toBe(0); - }); - }); - - describe('URL helpers', function () { - it('generates confirmation URL with token', function () { - $request = AccountDeletionRequest::createForUser($this->user); - - $url = $request->confirmationUrl(); - - expect($url)->toContain($request->token) - ->and($url)->toContain('account/delete'); - }); - - it('generates cancel URL with token', function () { - $request = AccountDeletionRequest::createForUser($this->user); - - $url = $request->cancelUrl(); - - expect($url)->toContain($request->token) - ->and($url)->toContain('cancel'); - }); - }); -}); - -describe('ProcessAccountDeletion Job', function () { - it('deletes user account', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - - $job = new ProcessAccountDeletion($request); - $job->handle(); - - // User should be deleted - expect(User::find($this->user->id))->toBeNull(); - - // Note: AccountDeletionRequest is also deleted due to CASCADE constraint - // This is expected behaviour as we want the request deleted when user is deleted - }); - - it('deletes user workspaces', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - $workspaceId = $this->workspace->id; - - $job = new ProcessAccountDeletion($request); - $job->handle(); - - expect(Workspace::find($workspaceId))->toBeNull(); - }); - - it('skips if request no longer active', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->cancel(); - - $job = new ProcessAccountDeletion($request); - $job->handle(); - - expect(User::find($this->user->id))->not->toBeNull(); - }); - - it('handles missing user gracefully', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $this->user->forceDelete(); - - // Request is deleted due to CASCADE, job should handle this gracefully - $job = new ProcessAccountDeletion($request); - - // Should not throw - $job->handle(); - - // Just verify user is still gone - expect(User::find($this->user->id))->toBeNull(); - }); -}); - -describe('ProcessAccountDeletions Command', function () { - it('processes expired deletion requests', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - - $this->artisan('accounts:process-deletions') - ->assertSuccessful() - ->expectsOutputToContain('1 deleted'); - - expect(User::find($this->user->id))->toBeNull(); - }); - - it('skips non-expired requests', function () { - AccountDeletionRequest::createForUser($this->user); - - $this->artisan('accounts:process-deletions') - ->assertSuccessful() - ->expectsOutputToContain('No pending account deletions'); - - expect(User::find($this->user->id))->not->toBeNull(); - }); - - it('supports dry-run mode', function () { - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - - $this->artisan('accounts:process-deletions', ['--dry-run' => true]) - ->assertSuccessful() - ->expectsOutputToContain('DRY RUN'); - - // User should still exist - expect(User::find($this->user->id))->not->toBeNull(); - }); - - it('supports queue mode', function () { - Queue::fake(); - - $request = AccountDeletionRequest::createForUser($this->user); - $request->update(['expires_at' => now()->subDay()]); - - $this->artisan('accounts:process-deletions', ['--queue' => true]) - ->assertSuccessful() - ->expectsOutputToContain('queued'); - - Queue::assertPushed(ProcessAccountDeletion::class); - }); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/AuthenticationTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/AuthenticationTest.php deleted file mode 100644 index baf4c48..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/AuthenticationTest.php +++ /dev/null @@ -1,124 +0,0 @@ -create($attributes); - } - - public function test_login_page_is_accessible(): void - { - $response = $this->get('/login'); - - $response->assertStatus(200); - $response->assertSee('Sign in to Host UK'); - } - - public function test_guests_are_redirected_from_hub_to_login(): void - { - $response = $this->get('/hub'); - - $response->assertRedirect('/login'); - } - - public function test_guests_are_redirected_from_hub_dashboard_to_login(): void - { - $response = $this->get('/hub/dashboard'); - - $response->assertRedirect('/login'); - } - - public function test_user_can_login_with_valid_credentials(): void - { - $user = $this->createUser([ - 'email' => 'test@example.com', - 'password' => bcrypt('password'), - ]); - - Livewire::test(Login::class) - ->set('email', 'test@example.com') - ->set('password', 'password') - ->call('login') - ->assertRedirect(route('hub.home')); - - $this->assertAuthenticated(); - } - - public function test_user_cannot_login_with_invalid_credentials(): void - { - $user = $this->createUser([ - 'email' => 'test@example.com', - 'password' => bcrypt('password'), - ]); - - Livewire::test(Login::class) - ->set('email', 'test@example.com') - ->set('password', 'wrong-password') - ->call('login') - ->assertHasErrors('email'); - - $this->assertGuest(); - } - - public function test_authenticated_user_is_redirected_from_login_to_hub(): void - { - $user = $this->createUser(); - - $response = $this->actingAs($user)->get('/login'); - - $response->assertRedirect('/hub'); - } - - public function test_authenticated_user_can_access_hub(): void - { - $user = $this->createUser(); - - $response = $this->actingAs($user)->get('/hub'); - - $response->assertStatus(200); - } - - public function test_user_can_logout_via_post(): void - { - $user = $this->createUser(); - - $this->actingAs($user); - $this->assertAuthenticated(); - - $response = $this->post('/logout'); - - $this->assertGuest(); - $response->assertRedirect('/'); - } - - public function test_user_can_logout_via_get(): void - { - $user = $this->createUser(); - - $this->actingAs($user); - $this->assertAuthenticated(); - - $response = $this->get('/logout'); - - $this->assertGuest(); - $response->assertRedirect('/'); - } - - public function test_marketing_page_is_accessible_without_auth(): void - { - $response = $this->get('/'); - - $response->assertStatus(200); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementApiTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementApiTest.php deleted file mode 100644 index 523e16e..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementApiTest.php +++ /dev/null @@ -1,251 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - // Create features - $this->socialAccountsFeature = Feature::create([ - 'code' => 'social.accounts', - 'name' => 'Social Accounts', - 'description' => 'Connected social accounts', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - 'is_active' => true, - ]); - - $this->socialPostsFeature = Feature::create([ - 'code' => 'social.posts.scheduled', - 'name' => 'Scheduled Posts', - 'description' => 'Monthly scheduled posts', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'is_active' => true, - ]); - - // Create package - $this->creatorPackage = Package::create([ - 'code' => 'social-creator', - 'name' => 'SocialHost Creator', - 'description' => 'For individual creators', - 'is_stackable' => false, - 'is_base_package' => true, - 'is_active' => true, - ]); - - $this->creatorPackage->features()->attach($this->socialAccountsFeature->id, ['limit_value' => 5]); - $this->creatorPackage->features()->attach($this->socialPostsFeature->id, ['limit_value' => 30]); - - $this->service = app(EntitlementService::class); -}); - -describe('Entitlement API', function () { - describe('GET /api/v1/entitlements/check', function () { - it('requires authentication', function () { - $response = $this->getJson('/api/v1/entitlements/check?email='.$this->user->email.'&feature=social.accounts'); - - $response->assertStatus(401); - }); - - it('returns 404 for non-existent user', function () { - $this->actingAs($this->user); - - $response = $this->getJson('/api/v1/entitlements/check?email=nonexistent@example.com&feature=social.accounts'); - - $response->assertStatus(404) - ->assertJson([ - 'allowed' => false, - 'reason' => 'User not found', - ]); - }); - - it('returns 404 when user has no workspace', function () { - $this->actingAs($this->user); - $this->workspace->users()->detach($this->user->id); - - $response = $this->getJson('/api/v1/entitlements/check?email='.$this->user->email.'&feature=social.accounts'); - - $response->assertStatus(404) - ->assertJson([ - 'allowed' => false, - 'reason' => 'No workspace found for user', - ]); - }); - - it('denies when user has no package', function () { - $this->actingAs($this->user); - - $response = $this->getJson('/api/v1/entitlements/check?email='.$this->user->email.'&feature=social.accounts'); - - $response->assertStatus(200) - ->assertJson([ - 'allowed' => false, - 'feature_code' => 'social.accounts', - ]); - }); - - it('allows when user has package with feature', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - $response = $this->getJson('/api/v1/entitlements/check?email='.$this->user->email.'&feature=social.accounts'); - - $response->assertStatus(200) - ->assertJson([ - 'allowed' => true, - 'limit' => 5, - 'used' => 0, - 'remaining' => 5, - 'unlimited' => false, - 'feature_code' => 'social.accounts', - 'workspace_id' => $this->workspace->id, - ]); - }); - - it('respects quantity parameter', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - // Use 4 of 5 allowed - $this->service->recordUsage($this->workspace, 'social.accounts', quantity: 4); - Cache::flush(); - - // Request 2 more (exceeds remaining) - $response = $this->getJson('/api/v1/entitlements/check?email='.$this->user->email.'&feature=social.accounts&quantity=2'); - - $response->assertStatus(200) - ->assertJson([ - 'allowed' => false, - 'remaining' => 1, - ]); - }); - }); - - describe('POST /api/v1/entitlements/usage', function () { - it('requires authentication', function () { - $response = $this->postJson('/api/v1/entitlements/usage', [ - 'email' => $this->user->email, - 'feature' => 'social.posts.scheduled', - ]); - - $response->assertStatus(401); - }); - - it('records usage successfully', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - $response = $this->postJson('/api/v1/entitlements/usage', [ - 'email' => $this->user->email, - 'feature' => 'social.posts.scheduled', - 'quantity' => 3, - ]); - - $response->assertStatus(201) - ->assertJson([ - 'success' => true, - 'feature_code' => 'social.posts.scheduled', - 'quantity' => 3, - ]); - - // Verify usage was recorded - Cache::flush(); - $result = $this->service->can($this->workspace, 'social.posts.scheduled'); - expect($result->used)->toBe(3); - }); - - it('records usage with metadata', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - $response = $this->postJson('/api/v1/entitlements/usage', [ - 'email' => $this->user->email, - 'feature' => 'social.posts.scheduled', - 'metadata' => ['source' => 'biohost', 'post_id' => 'abc123'], - ]); - - $response->assertStatus(201) - ->assertJson([ - 'success' => true, - ]); - }); - }); - - describe('GET /api/v1/entitlements/summary', function () { - it('requires authentication', function () { - $response = $this->getJson('/api/v1/entitlements/summary'); - - $response->assertStatus(401); - }); - - it('returns summary for authenticated user', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - $response = $this->getJson('/api/v1/entitlements/summary'); - - $response->assertStatus(200) - ->assertJsonStructure([ - 'workspace_id', - 'packages', - 'features' => [ - 'social' => [ - '*' => ['code', 'name', 'limit', 'used', 'remaining', 'unlimited', 'percentage'], - ], - ], - 'boosts', - ]); - }); - - it('includes package information', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - $response = $this->getJson('/api/v1/entitlements/summary'); - - $response->assertStatus(200); - - $packages = $response->json('packages'); - expect($packages)->toHaveCount(1); - expect($packages[0]['code'])->toBe('social-creator'); - }); - }); - - describe('GET /api/v1/entitlements/summary/{workspace}', function () { - it('requires authentication', function () { - $response = $this->getJson('/api/v1/entitlements/summary/'.$this->workspace->id); - - $response->assertStatus(401); - }); - - it('returns summary for specified workspace', function () { - $this->actingAs($this->user); - $this->service->provisionPackage($this->workspace, 'social-creator'); - - $response = $this->getJson('/api/v1/entitlements/summary/'.$this->workspace->id); - - $response->assertStatus(200) - ->assertJson([ - 'workspace_id' => $this->workspace->id, - ]); - }); - }); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementServiceTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementServiceTest.php deleted file mode 100644 index eae441f..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/EntitlementServiceTest.php +++ /dev/null @@ -1,641 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - // Create features - $this->aiCreditsFeature = Feature::create([ - 'code' => 'ai.credits', - 'name' => 'AI Credits', - 'description' => 'AI generation credits', - 'category' => 'ai', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'is_active' => true, - 'sort_order' => 1, - ]); - - $this->apolloTierFeature = Feature::create([ - 'code' => 'tier.apollo', - 'name' => 'Apollo Tier', - 'description' => 'Apollo tier access', - 'category' => 'tier', - 'type' => Feature::TYPE_BOOLEAN, - 'reset_type' => Feature::RESET_NONE, - 'is_active' => true, - 'sort_order' => 1, - ]); - - $this->socialPostsFeature = Feature::create([ - 'code' => 'social.posts', - 'name' => 'Scheduled Posts', - 'description' => 'Monthly scheduled posts', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'is_active' => true, - 'sort_order' => 1, - ]); - - // Create packages - $this->creatorPackage = Package::create([ - 'code' => 'creator', - 'name' => 'Creator', - 'description' => 'For individual creators', - 'is_stackable' => false, - 'is_base_package' => true, - 'is_active' => true, - 'is_public' => true, - 'sort_order' => 1, - ]); - - $this->agencyPackage = Package::create([ - 'code' => 'agency', - 'name' => 'Agency', - 'description' => 'For agencies', - 'is_stackable' => false, - 'is_base_package' => true, - 'is_active' => true, - 'is_public' => true, - 'sort_order' => 2, - ]); - - // Attach features to packages - $this->creatorPackage->features()->attach($this->aiCreditsFeature->id, ['limit_value' => 100]); - $this->creatorPackage->features()->attach($this->apolloTierFeature->id, ['limit_value' => null]); - $this->creatorPackage->features()->attach($this->socialPostsFeature->id, ['limit_value' => 50]); - - $this->agencyPackage->features()->attach($this->aiCreditsFeature->id, ['limit_value' => 500]); - $this->agencyPackage->features()->attach($this->apolloTierFeature->id, ['limit_value' => null]); - $this->agencyPackage->features()->attach($this->socialPostsFeature->id, ['limit_value' => 200]); - - $this->service = app(EntitlementService::class); -}); - -describe('EntitlementService', function () { - describe('can() method', function () { - it('denies access when workspace has no packages', function () { - $result = $this->service->can($this->workspace, 'ai.credits'); - - expect($result)->toBeInstanceOf(EntitlementResult::class) - ->and($result->isAllowed())->toBeFalse() - ->and($result->isDenied())->toBeTrue() - ->and($result->reason)->toContain('plan does not include'); - }); - - it('allows access when workspace has package with feature', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $result = $this->service->can($this->workspace, 'ai.credits'); - - expect($result->isAllowed())->toBeTrue() - ->and($result->limit)->toBe(100) - ->and($result->used)->toBe(0); - }); - - it('allows boolean features without limits', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $result = $this->service->can($this->workspace, 'tier.apollo'); - - expect($result->isAllowed())->toBeTrue() - ->and($result->limit)->toBeNull(); - }); - - it('denies access when limit is exceeded', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Record usage up to the limit - for ($i = 0; $i < 100; $i++) { - UsageRecord::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'quantity' => 1, - 'recorded_at' => now(), - ]); - } - - Cache::flush(); - $result = $this->service->can($this->workspace, 'ai.credits'); - - expect($result->isDenied())->toBeTrue() - ->and($result->used)->toBe(100) - ->and($result->limit)->toBe(100) - ->and($result->reason)->toContain('reached your'); - }); - - it('allows access when quantity is within remaining limit', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Use 50 credits - UsageRecord::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'quantity' => 50, - 'recorded_at' => now(), - ]); - - Cache::flush(); - $result = $this->service->can($this->workspace, 'ai.credits', quantity: 25); - - expect($result->isAllowed())->toBeTrue() - ->and($result->remaining)->toBe(50); - }); - - it('denies access when requested quantity exceeds remaining', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Use 90 credits - UsageRecord::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'quantity' => 90, - 'recorded_at' => now(), - ]); - - Cache::flush(); - $result = $this->service->can($this->workspace, 'ai.credits', quantity: 20); - - expect($result->isDenied())->toBeTrue() - ->and($result->used)->toBe(90) - ->and($result->remaining)->toBe(10); - }); - - it('denies access for non-existent feature', function () { - $result = $this->service->can($this->workspace, 'non.existent.feature'); - - expect($result->isDenied())->toBeTrue() - ->and($result->reason)->toContain('does not exist'); - }); - }); - - describe('recordUsage() method', function () { - it('creates a usage record', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $record = $this->service->recordUsage( - $this->workspace, - 'ai.credits', - quantity: 5, - user: $this->user - ); - - expect($record)->toBeInstanceOf(UsageRecord::class) - ->and($record->workspace_id)->toBe($this->workspace->id) - ->and($record->feature_code)->toBe('ai.credits') - ->and($record->quantity)->toBe(5) - ->and($record->user_id)->toBe($this->user->id); - }); - - it('records usage with metadata', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $record = $this->service->recordUsage( - $this->workspace, - 'ai.credits', - quantity: 1, - metadata: ['model' => 'claude-3', 'tokens' => 1500] - ); - - expect($record->metadata)->toBe(['model' => 'claude-3', 'tokens' => 1500]); - }); - - it('invalidates cache after recording usage', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Warm up cache - $this->service->can($this->workspace, 'ai.credits'); - - // Record usage - $this->service->recordUsage($this->workspace, 'ai.credits', quantity: 10); - - // Check that usage is reflected (cache was invalidated) - $result = $this->service->can($this->workspace, 'ai.credits'); - - expect($result->used)->toBe(10); - }); - }); - - describe('provisionPackage() method', function () { - it('provisions a package to workspace', function () { - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator'); - - expect($workspacePackage)->toBeInstanceOf(WorkspacePackage::class) - ->and($workspacePackage->workspace_id)->toBe($this->workspace->id) - ->and($workspacePackage->package->code)->toBe('creator') - ->and($workspacePackage->status)->toBe(WorkspacePackage::STATUS_ACTIVE); - }); - - it('creates an entitlement log entry', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'source' => EntitlementLog::SOURCE_BLESTA, - ]); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_PACKAGE_PROVISIONED) - ->first(); - - expect($log)->not->toBeNull() - ->and($log->source)->toBe(EntitlementLog::SOURCE_BLESTA); - }); - - it('replaces existing base package when provisioning new base package', function () { - // Provision creator package - $creatorWp = $this->service->provisionPackage($this->workspace, 'creator'); - - // Provision agency package (should cancel creator) - $agencyWp = $this->service->provisionPackage($this->workspace, 'agency'); - - // Refresh creator package - $creatorWp->refresh(); - - expect($creatorWp->status)->toBe(WorkspacePackage::STATUS_CANCELLED) - ->and($agencyWp->status)->toBe(WorkspacePackage::STATUS_ACTIVE); - }); - - it('sets billing cycle anchor', function () { - $anchor = now()->subDays(15); - - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => $anchor, - ]); - - expect($workspacePackage->billing_cycle_anchor->toDateString()) - ->toBe($anchor->toDateString()); - }); - - it('stores blesta service id', function () { - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator', [ - 'blesta_service_id' => 'blesta_12345', - ]); - - expect($workspacePackage->blesta_service_id)->toBe('blesta_12345'); - }); - }); - - describe('provisionBoost() method', function () { - it('provisions a boost to workspace', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $boost = $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'limit_value' => 100, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - ]); - - expect($boost)->toBeInstanceOf(Boost::class) - ->and($boost->workspace_id)->toBe($this->workspace->id) - ->and($boost->feature_code)->toBe('ai.credits') - ->and($boost->limit_value)->toBe(100) - ->and($boost->status)->toBe(Boost::STATUS_ACTIVE); - }); - - it('adds boost limit to package limit', function () { - $this->service->provisionPackage($this->workspace, 'creator'); // 100 credits - - $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'limit_value' => 50, - ]); - - Cache::flush(); - $result = $this->service->can($this->workspace, 'ai.credits'); - - expect($result->limit)->toBe(150); // 100 + 50 - }); - - it('creates an entitlement log entry for boost', function () { - $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'limit_value' => 100, - ]); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_BOOST_PROVISIONED) - ->first(); - - expect($log)->not->toBeNull(); - }); - }); - - describe('suspendWorkspace() method', function () { - it('suspends all active packages', function () { - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator'); - - $this->service->suspendWorkspace($this->workspace); - - $workspacePackage->refresh(); - - expect($workspacePackage->status)->toBe(WorkspacePackage::STATUS_SUSPENDED); - }); - - it('creates suspension log entries', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $this->service->suspendWorkspace($this->workspace, EntitlementLog::SOURCE_BLESTA); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_PACKAGE_SUSPENDED) - ->first(); - - expect($log)->not->toBeNull() - ->and($log->source)->toBe(EntitlementLog::SOURCE_BLESTA); - }); - - it('denies access after suspension', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Can access before suspension - expect($this->service->can($this->workspace, 'ai.credits')->isAllowed())->toBeTrue(); - - $this->service->suspendWorkspace($this->workspace); - Cache::flush(); - - // Cannot access after suspension - expect($this->service->can($this->workspace, 'ai.credits')->isDenied())->toBeTrue(); - }); - }); - - describe('reactivateWorkspace() method', function () { - it('reactivates suspended packages', function () { - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator'); - $this->service->suspendWorkspace($this->workspace); - - $this->service->reactivateWorkspace($this->workspace); - - $workspacePackage->refresh(); - - expect($workspacePackage->status)->toBe(WorkspacePackage::STATUS_ACTIVE); - }); - - it('creates reactivation log entries', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - $this->service->suspendWorkspace($this->workspace); - - $this->service->reactivateWorkspace($this->workspace, EntitlementLog::SOURCE_BLESTA); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_PACKAGE_REACTIVATED) - ->first(); - - expect($log)->not->toBeNull() - ->and($log->source)->toBe(EntitlementLog::SOURCE_BLESTA); - }); - - it('restores access after reactivation', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - $this->service->suspendWorkspace($this->workspace); - - $this->service->reactivateWorkspace($this->workspace); - Cache::flush(); - - expect($this->service->can($this->workspace, 'ai.credits')->isAllowed())->toBeTrue(); - }); - }); - - describe('getUsageSummary() method', function () { - it('returns usage summary for all features', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $summary = $this->service->getUsageSummary($this->workspace); - - expect($summary)->toBeInstanceOf(\Illuminate\Support\Collection::class) - ->and($summary->has('ai'))->toBeTrue() - ->and($summary->has('tier'))->toBeTrue() - ->and($summary->has('social'))->toBeTrue(); - }); - - it('includes usage percentages', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Use 50 of 100 credits - $this->service->recordUsage($this->workspace, 'ai.credits', quantity: 50); - - $summary = $this->service->getUsageSummary($this->workspace); - $aiFeature = $summary->get('ai')->first(); - - expect($aiFeature['used'])->toBe(50) - ->and($aiFeature['limit'])->toBe(100) - ->and((int) $aiFeature['percentage'])->toBe(50); - }); - }); - - describe('getActivePackages() method', function () { - it('returns only active packages', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - $this->service->suspendWorkspace($this->workspace); - - $activePackages = $this->service->getActivePackages($this->workspace); - - expect($activePackages)->toHaveCount(0); - }); - - it('excludes expired packages', function () { - $wp = $this->service->provisionPackage($this->workspace, 'creator', [ - 'expires_at' => now()->subDay(), - ]); - - $activePackages = $this->service->getActivePackages($this->workspace); - - expect($activePackages)->toHaveCount(0); - }); - }); - - describe('getActiveBoosts() method', function () { - it('returns only active boosts', function () { - $boost = $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'limit_value' => 100, - ]); - - $activeBoosts = $this->service->getActiveBoosts($this->workspace); - - expect($activeBoosts)->toHaveCount(1); - - // Cancel the boost - $boost->update(['status' => Boost::STATUS_CANCELLED]); - - $activeBoosts = $this->service->getActiveBoosts($this->workspace); - - expect($activeBoosts)->toHaveCount(0); - }); - }); - - describe('revokePackage() method', function () { - it('revokes an active package', function () { - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator'); - - expect($workspacePackage->status)->toBe(WorkspacePackage::STATUS_ACTIVE); - - $this->service->revokePackage($this->workspace, 'creator'); - - $workspacePackage->refresh(); - - expect($workspacePackage->status)->toBe(WorkspacePackage::STATUS_CANCELLED) - ->and($workspacePackage->expires_at)->not->toBeNull(); - }); - - it('creates a cancellation log entry', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - $this->service->revokePackage($this->workspace, 'creator', EntitlementLog::SOURCE_SYSTEM); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_PACKAGE_CANCELLED) - ->first(); - - expect($log)->not->toBeNull() - ->and($log->source)->toBe(EntitlementLog::SOURCE_SYSTEM); - }); - - it('denies access after package revocation', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Can access before revocation - expect($this->service->can($this->workspace, 'ai.credits')->isAllowed())->toBeTrue(); - - $this->service->revokePackage($this->workspace, 'creator'); - Cache::flush(); - - // Cannot access after revocation - expect($this->service->can($this->workspace, 'ai.credits')->isDenied())->toBeTrue(); - }); - - it('does nothing when package does not exist', function () { - // Should not throw, just return silently - $this->service->revokePackage($this->workspace, 'nonexistent-package'); - - // No log entries should be created - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_PACKAGE_CANCELLED) - ->first(); - - expect($log)->toBeNull(); - }); - - it('does nothing when package already cancelled', function () { - $workspacePackage = $this->service->provisionPackage($this->workspace, 'creator'); - $workspacePackage->update(['status' => WorkspacePackage::STATUS_CANCELLED]); - - // Should not throw - $this->service->revokePackage($this->workspace, 'creator'); - - // Only one log entry (from provisioning, not cancellation) - $logs = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_PACKAGE_CANCELLED) - ->count(); - - expect($logs)->toBe(0); - }); - - it('invalidates cache after revocation', function () { - $this->service->provisionPackage($this->workspace, 'creator'); - - // Warm up cache - $this->service->can($this->workspace, 'ai.credits'); - - // Revoke - $this->service->revokePackage($this->workspace, 'creator'); - - // Check that revocation is reflected (cache was invalidated) - $result = $this->service->can($this->workspace, 'ai.credits'); - - expect($result->isDenied())->toBeTrue(); - }); - }); - - describe('expireCycleBoundBoosts() method', function () { - it('expires cycle-bound boosts', function () { - $boost = $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'limit_value' => 100, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - ]); - - $this->service->expireCycleBoundBoosts($this->workspace); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_EXPIRED); - }); - - it('does not expire permanent boosts', function () { - $boost = $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'limit_value' => 100, - 'duration_type' => Boost::DURATION_PERMANENT, - ]); - - $this->service->expireCycleBoundBoosts($this->workspace); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_ACTIVE); - }); - - it('creates expiration log entries', function () { - $this->service->provisionBoost($this->workspace, 'ai.credits', [ - 'limit_value' => 100, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - ]); - - $this->service->expireCycleBoundBoosts($this->workspace); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_BOOST_EXPIRED) - ->first(); - - expect($log)->not->toBeNull(); - }); - }); -}); - -describe('EntitlementResult', function () { - it('calculates remaining correctly', function () { - $result = EntitlementResult::allowed(limit: 100, used: 75, featureCode: 'test'); - - expect($result->remaining)->toBe(25); - }); - - it('calculates usage percentage correctly', function () { - $result = EntitlementResult::allowed(limit: 100, used: 75, featureCode: 'test'); - - expect((int) $result->getUsagePercentage())->toBe(75); - }); - - it('identifies near limit correctly', function () { - $result = EntitlementResult::allowed(limit: 100, used: 85, featureCode: 'test'); - - expect($result->isNearLimit())->toBeTrue(); - - $result2 = EntitlementResult::allowed(limit: 100, used: 50, featureCode: 'test'); - - expect($result2->isNearLimit())->toBeFalse(); - }); - - it('identifies unlimited correctly', function () { - $result = EntitlementResult::unlimited('test'); - - expect($result->isUnlimited())->toBeTrue() - ->and($result->isAllowed())->toBeTrue(); - }); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/Guards/AccessTokenGuardTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/Guards/AccessTokenGuardTest.php deleted file mode 100644 index 31008b9..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/Guards/AccessTokenGuardTest.php +++ /dev/null @@ -1,180 +0,0 @@ -create(); - $result = $user->createToken('Test Token'); - - // Test the guard directly by invoking it with a mock request - $guard = new \Core\Mod\Api\Guards\AccessTokenGuard(app('auth')); - $request = \Illuminate\Http\Request::create('/test', 'GET'); - $request->headers->set('Authorization', "Bearer {$result['token']}"); - - $authenticatedUser = $guard($request); - - expect($authenticatedUser)->not->toBeNull(); - expect($authenticatedUser->id)->toBe($user->id); -}); - -test('cannot authenticate with invalid token', function () { - $response = $this->getJson('/api/v1/social/posts', [ - 'Authorization' => 'Bearer invalid-token-that-does-not-exist', - ]); - - $response->assertUnauthorized(); -}); - -test('cannot authenticate with expired token', function () { - $user = User::factory()->create(); - $token = UserToken::factory() - ->for($user) - ->expired() - ->withToken('expired-token-12345') - ->create(); - - $response = $this->getJson('/api/v1/social/posts', [ - 'Authorization' => 'Bearer expired-token-12345', - ]); - - $response->assertUnauthorized(); -}); - -test('cannot authenticate without authorization header', function () { - $response = $this->getJson('/api/v1/social/posts'); - - $response->assertUnauthorized(); -}); - -test('token last_used_at is updated on successful authentication', function () { - $user = User::factory()->create(); - $result = $user->createToken('Test Token'); - $tokenModel = $result['model']; - - expect($tokenModel->last_used_at)->toBeNull(); - - // Test the guard directly by invoking it with a mock request - $guard = new \Core\Mod\Api\Guards\AccessTokenGuard(app('auth')); - $request = \Illuminate\Http\Request::create('/test', 'GET'); - $request->headers->set('Authorization', "Bearer {$result['token']}"); - - $guard($request); - - // Refresh the token model and check last_used_at was updated - $tokenModel->refresh(); - expect($tokenModel->last_used_at)->not->toBeNull(); - expect($tokenModel->last_used_at->timestamp)->toBeGreaterThan(now()->subMinute()->timestamp); -}); - -test('user can create multiple tokens with different names', function () { - $user = User::factory()->create(); - - $token1 = $user->createToken('Mobile App'); - $token2 = $user->createToken('Web Dashboard'); - $token3 = $user->createToken('CI/CD Pipeline'); - - expect($user->tokens)->toHaveCount(3); - expect($user->tokens->pluck('name')->toArray())->toBe([ - 'Mobile App', - 'Web Dashboard', - 'CI/CD Pipeline', - ]); -}); - -test('user can revoke a specific token', function () { - $user = User::factory()->create(); - - $token1 = $user->createToken('Token 1'); - $token2 = $user->createToken('Token 2'); - - expect($user->tokens)->toHaveCount(2); - - $user->revokeToken($token1['model']->id); - - $user->refresh(); - expect($user->tokens)->toHaveCount(1); - expect($user->tokens->first()->name)->toBe('Token 2'); -}); - -test('user can revoke all tokens', function () { - $user = User::factory()->create(); - - $user->createToken('Token 1'); - $user->createToken('Token 2'); - $user->createToken('Token 3'); - - expect($user->tokens)->toHaveCount(3); - - $user->revokeAllTokens(); - - $user->refresh(); - expect($user->tokens)->toHaveCount(0); -}); - -test('tokens are automatically deleted when user is deleted', function () { - $user = User::factory()->create(); - $result = $user->createToken('Test Token'); - $tokenId = $result['model']->id; - - expect(UserToken::find($tokenId))->not->toBeNull(); - - $user->delete(); - - // Token should be deleted due to CASCADE constraint - expect(UserToken::find($tokenId))->toBeNull(); -}); - -test('tokens are stored as hashed values', function () { - $user = User::factory()->create(); - $result = $user->createToken('Test Token'); - $plainToken = $result['token']; - $tokenModel = $result['model']; - - // The stored token should NOT match the plain text token - expect($tokenModel->token)->not->toBe($plainToken); - - // But it should match the SHA-256 hash - expect($tokenModel->token)->toBe(hash('sha256', $plainToken)); -}); - -test('can create token with expiry date', function () { - $user = User::factory()->create(); - $expiryDate = now()->addDays(30); - - $result = $user->createToken('Temporary Token', $expiryDate); - $tokenModel = $result['model']; - - expect($tokenModel->expires_at)->not->toBeNull(); - expect($tokenModel->expires_at->timestamp)->toBe($expiryDate->timestamp); - expect($tokenModel->isValid())->toBeTrue(); - expect($tokenModel->isExpired())->toBeFalse(); -}); - -test('expired tokens are marked as invalid', function () { - $token = UserToken::factory() - ->expired() - ->create(); - - expect($token->isExpired())->toBeTrue(); - expect($token->isValid())->toBeFalse(); -}); - -test('non-expired tokens are marked as valid', function () { - $token = UserToken::factory() - ->expiresIn(30) - ->create(); - - expect($token->isExpired())->toBeFalse(); - expect($token->isValid())->toBeTrue(); -}); - -test('tokens without expiry date are always valid', function () { - $token = UserToken::factory()->create(); - - expect($token->expires_at)->toBeNull(); - expect($token->isExpired())->toBeFalse(); - expect($token->isValid())->toBeTrue(); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/ProfileTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/ProfileTest.php deleted file mode 100644 index 0c75a4b..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/ProfileTest.php +++ /dev/null @@ -1,131 +0,0 @@ -create($attributes); - } - - public function test_profile_page_is_accessible_when_authenticated(): void - { - $user = $this->createUser(); - - $response = $this->actingAs($user)->get('/hub/profile'); - - $response->assertStatus(200); - $response->assertSee('Usage'); - } - - public function test_profile_page_redirects_guests_to_login(): void - { - $response = $this->get('/hub/profile'); - - $response->assertRedirect('/login'); - } - - public function test_profile_displays_user_name(): void - { - $user = $this->createUser([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $this->assertEquals('Test User', $component->get('userName')); - $this->assertEquals('test@example.com', $component->get('userEmail')); - } - - public function test_profile_calculates_user_initials(): void - { - $user = $this->createUser(['name' => 'John Doe']); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $this->assertEquals('JD', $component->get('userInitials')); - } - - public function test_profile_calculates_initials_for_single_name(): void - { - $user = $this->createUser(['name' => 'Madonna']); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $this->assertEquals('M', $component->get('userInitials')); - } - - public function test_profile_loads_quotas(): void - { - $user = $this->createUser(); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $quotas = $component->get('quotas'); - - $this->assertArrayHasKey('workspaces', $quotas); - $this->assertArrayHasKey('social_accounts', $quotas); - $this->assertArrayHasKey('scheduled_posts', $quotas); - $this->assertArrayHasKey('storage', $quotas); - } - - public function test_profile_loads_service_stats(): void - { - $user = $this->createUser(); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $stats = $component->get('serviceStats'); - - $this->assertNotEmpty($stats); - $this->assertArrayHasKey('name', $stats[0]); - $this->assertArrayHasKey('icon', $stats[0]); - $this->assertArrayHasKey('color', $stats[0]); - $this->assertArrayHasKey('status', $stats[0]); - } - - public function test_profile_loads_recent_activity(): void - { - $user = $this->createUser(); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $activity = $component->get('recentActivity'); - - $this->assertIsArray($activity); - } - - public function test_profile_shows_member_since_date(): void - { - $user = $this->createUser(); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $memberSince = $component->get('memberSince'); - - $this->assertNotNull($memberSince); - $this->assertMatchesRegularExpression('/\w+ \d{4}/', $memberSince); - } - - public function test_profile_shows_user_tier(): void - { - $user = $this->createUser(); - - $component = Livewire::actingAs($user)->test(Profile::class); - - $userTier = $component->get('userTier'); - - $this->assertNotNull($userTier); - $this->assertContains($userTier, ['Free', 'Apollo', 'Hades']); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/ResetBillingCyclesTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/ResetBillingCyclesTest.php deleted file mode 100644 index 6196ee5..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/ResetBillingCyclesTest.php +++ /dev/null @@ -1,462 +0,0 @@ -user = User::factory()->create(); - $this->workspace = Workspace::factory()->create(); - $this->workspace->users()->attach($this->user->id, [ - 'role' => 'owner', - 'is_default' => true, - ]); - - // Create features - $this->aiCreditsFeature = Feature::create([ - 'code' => 'ai.credits', - 'name' => 'AI Credits', - 'description' => 'AI generation credits', - 'category' => 'ai', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'is_active' => true, - 'sort_order' => 1, - ]); - - $this->socialPostsFeature = Feature::create([ - 'code' => 'social.posts', - 'name' => 'Scheduled Posts', - 'description' => 'Monthly scheduled posts', - 'category' => 'social', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_MONTHLY, - 'is_active' => true, - 'sort_order' => 1, - ]); - - // Create base package - $this->creatorPackage = Package::create([ - 'code' => 'creator', - 'name' => 'Creator', - 'description' => 'For individual creators', - 'is_stackable' => false, - 'is_base_package' => true, - 'is_active' => true, - 'is_public' => true, - 'sort_order' => 1, - ]); - - $this->creatorPackage->features()->attach($this->aiCreditsFeature->id, ['limit_value' => 100]); - $this->creatorPackage->features()->attach($this->socialPostsFeature->id, ['limit_value' => 50]); - - $this->service = app(EntitlementService::class); -}); - -describe('ResetBillingCycles Command', function () { - describe('expiring cycle-bound boosts', function () { - it('expires cycle-bound boosts', function () { - // Provision package - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - // Create cycle-bound boost - $boost = Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 10, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - // Run command - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_EXPIRED); - }); - - it('does not expire permanent boosts', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - $boost = Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_PERMANENT, - 'limit_value' => 50, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_ACTIVE); - }); - - it('creates audit log entries for expired boosts', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_BOOST_EXPIRED) - ->first(); - - expect($log)->not->toBeNull() - ->and($log->metadata['reason'])->toBe('Billing cycle ended'); - }); - }); - - describe('expiring timed boosts', function () { - it('expires boosts past their expiry date', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - $boost = Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_DURATION, - 'limit_value' => 100, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(30), - 'expires_at' => now()->subDay(), // Expired yesterday - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_EXPIRED); - }); - - it('does not expire boosts with future expiry', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - $boost = Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_DURATION, - 'limit_value' => 100, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now(), - 'expires_at' => now()->addWeek(), // Expires next week - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_ACTIVE); - }); - }); - - describe('notifications', function () { - it('sends notification to workspace owner when boosts expire', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 10, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - Notification::assertSentTo( - $this->user, - BoostExpiredNotification::class - ); - }); - - it('does not send notification in dry-run mode', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - '--dry-run' => true, - ])->assertExitCode(0); - - Notification::assertNothingSent(); - }); - }); - - describe('dry-run mode', function () { - it('does not modify boosts in dry-run mode', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - $boost = Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - '--dry-run' => true, - ])->assertExitCode(0); - - $boost->refresh(); - - expect($boost->status)->toBe(Boost::STATUS_ACTIVE); - }); - - it('does not create log entries in dry-run mode', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - // Clear any existing logs - EntitlementLog::where('workspace_id', $this->workspace->id)->delete(); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - '--dry-run' => true, - ])->assertExitCode(0); - - $logs = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', EntitlementLog::ACTION_BOOST_EXPIRED) - ->count(); - - expect($logs)->toBe(0); - }); - }); - - describe('processing all workspaces', function () { - it('processes multiple workspaces', function () { - // Create second workspace - $workspace2 = Workspace::factory()->create(['is_active' => true]); - $user2 = User::factory()->create(); - $workspace2->users()->attach($user2->id, ['role' => 'owner', 'is_default' => true]); - - // Provision packages for both - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - $this->service->provisionPackage($workspace2, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - // Create boosts for both - Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - Boost::create([ - 'workspace_id' => $workspace2->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 100, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles') - ->assertExitCode(0); - - // Both boosts should be expired - expect(Boost::where('status', Boost::STATUS_EXPIRED)->count())->toBe(2); - }); - - it('skips workspaces without active packages', function () { - // Don't provision a package for this workspace - $workspace2 = Workspace::factory()->create(['is_active' => true]); - - $this->artisan('tenant:reset-billing-cycles') - ->assertExitCode(0); - - // No errors should occur - }); - - it('skips inactive workspaces', function () { - $this->workspace->update(['is_active' => false]); - - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - $this->artisan('tenant:reset-billing-cycles') - ->assertExitCode(0); - - // Boost should not be expired (workspace is inactive) - expect(Boost::where('status', Boost::STATUS_ACTIVE)->count())->toBe(1); - }); - }); - - describe('usage counter reset logging', function () { - it('logs cycle reset when at cycle boundary with previous usage', function () { - // Set billing cycle to start today - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now(), - ]); - - // Create usage record from previous cycle - UsageRecord::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'quantity' => 25, - 'recorded_at' => now()->subMonth(), // Previous cycle - ]); - - // Clear logs from provisioning - EntitlementLog::where('workspace_id', $this->workspace->id)->delete(); - - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - $log = EntitlementLog::where('workspace_id', $this->workspace->id) - ->where('action', 'cycle.reset') - ->first(); - - expect($log)->not->toBeNull() - ->and($log->metadata['previous_cycle_records'])->toBe(1); - }); - }); - - describe('cache invalidation', function () { - it('invalidates entitlement cache after processing', function () { - $this->service->provisionPackage($this->workspace, 'creator', [ - 'billing_cycle_anchor' => now()->startOfMonth(), - ]); - - // Create and verify boost is counted in limit - $boost = Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => 'ai.credits', - 'boost_type' => Boost::BOOST_TYPE_ADD_LIMIT, - 'duration_type' => Boost::DURATION_CYCLE_BOUND, - 'limit_value' => 50, - 'consumed_quantity' => 0, - 'status' => Boost::STATUS_ACTIVE, - 'starts_at' => now()->subDays(15), - ]); - - Cache::flush(); - $resultBefore = $this->service->can($this->workspace, 'ai.credits'); - - expect($resultBefore->limit)->toBe(150); // 100 + 50 boost - - // Run command - $this->artisan('tenant:reset-billing-cycles', [ - '--workspace' => $this->workspace->id, - ])->assertExitCode(0); - - // Limit should be back to package only - $resultAfter = $this->service->can($this->workspace, 'ai.credits'); - - expect($resultAfter->limit)->toBe(100); - }); - }); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/SettingsTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/SettingsTest.php deleted file mode 100644 index eeffc65..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/SettingsTest.php +++ /dev/null @@ -1,215 +0,0 @@ -create($attributes); - } - - public function test_settings_page_is_accessible_when_authenticated(): void - { - $user = $this->createUser(); - - $response = $this->actingAs($user)->get('/hub/settings'); - - $response->assertStatus(200); - $response->assertSee('Account Settings'); - } - - public function test_settings_page_redirects_guests_to_login(): void - { - $response = $this->get('/hub/settings'); - - $response->assertRedirect('/login'); - } - - public function test_user_can_update_profile_information(): void - { - $user = $this->createUser([ - 'name' => 'Original Name', - 'email' => 'original@example.com', - ]); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('name', 'Updated Name') - ->set('email', 'updated@example.com') - ->call('updateProfile') - ->assertHasNoErrors(); - - $user->refresh(); - $this->assertEquals('Updated Name', $user->name); - $this->assertEquals('updated@example.com', $user->email); - } - - public function test_profile_update_validates_required_fields(): void - { - $user = $this->createUser(); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('name', '') - ->set('email', '') - ->call('updateProfile') - ->assertHasErrors(['name', 'email']); - } - - public function test_profile_update_validates_email_format(): void - { - $user = $this->createUser(); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('email', 'not-an-email') - ->call('updateProfile') - ->assertHasErrors(['email']); - } - - public function test_profile_update_validates_unique_email(): void - { - $existingUser = $this->createUser(['email' => 'existing@example.com']); - $user = $this->createUser(['email' => 'test@example.com']); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('email', 'existing@example.com') - ->call('updateProfile') - ->assertHasErrors(['email']); - } - - public function test_user_can_keep_same_email(): void - { - $user = $this->createUser(['email' => 'same@example.com']); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('name', 'New Name') - ->set('email', 'same@example.com') - ->call('updateProfile') - ->assertHasNoErrors(); - - $user->refresh(); - $this->assertEquals('same@example.com', $user->email); - } - - public function test_user_can_update_password(): void - { - $user = $this->createUser([ - 'password' => Hash::make('current-password'), - ]); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('current_password', 'current-password') - ->set('new_password', 'new-secure-password') - ->set('new_password_confirmation', 'new-secure-password') - ->call('updatePassword') - ->assertHasNoErrors(); - - $user->refresh(); - $this->assertTrue(Hash::check('new-secure-password', $user->password)); - } - - public function test_password_update_requires_current_password(): void - { - $user = $this->createUser([ - 'password' => Hash::make('current-password'), - ]); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('current_password', 'wrong-password') - ->set('new_password', 'new-secure-password') - ->set('new_password_confirmation', 'new-secure-password') - ->call('updatePassword') - ->assertHasErrors(['current_password']); - } - - public function test_password_update_requires_confirmation(): void - { - $user = $this->createUser([ - 'password' => Hash::make('current-password'), - ]); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('current_password', 'current-password') - ->set('new_password', 'new-secure-password') - ->set('new_password_confirmation', 'different-password') - ->call('updatePassword') - ->assertHasErrors(['new_password']); - } - - public function test_user_can_update_preferences(): void - { - $user = $this->createUser(); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('timezone', 'America/New_York') - ->set('time_format', 24) - ->set('week_starts_on', 0) - ->call('updatePreferences') - ->assertHasNoErrors(); - - // Verify settings were saved - $timezoneSetting = Setting::where('user_id', $user->id) - ->where('name', 'timezone') - ->first(); - - $this->assertEquals('America/New_York', $timezoneSetting->payload); - } - - public function test_preferences_validates_timezone(): void - { - $user = $this->createUser(); - - Livewire::actingAs($user) - ->test(Settings::class) - ->set('timezone', 'Invalid/Timezone') - ->call('updatePreferences') - ->assertHasErrors(['timezone']); - } - - public function test_settings_loads_existing_preferences(): void - { - $user = $this->createUser(); - - // Set some preferences - Setting::create([ - 'user_id' => $user->id, - 'name' => 'timezone', - 'payload' => 'Europe/London', - ]); - - $component = Livewire::actingAs($user)->test(Settings::class); - - $this->assertEquals('Europe/London', $component->get('timezone')); - } - - public function test_settings_shows_user_name_and_email(): void - { - $user = $this->createUser([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); - - $component = Livewire::actingAs($user)->test(Settings::class); - - $this->assertEquals('Test User', $component->get('name')); - $this->assertEquals('test@example.com', $component->get('email')); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/TwoFactorAuthenticatableTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/TwoFactorAuthenticatableTest.php deleted file mode 100644 index fbfe594..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/TwoFactorAuthenticatableTest.php +++ /dev/null @@ -1,334 +0,0 @@ -user = User::factory()->create(); -}); - -describe('TwoFactorAuthenticatable Trait', function () { - describe('twoFactorAuth() relationship', function () { - it('returns HasOne relationship', function () { - expect($this->user->twoFactorAuth())->toBeInstanceOf( - \Illuminate\Database\Eloquent\Relations\HasOne::class - ); - }); - - it('returns null when no 2FA record exists', function () { - expect($this->user->twoFactorAuth)->toBeNull(); - }); - - it('returns 2FA record when it exists', function () { - $twoFactorAuth = UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => ['code1', 'code2'], - 'confirmed_at' => now(), - ]); - - $this->user->refresh(); - - expect($this->user->twoFactorAuth)->toBeInstanceOf(UserTwoFactorAuth::class) - ->and($this->user->twoFactorAuth->id)->toBe($twoFactorAuth->id); - }); - }); - - describe('hasTwoFactorAuthEnabled()', function () { - it('returns false when no 2FA record exists', function () { - expect($this->user->hasTwoFactorAuthEnabled())->toBeFalse(); - }); - - it('returns false when 2FA record exists but secret_key is null', function () { - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => null, - 'recovery_codes' => [], - 'confirmed_at' => now(), - ]); - - $this->user->refresh(); - - expect($this->user->hasTwoFactorAuthEnabled())->toBeFalse(); - }); - - it('returns false when 2FA record exists but confirmed_at is null', function () { - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => [], - 'confirmed_at' => null, - ]); - - $this->user->refresh(); - - expect($this->user->hasTwoFactorAuthEnabled())->toBeFalse(); - }); - - it('returns true when 2FA is fully enabled', function () { - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => ['code1', 'code2'], - 'confirmed_at' => now(), - ]); - - $this->user->refresh(); - - expect($this->user->hasTwoFactorAuthEnabled())->toBeTrue(); - }); - }); - - describe('twoFactorAuthSecretKey()', function () { - it('returns null when no 2FA record exists', function () { - expect($this->user->twoFactorAuthSecretKey())->toBeNull(); - }); - - it('returns the secret key when 2FA record exists', function () { - $secretKey = 'JBSWY3DPEHPK3PXP'; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => $secretKey, - 'recovery_codes' => [], - ]); - - $this->user->refresh(); - - expect($this->user->twoFactorAuthSecretKey())->toBe($secretKey); - }); - }); - - describe('twoFactorRecoveryCodes()', function () { - it('returns empty array when no 2FA record exists', function () { - expect($this->user->twoFactorRecoveryCodes())->toBe([]); - }); - - it('returns empty array when recovery_codes is null', function () { - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => null, - ]); - - $this->user->refresh(); - - expect($this->user->twoFactorRecoveryCodes())->toBe([]); - }); - - it('returns recovery codes as array', function () { - $codes = ['CODE1-CODE1', 'CODE2-CODE2', 'CODE3-CODE3']; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => $codes, - ]); - - $this->user->refresh(); - - expect($this->user->twoFactorRecoveryCodes())->toBe($codes); - }); - }); - - describe('twoFactorReplaceRecoveryCode()', function () { - it('does nothing when no 2FA record exists', function () { - // Should not throw - $this->user->twoFactorReplaceRecoveryCode('nonexistent'); - - expect($this->user->twoFactorAuth)->toBeNull(); - }); - - it('does nothing when code is not found in recovery codes', function () { - $codes = ['CODE1-CODE1', 'CODE2-CODE2', 'CODE3-CODE3']; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => $codes, - ]); - - $this->user->refresh(); - - $this->user->twoFactorReplaceRecoveryCode('NONEXISTENT'); - - $this->user->refresh(); - - expect($this->user->twoFactorRecoveryCodes())->toBe($codes); - }); - - it('replaces a used recovery code with a new one', function () { - $codes = ['CODE1-CODE1', 'CODE2-CODE2', 'CODE3-CODE3']; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => $codes, - ]); - - $this->user->refresh(); - - $this->user->twoFactorReplaceRecoveryCode('CODE2-CODE2'); - - $this->user->refresh(); - $newCodes = $this->user->twoFactorRecoveryCodes(); - - // Should still have 3 codes - expect($newCodes)->toHaveCount(3) - // First and third codes should be unchanged - ->and($newCodes[0])->toBe('CODE1-CODE1') - ->and($newCodes[2])->toBe('CODE3-CODE3') - // Second code should be different and in the expected format - ->and($newCodes[1])->not->toBe('CODE2-CODE2') - ->and($newCodes[1])->toMatch('/^[A-F0-9]{10}-[A-F0-9]{10}$/'); - }); - }); - - describe('twoFactorQrCodeUrl()', function () { - it('generates valid TOTP URL', function () { - $secretKey = 'JBSWY3DPEHPK3PXP'; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => $secretKey, - 'recovery_codes' => [], - ]); - - $this->user->refresh(); - - $url = $this->user->twoFactorQrCodeUrl(); - - expect($url)->toStartWith('otpauth://totp/') - ->and($url)->toContain($secretKey) - ->and($url)->toContain(rawurlencode($this->user->email)) - ->and($url)->toContain('issuer='); - }); - - it('includes app name in the URL', function () { - $appName = config('app.name'); - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => [], - ]); - - $this->user->refresh(); - - $url = $this->user->twoFactorQrCodeUrl(); - - expect($url)->toContain(rawurlencode($appName)); - }); - }); - - describe('twoFactorQrCodeSvg()', function () { - it('returns empty string when no secret exists', function () { - expect($this->user->twoFactorQrCodeSvg())->toBe(''); - }); - - it('returns SVG content when secret exists', function () { - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => [], - ]); - - $this->user->refresh(); - - $svg = $this->user->twoFactorQrCodeSvg(); - - expect($svg)->toStartWith('and($svg)->toContain(''); - }); - }); - - describe('generateRecoveryCode() via twoFactorReplaceRecoveryCode()', function () { - it('generates codes in the expected format', function () { - $codes = ['TESTCODE1']; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => $codes, - ]); - - $this->user->refresh(); - - $this->user->twoFactorReplaceRecoveryCode('TESTCODE1'); - - $this->user->refresh(); - $newCode = $this->user->twoFactorRecoveryCodes()[0]; - - // Format: 10 uppercase hex chars - 10 uppercase hex chars - expect($newCode)->toMatch('/^[A-F0-9]{10}-[A-F0-9]{10}$/'); - }); - - it('generates unique codes', function () { - $codes = ['CODE1', 'CODE2', 'CODE3']; - - UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => $codes, - ]); - - $this->user->refresh(); - - // Replace all codes - $this->user->twoFactorReplaceRecoveryCode('CODE1'); - $this->user->refresh(); - $this->user->twoFactorReplaceRecoveryCode('CODE2'); - $this->user->refresh(); - $this->user->twoFactorReplaceRecoveryCode('CODE3'); - $this->user->refresh(); - - $newCodes = $this->user->twoFactorRecoveryCodes(); - - // All codes should be unique - expect(array_unique($newCodes))->toHaveCount(3); - }); - }); -}); - -describe('UserTwoFactorAuth Model', function () { - it('belongs to a user', function () { - $twoFactorAuth = UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => [], - ]); - - expect($twoFactorAuth->user)->toBeInstanceOf(User::class) - ->and($twoFactorAuth->user->id)->toBe($this->user->id); - }); - - it('casts recovery_codes to collection', function () { - $codes = ['CODE1', 'CODE2']; - - $twoFactorAuth = UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => $codes, - ]); - - expect($twoFactorAuth->recovery_codes)->toBeInstanceOf(\Illuminate\Support\Collection::class) - ->and($twoFactorAuth->recovery_codes->toArray())->toBe($codes); - }); - - it('casts confirmed_at to datetime', function () { - $confirmedAt = now(); - - $twoFactorAuth = UserTwoFactorAuth::create([ - 'user_id' => $this->user->id, - 'secret_key' => 'JBSWY3DPEHPK3PXP', - 'recovery_codes' => [], - 'confirmed_at' => $confirmedAt, - ]); - - expect($twoFactorAuth->confirmed_at)->toBeInstanceOf(\Carbon\Carbon::class); - }); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/UsageAlertServiceTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/UsageAlertServiceTest.php deleted file mode 100644 index 463f090..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/UsageAlertServiceTest.php +++ /dev/null @@ -1,261 +0,0 @@ -entitlementService = app(EntitlementService::class); - $this->alertService = app(UsageAlertService::class); - } - - public function test_it_sends_warning_alert_at_80_percent(): void - { - Notification::fake(); - - // Create feature with limit - $feature = Feature::factory()->create([ - 'code' => 'test.feature', - 'name' => 'Test Feature', - 'type' => Feature::TYPE_LIMIT, - ]); - - // Create package with limit of 10 - $package = Package::factory()->create(['code' => 'test-package', 'is_base_package' => true]); - $package->features()->attach($feature->id, ['limit_value' => 10]); - - // Create workspace with owner - $user = User::factory()->create(); - $workspace = Workspace::factory()->create(); - $workspace->users()->attach($user->id, ['role' => 'owner']); - - // Provision package - $this->entitlementService->provisionPackage($workspace, 'test-package'); - - // Record 8 uses (80%) - for ($i = 0; $i < 8; $i++) { - $this->entitlementService->recordUsage($workspace, 'test.feature', 1); - } - - // Check for alerts - $result = $this->alertService->checkWorkspace($workspace); - - // Should send one alert - $this->assertEquals(1, $result['alerts_sent']); - - // Notification should be sent to owner - Notification::assertSentTo( - $user, - UsageAlertNotification::class, - fn ($notification) => $notification->threshold === UsageAlertHistory::THRESHOLD_WARNING - ); - - // Alert should be recorded - $this->assertDatabaseHas('entitlement_usage_alert_history', [ - 'workspace_id' => $workspace->id, - 'feature_code' => 'test.feature', - 'threshold' => 80, - ]); - } - - public function test_it_does_not_send_duplicate_alerts(): void - { - Notification::fake(); - - $feature = Feature::factory()->create([ - 'code' => 'test.feature', - 'name' => 'Test Feature', - 'type' => Feature::TYPE_LIMIT, - ]); - - $package = Package::factory()->create(['code' => 'test-package', 'is_base_package' => true]); - $package->features()->attach($feature->id, ['limit_value' => 10]); - - $user = User::factory()->create(); - $workspace = Workspace::factory()->create(); - $workspace->users()->attach($user->id, ['role' => 'owner']); - - $this->entitlementService->provisionPackage($workspace, 'test-package'); - - // Record 8 uses (80%) - for ($i = 0; $i < 8; $i++) { - $this->entitlementService->recordUsage($workspace, 'test.feature', 1); - } - - // First check - should send alert - $result1 = $this->alertService->checkWorkspace($workspace); - $this->assertEquals(1, $result1['alerts_sent']); - - // Second check - should NOT send duplicate - $result2 = $this->alertService->checkWorkspace($workspace); - $this->assertEquals(0, $result2['alerts_sent']); - - // Only one notification should be sent - Notification::assertSentToTimes($user, UsageAlertNotification::class, 1); - } - - public function test_it_sends_escalating_alerts_at_different_thresholds(): void - { - Notification::fake(); - - $feature = Feature::factory()->create([ - 'code' => 'test.feature', - 'name' => 'Test Feature', - 'type' => Feature::TYPE_LIMIT, - ]); - - $package = Package::factory()->create(['code' => 'test-package', 'is_base_package' => true]); - $package->features()->attach($feature->id, ['limit_value' => 10]); - - $user = User::factory()->create(); - $workspace = Workspace::factory()->create(); - $workspace->users()->attach($user->id, ['role' => 'owner']); - - $this->entitlementService->provisionPackage($workspace, 'test-package'); - - // Record 8 uses (80%) - warning - for ($i = 0; $i < 8; $i++) { - $this->entitlementService->recordUsage($workspace, 'test.feature', 1); - } - $this->alertService->checkWorkspace($workspace); - - // Record 1 more (90%) - critical - $this->entitlementService->recordUsage($workspace, 'test.feature', 1); - $result = $this->alertService->checkWorkspace($workspace); - $this->assertEquals(1, $result['alerts_sent']); - - // Record 1 more (100%) - limit reached - $this->entitlementService->recordUsage($workspace, 'test.feature', 1); - $result = $this->alertService->checkWorkspace($workspace); - $this->assertEquals(1, $result['alerts_sent']); - - // Should have 3 notifications total - Notification::assertSentToTimes($user, UsageAlertNotification::class, 3); - } - - public function test_it_resolves_alerts_when_usage_drops(): void - { - $feature = Feature::factory()->create([ - 'code' => 'test.feature', - 'name' => 'Test Feature', - 'type' => Feature::TYPE_LIMIT, - 'reset_type' => Feature::RESET_NONE, - ]); - - $workspace = Workspace::factory()->create(); - - // Create an unresolved alert - UsageAlertHistory::record( - workspaceId: $workspace->id, - featureCode: 'test.feature', - threshold: 80, - metadata: ['used' => 8, 'limit' => 10] - ); - - $this->assertDatabaseHas('entitlement_usage_alert_history', [ - 'workspace_id' => $workspace->id, - 'feature_code' => 'test.feature', - 'resolved_at' => null, - ]); - - // Resolve alerts - $resolved = UsageAlertHistory::resolveAllForFeature($workspace->id, 'test.feature'); - - $this->assertEquals(1, $resolved); - $this->assertDatabaseMissing('entitlement_usage_alert_history', [ - 'workspace_id' => $workspace->id, - 'feature_code' => 'test.feature', - 'resolved_at' => null, - ]); - } - - public function test_it_skips_unlimited_features(): void - { - Notification::fake(); - - $feature = Feature::factory()->create([ - 'code' => 'unlimited.feature', - 'name' => 'Unlimited Feature', - 'type' => Feature::TYPE_UNLIMITED, - ]); - - $user = User::factory()->create(); - $workspace = Workspace::factory()->create(); - $workspace->users()->attach($user->id, ['role' => 'owner']); - - $result = $this->alertService->checkFeatureUsage($workspace, $feature); - - $this->assertFalse($result['alert_sent']); - Notification::assertNothingSent(); - } - - public function test_it_skips_boolean_features(): void - { - Notification::fake(); - - $feature = Feature::factory()->create([ - 'code' => 'boolean.feature', - 'name' => 'Boolean Feature', - 'type' => Feature::TYPE_BOOLEAN, - ]); - - $user = User::factory()->create(); - $workspace = Workspace::factory()->create(); - $workspace->users()->attach($user->id, ['role' => 'owner']); - - // Boolean features should be skipped by the service - // since they don't have limits to check against - $result = $this->alertService->checkFeatureUsage($workspace, $feature); - - $this->assertFalse($result['alert_sent']); - Notification::assertNothingSent(); - } - - public function test_get_active_alerts_returns_unresolved_only(): void - { - $workspace = Workspace::factory()->create(); - - // Create resolved alert - $resolved = UsageAlertHistory::record( - workspaceId: $workspace->id, - featureCode: 'feature.a', - threshold: 80 - ); - $resolved->resolve(); - - // Create unresolved alert - UsageAlertHistory::record( - workspaceId: $workspace->id, - featureCode: 'feature.b', - threshold: 90 - ); - - $activeAlerts = $this->alertService->getActiveAlertsForWorkspace($workspace); - - $this->assertCount(1, $activeAlerts); - $this->assertEquals('feature.b', $activeAlerts->first()->feature_code); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/WaitlistTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/WaitlistTest.php deleted file mode 100644 index 315a8f8..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/WaitlistTest.php +++ /dev/null @@ -1,181 +0,0 @@ -get('/waitlist') - ->assertStatus(200) - ->assertSeeLivewire(Waitlist::class); - }); - - it('requires email', function () { - Livewire::test(Waitlist::class) - ->call('submit') - ->assertHasErrors(['email']); - }); - - it('validates email format', function () { - Livewire::test(Waitlist::class) - ->set('email', 'not-an-email') - ->call('submit') - ->assertHasErrors(['email']); - }); - - it('successfully creates waitlist entry', function () { - Livewire::test(Waitlist::class) - ->set('email', 'newuser@example.com') - ->set('name', 'New User') - ->set('interest', 'SocialHost') - ->call('submit') - ->assertHasNoErrors() - ->assertSet('submitted', true); - - $this->assertDatabaseHas('waitlist_entries', [ - 'email' => 'newuser@example.com', - 'name' => 'New User', - 'interest' => 'SocialHost', - ]); - }); - - it('shows position after signup', function () { - // Create some existing entries - WaitlistEntry::factory()->count(5)->create(); - - $component = Livewire::test(Waitlist::class) - ->set('email', 'position-test@example.com') - ->call('submit') - ->assertSet('submitted', true); - - expect($component->get('position'))->toBe(6); - }); - - it('rejects duplicate email', function () { - WaitlistEntry::factory()->create(['email' => 'existing@example.com']); - - Livewire::test(Waitlist::class) - ->set('email', 'existing@example.com') - ->call('submit') - ->assertHasErrors(['email']) - ->assertSet('submitted', false); - }); - - it('allows submission without name', function () { - Livewire::test(Waitlist::class) - ->set('email', 'noname@example.com') - ->call('submit') - ->assertHasNoErrors() - ->assertSet('submitted', true); - - $this->assertDatabaseHas('waitlist_entries', [ - 'email' => 'noname@example.com', - 'name' => null, - ]); - }); - - it('rate limits submissions', function () { - // Submit 3 times (the limit) - for ($i = 1; $i <= 3; $i++) { - Livewire::test(Waitlist::class) - ->set('email', "user{$i}@example.com") - ->call('submit') - ->assertHasNoErrors(); - } - - // 4th submission should be rate limited - Livewire::test(Waitlist::class) - ->set('email', 'user4@example.com') - ->call('submit') - ->assertHasErrors(['email']); - }); - - it('stores referer source', function () { - Livewire::test(Waitlist::class) - ->set('email', 'referer-test@example.com') - ->call('submit'); - - $entry = WaitlistEntry::where('email', 'referer-test@example.com')->first(); - expect($entry->source)->not->toBeNull(); - }); -}); - -describe('Waitlist Entry Model', function () { - it('can be created with factory', function () { - $entry = WaitlistEntry::factory()->create(); - - expect($entry)->toBeInstanceOf(WaitlistEntry::class) - ->and($entry->email)->not->toBeNull(); - }); - - it('generates invite code when inviting', function () { - $entry = WaitlistEntry::factory()->create([ - 'invite_code' => null, - 'invited_at' => null, - ]); - - expect($entry->invite_code)->toBeNull(); - - $entry->update([ - 'invite_code' => \Illuminate\Support\Str::random(16), - 'invited_at' => now(), - ]); - - expect($entry->invite_code)->not->toBeNull() - ->and(strlen($entry->invite_code))->toBe(16); - }); -}); - -describe('Waitlist Invite Notification', function () { - it('can be rendered', function () { - $entry = WaitlistEntry::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', - 'invite_code' => 'TESTCODE123', - ]); - - $notification = new WaitlistInviteNotification($entry); - $mailMessage = $notification->toMail($entry); - - expect($mailMessage->subject)->toBe('Your Host UK invite is ready') - ->and($mailMessage->greeting)->toBe('Hello Test User,'); - }); - - it('uses fallback greeting without name', function () { - $entry = WaitlistEntry::factory()->create([ - 'name' => null, - 'email' => 'noname@example.com', - 'invite_code' => 'TESTCODE456', - ]); - - $notification = new WaitlistInviteNotification($entry); - $mailMessage = $notification->toMail($entry); - - expect($mailMessage->greeting)->toBe('Hello there,'); - }); - - it('is queued', function () { - Notification::fake(); - - $entry = WaitlistEntry::factory()->create([ - 'invite_code' => 'QUEUETEST123', - ]); - - $entry->notify(new WaitlistInviteNotification($entry)); - - Notification::assertSentTo($entry, WaitlistInviteNotification::class); - }); -}); diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceCacheTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceCacheTest.php deleted file mode 100644 index 3ca4cbf..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceCacheTest.php +++ /dev/null @@ -1,584 +0,0 @@ -cacheManager = app(WorkspaceCacheManager::class); - $this->cacheManager->setConfig([ - 'enabled' => true, - 'ttl' => 300, - 'prefix' => 'test_workspace_cache', - 'use_tags' => false, // Use non-tagged mode for tests (array driver doesn't support tags) - ]); - - // Enable strict mode for tests - WorkspaceScope::enableStrictMode(); - - // Create test data - $this->user = User::factory()->create(['name' => 'Test User']); - $this->workspace = Workspace::factory()->create(['name' => 'Test Workspace']); - $this->otherWorkspace = Workspace::factory()->create(['name' => 'Other Workspace']); - - $this->user->hostWorkspaces()->attach($this->workspace, ['role' => 'owner', 'is_default' => true]); - $this->user->hostWorkspaces()->attach($this->otherWorkspace, ['role' => 'member', 'is_default' => false]); - - // Clear any existing cache - Cache::flush(); - } - - protected function tearDown(): void - { - WorkspaceScope::enableStrictMode(); - WorkspaceCacheManager::resetKeyRegistry(); - parent::tearDown(); - } - - // ------------------------------------------------------------------------- - // WorkspaceCacheManager Basic Tests - // ------------------------------------------------------------------------- - - public function test_cache_manager_can_be_resolved(): void - { - $manager = app(WorkspaceCacheManager::class); - - $this->assertInstanceOf(WorkspaceCacheManager::class, $manager); - } - - public function test_cache_manager_generates_correct_keys(): void - { - $key = $this->cacheManager->key($this->workspace, 'test_key'); - - $this->assertStringContainsString((string) $this->workspace->id, $key); - $this->assertStringContainsString('test_key', $key); - $this->assertStringContainsString('test_workspace_cache', $key); - } - - public function test_cache_manager_workspace_tag_generation(): void - { - $tag = $this->cacheManager->workspaceTag($this->workspace); - - $this->assertStringContainsString((string) $this->workspace->id, $tag); - $this->assertStringContainsString('workspace', $tag); - } - - public function test_cache_manager_model_tag_generation(): void - { - $tag = $this->cacheManager->modelTag(Account::class); - - $this->assertStringContainsString('Account', $tag); - $this->assertStringContainsString('model', $tag); - } - - // ------------------------------------------------------------------------- - // Cache Hit/Miss Tests - // ------------------------------------------------------------------------- - - public function test_cache_remember_stores_and_retrieves_value(): void - { - $callCount = 0; - - // First call - should execute callback - $result1 = $this->cacheManager->remember($this->workspace, 'test', 300, function () use (&$callCount) { - $callCount++; - - return 'cached_value'; - }); - - // Second call - should use cache - $result2 = $this->cacheManager->remember($this->workspace, 'test', 300, function () use (&$callCount) { - $callCount++; - - return 'new_value'; - }); - - $this->assertEquals('cached_value', $result1); - $this->assertEquals('cached_value', $result2); - $this->assertEquals(1, $callCount, 'Callback should only be called once'); - } - - public function test_cache_miss_executes_callback(): void - { - $callCount = 0; - - $result = $this->cacheManager->remember($this->workspace, 'new_key', 300, function () use (&$callCount) { - $callCount++; - - return 'fresh_value'; - }); - - $this->assertEquals('fresh_value', $result); - $this->assertEquals(1, $callCount); - } - - public function test_cache_can_store_collections(): void - { - $collection = collect(['item1', 'item2', 'item3']); - - $this->cacheManager->put($this->workspace, 'collection_test', $collection, 300); - - $retrieved = $this->cacheManager->get($this->workspace, 'collection_test'); - - $this->assertInstanceOf(Collection::class, $retrieved); - $this->assertEquals($collection->toArray(), $retrieved->toArray()); - } - - public function test_cache_has_returns_correct_boolean(): void - { - $this->assertFalse($this->cacheManager->has($this->workspace, 'nonexistent')); - - $this->cacheManager->put($this->workspace, 'exists', 'value', 300); - - $this->assertTrue($this->cacheManager->has($this->workspace, 'exists')); - } - - // ------------------------------------------------------------------------- - // Cache Invalidation Tests - // ------------------------------------------------------------------------- - - public function test_cache_forget_removes_key(): void - { - $this->cacheManager->put($this->workspace, 'to_forget', 'value', 300); - $this->assertTrue($this->cacheManager->has($this->workspace, 'to_forget')); - - $result = $this->cacheManager->forget($this->workspace, 'to_forget'); - - $this->assertTrue($result); - $this->assertFalse($this->cacheManager->has($this->workspace, 'to_forget')); - } - - public function test_cache_flush_clears_all_workspace_keys(): void - { - // Store multiple keys - $this->cacheManager->put($this->workspace, 'key1', 'value1', 300); - $this->cacheManager->put($this->workspace, 'key2', 'value2', 300); - $this->cacheManager->put($this->workspace, 'key3', 'value3', 300); - - // Verify keys exist - $this->assertTrue($this->cacheManager->has($this->workspace, 'key1')); - $this->assertTrue($this->cacheManager->has($this->workspace, 'key2')); - $this->assertTrue($this->cacheManager->has($this->workspace, 'key3')); - - // Flush all keys for workspace - $this->cacheManager->flush($this->workspace); - - // Verify keys are gone - $this->assertFalse($this->cacheManager->has($this->workspace, 'key1')); - $this->assertFalse($this->cacheManager->has($this->workspace, 'key2')); - $this->assertFalse($this->cacheManager->has($this->workspace, 'key3')); - } - - public function test_model_save_clears_workspace_cache(): void - { - $this->actingAs($this->user); - request()->attributes->set('workspace_model', $this->workspace); - - // Create an account (bypassing strict mode for setup) - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - // Cache the collection - $cached = Account::ownedByCurrentWorkspaceCached(); - $this->assertCount(1, $cached); - - // Create another account - this should clear the cache - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - // Get the collection again - should reflect the new data - $refreshed = Account::ownedByCurrentWorkspaceCached(); - $this->assertCount(2, $refreshed); - } - - public function test_model_delete_clears_workspace_cache(): void - { - $this->actingAs($this->user); - request()->attributes->set('workspace_model', $this->workspace); - - // Create accounts - $account = null; - WorkspaceScope::withoutStrictMode(function () use (&$account) { - $account = Account::factory()->create(['workspace_id' => $this->workspace->id]); - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - // Cache the collection - $cached = Account::ownedByCurrentWorkspaceCached(); - $this->assertCount(2, $cached); - - // Delete one account - this should clear the cache - WorkspaceScope::withoutStrictMode(function () use ($account) { - $account->delete(); - }); - - // Get the collection again - should reflect the deletion - $refreshed = Account::ownedByCurrentWorkspaceCached(); - $this->assertCount(1, $refreshed); - } - - // ------------------------------------------------------------------------- - // Multi-Workspace Isolation Tests - // ------------------------------------------------------------------------- - - public function test_cache_is_isolated_between_workspaces(): void - { - // Store different values in different workspaces - $this->cacheManager->put($this->workspace, 'shared_key', 'workspace1_value', 300); - $this->cacheManager->put($this->otherWorkspace, 'shared_key', 'workspace2_value', 300); - - // Retrieve values - $value1 = $this->cacheManager->get($this->workspace, 'shared_key'); - $value2 = $this->cacheManager->get($this->otherWorkspace, 'shared_key'); - - $this->assertEquals('workspace1_value', $value1); - $this->assertEquals('workspace2_value', $value2); - } - - public function test_flush_only_affects_target_workspace(): void - { - // Store values in both workspaces - $this->cacheManager->put($this->workspace, 'key', 'value1', 300); - $this->cacheManager->put($this->otherWorkspace, 'key', 'value2', 300); - - // Flush only the first workspace - $this->cacheManager->flush($this->workspace); - - // First workspace key should be gone - $this->assertFalse($this->cacheManager->has($this->workspace, 'key')); - - // Other workspace key should still exist - $this->assertTrue($this->cacheManager->has($this->otherWorkspace, 'key')); - $this->assertEquals('value2', $this->cacheManager->get($this->otherWorkspace, 'key')); - } - - public function test_model_caching_respects_workspace_context(): void - { - $this->actingAs($this->user); - - // Create accounts in different workspaces - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id, 'name' => 'Account 1']); - Account::factory()->create(['workspace_id' => $this->workspace->id, 'name' => 'Account 2']); - Account::factory()->create(['workspace_id' => $this->otherWorkspace->id, 'name' => 'Other Account']); - }); - - // Set context to first workspace - request()->attributes->set('workspace_model', $this->workspace); - - // Cache should only contain first workspace's accounts - $cached = Account::ownedByCurrentWorkspaceCached(); - $this->assertCount(2, $cached); - $this->assertTrue($cached->pluck('name')->contains('Account 1')); - $this->assertTrue($cached->pluck('name')->contains('Account 2')); - $this->assertFalse($cached->pluck('name')->contains('Other Account')); - - // Switch context to other workspace - request()->attributes->set('workspace_model', $this->otherWorkspace); - - // Cache should only contain other workspace's accounts - $otherCached = Account::ownedByCurrentWorkspaceCached(); - $this->assertCount(1, $otherCached); - $this->assertTrue($otherCached->pluck('name')->contains('Other Account')); - } - - // ------------------------------------------------------------------------- - // Configuration Tests - // ------------------------------------------------------------------------- - - public function test_cache_disabled_when_config_disabled(): void - { - $this->cacheManager->setConfig([ - 'enabled' => false, - 'ttl' => 300, - 'prefix' => 'test', - 'use_tags' => false, - ]); - - $callCount = 0; - - // Both calls should execute the callback because caching is disabled - $this->cacheManager->remember($this->workspace, 'test', 300, function () use (&$callCount) { - $callCount++; - - return 'value'; - }); - - $this->cacheManager->remember($this->workspace, 'test', 300, function () use (&$callCount) { - $callCount++; - - return 'value'; - }); - - $this->assertEquals(2, $callCount, 'Both calls should execute callback when cache is disabled'); - } - - public function test_default_ttl_used_when_null_passed(): void - { - $this->cacheManager->setConfig([ - 'enabled' => true, - 'ttl' => 600, - 'prefix' => 'test', - 'use_tags' => false, - ]); - - $this->assertEquals(600, $this->cacheManager->defaultTtl()); - } - - public function test_custom_prefix_used_in_keys(): void - { - $this->cacheManager->setConfig([ - 'enabled' => true, - 'ttl' => 300, - 'prefix' => 'custom_prefix', - 'use_tags' => false, - ]); - - $key = $this->cacheManager->key($this->workspace, 'test'); - - $this->assertStringContainsString('custom_prefix', $key); - } - - // ------------------------------------------------------------------------- - // Cache Statistics Tests - // ------------------------------------------------------------------------- - - public function test_stats_returns_workspace_cache_info(): void - { - $this->cacheManager->put($this->workspace, 'key1', 'value1', 300); - $this->cacheManager->put($this->workspace, 'key2', 'value2', 300); - - $stats = $this->cacheManager->stats($this->workspace); - - $this->assertEquals($this->workspace->id, $stats['workspace_id']); - $this->assertTrue($stats['enabled']); - $this->assertIsInt($stats['registered_keys']); - $this->assertIsArray($stats['keys']); - } - - public function test_get_registered_keys_returns_workspace_keys(): void - { - $this->cacheManager->put($this->workspace, 'key1', 'value1', 300); - $this->cacheManager->put($this->workspace, 'key2', 'value2', 300); - - $keys = $this->cacheManager->getRegisteredKeys($this->workspace); - - $this->assertCount(2, $keys); - } - - // ------------------------------------------------------------------------- - // HasWorkspaceCache Trait Tests - // ------------------------------------------------------------------------- - - public function test_has_workspace_cache_remember_for_workspace(): void - { - $this->actingAs($this->user); - request()->attributes->set('workspace_model', $this->workspace); - - // Create a model class that uses HasWorkspaceCache - $testModel = new class extends Model - { - use BelongsToWorkspace; - use HasWorkspaceCache; - - protected $table = 'test_cache_models'; - }; - - $callCount = 0; - - // First call - should execute callback - $result1 = $testModel::rememberForWorkspace('custom_key', 300, function () use (&$callCount) { - $callCount++; - - return collect(['item1', 'item2']); - }); - - // Second call - should use cache - $result2 = $testModel::rememberForWorkspace('custom_key', 300, function () use (&$callCount) { - $callCount++; - - return collect(['different']); - }); - - $this->assertEquals(['item1', 'item2'], $result1->toArray()); - $this->assertEquals(['item1', 'item2'], $result2->toArray()); - $this->assertEquals(1, $callCount); - } - - public function test_has_workspace_cache_forget_for_workspace(): void - { - $this->actingAs($this->user); - request()->attributes->set('workspace_model', $this->workspace); - - $testModel = new class extends Model - { - use BelongsToWorkspace; - use HasWorkspaceCache; - - protected $table = 'test_cache_models'; - }; - - // Store a value - $testModel::putForWorkspace('to_forget', 'value', 300); - $this->assertTrue($testModel::hasInWorkspaceCache('to_forget')); - - // Forget it - $testModel::forgetForWorkspace('to_forget'); - $this->assertFalse($testModel::hasInWorkspaceCache('to_forget')); - } - - public function test_has_workspace_cache_without_context_returns_callback_result(): void - { - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - WorkspaceScope::disableStrictMode(); - - $testModel = new class extends Model - { - use BelongsToWorkspace; - use HasWorkspaceCache; - - protected $table = 'test_cache_models'; - - protected bool $workspaceContextRequired = false; - }; - - $callCount = 0; - - // Without context, should always execute callback (no caching) - $result = $testModel::rememberForWorkspace('key', 300, function () use (&$callCount) { - $callCount++; - - return 'uncached_value'; - }); - - $this->assertEquals('uncached_value', $result); - $this->assertEquals(1, $callCount); - - WorkspaceScope::enableStrictMode(); - } - - // ------------------------------------------------------------------------- - // BelongsToWorkspace Caching Tests - // ------------------------------------------------------------------------- - - public function test_owned_by_current_workspace_cached_uses_cache_manager(): void - { - $this->actingAs($this->user); - request()->attributes->set('workspace_model', $this->workspace); - - // Create an account - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - // First call - should cache - $result1 = Account::ownedByCurrentWorkspaceCached(); - - // Verify result - $this->assertCount(1, $result1); - - // Check that cache key was registered - $keys = $this->cacheManager->getRegisteredKeys($this->workspace); - $this->assertNotEmpty($keys); - } - - public function test_for_workspace_cached_caches_for_specific_workspace(): void - { - // Create accounts in the workspace - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->count(3)->create(['workspace_id' => $this->workspace->id]); - }); - - $callCount = 0; - - // Manually test caching behavior - $firstCall = Account::forWorkspaceCached($this->workspace, 300); - $this->assertCount(3, $firstCall); - - // Second call should use cache (we can't easily verify this without mocking, - // but we can verify the result is consistent) - $secondCall = Account::forWorkspaceCached($this->workspace, 300); - $this->assertCount(3, $secondCall); - } - - public function test_workspace_cache_key_includes_model_name(): void - { - $key = Account::workspaceCacheKey($this->workspace->id); - - $this->assertStringContainsString('Account', $key); - $this->assertStringContainsString((string) $this->workspace->id, $key); - } - - public function test_clear_all_workspace_caches_clears_user_workspaces(): void - { - $this->actingAs($this->user); - - // Cache data in both workspaces - request()->attributes->set('workspace_model', $this->workspace); - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - Account::ownedByCurrentWorkspaceCached(); - - request()->attributes->set('workspace_model', $this->otherWorkspace); - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->otherWorkspace->id]); - }); - Account::ownedByCurrentWorkspaceCached(); - - // Clear all caches for the model - Account::clearAllWorkspaceCaches(); - - // Note: Without tags, this clears cache for all workspaces the user has access to - // The cache should be empty for both workspaces now - $keys1 = $this->cacheManager->getRegisteredKeys($this->workspace); - $keys2 = $this->cacheManager->getRegisteredKeys($this->otherWorkspace); - - // After clearing, the registered keys should be empty or the cache values should be missing - // (depending on implementation details) - $this->assertCount(0, $keys1); - $this->assertCount(0, $keys2); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceInvitationTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceInvitationTest.php deleted file mode 100644 index 9c088d5..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceInvitationTest.php +++ /dev/null @@ -1,192 +0,0 @@ -create(); - $workspace = Workspace::factory()->create(); - $workspace->users()->attach($owner->id, ['role' => 'owner']); - - $invitation = $workspace->invite('newuser@example.com', 'member', $owner); - - $this->assertDatabaseHas('workspace_invitations', [ - 'workspace_id' => $workspace->id, - 'email' => 'newuser@example.com', - 'role' => 'member', - 'invited_by' => $owner->id, - ]); - - $this->assertNotNull($invitation->token); - $this->assertTrue($invitation->isPending()); - $this->assertFalse($invitation->isExpired()); - $this->assertFalse($invitation->isAccepted()); - - Notification::assertSentTo($invitation, WorkspaceInvitationNotification::class); - } - - public function test_invitation_expires_after_set_days(): void - { - $workspace = Workspace::factory()->create(); - $invitation = $workspace->invite('test@example.com', 'member', null, 3); - - $this->assertTrue($invitation->expires_at->isBetween( - now()->addDays(2)->addHours(23), - now()->addDays(3)->addHours(1) - )); - } - - public function test_user_can_accept_invitation(): void - { - $workspace = Workspace::factory()->create(); - $user = User::factory()->create(['email' => 'invited@example.com']); - - $invitation = WorkspaceInvitation::factory()->create([ - 'workspace_id' => $workspace->id, - 'email' => 'invited@example.com', - 'role' => 'admin', - ]); - - $result = $invitation->accept($user); - - $this->assertTrue($result); - $this->assertTrue($invitation->fresh()->isAccepted()); - $this->assertTrue($workspace->users()->where('user_id', $user->id)->exists()); - $this->assertEquals('admin', $workspace->users()->find($user->id)->pivot->role); - } - - public function test_expired_invitation_cannot_be_accepted(): void - { - $workspace = Workspace::factory()->create(); - $user = User::factory()->create(); - - $invitation = WorkspaceInvitation::factory()->expired()->create([ - 'workspace_id' => $workspace->id, - ]); - - $result = $invitation->accept($user); - - $this->assertFalse($result); - $this->assertFalse($workspace->users()->where('user_id', $user->id)->exists()); - } - - public function test_already_accepted_invitation_cannot_be_reused(): void - { - $workspace = Workspace::factory()->create(); - $user = User::factory()->create(); - - $invitation = WorkspaceInvitation::factory()->accepted()->create([ - 'workspace_id' => $workspace->id, - ]); - - $result = $invitation->accept($user); - - $this->assertFalse($result); - } - - public function test_resending_invitation_updates_existing(): void - { - Notification::fake(); - - $workspace = Workspace::factory()->create(); - $owner = User::factory()->create(); - - // First invitation as member - $first = $workspace->invite('test@example.com', 'member', $owner); - $firstToken = $first->token; - - // Second invitation as admin - should update existing - $second = $workspace->invite('test@example.com', 'admin', $owner); - - $this->assertEquals($first->id, $second->id); - $this->assertEquals($firstToken, $second->token); // Token unchanged - $this->assertEquals('admin', $second->role); - - // Should only have one invitation - $this->assertEquals(1, $workspace->invitations()->count()); - } - - public function test_static_accept_invitation_method(): void - { - $workspace = Workspace::factory()->create(); - $user = User::factory()->create(); - - $invitation = WorkspaceInvitation::factory()->create([ - 'workspace_id' => $workspace->id, - 'role' => 'member', - ]); - - $result = Workspace::acceptInvitation($invitation->token, $user); - - $this->assertTrue($result); - $this->assertTrue($workspace->users()->where('user_id', $user->id)->exists()); - } - - public function test_static_accept_with_invalid_token_returns_false(): void - { - $user = User::factory()->create(); - - $result = Workspace::acceptInvitation('invalid-token', $user); - - $this->assertFalse($result); - } - - public function test_user_already_in_workspace_still_accepts(): void - { - $workspace = Workspace::factory()->create(); - $user = User::factory()->create(); - - // User already in workspace - $workspace->users()->attach($user->id, ['role' => 'member']); - - $invitation = WorkspaceInvitation::factory()->create([ - 'workspace_id' => $workspace->id, - 'email' => $user->email, - 'role' => 'admin', - ]); - - $result = $invitation->accept($user); - - $this->assertTrue($result); - $this->assertTrue($invitation->fresh()->isAccepted()); - // Role should remain as original (member), not updated to admin - $this->assertEquals('member', $workspace->users()->find($user->id)->pivot->role); - } - - public function test_invitation_scopes(): void - { - $workspace = Workspace::factory()->create(); - - $pending = WorkspaceInvitation::factory()->create([ - 'workspace_id' => $workspace->id, - ]); - - $expired = WorkspaceInvitation::factory()->expired()->create([ - 'workspace_id' => $workspace->id, - ]); - - $accepted = WorkspaceInvitation::factory()->accepted()->create([ - 'workspace_id' => $workspace->id, - ]); - - $this->assertEquals(1, WorkspaceInvitation::pending()->count()); - $this->assertEquals(1, WorkspaceInvitation::expired()->count()); - $this->assertEquals(1, WorkspaceInvitation::accepted()->count()); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceSecurityTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceSecurityTest.php deleted file mode 100644 index a7a090b..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceSecurityTest.php +++ /dev/null @@ -1,433 +0,0 @@ -user = User::factory()->create(['name' => 'Test User']); - $this->workspace = Workspace::factory()->create(['name' => 'Test Workspace']); - $this->user->hostWorkspaces()->attach($this->workspace, ['role' => 'owner', 'is_default' => true]); - } - - protected function tearDown(): void - { - // Reset to default state - WorkspaceScope::enableStrictMode(); - parent::tearDown(); - } - - // ───────────────────────────────────────────────────────────────────────── - // MissingWorkspaceContextException Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_exception_for_model_has_correct_message(): void - { - $exception = MissingWorkspaceContextException::forModel('Account', 'query'); - - $this->assertStringContainsString('Account', $exception->getMessage()); - $this->assertStringContainsString('query', $exception->getMessage()); - $this->assertEquals('query', $exception->getOperation()); - $this->assertEquals('Account', $exception->getModel()); - } - - public function test_exception_for_create_has_correct_message(): void - { - $exception = MissingWorkspaceContextException::forCreate('Account'); - - $this->assertStringContainsString('Account', $exception->getMessage()); - $this->assertStringContainsString('create', $exception->getMessage()); - $this->assertEquals('create', $exception->getOperation()); - } - - public function test_exception_for_scope_has_correct_message(): void - { - $exception = MissingWorkspaceContextException::forScope('Account'); - - $this->assertStringContainsString('Account', $exception->getMessage()); - $this->assertStringContainsString('scope', $exception->getMessage()); - $this->assertEquals('scope', $exception->getOperation()); - } - - public function test_exception_renders_json_for_api_requests(): void - { - $exception = MissingWorkspaceContextException::forMiddleware(); - $request = Request::create('/api/test', 'GET'); - $request->headers->set('Accept', 'application/json'); - - $response = $exception->render($request); - - $this->assertEquals(403, $response->getStatusCode()); - $content = json_decode($response->getContent(), true); - $this->assertArrayHasKey('error', $content); - $this->assertEquals('missing_workspace_context', $content['error']); - } - - // ───────────────────────────────────────────────────────────────────────── - // WorkspaceScope Strict Mode Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_workspace_scope_throws_in_strict_mode_without_context(): void - { - WorkspaceScope::enableStrictMode(); - - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - - $this->expectException(MissingWorkspaceContextException::class); - $this->expectExceptionMessage('scope'); - - // This should throw because no workspace context is available - Account::query()->get(); - } - - public function test_workspace_scope_works_with_valid_context(): void - { - $this->actingAs($this->user); - - // Create an account for this workspace - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - // Set workspace context - request()->attributes->set('workspace_model', $this->workspace); - - // Should not throw - $accounts = Account::query()->get(); - - $this->assertCount(1, $accounts); - } - - public function test_workspace_scope_strict_mode_can_be_disabled(): void - { - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - - WorkspaceScope::disableStrictMode(); - - // Should not throw, but return empty result - $accounts = Account::query()->get(); - - $this->assertCount(0, $accounts); - - // Re-enable for other tests - WorkspaceScope::enableStrictMode(); - } - - public function test_without_strict_mode_callback_restores_state(): void - { - WorkspaceScope::enableStrictMode(); - $this->assertTrue(WorkspaceScope::isStrictModeEnabled()); - - WorkspaceScope::withoutStrictMode(function () { - $this->assertFalse(WorkspaceScope::isStrictModeEnabled()); - }); - - $this->assertTrue(WorkspaceScope::isStrictModeEnabled()); - } - - public function test_for_workspace_macro_bypasses_strict_mode(): void - { - // Ensure no current workspace context - request()->attributes->remove('workspace_model'); - - // Create data - WorkspaceScope::withoutStrictMode(function () { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - // forWorkspace should work even without global context - $accounts = Account::query()->forWorkspace($this->workspace)->get(); - - $this->assertCount(1, $accounts); - } - - public function test_across_workspaces_macro_bypasses_strict_mode(): void - { - // Ensure no current workspace context - request()->attributes->remove('workspace_model'); - - // Create data in multiple workspaces - $workspace2 = Workspace::factory()->create(); - - WorkspaceScope::withoutStrictMode(function () use ($workspace2) { - Account::factory()->create(['workspace_id' => $this->workspace->id]); - Account::factory()->create(['workspace_id' => $workspace2->id]); - }); - - // acrossWorkspaces should work without context - $accounts = Account::query()->acrossWorkspaces()->get(); - - $this->assertCount(2, $accounts); - } - - // ───────────────────────────────────────────────────────────────────────── - // BelongsToWorkspace Trait Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_creating_model_without_workspace_throws_in_strict_mode(): void - { - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - WorkspaceScope::enableStrictMode(); - - $this->expectException(MissingWorkspaceContextException::class); - $this->expectExceptionMessage('create'); - - Account::create([ - 'uuid' => \Illuminate\Support\Str::uuid(), - 'provider' => 'twitter', - 'provider_id' => '12345', - 'name' => 'Test Account', - 'credentials' => collect(['access_token' => 'test-token']), - ]); - } - - public function test_creating_model_with_explicit_workspace_id_succeeds(): void - { - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - - // Should succeed because workspace_id is explicitly provided - $account = Account::create([ - 'uuid' => \Illuminate\Support\Str::uuid(), - 'workspace_id' => $this->workspace->id, - 'provider' => 'twitter', - 'provider_id' => '12345', - 'name' => 'Test Account', - 'credentials' => collect(['access_token' => 'test-token']), - ]); - - $this->assertEquals($this->workspace->id, $account->workspace_id); - } - - public function test_creating_model_with_workspace_context_auto_assigns(): void - { - $this->actingAs($this->user); - request()->attributes->set('workspace_model', $this->workspace); - - $account = Account::create([ - 'uuid' => \Illuminate\Support\Str::uuid(), - 'provider' => 'twitter', - 'provider_id' => '12345', - 'name' => 'Test Account', - 'credentials' => collect(['access_token' => 'test-token']), - ]); - - $this->assertEquals($this->workspace->id, $account->workspace_id); - } - - public function test_owned_by_current_workspace_throws_without_context(): void - { - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - WorkspaceScope::enableStrictMode(); - - $this->expectException(MissingWorkspaceContextException::class); - - Account::ownedByCurrentWorkspace()->get(); - } - - public function test_owned_by_current_workspace_cached_throws_without_context(): void - { - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - WorkspaceScope::enableStrictMode(); - - $this->expectException(MissingWorkspaceContextException::class); - - Account::ownedByCurrentWorkspaceCached(); - } - - // ───────────────────────────────────────────────────────────────────────── - // RequireWorkspaceContext Middleware Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_middleware_throws_without_workspace_context(): void - { - $middleware = new RequireWorkspaceContext; - $request = Request::create('/test', 'GET'); - - $this->expectException(MissingWorkspaceContextException::class); - - $middleware->handle($request, fn () => response('OK')); - } - - public function test_middleware_passes_with_workspace_model_attribute(): void - { - $middleware = new RequireWorkspaceContext; - $request = Request::create('/test', 'GET'); - $request->attributes->set('workspace_model', $this->workspace); - - $response = $middleware->handle($request, fn () => response('OK')); - - $this->assertEquals(200, $response->getStatusCode()); - } - - public function test_middleware_resolves_workspace_from_header(): void - { - $middleware = new RequireWorkspaceContext; - $request = Request::create('/test', 'GET'); - $request->headers->set('X-Workspace-ID', (string) $this->workspace->id); - - $response = $middleware->handle($request, fn () => response('OK')); - - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals($this->workspace->id, $request->attributes->get('workspace_model')->id); - } - - public function test_middleware_resolves_workspace_from_query(): void - { - $middleware = new RequireWorkspaceContext; - $request = Request::create('/test?workspace='.$this->workspace->slug, 'GET'); - - $response = $middleware->handle($request, fn () => response('OK')); - - $this->assertEquals(200, $response->getStatusCode()); - } - - public function test_middleware_validates_user_access_when_requested(): void - { - $middleware = new RequireWorkspaceContext; - - // Create another workspace the user doesn't have access to - $otherWorkspace = Workspace::factory()->create(['name' => 'Other Workspace']); - - $this->actingAs($this->user); - $request = Request::create('/test', 'GET'); - $request->setUserResolver(fn () => $this->user); - $request->attributes->set('workspace_model', $otherWorkspace); - - $this->expectException(MissingWorkspaceContextException::class); - $this->expectExceptionMessage('do not have access'); - - $middleware->handle($request, fn () => response('OK'), 'validate'); - } - - public function test_middleware_allows_access_to_user_workspace(): void - { - $middleware = new RequireWorkspaceContext; - - $this->actingAs($this->user); - $request = Request::create('/test', 'GET'); - $request->setUserResolver(fn () => $this->user); - $request->attributes->set('workspace_model', $this->workspace); - - $response = $middleware->handle($request, fn () => response('OK'), 'validate'); - - $this->assertEquals(200, $response->getStatusCode()); - } - - // ───────────────────────────────────────────────────────────────────────── - // Cross-Tenant Isolation Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_cannot_query_other_workspace_data_with_scoped_query(): void - { - $workspace2 = Workspace::factory()->create(['name' => 'Workspace 2']); - - // Create accounts in both workspaces (bypass strict mode for setup) - WorkspaceScope::withoutStrictMode(function () use ($workspace2) { - Account::factory()->create(['workspace_id' => $this->workspace->id, 'name' => 'Account 1']); - Account::factory()->create(['workspace_id' => $workspace2->id, 'name' => 'Account 2']); - }); - - // Set context to workspace 1 - request()->attributes->set('workspace_model', $this->workspace); - - // Should only see workspace 1's accounts - $accounts = Account::query()->get(); - $this->assertCount(1, $accounts); - $this->assertEquals('Account 1', $accounts->first()->name); - } - - public function test_model_belongs_to_workspace_check_works(): void - { - $workspace2 = Workspace::factory()->create(); - - $account = null; - WorkspaceScope::withoutStrictMode(function () use (&$account) { - $account = Account::factory()->create(['workspace_id' => $this->workspace->id]); - }); - - $this->assertTrue($account->belongsToWorkspace($this->workspace)); - $this->assertTrue($account->belongsToWorkspace($this->workspace->id)); - $this->assertFalse($account->belongsToWorkspace($workspace2)); - $this->assertFalse($account->belongsToWorkspace($workspace2->id)); - } - - public function test_model_belongs_to_current_workspace_check_works(): void - { - $workspace2 = Workspace::factory()->create(); - - $account1 = null; - $account2 = null; - WorkspaceScope::withoutStrictMode(function () use (&$account1, &$account2, $workspace2) { - $account1 = Account::factory()->create(['workspace_id' => $this->workspace->id]); - $account2 = Account::factory()->create(['workspace_id' => $workspace2->id]); - }); - - // Set current workspace - request()->attributes->set('workspace_model', $this->workspace); - - $this->assertTrue($account1->belongsToCurrentWorkspace()); - $this->assertFalse($account2->belongsToCurrentWorkspace()); - } - - // ───────────────────────────────────────────────────────────────────────── - // Model Opt-Out Tests - // ───────────────────────────────────────────────────────────────────────── - - public function test_model_can_opt_out_of_strict_workspace_context(): void - { - // Create a test model class that opts out - $model = new class extends Model - { - use BelongsToWorkspace; - - protected $table = 'test_models'; - - protected bool $workspaceContextRequired = false; - }; - - // Ensure no workspace context - request()->attributes->remove('workspace_model'); - WorkspaceScope::enableStrictMode(); - - // Should not throw because model opted out - $this->assertFalse($model->requiresWorkspaceContext()); - } -} diff --git a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceTenancyTest.php b/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceTenancyTest.php deleted file mode 100644 index 5485481..0000000 --- a/packages/core-php/src/Mod/Tenant/Tests/Feature/WorkspaceTenancyTest.php +++ /dev/null @@ -1,165 +0,0 @@ -userA = User::factory()->create(['name' => 'User A']); - $this->userB = User::factory()->create(['name' => 'User B']); - - $this->workspaceA = Workspace::factory()->create(['name' => 'Workspace A']); - $this->workspaceB = Workspace::factory()->create(['name' => 'Workspace B']); - - // Attach users to their workspaces - $this->userA->hostWorkspaces()->attach($this->workspaceA, ['role' => 'owner', 'is_default' => true]); - $this->userB->hostWorkspaces()->attach($this->workspaceB, ['role' => 'owner', 'is_default' => true]); - } - - public function test_workspace_has_relationship_methods_for_all_services() - { - $workspace = Workspace::factory()->create(); - - // Test that all relationship methods exist and return correct type - $this->assertInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class, $workspace->socialAccounts()); - $this->assertInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class, $workspace->socialPosts()); - $this->assertInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class, $workspace->analyticsSites()); - $this->assertInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class, $workspace->trustWidgets()); - $this->assertInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class, $workspace->notificationSites()); - $this->assertInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class, $workspace->pushCampaigns()); - // NOTE: bioPages relationship has been moved to Host UK app's Mod\Bio module - } - - public function test_workspace_current_resolves_from_authenticated_user() - { - $this->actingAs($this->userA); - - $current = Workspace::current(); - - $this->assertNotNull($current); - $this->assertEquals($this->workspaceA->id, $current->id); - } - - public function test_workspace_scoping_isolates_data_between_workspaces() - { - // Create social accounts for each workspace - $accountA = Account::factory()->create([ - 'workspace_id' => $this->workspaceA->id, - 'name' => 'Account A', - ]); - - $accountB = Account::factory()->create([ - 'workspace_id' => $this->workspaceB->id, - 'name' => 'Account B', - ]); - - // User A should only see their workspace's account - $this->actingAs($this->userA); - $accountsForUserA = Account::ownedByCurrentWorkspace()->get(); - $this->assertCount(1, $accountsForUserA); - $this->assertEquals('Account A', $accountsForUserA->first()->name); - - // User B should only see their workspace's account - $this->actingAs($this->userB); - $accountsForUserB = Account::ownedByCurrentWorkspace()->get(); - $this->assertCount(1, $accountsForUserB); - $this->assertEquals('Account B', $accountsForUserB->first()->name); - } - - public function test_workspace_relationships_return_correct_models() - { - // Create various resources for workspace A - Account::factory()->create(['workspace_id' => $this->workspaceA->id]); - Account::factory()->create(['workspace_id' => $this->workspaceA->id]); - Website::factory()->create(['workspace_id' => $this->workspaceA->id]); - - // Create some for workspace B (should not appear) - Account::factory()->create(['workspace_id' => $this->workspaceB->id]); - - $this->assertEquals(2, $this->workspaceA->socialAccounts()->count()); - $this->assertEquals(1, $this->workspaceA->analyticsSites()->count()); - - // Workspace B should have different counts - $this->assertEquals(1, $this->workspaceB->socialAccounts()->count()); - } - - public function test_models_with_workspace_trait_auto_assign_workspace_on_create() - { - $this->actingAs($this->userA); - - // When creating a model with BelongsToWorkspace trait, - // it should auto-assign the current user's workspace - $account = Account::create([ - 'uuid' => \Illuminate\Support\Str::uuid(), - 'provider' => 'twitter', - 'provider_id' => '12345', - 'name' => 'Test Account', - 'credentials' => collect(['access_token' => 'test-token']), - ]); - - $this->assertEquals($this->workspaceA->id, $account->workspace_id); - } - - public function test_workspace_scope_prevents_cross_workspace_access() - { - $accountA = Account::factory()->create([ - 'workspace_id' => $this->workspaceA->id, - 'uuid' => 'uuid-a', - ]); - - $accountB = Account::factory()->create([ - 'workspace_id' => $this->workspaceB->id, - 'uuid' => 'uuid-b', - ]); - - $this->actingAs($this->userA); - - // User A should be able to find their account - $found = Account::ownedByCurrentWorkspace()->where('uuid', 'uuid-a')->first(); - $this->assertNotNull($found); - - // User A should NOT be able to find User B's account via scoped query - $notFound = Account::ownedByCurrentWorkspace()->where('uuid', 'uuid-b')->first(); - $this->assertNull($notFound); - - // But should be able to find it if scope is explicitly bypassed - $foundWithoutScope = Account::withoutGlobalScopes()->where('uuid', 'uuid-b')->first(); - $this->assertNotNull($foundWithoutScope); - } - - public function test_belongs_to_workspace_method_checks_ownership() - { - $accountA = Account::factory()->create(['workspace_id' => $this->workspaceA->id]); - $accountB = Account::factory()->create(['workspace_id' => $this->workspaceB->id]); - - $this->assertTrue($accountA->belongsToWorkspace($this->workspaceA)); - $this->assertFalse($accountA->belongsToWorkspace($this->workspaceB)); - - $this->assertTrue($accountB->belongsToWorkspace($this->workspaceB)); - $this->assertFalse($accountB->belongsToWorkspace($this->workspaceA)); - } -} diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/admin/entitlement-webhook-manager.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/admin/entitlement-webhook-manager.blade.php deleted file mode 100644 index d852625..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/admin/entitlement-webhook-manager.blade.php +++ /dev/null @@ -1,401 +0,0 @@ -
- {{-- Stats --}} -
- -
-
- -
-
-
{{ number_format($this->stats['total']) }}
-
Total Webhooks
-
-
-
- - -
-
- -
-
-
{{ number_format($this->stats['active']) }}
-
Active
-
-
-
- - -
-
- -
-
-
{{ number_format($this->stats['circuit_broken']) }}
-
Circuit Broken
-
-
-
-
- - {{-- Message --}} - @if($message) -
- - {{ $message }} - -
- @endif - - {{-- Filters --}} - -
-
- -
- -
- - - @foreach($this->workspaces as $workspace) - - @endforeach - -
- -
- - - - - - -
- - - - New Webhook - -
-
- - {{-- Webhooks Table --}} - - - - - Webhook - Workspace - Events - Status - Deliveries - Actions - - - - @forelse($this->webhooks as $webhook) - - -
-
{{ $webhook->name }}
-
- {{ $webhook->url }} -
-
-
- - - {{ $webhook->workspace?->name ?? 'N/A' }} - - - -
- @foreach($webhook->events as $event) - {{ $event }} - @endforeach -
-
- - - @if($webhook->isCircuitBroken()) - Circuit Broken - @elseif($webhook->is_active) - Active - @else - Inactive - @endif - - @if($webhook->last_delivery_status) -
- - Last: {{ ucfirst($webhook->last_delivery_status->value) }} - -
- @endif -
- - - - - - - - - - - - - - - - Edit - - - - - Send Test - - - - - View Deliveries - - - - - Regenerate Secret - - - @if($webhook->isCircuitBroken()) - - - Reset Circuit Breaker - - @endif - - - - - @if($webhook->is_active) - - Disable - @else - - Enable - @endif - - - - - Delete - - - -
- @empty - - - No webhooks found. Create one to get started. - - - @endforelse -
-
- -
- {{ $this->webhooks->links() }} -
-
- - {{-- Create/Edit Modal --}} - - - {{ $editingId ? 'Edit Webhook' : 'Create Webhook' }} - - - -
- @if(!$editingId) - - Workspace - - - @foreach($this->workspaces as $workspace) - - @endforeach - - - - @endif - - - Name - - - - - - URL - - - The endpoint that will receive webhook POST requests. - - - - Events -
- @foreach($this->availableEvents as $eventKey => $eventInfo) - - @endforeach -
- -
- - - Max Retry Attempts - - Number of times to retry failed deliveries (1-10). - - - - - Inactive webhooks will not receive any events. - -
-
- - - Cancel - - {{ $editingId ? 'Update' : 'Create' }} - - -
- - {{-- Deliveries Modal --}} - - - Delivery History - - - - - - - Event - Status - HTTP - Attempts - Time - - - - - @forelse($this->recentDeliveries as $delivery) - - - {{ $delivery->getEventDisplayName() }} - - - - - {{ ucfirst($delivery->status->value) }} - - - - - {{ $delivery->http_status ?? '-' }} - - - - {{ $delivery->attempts }} - - - - - {{ $delivery->created_at->diffForHumans() }} - - - - - @if($delivery->isFailed()) - - Retry - - @endif - - - @empty - - - No deliveries yet. - - - @endforelse - - - - - - Close - - - - {{-- Secret Modal --}} - - - Webhook Secret - - - - - Save this secret now. It will not be shown again. - - -
- {{ $displaySecret }} -
- -

- Use this secret to verify webhook signatures. The signature is sent in the - X-Signature header - and is a HMAC-SHA256 hash of the JSON payload. -

-
- - - - I've saved the secret - - -
-
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-details.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-details.blade.php deleted file mode 100644 index 1c5bf09..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-details.blade.php +++ /dev/null @@ -1,696 +0,0 @@ -
- {{-- Header --}} -
-
- - - Workspaces - - / - {{ $workspace->name }} -
- -
-
-
- -
-
-

{{ $workspace->name }}

-
- {{ $workspace->slug }} - @if($workspace->is_active) - - Active - - @else - - Inactive - - @endif -
-
-
- - - Hades Only - -
-
- - {{-- Action message --}} - @if($actionMessage) -
-
- - {{ $actionMessage }} -
-
- @endif - - {{-- Tabs --}} -
- -
- - {{-- Tab Content --}} -
- {{-- Overview Tab --}} - @if($activeTab === 'overview') -
- {{-- Quick Stats --}} -
- {{-- Owner Card --}} -
-

Workspace Owner

- @php $owner = $workspace->owner(); @endphp - @if($owner) -
-
- -
-
-
{{ $owner->name }}
-
{{ $owner->email }}
-
-
- @else -
No owner assigned
- @endif -
- - {{-- Packages Card --}} -
-

Active Packages

- @if($this->activePackages->count() > 0) -
- @foreach($this->activePackages as $wp) -
-
-
- -
-
-
{{ $wp->package?->name ?? 'Unknown' }}
-
{{ $wp->package?->code ?? '' }}
-
-
-
- - {{ ucfirst($wp->status) }} - - @if($wp->expires_at) -
Expires {{ $wp->expires_at->format('d M Y') }}
- @endif -
-
- @endforeach -
- @else -
No packages assigned
- @endif -
- - {{-- Boosts Card --}} -
-

Active Boosts

- @if($this->activeBoosts->count() > 0) -
- @foreach($this->activeBoosts as $boost) -
-
-
- -
-
-
{{ $boost->feature_code }}
-
{{ str_replace('_', ' ', $boost->boost_type) }}@if($boost->limit_value) · +{{ number_format($boost->limit_value) }}@endif
-
-
-
- - {{ ucfirst($boost->status) }} - - @if($boost->expires_at) -
Expires {{ $boost->expires_at->format('d M Y') }}
- @else -
Permanent
- @endif -
-
- @endforeach -
- @else -
No boosts active
- @endif -
- - {{-- Subscription Card --}} - @if($this->subscriptionInfo) -
-

Subscription

-
-
-
- -
-
-
{{ $this->subscriptionInfo['plan'] }}
-
Renews {{ $this->subscriptionInfo['current_period_end'] }}
-
-
- @if($this->subscriptionInfo['amount']) -
-
{{ $this->subscriptionInfo['currency'] }} {{ $this->subscriptionInfo['amount'] }}
-
/month
-
- @endif -
-
- @endif -
- - {{-- Sidebar Stats --}} -
-
-

Quick Stats

-
-
- Team Members - {{ $this->teamMembers->count() }} -
- @foreach(array_slice($this->resourceCounts, 0, 5) as $resource) -
- {{ $resource['label'] }} - {{ $resource['count'] }} -
- @endforeach -
-
- - {{-- Workspace Info --}} -
-

Details

-
-
-
Created
-
{{ $workspace->created_at->format('d M Y') }}
-
-
-
- Domain - -
-
{{ $workspace->domain ?: 'Not set' }}
-
- @if($workspace->wp_connector_enabled) -
-
WP Connector
-
- Connected -
-
- @endif -
-
-
-
- @endif - - {{-- Team Tab --}} - @if($activeTab === 'team') -
-
-

Team Members ({{ $this->teamMembers->count() }})

- - - Add Member - -
-
- @forelse($this->teamMembers as $member) -
-
-
- -
-
-
{{ $member->name }}
-
{{ $member->email }}
-
-
-
- - {{ ucfirst($member->pivot->role) }} - - @if($member->pivot->role !== 'owner') -
- - -
- @endif -
-
- @empty -
- No team members found. -
- @endforelse -
-
- @endif - - {{-- Entitlements Tab --}} - @if($activeTab === 'entitlements') -
- {{-- Stats Header --}} -
-
-

Entitlement Overview

-
- - - Add Package - - - - Add Entitlement - -
-
-
-
-
{{ $this->entitlementStats['total'] }}
-
Total Features
-
-
-
{{ $this->entitlementStats['allowed'] }}
-
Allowed
-
-
-
{{ $this->entitlementStats['denied'] }}
-
Not Included
-
-
-
{{ $this->entitlementStats['near_limit'] }}
-
Near Limit
-
-
-
{{ $this->entitlementStats['packages'] }}
-
Packages
-
-
-
{{ $this->entitlementStats['boosts'] }}
-
Boosts
-
-
-
- - {{-- Active Boosts Section --}} - @if($this->activeBoosts->count() > 0) -
-
-

- - Active Boosts ({{ $this->activeBoosts->count() }}) -

-
-
- @foreach($this->activeBoosts as $boost) -
-
-
- -
-
-
{{ $boost->feature_code }}
-
- {{ str_replace('_', ' ', $boost->boost_type) }} - @if($boost->limit_value) - · +{{ number_format($boost->limit_value) }} - @endif - @if($boost->expires_at) - - · Expires {{ $boost->expires_at->format('d M Y') }} - - @else - · Permanent - @endif -
-
-
- -
- @endforeach -
-
- @endif - - {{-- Resolved Entitlements by Category --}} - @forelse($this->resolvedEntitlements as $category => $features) -
-
-

{{ $category ?: 'General' }}

-
-
- @foreach($features as $entitlement) -
-
- {{-- Status indicator --}} -
- -
-
-
{{ $entitlement['name'] }}
-
{{ $entitlement['code'] }}
-
-
- -
- {{-- Type badge --}} - - @if($entitlement['type'] === 'boolean') - Toggle - @elseif($entitlement['unlimited']) - Unlimited - @else - Limit - @endif - - - {{-- Usage info --}} - @if($entitlement['type'] !== 'boolean' && !$entitlement['unlimited'] && $entitlement['allowed']) -
-
- {{ number_format($entitlement['used'] ?? 0) }} - / {{ number_format($entitlement['limit']) }} -
- @if($entitlement['limit'] > 0) - @php $percent = $entitlement['percentage'] ?? 0; @endphp -
-
-
- @endif -
- @elseif($entitlement['unlimited']) -
- - - {{ number_format($entitlement['used'] ?? 0) }} used - -
- @elseif(!$entitlement['allowed']) -
- Not included -
- @endif -
-
- @endforeach -
-
- @empty -
- No entitlements configured. -
- @endforelse - - {{-- Packages Section --}} - @if($this->workspacePackages->count() > 0) -
-
-

- - Assigned Packages ({{ $this->workspacePackages->count() }}) -

-
-
- @foreach($this->workspacePackages as $wp) -
-
-
- -
-
-
{{ $wp->package?->name ?? 'Unknown' }}
-
- {{ $wp->package?->code ?? '' }} - @if($wp->expires_at) - - · Expires {{ $wp->expires_at->format('d M Y') }} - - @endif -
-
-
-
- - {{ ucfirst($wp->status) }} - - @if($wp->status === 'active') - - @elseif($wp->status === 'suspended') - - @endif - -
-
- @endforeach -
-
- @endif -
- @endif - - {{-- Resources Tab --}} - @if($activeTab === 'resources') -
- @foreach($this->resourceCounts as $resource) -
-
-
- -
-
-
{{ number_format($resource['count']) }}
-
{{ $resource['label'] }}
-
- @endforeach -
- - @if(count($this->resourceCounts) === 0) -
- No resources configured for this workspace. -
- @endif - @endif - - {{-- Activity Tab --}} - @if($activeTab === 'activity') -
-
-

Recent Activity

-
-
- @forelse($this->recentActivity as $activity) -
-
- -
-
-
{{ $activity['message'] }}
- @if($activity['detail']) -
{{ $activity['detail'] }}
- @endif -
{{ $activity['created_at']->diffForHumans() }}
-
-
- @empty -
- No recent activity found. -
- @endforelse -
-
- @endif -
- - {{-- Add Member Modal --}} - - Add Team Member - -
- - Select user... - @foreach($this->availableUsers as $user) - {{ $user->name }} ({{ $user->email }}) - @endforeach - - - - Member - Admin - Owner - - -
- Cancel - Add Member -
-
-
- - {{-- Edit Member Modal --}} - - Edit Member Role - -
- - Member - Admin - Owner - - -
- - Changing to Owner will transfer ownership from the current owner. - -
- -
- Cancel - Update Role -
-
-
- - {{-- Edit Domain Modal --}} - - Edit Domain - -
- - -
- - Enter the domain without the protocol (e.g., example.com not https://example.com). - -
- -
- Cancel - Save Domain -
-
-
- - {{-- Add Package Modal --}} - - Add Package - -
- - @foreach($this->allPackages as $package) - - {{ $package->name }} ({{ $package->code }}) - - @endforeach - - -
- - The package will be assigned immediately with no expiry date. You can modify or remove it later. - -
- -
- Cancel - Add Package -
-
-
- - {{-- Add Entitlement Modal --}} - - Add Entitlement - -
- - @foreach($this->allFeatures->groupBy('category') as $category => $features) - ── {{ ucfirst($category ?: 'General') }} ── - @foreach($features as $feature) - - {{ $feature->name }} ({{ $feature->code }}) - - @endforeach - @endforeach - - - - Enable (Toggle on) - Add Limit (Extra quota) - Unlimited - - - @if($entitlementType === 'add_limit') - - @endif - - - Permanent - Expires on date - - - @if($entitlementDuration === 'duration') - - @endif - -
- - This will create a boost that grants the selected feature directly to this workspace, independent of packages. - -
- -
- Cancel - Add Entitlement -
-
-
-
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-manager.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-manager.blade.php deleted file mode 100644 index 63bb9de..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/admin/workspace-manager.blade.php +++ /dev/null @@ -1,417 +0,0 @@ - - - - - {{ __('tenant::tenant.admin.hades_only') }} - - - - {{-- Action message --}} - @if($actionMessage) -
-
- - {{ $actionMessage }} -
-
- @endif - - {{-- Stats Grid --}} -
-
-
{{ number_format($stats['total']) }}
-
{{ __('tenant::tenant.admin.stats.total') }}
-
-
-
{{ number_format($stats['active']) }}
-
{{ __('tenant::tenant.admin.stats.active') }}
-
-
-
{{ number_format($stats['inactive']) }}
-
{{ __('tenant::tenant.admin.stats.inactive') }}
-
-
- - {{-- Search --}} - - - - - - {{-- Workspace Table --}} -
-
- - - - - - - - - - - - - - - - - @forelse($this->workspaces as $workspace) - - - - - - - - - - - - - @empty - - - - @endforelse - -
{{ __('tenant::tenant.admin.table.workspace') }}{{ __('tenant::tenant.admin.table.owner') }}{{ __('tenant::tenant.admin.table.bio') }}{{ __('tenant::tenant.admin.table.social') }}{{ __('tenant::tenant.admin.table.analytics') }}{{ __('tenant::tenant.admin.table.trust') }}{{ __('tenant::tenant.admin.table.notify') }}{{ __('tenant::tenant.admin.table.commerce') }}{{ __('tenant::tenant.admin.table.status') }}{{ __('tenant::tenant.admin.table.actions') }}
- -
- -
-
-
{{ $workspace->name }}
-
{{ $workspace->slug }}
-
-
-
- @php $owner = $workspace->owner(); @endphp - @if($owner) -
{{ $owner->name }}
-
{{ $owner->email }}
- @else - {{ __('tenant::tenant.admin.table.no_owner') }} - @endif -
- @php - $bioPages = $workspace->bio_pages_count ?? 0; - $bioProjects = $workspace->bio_projects_count ?? 0; - @endphp - @if($bioPages > 0 || $bioProjects > 0) - - @else - - @endif - - @if(($workspace->social_accounts_count ?? 0) > 0) - - @else - - @endif - - @if(($workspace->analytics_sites_count ?? 0) > 0) - - @else - - @endif - - @if(($workspace->trust_widgets_count ?? 0) > 0) - - @else - - @endif - - @if(($workspace->notification_sites_count ?? 0) > 0) - - @else - - @endif - - - - - @if($workspace->is_active) - - {{ __('tenant::tenant.admin.table.active') }} - - @else - - {{ __('tenant::tenant.admin.table.inactive') }} - - @endif - -
- - - - - - - -
-
- {{ __('tenant::tenant.admin.table.empty') }} -
-
- @if($this->workspaces->hasPages()) -
- {{ $this->workspaces->links() }} -
- @endif -
- - {{-- Edit Workspace Modal --}} - - {{ __('tenant::tenant.admin.edit_modal.title') }} - -
- - - -
- - {{ __('tenant::tenant.admin.edit_modal.active') }} -
- -
- {{ __('tenant::tenant.admin.edit_modal.cancel') }} - {{ __('tenant::tenant.admin.edit_modal.save') }} -
- -
- - {{-- Transfer Resources Modal --}} - - {{ __('tenant::tenant.admin.transfer_modal.title') }} - -
- @if($sourceWorkspaceId) - @php $sourceWorkspace = $this->allWorkspaces->firstWhere('id', $sourceWorkspaceId); @endphp -
- - {{ __('tenant::tenant.admin.transfer_modal.source') }}: {{ $sourceWorkspace?->name ?? 'Unknown' }} ({{ $sourceWorkspace?->slug ?? '' }}) - -
- @endif - - - {{ __('tenant::tenant.admin.transfer_modal.select_target') }} - @foreach($this->allWorkspaces as $ws) - @if($ws->id !== $sourceWorkspaceId) - {{ $ws->name }} ({{ $ws->slug }}) - @endif - @endforeach - - - - {{ __('tenant::tenant.admin.transfer_modal.resources_label') }} -
- @foreach($this->resourceTypes as $key => $type) - - @endforeach -
-
- -
- - {{ __('tenant::tenant.admin.transfer_modal.warning') }} - -
- -
- {{ __('tenant::tenant.admin.transfer_modal.cancel') }} - - {{ __('tenant::tenant.admin.transfer_modal.transfer') }} - -
-
-
- - {{-- Change Owner Modal --}} - - {{ __('tenant::tenant.admin.owner_modal.title') }} - -
- @if($ownerWorkspaceId) - @php $ownerWorkspace = $this->allWorkspaces->firstWhere('id', $ownerWorkspaceId); @endphp -
- - {{ __('tenant::tenant.admin.owner_modal.workspace') }}: {{ $ownerWorkspace?->name ?? 'Unknown' }} - -
- @endif - - - {{ __('tenant::tenant.admin.owner_modal.select_owner') }} - @foreach($this->allUsers as $user) - {{ $user->name }} ({{ $user->email }}) - @endforeach - - -
- - {{ __('tenant::tenant.admin.owner_modal.warning') }} - -
- -
- {{ __('tenant::tenant.admin.owner_modal.cancel') }} - - {{ __('tenant::tenant.admin.owner_modal.change') }} - -
-
-
- - {{-- Resource Viewer Modal --}} - - @php - $resourceWorkspace = $this->allWorkspaces->firstWhere('id', $resourcesWorkspaceId); - $resourceTypeInfo = $this->resourceTypes[$resourcesType] ?? null; - @endphp - - {{ $resourceTypeInfo['label'] ?? 'Resources' }} - {{ __('tenant::tenant.admin.resources_modal.in') }} {{ $resourceWorkspace?->name ?? 'Unknown' }} - - -
- {{-- Selection controls --}} -
-
- {{ __('tenant::tenant.admin.resources_modal.select_all') }} - {{ __('tenant::tenant.admin.resources_modal.deselect_all') }} -
- {{ __('tenant::tenant.admin.resources_modal.selected', ['count' => count($selectedResources)]) }} -
- - {{-- Resource list --}} -
- @forelse($this->currentResources as $resource) -
-
-
- @if(in_array($resource['id'], $selectedResources)) - - @endif -
-
-
-
{{ $resource['name'] }}
- @if($resource['detail']) -
{{ $resource['detail'] }}
- @endif -
-
- {{ $resource['created_at'] }} -
-
- @empty -
{{ __('tenant::tenant.admin.resources_modal.no_resources') }}
- @endforelse -
- - {{-- Transfer section --}} - @if(count($this->currentResources) > 0) -
- {{ __('tenant::tenant.admin.resources_modal.transfer_selected') }} -
-
- - {{ __('tenant::tenant.admin.resources_modal.select_workspace') }} - @foreach($this->allWorkspaces as $ws) - @if($ws->id !== $resourcesWorkspaceId) - {{ $ws->name }} ({{ $ws->slug }}) - @endif - @endforeach - -
- - {{ trans_choice('tenant::tenant.admin.resources_modal.transfer_items', count($selectedResources), ['count' => count($selectedResources)]) }} - -
-
- @endif - -
- {{ __('tenant::tenant.admin.resources_modal.close') }} -
-
-
- - {{-- Provision Resource Modal --}} - - @php - $provisionWorkspace = $this->allWorkspaces->firstWhere('id', $provisionWorkspaceId); - $config = $this->provisionConfig[$provisionType] ?? null; - @endphp - -
- @if($config) -
- -
- @endif - {{ __('tenant::tenant.admin.provision_modal.create', ['type' => $config['label'] ?? 'Resource']) }} -
-
- -
- @if($provisionWorkspace) -
- - {{ __('tenant::tenant.admin.provision_modal.workspace') }}: {{ $provisionWorkspace->name }} - -
- @endif - - - - @if($config && in_array('slug', $config['fields'] ?? [])) - - @endif - - @if($config && in_array('url', $config['fields'] ?? [])) - - @endif - -
- {{ __('tenant::tenant.admin.provision_modal.cancel') }} - - {{ __('tenant::tenant.admin.provision_modal.create', ['type' => $config['label'] ?? 'Resource']) }} - -
-
-
-
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/emails/account-deletion-requested.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/emails/account-deletion-requested.blade.php deleted file mode 100644 index 72b647e..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/emails/account-deletion-requested.blade.php +++ /dev/null @@ -1,44 +0,0 @@ -@php - $appName = config('core.app.name', __('core::core.brand.name')); -@endphp - - -# {{ __('tenant::tenant.emails.deletion_requested.subject') }} - -{{ __('tenant::tenant.emails.deletion_requested.greeting', ['name' => $user->name]) }} - -{{ __('tenant::tenant.emails.deletion_requested.scheduled', ['app' => $appName]) }} - -**{{ __('tenant::tenant.emails.deletion_requested.auto_delete', ['date' => $expiresAt->format('F j, Y \a\t g:i A'), 'days' => $daysRemaining]) }}** - -**{{ __('tenant::tenant.emails.deletion_requested.will_delete') }}** -- {{ __('tenant::tenant.emails.deletion_requested.items.profile') }} -- {{ __('tenant::tenant.emails.deletion_requested.items.workspaces') }} -- {{ __('tenant::tenant.emails.deletion_requested.items.content') }} -- {{ __('tenant::tenant.emails.deletion_requested.items.social') }} - -**{{ __('tenant::tenant.emails.deletion_requested.delete_now') }}** -{{ __('tenant::tenant.emails.deletion_requested.delete_now_description') }} - - -{{ __('tenant::tenant.emails.deletion_requested.delete_button') }} - - -**{{ __('tenant::tenant.emails.deletion_requested.changed_mind') }}** -{{ __('tenant::tenant.emails.deletion_requested.changed_mind_description') }} - - -{{ __('tenant::tenant.emails.deletion_requested.cancel_button') }} - - -**{{ __('tenant::tenant.emails.deletion_requested.not_requested') }}** -{{ __('tenant::tenant.emails.deletion_requested.not_requested_description') }} - -Thanks,
-{{ $appName }} - - -{{ __('tenant::tenant.emails.deletion_requested.delete_button') }}: {{ $confirmationUrl }}
-{{ __('tenant::tenant.emails.deletion_requested.cancel_button') }}: {{ $cancelUrl }} -
-
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/emails/usage-alert.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/emails/usage-alert.blade.php deleted file mode 100644 index ef8290e..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/emails/usage-alert.blade.php +++ /dev/null @@ -1,60 +0,0 @@ -@php - $appName = config('core.app.name', __('core::core.brand.name')); - $isLimit = $threshold === \Core\Mod\Tenant\Models\UsageAlertHistory::THRESHOLD_LIMIT; - $isCritical = $threshold === \Core\Mod\Tenant\Models\UsageAlertHistory::THRESHOLD_CRITICAL; -@endphp - - -@if($isLimit) -# {{ __('tenant::tenant.emails.usage_alert.limit_reached.heading') }} - -{{ __('tenant::tenant.emails.usage_alert.limit_reached.body', ['workspace' => $workspaceName, 'feature' => $featureName]) }} - -**{{ __('tenant::tenant.emails.usage_alert.limit_reached.usage_line', ['used' => $used, 'limit' => $limit]) }}** - -**{{ __('tenant::tenant.emails.usage_alert.limit_reached.options_heading') }}** -- {{ __('tenant::tenant.emails.usage_alert.limit_reached.options.upgrade') }} -- {{ __('tenant::tenant.emails.usage_alert.limit_reached.options.reset') }} -- {{ __('tenant::tenant.emails.usage_alert.limit_reached.options.reduce') }} - - -{{ __('tenant::tenant.emails.usage_alert.upgrade_plan') }} - - -@elseif($isCritical) -# {{ __('tenant::tenant.emails.usage_alert.critical.heading') }} - -{{ __('tenant::tenant.emails.usage_alert.critical.body', ['workspace' => $workspaceName, 'feature' => $featureName]) }} - -**{{ __('tenant::tenant.emails.usage_alert.critical.usage_line', ['used' => $used, 'limit' => $limit, 'percentage' => $percentage]) }}** - -**{{ __('tenant::tenant.emails.usage_alert.critical.remaining_line', ['remaining' => $remaining]) }}** - -{{ __('tenant::tenant.emails.usage_alert.critical.action_text') }} - - -{{ __('tenant::tenant.emails.usage_alert.upgrade_plan') }} - - -@else -# {{ __('tenant::tenant.emails.usage_alert.warning.heading') }} - -{{ __('tenant::tenant.emails.usage_alert.warning.body', ['workspace' => $workspaceName, 'feature' => $featureName]) }} - -**{{ __('tenant::tenant.emails.usage_alert.warning.usage_line', ['used' => $used, 'limit' => $limit, 'percentage' => $percentage]) }}** - -**{{ __('tenant::tenant.emails.usage_alert.warning.remaining_line', ['remaining' => $remaining]) }}** - -{{ __('tenant::tenant.emails.usage_alert.warning.action_text') }} - - -{{ __('tenant::tenant.emails.usage_alert.view_usage') }} - - -@endif - -{{ __('tenant::tenant.emails.usage_alert.help_text') }} - -Thanks,
-{{ $appName }} -
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/web/account/cancel-deletion.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/web/account/cancel-deletion.blade.php deleted file mode 100644 index 49b97a2..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/web/account/cancel-deletion.blade.php +++ /dev/null @@ -1,28 +0,0 @@ -
- @if($status === 'success') -
- - - -
-

{{ __('tenant::tenant.deletion.cancelled.title') }}

-

{{ __('tenant::tenant.deletion.cancelled.message') }}

- - {{ __('tenant::tenant.deletion.cancelled.go_to_profile') }} - - @elseif($status === 'invalid') -
- - - -
-

{{ __('tenant::tenant.deletion.cancel_invalid.title') }}

-

{{ __('tenant::tenant.deletion.cancel_invalid.message') }}

- - {{ __('tenant::tenant.deletion.return_home') }} - - @else -
-

{{ __('tenant::tenant.deletion.processing') }}

- @endif -
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/web/account/confirm-deletion.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/web/account/confirm-deletion.blade.php deleted file mode 100644 index 25ec3d8..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/web/account/confirm-deletion.blade.php +++ /dev/null @@ -1,220 +0,0 @@ -
- {{-- Invalid/Expired Token --}} - @if($step === 'invalid') -
-
- - - -
-

{{ __('tenant::tenant.deletion.invalid.title') }}

-

{{ __('tenant::tenant.deletion.invalid.message') }}

- - {{ __('tenant::tenant.deletion.return_home') }} - -
- @endif - - {{-- Step 1: Password Verification --}} - @if($step === 'verify') -
-
- - - -
-

{{ __('tenant::tenant.deletion.verify.title') }}

-

{{ __('tenant::tenant.deletion.verify.description', ['name' => $userName]) }}

-
- -
-
- - - @if($error) -

{{ $error }}

- @endif -
- - -
- -

- {{ __('tenant::tenant.deletion.verify.changed_mind') }} {{ __('tenant::tenant.deletion.verify.cancel_link') }} -

- @endif - - {{-- Step 2: Final Confirmation --}} - @if($step === 'confirm') -
-
- - - -
-

{{ __('tenant::tenant.deletion.confirm.title') }}

-

{!! __('tenant::tenant.deletion.confirm.warning') !!}

-
- -
-

{{ __('tenant::tenant.deletion.confirm.will_delete') }}

-
    -
  • - - {{ __('tenant::tenant.deletion.confirm.items.profile') }} -
  • -
  • - - {{ __('tenant::tenant.deletion.confirm.items.workspaces') }} -
  • -
  • - - {{ __('tenant::tenant.deletion.confirm.items.content') }} -
  • -
  • - - {{ __('tenant::tenant.deletion.confirm.items.social') }} -
  • -
-
- -
- - {{ __('tenant::tenant.deletion.confirm.cancel') }} - - -
- @endif - - {{-- Step 3: Deleting Animation --}} - @if($step === 'deleting') -
-
- - - - -
- -
-
- -

{{ __('tenant::tenant.deletion.deleting.title') }}

-

-
- @endif - - {{-- Step 4: Goodbye with Typewriter Effect --}} - @if($step === 'goodbye') -
-
- - _ -
- -
-

{{ __('tenant::tenant.deletion.goodbye.deleted') }}

-

{{ __('tenant::tenant.deletion.goodbye.thanks') }}

- - - - - - {{ __('tenant::tenant.deletion.return_home') }} - -
-
- @endif -
diff --git a/packages/core-php/src/Mod/Tenant/View/Blade/web/workspace/home.blade.php b/packages/core-php/src/Mod/Tenant/View/Blade/web/workspace/home.blade.php deleted file mode 100644 index 1186197..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Blade/web/workspace/home.blade.php +++ /dev/null @@ -1,156 +0,0 @@ -@php - $appName = config('core.app.name', __('core::core.brand.name')); -@endphp - -
- -
-
-
-
- - - {{ $workspace['name'] }} - -
-

- {{ $workspace['description'] ?? __('tenant::tenant.workspace.welcome') }} -

-

- {{ __('tenant::tenant.workspace.powered_by', ['name' => $appName]) }} -

- -
-
-
- - -
-
- @if($loading) -
-
-
- @else - - @if(!empty($content['posts'])) -
-

{{ __('tenant::tenant.workspace.latest_posts') }}

-
- @foreach($content['posts'] as $post) - - @endforeach -
-
- @endif - - - @if(!empty($content['pages'])) -
-

{{ __('tenant::tenant.workspace.pages') }}

- -
- @endif - - @if(empty($content['posts']) && empty($content['pages'])) -
- Vi with empty folder -

{{ __('tenant::tenant.workspace.no_content.title') }}

-

{{ __('tenant::tenant.workspace.no_content.message') }}

- @auth - - - {{ __('tenant::tenant.workspace.create_content') }} - - @endauth -
- @endif - @endif -
-
- - -
-
-
-

{{ __('tenant::tenant.workspace.part_of_toolkit', ['name' => $appName]) }}

-

{{ __('tenant::tenant.workspace.toolkit_description') }}

-
-
- @php - $services = [ - ['name' => 'BioHost', 'icon' => 'link', 'color' => 'blue', 'slug' => 'link'], - ['name' => 'SocialHost', 'icon' => 'share-nodes', 'color' => 'green', 'slug' => 'social'], - ['name' => 'Analytics', 'icon' => 'chart-line', 'color' => 'yellow', 'slug' => 'analytics'], - ['name' => 'TrustHost', 'icon' => 'shield-check', 'color' => 'orange', 'slug' => 'trust'], - ['name' => 'NotifyHost', 'icon' => 'bell', 'color' => 'red', 'slug' => 'notify'], - ['name' => 'Hestia', 'icon' => 'globe', 'color' => 'violet', 'slug' => 'main'], - ]; - @endphp - @foreach($services as $service) - -
- -
- {{ $service['name'] }} -
- @endforeach -
-
-
-
diff --git a/packages/core-php/src/Mod/Tenant/View/Modal/Admin/EntitlementWebhookManager.php b/packages/core-php/src/Mod/Tenant/View/Modal/Admin/EntitlementWebhookManager.php deleted file mode 100644 index 7e3ea60..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Modal/Admin/EntitlementWebhookManager.php +++ /dev/null @@ -1,356 +0,0 @@ - ['except' => ''], - 'workspaceId' => ['except' => null], - 'statusFilter' => ['except' => ''], - ]; - - protected array $rules = [ - 'name' => 'required|string|max:255', - 'url' => 'required|url|max:2048', - 'events' => 'required|array|min:1', - 'events.*' => 'string', - 'isActive' => 'boolean', - 'maxAttempts' => 'required|integer|min:1|max:10', - ]; - - public function mount(): void - { - if (! auth()->user()?->isHades()) { - abort(403, 'Hades tier required for webhook administration.'); - } - } - - public function updatingSearch(): void - { - $this->resetPage(); - } - - public function updatingWorkspaceId(): void - { - $this->resetPage(); - } - - #[Computed] - public function webhooks() - { - return EntitlementWebhook::query() - ->with('workspace') - ->withCount('deliveries') - ->when($this->workspaceId, fn ($q) => $q->where('workspace_id', $this->workspaceId)) - ->when($this->search, function ($query) { - $query->where(function ($q) { - $q->where('name', 'like', "%{$this->search}%") - ->orWhere('url', 'like', "%{$this->search}%"); - }); - }) - ->when($this->statusFilter === 'active', fn ($q) => $q->active()) - ->when($this->statusFilter === 'inactive', fn ($q) => $q->where('is_active', false)) - ->when($this->statusFilter === 'circuit_broken', fn ($q) => $q->where('failure_count', '>=', EntitlementWebhook::MAX_FAILURES)) - ->latest() - ->paginate(25); - } - - #[Computed] - public function workspaces() - { - return Workspace::query() - ->select('id', 'name', 'slug') - ->orderBy('name') - ->get(); - } - - #[Computed] - public function availableEvents(): array - { - return app(EntitlementWebhookService::class)->getAvailableEvents(); - } - - #[Computed] - public function recentDeliveries() - { - if (! $this->viewingWebhookId) { - return collect(); - } - - return EntitlementWebhookDelivery::query() - ->where('webhook_id', $this->viewingWebhookId) - ->latest('created_at') - ->limit(50) - ->get(); - } - - // ------------------------------------------------------------------------- - // Create/Edit Methods - // ------------------------------------------------------------------------- - - public function create(): void - { - $this->reset(['editingId', 'name', 'url', 'events', 'maxAttempts']); - $this->isActive = true; - $this->maxAttempts = 3; - $this->showFormModal = true; - } - - public function edit(int $id): void - { - $webhook = EntitlementWebhook::findOrFail($id); - - $this->editingId = $webhook->id; - $this->name = $webhook->name; - $this->url = $webhook->url; - $this->events = $webhook->events; - $this->isActive = $webhook->is_active; - $this->maxAttempts = $webhook->max_attempts; - $this->workspaceId = $webhook->workspace_id; - $this->showFormModal = true; - } - - public function save(): void - { - $this->validate(); - - // Filter events to only valid ones - $validEvents = array_intersect($this->events, EntitlementWebhook::EVENTS); - - if (empty($validEvents)) { - $this->addError('events', 'At least one valid event must be selected.'); - - return; - } - - if ($this->editingId) { - $webhook = EntitlementWebhook::findOrFail($this->editingId); - $webhook->update([ - 'name' => $this->name, - 'url' => $this->url, - 'events' => $validEvents, - 'is_active' => $this->isActive, - 'max_attempts' => $this->maxAttempts, - ]); - - $this->setMessage('Webhook updated successfully.'); - } else { - if (! $this->workspaceId) { - $this->addError('workspaceId', 'Please select a workspace.'); - - return; - } - - $workspace = Workspace::findOrFail($this->workspaceId); - $webhook = app(EntitlementWebhookService::class)->register( - workspace: $workspace, - name: $this->name, - url: $this->url, - events: $validEvents - ); - - $webhook->update([ - 'is_active' => $this->isActive, - 'max_attempts' => $this->maxAttempts, - ]); - - // Show the secret to the user - $this->displaySecret = $webhook->secret; - $this->showSecretModal = true; - - $this->setMessage('Webhook created successfully. Please save the secret below.'); - } - - $this->showFormModal = false; - $this->reset(['editingId', 'name', 'url', 'events']); - } - - public function closeFormModal(): void - { - $this->showFormModal = false; - $this->reset(['editingId', 'name', 'url', 'events']); - $this->resetValidation(); - } - - // ------------------------------------------------------------------------- - // Action Methods - // ------------------------------------------------------------------------- - - public function toggleActive(int $id): void - { - $webhook = EntitlementWebhook::findOrFail($id); - $webhook->update(['is_active' => ! $webhook->is_active]); - - $this->setMessage($webhook->is_active ? 'Webhook enabled.' : 'Webhook disabled.'); - } - - public function delete(int $id): void - { - $webhook = EntitlementWebhook::findOrFail($id); - $webhook->delete(); - - $this->setMessage('Webhook deleted.'); - } - - public function testWebhook(int $id): void - { - $webhook = EntitlementWebhook::findOrFail($id); - $delivery = app(EntitlementWebhookService::class)->testWebhook($webhook); - - if ($delivery->isSucceeded()) { - $this->setMessage('Test webhook sent successfully.'); - } else { - $this->setMessage('Test webhook failed. Check delivery history for details.', 'error'); - } - } - - public function regenerateSecret(int $id): void - { - $webhook = EntitlementWebhook::findOrFail($id); - $secret = $webhook->regenerateSecret(); - - $this->displaySecret = $secret; - $this->showSecretModal = true; - } - - public function resetCircuitBreaker(int $id): void - { - $webhook = EntitlementWebhook::findOrFail($id); - app(EntitlementWebhookService::class)->resetCircuitBreaker($webhook); - - $this->setMessage('Webhook re-enabled and failure count reset.'); - } - - // ------------------------------------------------------------------------- - // Deliveries Modal - // ------------------------------------------------------------------------- - - public function viewDeliveries(int $id): void - { - $this->viewingWebhookId = $id; - $this->showDeliveriesModal = true; - } - - public function closeDeliveriesModal(): void - { - $this->showDeliveriesModal = false; - $this->viewingWebhookId = null; - } - - public function retryDelivery(int $deliveryId): void - { - $delivery = EntitlementWebhookDelivery::findOrFail($deliveryId); - - try { - $result = app(EntitlementWebhookService::class)->retryDelivery($delivery); - - if ($result->isSucceeded()) { - $this->setMessage('Delivery retried successfully.'); - } else { - $this->setMessage('Retry failed. Check delivery details.', 'error'); - } - } catch (\Exception $e) { - $this->setMessage($e->getMessage(), 'error'); - } - } - - // ------------------------------------------------------------------------- - // Secret Modal - // ------------------------------------------------------------------------- - - public function closeSecretModal(): void - { - $this->showSecretModal = false; - $this->displaySecret = null; - } - - // ------------------------------------------------------------------------- - // Helper Methods - // ------------------------------------------------------------------------- - - protected function setMessage(string $message, string $type = 'success'): void - { - $this->message = $message; - $this->messageType = $type; - } - - public function clearMessage(): void - { - $this->message = ''; - } - - #[Computed] - public function stats(): array - { - $query = EntitlementWebhook::query(); - - if ($this->workspaceId) { - $query->where('workspace_id', $this->workspaceId); - } - - return [ - 'total' => (clone $query)->count(), - 'active' => (clone $query)->where('is_active', true)->count(), - 'circuit_broken' => (clone $query)->where('failure_count', '>=', EntitlementWebhook::MAX_FAILURES)->count(), - ]; - } - - public function render(): View - { - return view('tenant::admin.entitlement-webhook-manager') - ->layout('hub::admin.layouts.app', ['title' => 'Entitlement Webhooks']); - } -} diff --git a/packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceDetails.php b/packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceDetails.php deleted file mode 100644 index 8f0c0c0..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceDetails.php +++ /dev/null @@ -1,584 +0,0 @@ -user()?->isHades()) { - abort(403, 'Hades tier required for workspace administration.'); - } - - $this->workspace = Workspace::findOrFail($id); - } - - #[Computed] - public function teamMembers() - { - return $this->workspace->users() - ->orderByRaw("FIELD(user_workspace.role, 'owner', 'admin', 'member')") - ->orderBy('name') - ->get(); - } - - #[Computed] - public function availableUsers() - { - $existingIds = $this->workspace->users()->pluck('users.id')->toArray(); - - return User::whereNotIn('id', $existingIds) - ->orderBy('name') - ->get(['id', 'name', 'email']); - } - - #[Computed] - public function resourceCounts(): array - { - $counts = []; - $schema = \Illuminate\Support\Facades\Schema::getFacadeRoot(); - - $resources = [ - ['relation' => 'bioPages', 'label' => 'Bio Pages', 'icon' => 'link', 'color' => 'blue', 'model' => \Core\Mod\Web\Models\Page::class], - ['relation' => 'bioProjects', 'label' => 'Bio Projects', 'icon' => 'folder', 'color' => 'indigo', 'model' => \Core\Mod\Web\Models\Project::class], - ['relation' => 'socialAccounts', 'label' => 'Social Accounts', 'icon' => 'share-nodes', 'color' => 'purple', 'model' => \Core\Mod\Social\Models\Account::class], - ['relation' => 'socialPosts', 'label' => 'Social Posts', 'icon' => 'paper-plane', 'color' => 'pink', 'model' => \Core\Mod\Social\Models\Post::class], - ['relation' => 'analyticsSites', 'label' => 'Analytics Sites', 'icon' => 'chart-line', 'color' => 'cyan', 'model' => \Core\Mod\Analytics\Models\Website::class], - ['relation' => 'trustWidgets', 'label' => 'Trust Campaigns', 'icon' => 'shield-check', 'color' => 'emerald', 'model' => \Core\Mod\Trust\Models\Campaign::class], - ['relation' => 'notificationSites', 'label' => 'Notification Sites', 'icon' => 'bell', 'color' => 'amber', 'model' => \Core\Mod\Notify\Models\PushWebsite::class], - ['relation' => 'contentItems', 'label' => 'Content Items', 'icon' => 'file-lines', 'color' => 'slate', 'model' => \Core\Mod\Content\Models\ContentItem::class], - ['relation' => 'apiKeys', 'label' => 'API Keys', 'icon' => 'key', 'color' => 'rose', 'model' => \Core\Mod\Api\Models\ApiKey::class], - ]; - - foreach ($resources as $resource) { - if (class_exists($resource['model'])) { - try { - $counts[] = [ - 'label' => $resource['label'], - 'icon' => $resource['icon'], - 'color' => $resource['color'], - 'count' => $this->workspace->{$resource['relation']}()->count(), - ]; - } catch (\Exception $e) { - // Skip if relation fails - } - } - } - - return $counts; - } - - #[Computed] - public function recentActivity() - { - $activities = collect(); - - // Entitlement logs - if (class_exists(\Core\Mod\Tenant\Models\EntitlementLog::class)) { - try { - $logs = $this->workspace->entitlementLogs() - ->with('user', 'feature') - ->latest() - ->take(10) - ->get() - ->map(fn ($log) => [ - 'type' => 'entitlement', - 'icon' => $log->action === 'allowed' ? 'check-circle' : 'times-circle', - 'color' => $log->action === 'allowed' ? 'green' : 'red', - 'message' => ($log->user?->name ?? 'System').' '.($log->action === 'allowed' ? 'used' : 'was denied').' '.$log->feature?->name, - 'detail' => $log->reason, - 'created_at' => $log->created_at, - ]); - $activities = $activities->merge($logs); - } catch (\Exception $e) { - // Skip - } - } - - // Usage records - if (class_exists(\Core\Mod\Tenant\Models\UsageRecord::class)) { - try { - $usage = $this->workspace->usageRecords() - ->with('user', 'feature') - ->latest() - ->take(10) - ->get() - ->map(fn ($record) => [ - 'type' => 'usage', - 'icon' => 'chart-bar', - 'color' => 'blue', - 'message' => ($record->user?->name ?? 'System').' used '.$record->quantity.' '.$record->feature?->name, - 'detail' => null, - 'created_at' => $record->created_at, - ]); - $activities = $activities->merge($usage); - } catch (\Exception $e) { - // Skip - } - } - - return $activities->sortByDesc('created_at')->take(15)->values(); - } - - #[Computed] - public function activePackages() - { - return $this->workspace->workspacePackages() - ->with('package') - ->active() - ->get(); - } - - #[Computed] - public function subscriptionInfo(): ?array - { - $subscription = $this->workspace->activeSubscription(); - - if (! $subscription) { - return null; - } - - return [ - 'plan' => $subscription->plan_name ?? 'Unknown', - 'status' => $subscription->status, - 'current_period_end' => $subscription->current_period_end?->format('d M Y'), - 'amount' => $subscription->amount ? number_format($subscription->amount / 100, 2) : null, - 'currency' => $subscription->currency ?? 'GBP', - ]; - } - - public function setTab(string $tab): void - { - $this->activeTab = $tab; - } - - // Team management - - public function openAddMember(): void - { - $this->newMemberId = null; - $this->newMemberRole = 'member'; - $this->showAddMemberModal = true; - } - - public function closeAddMember(): void - { - $this->showAddMemberModal = false; - $this->reset(['newMemberId', 'newMemberRole']); - } - - public function addMember(): void - { - if (! $this->newMemberId) { - $this->actionMessage = 'Please select a user.'; - $this->actionType = 'error'; - - return; - } - - $user = User::findOrFail($this->newMemberId); - - $this->workspace->users()->attach($user->id, ['role' => $this->newMemberRole]); - - $this->closeAddMember(); - $this->actionMessage = "{$user->name} added to workspace as {$this->newMemberRole}."; - $this->actionType = 'success'; - unset($this->teamMembers, $this->availableUsers); - } - - public function openEditMember(int $userId): void - { - $member = $this->workspace->users()->where('user_id', $userId)->first(); - if (! $member) { - return; - } - - $this->editingMemberId = $userId; - $this->editingMemberRole = $member->pivot->role ?? 'member'; - $this->showEditMemberModal = true; - } - - public function closeEditMember(): void - { - $this->showEditMemberModal = false; - $this->reset(['editingMemberId', 'editingMemberRole']); - } - - public function updateMemberRole(): void - { - if (! $this->editingMemberId) { - return; - } - - $this->workspace->users()->updateExistingPivot($this->editingMemberId, [ - 'role' => $this->editingMemberRole, - ]); - - $user = User::find($this->editingMemberId); - $this->closeEditMember(); - $this->actionMessage = "{$user?->name}'s role updated to {$this->editingMemberRole}."; - $this->actionType = 'success'; - unset($this->teamMembers); - } - - public function removeMember(int $userId): void - { - $member = $this->workspace->users()->where('user_id', $userId)->first(); - - if ($member?->pivot?->role === 'owner') { - $this->actionMessage = 'Cannot remove the workspace owner. Transfer ownership first.'; - $this->actionType = 'error'; - - return; - } - - $this->workspace->users()->detach($userId); - - $this->actionMessage = "{$member?->name} removed from workspace."; - $this->actionType = 'success'; - unset($this->teamMembers, $this->availableUsers); - } - - // Domain management - - public function openEditDomain(): void - { - $this->editingDomain = $this->workspace->domain ?? ''; - $this->showEditDomainModal = true; - } - - public function closeEditDomain(): void - { - $this->showEditDomainModal = false; - $this->reset(['editingDomain']); - } - - public function saveDomain(): void - { - $domain = trim($this->editingDomain); - - // Remove protocol if present - $domain = preg_replace('#^https?://#', '', $domain); - $domain = rtrim($domain, '/'); - - $this->workspace->update(['domain' => $domain ?: null]); - $this->workspace->refresh(); - - $this->closeEditDomain(); - $this->actionMessage = $domain ? "Domain updated to {$domain}." : 'Domain removed.'; - $this->actionType = 'success'; - } - - // Entitlements tab - - #[Computed] - public function allPackages() - { - return \Core\Mod\Tenant\Models\Package::active() - ->ordered() - ->get(); - } - - #[Computed] - public function allFeatures() - { - return \Core\Mod\Tenant\Models\Feature::active() - ->orderBy('category') - ->orderBy('sort_order') - ->get(); - } - - #[Computed] - public function activeBoosts() - { - return $this->workspace->boosts() - ->usable() - ->orderBy('feature_code') - ->get(); - } - - #[Computed] - public function entitlementStats(): array - { - $resolved = $this->resolvedEntitlements; - $total = 0; - $allowed = 0; - $denied = 0; - $nearLimit = 0; - - foreach ($resolved as $category => $features) { - foreach ($features as $feature) { - $total++; - if ($feature['allowed']) { - $allowed++; - if ($feature['near_limit']) { - $nearLimit++; - } - } else { - $denied++; - } - } - } - - return [ - 'total' => $total, - 'allowed' => $allowed, - 'denied' => $denied, - 'near_limit' => $nearLimit, - 'packages' => $this->workspacePackages->count(), - 'boosts' => $this->activeBoosts->count(), - ]; - } - - #[Computed] - public function workspacePackages() - { - return $this->workspace->workspacePackages() - ->with(['package.features']) - ->get(); - } - - #[Computed] - public function usageSummary() - { - try { - return $this->workspace->getUsageSummary(); - } catch (\Exception $e) { - return collect(); - } - } - - #[Computed] - public function resolvedEntitlements() - { - try { - return app(\Core\Mod\Tenant\Services\EntitlementService::class) - ->getUsageSummary($this->workspace); - } catch (\Exception $e) { - return collect(); - } - } - - public function openAddPackage(): void - { - $this->selectedPackageId = null; - $this->showAddPackageModal = true; - } - - public function closeAddPackage(): void - { - $this->showAddPackageModal = false; - $this->reset(['selectedPackageId']); - } - - public function addPackage(): void - { - if (! $this->selectedPackageId) { - $this->actionMessage = 'Please select a package.'; - $this->actionType = 'error'; - - return; - } - - $package = \Core\Mod\Tenant\Models\Package::findOrFail($this->selectedPackageId); - - // Check if already assigned - $existing = $this->workspace->workspacePackages() - ->where('package_id', $package->id) - ->where('status', 'active') - ->exists(); - - if ($existing) { - $this->actionMessage = "Package '{$package->name}' is already assigned."; - $this->actionType = 'error'; - - return; - } - - \Core\Mod\Tenant\Models\WorkspacePackage::create([ - 'workspace_id' => $this->workspace->id, - 'package_id' => $package->id, - 'status' => 'active', - 'starts_at' => now(), - ]); - - $this->closeAddPackage(); - $this->actionMessage = "Package '{$package->name}' assigned to workspace."; - $this->actionType = 'success'; - unset($this->workspacePackages, $this->activePackages); - } - - public function removePackage(int $workspacePackageId): void - { - $wp = \Core\Mod\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id) - ->findOrFail($workspacePackageId); - - $packageName = $wp->package?->name ?? 'Package'; - $wp->delete(); - - $this->actionMessage = "Package '{$packageName}' removed from workspace."; - $this->actionType = 'success'; - unset($this->workspacePackages, $this->activePackages); - } - - public function suspendPackage(int $workspacePackageId): void - { - $wp = \Core\Mod\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id) - ->findOrFail($workspacePackageId); - - $wp->suspend(); - - $this->actionMessage = "Package '{$wp->package?->name}' suspended."; - $this->actionType = 'warning'; - unset($this->workspacePackages, $this->activePackages); - } - - public function reactivatePackage(int $workspacePackageId): void - { - $wp = \Core\Mod\Tenant\Models\WorkspacePackage::where('workspace_id', $this->workspace->id) - ->findOrFail($workspacePackageId); - - $wp->reactivate(); - - $this->actionMessage = "Package '{$wp->package?->name}' reactivated."; - $this->actionType = 'success'; - unset($this->workspacePackages, $this->activePackages); - } - - // Entitlement (Boost) management - - public function openAddEntitlement(): void - { - $this->selectedFeatureCode = null; - $this->entitlementType = 'enable'; - $this->entitlementLimit = null; - $this->entitlementDuration = 'permanent'; - $this->entitlementExpiresAt = null; - $this->showAddEntitlementModal = true; - } - - public function closeAddEntitlement(): void - { - $this->showAddEntitlementModal = false; - $this->reset(['selectedFeatureCode', 'entitlementType', 'entitlementLimit', 'entitlementDuration', 'entitlementExpiresAt']); - } - - public function addEntitlement(): void - { - if (! $this->selectedFeatureCode) { - $this->actionMessage = 'Please select a feature.'; - $this->actionType = 'error'; - - return; - } - - $feature = \Core\Mod\Tenant\Models\Feature::where('code', $this->selectedFeatureCode)->first(); - - if (! $feature) { - $this->actionMessage = 'Feature not found.'; - $this->actionType = 'error'; - - return; - } - - // Map type to boost type constant - $boostType = match ($this->entitlementType) { - 'enable' => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_ENABLE, - 'add_limit' => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_ADD_LIMIT, - 'unlimited' => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_UNLIMITED, - default => \Core\Mod\Tenant\Models\Boost::BOOST_TYPE_ENABLE, - }; - - $durationType = $this->entitlementDuration === 'permanent' - ? \Core\Mod\Tenant\Models\Boost::DURATION_PERMANENT - : \Core\Mod\Tenant\Models\Boost::DURATION_DURATION; - - \Core\Mod\Tenant\Models\Boost::create([ - 'workspace_id' => $this->workspace->id, - 'feature_code' => $this->selectedFeatureCode, - 'boost_type' => $boostType, - 'duration_type' => $durationType, - 'limit_value' => $this->entitlementType === 'add_limit' ? $this->entitlementLimit : null, - 'consumed_quantity' => 0, - 'status' => \Core\Mod\Tenant\Models\Boost::STATUS_ACTIVE, - 'starts_at' => now(), - 'expires_at' => $this->entitlementExpiresAt ? \Carbon\Carbon::parse($this->entitlementExpiresAt) : null, - 'metadata' => ['granted_by' => auth()->id(), 'granted_at' => now()->toDateTimeString()], - ]); - - $this->closeAddEntitlement(); - $this->actionMessage = "Entitlement '{$feature->name}' granted to workspace."; - $this->actionType = 'success'; - unset($this->activeBoosts, $this->resolvedEntitlements, $this->entitlementStats); - } - - public function removeBoost(int $boostId): void - { - $boost = \Core\Mod\Tenant\Models\Boost::where('workspace_id', $this->workspace->id) - ->findOrFail($boostId); - - $featureCode = $boost->feature_code; - $boost->cancel(); - - $this->actionMessage = "Entitlement '{$featureCode}' removed."; - $this->actionType = 'success'; - unset($this->activeBoosts, $this->resolvedEntitlements, $this->entitlementStats); - } - - public function render() - { - return view('tenant::admin.workspace-details') - ->layout('hub::admin.layouts.app', ['title' => 'Workspace: '.$this->workspace->name]); - } -} diff --git a/packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceManager.php b/packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceManager.php deleted file mode 100644 index f01fa04..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Modal/Admin/WorkspaceManager.php +++ /dev/null @@ -1,666 +0,0 @@ - ['except' => ''], - ]; - - protected array $rules = [ - 'name' => 'required|string|max:255', - 'slug' => 'required|string|max:255|alpha_dash', - 'isActive' => 'boolean', - ]; - - public function mount(): void - { - if (! auth()->user()?->isHades()) { - abort(403, 'Hades tier required for workspace administration.'); - } - } - - public function updatingSearch(): void - { - $this->resetPage(); - } - - #[Computed] - public function workspaces() - { - return Workspace::query() - ->withCount($this->getAvailableRelations()) - ->when($this->search, function ($query) { - $query->where(function ($q) { - $q->where('name', 'like', "%{$this->search}%") - ->orWhere('slug', 'like', "%{$this->search}%"); - }); - }) - ->orderBy('name') - ->paginate(20); - } - - /** - * Get relations that are available for counting. - * Filters out relations whose models don't exist yet or have incompatible schemas. - */ - protected function getAvailableRelations(): array - { - $relations = []; - - // Check each relation's model exists and has workspace_id column - $checks = [ - 'bioPages' => ['model' => \Core\Mod\Web\Models\Page::class, 'table' => 'pages'], - 'bioProjects' => ['model' => \Core\Mod\Web\Models\Project::class, 'table' => 'page_projects'], - 'socialAccounts' => ['model' => \Core\Mod\Social\Models\Account::class, 'table' => 'social_accounts'], - 'analyticsSites' => ['model' => \Core\Mod\Analytics\Models\Website::class, 'table' => 'analytics_websites'], - 'trustWidgets' => ['model' => \Core\Mod\Trust\Models\Campaign::class, 'table' => 'trust_campaigns'], - 'notificationSites' => ['model' => \Core\Mod\Notify\Models\PushWebsite::class, 'table' => 'push_websites'], - ]; - - $schema = \Illuminate\Support\Facades\Schema::getFacadeRoot(); - - foreach ($checks as $relation => $info) { - if (class_exists($info['model'])) { - // Verify the table has workspace_id column - try { - if ($schema->hasColumn($info['table'], 'workspace_id')) { - $relations[] = $relation; - } - } catch (\Exception $e) { - // Table might not exist yet, skip - } - } - } - - return $relations; - } - - #[Computed] - public function allWorkspaces() - { - return Workspace::orderBy('name')->get(['id', 'name', 'slug']); - } - - #[Computed] - public function resourceTypes(): array - { - $types = []; - $schema = \Illuminate\Support\Facades\Schema::getFacadeRoot(); - - // Only include resource types for models that exist and have valid relations - $checks = [ - 'bio_pages' => ['model' => \Core\Mod\Web\Models\Page::class, 'table' => 'pages', 'label' => 'Bio Pages', 'relation' => 'bioPages', 'icon' => 'link'], - 'bio_projects' => ['model' => \Core\Mod\Web\Models\Project::class, 'table' => 'page_projects', 'label' => 'Bio Projects', 'relation' => 'bioProjects', 'icon' => 'folder'], - 'social_accounts' => ['model' => \Core\Mod\Social\Models\Account::class, 'table' => 'social_accounts', 'label' => 'Social Accounts', 'relation' => 'socialAccounts', 'icon' => 'share-nodes'], - 'analytics_sites' => ['model' => \Core\Mod\Analytics\Models\Website::class, 'table' => 'analytics_websites', 'label' => 'Analytics Sites', 'relation' => 'analyticsSites', 'icon' => 'chart-line'], - 'trust_widgets' => ['model' => \Core\Mod\Trust\Models\Campaign::class, 'table' => 'trust_campaigns', 'label' => 'Trust Campaigns', 'relation' => 'trustWidgets', 'icon' => 'shield-check'], - 'notification_sites' => ['model' => \Core\Mod\Notify\Models\PushWebsite::class, 'table' => 'push_websites', 'label' => 'Notification Sites', 'relation' => 'notificationSites', 'icon' => 'bell'], - ]; - - foreach ($checks as $key => $info) { - if (class_exists($info['model'])) { - try { - if ($schema->hasColumn($info['table'], 'workspace_id')) { - $types[$key] = [ - 'label' => $info['label'], - 'relation' => $info['relation'], - 'icon' => $info['icon'], - ]; - } - } catch (\Exception $e) { - // Table might not exist yet, skip - } - } - } - - return $types; - } - - public function openEdit(int $id): void - { - $workspace = Workspace::findOrFail($id); - $this->editingId = $id; - $this->name = $workspace->name; - $this->slug = $workspace->slug; - $this->isActive = $workspace->is_active; - } - - public function closeEdit(): void - { - $this->editingId = null; - $this->reset(['name', 'slug', 'isActive']); - $this->resetErrorBag(); - } - - public function save(): void - { - $this->validate(); - - $workspace = Workspace::findOrFail($this->editingId); - - // Check if slug is unique (excluding current workspace) - $slugExists = Workspace::where('slug', $this->slug) - ->where('id', '!=', $this->editingId) - ->exists(); - - if ($slugExists) { - $this->addError('slug', 'This slug is already in use.'); - - return; - } - - $workspace->update([ - 'name' => $this->name, - 'slug' => $this->slug, - 'is_active' => $this->isActive, - ]); - - $this->closeEdit(); - $this->actionMessage = "Workspace '{$workspace->name}' updated successfully."; - $this->actionType = 'success'; - unset($this->workspaces); - } - - public function delete(int $id): void - { - $workspace = Workspace::withCount($this->getAvailableRelations())->findOrFail($id); - - // Check for resources (safely get counts that might not exist) - $totalResources = ($workspace->bio_pages_count ?? 0) - + ($workspace->bio_projects_count ?? 0) - + ($workspace->social_accounts_count ?? 0) - + ($workspace->analytics_sites_count ?? 0) - + ($workspace->trust_widgets_count ?? 0) - + ($workspace->notification_sites_count ?? 0) - + ($workspace->orders_count ?? 0); - - if ($totalResources > 0) { - $this->actionMessage = "Cannot delete workspace '{$workspace->name}'. It has {$totalResources} resources. Transfer or delete them first."; - $this->actionType = 'error'; - - return; - } - - // Check for users - if ($workspace->users()->count() > 0) { - $this->actionMessage = "Cannot delete workspace '{$workspace->name}'. It still has users assigned."; - $this->actionType = 'error'; - - return; - } - - $workspaceName = $workspace->name; - $workspace->delete(); - - $this->actionMessage = "Workspace '{$workspaceName}' deleted successfully."; - $this->actionType = 'success'; - unset($this->workspaces); - } - - public function openTransfer(int $workspaceId): void - { - $this->sourceWorkspaceId = $workspaceId; - $this->targetWorkspaceId = null; - $this->selectedResourceTypes = []; - $this->showTransferModal = true; - } - - public function closeTransfer(): void - { - $this->showTransferModal = false; - $this->reset(['sourceWorkspaceId', 'targetWorkspaceId', 'selectedResourceTypes']); - } - - public function executeTransfer(): void - { - if (! $this->sourceWorkspaceId || ! $this->targetWorkspaceId) { - $this->actionMessage = 'Please select both source and target workspaces.'; - $this->actionType = 'error'; - - return; - } - - if ($this->sourceWorkspaceId === $this->targetWorkspaceId) { - $this->actionMessage = 'Source and target workspaces cannot be the same.'; - $this->actionType = 'error'; - - return; - } - - if (empty($this->selectedResourceTypes)) { - $this->actionMessage = 'Please select at least one resource type to transfer.'; - $this->actionType = 'error'; - - return; - } - - $source = Workspace::findOrFail($this->sourceWorkspaceId); - $target = Workspace::findOrFail($this->targetWorkspaceId); - $resourceTypes = $this->resourceTypes; - $transferred = []; - - DB::transaction(function () use ($source, $target, $resourceTypes, &$transferred) { - foreach ($this->selectedResourceTypes as $type) { - if (! isset($resourceTypes[$type])) { - continue; - } - - $relation = $resourceTypes[$type]['relation']; - $count = $source->{$relation}()->count(); - - if ($count > 0) { - $source->{$relation}()->update(['workspace_id' => $target->id]); - $transferred[$resourceTypes[$type]['label']] = $count; - } - } - }); - - $this->closeTransfer(); - - if (empty($transferred)) { - $this->actionMessage = 'No resources were transferred (source had no resources of selected types).'; - $this->actionType = 'warning'; - } else { - $summary = collect($transferred) - ->map(fn ($count, $label) => "{$count} {$label}") - ->join(', '); - $this->actionMessage = "Transferred {$summary} from '{$source->name}' to '{$target->name}'."; - $this->actionType = 'success'; - } - - unset($this->workspaces); - } - - #[Computed] - public function allUsers() - { - return User::orderBy('name')->get(['id', 'name', 'email']); - } - - public function openChangeOwner(int $workspaceId): void - { - $workspace = Workspace::findOrFail($workspaceId); - $this->ownerWorkspaceId = $workspaceId; - $this->newOwnerId = $workspace->owner()?->id; - $this->showOwnerModal = true; - } - - public function closeChangeOwner(): void - { - $this->showOwnerModal = false; - $this->reset(['ownerWorkspaceId', 'newOwnerId']); - } - - public function changeOwner(): void - { - if (! $this->ownerWorkspaceId || ! $this->newOwnerId) { - $this->actionMessage = 'Please select a new owner.'; - $this->actionType = 'error'; - - return; - } - - $workspace = Workspace::findOrFail($this->ownerWorkspaceId); - $newOwner = User::findOrFail($this->newOwnerId); - $oldOwner = $workspace->owner(); - - DB::transaction(function () use ($workspace, $newOwner, $oldOwner) { - // Remove owner role from current owner (if exists) - if ($oldOwner) { - $workspace->users()->updateExistingPivot($oldOwner->id, ['role' => 'member']); - } - - // Check if new owner is already a member - if ($workspace->users()->where('user_id', $newOwner->id)->exists()) { - // Update existing membership to owner - $workspace->users()->updateExistingPivot($newOwner->id, ['role' => 'owner']); - } else { - // Add new owner to workspace - $workspace->users()->attach($newOwner->id, ['role' => 'owner']); - } - }); - - $this->closeChangeOwner(); - $this->actionMessage = "Ownership of '{$workspace->name}' transferred to {$newOwner->name}."; - $this->actionType = 'success'; - unset($this->workspaces); - } - - public function openResources(int $workspaceId, string $type): void - { - $this->resourcesWorkspaceId = $workspaceId; - $this->resourcesType = $type; - $this->selectedResources = []; - $this->resourcesTargetWorkspaceId = null; - $this->showResourcesModal = true; - } - - public function closeResources(): void - { - $this->showResourcesModal = false; - $this->reset(['resourcesWorkspaceId', 'resourcesType', 'selectedResources', 'resourcesTargetWorkspaceId']); - } - - #[Computed] - public function currentResources(): array - { - if (! $this->resourcesWorkspaceId || ! $this->resourcesType) { - return []; - } - - $resourceTypes = $this->resourceTypes; - if (! isset($resourceTypes[$this->resourcesType])) { - return []; - } - - $workspace = Workspace::find($this->resourcesWorkspaceId); - if (! $workspace) { - return []; - } - - $relation = $resourceTypes[$this->resourcesType]['relation']; - - return $workspace->{$relation}() - ->get() - ->map(function ($item) { - return [ - 'id' => $item->id, - 'name' => $item->name ?? $item->title ?? "#{$item->id}", - 'detail' => $item->url ?? $item->domain ?? $item->email ?? $item->slug ?? null, - 'created_at' => $item->created_at?->format('d M Y'), - ]; - }) - ->toArray(); - } - - public function toggleResourceSelection(int $id): void - { - if (in_array($id, $this->selectedResources)) { - $this->selectedResources = array_values(array_diff($this->selectedResources, [$id])); - } else { - $this->selectedResources[] = $id; - } - } - - public function selectAllResources(): void - { - $this->selectedResources = collect($this->currentResources)->pluck('id')->toArray(); - } - - public function deselectAllResources(): void - { - $this->selectedResources = []; - } - - public function transferSelectedResources(): void - { - if (empty($this->selectedResources)) { - $this->actionMessage = 'Please select at least one resource to transfer.'; - $this->actionType = 'error'; - - return; - } - - if (! $this->resourcesTargetWorkspaceId) { - $this->actionMessage = 'Please select a target workspace.'; - $this->actionType = 'error'; - - return; - } - - if ($this->resourcesWorkspaceId === $this->resourcesTargetWorkspaceId) { - $this->actionMessage = 'Source and target workspaces cannot be the same.'; - $this->actionType = 'error'; - - return; - } - - $resourceTypes = $this->resourceTypes; - if (! isset($resourceTypes[$this->resourcesType])) { - $this->actionMessage = 'Invalid resource type.'; - $this->actionType = 'error'; - - return; - } - - $workspace = Workspace::findOrFail($this->resourcesWorkspaceId); - $target = Workspace::findOrFail($this->resourcesTargetWorkspaceId); - $relation = $resourceTypes[$this->resourcesType]['relation']; - $label = $resourceTypes[$this->resourcesType]['label']; - - $count = $workspace->{$relation}() - ->whereIn('id', $this->selectedResources) - ->update(['workspace_id' => $target->id]); - - $this->closeResources(); - $this->actionMessage = "Transferred {$count} {$label} from '{$workspace->name}' to '{$target->name}'."; - $this->actionType = 'success'; - unset($this->workspaces); - } - - public function openProvision(int $workspaceId, string $type): void - { - $this->provisionWorkspaceId = $workspaceId; - $this->provisionType = $type; - $this->provisionName = ''; - $this->provisionUrl = ''; - $this->showProvisionModal = true; - } - - public function closeProvision(): void - { - $this->showProvisionModal = false; - $this->reset(['provisionWorkspaceId', 'provisionType', 'provisionName', 'provisionUrl', 'provisionSlug']); - } - - #[Computed] - public function provisionConfig(): array - { - return [ - 'bio_pages' => [ - 'label' => 'Bio Page', - 'icon' => 'link', - 'color' => 'blue', - 'fields' => ['name', 'slug'], - 'model' => \Core\Mod\Web\Models\Page::class, - 'defaults' => ['type' => 'page', 'is_enabled' => true], - ], - 'social_accounts' => [ - 'label' => 'Social Account', - 'icon' => 'share-nodes', - 'color' => 'purple', - 'fields' => ['name'], - 'model' => \Core\Mod\Social\Models\Account::class, - 'defaults' => ['provider' => 'manual', 'status' => 'active'], - ], - 'analytics_sites' => [ - 'label' => 'Analytics Site', - 'icon' => 'chart-line', - 'color' => 'cyan', - 'fields' => ['name', 'url'], - 'model' => \Core\Mod\Analytics\Models\Website::class, - 'defaults' => ['tracking_enabled' => true, 'is_enabled' => true], - ], - 'trust_widgets' => [ - 'label' => 'Trust Campaign', - 'icon' => 'shield-check', - 'color' => 'emerald', - 'fields' => ['name'], - 'model' => \Core\Mod\Trust\Models\Campaign::class, - 'defaults' => ['status' => 'draft'], - ], - 'notification_sites' => [ - 'label' => 'Notification Site', - 'icon' => 'bell', - 'color' => 'amber', - 'fields' => ['name', 'url'], - 'model' => \Core\Mod\Notify\Models\PushWebsite::class, - 'defaults' => ['status' => 'active'], - ], - ]; - } - - public function provisionResource(): void - { - $config = $this->provisionConfig[$this->provisionType] ?? null; - - if (! $config || ! class_exists($config['model'])) { - $this->actionMessage = 'Invalid resource type or model not available.'; - $this->actionType = 'error'; - - return; - } - - if (empty($this->provisionName)) { - $this->actionMessage = 'Please enter a name.'; - $this->actionType = 'error'; - - return; - } - - if (in_array('url', $config['fields']) && empty($this->provisionUrl)) { - $this->actionMessage = 'Please enter a URL.'; - $this->actionType = 'error'; - - return; - } - - if (in_array('slug', $config['fields']) && empty($this->provisionSlug)) { - $this->actionMessage = 'Please enter a slug.'; - $this->actionType = 'error'; - - return; - } - - $workspace = Workspace::findOrFail($this->provisionWorkspaceId); - - $data = array_merge($config['defaults'], [ - 'workspace_id' => $workspace->id, - ]); - - // Handle name - for bio pages it goes in settings - if ($this->provisionType === 'bio_pages') { - $data['settings'] = ['page_title' => $this->provisionName]; - } else { - $data['name'] = $this->provisionName; - } - - // Add slug for bio pages - if (in_array('slug', $config['fields']) && $this->provisionSlug) { - $data['url'] = \Illuminate\Support\Str::slug($this->provisionSlug); - } - - // Add URL-related fields if applicable - if (in_array('url', $config['fields']) && $this->provisionUrl) { - $url = $this->provisionUrl; - if (! str_starts_with($url, 'http://') && ! str_starts_with($url, 'https://')) { - $url = 'https://'.$url; - } - $parsed = parse_url($url); - $data['url'] = $url; - $data['host'] = $parsed['host'] ?? null; - $data['scheme'] = $parsed['scheme'] ?? 'https'; - } - - // Add user_id if the model expects it - if (auth()->check()) { - $data['user_id'] = auth()->id(); - } - - try { - $config['model']::create($data); - - $this->closeProvision(); - $this->actionMessage = "{$config['label']} '{$this->provisionName}' created in '{$workspace->name}'."; - $this->actionType = 'success'; - unset($this->workspaces); - } catch (\Exception $e) { - $this->actionMessage = "Failed to create resource: {$e->getMessage()}"; - $this->actionType = 'error'; - } - } - - public function getStats(): array - { - return [ - 'total' => Workspace::count(), - 'active' => Workspace::where('is_active', true)->count(), - 'inactive' => Workspace::where('is_active', false)->count(), - ]; - } - - public function render() - { - return view('tenant::admin.workspace-manager', [ - 'stats' => $this->getStats(), - ])->layout('hub::admin.layouts.app', ['title' => 'Workspace Manager']); - } -} diff --git a/packages/core-php/src/Mod/Tenant/View/Modal/Web/CancelDeletion.php b/packages/core-php/src/Mod/Tenant/View/Modal/Web/CancelDeletion.php deleted file mode 100644 index 5b838fc..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Modal/Web/CancelDeletion.php +++ /dev/null @@ -1,36 +0,0 @@ -token = $token; - $deletionRequest = AccountDeletionRequest::findValidByToken($token); - - if (! $deletionRequest) { - $this->status = 'invalid'; - - return; - } - - // Cancel the deletion request - $deletionRequest->cancel(); - $this->status = 'success'; - } - - public function render() - { - return view('tenant::web.account.cancel-deletion'); - } -} diff --git a/packages/core-php/src/Mod/Tenant/View/Modal/Web/ConfirmDeletion.php b/packages/core-php/src/Mod/Tenant/View/Modal/Web/ConfirmDeletion.php deleted file mode 100644 index 6cc7512..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Modal/Web/ConfirmDeletion.php +++ /dev/null @@ -1,116 +0,0 @@ -token = $token; - $this->deletionRequest = AccountDeletionRequest::findValidByToken($token); - - if (! $this->deletionRequest) { - $this->step = 'invalid'; - - return; - } - - $this->userName = $this->deletionRequest->user->name; - - // Even if logged in, require re-authentication for security - $this->step = 'verify'; - } - - public function verifyPassword(): void - { - $this->error = ''; - - if (! $this->deletionRequest || ! $this->deletionRequest->isActive()) { - $this->step = 'invalid'; - - return; - } - - $user = $this->deletionRequest->user; - - if (! Hash::check($this->password, $user->password)) { - $this->error = 'The password you entered is incorrect.'; - - return; - } - - // Log the user in for this session - Auth::login($user); - $this->step = 'confirm'; - } - - public function confirmDeletion(): void - { - if (! $this->deletionRequest || ! $this->deletionRequest->isActive()) { - $this->step = 'invalid'; - - return; - } - - $this->step = 'deleting'; - - // Process deletion in background after animation starts - $this->dispatch('start-deletion'); - } - - public function executeDelete(): void - { - if (! $this->deletionRequest || ! $this->deletionRequest->isActive()) { - return; - } - - $user = $this->deletionRequest->user; - - DB::transaction(function () use ($user) { - // Mark request as confirmed and completed - $this->deletionRequest->confirm(); - $this->deletionRequest->complete(); - - // Delete all workspaces owned by the user - if (method_exists($user, 'ownedWorkspaces')) { - $user->ownedWorkspaces()->each(function ($workspace) { - $workspace->delete(); - }); - } - - // Hard delete user account - $user->forceDelete(); - }); - - Auth::logout(); - session()->invalidate(); - session()->regenerateToken(); - - $this->step = 'goodbye'; - } - - public function render() - { - return view('tenant::web.account.confirm-deletion'); - } -} diff --git a/packages/core-php/src/Mod/Tenant/View/Modal/Web/WorkspaceHome.php b/packages/core-php/src/Mod/Tenant/View/Modal/Web/WorkspaceHome.php deleted file mode 100644 index 7176030..0000000 --- a/packages/core-php/src/Mod/Tenant/View/Modal/Web/WorkspaceHome.php +++ /dev/null @@ -1,67 +0,0 @@ -attributes->get('workspace', 'main'); - - $this->workspace = $workspaceService->get($slug) ?? $workspaceService->get('main'); - - // Load workspace content from native content - $this->loadContent(); - } - - protected function loadContent(): void - { - try { - $workspaceModel = Workspace::where('slug', $this->workspace['slug'])->first(); - if (! $workspaceModel) { - $this->content = ['posts' => [], 'pages' => []]; - $this->loading = false; - - return; - } - - $render = app(ContentRender::class); - $homepage = $render->getHomepage($workspaceModel); - - $this->content = [ - 'posts' => $homepage['posts'] ?? [], - 'pages' => [], // Pages not included in homepage response - ]; - } catch (\Exception $e) { - $this->content = [ - 'posts' => [], - 'pages' => [], - ]; - } - - $this->loading = false; - } - - public function render() - { - return view('tenant::web.workspace.home') - ->layout('components.layouts.workspace', [ - 'title' => $this->workspace['name'].' | Host UK', - 'workspace' => $this->workspace, - ]); - } -} diff --git a/packages/core-php/tests/TestCase.php b/packages/core-php/tests/TestCase.php deleted file mode 100644 index 6f1c046..0000000 --- a/packages/core-php/tests/TestCase.php +++ /dev/null @@ -1,29 +0,0 @@ -set('app.path', $this->getFixturePath()); - } - - protected function getFixturePath(string $path = ''): string - { - return __DIR__.'/Fixtures'.($path ? "/{$path}" : ''); - } -} diff --git a/phpunit.xml b/phpunit.xml index 12bb738..e6d3db7 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -13,30 +13,14 @@ tests/Feature - packages/core-php/tests/Feature - packages/core-php/src/Core/**/Tests/Feature - packages/core-php/src/Mod/**/Tests/Feature - packages/core-admin/tests/Feature - packages/core-api/tests/Feature - packages/core-mcp/tests/Feature tests/Unit - packages/core-php/tests/Unit - packages/core-php/src/Core/**/Tests/Unit - packages/core-php/src/Mod/**/Tests/Unit - packages/core-admin/tests/Unit - packages/core-api/tests/Unit - packages/core-mcp/tests/Unit - app - packages/core-php/src - packages/core-admin/src - packages/core-api/src - packages/core-mcp/src + src diff --git a/public/index.php b/public/index.php deleted file mode 100644 index 111d2fc..0000000 --- a/public/index.php +++ /dev/null @@ -1,9 +0,0 @@ - li { - position: relative; -} - -.fa-li { - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - position: absolute; - text-align: center; - width: var(--fa-li-width, 2em); - line-height: inherit; -} - -/* Heads Up: Bordered Icons will not be supported in the future! - - This feature will be deprecated in the next major release of Font Awesome (v8)! - - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8. -*/ -/* Notes: -* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size) -* --@{v.$css-prefix}-border-padding = - ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment) - ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon) -*/ -.fa-border { - border-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.0625em); - box-sizing: var(--fa-border-box-sizing, content-box); - padding: var(--fa-border-padding, 0.1875em 0.25em); -} - -.fa-pull-left, -.fa-pull-start { - float: inline-start; - margin-inline-end: var(--fa-pull-margin, 0.3em); -} - -.fa-pull-right, -.fa-pull-end { - float: inline-end; - margin-inline-start: var(--fa-pull-margin, 0.3em); -} - -.fa-beat { - animation-name: fa-beat; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-bounce { - animation-name: fa-bounce; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); -} - -.fa-fade { - animation-name: fa-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-beat-fade { - animation-name: fa-beat-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-flip { - animation-name: fa-flip; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-shake { - animation-name: fa-shake; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin { - animation-name: fa-spin; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 2s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-reverse { - --fa-animation-direction: reverse; -} - -.fa-pulse, -.fa-spin-pulse { - animation-name: fa-spin; - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, steps(8)); -} - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse { - animation: none !important; - transition: none !important; - } -} -@keyframes fa-beat { - 0%, 90% { - transform: scale(1); - } - 45% { - transform: scale(var(--fa-beat-scale, 1.25)); - } -} -@keyframes fa-bounce { - 0% { - transform: scale(1, 1) translateY(0); - } - 10% { - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - } - 30% { - transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - } - 50% { - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - } - 57% { - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - } - 64% { - transform: scale(1, 1) translateY(0); - } - 100% { - transform: scale(1, 1) translateY(0); - } -} -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); - } -} -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - transform: scale(1); - } - 50% { - opacity: 1; - transform: scale(var(--fa-beat-fade-scale, 1.125)); - } -} -@keyframes fa-flip { - 50% { - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - } -} -@keyframes fa-shake { - 0% { - transform: rotate(-15deg); - } - 4% { - transform: rotate(15deg); - } - 8%, 24% { - transform: rotate(-18deg); - } - 12%, 28% { - transform: rotate(18deg); - } - 16% { - transform: rotate(-22deg); - } - 20% { - transform: rotate(22deg); - } - 32% { - transform: rotate(-12deg); - } - 36% { - transform: rotate(12deg); - } - 40%, 100% { - transform: rotate(0deg); - } -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -.fa-rotate-90 { - transform: rotate(90deg); -} - -.fa-rotate-180 { - transform: rotate(180deg); -} - -.fa-rotate-270 { - transform: rotate(270deg); -} - -.fa-flip-horizontal { - transform: scale(-1, 1); -} - -.fa-flip-vertical { - transform: scale(1, -1); -} - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1, -1); -} - -.fa-rotate-by { - transform: rotate(var(--fa-rotate-angle, 0)); -} - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} - -.fa-stack-1x, -.fa-stack-2x { - --fa-width: 100%; - inset: 0; - position: absolute; - text-align: center; - width: var(--fa-width); - z-index: var(--fa-stack-z-index, auto); -} - -.fa-stack-1x { - line-height: inherit; -} - -.fa-stack-2x { - font-size: 2em; -} - -.fa-inverse { - color: var(--fa-inverse, #fff); -} - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ - -.fa-0 { - --fa: "\30 "; -} - -.fa-1 { - --fa: "\31 "; -} - -.fa-2 { - --fa: "\32 "; -} - -.fa-3 { - --fa: "\33 "; -} - -.fa-4 { - --fa: "\34 "; -} - -.fa-5 { - --fa: "\35 "; -} - -.fa-6 { - --fa: "\36 "; -} - -.fa-7 { - --fa: "\37 "; -} - -.fa-8 { - --fa: "\38 "; -} - -.fa-9 { - --fa: "\39 "; -} - -.fa-exclamation { - --fa: "\!"; -} - -.fa-ditto { - --fa: "\""; -} - -.fa-hashtag { - --fa: "\#"; -} - -.fa-dollar-sign { - --fa: "\$"; -} - -.fa-dollar { - --fa: "\$"; -} - -.fa-usd { - --fa: "\$"; -} - -.fa-percent { - --fa: "\%"; -} - -.fa-percentage { - --fa: "\%"; -} - -.fa-ampersand { - --fa: "\&"; -} - -.fa-apostrophe { - --fa: "\'"; -} - -.fa-bracket-round { - --fa: "\("; -} - -.fa-parenthesis { - --fa: "\("; -} - -.fa-bracket-round-right { - --fa: "\)"; -} - -.fa-asterisk { - --fa: "\*"; -} - -.fa-plus { - --fa: "\+"; -} - -.fa-add { - --fa: "\+"; -} - -.fa-comma { - --fa: "\,"; -} - -.fa-hyphen { - --fa: "\-"; -} - -.fa-period { - --fa: "\."; -} - -.fa-slash-forward { - --fa: "\/"; -} - -.fa-colon { - --fa: "\:"; -} - -.fa-semicolon { - --fa: "\;"; -} - -.fa-less-than { - --fa: "\<"; -} - -.fa-equals { - --fa: "\="; -} - -.fa-greater-than { - --fa: "\>"; -} - -.fa-question { - --fa: "\?"; -} - -.fa-at { - --fa: "\@"; -} - -.fa-a { - --fa: "A"; -} - -.fa-b { - --fa: "B"; -} - -.fa-c { - --fa: "C"; -} - -.fa-d { - --fa: "D"; -} - -.fa-e { - --fa: "E"; -} - -.fa-f { - --fa: "F"; -} - -.fa-g { - --fa: "G"; -} - -.fa-h { - --fa: "H"; -} - -.fa-i { - --fa: "I"; -} - -.fa-j { - --fa: "J"; -} - -.fa-k { - --fa: "K"; -} - -.fa-l { - --fa: "L"; -} - -.fa-m { - --fa: "M"; -} - -.fa-n { - --fa: "N"; -} - -.fa-o { - --fa: "O"; -} - -.fa-p { - --fa: "P"; -} - -.fa-q { - --fa: "Q"; -} - -.fa-r { - --fa: "R"; -} - -.fa-s { - --fa: "S"; -} - -.fa-t { - --fa: "T"; -} - -.fa-u { - --fa: "U"; -} - -.fa-v { - --fa: "V"; -} - -.fa-w { - --fa: "W"; -} - -.fa-x { - --fa: "X"; -} - -.fa-y { - --fa: "Y"; -} - -.fa-z { - --fa: "Z"; -} - -.fa-bracket-square { - --fa: "\["; -} - -.fa-bracket { - --fa: "\["; -} - -.fa-bracket-left { - --fa: "\["; -} - -.fa-slash-back { - --fa: "\\"; -} - -.fa-bracket-square-right { - --fa: "\]"; -} - -.fa-accent-grave { - --fa: "\`"; -} - -.fa-bracket-curly { - --fa: "\{"; -} - -.fa-bracket-curly-left { - --fa: "\{"; -} - -.fa-pipe { - --fa: "\|"; -} - -.fa-bracket-curly-right { - --fa: "\}"; -} - -.fa-tilde { - --fa: "\~"; -} - -.fa-caravan-simple { - --fa: "\e000"; -} - -.fa-caravan-alt { - --fa: "\e000"; -} - -.fa-cat-space { - --fa: "\e001"; -} - -.fa-coffee-pot { - --fa: "\e002"; -} - -.fa-comet { - --fa: "\e003"; -} - -.fa-fan-table { - --fa: "\e004"; -} - -.fa-faucet { - --fa: "\e005"; -} - -.fa-faucet-drip { - --fa: "\e006"; -} - -.fa-galaxy { - --fa: "\e008"; -} - -.fa-garage { - --fa: "\e009"; -} - -.fa-garage-car { - --fa: "\e00a"; -} - -.fa-garage-open { - --fa: "\e00b"; -} - -.fa-heat { - --fa: "\e00c"; -} - -.fa-house-chimney-window { - --fa: "\e00d"; -} - -.fa-house-day { - --fa: "\e00e"; -} - -.fa-house-person-leave { - --fa: "\e00f"; -} - -.fa-house-leave { - --fa: "\e00f"; -} - -.fa-house-person-depart { - --fa: "\e00f"; -} - -.fa-house-night { - --fa: "\e010"; -} - -.fa-house-person-return { - --fa: "\e011"; -} - -.fa-house-person-arrive { - --fa: "\e011"; -} - -.fa-house-return { - --fa: "\e011"; -} - -.fa-house-signal { - --fa: "\e012"; -} - -.fa-lamp-desk { - --fa: "\e014"; -} - -.fa-lamp-floor { - --fa: "\e015"; -} - -.fa-light-ceiling { - --fa: "\e016"; -} - -.fa-light-switch { - --fa: "\e017"; -} - -.fa-light-switch-off { - --fa: "\e018"; -} - -.fa-light-switch-on { - --fa: "\e019"; -} - -.fa-microwave { - --fa: "\e01b"; -} - -.fa-outlet { - --fa: "\e01c"; -} - -.fa-oven { - --fa: "\e01d"; -} - -.fa-planet-moon { - --fa: "\e01f"; -} - -.fa-planet-ringed { - --fa: "\e020"; -} - -.fa-police-box { - --fa: "\e021"; -} - -.fa-person-to-portal { - --fa: "\e022"; -} - -.fa-portal-enter { - --fa: "\e022"; -} - -.fa-person-from-portal { - --fa: "\e023"; -} - -.fa-portal-exit { - --fa: "\e023"; -} - -.fa-radar { - --fa: "\e024"; -} - -.fa-raygun { - --fa: "\e025"; -} - -.fa-refrigerator { - --fa: "\e026"; -} - -.fa-rocket-launch { - --fa: "\e027"; -} - -.fa-sensor { - --fa: "\e028"; -} - -.fa-sensor-triangle-exclamation { - --fa: "\e029"; -} - -.fa-sensor-alert { - --fa: "\e029"; -} - -.fa-sensor-fire { - --fa: "\e02a"; -} - -.fa-sensor-on { - --fa: "\e02b"; -} - -.fa-sensor-cloud { - --fa: "\e02c"; -} - -.fa-sensor-smoke { - --fa: "\e02c"; -} - -.fa-siren { - --fa: "\e02d"; -} - -.fa-siren-on { - --fa: "\e02e"; -} - -.fa-solar-system { - --fa: "\e02f"; -} - -.fa-circle-sort { - --fa: "\e030"; -} - -.fa-sort-circle { - --fa: "\e030"; -} - -.fa-circle-sort-down { - --fa: "\e031"; -} - -.fa-sort-circle-down { - --fa: "\e031"; -} - -.fa-circle-sort-up { - --fa: "\e032"; -} - -.fa-sort-circle-up { - --fa: "\e032"; -} - -.fa-space-station-moon { - --fa: "\e033"; -} - -.fa-space-station-moon-construction { - --fa: "\e034"; -} - -.fa-space-station-moon-alt { - --fa: "\e034"; -} - -.fa-sprinkler { - --fa: "\e035"; -} - -.fa-star-shooting { - --fa: "\e036"; -} - -.fa-starfighter { - --fa: "\e037"; -} - -.fa-starfighter-twin-ion-engine { - --fa: "\e038"; -} - -.fa-starfighter-alt { - --fa: "\e038"; -} - -.fa-starship { - --fa: "\e039"; -} - -.fa-starship-freighter { - --fa: "\e03a"; -} - -.fa-sword-laser { - --fa: "\e03b"; -} - -.fa-sword-laser-alt { - --fa: "\e03c"; -} - -.fa-swords-laser { - --fa: "\e03d"; -} - -.fa-telescope { - --fa: "\e03e"; -} - -.fa-temperature-arrow-down { - --fa: "\e03f"; -} - -.fa-temperature-down { - --fa: "\e03f"; -} - -.fa-temperature-arrow-up { - --fa: "\e040"; -} - -.fa-temperature-up { - --fa: "\e040"; -} - -.fa-trailer { - --fa: "\e041"; -} - -.fa-transporter { - --fa: "\e042"; -} - -.fa-transporter-1 { - --fa: "\e043"; -} - -.fa-transporter-2 { - --fa: "\e044"; -} - -.fa-transporter-3 { - --fa: "\e045"; -} - -.fa-transporter-empty { - --fa: "\e046"; -} - -.fa-ufo { - --fa: "\e047"; -} - -.fa-ufo-beam { - --fa: "\e048"; -} - -.fa-user-alien { - --fa: "\e04a"; -} - -.fa-user-robot { - --fa: "\e04b"; -} - -.fa-user-visor { - --fa: "\e04c"; -} - -.fa-vacuum { - --fa: "\e04d"; -} - -.fa-vacuum-robot { - --fa: "\e04e"; -} - -.fa-window-frame { - --fa: "\e04f"; -} - -.fa-window-frame-open { - --fa: "\e050"; -} - -.fa-coffin-cross { - --fa: "\e051"; -} - -.fa-folder-arrow-down { - --fa: "\e053"; -} - -.fa-folder-download { - --fa: "\e053"; -} - -.fa-folder-arrow-up { - --fa: "\e054"; -} - -.fa-folder-upload { - --fa: "\e054"; -} - -.fa-user-unlock { - --fa: "\e058"; -} - -.fa-bacteria { - --fa: "\e059"; -} - -.fa-bacterium { - --fa: "\e05a"; -} - -.fa-box-tissue { - --fa: "\e05b"; -} - -.fa-hand-holding-medical { - --fa: "\e05c"; -} - -.fa-hand-sparkles { - --fa: "\e05d"; -} - -.fa-hands-bubbles { - --fa: "\e05e"; -} - -.fa-hands-wash { - --fa: "\e05e"; -} - -.fa-handshake-slash { - --fa: "\e060"; -} - -.fa-handshake-alt-slash { - --fa: "\e060"; -} - -.fa-handshake-simple-slash { - --fa: "\e060"; -} - -.fa-head-side-cough { - --fa: "\e061"; -} - -.fa-head-side-cough-slash { - --fa: "\e062"; -} - -.fa-head-side-mask { - --fa: "\e063"; -} - -.fa-head-side-virus { - --fa: "\e064"; -} - -.fa-house-chimney-user { - --fa: "\e065"; -} - -.fa-house-laptop { - --fa: "\e066"; -} - -.fa-laptop-house { - --fa: "\e066"; -} - -.fa-lungs-virus { - --fa: "\e067"; -} - -.fa-people-arrows { - --fa: "\e068"; -} - -.fa-people-arrows-left-right { - --fa: "\e068"; -} - -.fa-plane-slash { - --fa: "\e069"; -} - -.fa-pump-medical { - --fa: "\e06a"; -} - -.fa-pump-soap { - --fa: "\e06b"; -} - -.fa-shield-virus { - --fa: "\e06c"; -} - -.fa-sink { - --fa: "\e06d"; -} - -.fa-soap { - --fa: "\e06e"; -} - -.fa-stopwatch-20 { - --fa: "\e06f"; -} - -.fa-shop-slash { - --fa: "\e070"; -} - -.fa-store-alt-slash { - --fa: "\e070"; -} - -.fa-store-slash { - --fa: "\e071"; -} - -.fa-toilet-paper-slash { - --fa: "\e072"; -} - -.fa-users-slash { - --fa: "\e073"; -} - -.fa-virus { - --fa: "\e074"; -} - -.fa-virus-slash { - --fa: "\e075"; -} - -.fa-viruses { - --fa: "\e076"; -} - -.fa-vest { - --fa: "\e085"; -} - -.fa-vest-patches { - --fa: "\e086"; -} - -.fa-airplay { - --fa: "\e089"; -} - -.fa-alt { - --fa: "\e08a"; -} - -.fa-angle { - --fa: "\e08c"; -} - -.fa-angle-90 { - --fa: "\e08d"; -} - -.fa-apple-core { - --fa: "\e08f"; -} - -.fa-arrow-down-from-dotted-line { - --fa: "\e090"; -} - -.fa-arrow-down-left { - --fa: "\e091"; -} - -.fa-arrow-down-left-and-arrow-up-right-to-center { - --fa: "\e092"; -} - -.fa-arrow-down-right { - --fa: "\e093"; -} - -.fa-arrow-down-to-bracket { - --fa: "\e094"; -} - -.fa-arrow-down-to-dotted-line { - --fa: "\e095"; -} - -.fa-arrow-down-to-square { - --fa: "\e096"; -} - -.fa-arrow-trend-down { - --fa: "\e097"; -} - -.fa-arrow-trend-up { - --fa: "\e098"; -} - -.fa-arrow-up-arrow-down { - --fa: "\e099"; -} - -.fa-sort-up-down { - --fa: "\e099"; -} - -.fa-arrow-up-from-bracket { - --fa: "\e09a"; -} - -.fa-arrow-up-from-dotted-line { - --fa: "\e09b"; -} - -.fa-arrow-up-from-square { - --fa: "\e09c"; -} - -.fa-arrow-up-left { - --fa: "\e09d"; -} - -.fa-arrow-up-left-from-circle { - --fa: "\e09e"; -} - -.fa-arrow-up-right { - --fa: "\e09f"; -} - -.fa-arrow-up-right-and-arrow-down-left-from-center { - --fa: "\e0a0"; -} - -.fa-arrow-up-to-dotted-line { - --fa: "\e0a1"; -} - -.fa-arrows-cross { - --fa: "\e0a2"; -} - -.fa-arrows-from-dotted-line { - --fa: "\e0a3"; -} - -.fa-arrows-from-line { - --fa: "\e0a4"; -} - -.fa-arrows-minimize { - --fa: "\e0a5"; -} - -.fa-compress-arrows { - --fa: "\e0a5"; -} - -.fa-arrows-to-dotted-line { - --fa: "\e0a6"; -} - -.fa-arrows-to-line { - --fa: "\e0a7"; -} - -.fa-audio-description-slash { - --fa: "\e0a8"; -} - -.fa-austral-sign { - --fa: "\e0a9"; -} - -.fa-avocado { - --fa: "\e0aa"; -} - -.fa-award-simple { - --fa: "\e0ab"; -} - -.fa-baht-sign { - --fa: "\e0ac"; -} - -.fa-bars-filter { - --fa: "\e0ad"; -} - -.fa-bars-sort { - --fa: "\e0ae"; -} - -.fa-basket-shopping-simple { - --fa: "\e0af"; -} - -.fa-shopping-basket-alt { - --fa: "\e0af"; -} - -.fa-battery-exclamation { - --fa: "\e0b0"; -} - -.fa-battery-low { - --fa: "\e0b1"; -} - -.fa-battery-1 { - --fa: "\e0b1"; -} - -.fa-bee { - --fa: "\e0b2"; -} - -.fa-beer-mug { - --fa: "\e0b3"; -} - -.fa-beer-foam { - --fa: "\e0b3"; -} - -.fa-bitcoin-sign { - --fa: "\e0b4"; -} - -.fa-block-quote { - --fa: "\e0b5"; -} - -.fa-bolt-auto { - --fa: "\e0b6"; -} - -.fa-bolt-lightning { - --fa: "\e0b7"; -} - -.fa-bolt-slash { - --fa: "\e0b8"; -} - -.fa-book-arrow-right { - --fa: "\e0b9"; -} - -.fa-book-arrow-up { - --fa: "\e0ba"; -} - -.fa-book-bookmark { - --fa: "\e0bb"; -} - -.fa-book-circle-arrow-right { - --fa: "\e0bc"; -} - -.fa-book-circle-arrow-up { - --fa: "\e0bd"; -} - -.fa-book-copy { - --fa: "\e0be"; -} - -.fa-book-font { - --fa: "\e0bf"; -} - -.fa-book-open-cover { - --fa: "\e0c0"; -} - -.fa-book-open-alt { - --fa: "\e0c0"; -} - -.fa-book-section { - --fa: "\e0c1"; -} - -.fa-book-law { - --fa: "\e0c1"; -} - -.fa-bookmark-slash { - --fa: "\e0c2"; -} - -.fa-bowling-ball-pin { - --fa: "\e0c3"; -} - -.fa-box-circle-check { - --fa: "\e0c4"; -} - -.fa-brackets-round { - --fa: "\e0c5"; -} - -.fa-parentheses { - --fa: "\e0c5"; -} - -.fa-brain-circuit { - --fa: "\e0c6"; -} - -.fa-brake-warning { - --fa: "\e0c7"; -} - -.fa-briefcase-blank { - --fa: "\e0c8"; -} - -.fa-brightness { - --fa: "\e0c9"; -} - -.fa-brightness-low { - --fa: "\e0ca"; -} - -.fa-browsers { - --fa: "\e0cb"; -} - -.fa-buildings { - --fa: "\e0cc"; -} - -.fa-burger-fries { - --fa: "\e0cd"; -} - -.fa-burger-glass { - --fa: "\e0ce"; -} - -.fa-calendar-arrow-down { - --fa: "\e0d0"; -} - -.fa-calendar-download { - --fa: "\e0d0"; -} - -.fa-calendar-arrow-up { - --fa: "\e0d1"; -} - -.fa-calendar-upload { - --fa: "\e0d1"; -} - -.fa-calendar-clock { - --fa: "\e0d2"; -} - -.fa-calendar-time { - --fa: "\e0d2"; -} - -.fa-calendar-heart { - --fa: "\e0d3"; -} - -.fa-calendar-image { - --fa: "\e0d4"; -} - -.fa-calendar-lines { - --fa: "\e0d5"; -} - -.fa-calendar-note { - --fa: "\e0d5"; -} - -.fa-calendar-range { - --fa: "\e0d6"; -} - -.fa-calendars { - --fa: "\e0d7"; -} - -.fa-camera-rotate { - --fa: "\e0d8"; -} - -.fa-camera-slash { - --fa: "\e0d9"; -} - -.fa-camera-viewfinder { - --fa: "\e0da"; -} - -.fa-screenshot { - --fa: "\e0da"; -} - -.fa-cart-minus { - --fa: "\e0db"; -} - -.fa-cart-shopping-fast { - --fa: "\e0dc"; -} - -.fa-cart-xmark { - --fa: "\e0dd"; -} - -.fa-castle { - --fa: "\e0de"; -} - -.fa-cedi-sign { - --fa: "\e0df"; -} - -.fa-chart-bullet { - --fa: "\e0e1"; -} - -.fa-chart-candlestick { - --fa: "\e0e2"; -} - -.fa-chart-column { - --fa: "\e0e3"; -} - -.fa-chart-gantt { - --fa: "\e0e4"; -} - -.fa-chart-line-up { - --fa: "\e0e5"; -} - -.fa-chart-pyramid { - --fa: "\e0e6"; -} - -.fa-chart-radar { - --fa: "\e0e7"; -} - -.fa-chart-scatter-3d { - --fa: "\e0e8"; -} - -.fa-chart-scatter-bubble { - --fa: "\e0e9"; -} - -.fa-chart-tree-map { - --fa: "\e0ea"; -} - -.fa-chart-waterfall { - --fa: "\e0eb"; -} - -.fa-cherries { - --fa: "\e0ec"; -} - -.fa-circle-0 { - --fa: "\e0ed"; -} - -.fa-circle-1 { - --fa: "\e0ee"; -} - -.fa-circle-2 { - --fa: "\e0ef"; -} - -.fa-circle-3 { - --fa: "\e0f0"; -} - -.fa-circle-4 { - --fa: "\e0f1"; -} - -.fa-circle-5 { - --fa: "\e0f2"; -} - -.fa-circle-6 { - --fa: "\e0f3"; -} - -.fa-circle-7 { - --fa: "\e0f4"; -} - -.fa-circle-8 { - --fa: "\e0f5"; -} - -.fa-circle-9 { - --fa: "\e0f6"; -} - -.fa-circle-a { - --fa: "\e0f7"; -} - -.fa-circle-ampersand { - --fa: "\e0f8"; -} - -.fa-circle-arrow-down-left { - --fa: "\e0f9"; -} - -.fa-circle-arrow-down-right { - --fa: "\e0fa"; -} - -.fa-circle-arrow-up-left { - --fa: "\e0fb"; -} - -.fa-circle-arrow-up-right { - --fa: "\e0fc"; -} - -.fa-circle-b { - --fa: "\e0fd"; -} - -.fa-circle-bolt { - --fa: "\e0fe"; -} - -.fa-circle-book-open { - --fa: "\e0ff"; -} - -.fa-book-circle { - --fa: "\e0ff"; -} - -.fa-circle-bookmark { - --fa: "\e100"; -} - -.fa-bookmark-circle { - --fa: "\e100"; -} - -.fa-circle-c { - --fa: "\e101"; -} - -.fa-circle-calendar { - --fa: "\e102"; -} - -.fa-calendar-circle { - --fa: "\e102"; -} - -.fa-circle-camera { - --fa: "\e103"; -} - -.fa-camera-circle { - --fa: "\e103"; -} - -.fa-circle-d { - --fa: "\e104"; -} - -.fa-circle-dashed { - --fa: "\e105"; -} - -.fa-circle-divide { - --fa: "\e106"; -} - -.fa-circle-down-left { - --fa: "\e107"; -} - -.fa-circle-down-right { - --fa: "\e108"; -} - -.fa-circle-e { - --fa: "\e109"; -} - -.fa-circle-ellipsis { - --fa: "\e10a"; -} - -.fa-circle-ellipsis-vertical { - --fa: "\e10b"; -} - -.fa-circle-envelope { - --fa: "\e10c"; -} - -.fa-envelope-circle { - --fa: "\e10c"; -} - -.fa-circle-exclamation-check { - --fa: "\e10d"; -} - -.fa-circle-f { - --fa: "\e10e"; -} - -.fa-circle-g { - --fa: "\e10f"; -} - -.fa-circle-half { - --fa: "\e110"; -} - -.fa-circle-i { - --fa: "\e111"; -} - -.fa-circle-j { - --fa: "\e112"; -} - -.fa-circle-k { - --fa: "\e113"; -} - -.fa-circle-l { - --fa: "\e114"; -} - -.fa-circle-m { - --fa: "\e115"; -} - -.fa-circle-microphone { - --fa: "\e116"; -} - -.fa-microphone-circle { - --fa: "\e116"; -} - -.fa-circle-microphone-lines { - --fa: "\e117"; -} - -.fa-microphone-circle-alt { - --fa: "\e117"; -} - -.fa-circle-n { - --fa: "\e118"; -} - -.fa-circle-o { - --fa: "\e119"; -} - -.fa-circle-p { - --fa: "\e11a"; -} - -.fa-circle-phone { - --fa: "\e11b"; -} - -.fa-phone-circle { - --fa: "\e11b"; -} - -.fa-circle-phone-flip { - --fa: "\e11c"; -} - -.fa-phone-circle-alt { - --fa: "\e11c"; -} - -.fa-circle-phone-hangup { - --fa: "\e11d"; -} - -.fa-phone-circle-down { - --fa: "\e11d"; -} - -.fa-circle-q { - --fa: "\e11e"; -} - -.fa-circle-quarter { - --fa: "\e11f"; -} - -.fa-circle-r { - --fa: "\e120"; -} - -.fa-circle-s { - --fa: "\e121"; -} - -.fa-circle-small { - --fa: "\e122"; -} - -.fa-circle-star { - --fa: "\e123"; -} - -.fa-star-circle { - --fa: "\e123"; -} - -.fa-circle-t { - --fa: "\e124"; -} - -.fa-circle-three-quarters { - --fa: "\e125"; -} - -.fa-circle-trash { - --fa: "\e126"; -} - -.fa-trash-circle { - --fa: "\e126"; -} - -.fa-circle-u { - --fa: "\e127"; -} - -.fa-circle-up-left { - --fa: "\e128"; -} - -.fa-circle-up-right { - --fa: "\e129"; -} - -.fa-circle-v { - --fa: "\e12a"; -} - -.fa-circle-video { - --fa: "\e12b"; -} - -.fa-video-circle { - --fa: "\e12b"; -} - -.fa-circle-w { - --fa: "\e12c"; -} - -.fa-circle-waveform-lines { - --fa: "\e12d"; -} - -.fa-waveform-circle { - --fa: "\e12d"; -} - -.fa-circle-x { - --fa: "\e12e"; -} - -.fa-circle-y { - --fa: "\e12f"; -} - -.fa-circle-z { - --fa: "\e130"; -} - -.fa-clapperboard { - --fa: "\e131"; -} - -.fa-clapperboard-play { - --fa: "\e132"; -} - -.fa-clipboard-medical { - --fa: "\e133"; -} - -.fa-clock-desk { - --fa: "\e134"; -} - -.fa-closed-captioning-slash { - --fa: "\e135"; -} - -.fa-clothes-hanger { - --fa: "\e136"; -} - -.fa-cloud-slash { - --fa: "\e137"; -} - -.fa-cloud-word { - --fa: "\e138"; -} - -.fa-clover { - --fa: "\e139"; -} - -.fa-code-compare { - --fa: "\e13a"; -} - -.fa-code-fork { - --fa: "\e13b"; -} - -.fa-code-pull-request { - --fa: "\e13c"; -} - -.fa-code-simple { - --fa: "\e13d"; -} - -.fa-coffee-bean { - --fa: "\e13e"; -} - -.fa-coffee-beans { - --fa: "\e13f"; -} - -.fa-colon-sign { - --fa: "\e140"; -} - -.fa-command { - --fa: "\e142"; -} - -.fa-comment-arrow-down { - --fa: "\e143"; -} - -.fa-comment-arrow-up { - --fa: "\e144"; -} - -.fa-comment-arrow-up-right { - --fa: "\e145"; -} - -.fa-comment-captions { - --fa: "\e146"; -} - -.fa-comment-code { - --fa: "\e147"; -} - -.fa-comment-image { - --fa: "\e148"; -} - -.fa-comment-middle { - --fa: "\e149"; -} - -.fa-comment-middle-top { - --fa: "\e14a"; -} - -.fa-comment-question { - --fa: "\e14b"; -} - -.fa-comment-quote { - --fa: "\e14c"; -} - -.fa-comment-text { - --fa: "\e14d"; -} - -.fa-comments-question { - --fa: "\e14e"; -} - -.fa-comments-question-check { - --fa: "\e14f"; -} - -.fa-conveyor-belt-empty { - --fa: "\e150"; -} - -.fa-crate-empty { - --fa: "\e151"; -} - -.fa-cruzeiro-sign { - --fa: "\e152"; -} - -.fa-delete-right { - --fa: "\e154"; -} - -.fa-desktop-arrow-down { - --fa: "\e155"; -} - -.fa-diagram-lean-canvas { - --fa: "\e156"; -} - -.fa-diagram-nested { - --fa: "\e157"; -} - -.fa-diagram-sankey { - --fa: "\e158"; -} - -.fa-diagram-venn { - --fa: "\e15a"; -} - -.fa-dial { - --fa: "\e15b"; -} - -.fa-dial-med-high { - --fa: "\e15b"; -} - -.fa-dial-high { - --fa: "\e15c"; -} - -.fa-dial-low { - --fa: "\e15d"; -} - -.fa-dial-max { - --fa: "\e15e"; -} - -.fa-dial-med { - --fa: "\e15f"; -} - -.fa-dial-med-low { - --fa: "\e160"; -} - -.fa-dial-min { - --fa: "\e161"; -} - -.fa-dial-off { - --fa: "\e162"; -} - -.fa-display { - --fa: "\e163"; -} - -.fa-display-arrow-down { - --fa: "\e164"; -} - -.fa-display-code { - --fa: "\e165"; -} - -.fa-desktop-code { - --fa: "\e165"; -} - -.fa-display-medical { - --fa: "\e166"; -} - -.fa-desktop-medical { - --fa: "\e166"; -} - -.fa-dolphin { - --fa: "\e168"; -} - -.fa-dong-sign { - --fa: "\e169"; -} - -.fa-down-left { - --fa: "\e16a"; -} - -.fa-down-right { - --fa: "\e16b"; -} - -.fa-eggplant { - --fa: "\e16c"; -} - -.fa-elevator { - --fa: "\e16d"; -} - -.fa-engine { - --fa: "\e16e"; -} - -.fa-envelope-dot { - --fa: "\e16f"; -} - -.fa-envelope-badge { - --fa: "\e16f"; -} - -.fa-envelopes { - --fa: "\e170"; -} - -.fa-escalator { - --fa: "\e171"; -} - -.fa-eye-dropper-full { - --fa: "\e172"; -} - -.fa-eye-dropper-half { - --fa: "\e173"; -} - -.fa-ferris-wheel { - --fa: "\e174"; -} - -.fa-file-binary { - --fa: "\e175"; -} - -.fa-file-heart { - --fa: "\e176"; -} - -.fa-file-plus-minus { - --fa: "\e177"; -} - -.fa-files { - --fa: "\e178"; -} - -.fa-film-slash { - --fa: "\e179"; -} - -.fa-films { - --fa: "\e17a"; -} - -.fa-filter-circle-xmark { - --fa: "\e17b"; -} - -.fa-filter-list { - --fa: "\e17c"; -} - -.fa-filter-slash { - --fa: "\e17d"; -} - -.fa-filters { - --fa: "\e17e"; -} - -.fa-fire-hydrant { - --fa: "\e17f"; -} - -.fa-floppy-disk-circle-arrow-right { - --fa: "\e180"; -} - -.fa-save-circle-arrow-right { - --fa: "\e180"; -} - -.fa-floppy-disk-circle-xmark { - --fa: "\e181"; -} - -.fa-floppy-disk-times { - --fa: "\e181"; -} - -.fa-save-circle-xmark { - --fa: "\e181"; -} - -.fa-save-times { - --fa: "\e181"; -} - -.fa-floppy-disk-pen { - --fa: "\e182"; -} - -.fa-floppy-disks { - --fa: "\e183"; -} - -.fa-florin-sign { - --fa: "\e184"; -} - -.fa-folder-closed { - --fa: "\e185"; -} - -.fa-folder-bookmark { - --fa: "\e186"; -} - -.fa-folder-gear { - --fa: "\e187"; -} - -.fa-folder-cog { - --fa: "\e187"; -} - -.fa-folder-grid { - --fa: "\e188"; -} - -.fa-folder-heart { - --fa: "\e189"; -} - -.fa-folder-image { - --fa: "\e18a"; -} - -.fa-folder-magnifying-glass { - --fa: "\e18b"; -} - -.fa-folder-search { - --fa: "\e18b"; -} - -.fa-folder-medical { - --fa: "\e18c"; -} - -.fa-folder-music { - --fa: "\e18d"; -} - -.fa-folder-user { - --fa: "\e18e"; -} - -.fa-franc-sign { - --fa: "\e18f"; -} - -.fa-gif { - --fa: "\e190"; -} - -.fa-glass-empty { - --fa: "\e191"; -} - -.fa-glass-half { - --fa: "\e192"; -} - -.fa-glass-half-empty { - --fa: "\e192"; -} - -.fa-glass-half-full { - --fa: "\e192"; -} - -.fa-grate { - --fa: "\e193"; -} - -.fa-grate-droplet { - --fa: "\e194"; -} - -.fa-grid { - --fa: "\e195"; -} - -.fa-grid-3 { - --fa: "\e195"; -} - -.fa-grid-2 { - --fa: "\e196"; -} - -.fa-grid-2-plus { - --fa: "\e197"; -} - -.fa-grid-4 { - --fa: "\e198"; -} - -.fa-grid-5 { - --fa: "\e199"; -} - -.fa-guarani-sign { - --fa: "\e19a"; -} - -.fa-gun { - --fa: "\e19b"; -} - -.fa-gun-slash { - --fa: "\e19c"; -} - -.fa-gun-squirt { - --fa: "\e19d"; -} - -.fa-hand-back-point-down { - --fa: "\e19e"; -} - -.fa-hand-back-point-left { - --fa: "\e19f"; -} - -.fa-hand-back-point-ribbon { - --fa: "\e1a0"; -} - -.fa-hand-back-point-right { - --fa: "\e1a1"; -} - -.fa-hand-back-point-up { - --fa: "\e1a2"; -} - -.fa-hand-fingers-crossed { - --fa: "\e1a3"; -} - -.fa-hand-holding-skull { - --fa: "\e1a4"; -} - -.fa-hand-love { - --fa: "\e1a5"; -} - -.fa-hand-point-ribbon { - --fa: "\e1a6"; -} - -.fa-hand-wave { - --fa: "\e1a7"; -} - -.fa-hands-clapping { - --fa: "\e1a8"; -} - -.fa-hand-horns { - --fa: "\e1a9"; -} - -.fa-head-side-heart { - --fa: "\e1aa"; -} - -.fa-heart-half { - --fa: "\e1ab"; -} - -.fa-heart-half-stroke { - --fa: "\e1ac"; -} - -.fa-heart-half-alt { - --fa: "\e1ac"; -} - -.fa-hexagon-divide { - --fa: "\e1ad"; -} - -.fa-high-definition { - --fa: "\e1ae"; -} - -.fa-rectangle-hd { - --fa: "\e1ae"; -} - -.fa-highlighter-line { - --fa: "\e1af"; -} - -.fa-house-user { - --fa: "\e1b0"; -} - -.fa-home-user { - --fa: "\e1b0"; -} - -.fa-house-building { - --fa: "\e1b1"; -} - -.fa-house-chimney-heart { - --fa: "\e1b2"; -} - -.fa-house-tree { - --fa: "\e1b3"; -} - -.fa-house-turret { - --fa: "\e1b4"; -} - -.fa-image-landscape { - --fa: "\e1b5"; -} - -.fa-landscape { - --fa: "\e1b5"; -} - -.fa-image-polaroid-user { - --fa: "\e1b6"; -} - -.fa-image-slash { - --fa: "\e1b7"; -} - -.fa-image-user { - --fa: "\e1b8"; -} - -.fa-images-user { - --fa: "\e1b9"; -} - -.fa-inbox-full { - --fa: "\e1ba"; -} - -.fa-inboxes { - --fa: "\e1bb"; -} - -.fa-indian-rupee-sign { - --fa: "\e1bc"; -} - -.fa-indian-rupee { - --fa: "\e1bc"; -} - -.fa-inr { - --fa: "\e1bc"; -} - -.fa-input-numeric { - --fa: "\e1bd"; -} - -.fa-input-pipe { - --fa: "\e1be"; -} - -.fa-input-text { - --fa: "\e1bf"; -} - -.fa-keyboard-brightness { - --fa: "\e1c0"; -} - -.fa-keyboard-brightness-low { - --fa: "\e1c1"; -} - -.fa-keyboard-down { - --fa: "\e1c2"; -} - -.fa-keyboard-left { - --fa: "\e1c3"; -} - -.fa-kip-sign { - --fa: "\e1c4"; -} - -.fa-lamp-street { - --fa: "\e1c5"; -} - -.fa-laptop-arrow-down { - --fa: "\e1c6"; -} - -.fa-laptop-slash { - --fa: "\e1c7"; -} - -.fa-lari-sign { - --fa: "\e1c8"; -} - -.fa-lasso-sparkles { - --fa: "\e1c9"; -} - -.fa-lightbulb-exclamation-on { - --fa: "\e1ca"; -} - -.fa-link-horizontal { - --fa: "\e1cb"; -} - -.fa-chain-horizontal { - --fa: "\e1cb"; -} - -.fa-link-horizontal-slash { - --fa: "\e1cc"; -} - -.fa-chain-horizontal-slash { - --fa: "\e1cc"; -} - -.fa-link-simple { - --fa: "\e1cd"; -} - -.fa-link-simple-slash { - --fa: "\e1ce"; -} - -.fa-list-dropdown { - --fa: "\e1cf"; -} - -.fa-list-radio { - --fa: "\e1d0"; -} - -.fa-list-timeline { - --fa: "\e1d1"; -} - -.fa-list-tree { - --fa: "\e1d2"; -} - -.fa-litecoin-sign { - --fa: "\e1d3"; -} - -.fa-loader { - --fa: "\e1d4"; -} - -.fa-manat-sign { - --fa: "\e1d5"; -} - -.fa-manhole { - --fa: "\e1d6"; -} - -.fa-mask-face { - --fa: "\e1d7"; -} - -.fa-memo { - --fa: "\e1d8"; -} - -.fa-memo-circle-check { - --fa: "\e1d9"; -} - -.fa-memo-pad { - --fa: "\e1da"; -} - -.fa-message-arrow-down { - --fa: "\e1db"; -} - -.fa-comment-alt-arrow-down { - --fa: "\e1db"; -} - -.fa-message-arrow-up { - --fa: "\e1dc"; -} - -.fa-comment-alt-arrow-up { - --fa: "\e1dc"; -} - -.fa-message-arrow-up-right { - --fa: "\e1dd"; -} - -.fa-message-captions { - --fa: "\e1de"; -} - -.fa-comment-alt-captions { - --fa: "\e1de"; -} - -.fa-message-code { - --fa: "\e1df"; -} - -.fa-message-image { - --fa: "\e1e0"; -} - -.fa-comment-alt-image { - --fa: "\e1e0"; -} - -.fa-message-middle { - --fa: "\e1e1"; -} - -.fa-comment-middle-alt { - --fa: "\e1e1"; -} - -.fa-message-middle-top { - --fa: "\e1e2"; -} - -.fa-comment-middle-top-alt { - --fa: "\e1e2"; -} - -.fa-message-question { - --fa: "\e1e3"; -} - -.fa-message-quote { - --fa: "\e1e4"; -} - -.fa-comment-alt-quote { - --fa: "\e1e4"; -} - -.fa-message-sms { - --fa: "\e1e5"; -} - -.fa-message-text { - --fa: "\e1e6"; -} - -.fa-comment-alt-text { - --fa: "\e1e6"; -} - -.fa-messages-question { - --fa: "\e1e7"; -} - -.fa-meter { - --fa: "\e1e8"; -} - -.fa-meter-bolt { - --fa: "\e1e9"; -} - -.fa-meter-droplet { - --fa: "\e1ea"; -} - -.fa-meter-fire { - --fa: "\e1eb"; -} - -.fa-microchip-ai { - --fa: "\e1ec"; -} - -.fa-mill-sign { - --fa: "\e1ed"; -} - -.fa-mobile-notch { - --fa: "\e1ee"; -} - -.fa-mobile-iphone { - --fa: "\e1ee"; -} - -.fa-mobile-signal { - --fa: "\e1ef"; -} - -.fa-mobile-signal-out { - --fa: "\e1f0"; -} - -.fa-money-bill-simple { - --fa: "\e1f1"; -} - -.fa-money-bill-simple-wave { - --fa: "\e1f2"; -} - -.fa-money-bills { - --fa: "\e1f3"; -} - -.fa-money-bills-simple { - --fa: "\e1f4"; -} - -.fa-money-bills-alt { - --fa: "\e1f4"; -} - -.fa-mug-tea-saucer { - --fa: "\e1f5"; -} - -.fa-naira-sign { - --fa: "\e1f6"; -} - -.fa-nfc { - --fa: "\e1f7"; -} - -.fa-nfc-lock { - --fa: "\e1f8"; -} - -.fa-nfc-magnifying-glass { - --fa: "\e1f9"; -} - -.fa-nfc-pen { - --fa: "\e1fa"; -} - -.fa-nfc-signal { - --fa: "\e1fb"; -} - -.fa-nfc-slash { - --fa: "\e1fc"; -} - -.fa-nfc-trash { - --fa: "\e1fd"; -} - -.fa-notdef { - --fa: "\e1fe"; -} - -.fa-note { - --fa: "\e1ff"; -} - -.fa-note-medical { - --fa: "\e200"; -} - -.fa-notebook { - --fa: "\e201"; -} - -.fa-notes { - --fa: "\e202"; -} - -.fa-octagon-divide { - --fa: "\e203"; -} - -.fa-octagon-exclamation { - --fa: "\e204"; -} - -.fa-oil-can-drip { - --fa: "\e205"; -} - -.fa-paintbrush-pencil { - --fa: "\e206"; -} - -.fa-pallet-box { - --fa: "\e208"; -} - -.fa-panorama { - --fa: "\e209"; -} - -.fa-paper-plane-top { - --fa: "\e20a"; -} - -.fa-paper-plane-alt { - --fa: "\e20a"; -} - -.fa-send { - --fa: "\e20a"; -} - -.fa-peach { - --fa: "\e20b"; -} - -.fa-pear { - --fa: "\e20c"; -} - -.fa-pedestal { - --fa: "\e20d"; -} - -.fa-pen-circle { - --fa: "\e20e"; -} - -.fa-pen-clip-slash { - --fa: "\e20f"; -} - -.fa-pen-alt-slash { - --fa: "\e20f"; -} - -.fa-pen-fancy-slash { - --fa: "\e210"; -} - -.fa-pen-field { - --fa: "\e211"; -} - -.fa-pen-line { - --fa: "\e212"; -} - -.fa-pen-slash { - --fa: "\e213"; -} - -.fa-pen-swirl { - --fa: "\e214"; -} - -.fa-pencil-slash { - --fa: "\e215"; -} - -.fa-people { - --fa: "\e216"; -} - -.fa-people-dress { - --fa: "\e217"; -} - -.fa-people-dress-simple { - --fa: "\e218"; -} - -.fa-people-pants { - --fa: "\e219"; -} - -.fa-people-pants-simple { - --fa: "\e21a"; -} - -.fa-people-simple { - --fa: "\e21b"; -} - -.fa-person-dress-simple { - --fa: "\e21c"; -} - -.fa-person-pinball { - --fa: "\e21d"; -} - -.fa-person-seat { - --fa: "\e21e"; -} - -.fa-person-seat-reclined { - --fa: "\e21f"; -} - -.fa-person-simple { - --fa: "\e220"; -} - -.fa-peseta-sign { - --fa: "\e221"; -} - -.fa-peso-sign { - --fa: "\e222"; -} - -.fa-phone-arrow-down-left { - --fa: "\e223"; -} - -.fa-phone-arrow-down { - --fa: "\e223"; -} - -.fa-phone-incoming { - --fa: "\e223"; -} - -.fa-phone-arrow-up-right { - --fa: "\e224"; -} - -.fa-phone-arrow-up { - --fa: "\e224"; -} - -.fa-phone-outgoing { - --fa: "\e224"; -} - -.fa-phone-hangup { - --fa: "\e225"; -} - -.fa-phone-missed { - --fa: "\e226"; -} - -.fa-phone-xmark { - --fa: "\e227"; -} - -.fa-photo-film-music { - --fa: "\e228"; -} - -.fa-pinball { - --fa: "\e229"; -} - -.fa-plane-prop { - --fa: "\e22b"; -} - -.fa-plane-tail { - --fa: "\e22c"; -} - -.fa-plane-up { - --fa: "\e22d"; -} - -.fa-plane-up-slash { - --fa: "\e22e"; -} - -.fa-play-pause { - --fa: "\e22f"; -} - -.fa-puzzle-piece-simple { - --fa: "\e231"; -} - -.fa-puzzle-piece-alt { - --fa: "\e231"; -} - -.fa-quotes { - --fa: "\e234"; -} - -.fa-rectangle-pro { - --fa: "\e235"; -} - -.fa-pro { - --fa: "\e235"; -} - -.fa-rectangle-terminal { - --fa: "\e236"; -} - -.fa-rectangle-vertical-history { - --fa: "\e237"; -} - -.fa-reel { - --fa: "\e238"; -} - -.fa-reply-clock { - --fa: "\e239"; -} - -.fa-reply-time { - --fa: "\e239"; -} - -.fa-restroom-simple { - --fa: "\e23a"; -} - -.fa-rhombus { - --fa: "\e23b"; -} - -.fa-rotate-exclamation { - --fa: "\e23c"; -} - -.fa-rupiah-sign { - --fa: "\e23d"; -} - -.fa-screencast { - --fa: "\e23e"; -} - -.fa-scribble { - --fa: "\e23f"; -} - -.fa-sd-cards { - --fa: "\e240"; -} - -.fa-seal { - --fa: "\e241"; -} - -.fa-seal-exclamation { - --fa: "\e242"; -} - -.fa-seal-question { - --fa: "\e243"; -} - -.fa-seat-airline { - --fa: "\e244"; -} - -.fa-shelves-empty { - --fa: "\e246"; -} - -.fa-shield-exclamation { - --fa: "\e247"; -} - -.fa-shield-keyhole { - --fa: "\e248"; -} - -.fa-shield-minus { - --fa: "\e249"; -} - -.fa-shield-plus { - --fa: "\e24a"; -} - -.fa-shield-slash { - --fa: "\e24b"; -} - -.fa-shield-xmark { - --fa: "\e24c"; -} - -.fa-shield-times { - --fa: "\e24c"; -} - -.fa-shower-down { - --fa: "\e24d"; -} - -.fa-shower-alt { - --fa: "\e24d"; -} - -.fa-sidebar { - --fa: "\e24e"; -} - -.fa-sidebar-flip { - --fa: "\e24f"; -} - -.fa-signal-stream-slash { - --fa: "\e250"; -} - -.fa-sim-cards { - --fa: "\e251"; -} - -.fa-slider { - --fa: "\e252"; -} - -.fa-sliders-simple { - --fa: "\e253"; -} - -.fa-split { - --fa: "\e254"; -} - -.fa-square-0 { - --fa: "\e255"; -} - -.fa-square-1 { - --fa: "\e256"; -} - -.fa-square-2 { - --fa: "\e257"; -} - -.fa-square-3 { - --fa: "\e258"; -} - -.fa-square-4 { - --fa: "\e259"; -} - -.fa-square-5 { - --fa: "\e25a"; -} - -.fa-square-6 { - --fa: "\e25b"; -} - -.fa-square-7 { - --fa: "\e25c"; -} - -.fa-square-8 { - --fa: "\e25d"; -} - -.fa-square-9 { - --fa: "\e25e"; -} - -.fa-square-a { - --fa: "\e25f"; -} - -.fa-square-ampersand { - --fa: "\e260"; -} - -.fa-square-arrow-down-left { - --fa: "\e261"; -} - -.fa-square-arrow-down-right { - --fa: "\e262"; -} - -.fa-square-arrow-up-left { - --fa: "\e263"; -} - -.fa-square-b { - --fa: "\e264"; -} - -.fa-square-bolt { - --fa: "\e265"; -} - -.fa-square-c { - --fa: "\e266"; -} - -.fa-square-code { - --fa: "\e267"; -} - -.fa-square-d { - --fa: "\e268"; -} - -.fa-square-dashed { - --fa: "\e269"; -} - -.fa-square-divide { - --fa: "\e26a"; -} - -.fa-square-down-left { - --fa: "\e26b"; -} - -.fa-square-down-right { - --fa: "\e26c"; -} - -.fa-square-e { - --fa: "\e26d"; -} - -.fa-square-ellipsis { - --fa: "\e26e"; -} - -.fa-square-ellipsis-vertical { - --fa: "\e26f"; -} - -.fa-square-f { - --fa: "\e270"; -} - -.fa-square-g { - --fa: "\e271"; -} - -.fa-square-i { - --fa: "\e272"; -} - -.fa-square-j { - --fa: "\e273"; -} - -.fa-square-k { - --fa: "\e274"; -} - -.fa-square-l { - --fa: "\e275"; -} - -.fa-square-m { - --fa: "\e276"; -} - -.fa-square-n { - --fa: "\e277"; -} - -.fa-square-o { - --fa: "\e278"; -} - -.fa-square-p { - --fa: "\e279"; -} - -.fa-square-phone-hangup { - --fa: "\e27a"; -} - -.fa-phone-square-down { - --fa: "\e27a"; -} - -.fa-square-q { - --fa: "\e27b"; -} - -.fa-square-r { - --fa: "\e27c"; -} - -.fa-square-s { - --fa: "\e27d"; -} - -.fa-square-small { - --fa: "\e27e"; -} - -.fa-square-star { - --fa: "\e27f"; -} - -.fa-square-t { - --fa: "\e280"; -} - -.fa-square-u { - --fa: "\e281"; -} - -.fa-square-up-left { - --fa: "\e282"; -} - -.fa-square-user { - --fa: "\e283"; -} - -.fa-square-v { - --fa: "\e284"; -} - -.fa-square-w { - --fa: "\e285"; -} - -.fa-square-x { - --fa: "\e286"; -} - -.fa-square-y { - --fa: "\e287"; -} - -.fa-square-z { - --fa: "\e288"; -} - -.fa-stairs { - --fa: "\e289"; -} - -.fa-standard-definition { - --fa: "\e28a"; -} - -.fa-rectangle-sd { - --fa: "\e28a"; -} - -.fa-star-sharp { - --fa: "\e28b"; -} - -.fa-star-sharp-half { - --fa: "\e28c"; -} - -.fa-star-sharp-half-stroke { - --fa: "\e28d"; -} - -.fa-star-sharp-half-alt { - --fa: "\e28d"; -} - -.fa-starfighter-twin-ion-engine-advanced { - --fa: "\e28e"; -} - -.fa-starfighter-alt-advanced { - --fa: "\e28e"; -} - -.fa-sun-bright { - --fa: "\e28f"; -} - -.fa-sun-alt { - --fa: "\e28f"; -} - -.fa-table-layout { - --fa: "\e290"; -} - -.fa-table-pivot { - --fa: "\e291"; -} - -.fa-table-rows { - --fa: "\e292"; -} - -.fa-rows { - --fa: "\e292"; -} - -.fa-table-tree { - --fa: "\e293"; -} - -.fa-tally-1 { - --fa: "\e294"; -} - -.fa-tally-2 { - --fa: "\e295"; -} - -.fa-tally-3 { - --fa: "\e296"; -} - -.fa-tally-4 { - --fa: "\e297"; -} - -.fa-taxi-bus { - --fa: "\e298"; -} - -.fa-temperature-list { - --fa: "\e299"; -} - -.fa-ticket-airline { - --fa: "\e29a"; -} - -.fa-ticket-perforated-plane { - --fa: "\e29a"; -} - -.fa-ticket-plane { - --fa: "\e29a"; -} - -.fa-tickets-airline { - --fa: "\e29b"; -} - -.fa-tickets-perforated-plane { - --fa: "\e29b"; -} - -.fa-tickets-plane { - --fa: "\e29b"; -} - -.fa-timeline { - --fa: "\e29c"; -} - -.fa-timeline-arrow { - --fa: "\e29d"; -} - -.fa-timer { - --fa: "\e29e"; -} - -.fa-toilet-paper-under { - --fa: "\e2a0"; -} - -.fa-toilet-paper-blank-under { - --fa: "\e2a0"; -} - -.fa-toilet-paper-reverse { - --fa: "\e2a0"; -} - -.fa-toilet-paper-reverse-alt { - --fa: "\e2a0"; -} - -.fa-toilet-paper-under-slash { - --fa: "\e2a1"; -} - -.fa-toilet-paper-reverse-slash { - --fa: "\e2a1"; -} - -.fa-tower-control { - --fa: "\e2a2"; -} - -.fa-train-subway-tunnel { - --fa: "\e2a3"; -} - -.fa-subway-tunnel { - --fa: "\e2a3"; -} - -.fa-transformer-bolt { - --fa: "\e2a4"; -} - -.fa-transporter-4 { - --fa: "\e2a5"; -} - -.fa-transporter-5 { - --fa: "\e2a6"; -} - -.fa-transporter-6 { - --fa: "\e2a7"; -} - -.fa-transporter-7 { - --fa: "\e2a8"; -} - -.fa-trash-can-check { - --fa: "\e2a9"; -} - -.fa-trash-can-clock { - --fa: "\e2aa"; -} - -.fa-trash-can-list { - --fa: "\e2ab"; -} - -.fa-trash-can-plus { - --fa: "\e2ac"; -} - -.fa-trash-can-slash { - --fa: "\e2ad"; -} - -.fa-trash-alt-slash { - --fa: "\e2ad"; -} - -.fa-trash-can-xmark { - --fa: "\e2ae"; -} - -.fa-trash-check { - --fa: "\e2af"; -} - -.fa-trash-clock { - --fa: "\e2b0"; -} - -.fa-trash-list { - --fa: "\e2b1"; -} - -.fa-trash-plus { - --fa: "\e2b2"; -} - -.fa-trash-slash { - --fa: "\e2b3"; -} - -.fa-trash-xmark { - --fa: "\e2b4"; -} - -.fa-truck-container-empty { - --fa: "\e2b5"; -} - -.fa-truck-flatbed { - --fa: "\e2b6"; -} - -.fa-truck-front { - --fa: "\e2b7"; -} - -.fa-truck-tow { - --fa: "\e2b8"; -} - -.fa-tty-answer { - --fa: "\e2b9"; -} - -.fa-teletype-answer { - --fa: "\e2b9"; -} - -.fa-tugrik-sign { - --fa: "\e2ba"; -} - -.fa-turkish-lira-sign { - --fa: "\e2bb"; -} - -.fa-try { - --fa: "\e2bb"; -} - -.fa-turkish-lira { - --fa: "\e2bb"; -} - -.fa-umbrella-simple { - --fa: "\e2bc"; -} - -.fa-umbrella-alt { - --fa: "\e2bc"; -} - -.fa-up-left { - --fa: "\e2bd"; -} - -.fa-up-right { - --fa: "\e2be"; -} - -.fa-user-bounty-hunter { - --fa: "\e2bf"; -} - -.fa-user-pilot { - --fa: "\e2c0"; -} - -.fa-user-pilot-tie { - --fa: "\e2c1"; -} - -.fa-user-shakespeare { - --fa: "\e2c2"; -} - -.fa-utility-pole { - --fa: "\e2c3"; -} - -.fa-utility-pole-double { - --fa: "\e2c4"; -} - -.fa-vault { - --fa: "\e2c5"; -} - -.fa-video-arrow-down-left { - --fa: "\e2c8"; -} - -.fa-video-arrow-up-right { - --fa: "\e2c9"; -} - -.fa-wand-magic-sparkles { - --fa: "\e2ca"; -} - -.fa-magic-wand-sparkles { - --fa: "\e2ca"; -} - -.fa-watch-apple { - --fa: "\e2cb"; -} - -.fa-watch-smart { - --fa: "\e2cc"; -} - -.fa-wheat-awn { - --fa: "\e2cd"; -} - -.fa-wheat-alt { - --fa: "\e2cd"; -} - -.fa-wheelchair-move { - --fa: "\e2ce"; -} - -.fa-wheelchair-alt { - --fa: "\e2ce"; -} - -.fa-wifi-exclamation { - --fa: "\e2cf"; -} - -.fa-wrench-simple { - --fa: "\e2d1"; -} - -.fa-robot-astromech { - --fa: "\e2d2"; -} - -.fa-360-degrees { - --fa: "\e2dc"; -} - -.fa-aperture { - --fa: "\e2df"; -} - -.fa-arrow-turn-down-left { - --fa: "\e2e1"; -} - -.fa-balloon { - --fa: "\e2e3"; -} - -.fa-balloons { - --fa: "\e2e4"; -} - -.fa-banana { - --fa: "\e2e5"; -} - -.fa-bangladeshi-taka-sign { - --fa: "\e2e6"; -} - -.fa-bench-tree { - --fa: "\e2e7"; -} - -.fa-blueberries { - --fa: "\e2e8"; -} - -.fa-bowl-chopsticks { - --fa: "\e2e9"; -} - -.fa-bowl-chopsticks-noodles { - --fa: "\e2ea"; -} - -.fa-bowl-rice { - --fa: "\e2eb"; -} - -.fa-briefcase-arrow-right { - --fa: "\e2f2"; -} - -.fa-citrus { - --fa: "\e2f4"; -} - -.fa-citrus-slice { - --fa: "\e2f5"; -} - -.fa-coconut { - --fa: "\e2f6"; -} - -.fa-display-slash { - --fa: "\e2fa"; -} - -.fa-desktop-slash { - --fa: "\e2fa"; -} - -.fa-face-explode { - --fa: "\e2fe"; -} - -.fa-exploding-head { - --fa: "\e2fe"; -} - -.fa-face-viewfinder { - --fa: "\e2ff"; -} - -.fa-family { - --fa: "\e300"; -} - -.fa-family-dress { - --fa: "\e301"; -} - -.fa-family-pants { - --fa: "\e302"; -} - -.fa-fence { - --fa: "\e303"; -} - -.fa-fish-bones { - --fa: "\e304"; -} - -.fa-grapes { - --fa: "\e306"; -} - -.fa-kiwi-fruit { - --fa: "\e30c"; -} - -.fa-mango { - --fa: "\e30f"; -} - -.fa-melon { - --fa: "\e310"; -} - -.fa-melon-slice { - --fa: "\e311"; -} - -.fa-money-from-bracket { - --fa: "\e312"; -} - -.fa-money-simple-from-bracket { - --fa: "\e313"; -} - -.fa-olive { - --fa: "\e316"; -} - -.fa-olive-branch { - --fa: "\e317"; -} - -.fa-option { - --fa: "\e318"; -} - -.fa-party-bell { - --fa: "\e31a"; -} - -.fa-party-horn { - --fa: "\e31b"; -} - -.fa-peapod { - --fa: "\e31c"; -} - -.fa-person-pregnant { - --fa: "\e31e"; -} - -.fa-pineapple { - --fa: "\e31f"; -} - -.fa-rectangle-code { - --fa: "\e322"; -} - -.fa-rectangles-mixed { - --fa: "\e323"; -} - -.fa-roller-coaster { - --fa: "\e324"; -} - -.fa-square-quote { - --fa: "\e329"; -} - -.fa-square-terminal { - --fa: "\e32a"; -} - -.fa-strawberry { - --fa: "\e32b"; -} - -.fa-table-picnic { - --fa: "\e32d"; -} - -.fa-thought-bubble { - --fa: "\e32e"; -} - -.fa-tick { - --fa: "\e32f"; -} - -.fa-tomato { - --fa: "\e330"; -} - -.fa-turn-down-left { - --fa: "\e331"; -} - -.fa-user-police { - --fa: "\e333"; -} - -.fa-user-police-tie { - --fa: "\e334"; -} - -.fa-watermelon-slice { - --fa: "\e337"; -} - -.fa-wheat-awn-slash { - --fa: "\e338"; -} - -.fa-wheat-slash { - --fa: "\e339"; -} - -.fa-badminton { - --fa: "\e33a"; -} - -.fa-binary { - --fa: "\e33b"; -} - -.fa-binary-circle-check { - --fa: "\e33c"; -} - -.fa-binary-lock { - --fa: "\e33d"; -} - -.fa-binary-slash { - --fa: "\e33e"; -} - -.fa-boot-heeled { - --fa: "\e33f"; -} - -.fa-car-bolt { - --fa: "\e341"; -} - -.fa-car-circle-bolt { - --fa: "\e342"; -} - -.fa-car-mirrors { - --fa: "\e343"; -} - -.fa-car-side-bolt { - --fa: "\e344"; -} - -.fa-clock-eight { - --fa: "\e345"; -} - -.fa-clock-eight-thirty { - --fa: "\e346"; -} - -.fa-clock-eleven { - --fa: "\e347"; -} - -.fa-clock-eleven-thirty { - --fa: "\e348"; -} - -.fa-clock-five { - --fa: "\e349"; -} - -.fa-clock-five-thirty { - --fa: "\e34a"; -} - -.fa-clock-four-thirty { - --fa: "\e34b"; -} - -.fa-clock-nine { - --fa: "\e34c"; -} - -.fa-clock-nine-thirty { - --fa: "\e34d"; -} - -.fa-clock-one { - --fa: "\e34e"; -} - -.fa-clock-one-thirty { - --fa: "\e34f"; -} - -.fa-clock-seven { - --fa: "\e350"; -} - -.fa-clock-seven-thirty { - --fa: "\e351"; -} - -.fa-clock-six { - --fa: "\e352"; -} - -.fa-clock-six-thirty { - --fa: "\e353"; -} - -.fa-clock-ten { - --fa: "\e354"; -} - -.fa-clock-ten-thirty { - --fa: "\e355"; -} - -.fa-clock-three { - --fa: "\e356"; -} - -.fa-clock-three-thirty { - --fa: "\e357"; -} - -.fa-clock-twelve { - --fa: "\e358"; -} - -.fa-clock-twelve-thirty { - --fa: "\e359"; -} - -.fa-clock-two { - --fa: "\e35a"; -} - -.fa-clock-two-thirty { - --fa: "\e35b"; -} - -.fa-cloud-check { - --fa: "\e35c"; -} - -.fa-cloud-minus { - --fa: "\e35d"; -} - -.fa-cloud-plus { - --fa: "\e35e"; -} - -.fa-cloud-xmark { - --fa: "\e35f"; -} - -.fa-columns-3 { - --fa: "\e361"; -} - -.fa-crystal-ball { - --fa: "\e362"; -} - -.fa-cup-straw { - --fa: "\e363"; -} - -.fa-cup-straw-swoosh { - --fa: "\e364"; -} - -.fa-distribute-spacing-horizontal { - --fa: "\e365"; -} - -.fa-distribute-spacing-vertical { - --fa: "\e366"; -} - -.fa-eyes { - --fa: "\e367"; -} - -.fa-face-angry-horns { - --fa: "\e368"; -} - -.fa-face-anguished { - --fa: "\e369"; -} - -.fa-face-anxious-sweat { - --fa: "\e36a"; -} - -.fa-face-astonished { - --fa: "\e36b"; -} - -.fa-face-confounded { - --fa: "\e36c"; -} - -.fa-face-confused { - --fa: "\e36d"; -} - -.fa-face-cowboy-hat { - --fa: "\e36e"; -} - -.fa-face-disappointed { - --fa: "\e36f"; -} - -.fa-face-disguise { - --fa: "\e370"; -} - -.fa-face-downcast-sweat { - --fa: "\e371"; -} - -.fa-face-drooling { - --fa: "\e372"; -} - -.fa-face-expressionless { - --fa: "\e373"; -} - -.fa-face-eyes-xmarks { - --fa: "\e374"; -} - -.fa-face-fearful { - --fa: "\e375"; -} - -.fa-face-frown-slight { - --fa: "\e376"; -} - -.fa-face-glasses { - --fa: "\e377"; -} - -.fa-face-hand-over-mouth { - --fa: "\e378"; -} - -.fa-face-hand-yawn { - --fa: "\e379"; -} - -.fa-face-head-bandage { - --fa: "\e37a"; -} - -.fa-face-hushed { - --fa: "\e37b"; -} - -.fa-face-icicles { - --fa: "\e37c"; -} - -.fa-face-kiss-closed-eyes { - --fa: "\e37d"; -} - -.fa-face-lying { - --fa: "\e37e"; -} - -.fa-face-mask { - --fa: "\e37f"; -} - -.fa-face-monocle { - --fa: "\e380"; -} - -.fa-face-nauseated { - --fa: "\e381"; -} - -.fa-face-nose-steam { - --fa: "\e382"; -} - -.fa-face-party { - --fa: "\e383"; -} - -.fa-face-pensive { - --fa: "\e384"; -} - -.fa-face-persevering { - --fa: "\e385"; -} - -.fa-face-pleading { - --fa: "\e386"; -} - -.fa-face-pouting { - --fa: "\e387"; -} - -.fa-face-raised-eyebrow { - --fa: "\e388"; -} - -.fa-face-relieved { - --fa: "\e389"; -} - -.fa-face-sad-sweat { - --fa: "\e38a"; -} - -.fa-face-scream { - --fa: "\e38b"; -} - -.fa-face-shush { - --fa: "\e38c"; -} - -.fa-face-sleeping { - --fa: "\e38d"; -} - -.fa-face-sleepy { - --fa: "\e38e"; -} - -.fa-face-smile-halo { - --fa: "\e38f"; -} - -.fa-face-smile-hearts { - --fa: "\e390"; -} - -.fa-face-smile-horns { - --fa: "\e391"; -} - -.fa-face-smile-relaxed { - --fa: "\e392"; -} - -.fa-face-smile-tear { - --fa: "\e393"; -} - -.fa-face-smile-tongue { - --fa: "\e394"; -} - -.fa-face-smile-upside-down { - --fa: "\e395"; -} - -.fa-face-smiling-hands { - --fa: "\e396"; -} - -.fa-face-smirking { - --fa: "\e397"; -} - -.fa-face-sunglasses { - --fa: "\e398"; -} - -.fa-face-swear { - --fa: "\e399"; -} - -.fa-face-thermometer { - --fa: "\e39a"; -} - -.fa-face-thinking { - --fa: "\e39b"; -} - -.fa-face-tissue { - --fa: "\e39c"; -} - -.fa-face-tongue-money { - --fa: "\e39d"; -} - -.fa-face-tongue-sweat { - --fa: "\e39e"; -} - -.fa-face-unamused { - --fa: "\e39f"; -} - -.fa-face-vomit { - --fa: "\e3a0"; -} - -.fa-face-weary { - --fa: "\e3a1"; -} - -.fa-face-woozy { - --fa: "\e3a2"; -} - -.fa-face-worried { - --fa: "\e3a3"; -} - -.fa-face-zany { - --fa: "\e3a4"; -} - -.fa-face-zipper { - --fa: "\e3a5"; -} - -.fa-file-lock { - --fa: "\e3a6"; -} - -.fa-file-slash { - --fa: "\e3a7"; -} - -.fa-fishing-rod { - --fa: "\e3a8"; -} - -.fa-flying-disc { - --fa: "\e3a9"; -} - -.fa-gallery-thumbnails { - --fa: "\e3aa"; -} - -.fa-goal-net { - --fa: "\e3ab"; -} - -.fa-golf-flag-hole { - --fa: "\e3ac"; -} - -.fa-grid-dividers { - --fa: "\e3ad"; -} - -.fa-hockey-stick-puck { - --fa: "\e3ae"; -} - -.fa-house-chimney { - --fa: "\e3af"; -} - -.fa-home-lg { - --fa: "\e3af"; -} - -.fa-house-chimney-blank { - --fa: "\e3b0"; -} - -.fa-house-crack { - --fa: "\e3b1"; -} - -.fa-house-medical { - --fa: "\e3b2"; -} - -.fa-house-window { - --fa: "\e3b3"; -} - -.fa-key-skeleton-left-right { - --fa: "\e3b4"; -} - -.fa-lacrosse-stick { - --fa: "\e3b5"; -} - -.fa-lacrosse-stick-ball { - --fa: "\e3b6"; -} - -.fa-mask-snorkel { - --fa: "\e3b7"; -} - -.fa-message-bot { - --fa: "\e3b8"; -} - -.fa-moped { - --fa: "\e3b9"; -} - -.fa-nesting-dolls { - --fa: "\e3ba"; -} - -.fa-objects-align-bottom { - --fa: "\e3bb"; -} - -.fa-objects-align-center-horizontal { - --fa: "\e3bc"; -} - -.fa-objects-align-center-vertical { - --fa: "\e3bd"; -} - -.fa-objects-align-left { - --fa: "\e3be"; -} - -.fa-objects-align-right { - --fa: "\e3bf"; -} - -.fa-objects-align-top { - --fa: "\e3c0"; -} - -.fa-objects-column { - --fa: "\e3c1"; -} - -.fa-paperclip-vertical { - --fa: "\e3c2"; -} - -.fa-pinata { - --fa: "\e3c3"; -} - -.fa-pipe-smoking { - --fa: "\e3c4"; -} - -.fa-pool-8-ball { - --fa: "\e3c5"; -} - -.fa-rugby-ball { - --fa: "\e3c6"; -} - -.fa-shirt-long-sleeve { - --fa: "\e3c7"; -} - -.fa-shirt-running { - --fa: "\e3c8"; -} - -.fa-shirt-tank-top { - --fa: "\e3c9"; -} - -.fa-signature-lock { - --fa: "\e3ca"; -} - -.fa-signature-slash { - --fa: "\e3cb"; -} - -.fa-ski-boot { - --fa: "\e3cc"; -} - -.fa-ski-boot-ski { - --fa: "\e3cd"; -} - -.fa-slot-machine { - --fa: "\e3ce"; -} - -.fa-teddy-bear { - --fa: "\e3cf"; -} - -.fa-truck-bolt { - --fa: "\e3d0"; -} - -.fa-uniform-martial-arts { - --fa: "\e3d1"; -} - -.fa-user-chef { - --fa: "\e3d2"; -} - -.fa-user-hair-buns { - --fa: "\e3d3"; -} - -.fa-arrow-left-long-to-line { - --fa: "\e3d4"; -} - -.fa-arrow-right-long-to-line { - --fa: "\e3d5"; -} - -.fa-arrow-turn-down-right { - --fa: "\e3d6"; -} - -.fa-bagel { - --fa: "\e3d7"; -} - -.fa-baguette { - --fa: "\e3d8"; -} - -.fa-blanket-fire { - --fa: "\e3da"; -} - -.fa-block-brick { - --fa: "\e3db"; -} - -.fa-wall-brick { - --fa: "\e3db"; -} - -.fa-block-brick-fire { - --fa: "\e3dc"; -} - -.fa-firewall { - --fa: "\e3dc"; -} - -.fa-block-question { - --fa: "\e3dd"; -} - -.fa-bowl-scoop { - --fa: "\e3de"; -} - -.fa-bowl-shaved-ice { - --fa: "\e3de"; -} - -.fa-bowl-scoops { - --fa: "\e3df"; -} - -.fa-bowl-spoon { - --fa: "\e3e0"; -} - -.fa-bread-slice-butter { - --fa: "\e3e1"; -} - -.fa-broccoli { - --fa: "\e3e2"; -} - -.fa-burger-lettuce { - --fa: "\e3e3"; -} - -.fa-butter { - --fa: "\e3e4"; -} - -.fa-cake-slice { - --fa: "\e3e5"; -} - -.fa-shortcake { - --fa: "\e3e5"; -} - -.fa-can-food { - --fa: "\e3e6"; -} - -.fa-candy { - --fa: "\e3e7"; -} - -.fa-candy-bar { - --fa: "\e3e8"; -} - -.fa-chocolate-bar { - --fa: "\e3e8"; -} - -.fa-card-club { - --fa: "\e3e9"; -} - -.fa-card-diamond { - --fa: "\e3ea"; -} - -.fa-card-heart { - --fa: "\e3eb"; -} - -.fa-card-spade { - --fa: "\e3ec"; -} - -.fa-cards { - --fa: "\e3ed"; -} - -.fa-cart-arrow-up { - --fa: "\e3ee"; -} - -.fa-cart-circle-arrow-down { - --fa: "\e3ef"; -} - -.fa-cart-circle-arrow-up { - --fa: "\e3f0"; -} - -.fa-cart-circle-check { - --fa: "\e3f1"; -} - -.fa-cart-circle-exclamation { - --fa: "\e3f2"; -} - -.fa-cart-circle-plus { - --fa: "\e3f3"; -} - -.fa-cart-circle-xmark { - --fa: "\e3f4"; -} - -.fa-cent-sign { - --fa: "\e3f5"; -} - -.fa-chestnut { - --fa: "\e3f6"; -} - -.fa-chopsticks { - --fa: "\e3f7"; -} - -.fa-circle-quarters { - --fa: "\e3f8"; -} - -.fa-code-pull-request-closed { - --fa: "\e3f9"; -} - -.fa-code-pull-request-draft { - --fa: "\e3fa"; -} - -.fa-coin-blank { - --fa: "\e3fb"; -} - -.fa-coin-front { - --fa: "\e3fc"; -} - -.fa-coin-vertical { - --fa: "\e3fd"; -} - -.fa-corner { - --fa: "\e3fe"; -} - -.fa-crab { - --fa: "\e3ff"; -} - -.fa-soft-serve { - --fa: "\e400"; -} - -.fa-creemee { - --fa: "\e400"; -} - -.fa-cucumber { - --fa: "\e401"; -} - -.fa-cupcake { - --fa: "\e402"; -} - -.fa-custard { - --fa: "\e403"; -} - -.fa-dash { - --fa: "\e404"; -} - -.fa-minus-large { - --fa: "\e404"; -} - -.fa-diamond-exclamation { - --fa: "\e405"; -} - -.fa-donut { - --fa: "\e406"; -} - -.fa-doughnut { - --fa: "\e406"; -} - -.fa-down-from-dotted-line { - --fa: "\e407"; -} - -.fa-down-to-dotted-line { - --fa: "\e408"; -} - -.fa-face-awesome { - --fa: "\e409"; -} - -.fa-gave-dandy { - --fa: "\e409"; -} - -.fa-falafel { - --fa: "\e40a"; -} - -.fa-flatbread { - --fa: "\e40b"; -} - -.fa-flatbread-stuffed { - --fa: "\e40c"; -} - -.fa-fondue-pot { - --fa: "\e40d"; -} - -.fa-garlic { - --fa: "\e40e"; -} - -.fa-grip-dots { - --fa: "\e410"; -} - -.fa-grip-dots-vertical { - --fa: "\e411"; -} - -.fa-h5 { - --fa: "\e412"; -} - -.fa-h6 { - --fa: "\e413"; -} - -.fa-hammer-crash { - --fa: "\e414"; -} - -.fa-hashtag-lock { - --fa: "\e415"; -} - -.fa-hexagon-check { - --fa: "\e416"; -} - -.fa-hexagon-exclamation { - --fa: "\e417"; -} - -.fa-honey-pot { - --fa: "\e418"; -} - -.fa-hose { - --fa: "\e419"; -} - -.fa-hose-reel { - --fa: "\e41a"; -} - -.fa-hourglass-clock { - --fa: "\e41b"; -} - -.fa-hundred-points { - --fa: "\e41c"; -} - -.fa-100 { - --fa: "\e41c"; -} - -.fa-leafy-green { - --fa: "\e41d"; -} - -.fa-left-long-to-line { - --fa: "\e41e"; -} - -.fa-light-emergency { - --fa: "\e41f"; -} - -.fa-light-emergency-on { - --fa: "\e420"; -} - -.fa-lobster { - --fa: "\e421"; -} - -.fa-lock-a { - --fa: "\e422"; -} - -.fa-lock-hashtag { - --fa: "\e423"; -} - -.fa-lollipop { - --fa: "\e424"; -} - -.fa-lollypop { - --fa: "\e424"; -} - -.fa-mushroom { - --fa: "\e425"; -} - -.fa-octagon-check { - --fa: "\e426"; -} - -.fa-onion { - --fa: "\e427"; -} - -.fa-page { - --fa: "\e428"; -} - -.fa-page-caret-down { - --fa: "\e429"; -} - -.fa-file-caret-down { - --fa: "\e429"; -} - -.fa-page-caret-up { - --fa: "\e42a"; -} - -.fa-file-caret-up { - --fa: "\e42a"; -} - -.fa-pan-food { - --fa: "\e42b"; -} - -.fa-pan-frying { - --fa: "\e42c"; -} - -.fa-pancakes { - --fa: "\e42d"; -} - -.fa-panel-ews { - --fa: "\e42e"; -} - -.fa-panel-fire { - --fa: "\e42f"; -} - -.fa-peanut { - --fa: "\e430"; -} - -.fa-peanuts { - --fa: "\e431"; -} - -.fa-pepper { - --fa: "\e432"; -} - -.fa-person-to-door { - --fa: "\e433"; -} - -.fa-phone-intercom { - --fa: "\e434"; -} - -.fa-pickleball { - --fa: "\e435"; -} - -.fa-pipe-circle-check { - --fa: "\e436"; -} - -.fa-pipe-collar { - --fa: "\e437"; -} - -.fa-pipe-section { - --fa: "\e438"; -} - -.fa-pipe-valve { - --fa: "\e439"; -} - -.fa-plate-utensils { - --fa: "\e43b"; -} - -.fa-plus-minus { - --fa: "\e43c"; -} - -.fa-pompebled { - --fa: "\e43d"; -} - -.fa-popsicle { - --fa: "\e43e"; -} - -.fa-pot-food { - --fa: "\e43f"; -} - -.fa-potato { - --fa: "\e440"; -} - -.fa-pretzel { - --fa: "\e441"; -} - -.fa-pump { - --fa: "\e442"; -} - -.fa-puzzle { - --fa: "\e443"; -} - -.fa-right-long-to-line { - --fa: "\e444"; -} - -.fa-sailboat { - --fa: "\e445"; -} - -.fa-salt-shaker { - --fa: "\e446"; -} - -.fa-section { - --fa: "\e447"; -} - -.fa-shrimp { - --fa: "\e448"; -} - -.fa-shutters { - --fa: "\e449"; -} - -.fa-sportsball { - --fa: "\e44b"; -} - -.fa-sprinkler-ceiling { - --fa: "\e44c"; -} - -.fa-square-a-lock { - --fa: "\e44d"; -} - -.fa-square-quarters { - --fa: "\e44e"; -} - -.fa-square-ring { - --fa: "\e44f"; -} - -.fa-squid { - --fa: "\e450"; -} - -.fa-tamale { - --fa: "\e451"; -} - -.fa-tank-water { - --fa: "\e452"; -} - -.fa-train-track { - --fa: "\e453"; -} - -.fa-train-tunnel { - --fa: "\e454"; -} - -.fa-turn-down-right { - --fa: "\e455"; -} - -.fa-up-from-dotted-line { - --fa: "\e456"; -} - -.fa-up-to-dotted-line { - --fa: "\e457"; -} - -.fa-user-doctor-hair { - --fa: "\e458"; -} - -.fa-user-doctor-hair-long { - --fa: "\e459"; -} - -.fa-user-hair { - --fa: "\e45a"; -} - -.fa-user-hair-long { - --fa: "\e45b"; -} - -.fa-user-hair-mullet { - --fa: "\e45c"; -} - -.fa-business-front { - --fa: "\e45c"; -} - -.fa-party-back { - --fa: "\e45c"; -} - -.fa-trian-balbot { - --fa: "\e45c"; -} - -.fa-user-nurse-hair { - --fa: "\e45d"; -} - -.fa-user-nurse-hair-long { - --fa: "\e45e"; -} - -.fa-user-tie-hair { - --fa: "\e45f"; -} - -.fa-user-tie-hair-long { - --fa: "\e460"; -} - -.fa-user-vneck { - --fa: "\e461"; -} - -.fa-user-vneck-hair { - --fa: "\e462"; -} - -.fa-user-vneck-hair-long { - --fa: "\e463"; -} - -.fa-utensils-slash { - --fa: "\e464"; -} - -.fa-vent-damper { - --fa: "\e465"; -} - -.fa-waffle { - --fa: "\e466"; -} - -.fa-00 { - --fa: "\e467"; -} - -.fa-apartment { - --fa: "\e468"; -} - -.fa-bird { - --fa: "\e469"; -} - -.fa-block { - --fa: "\e46a"; -} - -.fa-bowl-soft-serve { - --fa: "\e46b"; -} - -.fa-brazilian-real-sign { - --fa: "\e46c"; -} - -.fa-cabin { - --fa: "\e46d"; -} - -.fa-calendar-circle-exclamation { - --fa: "\e46e"; -} - -.fa-calendar-circle-minus { - --fa: "\e46f"; -} - -.fa-calendar-circle-plus { - --fa: "\e470"; -} - -.fa-calendar-circle-user { - --fa: "\e471"; -} - -.fa-calendar-lines-pen { - --fa: "\e472"; -} - -.fa-chart-simple { - --fa: "\e473"; -} - -.fa-chart-simple-horizontal { - --fa: "\e474"; -} - -.fa-diagram-cells { - --fa: "\e475"; -} - -.fa-diagram-next { - --fa: "\e476"; -} - -.fa-diagram-predecessor { - --fa: "\e477"; -} - -.fa-diagram-previous { - --fa: "\e478"; -} - -.fa-diagram-subtask { - --fa: "\e479"; -} - -.fa-diagram-successor { - --fa: "\e47a"; -} - -.fa-earth-oceania { - --fa: "\e47b"; -} - -.fa-globe-oceania { - --fa: "\e47b"; -} - -.fa-face-beam-hand-over-mouth { - --fa: "\e47c"; -} - -.fa-face-clouds { - --fa: "\e47d"; -} - -.fa-face-diagonal-mouth { - --fa: "\e47e"; -} - -.fa-face-dotted { - --fa: "\e47f"; -} - -.fa-face-exhaling { - --fa: "\e480"; -} - -.fa-face-hand-peeking { - --fa: "\e481"; -} - -.fa-face-holding-back-tears { - --fa: "\e482"; -} - -.fa-face-melting { - --fa: "\e483"; -} - -.fa-face-saluting { - --fa: "\e484"; -} - -.fa-face-spiral-eyes { - --fa: "\e485"; -} - -.fa-fort { - --fa: "\e486"; -} - -.fa-house-blank { - --fa: "\e487"; -} - -.fa-home-blank { - --fa: "\e487"; -} - -.fa-square-kanban { - --fa: "\e488"; -} - -.fa-square-list { - --fa: "\e489"; -} - -.fa-sushi { - --fa: "\e48a"; -} - -.fa-nigiri { - --fa: "\e48a"; -} - -.fa-sushi-roll { - --fa: "\e48b"; -} - -.fa-maki-roll { - --fa: "\e48b"; -} - -.fa-makizushi { - --fa: "\e48b"; -} - -.fa-album-circle-plus { - --fa: "\e48c"; -} - -.fa-album-circle-user { - --fa: "\e48d"; -} - -.fa-album-collection-circle-plus { - --fa: "\e48e"; -} - -.fa-album-collection-circle-user { - --fa: "\e48f"; -} - -.fa-bug-slash { - --fa: "\e490"; -} - -.fa-cloud-exclamation { - --fa: "\e491"; -} - -.fa-cloud-question { - --fa: "\e492"; -} - -.fa-file-circle-info { - --fa: "\e493"; -} - -.fa-file-circle-plus { - --fa: "\e494"; -} - -.fa-frame { - --fa: "\e495"; -} - -.fa-gauge-circle-bolt { - --fa: "\e496"; -} - -.fa-gauge-circle-minus { - --fa: "\e497"; -} - -.fa-gauge-circle-plus { - --fa: "\e498"; -} - -.fa-memo-circle-info { - --fa: "\e49a"; -} - -.fa-object-exclude { - --fa: "\e49c"; -} - -.fa-object-intersect { - --fa: "\e49d"; -} - -.fa-object-subtract { - --fa: "\e49e"; -} - -.fa-object-union { - --fa: "\e49f"; -} - -.fa-pen-nib-slash { - --fa: "\e4a1"; -} - -.fa-rectangle-history { - --fa: "\e4a2"; -} - -.fa-rectangle-history-circle-plus { - --fa: "\e4a3"; -} - -.fa-rectangle-history-circle-user { - --fa: "\e4a4"; -} - -.fa-shop-lock { - --fa: "\e4a5"; -} - -.fa-store-lock { - --fa: "\e4a6"; -} - -.fa-user-robot-xmarks { - --fa: "\e4a7"; -} - -.fa-virus-covid { - --fa: "\e4a8"; -} - -.fa-virus-covid-slash { - --fa: "\e4a9"; -} - -.fa-anchor-circle-check { - --fa: "\e4aa"; -} - -.fa-anchor-circle-exclamation { - --fa: "\e4ab"; -} - -.fa-anchor-circle-xmark { - --fa: "\e4ac"; -} - -.fa-anchor-lock { - --fa: "\e4ad"; -} - -.fa-arrow-down-to-arc { - --fa: "\e4ae"; -} - -.fa-arrow-down-up-across-line { - --fa: "\e4af"; -} - -.fa-arrow-down-up-lock { - --fa: "\e4b0"; -} - -.fa-arrow-right-from-arc { - --fa: "\e4b1"; -} - -.fa-arrow-right-to-arc { - --fa: "\e4b2"; -} - -.fa-arrow-right-to-city { - --fa: "\e4b3"; -} - -.fa-arrow-up-from-arc { - --fa: "\e4b4"; -} - -.fa-arrow-up-from-ground-water { - --fa: "\e4b5"; -} - -.fa-arrow-up-from-water-pump { - --fa: "\e4b6"; -} - -.fa-arrow-up-right-dots { - --fa: "\e4b7"; -} - -.fa-arrows-down-to-line { - --fa: "\e4b8"; -} - -.fa-arrows-down-to-people { - --fa: "\e4b9"; -} - -.fa-arrows-left-right-to-line { - --fa: "\e4ba"; -} - -.fa-arrows-spin { - --fa: "\e4bb"; -} - -.fa-arrows-split-up-and-left { - --fa: "\e4bc"; -} - -.fa-arrows-to-circle { - --fa: "\e4bd"; -} - -.fa-arrows-to-dot { - --fa: "\e4be"; -} - -.fa-arrows-to-eye { - --fa: "\e4bf"; -} - -.fa-arrows-turn-right { - --fa: "\e4c0"; -} - -.fa-arrows-turn-to-dots { - --fa: "\e4c1"; -} - -.fa-arrows-up-to-line { - --fa: "\e4c2"; -} - -.fa-bore-hole { - --fa: "\e4c3"; -} - -.fa-bottle-droplet { - --fa: "\e4c4"; -} - -.fa-bottle-water { - --fa: "\e4c5"; -} - -.fa-bowl-food { - --fa: "\e4c6"; -} - -.fa-boxes-packing { - --fa: "\e4c7"; -} - -.fa-bridge { - --fa: "\e4c8"; -} - -.fa-bridge-circle-check { - --fa: "\e4c9"; -} - -.fa-bridge-circle-exclamation { - --fa: "\e4ca"; -} - -.fa-bridge-circle-xmark { - --fa: "\e4cb"; -} - -.fa-bridge-lock { - --fa: "\e4cc"; -} - -.fa-bridge-suspension { - --fa: "\e4cd"; -} - -.fa-bridge-water { - --fa: "\e4ce"; -} - -.fa-bucket { - --fa: "\e4cf"; -} - -.fa-bugs { - --fa: "\e4d0"; -} - -.fa-building-circle-arrow-right { - --fa: "\e4d1"; -} - -.fa-building-circle-check { - --fa: "\e4d2"; -} - -.fa-building-circle-exclamation { - --fa: "\e4d3"; -} - -.fa-building-circle-xmark { - --fa: "\e4d4"; -} - -.fa-building-flag { - --fa: "\e4d5"; -} - -.fa-building-lock { - --fa: "\e4d6"; -} - -.fa-building-ngo { - --fa: "\e4d7"; -} - -.fa-building-shield { - --fa: "\e4d8"; -} - -.fa-building-un { - --fa: "\e4d9"; -} - -.fa-building-user { - --fa: "\e4da"; -} - -.fa-building-wheat { - --fa: "\e4db"; -} - -.fa-burst { - --fa: "\e4dc"; -} - -.fa-car-on { - --fa: "\e4dd"; -} - -.fa-car-tunnel { - --fa: "\e4de"; -} - -.fa-cards-blank { - --fa: "\e4df"; -} - -.fa-child-combatant { - --fa: "\e4e0"; -} - -.fa-child-rifle { - --fa: "\e4e0"; -} - -.fa-children { - --fa: "\e4e1"; -} - -.fa-circle-nodes { - --fa: "\e4e2"; -} - -.fa-clipboard-question { - --fa: "\e4e3"; -} - -.fa-cloud-showers-water { - --fa: "\e4e4"; -} - -.fa-computer { - --fa: "\e4e5"; -} - -.fa-cubes-stacked { - --fa: "\e4e6"; -} - -.fa-down-to-bracket { - --fa: "\e4e7"; -} - -.fa-envelope-circle-check { - --fa: "\e4e8"; -} - -.fa-explosion { - --fa: "\e4e9"; -} - -.fa-ferry { - --fa: "\e4ea"; -} - -.fa-file-circle-exclamation { - --fa: "\e4eb"; -} - -.fa-file-circle-minus { - --fa: "\e4ed"; -} - -.fa-file-circle-question { - --fa: "\e4ef"; -} - -.fa-file-shield { - --fa: "\e4f0"; -} - -.fa-fire-burner { - --fa: "\e4f1"; -} - -.fa-fish-fins { - --fa: "\e4f2"; -} - -.fa-flask-vial { - --fa: "\e4f3"; -} - -.fa-glass-water { - --fa: "\e4f4"; -} - -.fa-glass-water-droplet { - --fa: "\e4f5"; -} - -.fa-group-arrows-rotate { - --fa: "\e4f6"; -} - -.fa-hand-holding-hand { - --fa: "\e4f7"; -} - -.fa-handcuffs { - --fa: "\e4f8"; -} - -.fa-hands-bound { - --fa: "\e4f9"; -} - -.fa-hands-holding-child { - --fa: "\e4fa"; -} - -.fa-hands-holding-circle { - --fa: "\e4fb"; -} - -.fa-heart-circle-bolt { - --fa: "\e4fc"; -} - -.fa-heart-circle-check { - --fa: "\e4fd"; -} - -.fa-heart-circle-exclamation { - --fa: "\e4fe"; -} - -.fa-heart-circle-minus { - --fa: "\e4ff"; -} - -.fa-heart-circle-plus { - --fa: "\e500"; -} - -.fa-heart-circle-xmark { - --fa: "\e501"; -} - -.fa-helicopter-symbol { - --fa: "\e502"; -} - -.fa-helmet-un { - --fa: "\e503"; -} - -.fa-hexagon-image { - --fa: "\e504"; -} - -.fa-hexagon-vertical-nft { - --fa: "\e505"; -} - -.fa-hexagon-vertical-nft-slanted { - --fa: "\e505"; -} - -.fa-hill-avalanche { - --fa: "\e507"; -} - -.fa-hill-rockslide { - --fa: "\e508"; -} - -.fa-house-circle-check { - --fa: "\e509"; -} - -.fa-house-circle-exclamation { - --fa: "\e50a"; -} - -.fa-house-circle-xmark { - --fa: "\e50b"; -} - -.fa-house-fire { - --fa: "\e50c"; -} - -.fa-house-flag { - --fa: "\e50d"; -} - -.fa-house-flood-water { - --fa: "\e50e"; -} - -.fa-house-flood-water-circle-arrow-right { - --fa: "\e50f"; -} - -.fa-house-lock { - --fa: "\e510"; -} - -.fa-house-medical-circle-check { - --fa: "\e511"; -} - -.fa-house-medical-circle-exclamation { - --fa: "\e512"; -} - -.fa-house-medical-circle-xmark { - --fa: "\e513"; -} - -.fa-house-medical-flag { - --fa: "\e514"; -} - -.fa-house-tsunami { - --fa: "\e515"; -} - -.fa-jar { - --fa: "\e516"; -} - -.fa-jar-wheat { - --fa: "\e517"; -} - -.fa-jet-fighter-up { - --fa: "\e518"; -} - -.fa-jug-detergent { - --fa: "\e519"; -} - -.fa-kitchen-set { - --fa: "\e51a"; -} - -.fa-land-mine-on { - --fa: "\e51b"; -} - -.fa-landmark-flag { - --fa: "\e51c"; -} - -.fa-laptop-file { - --fa: "\e51d"; -} - -.fa-lines-leaning { - --fa: "\e51e"; -} - -.fa-location-pin-lock { - --fa: "\e51f"; -} - -.fa-locust { - --fa: "\e520"; -} - -.fa-magnifying-glass-arrow-right { - --fa: "\e521"; -} - -.fa-magnifying-glass-chart { - --fa: "\e522"; -} - -.fa-mars-and-venus-burst { - --fa: "\e523"; -} - -.fa-mask-ventilator { - --fa: "\e524"; -} - -.fa-mattress-pillow { - --fa: "\e525"; -} - -.fa-merge { - --fa: "\e526"; -} - -.fa-mobile-retro { - --fa: "\e527"; -} - -.fa-money-bill-transfer { - --fa: "\e528"; -} - -.fa-money-bill-trend-up { - --fa: "\e529"; -} - -.fa-money-bill-wheat { - --fa: "\e52a"; -} - -.fa-mosquito { - --fa: "\e52b"; -} - -.fa-mosquito-net { - --fa: "\e52c"; -} - -.fa-mound { - --fa: "\e52d"; -} - -.fa-mountain-city { - --fa: "\e52e"; -} - -.fa-mountain-sun { - --fa: "\e52f"; -} - -.fa-nfc-symbol { - --fa: "\e531"; -} - -.fa-oil-well { - --fa: "\e532"; -} - -.fa-people-group { - --fa: "\e533"; -} - -.fa-people-line { - --fa: "\e534"; -} - -.fa-people-pulling { - --fa: "\e535"; -} - -.fa-people-robbery { - --fa: "\e536"; -} - -.fa-people-roof { - --fa: "\e537"; -} - -.fa-person-arrow-down-to-line { - --fa: "\e538"; -} - -.fa-person-arrow-up-from-line { - --fa: "\e539"; -} - -.fa-person-breastfeeding { - --fa: "\e53a"; -} - -.fa-person-burst { - --fa: "\e53b"; -} - -.fa-person-cane { - --fa: "\e53c"; -} - -.fa-person-chalkboard { - --fa: "\e53d"; -} - -.fa-person-circle-check { - --fa: "\e53e"; -} - -.fa-person-circle-exclamation { - --fa: "\e53f"; -} - -.fa-person-circle-minus { - --fa: "\e540"; -} - -.fa-person-circle-plus { - --fa: "\e541"; -} - -.fa-person-circle-question { - --fa: "\e542"; -} - -.fa-person-circle-xmark { - --fa: "\e543"; -} - -.fa-person-dress-burst { - --fa: "\e544"; -} - -.fa-person-drowning { - --fa: "\e545"; -} - -.fa-person-falling { - --fa: "\e546"; -} - -.fa-person-falling-burst { - --fa: "\e547"; -} - -.fa-person-half-dress { - --fa: "\e548"; -} - -.fa-person-harassing { - --fa: "\e549"; -} - -.fa-person-military-pointing { - --fa: "\e54a"; -} - -.fa-person-military-rifle { - --fa: "\e54b"; -} - -.fa-person-military-to-person { - --fa: "\e54c"; -} - -.fa-person-rays { - --fa: "\e54d"; -} - -.fa-person-rifle { - --fa: "\e54e"; -} - -.fa-person-shelter { - --fa: "\e54f"; -} - -.fa-person-walking-arrow-loop-left { - --fa: "\e551"; -} - -.fa-person-walking-arrow-right { - --fa: "\e552"; -} - -.fa-person-walking-dashed-line-arrow-right { - --fa: "\e553"; -} - -.fa-person-walking-luggage { - --fa: "\e554"; -} - -.fa-plane-circle-check { - --fa: "\e555"; -} - -.fa-plane-circle-exclamation { - --fa: "\e556"; -} - -.fa-plane-circle-xmark { - --fa: "\e557"; -} - -.fa-plane-lock { - --fa: "\e558"; -} - -.fa-plate-wheat { - --fa: "\e55a"; -} - -.fa-plug-circle-bolt { - --fa: "\e55b"; -} - -.fa-plug-circle-check { - --fa: "\e55c"; -} - -.fa-plug-circle-exclamation { - --fa: "\e55d"; -} - -.fa-plug-circle-minus { - --fa: "\e55e"; -} - -.fa-plug-circle-plus { - --fa: "\e55f"; -} - -.fa-plug-circle-xmark { - --fa: "\e560"; -} - -.fa-ranking-star { - --fa: "\e561"; -} - -.fa-road-barrier { - --fa: "\e562"; -} - -.fa-road-bridge { - --fa: "\e563"; -} - -.fa-road-circle-check { - --fa: "\e564"; -} - -.fa-road-circle-exclamation { - --fa: "\e565"; -} - -.fa-road-circle-xmark { - --fa: "\e566"; -} - -.fa-road-lock { - --fa: "\e567"; -} - -.fa-road-spikes { - --fa: "\e568"; -} - -.fa-rug { - --fa: "\e569"; -} - -.fa-sack-xmark { - --fa: "\e56a"; -} - -.fa-school-circle-check { - --fa: "\e56b"; -} - -.fa-school-circle-exclamation { - --fa: "\e56c"; -} - -.fa-school-circle-xmark { - --fa: "\e56d"; -} - -.fa-school-flag { - --fa: "\e56e"; -} - -.fa-school-lock { - --fa: "\e56f"; -} - -.fa-sheet-plastic { - --fa: "\e571"; -} - -.fa-shield-cat { - --fa: "\e572"; -} - -.fa-shield-dog { - --fa: "\e573"; -} - -.fa-shield-heart { - --fa: "\e574"; -} - -.fa-shield-quartered { - --fa: "\e575"; -} - -.fa-square-nfi { - --fa: "\e576"; -} - -.fa-square-person-confined { - --fa: "\e577"; -} - -.fa-square-virus { - --fa: "\e578"; -} - -.fa-staff-snake { - --fa: "\e579"; -} - -.fa-rod-asclepius { - --fa: "\e579"; -} - -.fa-rod-snake { - --fa: "\e579"; -} - -.fa-staff-aesculapius { - --fa: "\e579"; -} - -.fa-sun-plant-wilt { - --fa: "\e57a"; -} - -.fa-tarp { - --fa: "\e57b"; -} - -.fa-tarp-droplet { - --fa: "\e57c"; -} - -.fa-tent { - --fa: "\e57d"; -} - -.fa-tent-arrow-down-to-line { - --fa: "\e57e"; -} - -.fa-tent-arrow-left-right { - --fa: "\e57f"; -} - -.fa-tent-arrow-turn-left { - --fa: "\e580"; -} - -.fa-tent-arrows-down { - --fa: "\e581"; -} - -.fa-tents { - --fa: "\e582"; -} - -.fa-toilet-portable { - --fa: "\e583"; -} - -.fa-toilets-portable { - --fa: "\e584"; -} - -.fa-tower-cell { - --fa: "\e585"; -} - -.fa-tower-observation { - --fa: "\e586"; -} - -.fa-tree-city { - --fa: "\e587"; -} - -.fa-trillium { - --fa: "\e588"; -} - -.fa-trowel { - --fa: "\e589"; -} - -.fa-trowel-bricks { - --fa: "\e58a"; -} - -.fa-truck-arrow-right { - --fa: "\e58b"; -} - -.fa-truck-droplet { - --fa: "\e58c"; -} - -.fa-truck-field { - --fa: "\e58d"; -} - -.fa-truck-field-un { - --fa: "\e58e"; -} - -.fa-truck-plane { - --fa: "\e58f"; -} - -.fa-up-from-bracket { - --fa: "\e590"; -} - -.fa-users-between-lines { - --fa: "\e591"; -} - -.fa-users-line { - --fa: "\e592"; -} - -.fa-users-rays { - --fa: "\e593"; -} - -.fa-users-rectangle { - --fa: "\e594"; -} - -.fa-users-viewfinder { - --fa: "\e595"; -} - -.fa-vial-circle-check { - --fa: "\e596"; -} - -.fa-vial-virus { - --fa: "\e597"; -} - -.fa-wheat-awn-circle-exclamation { - --fa: "\e598"; -} - -.fa-worm { - --fa: "\e599"; -} - -.fa-xmarks-lines { - --fa: "\e59a"; -} - -.fa-xmark-large { - --fa: "\e59b"; -} - -.fa-child-dress { - --fa: "\e59c"; -} - -.fa-child-reaching { - --fa: "\e59d"; -} - -.fa-plus-large { - --fa: "\e59e"; -} - -.fa-crosshairs-simple { - --fa: "\e59f"; -} - -.fa-file-circle-check { - --fa: "\e5a0"; -} - -.fa-file-circle-xmark { - --fa: "\e5a1"; -} - -.fa-gamepad-modern { - --fa: "\e5a2"; -} - -.fa-gamepad-alt { - --fa: "\e5a2"; -} - -.fa-grill { - --fa: "\e5a3"; -} - -.fa-grill-fire { - --fa: "\e5a4"; -} - -.fa-grill-hot { - --fa: "\e5a5"; -} - -.fa-lightbulb-cfl { - --fa: "\e5a6"; -} - -.fa-lightbulb-cfl-on { - --fa: "\e5a7"; -} - -.fa-mouse-field { - --fa: "\e5a8"; -} - -.fa-person-through-window { - --fa: "\e5a9"; -} - -.fa-plant-wilt { - --fa: "\e5aa"; -} - -.fa-ring-diamond { - --fa: "\e5ab"; -} - -.fa-stapler { - --fa: "\e5af"; -} - -.fa-toggle-large-off { - --fa: "\e5b0"; -} - -.fa-toggle-large-on { - --fa: "\e5b1"; -} - -.fa-toilet-paper-check { - --fa: "\e5b2"; -} - -.fa-toilet-paper-xmark { - --fa: "\e5b3"; -} - -.fa-train-tram { - --fa: "\e5b4"; -} - -.fa-buoy { - --fa: "\e5b5"; -} - -.fa-buoy-mooring { - --fa: "\e5b6"; -} - -.fa-diamond-half { - --fa: "\e5b7"; -} - -.fa-diamond-half-stroke { - --fa: "\e5b8"; -} - -.fa-game-console-handheld-crank { - --fa: "\e5b9"; -} - -.fa-interrobang { - --fa: "\e5ba"; -} - -.fa-mailbox-flag-up { - --fa: "\e5bb"; -} - -.fa-mustache { - --fa: "\e5bc"; -} - -.fa-nose { - --fa: "\e5bd"; -} - -.fa-phone-arrow-right { - --fa: "\e5be"; -} - -.fa-pickaxe { - --fa: "\e5bf"; -} - -.fa-prescription-bottle-pill { - --fa: "\e5c0"; -} - -.fa-snowflake-droplets { - --fa: "\e5c1"; -} - -.fa-square-dashed-circle-plus { - --fa: "\e5c2"; -} - -.fa-tricycle { - --fa: "\e5c3"; -} - -.fa-tricycle-adult { - --fa: "\e5c4"; -} - -.fa-user-magnifying-glass { - --fa: "\e5c5"; -} - -.fa-comment-heart { - --fa: "\e5c8"; -} - -.fa-message-heart { - --fa: "\e5c9"; -} - -.fa-pencil-mechanical { - --fa: "\e5ca"; -} - -.fa-skeleton-ribs { - --fa: "\e5cb"; -} - -.fa-billboard { - --fa: "\e5cd"; -} - -.fa-circle-euro { - --fa: "\e5ce"; -} - -.fa-circle-sterling { - --fa: "\e5cf"; -} - -.fa-circle-yen { - --fa: "\e5d0"; -} - -.fa-broom-wide { - --fa: "\e5d1"; -} - -.fa-wreath-laurel { - --fa: "\e5d2"; -} - -.fa-circle-quarter-stroke { - --fa: "\e5d3"; -} - -.fa-circle-three-quarters-stroke { - --fa: "\e5d4"; -} - -.fa-webhook { - --fa: "\e5d5"; -} - -.fa-sparkle { - --fa: "\e5d6"; -} - -.fa-chart-line-up-down { - --fa: "\e5d7"; -} - -.fa-chart-mixed-up-circle-currency { - --fa: "\e5d8"; -} - -.fa-chart-mixed-up-circle-dollar { - --fa: "\e5d9"; -} - -.fa-grid-round { - --fa: "\e5da"; -} - -.fa-grid-round-2 { - --fa: "\e5db"; -} - -.fa-grid-round-2-plus { - --fa: "\e5dc"; -} - -.fa-grid-round-4 { - --fa: "\e5dd"; -} - -.fa-grid-round-5 { - --fa: "\e5de"; -} - -.fa-arrow-progress { - --fa: "\e5df"; -} - -.fa-right-left-large { - --fa: "\e5e1"; -} - -.fa-calendar-users { - --fa: "\e5e2"; -} - -.fa-display-chart-up { - --fa: "\e5e3"; -} - -.fa-display-chart-up-circle-currency { - --fa: "\e5e5"; -} - -.fa-display-chart-up-circle-dollar { - --fa: "\e5e6"; -} - -.fa-laptop-binary { - --fa: "\e5e7"; -} - -.fa-gear-code { - --fa: "\e5e8"; -} - -.fa-gear-complex { - --fa: "\e5e9"; -} - -.fa-gear-complex-code { - --fa: "\e5eb"; -} - -.fa-file-doc { - --fa: "\e5ed"; -} - -.fa-file-zip { - --fa: "\e5ee"; -} - -.fa-flask-gear { - --fa: "\e5f1"; -} - -.fa-bag-seedling { - --fa: "\e5f2"; -} - -.fa-bin-bottles { - --fa: "\e5f5"; -} - -.fa-bin-bottles-recycle { - --fa: "\e5f6"; -} - -.fa-bin-recycle { - --fa: "\e5f7"; -} - -.fa-conveyor-belt-arm { - --fa: "\e5f8"; -} - -.fa-jug-bottle { - --fa: "\e5fb"; -} - -.fa-lightbulb-gear { - --fa: "\e5fd"; -} - -.fa-dinosaur { - --fa: "\e5fe"; -} - -.fa-person-running-fast { - --fa: "\e5ff"; -} - -.fa-circles-overlap { - --fa: "\e600"; -} - -.fa-cloud-binary { - --fa: "\e601"; -} - -.fa-chf-sign { - --fa: "\e602"; -} - -.fa-user-group-simple { - --fa: "\e603"; -} - -.fa-chart-pie-simple-circle-currency { - --fa: "\e604"; -} - -.fa-chart-pie-simple-circle-dollar { - --fa: "\e605"; -} - -.fa-hat-beach { - --fa: "\e606"; -} - -.fa-person-dress-fairy { - --fa: "\e607"; -} - -.fa-person-fairy { - --fa: "\e608"; -} - -.fa-swap { - --fa: "\e609"; -} - -.fa-swap-arrows { - --fa: "\e60a"; -} - -.fa-angles-up-down { - --fa: "\e60d"; -} - -.fa-globe-pointer { - --fa: "\e60e"; -} - -.fa-subtitles { - --fa: "\e60f"; -} - -.fa-subtitles-slash { - --fa: "\e610"; -} - -.fa-head-side-gear { - --fa: "\e611"; -} - -.fa-lighthouse { - --fa: "\e612"; -} - -.fa-raccoon { - --fa: "\e613"; -} - -.fa-arrow-down-from-arc { - --fa: "\e614"; -} - -.fa-arrow-left-from-arc { - --fa: "\e615"; -} - -.fa-arrow-left-to-arc { - --fa: "\e616"; -} - -.fa-arrow-up-to-arc { - --fa: "\e617"; -} - -.fa-building-magnifying-glass { - --fa: "\e61c"; -} - -.fa-building-memo { - --fa: "\e61e"; -} - -.fa-hammer-brush { - --fa: "\e620"; -} - -.fa-hand-holding-circle-dollar { - --fa: "\e621"; -} - -.fa-landmark-magnifying-glass { - --fa: "\e622"; -} - -.fa-sign-post { - --fa: "\e624"; -} - -.fa-sign-posts { - --fa: "\e625"; -} - -.fa-sign-posts-wrench { - --fa: "\e626"; -} - -.fa-tent-double-peak { - --fa: "\e627"; -} - -.fa-truck-utensils { - --fa: "\e628"; -} - -.fa-t-rex { - --fa: "\e629"; -} - -.fa-spinner-scale { - --fa: "\e62a"; -} - -.fa-bell-ring { - --fa: "\e62c"; -} - -.fa-arrows-rotate-reverse { - --fa: "\e630"; -} - -.fa-rotate-reverse { - --fa: "\e631"; -} - -.fa-arrow-turn-left { - --fa: "\e632"; -} - -.fa-arrow-turn-left-down { - --fa: "\e633"; -} - -.fa-arrow-turn-left-up { - --fa: "\e634"; -} - -.fa-arrow-turn-right { - --fa: "\e635"; -} - -.fa-turn-left { - --fa: "\e636"; -} - -.fa-turn-left-down { - --fa: "\e637"; -} - -.fa-turn-left-up { - --fa: "\e638"; -} - -.fa-turn-right { - --fa: "\e639"; -} - -.fa-location-arrow-up { - --fa: "\e63a"; -} - -.fa-ticket-perforated { - --fa: "\e63e"; -} - -.fa-tickets-perforated { - --fa: "\e63f"; -} - -.fa-cannon { - --fa: "\e642"; -} - -.fa-court-sport { - --fa: "\e643"; -} - -.fa-file-eps { - --fa: "\e644"; -} - -.fa-file-gif { - --fa: "\e645"; -} - -.fa-file-jpg { - --fa: "\e646"; -} - -.fa-file-mov { - --fa: "\e647"; -} - -.fa-file-mp3 { - --fa: "\e648"; -} - -.fa-file-mp4 { - --fa: "\e649"; -} - -.fa-file-ppt { - --fa: "\e64a"; -} - -.fa-file-svg { - --fa: "\e64b"; -} - -.fa-file-vector { - --fa: "\e64c"; -} - -.fa-file-xls { - --fa: "\e64d"; -} - -.fa-folder-check { - --fa: "\e64e"; -} - -.fa-chart-kanban { - --fa: "\e64f"; -} - -.fa-bag-shopping-minus { - --fa: "\e650"; -} - -.fa-bag-shopping-plus { - --fa: "\e651"; -} - -.fa-basket-shopping-minus { - --fa: "\e652"; -} - -.fa-basket-shopping-plus { - --fa: "\e653"; -} - -.fa-file-xml { - --fa: "\e654"; -} - -.fa-bulldozer { - --fa: "\e655"; -} - -.fa-excavator { - --fa: "\e656"; -} - -.fa-truck-ladder { - --fa: "\e657"; -} - -.fa-tickets { - --fa: "\e658"; -} - -.fa-tickets-simple { - --fa: "\e659"; -} - -.fa-truck-fire { - --fa: "\e65a"; -} - -.fa-wave { - --fa: "\e65b"; -} - -.fa-waves-sine { - --fa: "\e65d"; -} - -.fa-magnifying-glass-arrows-rotate { - --fa: "\e65e"; -} - -.fa-magnifying-glass-music { - --fa: "\e65f"; -} - -.fa-magnifying-glass-play { - --fa: "\e660"; -} - -.fa-magnifying-glass-waveform { - --fa: "\e661"; -} - -.fa-music-magnifying-glass { - --fa: "\e662"; -} - -.fa-reflect-horizontal { - --fa: "\e664"; -} - -.fa-reflect-vertical { - --fa: "\e665"; -} - -.fa-file-png { - --fa: "\e666"; -} - -.fa-arrow-down-from-bracket { - --fa: "\e667"; -} - -.fa-arrow-left-from-bracket { - --fa: "\e668"; -} - -.fa-arrow-left-to-bracket { - --fa: "\e669"; -} - -.fa-arrow-up-to-bracket { - --fa: "\e66a"; -} - -.fa-down-from-bracket { - --fa: "\e66b"; -} - -.fa-left-from-bracket { - --fa: "\e66c"; -} - -.fa-left-to-bracket { - --fa: "\e66d"; -} - -.fa-up-to-bracket { - --fa: "\e66e"; -} - -.fa-reflect-both { - --fa: "\e66f"; -} - -.fa-file-cad { - --fa: "\e672"; -} - -.fa-bottle-baby { - --fa: "\e673"; -} - -.fa-table-cells-column-lock { - --fa: "\e678"; -} - -.fa-table-cells-lock { - --fa: "\e679"; -} - -.fa-table-cells-row-lock { - --fa: "\e67a"; -} - -.fa-circle-wifi { - --fa: "\e67d"; -} - -.fa-circle-wifi-circle-wifi { - --fa: "\e67e"; -} - -.fa-circle-wifi-group { - --fa: "\e67e"; -} - -.fa-circle-gf { - --fa: "\e67f"; -} - -.fa-ant { - --fa: "\e680"; -} - -.fa-caduceus { - --fa: "\e681"; -} - -.fa-web-awesome { - --fa: "\e682"; -} - -.fa-globe-wifi { - --fa: "\e685"; -} - -.fa-hydra { - --fa: "\e686"; -} - -.fa-lightbulb-message { - --fa: "\e687"; -} - -.fa-octopus { - --fa: "\e688"; -} - -.fa-user-beard-bolt { - --fa: "\e689"; -} - -.fa-user-hoodie { - --fa: "\e68a"; -} - -.fa-diamonds-4 { - --fa: "\e68b"; -} - -.fa-thumbtack-slash { - --fa: "\e68f"; -} - -.fa-thumb-tack-slash { - --fa: "\e68f"; -} - -.fa-table-cells-column-unlock { - --fa: "\e690"; -} - -.fa-table-cells-row-unlock { - --fa: "\e691"; -} - -.fa-table-cells-unlock { - --fa: "\e692"; -} - -.fa-chart-diagram { - --fa: "\e695"; -} - -.fa-comment-nodes { - --fa: "\e696"; -} - -.fa-file-fragment { - --fa: "\e697"; -} - -.fa-file-half-dashed { - --fa: "\e698"; -} - -.fa-hexagon-nodes { - --fa: "\e699"; -} - -.fa-hexagon-nodes-bolt { - --fa: "\e69a"; -} - -.fa-square-binary { - --fa: "\e69b"; -} - -.fa-carpool { - --fa: "\e69c"; -} - -.fa-car-people { - --fa: "\e69c"; -} - -.fa-chart-sine { - --fa: "\e69d"; -} - -.fa-chart-fft { - --fa: "\e69e"; -} - -.fa-circles-overlap-3 { - --fa: "\e6a1"; -} - -.fa-pronoun { - --fa: "\e6a1"; -} - -.fa-bar-progress { - --fa: "\e6a4"; -} - -.fa-bar-progress-empty { - --fa: "\e6a5"; -} - -.fa-bar-progress-full { - --fa: "\e6a6"; -} - -.fa-bar-progress-half { - --fa: "\e6a7"; -} - -.fa-bar-progress-quarter { - --fa: "\e6a8"; -} - -.fa-bar-progress-three-quarters { - --fa: "\e6a9"; -} - -.fa-grid-2-minus { - --fa: "\e6aa"; -} - -.fa-grid-round-2-minus { - --fa: "\e6ab"; -} - -.fa-table-cells-columns { - --fa: "\e6ac"; -} - -.fa-table-cells-header { - --fa: "\e6ad"; -} - -.fa-table-cells-header-lock { - --fa: "\e6ae"; -} - -.fa-table-cells-header-unlock { - --fa: "\e6af"; -} - -.fa-table-cells-rows { - --fa: "\e6b0"; -} - -.fa-circle-equals { - --fa: "\e6b1"; -} - -.fa-hexagon-equals { - --fa: "\e6b2"; -} - -.fa-octagon-equals { - --fa: "\e6b3"; -} - -.fa-rectangle-minus { - --fa: "\e6b4"; -} - -.fa-rectangle-plus { - --fa: "\e6b5"; -} - -.fa-square-equals { - --fa: "\e6b6"; -} - -.fa-arrow-down-long-to-line { - --fa: "\e6b7"; -} - -.fa-arrow-left-arrow-right { - --fa: "\e6b8"; -} - -.fa-arrow-left-from-dotted-line { - --fa: "\e6b9"; -} - -.fa-arrow-left-to-dotted-line { - --fa: "\e6ba"; -} - -.fa-arrow-right-from-dotted-line { - --fa: "\e6bb"; -} - -.fa-arrow-right-to-dotted-line { - --fa: "\e6bc"; -} - -.fa-arrow-up-long-to-line { - --fa: "\e6bd"; -} - -.fa-direction-left-right { - --fa: "\e6be"; -} - -.fa-direction-up-down { - --fa: "\e6bf"; -} - -.fa-down-long-to-line { - --fa: "\e6c0"; -} - -.fa-down-up { - --fa: "\e6c1"; -} - -.fa-left-from-dotted-line { - --fa: "\e6c2"; -} - -.fa-left-to-dotted-line { - --fa: "\e6c3"; -} - -.fa-right-from-dotted-line { - --fa: "\e6c4"; -} - -.fa-right-to-dotted-line { - --fa: "\e6c5"; -} - -.fa-up-long-to-line { - --fa: "\e6c6"; -} - -.fa-barn { - --fa: "\e6c7"; -} - -.fa-circle-house { - --fa: "\e6c8"; -} - -.fa-garage-empty { - --fa: "\e6c9"; -} - -.fa-house-unlock { - --fa: "\e6ca"; -} - -.fa-school-unlock { - --fa: "\e6cb"; -} - -.fa-stadium { - --fa: "\e6cc"; -} - -.fa-tent-circus { - --fa: "\e6cd"; -} - -.fa-ball-yarn { - --fa: "\e6ce"; -} - -.fa-bra { - --fa: "\e6cf"; -} - -.fa-briefs { - --fa: "\e6d0"; -} - -.fa-dress { - --fa: "\e6d1"; -} - -.fa-jeans { - --fa: "\e6d2"; -} - -.fa-jeans-straight { - --fa: "\e6d3"; -} - -.fa-panties { - --fa: "\e6d4"; -} - -.fa-pants { - --fa: "\e6d5"; -} - -.fa-pants-straight { - --fa: "\e6d6"; -} - -.fa-shirt-jersey { - --fa: "\e6d7"; -} - -.fa-shoe { - --fa: "\e6d8"; -} - -.fa-shorts { - --fa: "\e6d9"; -} - -.fa-sneaker { - --fa: "\e6da"; -} - -.fa-circle-share-nodes { - --fa: "\e6db"; -} - -.fa-comment-dot { - --fa: "\e6dc"; -} - -.fa-comment-waveform { - --fa: "\e6dd"; -} - -.fa-envelope-circle-user { - --fa: "\e6de"; -} - -.fa-message-dot { - --fa: "\e6df"; -} - -.fa-message-waveform { - --fa: "\e6e0"; -} - -.fa-phone-connection { - --fa: "\e6e1"; -} - -.fa-phone-waveform { - --fa: "\e6e2"; -} - -.fa-postage-stamp { - --fa: "\e6e3"; -} - -.fa-circle-florin { - --fa: "\e6e4"; -} - -.fa-circle-ruble { - --fa: "\e6e5"; -} - -.fa-square-chf { - --fa: "\e6e6"; -} - -.fa-square-lira { - --fa: "\e6e7"; -} - -.fa-norwegian-krone-sign { - --fa: "\e6e8"; -} - -.fa-circle-renminbi { - --fa: "\e6e9"; -} - -.fa-square-peseta { - --fa: "\e6ea"; -} - -.fa-circle-brazilian-real { - --fa: "\e6eb"; -} - -.fa-circle-won { - --fa: "\e6ec"; -} - -.fa-square-cruzeiro { - --fa: "\e6ed"; -} - -.fa-circle-currency { - --fa: "\e6ee"; -} - -.fa-circle-hryvnia { - --fa: "\e6ef"; -} - -.fa-square-cent { - --fa: "\e6f0"; -} - -.fa-square-brazilian-real { - --fa: "\e6f1"; -} - -.fa-square-bitcoin { - --fa: "\e6f2"; -} - -.fa-circle-peruvian-soles { - --fa: "\e6f3"; -} - -.fa-circle-litecoin { - --fa: "\e6f4"; -} - -.fa-square-indian-rupee { - --fa: "\e6f5"; -} - -.fa-circle-lira { - --fa: "\e6f6"; -} - -.fa-square-litecoin { - --fa: "\e6f7"; -} - -.fa-square-ruble { - --fa: "\e6f8"; -} - -.fa-circle-malaysian-ringgit { - --fa: "\e6f9"; -} - -.fa-malaysian-ringgit-sign { - --fa: "\e6fa"; -} - -.fa-circle-manat { - --fa: "\e6fb"; -} - -.fa-circle-colon { - --fa: "\e6fc"; -} - -.fa-circle-kip { - --fa: "\e6fd"; -} - -.fa-australian-dollar-sign { - --fa: "\e6fe"; -} - -.fa-circle-peso { - --fa: "\e6ff"; -} - -.fa-circle-polish-zloty { - --fa: "\e700"; -} - -.fa-circle-bangladeshi-taka { - --fa: "\e701"; -} - -.fa-circle-mill { - --fa: "\e702"; -} - -.fa-circle-shekel { - --fa: "\e703"; -} - -.fa-square-manat { - --fa: "\e704"; -} - -.fa-peruvian-soles-sign { - --fa: "\e705"; -} - -.fa-circle-rupiah { - --fa: "\e706"; -} - -.fa-square-norwegian-krone { - --fa: "\e707"; -} - -.fa-square-naira { - --fa: "\e708"; -} - -.fa-square-won { - --fa: "\e709"; -} - -.fa-square-mill { - --fa: "\e70a"; -} - -.fa-polish-zloty-sign { - --fa: "\e70b"; -} - -.fa-square-currency { - --fa: "\e70c"; -} - -.fa-square-kip { - --fa: "\e70d"; -} - -.fa-square-guarani { - --fa: "\e70e"; -} - -.fa-square-dong { - --fa: "\e70f"; -} - -.fa-square-hryvnia { - --fa: "\e710"; -} - -.fa-circle-tugrik { - --fa: "\e711"; -} - -.fa-square-rupiah { - --fa: "\e712"; -} - -.fa-square-sterling { - --fa: "\e713"; -} - -.fa-circle-rupee { - --fa: "\e714"; -} - -.fa-square-rupee { - --fa: "\e715"; -} - -.fa-square-peruvian-soles { - --fa: "\e716"; -} - -.fa-square-florin { - --fa: "\e717"; -} - -.fa-square-australian-dollar { - --fa: "\e718"; -} - -.fa-square-baht { - --fa: "\e719"; -} - -.fa-square-peso { - --fa: "\e71a"; -} - -.fa-circle-austral { - --fa: "\e71b"; -} - -.fa-square-swedish-krona { - --fa: "\e71c"; -} - -.fa-circle-lari { - --fa: "\e71d"; -} - -.fa-circleapore-dollar { - --fa: "\e71e"; -} - -.fa-square-turkish-lira { - --fa: "\e71f"; -} - -.fa-danish-krone-sign { - --fa: "\e720"; -} - -.fa-circle-franc { - --fa: "\e721"; -} - -.fa-circle-cruzeiro { - --fa: "\e722"; -} - -.fa-circle-dong { - --fa: "\e723"; -} - -.fa-square-yen { - --fa: "\e724"; -} - -.fa-circle-tenge { - --fa: "\e725"; -} - -.fa-square-austral { - --fa: "\e726"; -} - -.fa-square-eurozone { - --fa: "\e727"; -} - -.fa-square-tugrik { - --fa: "\e728"; -} - -.fa-square-cedi { - --fa: "\e729"; -} - -.fa-circle-cent { - --fa: "\e72a"; -} - -.fa-currency-sign { - --fa: "\e72b"; -} - -.fa-circle-chf { - --fa: "\e72c"; -} - -.fa-circle-baht { - --fa: "\e72d"; -} - -.fa-signapore-dollar-sign { - --fa: "\e72e"; -} - -.fa-square-franc { - --fa: "\e72f"; -} - -.fa-circle-australian-dollar { - --fa: "\e730"; -} - -.fa-square-tenge { - --fa: "\e731"; -} - -.fa-square-euro { - --fa: "\e732"; -} - -.fa-squareapore-dollar { - --fa: "\e733"; -} - -.fa-circle-indian-rupee { - --fa: "\e734"; -} - -.fa-square-shekel { - --fa: "\e735"; -} - -.fa-square-polish-zloty { - --fa: "\e736"; -} - -.fa-circle-bitcoin { - --fa: "\e737"; -} - -.fa-circle-norwegian-krone { - --fa: "\e738"; -} - -.fa-circle-turkish-lira { - --fa: "\e739"; -} - -.fa-square-colon { - --fa: "\e73a"; -} - -.fa-circle-guarani { - --fa: "\e73b"; -} - -.fa-renminbi-sign { - --fa: "\e73c"; -} - -.fa-square-renminbi { - --fa: "\e73d"; -} - -.fa-swedish-krona-sign { - --fa: "\e73e"; -} - -.fa-square-lari { - --fa: "\e73f"; -} - -.fa-eurozone-sign { - --fa: "\e740"; -} - -.fa-circle-peseta { - --fa: "\e741"; -} - -.fa-circle-cedi { - --fa: "\e742"; -} - -.fa-circle-swedish-krona { - --fa: "\e743"; -} - -.fa-square-bangladeshi-taka { - --fa: "\e744"; -} - -.fa-circle-eurozone { - --fa: "\e745"; -} - -.fa-circle-danish-krone { - --fa: "\e746"; -} - -.fa-square-danish-krone { - --fa: "\e747"; -} - -.fa-square-malaysian-ringgit { - --fa: "\e748"; -} - -.fa-circle-naira { - --fa: "\e749"; -} - -.fa-mobile-arrow-down { - --fa: "\e74b"; -} - -.fa-clone-plus { - --fa: "\e74c"; -} - -.fa-paintbrush-fine-slash { - --fa: "\e74d"; -} - -.fa-paintbrush-slash { - --fa: "\e74e"; -} - -.fa-pencil-line { - --fa: "\e74f"; -} - -.fa-slider-circle { - --fa: "\e750"; -} - -.fa-thumbtack-angle { - --fa: "\e751"; -} - -.fa-thumbtack-angle-slash { - --fa: "\e752"; -} - -.fa-book-open-lines { - --fa: "\e753"; -} - -.fa-book-spine { - --fa: "\e754"; -} - -.fa-bookmark-plus { - --fa: "\e755"; -} - -.fa-clipboard-clock { - --fa: "\e756"; -} - -.fa-clipboard-exclamation { - --fa: "\e757"; -} - -.fa-file-ban { - --fa: "\e758"; -} - -.fa-notes-sticky { - --fa: "\e759"; -} - -.fa-capsule { - --fa: "\e75a"; -} - -.fa-ear-circle-checkmark { - --fa: "\e75b"; -} - -.fa-ear-triangle-exclamation { - --fa: "\e75c"; -} - -.fa-ear-waveform { - --fa: "\e75d"; -} - -.fa-head-side-circuit { - --fa: "\e75e"; -} - -.fa-head-side-speak { - --fa: "\e75f"; -} - -.fa-microphone-signal-meter { - --fa: "\e760"; -} - -.fa-spine { - --fa: "\e761"; -} - -.fa-vial-vertical { - --fa: "\e762"; -} - -.fa-bin { - --fa: "\e763"; -} - -.fa-seat { - --fa: "\e764"; -} - -.fa-seats { - --fa: "\e765"; -} - -.fa-camera-circle-ellipsis { - --fa: "\e766"; -} - -.fa-camera-clock { - --fa: "\e767"; -} - -.fa-camera-shutter { - --fa: "\e768"; -} - -.fa-film-music { - --fa: "\e769"; -} - -.fa-film-stack { - --fa: "\e76b"; -} - -.fa-image-circle-arrow-down { - --fa: "\e76c"; -} - -.fa-image-circle-check { - --fa: "\e76d"; -} - -.fa-image-circle-plus { - --fa: "\e76e"; -} - -.fa-image-circle-xmark { - --fa: "\e76f"; -} - -.fa-image-music { - --fa: "\e770"; -} - -.fa-image-stack { - --fa: "\e771"; -} - -.fa-rectangle-4k { - --fa: "\e772"; -} - -.fa-rectangle-high-dynamic-range { - --fa: "\e773"; -} - -.fa-rectangle-hdr { - --fa: "\e773"; -} - -.fa-rectangle-video-on-demand { - --fa: "\e774"; -} - -.fa-user-viewfinder { - --fa: "\e775"; -} - -.fa-video-down-to-line { - --fa: "\e776"; -} - -.fa-video-question { - --fa: "\e777"; -} - -.fa-gas-pump-left { - --fa: "\e778"; -} - -.fa-gas-pump-right { - --fa: "\e779"; -} - -.fa-location-arrow-slash { - --fa: "\e77a"; -} - -.fa-airplay-audio { - --fa: "\e77b"; -} - -.fa-headphones-slash { - --fa: "\e77c"; -} - -.fa-microphone-circle-plus { - --fa: "\e77d"; -} - -.fa-microphone-circle-xmark { - --fa: "\e77e"; -} - -.fa-open-captioning { - --fa: "\e77f"; -} - -.fa-play-flip { - --fa: "\e780"; -} - -.fa-square-microphone { - --fa: "\e781"; -} - -.fa-trombone { - --fa: "\e782"; -} - -.fa-person-arms-raised { - --fa: "\e783"; -} - -.fa-person-basketball { - --fa: "\e784"; -} - -.fa-person-carry-empty { - --fa: "\e785"; -} - -.fa-person-golfing { - --fa: "\e786"; -} - -.fa-person-limbs-wide { - --fa: "\e787"; -} - -.fa-person-seat-window { - --fa: "\e788"; -} - -.fa-person-soccer { - --fa: "\e789"; -} - -.fa-person-swimming-pool { - --fa: "\e78a"; -} - -.fa-person-swimming-water { - --fa: "\e78b"; -} - -.fa-person-water-arms-raised { - --fa: "\e78c"; -} - -.fa-person-waving { - --fa: "\e78d"; -} - -.fa-heart-slash { - --fa: "\e78e"; -} - -.fa-hearts { - --fa: "\e78f"; -} - -.fa-pentagon { - --fa: "\e790"; -} - -.fa-rectangle-tall { - --fa: "\e791"; -} - -.fa-square-half { - --fa: "\e792"; -} - -.fa-square-half-stroke { - --fa: "\e793"; -} - -.fa-box-arrow-down { - --fa: "\e794"; -} - -.fa-box-arrow-down-arrow-up { - --fa: "\e795"; -} - -.fa-box-arrow-down-magnifying-glass { - --fa: "\e796"; -} - -.fa-box-isometric { - --fa: "\e797"; -} - -.fa-box-isometric-tape { - --fa: "\e798"; -} - -.fa-qrcode-read { - --fa: "\e799"; -} - -.fa-shop-24 { - --fa: "\e79a"; -} - -.fa-store-24 { - --fa: "\e79b"; -} - -.fa-face-shaking { - --fa: "\e79c"; -} - -.fa-face-shaking-horizontal { - --fa: "\e79d"; -} - -.fa-face-shaking-vertical { - --fa: "\e79e"; -} - -.fa-circle-user-circle-check { - --fa: "\e79f"; -} - -.fa-circle-user-circle-exclamation { - --fa: "\e7a0"; -} - -.fa-circle-user-circle-minus { - --fa: "\e7a1"; -} - -.fa-circle-user-circle-moon { - --fa: "\e7a2"; -} - -.fa-circle-user-circle-plus { - --fa: "\e7a3"; -} - -.fa-circle-user-circle-question { - --fa: "\e7a4"; -} - -.fa-circle-user-circle-user { - --fa: "\e7a5"; -} - -.fa-circle-user-circle-xmark { - --fa: "\e7a6"; -} - -.fa-circle-user-clock { - --fa: "\e7a7"; -} - -.fa-user-beard { - --fa: "\e7a8"; -} - -.fa-user-chef-hair-long { - --fa: "\e7a9"; -} - -.fa-user-circle-minus { - --fa: "\e7aa"; -} - -.fa-user-circle-plus { - --fa: "\e7ab"; -} - -.fa-user-dashed { - --fa: "\e7ac"; -} - -.fa-user-doctor-hair-mullet { - --fa: "\e7ad"; -} - -.fa-user-hat-tie { - --fa: "\e7ae"; -} - -.fa-user-hat-tie-magnifying-glass { - --fa: "\e7af"; -} - -.fa-user-key { - --fa: "\e7b0"; -} - -.fa-user-message { - --fa: "\e7b1"; -} - -.fa-user-microphone { - --fa: "\e7b2"; -} - -.fa-user-pilot-hair-long { - --fa: "\e7b3"; -} - -.fa-user-pilot-tie-hair-long { - --fa: "\e7b4"; -} - -.fa-user-police-hair-long { - --fa: "\e7b5"; -} - -.fa-user-police-tie-hair-long { - --fa: "\e7b6"; -} - -.fa-user-question { - --fa: "\e7b7"; -} - -.fa-user-sith { - --fa: "\e7b8"; -} - -.fa-user-tie-hair-mullet { - --fa: "\e7b9"; -} - -.fa-user-vneck-hair-mullet { - --fa: "\e7ba"; -} - -.fa-plane-flying { - --fa: "\e7bb"; -} - -.fa-plane-landing-gear { - --fa: "\e7bc"; -} - -.fa-rocket-vertical { - --fa: "\e7bd"; -} - -.fa-seat-airline-window { - --fa: "\e7be"; -} - -.fa-shuttle-space-vertical { - --fa: "\e7bf"; -} - -.fa-car-key { - --fa: "\e7c0"; -} - -.fa-car-siren { - --fa: "\e7c1"; -} - -.fa-car-siren-on { - --fa: "\e7c2"; -} - -.fa-scooter { - --fa: "\e7c3"; -} - -.fa-snowmobile-blank { - --fa: "\e7c4"; -} - -.fa-stair-car { - --fa: "\e7c5"; -} - -.fa-truck-suv { - --fa: "\e7c6"; -} - -.fa-unicycle { - --fa: "\e7c7"; -} - -.fa-van { - --fa: "\e7c8"; -} - -.fa-moon-star { - --fa: "\e7c9"; -} - -.fa-rainbow-half { - --fa: "\e7ca"; -} - -.fa-temperature-slash { - --fa: "\e7cb"; -} - -.fa-dialpad { - --fa: "\e7cc"; -} - -.fa-computer-mouse-button-left { - --fa: "\e7cd"; -} - -.fa-computer-mouse-button-right { - --fa: "\e7ce"; -} - -.fa-dot { - --fa: "\e7d1"; -} - -.fa-folder-arrow-left { - --fa: "\e7d2"; -} - -.fa-folder-arrow-right { - --fa: "\e7d3"; -} - -.fa-wireless { - --fa: "\e7df"; -} - -.fa-circle-moon { - --fa: "\e7e0"; -} - -.fa-person-meditating { - --fa: "\e7e1"; -} - -.fa-baseball-bat { - --fa: "\e7e5"; -} - -.fa-hockey-stick { - --fa: "\e7e6"; -} - -.fa-arrow-u-turn-down-left { - --fa: "\e7e7"; -} - -.fa-arrow-u-turn-down-right { - --fa: "\e7e8"; -} - -.fa-arrow-u-turn-left-down { - --fa: "\e7e9"; -} - -.fa-arrow-u-turn-left-up { - --fa: "\e7ea"; -} - -.fa-arrow-u-turn-right-down { - --fa: "\e7eb"; -} - -.fa-arrow-u-turn-right-up { - --fa: "\e7ec"; -} - -.fa-arrow-u-turn-up-left { - --fa: "\e7ed"; -} - -.fa-arrow-u-turn-up-right { - --fa: "\e7ee"; -} - -.fa-u-turn-down-left { - --fa: "\e7ef"; -} - -.fa-u-turn-down-right { - --fa: "\e7f0"; -} - -.fa-u-turn-left-down { - --fa: "\e7f1"; -} - -.fa-u-turn { - --fa: "\e7f1"; -} - -.fa-u-turn-left-up { - --fa: "\e7f2"; -} - -.fa-u-turn-right-down { - --fa: "\e7f3"; -} - -.fa-u-turn-right-up { - --fa: "\e7f4"; -} - -.fa-u-turn-up-left { - --fa: "\e7f5"; -} - -.fa-u-turn-up-right { - --fa: "\e7f6"; -} - -.fa-triple-chevrons-down { - --fa: "\e7f7"; -} - -.fa-triple-chevrons-left { - --fa: "\e7f8"; -} - -.fa-triple-chevrons-right { - --fa: "\e7f9"; -} - -.fa-triple-chevrons-up { - --fa: "\e7fa"; -} - -.fa-file-aiff { - --fa: "\e7fb"; -} - -.fa-file-odf { - --fa: "\e7fc"; -} - -.fa-file-tex { - --fa: "\e7fd"; -} - -.fa-file-wav { - --fa: "\e7fe"; -} - -.fa-droplet-plus { - --fa: "\e800"; -} - -.fa-hand-holding-star { - --fa: "\e801"; -} - -.fa-transmission { - --fa: "\e802"; -} - -.fa-alarm-minus { - --fa: "\e803"; -} - -.fa-file-brackets-curly { - --fa: "\e804"; -} - -.fa-file-midi { - --fa: "\e805"; -} - -.fa-midi { - --fa: "\e806"; -} - -.fa-non-binary { - --fa: "\e807"; -} - -.fa-rectangle-beta { - --fa: "\e808"; -} - -.fa-shield-user { - --fa: "\e809"; -} - -.fa-spiral { - --fa: "\e80a"; -} - -.fa-picture-in-picture { - --fa: "\e80b"; -} - -.fa-circle-half-horizontal { - --fa: "\e80c"; -} - -.fa-circle-half-stroke-horizontal { - --fa: "\e80d"; -} - -.fa-square-half-horizontal { - --fa: "\e80e"; -} - -.fa-square-half-stroke-horizontal { - --fa: "\e80f"; -} - -.fa-ship-large { - --fa: "\e810"; -} - -.fa-butterfly { - --fa: "\e811"; -} - -.fa-mobile-rotate { - --fa: "\e813"; -} - -.fa-mobile-rotate-reverse { - --fa: "\e814"; -} - -.fa-mobile-slash { - --fa: "\e815"; -} - -.fa-mobile-vibrate { - --fa: "\e816"; -} - -.fa-mobile-vibrate-slash { - --fa: "\e817"; -} - -.fa-almost-equal-to { - --fa: "\e818"; -} - -.fa-sneaker-running { - --fa: "\e819"; -} - -.fa-horseshoe { - --fa: "\e81a"; -} - -.fa-single-quote-left { - --fa: "\e81b"; -} - -.fa-single-quote-right { - --fa: "\e81c"; -} - -.fa-bus-side { - --fa: "\e81d"; -} - -.fa-bus-stop { - --fa: "\e81e"; -} - -.fa-train-stop { - --fa: "\e81f"; -} - -.fa-septagon { - --fa: "\e820"; -} - -.fa-heptagon { - --fa: "\e820"; -} - -.fa-mailbox-open-empty { - --fa: "\e821"; -} - -.fa-mailbox-open-letter { - --fa: "\e823"; -} - -.fa-lychee { - --fa: "\e824"; -} - -.fa-tank-recovery { - --fa: "\e825"; -} - -.fa-transducer { - --fa: "\e826"; -} - -.fa-box-arrow-up { - --fa: "\e827"; -} - -.fa-box-magnifying-glass { - --fa: "\e828"; -} - -.fa-envelope-ribbon { - --fa: "\e829"; -} - -.fa-envelope-certificate { - --fa: "\e829"; -} - -.fa-water-temperature { - --fa: "\e82a"; -} - -.fa-water-temp { - --fa: "\e82a"; -} - -.fa-aeropress { - --fa: "\e82b"; -} - -.fa-caret-large-down { - --fa: "\e82c"; -} - -.fa-caret-large-left { - --fa: "\e82d"; -} - -.fa-caret-large-right { - --fa: "\e82e"; -} - -.fa-caret-large-up { - --fa: "\e82f"; -} - -.fa-chemex { - --fa: "\e830"; -} - -.fa-hand-shaka { - --fa: "\e831"; -} - -.fa-kettlebell { - --fa: "\e832"; -} - -.fa-foot-wing { - --fa: "\e834"; -} - -.fa-pump-impeller { - --fa: "\e835"; -} - -.fa-arrow-rotate-left-10 { - --fa: "\e836"; -} - -.fa-arrow-rotate-right-10 { - --fa: "\e837"; -} - -.fa-martini-glass-empty { - --fa: "\f000"; -} - -.fa-glass-martini { - --fa: "\f000"; -} - -.fa-music { - --fa: "\f001"; -} - -.fa-magnifying-glass { - --fa: "\f002"; -} - -.fa-search { - --fa: "\f002"; -} - -.fa-heart { - --fa: "\f004"; -} - -.fa-star { - --fa: "\f005"; -} - -.fa-user { - --fa: "\f007"; -} - -.fa-user-alt { - --fa: "\f007"; -} - -.fa-user-large { - --fa: "\f007"; -} - -.fa-film { - --fa: "\f008"; -} - -.fa-film-alt { - --fa: "\f008"; -} - -.fa-film-simple { - --fa: "\f008"; -} - -.fa-table-cells-large { - --fa: "\f009"; -} - -.fa-th-large { - --fa: "\f009"; -} - -.fa-table-cells { - --fa: "\f00a"; -} - -.fa-th { - --fa: "\f00a"; -} - -.fa-table-list { - --fa: "\f00b"; -} - -.fa-th-list { - --fa: "\f00b"; -} - -.fa-check { - --fa: "\f00c"; -} - -.fa-xmark { - --fa: "\f00d"; -} - -.fa-close { - --fa: "\f00d"; -} - -.fa-multiply { - --fa: "\f00d"; -} - -.fa-remove { - --fa: "\f00d"; -} - -.fa-times { - --fa: "\f00d"; -} - -.fa-magnifying-glass-plus { - --fa: "\f00e"; -} - -.fa-search-plus { - --fa: "\f00e"; -} - -.fa-magnifying-glass-minus { - --fa: "\f010"; -} - -.fa-search-minus { - --fa: "\f010"; -} - -.fa-power-off { - --fa: "\f011"; -} - -.fa-signal { - --fa: "\f012"; -} - -.fa-signal-5 { - --fa: "\f012"; -} - -.fa-signal-perfect { - --fa: "\f012"; -} - -.fa-gear { - --fa: "\f013"; -} - -.fa-cog { - --fa: "\f013"; -} - -.fa-house { - --fa: "\f015"; -} - -.fa-home { - --fa: "\f015"; -} - -.fa-home-alt { - --fa: "\f015"; -} - -.fa-home-lg-alt { - --fa: "\f015"; -} - -.fa-clock { - --fa: "\f017"; -} - -.fa-clock-four { - --fa: "\f017"; -} - -.fa-road { - --fa: "\f018"; -} - -.fa-download { - --fa: "\f019"; -} - -.fa-inbox { - --fa: "\f01c"; -} - -.fa-arrow-rotate-right { - --fa: "\f01e"; -} - -.fa-arrow-right-rotate { - --fa: "\f01e"; -} - -.fa-arrow-rotate-forward { - --fa: "\f01e"; -} - -.fa-redo { - --fa: "\f01e"; -} - -.fa-arrows-rotate { - --fa: "\f021"; -} - -.fa-refresh { - --fa: "\f021"; -} - -.fa-sync { - --fa: "\f021"; -} - -.fa-rectangle-list { - --fa: "\f022"; -} - -.fa-list-alt { - --fa: "\f022"; -} - -.fa-lock { - --fa: "\f023"; -} - -.fa-flag { - --fa: "\f024"; -} - -.fa-headphones { - --fa: "\f025"; -} - -.fa-headphones-alt { - --fa: "\f025"; -} - -.fa-headphones-simple { - --fa: "\f025"; -} - -.fa-volume-off { - --fa: "\f026"; -} - -.fa-volume-low { - --fa: "\f027"; -} - -.fa-volume-down { - --fa: "\f027"; -} - -.fa-volume-high { - --fa: "\f028"; -} - -.fa-volume-up { - --fa: "\f028"; -} - -.fa-qrcode { - --fa: "\f029"; -} - -.fa-barcode { - --fa: "\f02a"; -} - -.fa-tag { - --fa: "\f02b"; -} - -.fa-tags { - --fa: "\f02c"; -} - -.fa-book { - --fa: "\f02d"; -} - -.fa-bookmark { - --fa: "\f02e"; -} - -.fa-print { - --fa: "\f02f"; -} - -.fa-camera { - --fa: "\f030"; -} - -.fa-camera-alt { - --fa: "\f030"; -} - -.fa-font { - --fa: "\f031"; -} - -.fa-bold { - --fa: "\f032"; -} - -.fa-italic { - --fa: "\f033"; -} - -.fa-text-height { - --fa: "\f034"; -} - -.fa-text-width { - --fa: "\f035"; -} - -.fa-align-left { - --fa: "\f036"; -} - -.fa-align-center { - --fa: "\f037"; -} - -.fa-align-right { - --fa: "\f038"; -} - -.fa-align-justify { - --fa: "\f039"; -} - -.fa-list { - --fa: "\f03a"; -} - -.fa-list-squares { - --fa: "\f03a"; -} - -.fa-outdent { - --fa: "\f03b"; -} - -.fa-dedent { - --fa: "\f03b"; -} - -.fa-indent { - --fa: "\f03c"; -} - -.fa-video { - --fa: "\f03d"; -} - -.fa-video-camera { - --fa: "\f03d"; -} - -.fa-image { - --fa: "\f03e"; -} - -.fa-location-pin { - --fa: "\f041"; -} - -.fa-map-marker { - --fa: "\f041"; -} - -.fa-circle-half-stroke { - --fa: "\f042"; -} - -.fa-adjust { - --fa: "\f042"; -} - -.fa-droplet { - --fa: "\f043"; -} - -.fa-tint { - --fa: "\f043"; -} - -.fa-pen-to-square { - --fa: "\f044"; -} - -.fa-edit { - --fa: "\f044"; -} - -.fa-arrows-up-down-left-right { - --fa: "\f047"; -} - -.fa-arrows { - --fa: "\f047"; -} - -.fa-backward-step { - --fa: "\f048"; -} - -.fa-step-backward { - --fa: "\f048"; -} - -.fa-backward-fast { - --fa: "\f049"; -} - -.fa-fast-backward { - --fa: "\f049"; -} - -.fa-backward { - --fa: "\f04a"; -} - -.fa-play { - --fa: "\f04b"; -} - -.fa-pause { - --fa: "\f04c"; -} - -.fa-stop { - --fa: "\f04d"; -} - -.fa-forward { - --fa: "\f04e"; -} - -.fa-forward-fast { - --fa: "\f050"; -} - -.fa-fast-forward { - --fa: "\f050"; -} - -.fa-forward-step { - --fa: "\f051"; -} - -.fa-step-forward { - --fa: "\f051"; -} - -.fa-eject { - --fa: "\f052"; -} - -.fa-chevron-left { - --fa: "\f053"; -} - -.fa-chevron-right { - --fa: "\f054"; -} - -.fa-circle-plus { - --fa: "\f055"; -} - -.fa-plus-circle { - --fa: "\f055"; -} - -.fa-circle-minus { - --fa: "\f056"; -} - -.fa-minus-circle { - --fa: "\f056"; -} - -.fa-circle-xmark { - --fa: "\f057"; -} - -.fa-times-circle { - --fa: "\f057"; -} - -.fa-xmark-circle { - --fa: "\f057"; -} - -.fa-circle-check { - --fa: "\f058"; -} - -.fa-check-circle { - --fa: "\f058"; -} - -.fa-circle-question { - --fa: "\f059"; -} - -.fa-question-circle { - --fa: "\f059"; -} - -.fa-circle-info { - --fa: "\f05a"; -} - -.fa-info-circle { - --fa: "\f05a"; -} - -.fa-crosshairs { - --fa: "\f05b"; -} - -.fa-ban { - --fa: "\f05e"; -} - -.fa-cancel { - --fa: "\f05e"; -} - -.fa-arrow-left { - --fa: "\f060"; -} - -.fa-arrow-right { - --fa: "\f061"; -} - -.fa-arrow-up { - --fa: "\f062"; -} - -.fa-arrow-down { - --fa: "\f063"; -} - -.fa-share { - --fa: "\f064"; -} - -.fa-mail-forward { - --fa: "\f064"; -} - -.fa-expand { - --fa: "\f065"; -} - -.fa-compress { - --fa: "\f066"; -} - -.fa-minus { - --fa: "\f068"; -} - -.fa-subtract { - --fa: "\f068"; -} - -.fa-circle-exclamation { - --fa: "\f06a"; -} - -.fa-exclamation-circle { - --fa: "\f06a"; -} - -.fa-gift { - --fa: "\f06b"; -} - -.fa-leaf { - --fa: "\f06c"; -} - -.fa-fire { - --fa: "\f06d"; -} - -.fa-eye { - --fa: "\f06e"; -} - -.fa-eye-slash { - --fa: "\f070"; -} - -.fa-triangle-exclamation { - --fa: "\f071"; -} - -.fa-exclamation-triangle { - --fa: "\f071"; -} - -.fa-warning { - --fa: "\f071"; -} - -.fa-plane { - --fa: "\f072"; -} - -.fa-calendar-days { - --fa: "\f073"; -} - -.fa-calendar-alt { - --fa: "\f073"; -} - -.fa-shuffle { - --fa: "\f074"; -} - -.fa-random { - --fa: "\f074"; -} - -.fa-comment { - --fa: "\f075"; -} - -.fa-magnet { - --fa: "\f076"; -} - -.fa-chevron-up { - --fa: "\f077"; -} - -.fa-chevron-down { - --fa: "\f078"; -} - -.fa-retweet { - --fa: "\f079"; -} - -.fa-cart-shopping { - --fa: "\f07a"; -} - -.fa-shopping-cart { - --fa: "\f07a"; -} - -.fa-folder { - --fa: "\f07b"; -} - -.fa-folder-blank { - --fa: "\f07b"; -} - -.fa-folder-open { - --fa: "\f07c"; -} - -.fa-arrows-up-down { - --fa: "\f07d"; -} - -.fa-arrows-v { - --fa: "\f07d"; -} - -.fa-arrows-left-right { - --fa: "\f07e"; -} - -.fa-arrows-h { - --fa: "\f07e"; -} - -.fa-chart-bar { - --fa: "\f080"; -} - -.fa-bar-chart { - --fa: "\f080"; -} - -.fa-camera-retro { - --fa: "\f083"; -} - -.fa-key { - --fa: "\f084"; -} - -.fa-gears { - --fa: "\f085"; -} - -.fa-cogs { - --fa: "\f085"; -} - -.fa-comments { - --fa: "\f086"; -} - -.fa-star-half { - --fa: "\f089"; -} - -.fa-arrow-right-from-bracket { - --fa: "\f08b"; -} - -.fa-sign-out { - --fa: "\f08b"; -} - -.fa-thumbtack { - --fa: "\f08d"; -} - -.fa-thumb-tack { - --fa: "\f08d"; -} - -.fa-arrow-up-right-from-square { - --fa: "\f08e"; -} - -.fa-external-link { - --fa: "\f08e"; -} - -.fa-arrow-right-to-bracket { - --fa: "\f090"; -} - -.fa-sign-in { - --fa: "\f090"; -} - -.fa-trophy { - --fa: "\f091"; -} - -.fa-upload { - --fa: "\f093"; -} - -.fa-lemon { - --fa: "\f094"; -} - -.fa-phone { - --fa: "\f095"; -} - -.fa-square-phone { - --fa: "\f098"; -} - -.fa-phone-square { - --fa: "\f098"; -} - -.fa-unlock { - --fa: "\f09c"; -} - -.fa-credit-card { - --fa: "\f09d"; -} - -.fa-credit-card-alt { - --fa: "\f09d"; -} - -.fa-rss { - --fa: "\f09e"; -} - -.fa-feed { - --fa: "\f09e"; -} - -.fa-hard-drive { - --fa: "\f0a0"; -} - -.fa-hdd { - --fa: "\f0a0"; -} - -.fa-bullhorn { - --fa: "\f0a1"; -} - -.fa-certificate { - --fa: "\f0a3"; -} - -.fa-hand-point-right { - --fa: "\f0a4"; -} - -.fa-hand-point-left { - --fa: "\f0a5"; -} - -.fa-hand-point-up { - --fa: "\f0a6"; -} - -.fa-hand-point-down { - --fa: "\f0a7"; -} - -.fa-circle-arrow-left { - --fa: "\f0a8"; -} - -.fa-arrow-circle-left { - --fa: "\f0a8"; -} - -.fa-circle-arrow-right { - --fa: "\f0a9"; -} - -.fa-arrow-circle-right { - --fa: "\f0a9"; -} - -.fa-circle-arrow-up { - --fa: "\f0aa"; -} - -.fa-arrow-circle-up { - --fa: "\f0aa"; -} - -.fa-circle-arrow-down { - --fa: "\f0ab"; -} - -.fa-arrow-circle-down { - --fa: "\f0ab"; -} - -.fa-globe { - --fa: "\f0ac"; -} - -.fa-wrench { - --fa: "\f0ad"; -} - -.fa-list-check { - --fa: "\f0ae"; -} - -.fa-tasks { - --fa: "\f0ae"; -} - -.fa-filter { - --fa: "\f0b0"; -} - -.fa-briefcase { - --fa: "\f0b1"; -} - -.fa-up-down-left-right { - --fa: "\f0b2"; -} - -.fa-arrows-alt { - --fa: "\f0b2"; -} - -.fa-users { - --fa: "\f0c0"; -} - -.fa-link { - --fa: "\f0c1"; -} - -.fa-chain { - --fa: "\f0c1"; -} - -.fa-cloud { - --fa: "\f0c2"; -} - -.fa-flask { - --fa: "\f0c3"; -} - -.fa-scissors { - --fa: "\f0c4"; -} - -.fa-cut { - --fa: "\f0c4"; -} - -.fa-copy { - --fa: "\f0c5"; -} - -.fa-paperclip { - --fa: "\f0c6"; -} - -.fa-floppy-disk { - --fa: "\f0c7"; -} - -.fa-save { - --fa: "\f0c7"; -} - -.fa-square { - --fa: "\f0c8"; -} - -.fa-bars { - --fa: "\f0c9"; -} - -.fa-navicon { - --fa: "\f0c9"; -} - -.fa-list-ul { - --fa: "\f0ca"; -} - -.fa-list-dots { - --fa: "\f0ca"; -} - -.fa-list-ol { - --fa: "\f0cb"; -} - -.fa-list-1-2 { - --fa: "\f0cb"; -} - -.fa-list-numeric { - --fa: "\f0cb"; -} - -.fa-strikethrough { - --fa: "\f0cc"; -} - -.fa-underline { - --fa: "\f0cd"; -} - -.fa-table { - --fa: "\f0ce"; -} - -.fa-wand-magic { - --fa: "\f0d0"; -} - -.fa-magic { - --fa: "\f0d0"; -} - -.fa-truck { - --fa: "\f0d1"; -} - -.fa-money-bill { - --fa: "\f0d6"; -} - -.fa-caret-down { - --fa: "\f0d7"; -} - -.fa-caret-up { - --fa: "\f0d8"; -} - -.fa-caret-left { - --fa: "\f0d9"; -} - -.fa-caret-right { - --fa: "\f0da"; -} - -.fa-table-columns { - --fa: "\f0db"; -} - -.fa-columns { - --fa: "\f0db"; -} - -.fa-sort { - --fa: "\f0dc"; -} - -.fa-unsorted { - --fa: "\f0dc"; -} - -.fa-sort-down { - --fa: "\f0dd"; -} - -.fa-sort-desc { - --fa: "\f0dd"; -} - -.fa-sort-up { - --fa: "\f0de"; -} - -.fa-sort-asc { - --fa: "\f0de"; -} - -.fa-envelope { - --fa: "\f0e0"; -} - -.fa-arrow-rotate-left { - --fa: "\f0e2"; -} - -.fa-arrow-left-rotate { - --fa: "\f0e2"; -} - -.fa-arrow-rotate-back { - --fa: "\f0e2"; -} - -.fa-arrow-rotate-backward { - --fa: "\f0e2"; -} - -.fa-undo { - --fa: "\f0e2"; -} - -.fa-gavel { - --fa: "\f0e3"; -} - -.fa-legal { - --fa: "\f0e3"; -} - -.fa-bolt { - --fa: "\f0e7"; -} - -.fa-zap { - --fa: "\f0e7"; -} - -.fa-sitemap { - --fa: "\f0e8"; -} - -.fa-umbrella { - --fa: "\f0e9"; -} - -.fa-paste { - --fa: "\f0ea"; -} - -.fa-file-clipboard { - --fa: "\f0ea"; -} - -.fa-lightbulb { - --fa: "\f0eb"; -} - -.fa-arrow-right-arrow-left { - --fa: "\f0ec"; -} - -.fa-exchange { - --fa: "\f0ec"; -} - -.fa-cloud-arrow-down { - --fa: "\f0ed"; -} - -.fa-cloud-download { - --fa: "\f0ed"; -} - -.fa-cloud-download-alt { - --fa: "\f0ed"; -} - -.fa-cloud-arrow-up { - --fa: "\f0ee"; -} - -.fa-cloud-upload { - --fa: "\f0ee"; -} - -.fa-cloud-upload-alt { - --fa: "\f0ee"; -} - -.fa-user-doctor { - --fa: "\f0f0"; -} - -.fa-user-md { - --fa: "\f0f0"; -} - -.fa-stethoscope { - --fa: "\f0f1"; -} - -.fa-suitcase { - --fa: "\f0f2"; -} - -.fa-bell { - --fa: "\f0f3"; -} - -.fa-mug-saucer { - --fa: "\f0f4"; -} - -.fa-coffee { - --fa: "\f0f4"; -} - -.fa-hospital { - --fa: "\f0f8"; -} - -.fa-hospital-alt { - --fa: "\f0f8"; -} - -.fa-hospital-wide { - --fa: "\f0f8"; -} - -.fa-truck-medical { - --fa: "\f0f9"; -} - -.fa-ambulance { - --fa: "\f0f9"; -} - -.fa-suitcase-medical { - --fa: "\f0fa"; -} - -.fa-medkit { - --fa: "\f0fa"; -} - -.fa-jet-fighter { - --fa: "\f0fb"; -} - -.fa-fighter-jet { - --fa: "\f0fb"; -} - -.fa-beer-mug-empty { - --fa: "\f0fc"; -} - -.fa-beer { - --fa: "\f0fc"; -} - -.fa-square-h { - --fa: "\f0fd"; -} - -.fa-h-square { - --fa: "\f0fd"; -} - -.fa-square-plus { - --fa: "\f0fe"; -} - -.fa-plus-square { - --fa: "\f0fe"; -} - -.fa-angles-left { - --fa: "\f100"; -} - -.fa-angle-double-left { - --fa: "\f100"; -} - -.fa-angles-right { - --fa: "\f101"; -} - -.fa-angle-double-right { - --fa: "\f101"; -} - -.fa-angles-up { - --fa: "\f102"; -} - -.fa-angle-double-up { - --fa: "\f102"; -} - -.fa-angles-down { - --fa: "\f103"; -} - -.fa-angle-double-down { - --fa: "\f103"; -} - -.fa-angle-left { - --fa: "\f104"; -} - -.fa-angle-right { - --fa: "\f105"; -} - -.fa-angle-up { - --fa: "\f106"; -} - -.fa-angle-down { - --fa: "\f107"; -} - -.fa-laptop { - --fa: "\f109"; -} - -.fa-tablet-button { - --fa: "\f10a"; -} - -.fa-mobile-button { - --fa: "\f10b"; -} - -.fa-quote-left { - --fa: "\f10d"; -} - -.fa-quote-left-alt { - --fa: "\f10d"; -} - -.fa-quote-right { - --fa: "\f10e"; -} - -.fa-quote-right-alt { - --fa: "\f10e"; -} - -.fa-spinner { - --fa: "\f110"; -} - -.fa-circle { - --fa: "\f111"; -} - -.fa-face-smile { - --fa: "\f118"; -} - -.fa-smile { - --fa: "\f118"; -} - -.fa-face-frown { - --fa: "\f119"; -} - -.fa-frown { - --fa: "\f119"; -} - -.fa-face-meh { - --fa: "\f11a"; -} - -.fa-meh { - --fa: "\f11a"; -} - -.fa-gamepad { - --fa: "\f11b"; -} - -.fa-keyboard { - --fa: "\f11c"; -} - -.fa-flag-checkered { - --fa: "\f11e"; -} - -.fa-terminal { - --fa: "\f120"; -} - -.fa-code { - --fa: "\f121"; -} - -.fa-reply-all { - --fa: "\f122"; -} - -.fa-mail-reply-all { - --fa: "\f122"; -} - -.fa-location-arrow { - --fa: "\f124"; -} - -.fa-crop { - --fa: "\f125"; -} - -.fa-code-branch { - --fa: "\f126"; -} - -.fa-link-slash { - --fa: "\f127"; -} - -.fa-chain-broken { - --fa: "\f127"; -} - -.fa-chain-slash { - --fa: "\f127"; -} - -.fa-unlink { - --fa: "\f127"; -} - -.fa-info { - --fa: "\f129"; -} - -.fa-superscript { - --fa: "\f12b"; -} - -.fa-subscript { - --fa: "\f12c"; -} - -.fa-eraser { - --fa: "\f12d"; -} - -.fa-puzzle-piece { - --fa: "\f12e"; -} - -.fa-microphone { - --fa: "\f130"; -} - -.fa-microphone-slash { - --fa: "\f131"; -} - -.fa-shield { - --fa: "\f132"; -} - -.fa-shield-blank { - --fa: "\f132"; -} - -.fa-calendar { - --fa: "\f133"; -} - -.fa-fire-extinguisher { - --fa: "\f134"; -} - -.fa-rocket { - --fa: "\f135"; -} - -.fa-circle-chevron-left { - --fa: "\f137"; -} - -.fa-chevron-circle-left { - --fa: "\f137"; -} - -.fa-circle-chevron-right { - --fa: "\f138"; -} - -.fa-chevron-circle-right { - --fa: "\f138"; -} - -.fa-circle-chevron-up { - --fa: "\f139"; -} - -.fa-chevron-circle-up { - --fa: "\f139"; -} - -.fa-circle-chevron-down { - --fa: "\f13a"; -} - -.fa-chevron-circle-down { - --fa: "\f13a"; -} - -.fa-anchor { - --fa: "\f13d"; -} - -.fa-unlock-keyhole { - --fa: "\f13e"; -} - -.fa-unlock-alt { - --fa: "\f13e"; -} - -.fa-bullseye { - --fa: "\f140"; -} - -.fa-ellipsis { - --fa: "\f141"; -} - -.fa-ellipsis-h { - --fa: "\f141"; -} - -.fa-ellipsis-vertical { - --fa: "\f142"; -} - -.fa-ellipsis-v { - --fa: "\f142"; -} - -.fa-square-rss { - --fa: "\f143"; -} - -.fa-rss-square { - --fa: "\f143"; -} - -.fa-circle-play { - --fa: "\f144"; -} - -.fa-play-circle { - --fa: "\f144"; -} - -.fa-ticket { - --fa: "\f145"; -} - -.fa-square-minus { - --fa: "\f146"; -} - -.fa-minus-square { - --fa: "\f146"; -} - -.fa-arrow-turn-up { - --fa: "\f148"; -} - -.fa-level-up { - --fa: "\f148"; -} - -.fa-arrow-turn-down { - --fa: "\f149"; -} - -.fa-level-down { - --fa: "\f149"; -} - -.fa-square-check { - --fa: "\f14a"; -} - -.fa-check-square { - --fa: "\f14a"; -} - -.fa-square-pen { - --fa: "\f14b"; -} - -.fa-pen-square { - --fa: "\f14b"; -} - -.fa-pencil-square { - --fa: "\f14b"; -} - -.fa-square-arrow-up-right { - --fa: "\f14c"; -} - -.fa-external-link-square { - --fa: "\f14c"; -} - -.fa-share-from-square { - --fa: "\f14d"; -} - -.fa-share-square { - --fa: "\f14d"; -} - -.fa-compass { - --fa: "\f14e"; -} - -.fa-square-caret-down { - --fa: "\f150"; -} - -.fa-caret-square-down { - --fa: "\f150"; -} - -.fa-square-caret-up { - --fa: "\f151"; -} - -.fa-caret-square-up { - --fa: "\f151"; -} - -.fa-square-caret-right { - --fa: "\f152"; -} - -.fa-caret-square-right { - --fa: "\f152"; -} - -.fa-euro-sign { - --fa: "\f153"; -} - -.fa-eur { - --fa: "\f153"; -} - -.fa-euro { - --fa: "\f153"; -} - -.fa-sterling-sign { - --fa: "\f154"; -} - -.fa-gbp { - --fa: "\f154"; -} - -.fa-pound-sign { - --fa: "\f154"; -} - -.fa-rupee-sign { - --fa: "\f156"; -} - -.fa-rupee { - --fa: "\f156"; -} - -.fa-yen-sign { - --fa: "\f157"; -} - -.fa-cny { - --fa: "\f157"; -} - -.fa-jpy { - --fa: "\f157"; -} - -.fa-rmb { - --fa: "\f157"; -} - -.fa-yen { - --fa: "\f157"; -} - -.fa-ruble-sign { - --fa: "\f158"; -} - -.fa-rouble { - --fa: "\f158"; -} - -.fa-rub { - --fa: "\f158"; -} - -.fa-ruble { - --fa: "\f158"; -} - -.fa-won-sign { - --fa: "\f159"; -} - -.fa-krw { - --fa: "\f159"; -} - -.fa-won { - --fa: "\f159"; -} - -.fa-file { - --fa: "\f15b"; -} - -.fa-file-lines { - --fa: "\f15c"; -} - -.fa-file-alt { - --fa: "\f15c"; -} - -.fa-file-text { - --fa: "\f15c"; -} - -.fa-arrow-down-a-z { - --fa: "\f15d"; -} - -.fa-sort-alpha-asc { - --fa: "\f15d"; -} - -.fa-sort-alpha-down { - --fa: "\f15d"; -} - -.fa-arrow-up-a-z { - --fa: "\f15e"; -} - -.fa-sort-alpha-up { - --fa: "\f15e"; -} - -.fa-arrow-down-wide-short { - --fa: "\f160"; -} - -.fa-sort-amount-asc { - --fa: "\f160"; -} - -.fa-sort-amount-down { - --fa: "\f160"; -} - -.fa-arrow-up-wide-short { - --fa: "\f161"; -} - -.fa-sort-amount-up { - --fa: "\f161"; -} - -.fa-arrow-down-1-9 { - --fa: "\f162"; -} - -.fa-sort-numeric-asc { - --fa: "\f162"; -} - -.fa-sort-numeric-down { - --fa: "\f162"; -} - -.fa-arrow-up-1-9 { - --fa: "\f163"; -} - -.fa-sort-numeric-up { - --fa: "\f163"; -} - -.fa-thumbs-up { - --fa: "\f164"; -} - -.fa-thumbs-down { - --fa: "\f165"; -} - -.fa-arrow-down-long { - --fa: "\f175"; -} - -.fa-long-arrow-down { - --fa: "\f175"; -} - -.fa-arrow-up-long { - --fa: "\f176"; -} - -.fa-long-arrow-up { - --fa: "\f176"; -} - -.fa-arrow-left-long { - --fa: "\f177"; -} - -.fa-long-arrow-left { - --fa: "\f177"; -} - -.fa-arrow-right-long { - --fa: "\f178"; -} - -.fa-long-arrow-right { - --fa: "\f178"; -} - -.fa-person-dress { - --fa: "\f182"; -} - -.fa-female { - --fa: "\f182"; -} - -.fa-person { - --fa: "\f183"; -} - -.fa-male { - --fa: "\f183"; -} - -.fa-sun { - --fa: "\f185"; -} - -.fa-moon { - --fa: "\f186"; -} - -.fa-box-archive { - --fa: "\f187"; -} - -.fa-archive { - --fa: "\f187"; -} - -.fa-bug { - --fa: "\f188"; -} - -.fa-square-caret-left { - --fa: "\f191"; -} - -.fa-caret-square-left { - --fa: "\f191"; -} - -.fa-circle-dot { - --fa: "\f192"; -} - -.fa-dot-circle { - --fa: "\f192"; -} - -.fa-wheelchair { - --fa: "\f193"; -} - -.fa-lira-sign { - --fa: "\f195"; -} - -.fa-shuttle-space { - --fa: "\f197"; -} - -.fa-space-shuttle { - --fa: "\f197"; -} - -.fa-square-envelope { - --fa: "\f199"; -} - -.fa-envelope-square { - --fa: "\f199"; -} - -.fa-building-columns { - --fa: "\f19c"; -} - -.fa-bank { - --fa: "\f19c"; -} - -.fa-institution { - --fa: "\f19c"; -} - -.fa-museum { - --fa: "\f19c"; -} - -.fa-university { - --fa: "\f19c"; -} - -.fa-graduation-cap { - --fa: "\f19d"; -} - -.fa-mortar-board { - --fa: "\f19d"; -} - -.fa-language { - --fa: "\f1ab"; -} - -.fa-fax { - --fa: "\f1ac"; -} - -.fa-building { - --fa: "\f1ad"; -} - -.fa-child { - --fa: "\f1ae"; -} - -.fa-paw { - --fa: "\f1b0"; -} - -.fa-cube { - --fa: "\f1b2"; -} - -.fa-cubes { - --fa: "\f1b3"; -} - -.fa-recycle { - --fa: "\f1b8"; -} - -.fa-car { - --fa: "\f1b9"; -} - -.fa-automobile { - --fa: "\f1b9"; -} - -.fa-taxi { - --fa: "\f1ba"; -} - -.fa-cab { - --fa: "\f1ba"; -} - -.fa-tree { - --fa: "\f1bb"; -} - -.fa-database { - --fa: "\f1c0"; -} - -.fa-file-pdf { - --fa: "\f1c1"; -} - -.fa-file-word { - --fa: "\f1c2"; -} - -.fa-file-excel { - --fa: "\f1c3"; -} - -.fa-file-powerpoint { - --fa: "\f1c4"; -} - -.fa-file-image { - --fa: "\f1c5"; -} - -.fa-file-zipper { - --fa: "\f1c6"; -} - -.fa-file-archive { - --fa: "\f1c6"; -} - -.fa-file-audio { - --fa: "\f1c7"; -} - -.fa-file-video { - --fa: "\f1c8"; -} - -.fa-file-code { - --fa: "\f1c9"; -} - -.fa-life-ring { - --fa: "\f1cd"; -} - -.fa-circle-notch { - --fa: "\f1ce"; -} - -.fa-paper-plane { - --fa: "\f1d8"; -} - -.fa-clock-rotate-left { - --fa: "\f1da"; -} - -.fa-history { - --fa: "\f1da"; -} - -.fa-heading { - --fa: "\f1dc"; -} - -.fa-header { - --fa: "\f1dc"; -} - -.fa-paragraph { - --fa: "\f1dd"; -} - -.fa-sliders { - --fa: "\f1de"; -} - -.fa-sliders-h { - --fa: "\f1de"; -} - -.fa-share-nodes { - --fa: "\f1e0"; -} - -.fa-share-alt { - --fa: "\f1e0"; -} - -.fa-square-share-nodes { - --fa: "\f1e1"; -} - -.fa-share-alt-square { - --fa: "\f1e1"; -} - -.fa-bomb { - --fa: "\f1e2"; -} - -.fa-futbol { - --fa: "\f1e3"; -} - -.fa-futbol-ball { - --fa: "\f1e3"; -} - -.fa-soccer-ball { - --fa: "\f1e3"; -} - -.fa-tty { - --fa: "\f1e4"; -} - -.fa-teletype { - --fa: "\f1e4"; -} - -.fa-binoculars { - --fa: "\f1e5"; -} - -.fa-plug { - --fa: "\f1e6"; -} - -.fa-newspaper { - --fa: "\f1ea"; -} - -.fa-wifi { - --fa: "\f1eb"; -} - -.fa-wifi-3 { - --fa: "\f1eb"; -} - -.fa-wifi-strong { - --fa: "\f1eb"; -} - -.fa-calculator { - --fa: "\f1ec"; -} - -.fa-bell-slash { - --fa: "\f1f6"; -} - -.fa-trash { - --fa: "\f1f8"; -} - -.fa-copyright { - --fa: "\f1f9"; -} - -.fa-eye-dropper { - --fa: "\f1fb"; -} - -.fa-eye-dropper-empty { - --fa: "\f1fb"; -} - -.fa-eyedropper { - --fa: "\f1fb"; -} - -.fa-paintbrush { - --fa: "\f1fc"; -} - -.fa-paint-brush { - --fa: "\f1fc"; -} - -.fa-cake-candles { - --fa: "\f1fd"; -} - -.fa-birthday-cake { - --fa: "\f1fd"; -} - -.fa-cake { - --fa: "\f1fd"; -} - -.fa-chart-area { - --fa: "\f1fe"; -} - -.fa-area-chart { - --fa: "\f1fe"; -} - -.fa-chart-pie { - --fa: "\f200"; -} - -.fa-pie-chart { - --fa: "\f200"; -} - -.fa-chart-line { - --fa: "\f201"; -} - -.fa-line-chart { - --fa: "\f201"; -} - -.fa-toggle-off { - --fa: "\f204"; -} - -.fa-toggle-on { - --fa: "\f205"; -} - -.fa-bicycle { - --fa: "\f206"; -} - -.fa-bus { - --fa: "\f207"; -} - -.fa-closed-captioning { - --fa: "\f20a"; -} - -.fa-shekel-sign { - --fa: "\f20b"; -} - -.fa-ils { - --fa: "\f20b"; -} - -.fa-shekel { - --fa: "\f20b"; -} - -.fa-sheqel { - --fa: "\f20b"; -} - -.fa-sheqel-sign { - --fa: "\f20b"; -} - -.fa-cart-plus { - --fa: "\f217"; -} - -.fa-cart-arrow-down { - --fa: "\f218"; -} - -.fa-diamond { - --fa: "\f219"; -} - -.fa-ship { - --fa: "\f21a"; -} - -.fa-user-secret { - --fa: "\f21b"; -} - -.fa-motorcycle { - --fa: "\f21c"; -} - -.fa-street-view { - --fa: "\f21d"; -} - -.fa-heart-pulse { - --fa: "\f21e"; -} - -.fa-heartbeat { - --fa: "\f21e"; -} - -.fa-venus { - --fa: "\f221"; -} - -.fa-mars { - --fa: "\f222"; -} - -.fa-mercury { - --fa: "\f223"; -} - -.fa-mars-and-venus { - --fa: "\f224"; -} - -.fa-transgender { - --fa: "\f225"; -} - -.fa-transgender-alt { - --fa: "\f225"; -} - -.fa-venus-double { - --fa: "\f226"; -} - -.fa-mars-double { - --fa: "\f227"; -} - -.fa-venus-mars { - --fa: "\f228"; -} - -.fa-mars-stroke { - --fa: "\f229"; -} - -.fa-mars-stroke-up { - --fa: "\f22a"; -} - -.fa-mars-stroke-v { - --fa: "\f22a"; -} - -.fa-mars-stroke-right { - --fa: "\f22b"; -} - -.fa-mars-stroke-h { - --fa: "\f22b"; -} - -.fa-neuter { - --fa: "\f22c"; -} - -.fa-genderless { - --fa: "\f22d"; -} - -.fa-server { - --fa: "\f233"; -} - -.fa-user-plus { - --fa: "\f234"; -} - -.fa-user-xmark { - --fa: "\f235"; -} - -.fa-user-times { - --fa: "\f235"; -} - -.fa-bed { - --fa: "\f236"; -} - -.fa-train { - --fa: "\f238"; -} - -.fa-train-subway { - --fa: "\f239"; -} - -.fa-subway { - --fa: "\f239"; -} - -.fa-battery-full { - --fa: "\f240"; -} - -.fa-battery { - --fa: "\f240"; -} - -.fa-battery-5 { - --fa: "\f240"; -} - -.fa-battery-three-quarters { - --fa: "\f241"; -} - -.fa-battery-4 { - --fa: "\f241"; -} - -.fa-battery-half { - --fa: "\f242"; -} - -.fa-battery-3 { - --fa: "\f242"; -} - -.fa-battery-quarter { - --fa: "\f243"; -} - -.fa-battery-2 { - --fa: "\f243"; -} - -.fa-battery-empty { - --fa: "\f244"; -} - -.fa-battery-0 { - --fa: "\f244"; -} - -.fa-arrow-pointer { - --fa: "\f245"; -} - -.fa-mouse-pointer { - --fa: "\f245"; -} - -.fa-i-cursor { - --fa: "\f246"; -} - -.fa-object-group { - --fa: "\f247"; -} - -.fa-object-ungroup { - --fa: "\f248"; -} - -.fa-note-sticky { - --fa: "\f249"; -} - -.fa-sticky-note { - --fa: "\f249"; -} - -.fa-clone { - --fa: "\f24d"; -} - -.fa-scale-balanced { - --fa: "\f24e"; -} - -.fa-balance-scale { - --fa: "\f24e"; -} - -.fa-hourglass-start { - --fa: "\f251"; -} - -.fa-hourglass-1 { - --fa: "\f251"; -} - -.fa-hourglass-half { - --fa: "\f252"; -} - -.fa-hourglass-2 { - --fa: "\f252"; -} - -.fa-hourglass-end { - --fa: "\f253"; -} - -.fa-hourglass-3 { - --fa: "\f253"; -} - -.fa-hourglass { - --fa: "\f254"; -} - -.fa-hourglass-empty { - --fa: "\f254"; -} - -.fa-hand-back-fist { - --fa: "\f255"; -} - -.fa-hand-rock { - --fa: "\f255"; -} - -.fa-hand { - --fa: "\f256"; -} - -.fa-hand-paper { - --fa: "\f256"; -} - -.fa-hand-scissors { - --fa: "\f257"; -} - -.fa-hand-lizard { - --fa: "\f258"; -} - -.fa-hand-spock { - --fa: "\f259"; -} - -.fa-hand-pointer { - --fa: "\f25a"; -} - -.fa-hand-peace { - --fa: "\f25b"; -} - -.fa-trademark { - --fa: "\f25c"; -} - -.fa-registered { - --fa: "\f25d"; -} - -.fa-tv { - --fa: "\f26c"; -} - -.fa-television { - --fa: "\f26c"; -} - -.fa-tv-alt { - --fa: "\f26c"; -} - -.fa-calendar-plus { - --fa: "\f271"; -} - -.fa-calendar-minus { - --fa: "\f272"; -} - -.fa-calendar-xmark { - --fa: "\f273"; -} - -.fa-calendar-times { - --fa: "\f273"; -} - -.fa-calendar-check { - --fa: "\f274"; -} - -.fa-industry { - --fa: "\f275"; -} - -.fa-map-pin { - --fa: "\f276"; -} - -.fa-signs-post { - --fa: "\f277"; -} - -.fa-map-signs { - --fa: "\f277"; -} - -.fa-map { - --fa: "\f279"; -} - -.fa-message { - --fa: "\f27a"; -} - -.fa-comment-alt { - --fa: "\f27a"; -} - -.fa-circle-pause { - --fa: "\f28b"; -} - -.fa-pause-circle { - --fa: "\f28b"; -} - -.fa-circle-stop { - --fa: "\f28d"; -} - -.fa-stop-circle { - --fa: "\f28d"; -} - -.fa-bag-shopping { - --fa: "\f290"; -} - -.fa-shopping-bag { - --fa: "\f290"; -} - -.fa-basket-shopping { - --fa: "\f291"; -} - -.fa-shopping-basket { - --fa: "\f291"; -} - -.fa-bluetooth { - --fa: "\f293"; -} - -.fa-universal-access { - --fa: "\f29a"; -} - -.fa-person-walking-with-cane { - --fa: "\f29d"; -} - -.fa-blind { - --fa: "\f29d"; -} - -.fa-audio-description { - --fa: "\f29e"; -} - -.fa-phone-volume { - --fa: "\f2a0"; -} - -.fa-volume-control-phone { - --fa: "\f2a0"; -} - -.fa-braille { - --fa: "\f2a1"; -} - -.fa-ear-listen { - --fa: "\f2a2"; -} - -.fa-assistive-listening-systems { - --fa: "\f2a2"; -} - -.fa-hands-asl-interpreting { - --fa: "\f2a3"; -} - -.fa-american-sign-language-interpreting { - --fa: "\f2a3"; -} - -.fa-asl-interpreting { - --fa: "\f2a3"; -} - -.fa-hands-american-sign-language-interpreting { - --fa: "\f2a3"; -} - -.fa-ear-deaf { - --fa: "\f2a4"; -} - -.fa-deaf { - --fa: "\f2a4"; -} - -.fa-deafness { - --fa: "\f2a4"; -} - -.fa-hard-of-hearing { - --fa: "\f2a4"; -} - -.fa-hands { - --fa: "\f2a7"; -} - -.fa-sign-language { - --fa: "\f2a7"; -} - -.fa-signing { - --fa: "\f2a7"; -} - -.fa-eye-low-vision { - --fa: "\f2a8"; -} - -.fa-low-vision { - --fa: "\f2a8"; -} - -.fa-font-awesome { - --fa: "\f2b4"; -} - -.fa-font-awesome-flag { - --fa: "\f2b4"; -} - -.fa-font-awesome-logo-full { - --fa: "\f2b4"; -} - -.fa-handshake { - --fa: "\f2b5"; -} - -.fa-handshake-alt { - --fa: "\f2b5"; -} - -.fa-handshake-simple { - --fa: "\f2b5"; -} - -.fa-envelope-open { - --fa: "\f2b6"; -} - -.fa-address-book { - --fa: "\f2b9"; -} - -.fa-contact-book { - --fa: "\f2b9"; -} - -.fa-address-card { - --fa: "\f2bb"; -} - -.fa-contact-card { - --fa: "\f2bb"; -} - -.fa-vcard { - --fa: "\f2bb"; -} - -.fa-circle-user { - --fa: "\f2bd"; -} - -.fa-user-circle { - --fa: "\f2bd"; -} - -.fa-id-badge { - --fa: "\f2c1"; -} - -.fa-id-card { - --fa: "\f2c2"; -} - -.fa-drivers-license { - --fa: "\f2c2"; -} - -.fa-temperature-full { - --fa: "\f2c7"; -} - -.fa-temperature-4 { - --fa: "\f2c7"; -} - -.fa-thermometer-4 { - --fa: "\f2c7"; -} - -.fa-thermometer-full { - --fa: "\f2c7"; -} - -.fa-temperature-three-quarters { - --fa: "\f2c8"; -} - -.fa-temperature-3 { - --fa: "\f2c8"; -} - -.fa-thermometer-3 { - --fa: "\f2c8"; -} - -.fa-thermometer-three-quarters { - --fa: "\f2c8"; -} - -.fa-temperature-half { - --fa: "\f2c9"; -} - -.fa-temperature-2 { - --fa: "\f2c9"; -} - -.fa-thermometer-2 { - --fa: "\f2c9"; -} - -.fa-thermometer-half { - --fa: "\f2c9"; -} - -.fa-temperature-quarter { - --fa: "\f2ca"; -} - -.fa-temperature-1 { - --fa: "\f2ca"; -} - -.fa-thermometer-1 { - --fa: "\f2ca"; -} - -.fa-thermometer-quarter { - --fa: "\f2ca"; -} - -.fa-temperature-empty { - --fa: "\f2cb"; -} - -.fa-temperature-0 { - --fa: "\f2cb"; -} - -.fa-thermometer-0 { - --fa: "\f2cb"; -} - -.fa-thermometer-empty { - --fa: "\f2cb"; -} - -.fa-shower { - --fa: "\f2cc"; -} - -.fa-bath { - --fa: "\f2cd"; -} - -.fa-bathtub { - --fa: "\f2cd"; -} - -.fa-podcast { - --fa: "\f2ce"; -} - -.fa-window-maximize { - --fa: "\f2d0"; -} - -.fa-window-minimize { - --fa: "\f2d1"; -} - -.fa-window-restore { - --fa: "\f2d2"; -} - -.fa-square-xmark { - --fa: "\f2d3"; -} - -.fa-times-square { - --fa: "\f2d3"; -} - -.fa-xmark-square { - --fa: "\f2d3"; -} - -.fa-microchip { - --fa: "\f2db"; -} - -.fa-snowflake { - --fa: "\f2dc"; -} - -.fa-watch { - --fa: "\f2e1"; -} - -.fa-volume-slash { - --fa: "\f2e2"; -} - -.fa-fork { - --fa: "\f2e3"; -} - -.fa-utensil-fork { - --fa: "\f2e3"; -} - -.fa-knife { - --fa: "\f2e4"; -} - -.fa-utensil-knife { - --fa: "\f2e4"; -} - -.fa-spoon { - --fa: "\f2e5"; -} - -.fa-utensil-spoon { - --fa: "\f2e5"; -} - -.fa-fork-knife { - --fa: "\f2e6"; -} - -.fa-utensils-alt { - --fa: "\f2e6"; -} - -.fa-utensils { - --fa: "\f2e7"; -} - -.fa-cutlery { - --fa: "\f2e7"; -} - -.fa-circle-dollar { - --fa: "\f2e8"; -} - -.fa-dollar-circle { - --fa: "\f2e8"; -} - -.fa-usd-circle { - --fa: "\f2e8"; -} - -.fa-square-dollar { - --fa: "\f2e9"; -} - -.fa-dollar-square { - --fa: "\f2e9"; -} - -.fa-usd-square { - --fa: "\f2e9"; -} - -.fa-rotate-left { - --fa: "\f2ea"; -} - -.fa-rotate-back { - --fa: "\f2ea"; -} - -.fa-rotate-backward { - --fa: "\f2ea"; -} - -.fa-undo-alt { - --fa: "\f2ea"; -} - -.fa-trophy-star { - --fa: "\f2eb"; -} - -.fa-trophy-alt { - --fa: "\f2eb"; -} - -.fa-triangle { - --fa: "\f2ec"; -} - -.fa-trash-can { - --fa: "\f2ed"; -} - -.fa-trash-alt { - --fa: "\f2ed"; -} - -.fa-hexagon-xmark { - --fa: "\f2ee"; -} - -.fa-times-hexagon { - --fa: "\f2ee"; -} - -.fa-xmark-hexagon { - --fa: "\f2ee"; -} - -.fa-octagon-xmark { - --fa: "\f2f0"; -} - -.fa-times-octagon { - --fa: "\f2f0"; -} - -.fa-xmark-octagon { - --fa: "\f2f0"; -} - -.fa-rotate { - --fa: "\f2f1"; -} - -.fa-sync-alt { - --fa: "\f2f1"; -} - -.fa-stopwatch { - --fa: "\f2f2"; -} - -.fa-star-exclamation { - --fa: "\f2f3"; -} - -.fa-spade { - --fa: "\f2f4"; -} - -.fa-right-from-bracket { - --fa: "\f2f5"; -} - -.fa-sign-out-alt { - --fa: "\f2f5"; -} - -.fa-right-to-bracket { - --fa: "\f2f6"; -} - -.fa-sign-in-alt { - --fa: "\f2f6"; -} - -.fa-shield-check { - --fa: "\f2f7"; -} - -.fa-scrubber { - --fa: "\f2f8"; -} - -.fa-rotate-right { - --fa: "\f2f9"; -} - -.fa-redo-alt { - --fa: "\f2f9"; -} - -.fa-rotate-forward { - --fa: "\f2f9"; -} - -.fa-rectangle { - --fa: "\f2fa"; -} - -.fa-rectangle-landscape { - --fa: "\f2fa"; -} - -.fa-rectangle-vertical { - --fa: "\f2fb"; -} - -.fa-rectangle-portrait { - --fa: "\f2fb"; -} - -.fa-rectangle-wide { - --fa: "\f2fc"; -} - -.fa-square-question { - --fa: "\f2fd"; -} - -.fa-question-square { - --fa: "\f2fd"; -} - -.fa-poo { - --fa: "\f2fe"; -} - -.fa-hexagon-plus { - --fa: "\f300"; -} - -.fa-plus-hexagon { - --fa: "\f300"; -} - -.fa-octagon-plus { - --fa: "\f301"; -} - -.fa-plus-octagon { - --fa: "\f301"; -} - -.fa-images { - --fa: "\f302"; -} - -.fa-pencil { - --fa: "\f303"; -} - -.fa-pencil-alt { - --fa: "\f303"; -} - -.fa-pen { - --fa: "\f304"; -} - -.fa-pen-clip { - --fa: "\f305"; -} - -.fa-pen-alt { - --fa: "\f305"; -} - -.fa-octagon { - --fa: "\f306"; -} - -.fa-hexagon-minus { - --fa: "\f307"; -} - -.fa-minus-hexagon { - --fa: "\f307"; -} - -.fa-octagon-minus { - --fa: "\f308"; -} - -.fa-minus-octagon { - --fa: "\f308"; -} - -.fa-down-long { - --fa: "\f309"; -} - -.fa-long-arrow-alt-down { - --fa: "\f309"; -} - -.fa-left-long { - --fa: "\f30a"; -} - -.fa-long-arrow-alt-left { - --fa: "\f30a"; -} - -.fa-right-long { - --fa: "\f30b"; -} - -.fa-long-arrow-alt-right { - --fa: "\f30b"; -} - -.fa-up-long { - --fa: "\f30c"; -} - -.fa-long-arrow-alt-up { - --fa: "\f30c"; -} - -.fa-lock-keyhole { - --fa: "\f30d"; -} - -.fa-lock-alt { - --fa: "\f30d"; -} - -.fa-jack-o-lantern { - --fa: "\f30e"; -} - -.fa-square-info { - --fa: "\f30f"; -} - -.fa-info-square { - --fa: "\f30f"; -} - -.fa-inbox-in { - --fa: "\f310"; -} - -.fa-inbox-arrow-down { - --fa: "\f310"; -} - -.fa-inbox-out { - --fa: "\f311"; -} - -.fa-inbox-arrow-up { - --fa: "\f311"; -} - -.fa-hexagon { - --fa: "\f312"; -} - -.fa-h1 { - --fa: "\f313"; -} - -.fa-h2 { - --fa: "\f314"; -} - -.fa-h3 { - --fa: "\f315"; -} - -.fa-file-check { - --fa: "\f316"; -} - -.fa-file-xmark { - --fa: "\f317"; -} - -.fa-file-times { - --fa: "\f317"; -} - -.fa-file-minus { - --fa: "\f318"; -} - -.fa-file-plus { - --fa: "\f319"; -} - -.fa-file-exclamation { - --fa: "\f31a"; -} - -.fa-file-pen { - --fa: "\f31c"; -} - -.fa-file-edit { - --fa: "\f31c"; -} - -.fa-arrows-maximize { - --fa: "\f31d"; -} - -.fa-expand-arrows { - --fa: "\f31d"; -} - -.fa-maximize { - --fa: "\f31e"; -} - -.fa-expand-arrows-alt { - --fa: "\f31e"; -} - -.fa-expand-wide { - --fa: "\f320"; -} - -.fa-square-exclamation { - --fa: "\f321"; -} - -.fa-exclamation-square { - --fa: "\f321"; -} - -.fa-chevrons-down { - --fa: "\f322"; -} - -.fa-chevron-double-down { - --fa: "\f322"; -} - -.fa-chevrons-left { - --fa: "\f323"; -} - -.fa-chevron-double-left { - --fa: "\f323"; -} - -.fa-chevrons-right { - --fa: "\f324"; -} - -.fa-chevron-double-right { - --fa: "\f324"; -} - -.fa-chevrons-up { - --fa: "\f325"; -} - -.fa-chevron-double-up { - --fa: "\f325"; -} - -.fa-compress-wide { - --fa: "\f326"; -} - -.fa-club { - --fa: "\f327"; -} - -.fa-clipboard { - --fa: "\f328"; -} - -.fa-square-chevron-down { - --fa: "\f329"; -} - -.fa-chevron-square-down { - --fa: "\f329"; -} - -.fa-square-chevron-left { - --fa: "\f32a"; -} - -.fa-chevron-square-left { - --fa: "\f32a"; -} - -.fa-square-chevron-right { - --fa: "\f32b"; -} - -.fa-chevron-square-right { - --fa: "\f32b"; -} - -.fa-square-chevron-up { - --fa: "\f32c"; -} - -.fa-chevron-square-up { - --fa: "\f32c"; -} - -.fa-circle-caret-down { - --fa: "\f32d"; -} - -.fa-caret-circle-down { - --fa: "\f32d"; -} - -.fa-circle-caret-left { - --fa: "\f32e"; -} - -.fa-caret-circle-left { - --fa: "\f32e"; -} - -.fa-circle-caret-right { - --fa: "\f330"; -} - -.fa-caret-circle-right { - --fa: "\f330"; -} - -.fa-circle-caret-up { - --fa: "\f331"; -} - -.fa-caret-circle-up { - --fa: "\f331"; -} - -.fa-calendar-pen { - --fa: "\f333"; -} - -.fa-calendar-edit { - --fa: "\f333"; -} - -.fa-calendar-exclamation { - --fa: "\f334"; -} - -.fa-badge { - --fa: "\f335"; -} - -.fa-badge-check { - --fa: "\f336"; -} - -.fa-left-right { - --fa: "\f337"; -} - -.fa-arrows-alt-h { - --fa: "\f337"; -} - -.fa-up-down { - --fa: "\f338"; -} - -.fa-arrows-alt-v { - --fa: "\f338"; -} - -.fa-square-arrow-down { - --fa: "\f339"; -} - -.fa-arrow-square-down { - --fa: "\f339"; -} - -.fa-square-arrow-left { - --fa: "\f33a"; -} - -.fa-arrow-square-left { - --fa: "\f33a"; -} - -.fa-square-arrow-right { - --fa: "\f33b"; -} - -.fa-arrow-square-right { - --fa: "\f33b"; -} - -.fa-square-arrow-up { - --fa: "\f33c"; -} - -.fa-arrow-square-up { - --fa: "\f33c"; -} - -.fa-arrow-down-to-line { - --fa: "\f33d"; -} - -.fa-arrow-to-bottom { - --fa: "\f33d"; -} - -.fa-arrow-left-to-line { - --fa: "\f33e"; -} - -.fa-arrow-to-left { - --fa: "\f33e"; -} - -.fa-arrow-right-to-line { - --fa: "\f340"; -} - -.fa-arrow-to-right { - --fa: "\f340"; -} - -.fa-arrow-up-to-line { - --fa: "\f341"; -} - -.fa-arrow-to-top { - --fa: "\f341"; -} - -.fa-arrow-up-from-line { - --fa: "\f342"; -} - -.fa-arrow-from-bottom { - --fa: "\f342"; -} - -.fa-arrow-right-from-line { - --fa: "\f343"; -} - -.fa-arrow-from-left { - --fa: "\f343"; -} - -.fa-arrow-left-from-line { - --fa: "\f344"; -} - -.fa-arrow-from-right { - --fa: "\f344"; -} - -.fa-arrow-down-from-line { - --fa: "\f345"; -} - -.fa-arrow-from-top { - --fa: "\f345"; -} - -.fa-up-from-line { - --fa: "\f346"; -} - -.fa-arrow-alt-from-bottom { - --fa: "\f346"; -} - -.fa-right-from-line { - --fa: "\f347"; -} - -.fa-arrow-alt-from-left { - --fa: "\f347"; -} - -.fa-left-from-line { - --fa: "\f348"; -} - -.fa-arrow-alt-from-right { - --fa: "\f348"; -} - -.fa-down-from-line { - --fa: "\f349"; -} - -.fa-arrow-alt-from-top { - --fa: "\f349"; -} - -.fa-down-to-line { - --fa: "\f34a"; -} - -.fa-arrow-alt-to-bottom { - --fa: "\f34a"; -} - -.fa-left-to-line { - --fa: "\f34b"; -} - -.fa-arrow-alt-to-left { - --fa: "\f34b"; -} - -.fa-right-to-line { - --fa: "\f34c"; -} - -.fa-arrow-alt-to-right { - --fa: "\f34c"; -} - -.fa-up-to-line { - --fa: "\f34d"; -} - -.fa-arrow-alt-to-top { - --fa: "\f34d"; -} - -.fa-alarm-clock { - --fa: "\f34e"; -} - -.fa-square-down { - --fa: "\f350"; -} - -.fa-arrow-alt-square-down { - --fa: "\f350"; -} - -.fa-square-left { - --fa: "\f351"; -} - -.fa-arrow-alt-square-left { - --fa: "\f351"; -} - -.fa-square-right { - --fa: "\f352"; -} - -.fa-arrow-alt-square-right { - --fa: "\f352"; -} - -.fa-square-up { - --fa: "\f353"; -} - -.fa-arrow-alt-square-up { - --fa: "\f353"; -} - -.fa-down { - --fa: "\f354"; -} - -.fa-arrow-alt-down { - --fa: "\f354"; -} - -.fa-left { - --fa: "\f355"; -} - -.fa-arrow-alt-left { - --fa: "\f355"; -} - -.fa-right { - --fa: "\f356"; -} - -.fa-arrow-alt-right { - --fa: "\f356"; -} - -.fa-up { - --fa: "\f357"; -} - -.fa-arrow-alt-up { - --fa: "\f357"; -} - -.fa-circle-down { - --fa: "\f358"; -} - -.fa-arrow-alt-circle-down { - --fa: "\f358"; -} - -.fa-circle-left { - --fa: "\f359"; -} - -.fa-arrow-alt-circle-left { - --fa: "\f359"; -} - -.fa-circle-right { - --fa: "\f35a"; -} - -.fa-arrow-alt-circle-right { - --fa: "\f35a"; -} - -.fa-circle-up { - --fa: "\f35b"; -} - -.fa-arrow-alt-circle-up { - --fa: "\f35b"; -} - -.fa-up-right-from-square { - --fa: "\f35d"; -} - -.fa-external-link-alt { - --fa: "\f35d"; -} - -.fa-square-up-right { - --fa: "\f360"; -} - -.fa-external-link-square-alt { - --fa: "\f360"; -} - -.fa-arrows-retweet { - --fa: "\f361"; -} - -.fa-retweet-alt { - --fa: "\f361"; -} - -.fa-right-left { - --fa: "\f362"; -} - -.fa-exchange-alt { - --fa: "\f362"; -} - -.fa-repeat { - --fa: "\f363"; -} - -.fa-arrows-repeat { - --fa: "\f364"; -} - -.fa-repeat-alt { - --fa: "\f364"; -} - -.fa-repeat-1 { - --fa: "\f365"; -} - -.fa-arrows-repeat-1 { - --fa: "\f366"; -} - -.fa-repeat-1-alt { - --fa: "\f366"; -} - -.fa-share-all { - --fa: "\f367"; -} - -.fa-battery-bolt { - --fa: "\f376"; -} - -.fa-battery-slash { - --fa: "\f377"; -} - -.fa-browser { - --fa: "\f37e"; -} - -.fa-code-commit { - --fa: "\f386"; -} - -.fa-code-merge { - --fa: "\f387"; -} - -.fa-credit-card-blank { - --fa: "\f389"; -} - -.fa-credit-card-front { - --fa: "\f38a"; -} - -.fa-desktop { - --fa: "\f390"; -} - -.fa-desktop-alt { - --fa: "\f390"; -} - -.fa-ellipsis-stroke { - --fa: "\f39b"; -} - -.fa-ellipsis-h-alt { - --fa: "\f39b"; -} - -.fa-ellipsis-stroke-vertical { - --fa: "\f39c"; -} - -.fa-ellipsis-v-alt { - --fa: "\f39c"; -} - -.fa-gem { - --fa: "\f3a5"; -} - -.fa-industry-windows { - --fa: "\f3b3"; -} - -.fa-industry-alt { - --fa: "\f3b3"; -} - -.fa-turn-down { - --fa: "\f3be"; -} - -.fa-level-down-alt { - --fa: "\f3be"; -} - -.fa-turn-up { - --fa: "\f3bf"; -} - -.fa-level-up-alt { - --fa: "\f3bf"; -} - -.fa-lock-open { - --fa: "\f3c1"; -} - -.fa-lock-keyhole-open { - --fa: "\f3c2"; -} - -.fa-lock-open-alt { - --fa: "\f3c2"; -} - -.fa-location-dot { - --fa: "\f3c5"; -} - -.fa-map-marker-alt { - --fa: "\f3c5"; -} - -.fa-microphone-lines { - --fa: "\f3c9"; -} - -.fa-microphone-alt { - --fa: "\f3c9"; -} - -.fa-mobile-screen-button { - --fa: "\f3cd"; -} - -.fa-mobile-alt { - --fa: "\f3cd"; -} - -.fa-mobile { - --fa: "\f3ce"; -} - -.fa-mobile-android { - --fa: "\f3ce"; -} - -.fa-mobile-phone { - --fa: "\f3ce"; -} - -.fa-mobile-screen { - --fa: "\f3cf"; -} - -.fa-mobile-android-alt { - --fa: "\f3cf"; -} - -.fa-money-bill-1 { - --fa: "\f3d1"; -} - -.fa-money-bill-alt { - --fa: "\f3d1"; -} - -.fa-phone-slash { - --fa: "\f3dd"; -} - -.fa-plane-engines { - --fa: "\f3de"; -} - -.fa-plane-alt { - --fa: "\f3de"; -} - -.fa-image-portrait { - --fa: "\f3e0"; -} - -.fa-portrait { - --fa: "\f3e0"; -} - -.fa-reply { - --fa: "\f3e5"; -} - -.fa-mail-reply { - --fa: "\f3e5"; -} - -.fa-shield-halved { - --fa: "\f3ed"; -} - -.fa-shield-alt { - --fa: "\f3ed"; -} - -.fa-square-sliders { - --fa: "\f3f0"; -} - -.fa-sliders-h-square { - --fa: "\f3f0"; -} - -.fa-sliders-up { - --fa: "\f3f1"; -} - -.fa-sliders-v { - --fa: "\f3f1"; -} - -.fa-square-sliders-vertical { - --fa: "\f3f2"; -} - -.fa-sliders-v-square { - --fa: "\f3f2"; -} - -.fa-spinner-third { - --fa: "\f3f4"; -} - -.fa-tablet-screen-button { - --fa: "\f3fa"; -} - -.fa-tablet-alt { - --fa: "\f3fa"; -} - -.fa-tablet { - --fa: "\f3fb"; -} - -.fa-tablet-android { - --fa: "\f3fb"; -} - -.fa-tablet-screen { - --fa: "\f3fc"; -} - -.fa-tablet-android-alt { - --fa: "\f3fc"; -} - -.fa-ticket-simple { - --fa: "\f3ff"; -} - -.fa-ticket-alt { - --fa: "\f3ff"; -} - -.fa-tree-deciduous { - --fa: "\f400"; -} - -.fa-tree-alt { - --fa: "\f400"; -} - -.fa-tv-retro { - --fa: "\f401"; -} - -.fa-window { - --fa: "\f40e"; -} - -.fa-window-flip { - --fa: "\f40f"; -} - -.fa-window-alt { - --fa: "\f40f"; -} - -.fa-rectangle-xmark { - --fa: "\f410"; -} - -.fa-rectangle-times { - --fa: "\f410"; -} - -.fa-times-rectangle { - --fa: "\f410"; -} - -.fa-window-close { - --fa: "\f410"; -} - -.fa-down-left-and-up-right-to-center { - --fa: "\f422"; -} - -.fa-compress-alt { - --fa: "\f422"; -} - -.fa-up-right-and-down-left-from-center { - --fa: "\f424"; -} - -.fa-expand-alt { - --fa: "\f424"; -} - -.fa-baseball-bat-ball { - --fa: "\f432"; -} - -.fa-baseball { - --fa: "\f433"; -} - -.fa-baseball-ball { - --fa: "\f433"; -} - -.fa-basketball { - --fa: "\f434"; -} - -.fa-basketball-ball { - --fa: "\f434"; -} - -.fa-basketball-hoop { - --fa: "\f435"; -} - -.fa-bowling-ball { - --fa: "\f436"; -} - -.fa-bowling-pins { - --fa: "\f437"; -} - -.fa-boxing-glove { - --fa: "\f438"; -} - -.fa-glove-boxing { - --fa: "\f438"; -} - -.fa-chess { - --fa: "\f439"; -} - -.fa-chess-bishop { - --fa: "\f43a"; -} - -.fa-chess-bishop-piece { - --fa: "\f43b"; -} - -.fa-chess-bishop-alt { - --fa: "\f43b"; -} - -.fa-chess-board { - --fa: "\f43c"; -} - -.fa-chess-clock { - --fa: "\f43d"; -} - -.fa-chess-clock-flip { - --fa: "\f43e"; -} - -.fa-chess-clock-alt { - --fa: "\f43e"; -} - -.fa-chess-king { - --fa: "\f43f"; -} - -.fa-chess-king-piece { - --fa: "\f440"; -} - -.fa-chess-king-alt { - --fa: "\f440"; -} - -.fa-chess-knight { - --fa: "\f441"; -} - -.fa-chess-knight-piece { - --fa: "\f442"; -} - -.fa-chess-knight-alt { - --fa: "\f442"; -} - -.fa-chess-pawn { - --fa: "\f443"; -} - -.fa-chess-pawn-piece { - --fa: "\f444"; -} - -.fa-chess-pawn-alt { - --fa: "\f444"; -} - -.fa-chess-queen { - --fa: "\f445"; -} - -.fa-chess-queen-piece { - --fa: "\f446"; -} - -.fa-chess-queen-alt { - --fa: "\f446"; -} - -.fa-chess-rook { - --fa: "\f447"; -} - -.fa-chess-rook-piece { - --fa: "\f448"; -} - -.fa-chess-rook-alt { - --fa: "\f448"; -} - -.fa-cricket-bat-ball { - --fa: "\f449"; -} - -.fa-cricket { - --fa: "\f449"; -} - -.fa-curling-stone { - --fa: "\f44a"; -} - -.fa-curling { - --fa: "\f44a"; -} - -.fa-dumbbell { - --fa: "\f44b"; -} - -.fa-field-hockey-stick-ball { - --fa: "\f44c"; -} - -.fa-field-hockey { - --fa: "\f44c"; -} - -.fa-football { - --fa: "\f44e"; -} - -.fa-football-ball { - --fa: "\f44e"; -} - -.fa-football-helmet { - --fa: "\f44f"; -} - -.fa-golf-ball-tee { - --fa: "\f450"; -} - -.fa-golf-ball { - --fa: "\f450"; -} - -.fa-golf-club { - --fa: "\f451"; -} - -.fa-hockey-puck { - --fa: "\f453"; -} - -.fa-hockey-sticks { - --fa: "\f454"; -} - -.fa-luchador-mask { - --fa: "\f455"; -} - -.fa-luchador { - --fa: "\f455"; -} - -.fa-mask-luchador { - --fa: "\f455"; -} - -.fa-flag-pennant { - --fa: "\f456"; -} - -.fa-pennant { - --fa: "\f456"; -} - -.fa-broom-ball { - --fa: "\f458"; -} - -.fa-quidditch { - --fa: "\f458"; -} - -.fa-quidditch-broom-ball { - --fa: "\f458"; -} - -.fa-racquet { - --fa: "\f45a"; -} - -.fa-shuttlecock { - --fa: "\f45b"; -} - -.fa-square-full { - --fa: "\f45c"; -} - -.fa-table-tennis-paddle-ball { - --fa: "\f45d"; -} - -.fa-ping-pong-paddle-ball { - --fa: "\f45d"; -} - -.fa-table-tennis { - --fa: "\f45d"; -} - -.fa-tennis-ball { - --fa: "\f45e"; -} - -.fa-volleyball { - --fa: "\f45f"; -} - -.fa-volleyball-ball { - --fa: "\f45f"; -} - -.fa-whistle { - --fa: "\f460"; -} - -.fa-hand-dots { - --fa: "\f461"; -} - -.fa-allergies { - --fa: "\f461"; -} - -.fa-bandage { - --fa: "\f462"; -} - -.fa-band-aid { - --fa: "\f462"; -} - -.fa-rectangle-barcode { - --fa: "\f463"; -} - -.fa-barcode-alt { - --fa: "\f463"; -} - -.fa-barcode-read { - --fa: "\f464"; -} - -.fa-barcode-scan { - --fa: "\f465"; -} - -.fa-box { - --fa: "\f466"; -} - -.fa-box-check { - --fa: "\f467"; -} - -.fa-boxes-stacked { - --fa: "\f468"; -} - -.fa-boxes { - --fa: "\f468"; -} - -.fa-boxes-alt { - --fa: "\f468"; -} - -.fa-briefcase-medical { - --fa: "\f469"; -} - -.fa-fire-flame-simple { - --fa: "\f46a"; -} - -.fa-burn { - --fa: "\f46a"; -} - -.fa-capsules { - --fa: "\f46b"; -} - -.fa-clipboard-check { - --fa: "\f46c"; -} - -.fa-clipboard-list { - --fa: "\f46d"; -} - -.fa-conveyor-belt { - --fa: "\f46e"; -} - -.fa-conveyor-belt-boxes { - --fa: "\f46f"; -} - -.fa-conveyor-belt-alt { - --fa: "\f46f"; -} - -.fa-person-dots-from-line { - --fa: "\f470"; -} - -.fa-diagnoses { - --fa: "\f470"; -} - -.fa-dna { - --fa: "\f471"; -} - -.fa-dolly { - --fa: "\f472"; -} - -.fa-dolly-box { - --fa: "\f472"; -} - -.fa-dolly-empty { - --fa: "\f473"; -} - -.fa-cart-flatbed { - --fa: "\f474"; -} - -.fa-dolly-flatbed { - --fa: "\f474"; -} - -.fa-cart-flatbed-boxes { - --fa: "\f475"; -} - -.fa-dolly-flatbed-alt { - --fa: "\f475"; -} - -.fa-cart-flatbed-empty { - --fa: "\f476"; -} - -.fa-dolly-flatbed-empty { - --fa: "\f476"; -} - -.fa-file-medical { - --fa: "\f477"; -} - -.fa-file-waveform { - --fa: "\f478"; -} - -.fa-file-medical-alt { - --fa: "\f478"; -} - -.fa-kit-medical { - --fa: "\f479"; -} - -.fa-first-aid { - --fa: "\f479"; -} - -.fa-forklift { - --fa: "\f47a"; -} - -.fa-hand-holding-box { - --fa: "\f47b"; -} - -.fa-hands-holding-diamond { - --fa: "\f47c"; -} - -.fa-hand-receiving { - --fa: "\f47c"; -} - -.fa-circle-h { - --fa: "\f47e"; -} - -.fa-hospital-symbol { - --fa: "\f47e"; -} - -.fa-id-card-clip { - --fa: "\f47f"; -} - -.fa-id-card-alt { - --fa: "\f47f"; -} - -.fa-shelves { - --fa: "\f480"; -} - -.fa-inventory { - --fa: "\f480"; -} - -.fa-notes-medical { - --fa: "\f481"; -} - -.fa-pallet { - --fa: "\f482"; -} - -.fa-pallet-boxes { - --fa: "\f483"; -} - -.fa-palette-boxes { - --fa: "\f483"; -} - -.fa-pallet-alt { - --fa: "\f483"; -} - -.fa-pills { - --fa: "\f484"; -} - -.fa-prescription-bottle { - --fa: "\f485"; -} - -.fa-prescription-bottle-medical { - --fa: "\f486"; -} - -.fa-prescription-bottle-alt { - --fa: "\f486"; -} - -.fa-bed-pulse { - --fa: "\f487"; -} - -.fa-procedures { - --fa: "\f487"; -} - -.fa-scanner-gun { - --fa: "\f488"; -} - -.fa-scanner { - --fa: "\f488"; -} - -.fa-scanner-keyboard { - --fa: "\f489"; -} - -.fa-scanner-touchscreen { - --fa: "\f48a"; -} - -.fa-truck-fast { - --fa: "\f48b"; -} - -.fa-shipping-fast { - --fa: "\f48b"; -} - -.fa-truck-clock { - --fa: "\f48c"; -} - -.fa-shipping-timed { - --fa: "\f48c"; -} - -.fa-smoking { - --fa: "\f48d"; -} - -.fa-syringe { - --fa: "\f48e"; -} - -.fa-tablet-rugged { - --fa: "\f48f"; -} - -.fa-tablets { - --fa: "\f490"; -} - -.fa-thermometer { - --fa: "\f491"; -} - -.fa-vial { - --fa: "\f492"; -} - -.fa-vials { - --fa: "\f493"; -} - -.fa-warehouse { - --fa: "\f494"; -} - -.fa-warehouse-full { - --fa: "\f495"; -} - -.fa-warehouse-alt { - --fa: "\f495"; -} - -.fa-weight-scale { - --fa: "\f496"; -} - -.fa-weight { - --fa: "\f496"; -} - -.fa-x-ray { - --fa: "\f497"; -} - -.fa-blanket { - --fa: "\f498"; -} - -.fa-book-heart { - --fa: "\f499"; -} - -.fa-box-taped { - --fa: "\f49a"; -} - -.fa-box-alt { - --fa: "\f49a"; -} - -.fa-square-fragile { - --fa: "\f49b"; -} - -.fa-box-fragile { - --fa: "\f49b"; -} - -.fa-square-wine-glass-crack { - --fa: "\f49b"; -} - -.fa-box-open-full { - --fa: "\f49c"; -} - -.fa-box-full { - --fa: "\f49c"; -} - -.fa-box-heart { - --fa: "\f49d"; -} - -.fa-box-open { - --fa: "\f49e"; -} - -.fa-square-this-way-up { - --fa: "\f49f"; -} - -.fa-box-up { - --fa: "\f49f"; -} - -.fa-box-dollar { - --fa: "\f4a0"; -} - -.fa-box-usd { - --fa: "\f4a0"; -} - -.fa-message-check { - --fa: "\f4a2"; -} - -.fa-comment-alt-check { - --fa: "\f4a2"; -} - -.fa-message-dots { - --fa: "\f4a3"; -} - -.fa-comment-alt-dots { - --fa: "\f4a3"; -} - -.fa-messaging { - --fa: "\f4a3"; -} - -.fa-message-pen { - --fa: "\f4a4"; -} - -.fa-comment-alt-edit { - --fa: "\f4a4"; -} - -.fa-message-edit { - --fa: "\f4a4"; -} - -.fa-message-exclamation { - --fa: "\f4a5"; -} - -.fa-comment-alt-exclamation { - --fa: "\f4a5"; -} - -.fa-message-lines { - --fa: "\f4a6"; -} - -.fa-comment-alt-lines { - --fa: "\f4a6"; -} - -.fa-message-minus { - --fa: "\f4a7"; -} - -.fa-comment-alt-minus { - --fa: "\f4a7"; -} - -.fa-message-plus { - --fa: "\f4a8"; -} - -.fa-comment-alt-plus { - --fa: "\f4a8"; -} - -.fa-message-slash { - --fa: "\f4a9"; -} - -.fa-comment-alt-slash { - --fa: "\f4a9"; -} - -.fa-message-smile { - --fa: "\f4aa"; -} - -.fa-comment-alt-smile { - --fa: "\f4aa"; -} - -.fa-message-xmark { - --fa: "\f4ab"; -} - -.fa-comment-alt-times { - --fa: "\f4ab"; -} - -.fa-message-times { - --fa: "\f4ab"; -} - -.fa-comment-check { - --fa: "\f4ac"; -} - -.fa-comment-dots { - --fa: "\f4ad"; -} - -.fa-commenting { - --fa: "\f4ad"; -} - -.fa-comment-pen { - --fa: "\f4ae"; -} - -.fa-comment-edit { - --fa: "\f4ae"; -} - -.fa-comment-exclamation { - --fa: "\f4af"; -} - -.fa-comment-lines { - --fa: "\f4b0"; -} - -.fa-comment-minus { - --fa: "\f4b1"; -} - -.fa-comment-plus { - --fa: "\f4b2"; -} - -.fa-comment-slash { - --fa: "\f4b3"; -} - -.fa-comment-smile { - --fa: "\f4b4"; -} - -.fa-comment-xmark { - --fa: "\f4b5"; -} - -.fa-comment-times { - --fa: "\f4b5"; -} - -.fa-messages { - --fa: "\f4b6"; -} - -.fa-comments-alt { - --fa: "\f4b6"; -} - -.fa-container-storage { - --fa: "\f4b7"; -} - -.fa-couch { - --fa: "\f4b8"; -} - -.fa-circle-dollar-to-slot { - --fa: "\f4b9"; -} - -.fa-donate { - --fa: "\f4b9"; -} - -.fa-dove { - --fa: "\f4ba"; -} - -.fa-wine-glass-crack { - --fa: "\f4bb"; -} - -.fa-fragile { - --fa: "\f4bb"; -} - -.fa-hand-heart { - --fa: "\f4bc"; -} - -.fa-hand-holding { - --fa: "\f4bd"; -} - -.fa-hand-holding-heart { - --fa: "\f4be"; -} - -.fa-hand-holding-seedling { - --fa: "\f4bf"; -} - -.fa-hand-holding-dollar { - --fa: "\f4c0"; -} - -.fa-hand-holding-usd { - --fa: "\f4c0"; -} - -.fa-hand-holding-droplet { - --fa: "\f4c1"; -} - -.fa-hand-holding-water { - --fa: "\f4c1"; -} - -.fa-hands-holding { - --fa: "\f4c2"; -} - -.fa-hands-holding-heart { - --fa: "\f4c3"; -} - -.fa-hands-heart { - --fa: "\f4c3"; -} - -.fa-handshake-angle { - --fa: "\f4c4"; -} - -.fa-hands-helping { - --fa: "\f4c4"; -} - -.fa-hands-holding-dollar { - --fa: "\f4c5"; -} - -.fa-hands-usd { - --fa: "\f4c5"; -} - -.fa-circle-heart { - --fa: "\f4c7"; -} - -.fa-heart-circle { - --fa: "\f4c7"; -} - -.fa-square-heart { - --fa: "\f4c8"; -} - -.fa-heart-square { - --fa: "\f4c8"; -} - -.fa-house-heart { - --fa: "\f4c9"; -} - -.fa-home-heart { - --fa: "\f4c9"; -} - -.fa-lamp { - --fa: "\f4ca"; -} - -.fa-leaf-heart { - --fa: "\f4cb"; -} - -.fa-loveseat { - --fa: "\f4cc"; -} - -.fa-couch-small { - --fa: "\f4cc"; -} - -.fa-parachute-box { - --fa: "\f4cd"; -} - -.fa-people-carry-box { - --fa: "\f4ce"; -} - -.fa-people-carry { - --fa: "\f4ce"; -} - -.fa-person-carry-box { - --fa: "\f4cf"; -} - -.fa-person-carry { - --fa: "\f4cf"; -} - -.fa-person-dolly { - --fa: "\f4d0"; -} - -.fa-person-dolly-empty { - --fa: "\f4d1"; -} - -.fa-phone-plus { - --fa: "\f4d2"; -} - -.fa-piggy-bank { - --fa: "\f4d3"; -} - -.fa-ramp-loading { - --fa: "\f4d4"; -} - -.fa-ribbon { - --fa: "\f4d6"; -} - -.fa-route { - --fa: "\f4d7"; -} - -.fa-seedling { - --fa: "\f4d8"; -} - -.fa-sprout { - --fa: "\f4d8"; -} - -.fa-sign-hanging { - --fa: "\f4d9"; -} - -.fa-sign { - --fa: "\f4d9"; -} - -.fa-face-smile-wink { - --fa: "\f4da"; -} - -.fa-smile-wink { - --fa: "\f4da"; -} - -.fa-tape { - --fa: "\f4db"; -} - -.fa-truck-container { - --fa: "\f4dc"; -} - -.fa-truck-ramp-couch { - --fa: "\f4dd"; -} - -.fa-truck-couch { - --fa: "\f4dd"; -} - -.fa-truck-ramp-box { - --fa: "\f4de"; -} - -.fa-truck-loading { - --fa: "\f4de"; -} - -.fa-truck-moving { - --fa: "\f4df"; -} - -.fa-truck-ramp { - --fa: "\f4e0"; -} - -.fa-video-plus { - --fa: "\f4e1"; -} - -.fa-video-slash { - --fa: "\f4e2"; -} - -.fa-wine-glass { - --fa: "\f4e3"; -} - -.fa-user-astronaut { - --fa: "\f4fb"; -} - -.fa-user-check { - --fa: "\f4fc"; -} - -.fa-user-clock { - --fa: "\f4fd"; -} - -.fa-user-gear { - --fa: "\f4fe"; -} - -.fa-user-cog { - --fa: "\f4fe"; -} - -.fa-user-pen { - --fa: "\f4ff"; -} - -.fa-user-edit { - --fa: "\f4ff"; -} - -.fa-user-group { - --fa: "\f500"; -} - -.fa-user-friends { - --fa: "\f500"; -} - -.fa-user-graduate { - --fa: "\f501"; -} - -.fa-user-lock { - --fa: "\f502"; -} - -.fa-user-minus { - --fa: "\f503"; -} - -.fa-user-ninja { - --fa: "\f504"; -} - -.fa-user-shield { - --fa: "\f505"; -} - -.fa-user-slash { - --fa: "\f506"; -} - -.fa-user-alt-slash { - --fa: "\f506"; -} - -.fa-user-large-slash { - --fa: "\f506"; -} - -.fa-user-tag { - --fa: "\f507"; -} - -.fa-user-tie { - --fa: "\f508"; -} - -.fa-users-gear { - --fa: "\f509"; -} - -.fa-users-cog { - --fa: "\f509"; -} - -.fa-scale-unbalanced { - --fa: "\f515"; -} - -.fa-balance-scale-left { - --fa: "\f515"; -} - -.fa-scale-unbalanced-flip { - --fa: "\f516"; -} - -.fa-balance-scale-right { - --fa: "\f516"; -} - -.fa-blender { - --fa: "\f517"; -} - -.fa-book-open { - --fa: "\f518"; -} - -.fa-tower-broadcast { - --fa: "\f519"; -} - -.fa-broadcast-tower { - --fa: "\f519"; -} - -.fa-broom { - --fa: "\f51a"; -} - -.fa-chalkboard { - --fa: "\f51b"; -} - -.fa-blackboard { - --fa: "\f51b"; -} - -.fa-chalkboard-user { - --fa: "\f51c"; -} - -.fa-chalkboard-teacher { - --fa: "\f51c"; -} - -.fa-church { - --fa: "\f51d"; -} - -.fa-coins { - --fa: "\f51e"; -} - -.fa-compact-disc { - --fa: "\f51f"; -} - -.fa-crow { - --fa: "\f520"; -} - -.fa-crown { - --fa: "\f521"; -} - -.fa-dice { - --fa: "\f522"; -} - -.fa-dice-five { - --fa: "\f523"; -} - -.fa-dice-four { - --fa: "\f524"; -} - -.fa-dice-one { - --fa: "\f525"; -} - -.fa-dice-six { - --fa: "\f526"; -} - -.fa-dice-three { - --fa: "\f527"; -} - -.fa-dice-two { - --fa: "\f528"; -} - -.fa-divide { - --fa: "\f529"; -} - -.fa-door-closed { - --fa: "\f52a"; -} - -.fa-door-open { - --fa: "\f52b"; -} - -.fa-feather { - --fa: "\f52d"; -} - -.fa-frog { - --fa: "\f52e"; -} - -.fa-gas-pump { - --fa: "\f52f"; -} - -.fa-glasses { - --fa: "\f530"; -} - -.fa-greater-than-equal { - --fa: "\f532"; -} - -.fa-helicopter { - --fa: "\f533"; -} - -.fa-infinity { - --fa: "\f534"; -} - -.fa-kiwi-bird { - --fa: "\f535"; -} - -.fa-less-than-equal { - --fa: "\f537"; -} - -.fa-memory { - --fa: "\f538"; -} - -.fa-microphone-lines-slash { - --fa: "\f539"; -} - -.fa-microphone-alt-slash { - --fa: "\f539"; -} - -.fa-money-bill-wave { - --fa: "\f53a"; -} - -.fa-money-bill-1-wave { - --fa: "\f53b"; -} - -.fa-money-bill-wave-alt { - --fa: "\f53b"; -} - -.fa-money-check { - --fa: "\f53c"; -} - -.fa-money-check-dollar { - --fa: "\f53d"; -} - -.fa-money-check-alt { - --fa: "\f53d"; -} - -.fa-not-equal { - --fa: "\f53e"; -} - -.fa-palette { - --fa: "\f53f"; -} - -.fa-square-parking { - --fa: "\f540"; -} - -.fa-parking { - --fa: "\f540"; -} - -.fa-diagram-project { - --fa: "\f542"; -} - -.fa-project-diagram { - --fa: "\f542"; -} - -.fa-receipt { - --fa: "\f543"; -} - -.fa-robot { - --fa: "\f544"; -} - -.fa-ruler { - --fa: "\f545"; -} - -.fa-ruler-combined { - --fa: "\f546"; -} - -.fa-ruler-horizontal { - --fa: "\f547"; -} - -.fa-ruler-vertical { - --fa: "\f548"; -} - -.fa-school { - --fa: "\f549"; -} - -.fa-screwdriver { - --fa: "\f54a"; -} - -.fa-shoe-prints { - --fa: "\f54b"; -} - -.fa-skull { - --fa: "\f54c"; -} - -.fa-ban-smoking { - --fa: "\f54d"; -} - -.fa-smoking-ban { - --fa: "\f54d"; -} - -.fa-store { - --fa: "\f54e"; -} - -.fa-shop { - --fa: "\f54f"; -} - -.fa-store-alt { - --fa: "\f54f"; -} - -.fa-bars-staggered { - --fa: "\f550"; -} - -.fa-reorder { - --fa: "\f550"; -} - -.fa-stream { - --fa: "\f550"; -} - -.fa-stroopwafel { - --fa: "\f551"; -} - -.fa-toolbox { - --fa: "\f552"; -} - -.fa-shirt { - --fa: "\f553"; -} - -.fa-t-shirt { - --fa: "\f553"; -} - -.fa-tshirt { - --fa: "\f553"; -} - -.fa-person-walking { - --fa: "\f554"; -} - -.fa-walking { - --fa: "\f554"; -} - -.fa-wallet { - --fa: "\f555"; -} - -.fa-face-angry { - --fa: "\f556"; -} - -.fa-angry { - --fa: "\f556"; -} - -.fa-archway { - --fa: "\f557"; -} - -.fa-book-atlas { - --fa: "\f558"; -} - -.fa-atlas { - --fa: "\f558"; -} - -.fa-award { - --fa: "\f559"; -} - -.fa-delete-left { - --fa: "\f55a"; -} - -.fa-backspace { - --fa: "\f55a"; -} - -.fa-bezier-curve { - --fa: "\f55b"; -} - -.fa-bong { - --fa: "\f55c"; -} - -.fa-brush { - --fa: "\f55d"; -} - -.fa-bus-simple { - --fa: "\f55e"; -} - -.fa-bus-alt { - --fa: "\f55e"; -} - -.fa-cannabis { - --fa: "\f55f"; -} - -.fa-check-double { - --fa: "\f560"; -} - -.fa-martini-glass-citrus { - --fa: "\f561"; -} - -.fa-cocktail { - --fa: "\f561"; -} - -.fa-bell-concierge { - --fa: "\f562"; -} - -.fa-concierge-bell { - --fa: "\f562"; -} - -.fa-cookie { - --fa: "\f563"; -} - -.fa-cookie-bite { - --fa: "\f564"; -} - -.fa-crop-simple { - --fa: "\f565"; -} - -.fa-crop-alt { - --fa: "\f565"; -} - -.fa-tachograph-digital { - --fa: "\f566"; -} - -.fa-digital-tachograph { - --fa: "\f566"; -} - -.fa-face-dizzy { - --fa: "\f567"; -} - -.fa-dizzy { - --fa: "\f567"; -} - -.fa-compass-drafting { - --fa: "\f568"; -} - -.fa-drafting-compass { - --fa: "\f568"; -} - -.fa-drum { - --fa: "\f569"; -} - -.fa-drum-steelpan { - --fa: "\f56a"; -} - -.fa-feather-pointed { - --fa: "\f56b"; -} - -.fa-feather-alt { - --fa: "\f56b"; -} - -.fa-file-contract { - --fa: "\f56c"; -} - -.fa-file-arrow-down { - --fa: "\f56d"; -} - -.fa-file-download { - --fa: "\f56d"; -} - -.fa-file-export { - --fa: "\f56e"; -} - -.fa-arrow-right-from-file { - --fa: "\f56e"; -} - -.fa-file-import { - --fa: "\f56f"; -} - -.fa-arrow-right-to-file { - --fa: "\f56f"; -} - -.fa-file-invoice { - --fa: "\f570"; -} - -.fa-file-invoice-dollar { - --fa: "\f571"; -} - -.fa-file-prescription { - --fa: "\f572"; -} - -.fa-file-signature { - --fa: "\f573"; -} - -.fa-file-arrow-up { - --fa: "\f574"; -} - -.fa-file-upload { - --fa: "\f574"; -} - -.fa-fill { - --fa: "\f575"; -} - -.fa-fill-drip { - --fa: "\f576"; -} - -.fa-fingerprint { - --fa: "\f577"; -} - -.fa-fish { - --fa: "\f578"; -} - -.fa-face-flushed { - --fa: "\f579"; -} - -.fa-flushed { - --fa: "\f579"; -} - -.fa-face-frown-open { - --fa: "\f57a"; -} - -.fa-frown-open { - --fa: "\f57a"; -} - -.fa-martini-glass { - --fa: "\f57b"; -} - -.fa-glass-martini-alt { - --fa: "\f57b"; -} - -.fa-earth-africa { - --fa: "\f57c"; -} - -.fa-globe-africa { - --fa: "\f57c"; -} - -.fa-earth-americas { - --fa: "\f57d"; -} - -.fa-earth { - --fa: "\f57d"; -} - -.fa-earth-america { - --fa: "\f57d"; -} - -.fa-globe-americas { - --fa: "\f57d"; -} - -.fa-earth-asia { - --fa: "\f57e"; -} - -.fa-globe-asia { - --fa: "\f57e"; -} - -.fa-face-grimace { - --fa: "\f57f"; -} - -.fa-grimace { - --fa: "\f57f"; -} - -.fa-face-grin { - --fa: "\f580"; -} - -.fa-grin { - --fa: "\f580"; -} - -.fa-face-grin-wide { - --fa: "\f581"; -} - -.fa-grin-alt { - --fa: "\f581"; -} - -.fa-face-grin-beam { - --fa: "\f582"; -} - -.fa-grin-beam { - --fa: "\f582"; -} - -.fa-face-grin-beam-sweat { - --fa: "\f583"; -} - -.fa-grin-beam-sweat { - --fa: "\f583"; -} - -.fa-face-grin-hearts { - --fa: "\f584"; -} - -.fa-grin-hearts { - --fa: "\f584"; -} - -.fa-face-grin-squint { - --fa: "\f585"; -} - -.fa-grin-squint { - --fa: "\f585"; -} - -.fa-face-grin-squint-tears { - --fa: "\f586"; -} - -.fa-grin-squint-tears { - --fa: "\f586"; -} - -.fa-face-grin-stars { - --fa: "\f587"; -} - -.fa-grin-stars { - --fa: "\f587"; -} - -.fa-face-grin-tears { - --fa: "\f588"; -} - -.fa-grin-tears { - --fa: "\f588"; -} - -.fa-face-grin-tongue { - --fa: "\f589"; -} - -.fa-grin-tongue { - --fa: "\f589"; -} - -.fa-face-grin-tongue-squint { - --fa: "\f58a"; -} - -.fa-grin-tongue-squint { - --fa: "\f58a"; -} - -.fa-face-grin-tongue-wink { - --fa: "\f58b"; -} - -.fa-grin-tongue-wink { - --fa: "\f58b"; -} - -.fa-face-grin-wink { - --fa: "\f58c"; -} - -.fa-grin-wink { - --fa: "\f58c"; -} - -.fa-grip { - --fa: "\f58d"; -} - -.fa-grid-horizontal { - --fa: "\f58d"; -} - -.fa-grip-horizontal { - --fa: "\f58d"; -} - -.fa-grip-vertical { - --fa: "\f58e"; -} - -.fa-grid-vertical { - --fa: "\f58e"; -} - -.fa-headset { - --fa: "\f590"; -} - -.fa-highlighter { - --fa: "\f591"; -} - -.fa-hot-tub-person { - --fa: "\f593"; -} - -.fa-hot-tub { - --fa: "\f593"; -} - -.fa-hotel { - --fa: "\f594"; -} - -.fa-joint { - --fa: "\f595"; -} - -.fa-face-kiss { - --fa: "\f596"; -} - -.fa-kiss { - --fa: "\f596"; -} - -.fa-face-kiss-beam { - --fa: "\f597"; -} - -.fa-kiss-beam { - --fa: "\f597"; -} - -.fa-face-kiss-wink-heart { - --fa: "\f598"; -} - -.fa-kiss-wink-heart { - --fa: "\f598"; -} - -.fa-face-laugh { - --fa: "\f599"; -} - -.fa-laugh { - --fa: "\f599"; -} - -.fa-face-laugh-beam { - --fa: "\f59a"; -} - -.fa-laugh-beam { - --fa: "\f59a"; -} - -.fa-face-laugh-squint { - --fa: "\f59b"; -} - -.fa-laugh-squint { - --fa: "\f59b"; -} - -.fa-face-laugh-wink { - --fa: "\f59c"; -} - -.fa-laugh-wink { - --fa: "\f59c"; -} - -.fa-cart-flatbed-suitcase { - --fa: "\f59d"; -} - -.fa-luggage-cart { - --fa: "\f59d"; -} - -.fa-map-location { - --fa: "\f59f"; -} - -.fa-map-marked { - --fa: "\f59f"; -} - -.fa-map-location-dot { - --fa: "\f5a0"; -} - -.fa-map-marked-alt { - --fa: "\f5a0"; -} - -.fa-marker { - --fa: "\f5a1"; -} - -.fa-medal { - --fa: "\f5a2"; -} - -.fa-face-meh-blank { - --fa: "\f5a4"; -} - -.fa-meh-blank { - --fa: "\f5a4"; -} - -.fa-face-rolling-eyes { - --fa: "\f5a5"; -} - -.fa-meh-rolling-eyes { - --fa: "\f5a5"; -} - -.fa-monument { - --fa: "\f5a6"; -} - -.fa-mortar-pestle { - --fa: "\f5a7"; -} - -.fa-paintbrush-fine { - --fa: "\f5a9"; -} - -.fa-paint-brush-alt { - --fa: "\f5a9"; -} - -.fa-paint-brush-fine { - --fa: "\f5a9"; -} - -.fa-paintbrush-alt { - --fa: "\f5a9"; -} - -.fa-paint-roller { - --fa: "\f5aa"; -} - -.fa-passport { - --fa: "\f5ab"; -} - -.fa-pen-fancy { - --fa: "\f5ac"; -} - -.fa-pen-nib { - --fa: "\f5ad"; -} - -.fa-pen-ruler { - --fa: "\f5ae"; -} - -.fa-pencil-ruler { - --fa: "\f5ae"; -} - -.fa-plane-arrival { - --fa: "\f5af"; -} - -.fa-plane-departure { - --fa: "\f5b0"; -} - -.fa-prescription { - --fa: "\f5b1"; -} - -.fa-face-sad-cry { - --fa: "\f5b3"; -} - -.fa-sad-cry { - --fa: "\f5b3"; -} - -.fa-face-sad-tear { - --fa: "\f5b4"; -} - -.fa-sad-tear { - --fa: "\f5b4"; -} - -.fa-van-shuttle { - --fa: "\f5b6"; -} - -.fa-shuttle-van { - --fa: "\f5b6"; -} - -.fa-signature { - --fa: "\f5b7"; -} - -.fa-face-smile-beam { - --fa: "\f5b8"; -} - -.fa-smile-beam { - --fa: "\f5b8"; -} - -.fa-face-smile-plus { - --fa: "\f5b9"; -} - -.fa-smile-plus { - --fa: "\f5b9"; -} - -.fa-solar-panel { - --fa: "\f5ba"; -} - -.fa-spa { - --fa: "\f5bb"; -} - -.fa-splotch { - --fa: "\f5bc"; -} - -.fa-spray-can { - --fa: "\f5bd"; -} - -.fa-stamp { - --fa: "\f5bf"; -} - -.fa-star-half-stroke { - --fa: "\f5c0"; -} - -.fa-star-half-alt { - --fa: "\f5c0"; -} - -.fa-suitcase-rolling { - --fa: "\f5c1"; -} - -.fa-face-surprise { - --fa: "\f5c2"; -} - -.fa-surprise { - --fa: "\f5c2"; -} - -.fa-swatchbook { - --fa: "\f5c3"; -} - -.fa-person-swimming { - --fa: "\f5c4"; -} - -.fa-swimmer { - --fa: "\f5c4"; -} - -.fa-water-ladder { - --fa: "\f5c5"; -} - -.fa-ladder-water { - --fa: "\f5c5"; -} - -.fa-swimming-pool { - --fa: "\f5c5"; -} - -.fa-droplet-slash { - --fa: "\f5c7"; -} - -.fa-tint-slash { - --fa: "\f5c7"; -} - -.fa-face-tired { - --fa: "\f5c8"; -} - -.fa-tired { - --fa: "\f5c8"; -} - -.fa-tooth { - --fa: "\f5c9"; -} - -.fa-umbrella-beach { - --fa: "\f5ca"; -} - -.fa-weight-hanging { - --fa: "\f5cd"; -} - -.fa-wine-glass-empty { - --fa: "\f5ce"; -} - -.fa-wine-glass-alt { - --fa: "\f5ce"; -} - -.fa-spray-can-sparkles { - --fa: "\f5d0"; -} - -.fa-air-freshener { - --fa: "\f5d0"; -} - -.fa-apple-whole { - --fa: "\f5d1"; -} - -.fa-apple-alt { - --fa: "\f5d1"; -} - -.fa-atom { - --fa: "\f5d2"; -} - -.fa-atom-simple { - --fa: "\f5d3"; -} - -.fa-atom-alt { - --fa: "\f5d3"; -} - -.fa-backpack { - --fa: "\f5d4"; -} - -.fa-bell-school { - --fa: "\f5d5"; -} - -.fa-bell-school-slash { - --fa: "\f5d6"; -} - -.fa-bone { - --fa: "\f5d7"; -} - -.fa-bone-break { - --fa: "\f5d8"; -} - -.fa-book-blank { - --fa: "\f5d9"; -} - -.fa-book-alt { - --fa: "\f5d9"; -} - -.fa-book-open-reader { - --fa: "\f5da"; -} - -.fa-book-reader { - --fa: "\f5da"; -} - -.fa-books { - --fa: "\f5db"; -} - -.fa-brain { - --fa: "\f5dc"; -} - -.fa-bus-school { - --fa: "\f5dd"; -} - -.fa-car-rear { - --fa: "\f5de"; -} - -.fa-car-alt { - --fa: "\f5de"; -} - -.fa-car-battery { - --fa: "\f5df"; -} - -.fa-battery-car { - --fa: "\f5df"; -} - -.fa-car-bump { - --fa: "\f5e0"; -} - -.fa-car-burst { - --fa: "\f5e1"; -} - -.fa-car-crash { - --fa: "\f5e1"; -} - -.fa-car-garage { - --fa: "\f5e2"; -} - -.fa-car-wrench { - --fa: "\f5e3"; -} - -.fa-car-mechanic { - --fa: "\f5e3"; -} - -.fa-car-side { - --fa: "\f5e4"; -} - -.fa-car-tilt { - --fa: "\f5e5"; -} - -.fa-car-wash { - --fa: "\f5e6"; -} - -.fa-charging-station { - --fa: "\f5e7"; -} - -.fa-clipboard-prescription { - --fa: "\f5e8"; -} - -.fa-compass-slash { - --fa: "\f5e9"; -} - -.fa-diploma { - --fa: "\f5ea"; -} - -.fa-scroll-ribbon { - --fa: "\f5ea"; -} - -.fa-diamond-turn-right { - --fa: "\f5eb"; -} - -.fa-directions { - --fa: "\f5eb"; -} - -.fa-do-not-enter { - --fa: "\f5ec"; -} - -.fa-draw-circle { - --fa: "\f5ed"; -} - -.fa-vector-circle { - --fa: "\f5ed"; -} - -.fa-draw-polygon { - --fa: "\f5ee"; -} - -.fa-vector-polygon { - --fa: "\f5ee"; -} - -.fa-draw-square { - --fa: "\f5ef"; -} - -.fa-vector-square { - --fa: "\f5ef"; -} - -.fa-ear { - --fa: "\f5f0"; -} - -.fa-engine-warning { - --fa: "\f5f2"; -} - -.fa-engine-exclamation { - --fa: "\f5f2"; -} - -.fa-file-certificate { - --fa: "\f5f3"; -} - -.fa-file-award { - --fa: "\f5f3"; -} - -.fa-gas-pump-slash { - --fa: "\f5f4"; -} - -.fa-glasses-round { - --fa: "\f5f5"; -} - -.fa-glasses-alt { - --fa: "\f5f5"; -} - -.fa-globe-stand { - --fa: "\f5f6"; -} - -.fa-wave-pulse { - --fa: "\f5f8"; -} - -.fa-heart-rate { - --fa: "\f5f8"; -} - -.fa-inhaler { - --fa: "\f5f9"; -} - -.fa-kidneys { - --fa: "\f5fb"; -} - -.fa-laptop-code { - --fa: "\f5fc"; -} - -.fa-layer-group { - --fa: "\f5fd"; -} - -.fa-layer-minus { - --fa: "\f5fe"; -} - -.fa-layer-group-minus { - --fa: "\f5fe"; -} - -.fa-layer-plus { - --fa: "\f5ff"; -} - -.fa-layer-group-plus { - --fa: "\f5ff"; -} - -.fa-lips { - --fa: "\f600"; -} - -.fa-location-crosshairs { - --fa: "\f601"; -} - -.fa-location { - --fa: "\f601"; -} - -.fa-circle-location-arrow { - --fa: "\f602"; -} - -.fa-location-circle { - --fa: "\f602"; -} - -.fa-location-crosshairs-slash { - --fa: "\f603"; -} - -.fa-location-slash { - --fa: "\f603"; -} - -.fa-lungs { - --fa: "\f604"; -} - -.fa-location-dot-slash { - --fa: "\f605"; -} - -.fa-map-marker-alt-slash { - --fa: "\f605"; -} - -.fa-location-check { - --fa: "\f606"; -} - -.fa-map-marker-check { - --fa: "\f606"; -} - -.fa-location-pen { - --fa: "\f607"; -} - -.fa-map-marker-edit { - --fa: "\f607"; -} - -.fa-location-exclamation { - --fa: "\f608"; -} - -.fa-map-marker-exclamation { - --fa: "\f608"; -} - -.fa-location-minus { - --fa: "\f609"; -} - -.fa-map-marker-minus { - --fa: "\f609"; -} - -.fa-location-plus { - --fa: "\f60a"; -} - -.fa-map-marker-plus { - --fa: "\f60a"; -} - -.fa-location-question { - --fa: "\f60b"; -} - -.fa-map-marker-question { - --fa: "\f60b"; -} - -.fa-location-pin-slash { - --fa: "\f60c"; -} - -.fa-map-marker-slash { - --fa: "\f60c"; -} - -.fa-location-smile { - --fa: "\f60d"; -} - -.fa-map-marker-smile { - --fa: "\f60d"; -} - -.fa-location-xmark { - --fa: "\f60e"; -} - -.fa-map-marker-times { - --fa: "\f60e"; -} - -.fa-map-marker-xmark { - --fa: "\f60e"; -} - -.fa-microscope { - --fa: "\f610"; -} - -.fa-monitor-waveform { - --fa: "\f611"; -} - -.fa-monitor-heart-rate { - --fa: "\f611"; -} - -.fa-oil-can { - --fa: "\f613"; -} - -.fa-oil-temperature { - --fa: "\f614"; -} - -.fa-oil-temp { - --fa: "\f614"; -} - -.fa-circle-parking { - --fa: "\f615"; -} - -.fa-parking-circle { - --fa: "\f615"; -} - -.fa-ban-parking { - --fa: "\f616"; -} - -.fa-parking-circle-slash { - --fa: "\f616"; -} - -.fa-square-parking-slash { - --fa: "\f617"; -} - -.fa-parking-slash { - --fa: "\f617"; -} - -.fa-pen-paintbrush { - --fa: "\f618"; -} - -.fa-pencil-paintbrush { - --fa: "\f618"; -} - -.fa-poop { - --fa: "\f619"; -} - -.fa-route-highway { - --fa: "\f61a"; -} - -.fa-route-interstate { - --fa: "\f61b"; -} - -.fa-ruler-triangle { - --fa: "\f61c"; -} - -.fa-scalpel { - --fa: "\f61d"; -} - -.fa-scalpel-line-dashed { - --fa: "\f61e"; -} - -.fa-scalpel-path { - --fa: "\f61e"; -} - -.fa-shapes { - --fa: "\f61f"; -} - -.fa-triangle-circle-square { - --fa: "\f61f"; -} - -.fa-skeleton { - --fa: "\f620"; -} - -.fa-star-of-life { - --fa: "\f621"; -} - -.fa-steering-wheel { - --fa: "\f622"; -} - -.fa-stomach { - --fa: "\f623"; -} - -.fa-gauge { - --fa: "\f624"; -} - -.fa-dashboard { - --fa: "\f624"; -} - -.fa-gauge-med { - --fa: "\f624"; -} - -.fa-tachometer-alt-average { - --fa: "\f624"; -} - -.fa-gauge-high { - --fa: "\f625"; -} - -.fa-tachometer-alt { - --fa: "\f625"; -} - -.fa-tachometer-alt-fast { - --fa: "\f625"; -} - -.fa-gauge-max { - --fa: "\f626"; -} - -.fa-tachometer-alt-fastest { - --fa: "\f626"; -} - -.fa-gauge-low { - --fa: "\f627"; -} - -.fa-tachometer-alt-slow { - --fa: "\f627"; -} - -.fa-gauge-min { - --fa: "\f628"; -} - -.fa-tachometer-alt-slowest { - --fa: "\f628"; -} - -.fa-gauge-simple { - --fa: "\f629"; -} - -.fa-gauge-simple-med { - --fa: "\f629"; -} - -.fa-tachometer-average { - --fa: "\f629"; -} - -.fa-gauge-simple-high { - --fa: "\f62a"; -} - -.fa-tachometer { - --fa: "\f62a"; -} - -.fa-tachometer-fast { - --fa: "\f62a"; -} - -.fa-gauge-simple-max { - --fa: "\f62b"; -} - -.fa-tachometer-fastest { - --fa: "\f62b"; -} - -.fa-gauge-simple-low { - --fa: "\f62c"; -} - -.fa-tachometer-slow { - --fa: "\f62c"; -} - -.fa-gauge-simple-min { - --fa: "\f62d"; -} - -.fa-tachometer-slowest { - --fa: "\f62d"; -} - -.fa-teeth { - --fa: "\f62e"; -} - -.fa-teeth-open { - --fa: "\f62f"; -} - -.fa-masks-theater { - --fa: "\f630"; -} - -.fa-theater-masks { - --fa: "\f630"; -} - -.fa-tire { - --fa: "\f631"; -} - -.fa-tire-flat { - --fa: "\f632"; -} - -.fa-tire-pressure-warning { - --fa: "\f633"; -} - -.fa-tire-rugged { - --fa: "\f634"; -} - -.fa-toothbrush { - --fa: "\f635"; -} - -.fa-traffic-cone { - --fa: "\f636"; -} - -.fa-traffic-light { - --fa: "\f637"; -} - -.fa-traffic-light-go { - --fa: "\f638"; -} - -.fa-traffic-light-slow { - --fa: "\f639"; -} - -.fa-traffic-light-stop { - --fa: "\f63a"; -} - -.fa-truck-monster { - --fa: "\f63b"; -} - -.fa-truck-pickup { - --fa: "\f63c"; -} - -.fa-screen-users { - --fa: "\f63d"; -} - -.fa-users-class { - --fa: "\f63d"; -} - -.fa-watch-fitness { - --fa: "\f63e"; -} - -.fa-abacus { - --fa: "\f640"; -} - -.fa-rectangle-ad { - --fa: "\f641"; -} - -.fa-ad { - --fa: "\f641"; -} - -.fa-chart-mixed { - --fa: "\f643"; -} - -.fa-analytics { - --fa: "\f643"; -} - -.fa-ankh { - --fa: "\f644"; -} - -.fa-badge-dollar { - --fa: "\f645"; -} - -.fa-badge-percent { - --fa: "\f646"; -} - -.fa-book-bible { - --fa: "\f647"; -} - -.fa-bible { - --fa: "\f647"; -} - -.fa-bullseye-arrow { - --fa: "\f648"; -} - -.fa-bullseye-pointer { - --fa: "\f649"; -} - -.fa-business-time { - --fa: "\f64a"; -} - -.fa-briefcase-clock { - --fa: "\f64a"; -} - -.fa-cabinet-filing { - --fa: "\f64b"; -} - -.fa-calculator-simple { - --fa: "\f64c"; -} - -.fa-calculator-alt { - --fa: "\f64c"; -} - -.fa-chart-line-down { - --fa: "\f64d"; -} - -.fa-chart-pie-simple { - --fa: "\f64e"; -} - -.fa-chart-pie-alt { - --fa: "\f64e"; -} - -.fa-city { - --fa: "\f64f"; -} - -.fa-message-dollar { - --fa: "\f650"; -} - -.fa-comment-alt-dollar { - --fa: "\f650"; -} - -.fa-comment-dollar { - --fa: "\f651"; -} - -.fa-messages-dollar { - --fa: "\f652"; -} - -.fa-comments-alt-dollar { - --fa: "\f652"; -} - -.fa-comments-dollar { - --fa: "\f653"; -} - -.fa-cross { - --fa: "\f654"; -} - -.fa-dharmachakra { - --fa: "\f655"; -} - -.fa-empty-set { - --fa: "\f656"; -} - -.fa-envelope-open-dollar { - --fa: "\f657"; -} - -.fa-envelope-open-text { - --fa: "\f658"; -} - -.fa-file-chart-column { - --fa: "\f659"; -} - -.fa-file-chart-line { - --fa: "\f659"; -} - -.fa-file-chart-pie { - --fa: "\f65a"; -} - -.fa-file-spreadsheet { - --fa: "\f65b"; -} - -.fa-file-user { - --fa: "\f65c"; -} - -.fa-folder-minus { - --fa: "\f65d"; -} - -.fa-folder-plus { - --fa: "\f65e"; -} - -.fa-folder-xmark { - --fa: "\f65f"; -} - -.fa-folder-times { - --fa: "\f65f"; -} - -.fa-folders { - --fa: "\f660"; -} - -.fa-function { - --fa: "\f661"; -} - -.fa-filter-circle-dollar { - --fa: "\f662"; -} - -.fa-funnel-dollar { - --fa: "\f662"; -} - -.fa-gift-card { - --fa: "\f663"; -} - -.fa-gopuram { - --fa: "\f664"; -} - -.fa-hamsa { - --fa: "\f665"; -} - -.fa-bahai { - --fa: "\f666"; -} - -.fa-haykal { - --fa: "\f666"; -} - -.fa-integral { - --fa: "\f667"; -} - -.fa-intersection { - --fa: "\f668"; -} - -.fa-jedi { - --fa: "\f669"; -} - -.fa-book-journal-whills { - --fa: "\f66a"; -} - -.fa-journal-whills { - --fa: "\f66a"; -} - -.fa-kaaba { - --fa: "\f66b"; -} - -.fa-keynote { - --fa: "\f66c"; -} - -.fa-khanda { - --fa: "\f66d"; -} - -.fa-lambda { - --fa: "\f66e"; -} - -.fa-landmark { - --fa: "\f66f"; -} - -.fa-lightbulb-dollar { - --fa: "\f670"; -} - -.fa-lightbulb-exclamation { - --fa: "\f671"; -} - -.fa-lightbulb-on { - --fa: "\f672"; -} - -.fa-lightbulb-slash { - --fa: "\f673"; -} - -.fa-envelopes-bulk { - --fa: "\f674"; -} - -.fa-mail-bulk { - --fa: "\f674"; -} - -.fa-megaphone { - --fa: "\f675"; -} - -.fa-menorah { - --fa: "\f676"; -} - -.fa-brain-arrow-curved-right { - --fa: "\f677"; -} - -.fa-mind-share { - --fa: "\f677"; -} - -.fa-mosque { - --fa: "\f678"; -} - -.fa-om { - --fa: "\f679"; -} - -.fa-omega { - --fa: "\f67a"; -} - -.fa-spaghetti-monster-flying { - --fa: "\f67b"; -} - -.fa-pastafarianism { - --fa: "\f67b"; -} - -.fa-peace { - --fa: "\f67c"; -} - -.fa-phone-office { - --fa: "\f67d"; -} - -.fa-pi { - --fa: "\f67e"; -} - -.fa-place-of-worship { - --fa: "\f67f"; -} - -.fa-podium { - --fa: "\f680"; -} - -.fa-square-poll-vertical { - --fa: "\f681"; -} - -.fa-poll { - --fa: "\f681"; -} - -.fa-square-poll-horizontal { - --fa: "\f682"; -} - -.fa-poll-h { - --fa: "\f682"; -} - -.fa-person-praying { - --fa: "\f683"; -} - -.fa-pray { - --fa: "\f683"; -} - -.fa-hands-praying { - --fa: "\f684"; -} - -.fa-praying-hands { - --fa: "\f684"; -} - -.fa-presentation-screen { - --fa: "\f685"; -} - -.fa-presentation { - --fa: "\f685"; -} - -.fa-print-slash { - --fa: "\f686"; -} - -.fa-book-quran { - --fa: "\f687"; -} - -.fa-quran { - --fa: "\f687"; -} - -.fa-magnifying-glass-dollar { - --fa: "\f688"; -} - -.fa-search-dollar { - --fa: "\f688"; -} - -.fa-magnifying-glass-location { - --fa: "\f689"; -} - -.fa-search-location { - --fa: "\f689"; -} - -.fa-shredder { - --fa: "\f68a"; -} - -.fa-sigma { - --fa: "\f68b"; -} - -.fa-signal-weak { - --fa: "\f68c"; -} - -.fa-signal-1 { - --fa: "\f68c"; -} - -.fa-signal-fair { - --fa: "\f68d"; -} - -.fa-signal-2 { - --fa: "\f68d"; -} - -.fa-signal-good { - --fa: "\f68e"; -} - -.fa-signal-3 { - --fa: "\f68e"; -} - -.fa-signal-strong { - --fa: "\f68f"; -} - -.fa-signal-4 { - --fa: "\f68f"; -} - -.fa-signal-bars { - --fa: "\f690"; -} - -.fa-signal-alt { - --fa: "\f690"; -} - -.fa-signal-alt-4 { - --fa: "\f690"; -} - -.fa-signal-bars-strong { - --fa: "\f690"; -} - -.fa-signal-bars-weak { - --fa: "\f691"; -} - -.fa-signal-alt-1 { - --fa: "\f691"; -} - -.fa-signal-bars-fair { - --fa: "\f692"; -} - -.fa-signal-alt-2 { - --fa: "\f692"; -} - -.fa-signal-bars-good { - --fa: "\f693"; -} - -.fa-signal-alt-3 { - --fa: "\f693"; -} - -.fa-signal-bars-slash { - --fa: "\f694"; -} - -.fa-signal-alt-slash { - --fa: "\f694"; -} - -.fa-signal-slash { - --fa: "\f695"; -} - -.fa-socks { - --fa: "\f696"; -} - -.fa-square-root { - --fa: "\f697"; -} - -.fa-square-root-variable { - --fa: "\f698"; -} - -.fa-square-root-alt { - --fa: "\f698"; -} - -.fa-star-and-crescent { - --fa: "\f699"; -} - -.fa-star-of-david { - --fa: "\f69a"; -} - -.fa-synagogue { - --fa: "\f69b"; -} - -.fa-tally { - --fa: "\f69c"; -} - -.fa-tally-5 { - --fa: "\f69c"; -} - -.fa-theta { - --fa: "\f69e"; -} - -.fa-scroll-torah { - --fa: "\f6a0"; -} - -.fa-torah { - --fa: "\f6a0"; -} - -.fa-torii-gate { - --fa: "\f6a1"; -} - -.fa-union { - --fa: "\f6a2"; -} - -.fa-chart-user { - --fa: "\f6a3"; -} - -.fa-user-chart { - --fa: "\f6a3"; -} - -.fa-user-crown { - --fa: "\f6a4"; -} - -.fa-user-group-crown { - --fa: "\f6a5"; -} - -.fa-users-crown { - --fa: "\f6a5"; -} - -.fa-value-absolute { - --fa: "\f6a6"; -} - -.fa-vihara { - --fa: "\f6a7"; -} - -.fa-volume { - --fa: "\f6a8"; -} - -.fa-volume-medium { - --fa: "\f6a8"; -} - -.fa-volume-xmark { - --fa: "\f6a9"; -} - -.fa-volume-mute { - --fa: "\f6a9"; -} - -.fa-volume-times { - --fa: "\f6a9"; -} - -.fa-wifi-weak { - --fa: "\f6aa"; -} - -.fa-wifi-1 { - --fa: "\f6aa"; -} - -.fa-wifi-fair { - --fa: "\f6ab"; -} - -.fa-wifi-2 { - --fa: "\f6ab"; -} - -.fa-wifi-slash { - --fa: "\f6ac"; -} - -.fa-yin-yang { - --fa: "\f6ad"; -} - -.fa-acorn { - --fa: "\f6ae"; -} - -.fa-alicorn { - --fa: "\f6b0"; -} - -.fa-crate-apple { - --fa: "\f6b1"; -} - -.fa-apple-crate { - --fa: "\f6b1"; -} - -.fa-axe { - --fa: "\f6b2"; -} - -.fa-axe-battle { - --fa: "\f6b3"; -} - -.fa-badger-honey { - --fa: "\f6b4"; -} - -.fa-bat { - --fa: "\f6b5"; -} - -.fa-blender-phone { - --fa: "\f6b6"; -} - -.fa-book-skull { - --fa: "\f6b7"; -} - -.fa-book-dead { - --fa: "\f6b7"; -} - -.fa-book-sparkles { - --fa: "\f6b8"; -} - -.fa-book-spells { - --fa: "\f6b8"; -} - -.fa-bow-arrow { - --fa: "\f6b9"; -} - -.fa-campfire { - --fa: "\f6ba"; -} - -.fa-campground { - --fa: "\f6bb"; -} - -.fa-candle-holder { - --fa: "\f6bc"; -} - -.fa-candy-corn { - --fa: "\f6bd"; -} - -.fa-cat { - --fa: "\f6be"; -} - -.fa-cauldron { - --fa: "\f6bf"; -} - -.fa-chair { - --fa: "\f6c0"; -} - -.fa-chair-office { - --fa: "\f6c1"; -} - -.fa-claw-marks { - --fa: "\f6c2"; -} - -.fa-cloud-moon { - --fa: "\f6c3"; -} - -.fa-cloud-sun { - --fa: "\f6c4"; -} - -.fa-cup-togo { - --fa: "\f6c5"; -} - -.fa-coffee-togo { - --fa: "\f6c5"; -} - -.fa-coffin { - --fa: "\f6c6"; -} - -.fa-corn { - --fa: "\f6c7"; -} - -.fa-cow { - --fa: "\f6c8"; -} - -.fa-dagger { - --fa: "\f6cb"; -} - -.fa-dice-d10 { - --fa: "\f6cd"; -} - -.fa-dice-d12 { - --fa: "\f6ce"; -} - -.fa-dice-d20 { - --fa: "\f6cf"; -} - -.fa-dice-d4 { - --fa: "\f6d0"; -} - -.fa-dice-d6 { - --fa: "\f6d1"; -} - -.fa-dice-d8 { - --fa: "\f6d2"; -} - -.fa-dog { - --fa: "\f6d3"; -} - -.fa-dog-leashed { - --fa: "\f6d4"; -} - -.fa-dragon { - --fa: "\f6d5"; -} - -.fa-drumstick { - --fa: "\f6d6"; -} - -.fa-drumstick-bite { - --fa: "\f6d7"; -} - -.fa-duck { - --fa: "\f6d8"; -} - -.fa-dungeon { - --fa: "\f6d9"; -} - -.fa-elephant { - --fa: "\f6da"; -} - -.fa-eye-evil { - --fa: "\f6db"; -} - -.fa-file-csv { - --fa: "\f6dd"; -} - -.fa-hand-fist { - --fa: "\f6de"; -} - -.fa-fist-raised { - --fa: "\f6de"; -} - -.fa-fire-flame { - --fa: "\f6df"; -} - -.fa-flame { - --fa: "\f6df"; -} - -.fa-flask-round-poison { - --fa: "\f6e0"; -} - -.fa-flask-poison { - --fa: "\f6e0"; -} - -.fa-flask-round-potion { - --fa: "\f6e1"; -} - -.fa-flask-potion { - --fa: "\f6e1"; -} - -.fa-ghost { - --fa: "\f6e2"; -} - -.fa-hammer { - --fa: "\f6e3"; -} - -.fa-hammer-war { - --fa: "\f6e4"; -} - -.fa-hand-holding-magic { - --fa: "\f6e5"; -} - -.fa-hanukiah { - --fa: "\f6e6"; -} - -.fa-hat-witch { - --fa: "\f6e7"; -} - -.fa-hat-wizard { - --fa: "\f6e8"; -} - -.fa-head-side { - --fa: "\f6e9"; -} - -.fa-head-side-goggles { - --fa: "\f6ea"; -} - -.fa-head-vr { - --fa: "\f6ea"; -} - -.fa-helmet-battle { - --fa: "\f6eb"; -} - -.fa-person-hiking { - --fa: "\f6ec"; -} - -.fa-hiking { - --fa: "\f6ec"; -} - -.fa-hippo { - --fa: "\f6ed"; -} - -.fa-hockey-mask { - --fa: "\f6ee"; -} - -.fa-hood-cloak { - --fa: "\f6ef"; -} - -.fa-horse { - --fa: "\f6f0"; -} - -.fa-house-chimney-crack { - --fa: "\f6f1"; -} - -.fa-house-damage { - --fa: "\f6f1"; -} - -.fa-hryvnia-sign { - --fa: "\f6f2"; -} - -.fa-hryvnia { - --fa: "\f6f2"; -} - -.fa-key-skeleton { - --fa: "\f6f3"; -} - -.fa-kite { - --fa: "\f6f4"; -} - -.fa-knife-kitchen { - --fa: "\f6f5"; -} - -.fa-leaf-maple { - --fa: "\f6f6"; -} - -.fa-leaf-oak { - --fa: "\f6f7"; -} - -.fa-mace { - --fa: "\f6f8"; -} - -.fa-mandolin { - --fa: "\f6f9"; -} - -.fa-mask { - --fa: "\f6fa"; -} - -.fa-monkey { - --fa: "\f6fb"; -} - -.fa-mountain { - --fa: "\f6fc"; -} - -.fa-mountains { - --fa: "\f6fd"; -} - -.fa-narwhal { - --fa: "\f6fe"; -} - -.fa-network-wired { - --fa: "\f6ff"; -} - -.fa-otter { - --fa: "\f700"; -} - -.fa-paw-simple { - --fa: "\f701"; -} - -.fa-paw-alt { - --fa: "\f701"; -} - -.fa-paw-claws { - --fa: "\f702"; -} - -.fa-pegasus { - --fa: "\f703"; -} - -.fa-pie { - --fa: "\f705"; -} - -.fa-pig { - --fa: "\f706"; -} - -.fa-pumpkin { - --fa: "\f707"; -} - -.fa-rabbit { - --fa: "\f708"; -} - -.fa-rabbit-running { - --fa: "\f709"; -} - -.fa-rabbit-fast { - --fa: "\f709"; -} - -.fa-ram { - --fa: "\f70a"; -} - -.fa-ring { - --fa: "\f70b"; -} - -.fa-person-running { - --fa: "\f70c"; -} - -.fa-running { - --fa: "\f70c"; -} - -.fa-scarecrow { - --fa: "\f70d"; -} - -.fa-scroll { - --fa: "\f70e"; -} - -.fa-scroll-old { - --fa: "\f70f"; -} - -.fa-scythe { - --fa: "\f710"; -} - -.fa-sheep { - --fa: "\f711"; -} - -.fa-shield-cross { - --fa: "\f712"; -} - -.fa-shovel { - --fa: "\f713"; -} - -.fa-skull-crossbones { - --fa: "\f714"; -} - -.fa-slash { - --fa: "\f715"; -} - -.fa-snake { - --fa: "\f716"; -} - -.fa-spider { - --fa: "\f717"; -} - -.fa-spider-black-widow { - --fa: "\f718"; -} - -.fa-spider-web { - --fa: "\f719"; -} - -.fa-squirrel { - --fa: "\f71a"; -} - -.fa-staff { - --fa: "\f71b"; -} - -.fa-sword { - --fa: "\f71c"; -} - -.fa-swords { - --fa: "\f71d"; -} - -.fa-toilet-paper { - --fa: "\f71e"; -} - -.fa-toilet-paper-alt { - --fa: "\f71e"; -} - -.fa-toilet-paper-blank { - --fa: "\f71e"; -} - -.fa-tombstone { - --fa: "\f720"; -} - -.fa-tombstone-blank { - --fa: "\f721"; -} - -.fa-tombstone-alt { - --fa: "\f721"; -} - -.fa-tractor { - --fa: "\f722"; -} - -.fa-treasure-chest { - --fa: "\f723"; -} - -.fa-trees { - --fa: "\f724"; -} - -.fa-turkey { - --fa: "\f725"; -} - -.fa-turtle { - --fa: "\f726"; -} - -.fa-unicorn { - --fa: "\f727"; -} - -.fa-user-injured { - --fa: "\f728"; -} - -.fa-vr-cardboard { - --fa: "\f729"; -} - -.fa-wand { - --fa: "\f72a"; -} - -.fa-wand-sparkles { - --fa: "\f72b"; -} - -.fa-whale { - --fa: "\f72c"; -} - -.fa-wheat { - --fa: "\f72d"; -} - -.fa-wind { - --fa: "\f72e"; -} - -.fa-wine-bottle { - --fa: "\f72f"; -} - -.fa-ballot { - --fa: "\f732"; -} - -.fa-ballot-check { - --fa: "\f733"; -} - -.fa-booth-curtain { - --fa: "\f734"; -} - -.fa-box-ballot { - --fa: "\f735"; -} - -.fa-calendar-star { - --fa: "\f736"; -} - -.fa-clipboard-list-check { - --fa: "\f737"; -} - -.fa-cloud-drizzle { - --fa: "\f738"; -} - -.fa-cloud-hail { - --fa: "\f739"; -} - -.fa-cloud-hail-mixed { - --fa: "\f73a"; -} - -.fa-cloud-meatball { - --fa: "\f73b"; -} - -.fa-cloud-moon-rain { - --fa: "\f73c"; -} - -.fa-cloud-rain { - --fa: "\f73d"; -} - -.fa-cloud-rainbow { - --fa: "\f73e"; -} - -.fa-cloud-showers { - --fa: "\f73f"; -} - -.fa-cloud-showers-heavy { - --fa: "\f740"; -} - -.fa-cloud-sleet { - --fa: "\f741"; -} - -.fa-cloud-snow { - --fa: "\f742"; -} - -.fa-cloud-sun-rain { - --fa: "\f743"; -} - -.fa-clouds { - --fa: "\f744"; -} - -.fa-clouds-moon { - --fa: "\f745"; -} - -.fa-clouds-sun { - --fa: "\f746"; -} - -.fa-democrat { - --fa: "\f747"; -} - -.fa-droplet-degree { - --fa: "\f748"; -} - -.fa-dewpoint { - --fa: "\f748"; -} - -.fa-eclipse { - --fa: "\f749"; -} - -.fa-moon-over-sun { - --fa: "\f74a"; -} - -.fa-eclipse-alt { - --fa: "\f74a"; -} - -.fa-fire-smoke { - --fa: "\f74b"; -} - -.fa-flag-swallowtail { - --fa: "\f74c"; -} - -.fa-flag-alt { - --fa: "\f74c"; -} - -.fa-flag-usa { - --fa: "\f74d"; -} - -.fa-cloud-fog { - --fa: "\f74e"; -} - -.fa-fog { - --fa: "\f74e"; -} - -.fa-house-water { - --fa: "\f74f"; -} - -.fa-house-flood { - --fa: "\f74f"; -} - -.fa-droplet-percent { - --fa: "\f750"; -} - -.fa-humidity { - --fa: "\f750"; -} - -.fa-hurricane { - --fa: "\f751"; -} - -.fa-landmark-dome { - --fa: "\f752"; -} - -.fa-landmark-alt { - --fa: "\f752"; -} - -.fa-meteor { - --fa: "\f753"; -} - -.fa-moon-cloud { - --fa: "\f754"; -} - -.fa-moon-stars { - --fa: "\f755"; -} - -.fa-person-booth { - --fa: "\f756"; -} - -.fa-person-sign { - --fa: "\f757"; -} - -.fa-podium-star { - --fa: "\f758"; -} - -.fa-poll-people { - --fa: "\f759"; -} - -.fa-poo-storm { - --fa: "\f75a"; -} - -.fa-poo-bolt { - --fa: "\f75a"; -} - -.fa-rainbow { - --fa: "\f75b"; -} - -.fa-raindrops { - --fa: "\f75c"; -} - -.fa-republican { - --fa: "\f75e"; -} - -.fa-smog { - --fa: "\f75f"; -} - -.fa-smoke { - --fa: "\f760"; -} - -.fa-snow-blowing { - --fa: "\f761"; -} - -.fa-stars { - --fa: "\f762"; -} - -.fa-sun-cloud { - --fa: "\f763"; -} - -.fa-sun-dust { - --fa: "\f764"; -} - -.fa-sun-haze { - --fa: "\f765"; -} - -.fa-sunrise { - --fa: "\f766"; -} - -.fa-sunset { - --fa: "\f767"; -} - -.fa-temperature-snow { - --fa: "\f768"; -} - -.fa-temperature-frigid { - --fa: "\f768"; -} - -.fa-temperature-high { - --fa: "\f769"; -} - -.fa-temperature-sun { - --fa: "\f76a"; -} - -.fa-temperature-hot { - --fa: "\f76a"; -} - -.fa-temperature-low { - --fa: "\f76b"; -} - -.fa-cloud-bolt { - --fa: "\f76c"; -} - -.fa-thunderstorm { - --fa: "\f76c"; -} - -.fa-cloud-bolt-moon { - --fa: "\f76d"; -} - -.fa-thunderstorm-moon { - --fa: "\f76d"; -} - -.fa-cloud-bolt-sun { - --fa: "\f76e"; -} - -.fa-thunderstorm-sun { - --fa: "\f76e"; -} - -.fa-tornado { - --fa: "\f76f"; -} - -.fa-volcano { - --fa: "\f770"; -} - -.fa-xmark-to-slot { - --fa: "\f771"; -} - -.fa-times-to-slot { - --fa: "\f771"; -} - -.fa-vote-nay { - --fa: "\f771"; -} - -.fa-check-to-slot { - --fa: "\f772"; -} - -.fa-vote-yea { - --fa: "\f772"; -} - -.fa-water { - --fa: "\f773"; -} - -.fa-water-arrow-down { - --fa: "\f774"; -} - -.fa-water-lower { - --fa: "\f774"; -} - -.fa-water-arrow-up { - --fa: "\f775"; -} - -.fa-water-rise { - --fa: "\f775"; -} - -.fa-wind-warning { - --fa: "\f776"; -} - -.fa-wind-circle-exclamation { - --fa: "\f776"; -} - -.fa-windsock { - --fa: "\f777"; -} - -.fa-angel { - --fa: "\f779"; -} - -.fa-baby { - --fa: "\f77c"; -} - -.fa-baby-carriage { - --fa: "\f77d"; -} - -.fa-carriage-baby { - --fa: "\f77d"; -} - -.fa-ball-pile { - --fa: "\f77e"; -} - -.fa-bells { - --fa: "\f77f"; -} - -.fa-biohazard { - --fa: "\f780"; -} - -.fa-blog { - --fa: "\f781"; -} - -.fa-boot { - --fa: "\f782"; -} - -.fa-calendar-day { - --fa: "\f783"; -} - -.fa-calendar-week { - --fa: "\f784"; -} - -.fa-candy-cane { - --fa: "\f786"; -} - -.fa-carrot { - --fa: "\f787"; -} - -.fa-cash-register { - --fa: "\f788"; -} - -.fa-chart-network { - --fa: "\f78a"; -} - -.fa-chimney { - --fa: "\f78b"; -} - -.fa-minimize { - --fa: "\f78c"; -} - -.fa-compress-arrows-alt { - --fa: "\f78c"; -} - -.fa-deer { - --fa: "\f78e"; -} - -.fa-deer-rudolph { - --fa: "\f78f"; -} - -.fa-dreidel { - --fa: "\f792"; -} - -.fa-dumpster { - --fa: "\f793"; -} - -.fa-dumpster-fire { - --fa: "\f794"; -} - -.fa-ear-muffs { - --fa: "\f795"; -} - -.fa-ethernet { - --fa: "\f796"; -} - -.fa-fireplace { - --fa: "\f79a"; -} - -.fa-snowman-head { - --fa: "\f79b"; -} - -.fa-frosty-head { - --fa: "\f79b"; -} - -.fa-gifts { - --fa: "\f79c"; -} - -.fa-gingerbread-man { - --fa: "\f79d"; -} - -.fa-champagne-glass { - --fa: "\f79e"; -} - -.fa-glass-champagne { - --fa: "\f79e"; -} - -.fa-champagne-glasses { - --fa: "\f79f"; -} - -.fa-glass-cheers { - --fa: "\f79f"; -} - -.fa-whiskey-glass { - --fa: "\f7a0"; -} - -.fa-glass-whiskey { - --fa: "\f7a0"; -} - -.fa-whiskey-glass-ice { - --fa: "\f7a1"; -} - -.fa-glass-whiskey-rocks { - --fa: "\f7a1"; -} - -.fa-earth-europe { - --fa: "\f7a2"; -} - -.fa-globe-europe { - --fa: "\f7a2"; -} - -.fa-globe-snow { - --fa: "\f7a3"; -} - -.fa-grip-lines { - --fa: "\f7a4"; -} - -.fa-grip-lines-vertical { - --fa: "\f7a5"; -} - -.fa-guitar { - --fa: "\f7a6"; -} - -.fa-hat-santa { - --fa: "\f7a7"; -} - -.fa-hat-winter { - --fa: "\f7a8"; -} - -.fa-heart-crack { - --fa: "\f7a9"; -} - -.fa-heart-broken { - --fa: "\f7a9"; -} - -.fa-holly-berry { - --fa: "\f7aa"; -} - -.fa-horse-head { - --fa: "\f7ab"; -} - -.fa-ice-skate { - --fa: "\f7ac"; -} - -.fa-icicles { - --fa: "\f7ad"; -} - -.fa-igloo { - --fa: "\f7ae"; -} - -.fa-lights-holiday { - --fa: "\f7b2"; -} - -.fa-mistletoe { - --fa: "\f7b4"; -} - -.fa-mitten { - --fa: "\f7b5"; -} - -.fa-mug-hot { - --fa: "\f7b6"; -} - -.fa-mug-marshmallows { - --fa: "\f7b7"; -} - -.fa-ornament { - --fa: "\f7b8"; -} - -.fa-radiation { - --fa: "\f7b9"; -} - -.fa-circle-radiation { - --fa: "\f7ba"; -} - -.fa-radiation-alt { - --fa: "\f7ba"; -} - -.fa-restroom { - --fa: "\f7bd"; -} - -.fa-rv { - --fa: "\f7be"; -} - -.fa-satellite { - --fa: "\f7bf"; -} - -.fa-satellite-dish { - --fa: "\f7c0"; -} - -.fa-scarf { - --fa: "\f7c1"; -} - -.fa-sd-card { - --fa: "\f7c2"; -} - -.fa-shovel-snow { - --fa: "\f7c3"; -} - -.fa-sim-card { - --fa: "\f7c4"; -} - -.fa-person-skating { - --fa: "\f7c5"; -} - -.fa-skating { - --fa: "\f7c5"; -} - -.fa-person-ski-jumping { - --fa: "\f7c7"; -} - -.fa-ski-jump { - --fa: "\f7c7"; -} - -.fa-person-ski-lift { - --fa: "\f7c8"; -} - -.fa-ski-lift { - --fa: "\f7c8"; -} - -.fa-person-skiing { - --fa: "\f7c9"; -} - -.fa-skiing { - --fa: "\f7c9"; -} - -.fa-person-skiing-nordic { - --fa: "\f7ca"; -} - -.fa-skiing-nordic { - --fa: "\f7ca"; -} - -.fa-person-sledding { - --fa: "\f7cb"; -} - -.fa-sledding { - --fa: "\f7cb"; -} - -.fa-sleigh { - --fa: "\f7cc"; -} - -.fa-comment-sms { - --fa: "\f7cd"; -} - -.fa-sms { - --fa: "\f7cd"; -} - -.fa-person-snowboarding { - --fa: "\f7ce"; -} - -.fa-snowboarding { - --fa: "\f7ce"; -} - -.fa-snowflakes { - --fa: "\f7cf"; -} - -.fa-snowman { - --fa: "\f7d0"; -} - -.fa-person-snowmobiling { - --fa: "\f7d1"; -} - -.fa-snowmobile { - --fa: "\f7d1"; -} - -.fa-snowplow { - --fa: "\f7d2"; -} - -.fa-star-christmas { - --fa: "\f7d4"; -} - -.fa-stocking { - --fa: "\f7d5"; -} - -.fa-tenge-sign { - --fa: "\f7d7"; -} - -.fa-tenge { - --fa: "\f7d7"; -} - -.fa-toilet { - --fa: "\f7d8"; -} - -.fa-screwdriver-wrench { - --fa: "\f7d9"; -} - -.fa-tools { - --fa: "\f7d9"; -} - -.fa-cable-car { - --fa: "\f7da"; -} - -.fa-tram { - --fa: "\f7da"; -} - -.fa-tree-christmas { - --fa: "\f7db"; -} - -.fa-tree-decorated { - --fa: "\f7dc"; -} - -.fa-tree-large { - --fa: "\f7dd"; -} - -.fa-truck-plow { - --fa: "\f7de"; -} - -.fa-wreath { - --fa: "\f7e2"; -} - -.fa-fire-flame-curved { - --fa: "\f7e4"; -} - -.fa-fire-alt { - --fa: "\f7e4"; -} - -.fa-bacon { - --fa: "\f7e5"; -} - -.fa-book-medical { - --fa: "\f7e6"; -} - -.fa-book-user { - --fa: "\f7e7"; -} - -.fa-books-medical { - --fa: "\f7e8"; -} - -.fa-brackets-square { - --fa: "\f7e9"; -} - -.fa-brackets { - --fa: "\f7e9"; -} - -.fa-brackets-curly { - --fa: "\f7ea"; -} - -.fa-bread-loaf { - --fa: "\f7eb"; -} - -.fa-bread-slice { - --fa: "\f7ec"; -} - -.fa-burrito { - --fa: "\f7ed"; -} - -.fa-chart-scatter { - --fa: "\f7ee"; -} - -.fa-cheese { - --fa: "\f7ef"; -} - -.fa-cheese-swiss { - --fa: "\f7f0"; -} - -.fa-burger-cheese { - --fa: "\f7f1"; -} - -.fa-cheeseburger { - --fa: "\f7f1"; -} - -.fa-house-chimney-medical { - --fa: "\f7f2"; -} - -.fa-clinic-medical { - --fa: "\f7f2"; -} - -.fa-clipboard-user { - --fa: "\f7f3"; -} - -.fa-message-medical { - --fa: "\f7f4"; -} - -.fa-comment-alt-medical { - --fa: "\f7f4"; -} - -.fa-comment-medical { - --fa: "\f7f5"; -} - -.fa-croissant { - --fa: "\f7f6"; -} - -.fa-crutch { - --fa: "\f7f7"; -} - -.fa-crutches { - --fa: "\f7f8"; -} - -.fa-ban-bug { - --fa: "\f7f9"; -} - -.fa-debug { - --fa: "\f7f9"; -} - -.fa-disease { - --fa: "\f7fa"; -} - -.fa-egg { - --fa: "\f7fb"; -} - -.fa-egg-fried { - --fa: "\f7fc"; -} - -.fa-files-medical { - --fa: "\f7fd"; -} - -.fa-fish-cooked { - --fa: "\f7fe"; -} - -.fa-flower { - --fa: "\f7ff"; -} - -.fa-flower-daffodil { - --fa: "\f800"; -} - -.fa-flower-tulip { - --fa: "\f801"; -} - -.fa-folder-tree { - --fa: "\f802"; -} - -.fa-french-fries { - --fa: "\f803"; -} - -.fa-glass { - --fa: "\f804"; -} - -.fa-burger { - --fa: "\f805"; -} - -.fa-hamburger { - --fa: "\f805"; -} - -.fa-hand-middle-finger { - --fa: "\f806"; -} - -.fa-helmet-safety { - --fa: "\f807"; -} - -.fa-hard-hat { - --fa: "\f807"; -} - -.fa-hat-hard { - --fa: "\f807"; -} - -.fa-head-side-brain { - --fa: "\f808"; -} - -.fa-head-side-medical { - --fa: "\f809"; -} - -.fa-hospital-user { - --fa: "\f80d"; -} - -.fa-hospitals { - --fa: "\f80e"; -} - -.fa-hotdog { - --fa: "\f80f"; -} - -.fa-ice-cream { - --fa: "\f810"; -} - -.fa-island-tropical { - --fa: "\f811"; -} - -.fa-island-tree-palm { - --fa: "\f811"; -} - -.fa-laptop-medical { - --fa: "\f812"; -} - -.fa-mailbox { - --fa: "\f813"; -} - -.fa-meat { - --fa: "\f814"; -} - -.fa-pager { - --fa: "\f815"; -} - -.fa-pepper-hot { - --fa: "\f816"; -} - -.fa-pizza { - --fa: "\f817"; -} - -.fa-pizza-slice { - --fa: "\f818"; -} - -.fa-popcorn { - --fa: "\f819"; -} - -.fa-print-magnifying-glass { - --fa: "\f81a"; -} - -.fa-print-search { - --fa: "\f81a"; -} - -.fa-rings-wedding { - --fa: "\f81b"; -} - -.fa-sack { - --fa: "\f81c"; -} - -.fa-sack-dollar { - --fa: "\f81d"; -} - -.fa-salad { - --fa: "\f81e"; -} - -.fa-bowl-salad { - --fa: "\f81e"; -} - -.fa-sandwich { - --fa: "\f81f"; -} - -.fa-sausage { - --fa: "\f820"; -} - -.fa-shish-kebab { - --fa: "\f821"; -} - -.fa-sickle { - --fa: "\f822"; -} - -.fa-bowl-hot { - --fa: "\f823"; -} - -.fa-soup { - --fa: "\f823"; -} - -.fa-steak { - --fa: "\f824"; -} - -.fa-stretcher { - --fa: "\f825"; -} - -.fa-taco { - --fa: "\f826"; -} - -.fa-book-tanakh { - --fa: "\f827"; -} - -.fa-tanakh { - --fa: "\f827"; -} - -.fa-bars-progress { - --fa: "\f828"; -} - -.fa-tasks-alt { - --fa: "\f828"; -} - -.fa-trash-arrow-up { - --fa: "\f829"; -} - -.fa-trash-restore { - --fa: "\f829"; -} - -.fa-trash-can-arrow-up { - --fa: "\f82a"; -} - -.fa-trash-restore-alt { - --fa: "\f82a"; -} - -.fa-tree-palm { - --fa: "\f82b"; -} - -.fa-user-helmet-safety { - --fa: "\f82c"; -} - -.fa-user-construction { - --fa: "\f82c"; -} - -.fa-user-hard-hat { - --fa: "\f82c"; -} - -.fa-user-headset { - --fa: "\f82d"; -} - -.fa-user-doctor-message { - --fa: "\f82e"; -} - -.fa-user-md-chat { - --fa: "\f82e"; -} - -.fa-user-nurse { - --fa: "\f82f"; -} - -.fa-users-medical { - --fa: "\f830"; -} - -.fa-walker { - --fa: "\f831"; -} - -.fa-camera-web { - --fa: "\f832"; -} - -.fa-webcam { - --fa: "\f832"; -} - -.fa-camera-web-slash { - --fa: "\f833"; -} - -.fa-webcam-slash { - --fa: "\f833"; -} - -.fa-wave-square { - --fa: "\f83e"; -} - -.fa-alarm-exclamation { - --fa: "\f843"; -} - -.fa-alarm-plus { - --fa: "\f844"; -} - -.fa-alarm-snooze { - --fa: "\f845"; -} - -.fa-align-slash { - --fa: "\f846"; -} - -.fa-bags-shopping { - --fa: "\f847"; -} - -.fa-bell-exclamation { - --fa: "\f848"; -} - -.fa-bell-plus { - --fa: "\f849"; -} - -.fa-person-biking { - --fa: "\f84a"; -} - -.fa-biking { - --fa: "\f84a"; -} - -.fa-person-biking-mountain { - --fa: "\f84b"; -} - -.fa-biking-mountain { - --fa: "\f84b"; -} - -.fa-border-all { - --fa: "\f84c"; -} - -.fa-border-bottom { - --fa: "\f84d"; -} - -.fa-border-inner { - --fa: "\f84e"; -} - -.fa-border-left { - --fa: "\f84f"; -} - -.fa-border-none { - --fa: "\f850"; -} - -.fa-border-outer { - --fa: "\f851"; -} - -.fa-border-right { - --fa: "\f852"; -} - -.fa-border-top-left { - --fa: "\f853"; -} - -.fa-border-style { - --fa: "\f853"; -} - -.fa-border-bottom-right { - --fa: "\f854"; -} - -.fa-border-style-alt { - --fa: "\f854"; -} - -.fa-border-top { - --fa: "\f855"; -} - -.fa-bring-forward { - --fa: "\f856"; -} - -.fa-bring-front { - --fa: "\f857"; -} - -.fa-burger-soda { - --fa: "\f858"; -} - -.fa-car-building { - --fa: "\f859"; -} - -.fa-car-bus { - --fa: "\f85a"; -} - -.fa-cars { - --fa: "\f85b"; -} - -.fa-coin { - --fa: "\f85c"; -} - -.fa-triangle-person-digging { - --fa: "\f85d"; -} - -.fa-construction { - --fa: "\f85d"; -} - -.fa-person-digging { - --fa: "\f85e"; -} - -.fa-digging { - --fa: "\f85e"; -} - -.fa-drone { - --fa: "\f85f"; -} - -.fa-drone-front { - --fa: "\f860"; -} - -.fa-drone-alt { - --fa: "\f860"; -} - -.fa-dryer { - --fa: "\f861"; -} - -.fa-dryer-heat { - --fa: "\f862"; -} - -.fa-dryer-alt { - --fa: "\f862"; -} - -.fa-fan { - --fa: "\f863"; -} - -.fa-farm { - --fa: "\f864"; -} - -.fa-barn-silo { - --fa: "\f864"; -} - -.fa-file-magnifying-glass { - --fa: "\f865"; -} - -.fa-file-search { - --fa: "\f865"; -} - -.fa-font-case { - --fa: "\f866"; -} - -.fa-game-board { - --fa: "\f867"; -} - -.fa-game-board-simple { - --fa: "\f868"; -} - -.fa-game-board-alt { - --fa: "\f868"; -} - -.fa-glass-citrus { - --fa: "\f869"; -} - -.fa-h4 { - --fa: "\f86a"; -} - -.fa-hat-chef { - --fa: "\f86b"; -} - -.fa-horizontal-rule { - --fa: "\f86c"; -} - -.fa-icons { - --fa: "\f86d"; -} - -.fa-heart-music-camera-bolt { - --fa: "\f86d"; -} - -.fa-symbols { - --fa: "\f86e"; -} - -.fa-icons-alt { - --fa: "\f86e"; -} - -.fa-kerning { - --fa: "\f86f"; -} - -.fa-line-columns { - --fa: "\f870"; -} - -.fa-line-height { - --fa: "\f871"; -} - -.fa-money-check-pen { - --fa: "\f872"; -} - -.fa-money-check-edit { - --fa: "\f872"; -} - -.fa-money-check-dollar-pen { - --fa: "\f873"; -} - -.fa-money-check-edit-alt { - --fa: "\f873"; -} - -.fa-mug { - --fa: "\f874"; -} - -.fa-mug-tea { - --fa: "\f875"; -} - -.fa-overline { - --fa: "\f876"; -} - -.fa-file-dashed-line { - --fa: "\f877"; -} - -.fa-page-break { - --fa: "\f877"; -} - -.fa-paragraph-left { - --fa: "\f878"; -} - -.fa-paragraph-rtl { - --fa: "\f878"; -} - -.fa-phone-flip { - --fa: "\f879"; -} - -.fa-phone-alt { - --fa: "\f879"; -} - -.fa-laptop-mobile { - --fa: "\f87a"; -} - -.fa-phone-laptop { - --fa: "\f87a"; -} - -.fa-square-phone-flip { - --fa: "\f87b"; -} - -.fa-phone-square-alt { - --fa: "\f87b"; -} - -.fa-photo-film { - --fa: "\f87c"; -} - -.fa-photo-video { - --fa: "\f87c"; -} - -.fa-text-slash { - --fa: "\f87d"; -} - -.fa-remove-format { - --fa: "\f87d"; -} - -.fa-send-back { - --fa: "\f87e"; -} - -.fa-send-backward { - --fa: "\f87f"; -} - -.fa-snooze { - --fa: "\f880"; -} - -.fa-zzz { - --fa: "\f880"; -} - -.fa-arrow-down-z-a { - --fa: "\f881"; -} - -.fa-sort-alpha-desc { - --fa: "\f881"; -} - -.fa-sort-alpha-down-alt { - --fa: "\f881"; -} - -.fa-arrow-up-z-a { - --fa: "\f882"; -} - -.fa-sort-alpha-up-alt { - --fa: "\f882"; -} - -.fa-arrow-down-arrow-up { - --fa: "\f883"; -} - -.fa-sort-alt { - --fa: "\f883"; -} - -.fa-arrow-down-short-wide { - --fa: "\f884"; -} - -.fa-sort-amount-desc { - --fa: "\f884"; -} - -.fa-sort-amount-down-alt { - --fa: "\f884"; -} - -.fa-arrow-up-short-wide { - --fa: "\f885"; -} - -.fa-sort-amount-up-alt { - --fa: "\f885"; -} - -.fa-arrow-down-9-1 { - --fa: "\f886"; -} - -.fa-sort-numeric-desc { - --fa: "\f886"; -} - -.fa-sort-numeric-down-alt { - --fa: "\f886"; -} - -.fa-arrow-up-9-1 { - --fa: "\f887"; -} - -.fa-sort-numeric-up-alt { - --fa: "\f887"; -} - -.fa-arrow-down-triangle-square { - --fa: "\f888"; -} - -.fa-sort-shapes-down { - --fa: "\f888"; -} - -.fa-arrow-down-square-triangle { - --fa: "\f889"; -} - -.fa-sort-shapes-down-alt { - --fa: "\f889"; -} - -.fa-arrow-up-triangle-square { - --fa: "\f88a"; -} - -.fa-sort-shapes-up { - --fa: "\f88a"; -} - -.fa-arrow-up-square-triangle { - --fa: "\f88b"; -} - -.fa-sort-shapes-up-alt { - --fa: "\f88b"; -} - -.fa-arrow-down-big-small { - --fa: "\f88c"; -} - -.fa-sort-size-down { - --fa: "\f88c"; -} - -.fa-arrow-down-small-big { - --fa: "\f88d"; -} - -.fa-sort-size-down-alt { - --fa: "\f88d"; -} - -.fa-arrow-up-big-small { - --fa: "\f88e"; -} - -.fa-sort-size-up { - --fa: "\f88e"; -} - -.fa-arrow-up-small-big { - --fa: "\f88f"; -} - -.fa-sort-size-up-alt { - --fa: "\f88f"; -} - -.fa-sparkles { - --fa: "\f890"; -} - -.fa-spell-check { - --fa: "\f891"; -} - -.fa-sunglasses { - --fa: "\f892"; -} - -.fa-text { - --fa: "\f893"; -} - -.fa-text-size { - --fa: "\f894"; -} - -.fa-trash-undo { - --fa: "\f895"; -} - -.fa-trash-arrow-turn-left { - --fa: "\f895"; -} - -.fa-trash-can-undo { - --fa: "\f896"; -} - -.fa-trash-can-arrow-turn-left { - --fa: "\f896"; -} - -.fa-trash-undo-alt { - --fa: "\f896"; -} - -.fa-voicemail { - --fa: "\f897"; -} - -.fa-washing-machine { - --fa: "\f898"; -} - -.fa-washer { - --fa: "\f898"; -} - -.fa-wave-sine { - --fa: "\f899"; -} - -.fa-wave-triangle { - --fa: "\f89a"; -} - -.fa-wind-turbine { - --fa: "\f89b"; -} - -.fa-border-center-h { - --fa: "\f89c"; -} - -.fa-border-center-v { - --fa: "\f89d"; -} - -.fa-album { - --fa: "\f89f"; -} - -.fa-album-collection { - --fa: "\f8a0"; -} - -.fa-amp-guitar { - --fa: "\f8a1"; -} - -.fa-badge-sheriff { - --fa: "\f8a2"; -} - -.fa-banjo { - --fa: "\f8a3"; -} - -.fa-cassette-betamax { - --fa: "\f8a4"; -} - -.fa-betamax { - --fa: "\f8a4"; -} - -.fa-boombox { - --fa: "\f8a5"; -} - -.fa-cactus { - --fa: "\f8a7"; -} - -.fa-camcorder { - --fa: "\f8a8"; -} - -.fa-video-handheld { - --fa: "\f8a8"; -} - -.fa-camera-movie { - --fa: "\f8a9"; -} - -.fa-camera-polaroid { - --fa: "\f8aa"; -} - -.fa-cassette-tape { - --fa: "\f8ab"; -} - -.fa-camera-cctv { - --fa: "\f8ac"; -} - -.fa-cctv { - --fa: "\f8ac"; -} - -.fa-clarinet { - --fa: "\f8ad"; -} - -.fa-cloud-music { - --fa: "\f8ae"; -} - -.fa-message-music { - --fa: "\f8af"; -} - -.fa-comment-alt-music { - --fa: "\f8af"; -} - -.fa-comment-music { - --fa: "\f8b0"; -} - -.fa-computer-classic { - --fa: "\f8b1"; -} - -.fa-computer-speaker { - --fa: "\f8b2"; -} - -.fa-cowbell { - --fa: "\f8b3"; -} - -.fa-cowbell-circle-plus { - --fa: "\f8b4"; -} - -.fa-cowbell-more { - --fa: "\f8b4"; -} - -.fa-disc-drive { - --fa: "\f8b5"; -} - -.fa-file-music { - --fa: "\f8b6"; -} - -.fa-film-canister { - --fa: "\f8b7"; -} - -.fa-film-cannister { - --fa: "\f8b7"; -} - -.fa-flashlight { - --fa: "\f8b8"; -} - -.fa-flute { - --fa: "\f8b9"; -} - -.fa-flux-capacitor { - --fa: "\f8ba"; -} - -.fa-game-console-handheld { - --fa: "\f8bb"; -} - -.fa-gramophone { - --fa: "\f8bd"; -} - -.fa-guitar-electric { - --fa: "\f8be"; -} - -.fa-guitars { - --fa: "\f8bf"; -} - -.fa-hat-cowboy { - --fa: "\f8c0"; -} - -.fa-hat-cowboy-side { - --fa: "\f8c1"; -} - -.fa-head-side-headphones { - --fa: "\f8c2"; -} - -.fa-horse-saddle { - --fa: "\f8c3"; -} - -.fa-image-polaroid { - --fa: "\f8c4"; -} - -.fa-joystick { - --fa: "\f8c5"; -} - -.fa-jug { - --fa: "\f8c6"; -} - -.fa-kazoo { - --fa: "\f8c7"; -} - -.fa-lasso { - --fa: "\f8c8"; -} - -.fa-list-music { - --fa: "\f8c9"; -} - -.fa-microphone-stand { - --fa: "\f8cb"; -} - -.fa-computer-mouse { - --fa: "\f8cc"; -} - -.fa-mouse { - --fa: "\f8cc"; -} - -.fa-computer-mouse-scrollwheel { - --fa: "\f8cd"; -} - -.fa-mouse-alt { - --fa: "\f8cd"; -} - -.fa-mp3-player { - --fa: "\f8ce"; -} - -.fa-music-note { - --fa: "\f8cf"; -} - -.fa-music-alt { - --fa: "\f8cf"; -} - -.fa-music-note-slash { - --fa: "\f8d0"; -} - -.fa-music-alt-slash { - --fa: "\f8d0"; -} - -.fa-music-slash { - --fa: "\f8d1"; -} - -.fa-phone-rotary { - --fa: "\f8d3"; -} - -.fa-piano { - --fa: "\f8d4"; -} - -.fa-piano-keyboard { - --fa: "\f8d5"; -} - -.fa-projector { - --fa: "\f8d6"; -} - -.fa-radio { - --fa: "\f8d7"; -} - -.fa-radio-tuner { - --fa: "\f8d8"; -} - -.fa-radio-alt { - --fa: "\f8d8"; -} - -.fa-record-vinyl { - --fa: "\f8d9"; -} - -.fa-router { - --fa: "\f8da"; -} - -.fa-saxophone-fire { - --fa: "\f8db"; -} - -.fa-sax-hot { - --fa: "\f8db"; -} - -.fa-saxophone { - --fa: "\f8dc"; -} - -.fa-signal-stream { - --fa: "\f8dd"; -} - -.fa-skull-cow { - --fa: "\f8de"; -} - -.fa-speaker { - --fa: "\f8df"; -} - -.fa-speakers { - --fa: "\f8e0"; -} - -.fa-triangle-instrument { - --fa: "\f8e2"; -} - -.fa-triangle-music { - --fa: "\f8e2"; -} - -.fa-trumpet { - --fa: "\f8e3"; -} - -.fa-turntable { - --fa: "\f8e4"; -} - -.fa-tv-music { - --fa: "\f8e6"; -} - -.fa-typewriter { - --fa: "\f8e7"; -} - -.fa-usb-drive { - --fa: "\f8e9"; -} - -.fa-user-cowboy { - --fa: "\f8ea"; -} - -.fa-user-music { - --fa: "\f8eb"; -} - -.fa-cassette-vhs { - --fa: "\f8ec"; -} - -.fa-vhs { - --fa: "\f8ec"; -} - -.fa-violin { - --fa: "\f8ed"; -} - -.fa-wagon-covered { - --fa: "\f8ee"; -} - -.fa-walkie-talkie { - --fa: "\f8ef"; -} - -.fa-watch-calculator { - --fa: "\f8f0"; -} - -.fa-waveform { - --fa: "\f8f1"; -} - -.fa-waveform-lines { - --fa: "\f8f2"; -} - -.fa-waveform-path { - --fa: "\f8f2"; -} - -.fa-scanner-image { - --fa: "\f8f3"; -} - -.fa-air-conditioner { - --fa: "\f8f4"; -} - -.fa-alien { - --fa: "\f8f5"; -} - -.fa-alien-8bit { - --fa: "\f8f6"; -} - -.fa-alien-monster { - --fa: "\f8f6"; -} - -.fa-bed-front { - --fa: "\f8f7"; -} - -.fa-bed-alt { - --fa: "\f8f7"; -} - -.fa-bed-bunk { - --fa: "\f8f8"; -} - -.fa-bed-empty { - --fa: "\f8f9"; -} - -.fa-bell-on { - --fa: "\f8fa"; -} - -.fa-blinds { - --fa: "\f8fb"; -} - -.fa-blinds-open { - --fa: "\f8fc"; -} - -.fa-blinds-raised { - --fa: "\f8fd"; -} - -.fa-camera-security { - --fa: "\f8fe"; -} - -.fa-camera-home { - --fa: "\f8fe"; -} - -.fa-caravan { - --fa: "\f8ff"; -} -:root, :host { - --fa-family-brands: "Font Awesome 7 Brands"; - --fa-font-brands: normal 400 1em/1 var(--fa-family-brands); -} - -@font-face { - font-family: "Font Awesome 7 Brands"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-brands-400.woff2"); -} -.fab, -.fa-brands, -.fa-classic.fa-brands { - --fa-family: var(--fa-family-brands); - --fa-style: 400; -} - -.fa-firefox-browser { - --fa: "\e007"; -} - -.fa-ideal { - --fa: "\e013"; -} - -.fa-microblog { - --fa: "\e01a"; -} - -.fa-square-pied-piper { - --fa: "\e01e"; -} - -.fa-pied-piper-square { - --fa: "\e01e"; -} - -.fa-unity { - --fa: "\e049"; -} - -.fa-dailymotion { - --fa: "\e052"; -} - -.fa-square-instagram { - --fa: "\e055"; -} - -.fa-instagram-square { - --fa: "\e055"; -} - -.fa-mixer { - --fa: "\e056"; -} - -.fa-shopify { - --fa: "\e057"; -} - -.fa-deezer { - --fa: "\e077"; -} - -.fa-edge-legacy { - --fa: "\e078"; -} - -.fa-google-pay { - --fa: "\e079"; -} - -.fa-rust { - --fa: "\e07a"; -} - -.fa-tiktok { - --fa: "\e07b"; -} - -.fa-unsplash { - --fa: "\e07c"; -} - -.fa-cloudflare { - --fa: "\e07d"; -} - -.fa-guilded { - --fa: "\e07e"; -} - -.fa-hive { - --fa: "\e07f"; -} - -.fa-42-group { - --fa: "\e080"; -} - -.fa-innosoft { - --fa: "\e080"; -} - -.fa-instalod { - --fa: "\e081"; -} - -.fa-octopus-deploy { - --fa: "\e082"; -} - -.fa-perbyte { - --fa: "\e083"; -} - -.fa-uncharted { - --fa: "\e084"; -} - -.fa-watchman-monitoring { - --fa: "\e087"; -} - -.fa-wodu { - --fa: "\e088"; -} - -.fa-wirsindhandwerk { - --fa: "\e2d0"; -} - -.fa-wsh { - --fa: "\e2d0"; -} - -.fa-bots { - --fa: "\e340"; -} - -.fa-cmplid { - --fa: "\e360"; -} - -.fa-bilibili { - --fa: "\e3d9"; -} - -.fa-golang { - --fa: "\e40f"; -} - -.fa-pix { - --fa: "\e43a"; -} - -.fa-sitrox { - --fa: "\e44a"; -} - -.fa-hashnode { - --fa: "\e499"; -} - -.fa-meta { - --fa: "\e49b"; -} - -.fa-padlet { - --fa: "\e4a0"; -} - -.fa-nfc-directional { - --fa: "\e530"; -} - -.fa-nfc-symbol { - --fa: "\e531"; -} - -.fa-screenpal { - --fa: "\e570"; -} - -.fa-space-awesome { - --fa: "\e5ac"; -} - -.fa-square-font-awesome { - --fa: "\e5ad"; -} - -.fa-square-gitlab { - --fa: "\e5ae"; -} - -.fa-gitlab-square { - --fa: "\e5ae"; -} - -.fa-odysee { - --fa: "\e5c6"; -} - -.fa-stubber { - --fa: "\e5c7"; -} - -.fa-debian { - --fa: "\e60b"; -} - -.fa-shoelace { - --fa: "\e60c"; -} - -.fa-threads { - --fa: "\e618"; -} - -.fa-square-threads { - --fa: "\e619"; -} - -.fa-square-x-twitter { - --fa: "\e61a"; -} - -.fa-x-twitter { - --fa: "\e61b"; -} - -.fa-opensuse { - --fa: "\e62b"; -} - -.fa-letterboxd { - --fa: "\e62d"; -} - -.fa-square-letterboxd { - --fa: "\e62e"; -} - -.fa-mintbit { - --fa: "\e62f"; -} - -.fa-google-scholar { - --fa: "\e63b"; -} - -.fa-brave { - --fa: "\e63c"; -} - -.fa-brave-reverse { - --fa: "\e63d"; -} - -.fa-pixiv { - --fa: "\e640"; -} - -.fa-upwork { - --fa: "\e641"; -} - -.fa-webflow { - --fa: "\e65c"; -} - -.fa-signal-messenger { - --fa: "\e663"; -} - -.fa-bluesky { - --fa: "\e671"; -} - -.fa-jxl { - --fa: "\e67b"; -} - -.fa-square-upwork { - --fa: "\e67c"; -} - -.fa-web-awesome { - --fa: "\e682"; -} - -.fa-square-web-awesome { - --fa: "\e683"; -} - -.fa-square-web-awesome-stroke { - --fa: "\e684"; -} - -.fa-dart-lang { - --fa: "\e693"; -} - -.fa-flutter { - --fa: "\e694"; -} - -.fa-files-pinwheel { - --fa: "\e69f"; -} - -.fa-css { - --fa: "\e6a2"; -} - -.fa-square-bluesky { - --fa: "\e6a3"; -} - -.fa-openai { - --fa: "\e7cf"; -} - -.fa-square-linkedin { - --fa: "\e7d0"; -} - -.fa-cash-app { - --fa: "\e7d4"; -} - -.fa-disqus { - --fa: "\e7d5"; -} - -.fa-eleventy { - --fa: "\e7d6"; -} - -.fa-11ty { - --fa: "\e7d6"; -} - -.fa-kakao-talk { - --fa: "\e7d7"; -} - -.fa-linktree { - --fa: "\e7d8"; -} - -.fa-notion { - --fa: "\e7d9"; -} - -.fa-pandora { - --fa: "\e7da"; -} - -.fa-pixelfed { - --fa: "\e7db"; -} - -.fa-tidal { - --fa: "\e7dc"; -} - -.fa-vsco { - --fa: "\e7dd"; -} - -.fa-w3c { - --fa: "\e7de"; -} - -.fa-lumon { - --fa: "\e7e2"; -} - -.fa-lumon-drop { - --fa: "\e7e3"; -} - -.fa-square-figma { - --fa: "\e7e4"; -} - -.fa-tex { - --fa: "\e7ff"; -} - -.fa-duolingo { - --fa: "\e812"; -} - -.fa-supportnow { - --fa: "\e833"; -} - -.fa-tor-browser { - --fa: "\e838"; -} - -.fa-square-twitter { - --fa: "\f081"; -} - -.fa-twitter-square { - --fa: "\f081"; -} - -.fa-square-facebook { - --fa: "\f082"; -} - -.fa-facebook-square { - --fa: "\f082"; -} - -.fa-linkedin { - --fa: "\f08c"; -} - -.fa-square-github { - --fa: "\f092"; -} - -.fa-github-square { - --fa: "\f092"; -} - -.fa-twitter { - --fa: "\f099"; -} - -.fa-facebook { - --fa: "\f09a"; -} - -.fa-github { - --fa: "\f09b"; -} - -.fa-pinterest { - --fa: "\f0d2"; -} - -.fa-square-pinterest { - --fa: "\f0d3"; -} - -.fa-pinterest-square { - --fa: "\f0d3"; -} - -.fa-square-google-plus { - --fa: "\f0d4"; -} - -.fa-google-plus-square { - --fa: "\f0d4"; -} - -.fa-google-plus-g { - --fa: "\f0d5"; -} - -.fa-linkedin-in { - --fa: "\f0e1"; -} - -.fa-github-alt { - --fa: "\f113"; -} - -.fa-maxcdn { - --fa: "\f136"; -} - -.fa-html5 { - --fa: "\f13b"; -} - -.fa-css3 { - --fa: "\f13c"; -} - -.fa-btc { - --fa: "\f15a"; -} - -.fa-youtube { - --fa: "\f167"; -} - -.fa-xing { - --fa: "\f168"; -} - -.fa-square-xing { - --fa: "\f169"; -} - -.fa-xing-square { - --fa: "\f169"; -} - -.fa-dropbox { - --fa: "\f16b"; -} - -.fa-stack-overflow { - --fa: "\f16c"; -} - -.fa-instagram { - --fa: "\f16d"; -} - -.fa-flickr { - --fa: "\f16e"; -} - -.fa-adn { - --fa: "\f170"; -} - -.fa-bitbucket { - --fa: "\f171"; -} - -.fa-tumblr { - --fa: "\f173"; -} - -.fa-square-tumblr { - --fa: "\f174"; -} - -.fa-tumblr-square { - --fa: "\f174"; -} - -.fa-apple { - --fa: "\f179"; -} - -.fa-windows { - --fa: "\f17a"; -} - -.fa-android { - --fa: "\f17b"; -} - -.fa-linux { - --fa: "\f17c"; -} - -.fa-dribbble { - --fa: "\f17d"; -} - -.fa-skype { - --fa: "\f17e"; -} - -.fa-foursquare { - --fa: "\f180"; -} - -.fa-trello { - --fa: "\f181"; -} - -.fa-gratipay { - --fa: "\f184"; -} - -.fa-vk { - --fa: "\f189"; -} - -.fa-weibo { - --fa: "\f18a"; -} - -.fa-renren { - --fa: "\f18b"; -} - -.fa-pagelines { - --fa: "\f18c"; -} - -.fa-stack-exchange { - --fa: "\f18d"; -} - -.fa-square-vimeo { - --fa: "\f194"; -} - -.fa-vimeo-square { - --fa: "\f194"; -} - -.fa-slack { - --fa: "\f198"; -} - -.fa-slack-hash { - --fa: "\f198"; -} - -.fa-wordpress { - --fa: "\f19a"; -} - -.fa-openid { - --fa: "\f19b"; -} - -.fa-yahoo { - --fa: "\f19e"; -} - -.fa-google { - --fa: "\f1a0"; -} - -.fa-reddit { - --fa: "\f1a1"; -} - -.fa-square-reddit { - --fa: "\f1a2"; -} - -.fa-reddit-square { - --fa: "\f1a2"; -} - -.fa-stumbleupon-circle { - --fa: "\f1a3"; -} - -.fa-stumbleupon { - --fa: "\f1a4"; -} - -.fa-delicious { - --fa: "\f1a5"; -} - -.fa-digg { - --fa: "\f1a6"; -} - -.fa-pied-piper-pp { - --fa: "\f1a7"; -} - -.fa-pied-piper-alt { - --fa: "\f1a8"; -} - -.fa-drupal { - --fa: "\f1a9"; -} - -.fa-joomla { - --fa: "\f1aa"; -} - -.fa-behance { - --fa: "\f1b4"; -} - -.fa-square-behance { - --fa: "\f1b5"; -} - -.fa-behance-square { - --fa: "\f1b5"; -} - -.fa-steam { - --fa: "\f1b6"; -} - -.fa-square-steam { - --fa: "\f1b7"; -} - -.fa-steam-square { - --fa: "\f1b7"; -} - -.fa-spotify { - --fa: "\f1bc"; -} - -.fa-deviantart { - --fa: "\f1bd"; -} - -.fa-soundcloud { - --fa: "\f1be"; -} - -.fa-vine { - --fa: "\f1ca"; -} - -.fa-codepen { - --fa: "\f1cb"; -} - -.fa-jsfiddle { - --fa: "\f1cc"; -} - -.fa-rebel { - --fa: "\f1d0"; -} - -.fa-empire { - --fa: "\f1d1"; -} - -.fa-square-git { - --fa: "\f1d2"; -} - -.fa-git-square { - --fa: "\f1d2"; -} - -.fa-git { - --fa: "\f1d3"; -} - -.fa-hacker-news { - --fa: "\f1d4"; -} - -.fa-tencent-weibo { - --fa: "\f1d5"; -} - -.fa-qq { - --fa: "\f1d6"; -} - -.fa-weixin { - --fa: "\f1d7"; -} - -.fa-slideshare { - --fa: "\f1e7"; -} - -.fa-twitch { - --fa: "\f1e8"; -} - -.fa-yelp { - --fa: "\f1e9"; -} - -.fa-paypal { - --fa: "\f1ed"; -} - -.fa-google-wallet { - --fa: "\f1ee"; -} - -.fa-cc-visa { - --fa: "\f1f0"; -} - -.fa-cc-mastercard { - --fa: "\f1f1"; -} - -.fa-cc-discover { - --fa: "\f1f2"; -} - -.fa-cc-amex { - --fa: "\f1f3"; -} - -.fa-cc-paypal { - --fa: "\f1f4"; -} - -.fa-cc-stripe { - --fa: "\f1f5"; -} - -.fa-lastfm { - --fa: "\f202"; -} - -.fa-square-lastfm { - --fa: "\f203"; -} - -.fa-lastfm-square { - --fa: "\f203"; -} - -.fa-ioxhost { - --fa: "\f208"; -} - -.fa-angellist { - --fa: "\f209"; -} - -.fa-buysellads { - --fa: "\f20d"; -} - -.fa-connectdevelop { - --fa: "\f20e"; -} - -.fa-dashcube { - --fa: "\f210"; -} - -.fa-forumbee { - --fa: "\f211"; -} - -.fa-leanpub { - --fa: "\f212"; -} - -.fa-sellsy { - --fa: "\f213"; -} - -.fa-shirtsinbulk { - --fa: "\f214"; -} - -.fa-simplybuilt { - --fa: "\f215"; -} - -.fa-skyatlas { - --fa: "\f216"; -} - -.fa-pinterest-p { - --fa: "\f231"; -} - -.fa-whatsapp { - --fa: "\f232"; -} - -.fa-viacoin { - --fa: "\f237"; -} - -.fa-medium { - --fa: "\f23a"; -} - -.fa-medium-m { - --fa: "\f23a"; -} - -.fa-y-combinator { - --fa: "\f23b"; -} - -.fa-optin-monster { - --fa: "\f23c"; -} - -.fa-opencart { - --fa: "\f23d"; -} - -.fa-expeditedssl { - --fa: "\f23e"; -} - -.fa-cc-jcb { - --fa: "\f24b"; -} - -.fa-cc-diners-club { - --fa: "\f24c"; -} - -.fa-creative-commons { - --fa: "\f25e"; -} - -.fa-gg { - --fa: "\f260"; -} - -.fa-gg-circle { - --fa: "\f261"; -} - -.fa-odnoklassniki { - --fa: "\f263"; -} - -.fa-square-odnoklassniki { - --fa: "\f264"; -} - -.fa-odnoklassniki-square { - --fa: "\f264"; -} - -.fa-get-pocket { - --fa: "\f265"; -} - -.fa-wikipedia-w { - --fa: "\f266"; -} - -.fa-safari { - --fa: "\f267"; -} - -.fa-chrome { - --fa: "\f268"; -} - -.fa-firefox { - --fa: "\f269"; -} - -.fa-opera { - --fa: "\f26a"; -} - -.fa-internet-explorer { - --fa: "\f26b"; -} - -.fa-contao { - --fa: "\f26d"; -} - -.fa-500px { - --fa: "\f26e"; -} - -.fa-amazon { - --fa: "\f270"; -} - -.fa-houzz { - --fa: "\f27c"; -} - -.fa-vimeo-v { - --fa: "\f27d"; -} - -.fa-black-tie { - --fa: "\f27e"; -} - -.fa-fonticons { - --fa: "\f280"; -} - -.fa-reddit-alien { - --fa: "\f281"; -} - -.fa-edge { - --fa: "\f282"; -} - -.fa-codiepie { - --fa: "\f284"; -} - -.fa-modx { - --fa: "\f285"; -} - -.fa-fort-awesome { - --fa: "\f286"; -} - -.fa-usb { - --fa: "\f287"; -} - -.fa-product-hunt { - --fa: "\f288"; -} - -.fa-mixcloud { - --fa: "\f289"; -} - -.fa-scribd { - --fa: "\f28a"; -} - -.fa-bluetooth { - --fa: "\f293"; -} - -.fa-bluetooth-b { - --fa: "\f294"; -} - -.fa-gitlab { - --fa: "\f296"; -} - -.fa-wpbeginner { - --fa: "\f297"; -} - -.fa-wpforms { - --fa: "\f298"; -} - -.fa-envira { - --fa: "\f299"; -} - -.fa-glide { - --fa: "\f2a5"; -} - -.fa-glide-g { - --fa: "\f2a6"; -} - -.fa-viadeo { - --fa: "\f2a9"; -} - -.fa-square-viadeo { - --fa: "\f2aa"; -} - -.fa-viadeo-square { - --fa: "\f2aa"; -} - -.fa-snapchat { - --fa: "\f2ab"; -} - -.fa-snapchat-ghost { - --fa: "\f2ab"; -} - -.fa-square-snapchat { - --fa: "\f2ad"; -} - -.fa-snapchat-square { - --fa: "\f2ad"; -} - -.fa-pied-piper { - --fa: "\f2ae"; -} - -.fa-first-order { - --fa: "\f2b0"; -} - -.fa-yoast { - --fa: "\f2b1"; -} - -.fa-themeisle { - --fa: "\f2b2"; -} - -.fa-google-plus { - --fa: "\f2b3"; -} - -.fa-font-awesome { - --fa: "\f2b4"; -} - -.fa-font-awesome-flag { - --fa: "\f2b4"; -} - -.fa-font-awesome-logo-full { - --fa: "\f2b4"; -} - -.fa-linode { - --fa: "\f2b8"; -} - -.fa-quora { - --fa: "\f2c4"; -} - -.fa-free-code-camp { - --fa: "\f2c5"; -} - -.fa-telegram { - --fa: "\f2c6"; -} - -.fa-telegram-plane { - --fa: "\f2c6"; -} - -.fa-bandcamp { - --fa: "\f2d5"; -} - -.fa-grav { - --fa: "\f2d6"; -} - -.fa-etsy { - --fa: "\f2d7"; -} - -.fa-imdb { - --fa: "\f2d8"; -} - -.fa-ravelry { - --fa: "\f2d9"; -} - -.fa-sellcast { - --fa: "\f2da"; -} - -.fa-superpowers { - --fa: "\f2dd"; -} - -.fa-wpexplorer { - --fa: "\f2de"; -} - -.fa-meetup { - --fa: "\f2e0"; -} - -.fa-square-font-awesome-stroke { - --fa: "\f35c"; -} - -.fa-font-awesome-alt { - --fa: "\f35c"; -} - -.fa-accessible-icon { - --fa: "\f368"; -} - -.fa-accusoft { - --fa: "\f369"; -} - -.fa-adversal { - --fa: "\f36a"; -} - -.fa-affiliatetheme { - --fa: "\f36b"; -} - -.fa-algolia { - --fa: "\f36c"; -} - -.fa-amilia { - --fa: "\f36d"; -} - -.fa-angrycreative { - --fa: "\f36e"; -} - -.fa-app-store { - --fa: "\f36f"; -} - -.fa-app-store-ios { - --fa: "\f370"; -} - -.fa-apper { - --fa: "\f371"; -} - -.fa-asymmetrik { - --fa: "\f372"; -} - -.fa-audible { - --fa: "\f373"; -} - -.fa-avianex { - --fa: "\f374"; -} - -.fa-aws { - --fa: "\f375"; -} - -.fa-bimobject { - --fa: "\f378"; -} - -.fa-bitcoin { - --fa: "\f379"; -} - -.fa-bity { - --fa: "\f37a"; -} - -.fa-blackberry { - --fa: "\f37b"; -} - -.fa-blogger { - --fa: "\f37c"; -} - -.fa-blogger-b { - --fa: "\f37d"; -} - -.fa-buromobelexperte { - --fa: "\f37f"; -} - -.fa-centercode { - --fa: "\f380"; -} - -.fa-cloudscale { - --fa: "\f383"; -} - -.fa-cloudsmith { - --fa: "\f384"; -} - -.fa-cloudversify { - --fa: "\f385"; -} - -.fa-cpanel { - --fa: "\f388"; -} - -.fa-css3-alt { - --fa: "\f38b"; -} - -.fa-cuttlefish { - --fa: "\f38c"; -} - -.fa-d-and-d { - --fa: "\f38d"; -} - -.fa-deploydog { - --fa: "\f38e"; -} - -.fa-deskpro { - --fa: "\f38f"; -} - -.fa-digital-ocean { - --fa: "\f391"; -} - -.fa-discord { - --fa: "\f392"; -} - -.fa-discourse { - --fa: "\f393"; -} - -.fa-dochub { - --fa: "\f394"; -} - -.fa-docker { - --fa: "\f395"; -} - -.fa-draft2digital { - --fa: "\f396"; -} - -.fa-square-dribbble { - --fa: "\f397"; -} - -.fa-dribbble-square { - --fa: "\f397"; -} - -.fa-dyalog { - --fa: "\f399"; -} - -.fa-earlybirds { - --fa: "\f39a"; -} - -.fa-erlang { - --fa: "\f39d"; -} - -.fa-facebook-f { - --fa: "\f39e"; -} - -.fa-facebook-messenger { - --fa: "\f39f"; -} - -.fa-firstdraft { - --fa: "\f3a1"; -} - -.fa-fonticons-fi { - --fa: "\f3a2"; -} - -.fa-fort-awesome-alt { - --fa: "\f3a3"; -} - -.fa-freebsd { - --fa: "\f3a4"; -} - -.fa-gitkraken { - --fa: "\f3a6"; -} - -.fa-gofore { - --fa: "\f3a7"; -} - -.fa-goodreads { - --fa: "\f3a8"; -} - -.fa-goodreads-g { - --fa: "\f3a9"; -} - -.fa-google-drive { - --fa: "\f3aa"; -} - -.fa-google-play { - --fa: "\f3ab"; -} - -.fa-gripfire { - --fa: "\f3ac"; -} - -.fa-grunt { - --fa: "\f3ad"; -} - -.fa-gulp { - --fa: "\f3ae"; -} - -.fa-square-hacker-news { - --fa: "\f3af"; -} - -.fa-hacker-news-square { - --fa: "\f3af"; -} - -.fa-hire-a-helper { - --fa: "\f3b0"; -} - -.fa-hotjar { - --fa: "\f3b1"; -} - -.fa-hubspot { - --fa: "\f3b2"; -} - -.fa-itunes { - --fa: "\f3b4"; -} - -.fa-itunes-note { - --fa: "\f3b5"; -} - -.fa-jenkins { - --fa: "\f3b6"; -} - -.fa-joget { - --fa: "\f3b7"; -} - -.fa-js { - --fa: "\f3b8"; -} - -.fa-square-js { - --fa: "\f3b9"; -} - -.fa-js-square { - --fa: "\f3b9"; -} - -.fa-keycdn { - --fa: "\f3ba"; -} - -.fa-kickstarter { - --fa: "\f3bb"; -} - -.fa-square-kickstarter { - --fa: "\f3bb"; -} - -.fa-kickstarter-k { - --fa: "\f3bc"; -} - -.fa-laravel { - --fa: "\f3bd"; -} - -.fa-line { - --fa: "\f3c0"; -} - -.fa-lyft { - --fa: "\f3c3"; -} - -.fa-magento { - --fa: "\f3c4"; -} - -.fa-medapps { - --fa: "\f3c6"; -} - -.fa-medrt { - --fa: "\f3c8"; -} - -.fa-microsoft { - --fa: "\f3ca"; -} - -.fa-mix { - --fa: "\f3cb"; -} - -.fa-mizuni { - --fa: "\f3cc"; -} - -.fa-monero { - --fa: "\f3d0"; -} - -.fa-napster { - --fa: "\f3d2"; -} - -.fa-node-js { - --fa: "\f3d3"; -} - -.fa-npm { - --fa: "\f3d4"; -} - -.fa-ns8 { - --fa: "\f3d5"; -} - -.fa-nutritionix { - --fa: "\f3d6"; -} - -.fa-page4 { - --fa: "\f3d7"; -} - -.fa-palfed { - --fa: "\f3d8"; -} - -.fa-patreon { - --fa: "\f3d9"; -} - -.fa-periscope { - --fa: "\f3da"; -} - -.fa-phabricator { - --fa: "\f3db"; -} - -.fa-phoenix-framework { - --fa: "\f3dc"; -} - -.fa-playstation { - --fa: "\f3df"; -} - -.fa-pushed { - --fa: "\f3e1"; -} - -.fa-python { - --fa: "\f3e2"; -} - -.fa-red-river { - --fa: "\f3e3"; -} - -.fa-wpressr { - --fa: "\f3e4"; -} - -.fa-rendact { - --fa: "\f3e4"; -} - -.fa-replyd { - --fa: "\f3e6"; -} - -.fa-resolving { - --fa: "\f3e7"; -} - -.fa-rocketchat { - --fa: "\f3e8"; -} - -.fa-rockrms { - --fa: "\f3e9"; -} - -.fa-schlix { - --fa: "\f3ea"; -} - -.fa-searchengin { - --fa: "\f3eb"; -} - -.fa-servicestack { - --fa: "\f3ec"; -} - -.fa-sistrix { - --fa: "\f3ee"; -} - -.fa-speakap { - --fa: "\f3f3"; -} - -.fa-staylinked { - --fa: "\f3f5"; -} - -.fa-steam-symbol { - --fa: "\f3f6"; -} - -.fa-sticker-mule { - --fa: "\f3f7"; -} - -.fa-studiovinari { - --fa: "\f3f8"; -} - -.fa-supple { - --fa: "\f3f9"; -} - -.fa-uber { - --fa: "\f402"; -} - -.fa-uikit { - --fa: "\f403"; -} - -.fa-uniregistry { - --fa: "\f404"; -} - -.fa-untappd { - --fa: "\f405"; -} - -.fa-ussunnah { - --fa: "\f407"; -} - -.fa-vaadin { - --fa: "\f408"; -} - -.fa-viber { - --fa: "\f409"; -} - -.fa-vimeo { - --fa: "\f40a"; -} - -.fa-vnv { - --fa: "\f40b"; -} - -.fa-square-whatsapp { - --fa: "\f40c"; -} - -.fa-whatsapp-square { - --fa: "\f40c"; -} - -.fa-whmcs { - --fa: "\f40d"; -} - -.fa-wordpress-simple { - --fa: "\f411"; -} - -.fa-xbox { - --fa: "\f412"; -} - -.fa-yandex { - --fa: "\f413"; -} - -.fa-yandex-international { - --fa: "\f414"; -} - -.fa-apple-pay { - --fa: "\f415"; -} - -.fa-cc-apple-pay { - --fa: "\f416"; -} - -.fa-fly { - --fa: "\f417"; -} - -.fa-node { - --fa: "\f419"; -} - -.fa-osi { - --fa: "\f41a"; -} - -.fa-react { - --fa: "\f41b"; -} - -.fa-autoprefixer { - --fa: "\f41c"; -} - -.fa-less { - --fa: "\f41d"; -} - -.fa-sass { - --fa: "\f41e"; -} - -.fa-vuejs { - --fa: "\f41f"; -} - -.fa-angular { - --fa: "\f420"; -} - -.fa-aviato { - --fa: "\f421"; -} - -.fa-ember { - --fa: "\f423"; -} - -.fa-gitter { - --fa: "\f426"; -} - -.fa-hooli { - --fa: "\f427"; -} - -.fa-strava { - --fa: "\f428"; -} - -.fa-stripe { - --fa: "\f429"; -} - -.fa-stripe-s { - --fa: "\f42a"; -} - -.fa-typo3 { - --fa: "\f42b"; -} - -.fa-amazon-pay { - --fa: "\f42c"; -} - -.fa-cc-amazon-pay { - --fa: "\f42d"; -} - -.fa-ethereum { - --fa: "\f42e"; -} - -.fa-korvue { - --fa: "\f42f"; -} - -.fa-elementor { - --fa: "\f430"; -} - -.fa-square-youtube { - --fa: "\f431"; -} - -.fa-youtube-square { - --fa: "\f431"; -} - -.fa-flipboard { - --fa: "\f44d"; -} - -.fa-hips { - --fa: "\f452"; -} - -.fa-php { - --fa: "\f457"; -} - -.fa-quinscape { - --fa: "\f459"; -} - -.fa-readme { - --fa: "\f4d5"; -} - -.fa-java { - --fa: "\f4e4"; -} - -.fa-pied-piper-hat { - --fa: "\f4e5"; -} - -.fa-creative-commons-by { - --fa: "\f4e7"; -} - -.fa-creative-commons-nc { - --fa: "\f4e8"; -} - -.fa-creative-commons-nc-eu { - --fa: "\f4e9"; -} - -.fa-creative-commons-nc-jp { - --fa: "\f4ea"; -} - -.fa-creative-commons-nd { - --fa: "\f4eb"; -} - -.fa-creative-commons-pd { - --fa: "\f4ec"; -} - -.fa-creative-commons-pd-alt { - --fa: "\f4ed"; -} - -.fa-creative-commons-remix { - --fa: "\f4ee"; -} - -.fa-creative-commons-sa { - --fa: "\f4ef"; -} - -.fa-creative-commons-sampling { - --fa: "\f4f0"; -} - -.fa-creative-commons-sampling-plus { - --fa: "\f4f1"; -} - -.fa-creative-commons-share { - --fa: "\f4f2"; -} - -.fa-creative-commons-zero { - --fa: "\f4f3"; -} - -.fa-ebay { - --fa: "\f4f4"; -} - -.fa-keybase { - --fa: "\f4f5"; -} - -.fa-mastodon { - --fa: "\f4f6"; -} - -.fa-r-project { - --fa: "\f4f7"; -} - -.fa-researchgate { - --fa: "\f4f8"; -} - -.fa-teamspeak { - --fa: "\f4f9"; -} - -.fa-first-order-alt { - --fa: "\f50a"; -} - -.fa-fulcrum { - --fa: "\f50b"; -} - -.fa-galactic-republic { - --fa: "\f50c"; -} - -.fa-galactic-senate { - --fa: "\f50d"; -} - -.fa-jedi-order { - --fa: "\f50e"; -} - -.fa-mandalorian { - --fa: "\f50f"; -} - -.fa-old-republic { - --fa: "\f510"; -} - -.fa-phoenix-squadron { - --fa: "\f511"; -} - -.fa-sith { - --fa: "\f512"; -} - -.fa-trade-federation { - --fa: "\f513"; -} - -.fa-wolf-pack-battalion { - --fa: "\f514"; -} - -.fa-hornbill { - --fa: "\f592"; -} - -.fa-mailchimp { - --fa: "\f59e"; -} - -.fa-megaport { - --fa: "\f5a3"; -} - -.fa-nimblr { - --fa: "\f5a8"; -} - -.fa-rev { - --fa: "\f5b2"; -} - -.fa-shopware { - --fa: "\f5b5"; -} - -.fa-squarespace { - --fa: "\f5be"; -} - -.fa-themeco { - --fa: "\f5c6"; -} - -.fa-weebly { - --fa: "\f5cc"; -} - -.fa-wix { - --fa: "\f5cf"; -} - -.fa-ello { - --fa: "\f5f1"; -} - -.fa-hackerrank { - --fa: "\f5f7"; -} - -.fa-kaggle { - --fa: "\f5fa"; -} - -.fa-markdown { - --fa: "\f60f"; -} - -.fa-neos { - --fa: "\f612"; -} - -.fa-zhihu { - --fa: "\f63f"; -} - -.fa-alipay { - --fa: "\f642"; -} - -.fa-the-red-yeti { - --fa: "\f69d"; -} - -.fa-critical-role { - --fa: "\f6c9"; -} - -.fa-d-and-d-beyond { - --fa: "\f6ca"; -} - -.fa-dev { - --fa: "\f6cc"; -} - -.fa-fantasy-flight-games { - --fa: "\f6dc"; -} - -.fa-wizards-of-the-coast { - --fa: "\f730"; -} - -.fa-think-peaks { - --fa: "\f731"; -} - -.fa-reacteurope { - --fa: "\f75d"; -} - -.fa-artstation { - --fa: "\f77a"; -} - -.fa-atlassian { - --fa: "\f77b"; -} - -.fa-canadian-maple-leaf { - --fa: "\f785"; -} - -.fa-centos { - --fa: "\f789"; -} - -.fa-confluence { - --fa: "\f78d"; -} - -.fa-dhl { - --fa: "\f790"; -} - -.fa-diaspora { - --fa: "\f791"; -} - -.fa-fedex { - --fa: "\f797"; -} - -.fa-fedora { - --fa: "\f798"; -} - -.fa-figma { - --fa: "\f799"; -} - -.fa-intercom { - --fa: "\f7af"; -} - -.fa-invision { - --fa: "\f7b0"; -} - -.fa-jira { - --fa: "\f7b1"; -} - -.fa-mendeley { - --fa: "\f7b3"; -} - -.fa-raspberry-pi { - --fa: "\f7bb"; -} - -.fa-redhat { - --fa: "\f7bc"; -} - -.fa-sketch { - --fa: "\f7c6"; -} - -.fa-sourcetree { - --fa: "\f7d3"; -} - -.fa-suse { - --fa: "\f7d6"; -} - -.fa-ubuntu { - --fa: "\f7df"; -} - -.fa-ups { - --fa: "\f7e0"; -} - -.fa-usps { - --fa: "\f7e1"; -} - -.fa-yarn { - --fa: "\f7e3"; -} - -.fa-airbnb { - --fa: "\f834"; -} - -.fa-battle-net { - --fa: "\f835"; -} - -.fa-bootstrap { - --fa: "\f836"; -} - -.fa-buffer { - --fa: "\f837"; -} - -.fa-chromecast { - --fa: "\f838"; -} - -.fa-evernote { - --fa: "\f839"; -} - -.fa-itch-io { - --fa: "\f83a"; -} - -.fa-salesforce { - --fa: "\f83b"; -} - -.fa-speaker-deck { - --fa: "\f83c"; -} - -.fa-symfony { - --fa: "\f83d"; -} - -.fa-waze { - --fa: "\f83f"; -} - -.fa-yammer { - --fa: "\f840"; -} - -.fa-git-alt { - --fa: "\f841"; -} - -.fa-stackpath { - --fa: "\f842"; -} - -.fa-cotton-bureau { - --fa: "\f89e"; -} - -.fa-buy-n-large { - --fa: "\f8a6"; -} - -.fa-mdb { - --fa: "\f8ca"; -} - -.fa-orcid { - --fa: "\f8d2"; -} - -.fa-swift { - --fa: "\f8e1"; -} - -.fa-umbraco { - --fa: "\f8e8"; -}:root, :host { - --fa-family-duotone: "Font Awesome 7 Duotone"; - --fa-font-duotone: normal 900 1em/1 var(--fa-family-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-duotone: var(--fa-family-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Duotone"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-duotone-900.woff2"); -} -.fad, -.fa-duotone { - --fa-family: var(--fa-family-duotone); - --fa-style: 900; - position: relative; - letter-spacing: normal; -} - -.fad::before, -.fa-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fad::after, -.fa-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fad::before, -.fa-swap-opacity .fa-duotone::before, -.fad.fa-swap-opacity::before, -.fa-duotone.fa-swap-opacity::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fad::after, -.fa-swap-opacity .fa-duotone::after, -.fad.fa-swap-opacity::after, -.fa-duotone.fa-swap-opacity::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fad.fa-li, -.fa-duotone.fa-li, -.fad.fa-stack-1x, -.fa-duotone.fa-stack-1x, -.fad.fa-stack-2x, -.fa-duotone.fa-stack-2x { - position: absolute; -}:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-light: normal 300 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 300; - font-display: block; - src: url("../webfonts/fa-light-300.woff2"); -} -.fal { - --fa-family: var(--fa-family-classic); - --fa-style: 300; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-light { - --fa-style: 300; -}:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-regular: normal 400 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-regular-400.woff2"); -} -.far { - --fa-family: var(--fa-family-classic); - --fa-style: 400; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-regular { - --fa-style: 400; -}:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-solid: normal 900 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-solid-900.woff2"); -} -.fas { - --fa-family: var(--fa-family-classic); - --fa-style: 900; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-solid { - --fa-style: 900; -}:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-thin: normal 100 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 100; - font-display: block; - src: url("../webfonts/fa-thin-100.woff2"); -} -.fat { - --fa-family: var(--fa-family-classic); - --fa-style: 100; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-thin { - --fa-style: 100; -}@font-face { - font-family: "Font Awesome 5 Brands"; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Pro"; - font-display: block; - font-weight: 900; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Pro"; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Pro"; - font-display: block; - font-weight: 300; - src: url("../webfonts/fa-light-300.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Duotone"; - font-display: block; - font-weight: 900; - src: url("../webfonts/fa-duotone-900.woff2") format("woff2"); -}@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"); -} -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"); -} -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"); - unicode-range: U+F003, U+F006, U+F014, U+F016-F017, U+F01A-F01B, U+F01D, U+F022, U+F03E, U+F044, U+F046, U+F05C-F05D, U+F06E, U+F070, U+F087-F088, U+F08A, U+F094, U+F096-F097, U+F09D, U+F0A0, U+F0A2, U+F0A4-F0A7, U+F0C5, U+F0C7, U+F0E5-F0E6, U+F0EB, U+F0F6-F0F8, U+F10C, U+F114-F115, U+F118-F11A, U+F11C-F11D, U+F133, U+F147, U+F14E, U+F150-F152, U+F185-F186, U+F18E, U+F190-F192, U+F196, U+F1C1-F1C9, U+F1D9, U+F1DB, U+F1E3, U+F1EA, U+F1F7, U+F1F9, U+F20A, U+F247-F248, U+F24A, U+F24D, U+F255-F25B, U+F25D, U+F271-F274, U+F278, U+F27B, U+F28C, U+F28E, U+F29C, U+F2B5, U+F2B7, U+F2BA, U+F2BC, U+F2BE, U+F2C0-F2C1, U+F2C3, U+F2D0, U+F2D2, U+F2D4, U+F2DC; -} -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"); - unicode-range: U+F041, U+F047, U+F065-F066, U+F07D-F07E, U+F080, U+F08B, U+F08E, U+F090, U+F09A, U+F0AC, U+F0AE, U+F0B2, U+F0D0, U+F0D6, U+F0E4, U+F0EC, U+F10A-F10B, U+F123, U+F13E, U+F148-F149, U+F14C, U+F156, U+F15E, U+F160-F161, U+F163, U+F175-F178, U+F195, U+F1F8, U+F219, U+F27A; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/all.min.css b/public/vendor/fontawesome/css/all.min.css deleted file mode 100644 index 4e9a621..0000000 --- a/public/vendor/fontawesome/css/all.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -.fa,.fa-brands,.fa-chisel,.fa-classic,.fa-duotone,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-light,.fa-notdog,.fa-notdog-duo,.fa-regular,.fa-semibold,.fa-sharp,.fa-sharp-duotone,.fa-slab,.fa-slab-press,.fa-solid,.fa-thin,.fa-thumbprint,.fa-utility,.fa-utility-duo,.fa-utility-fill,.fa-whiteboard,.fab,.facr,.fad,.fadl,.fadr,.fadt,.faes,.fajdr,.fajfr,.fajr,.fal,.fands,.fans,.far,.fas,.fasdl,.fasdr,.fasds,.fasdt,.fasl,.faslpr,.faslr,.fasr,.fass,.fast,.fat,.fatl,.faudsb,.faufsb,.fausb,.fawsb{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Pro"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.fass,.far,.fasr,.fal,.fasl,.fat,.fast,.fad,.fadr,.fadl,.fadt,.fasds,.fasdr,.fasdl,.fasdt,.fab,.faslr,.faslpr,.fawsb,.fatl,.fans,.fands,.faes,.fajr,.fajfr,.fajdr,.facr,.fausb,.faudsb,.faufsb,.fa-solid,.fa-semibold,.fa-regular,.fa-light,.fa-thin,.fa-brands,.fa-classic,.fa-duotone,.fa-sharp,.fa-sharp-duotone,.fa-chisel,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-notdog,.fa-notdog-duo,.fa-slab,.fa-slab-press,.fa-thumbprint,.fa-utility,.fa-utility-duo,.fa-utility-fill,.fa-whiteboard,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.fass,.far,.fasr,.fal,.fasl,.fat,.fast,.fad,.fadr,.fadl,.fadt,.fasds,.fasdr,.fasdl,.fasdt,.fab,.faslr,.faslpr,.fawsb,.fatl,.fans,.fands,.faes,.fajr,.fajfr,.fajdr,.facr,.fausb,.faudsb,.faufsb,.fa-solid,.fa-semibold,.fa-regular,.fa-light,.fa-thin,.fa-brands,.fa-classic,.fa-duotone,.fa-sharp,.fa-sharp-duotone,.fa-chisel,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-notdog,.fa-notdog-duo,.fa-slab,.fa-slab-press,.fa-thumbprint,.fa-utility,.fa-utility-duo,.fa-utility-fill,.fa-whiteboard,.fa):before{content:var(--fa)}}:is(.fad,.fa-duotone,.fadr,.fadl,.fadt,.fasds,.fa-sharp-duotone,.fasdr,.fasdl,.fasdt,.fatl,.fa-thumbprint,.fands,.fa-notdog-duo,.fajdr,.fa-jelly-duo,.faudsb,.fa-utility-duo):after{content:var(--fa);font-feature-settings:"ss01"}@supports not (content:""/""){:is(.fad,.fa-duotone,.fadr,.fadl,.fadt,.fasds,.fa-sharp-duotone,.fasdr,.fasdl,.fasdt,.fatl,.fa-thumbprint,.fands,.fa-notdog-duo,.fajdr,.fa-jelly-duo,.faudsb,.fa-utility-duo):after{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} - -.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-ditto{--fa:'"'}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-ampersand{--fa:"\&"}.fa-apostrophe{--fa:"'"}.fa-bracket-round,.fa-parenthesis{--fa:"\("}.fa-bracket-round-right{--fa:"\)"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-comma{--fa:"\,"}.fa-hyphen{--fa:"\-"}.fa-period{--fa:"\."}.fa-slash-forward{--fa:"\/"}.fa-colon{--fa:"\:"}.fa-semicolon{--fa:"\;"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-bracket,.fa-bracket-left,.fa-bracket-square{--fa:"\["}.fa-slash-back{--fa:"\\"}.fa-bracket-square-right{--fa:"\]"}.fa-accent-grave{--fa:"\`"}.fa-bracket-curly,.fa-bracket-curly-left{--fa:"\{"}.fa-pipe{--fa:"\|"}.fa-bracket-curly-right{--fa:"\}"}.fa-tilde{--fa:"\~"}.fa-caravan-alt,.fa-caravan-simple{--fa:"\e000"}.fa-cat-space{--fa:"\e001"}.fa-coffee-pot{--fa:"\e002"}.fa-comet{--fa:"\e003"}.fa-fan-table{--fa:"\e004"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-galaxy{--fa:"\e008"}.fa-garage{--fa:"\e009"}.fa-garage-car{--fa:"\e00a"}.fa-garage-open{--fa:"\e00b"}.fa-heat{--fa:"\e00c"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-day{--fa:"\e00e"}.fa-house-leave,.fa-house-person-depart,.fa-house-person-leave{--fa:"\e00f"}.fa-house-night{--fa:"\e010"}.fa-house-person-arrive,.fa-house-person-return,.fa-house-return{--fa:"\e011"}.fa-house-signal{--fa:"\e012"}.fa-lamp-desk{--fa:"\e014"}.fa-lamp-floor{--fa:"\e015"}.fa-light-ceiling{--fa:"\e016"}.fa-light-switch{--fa:"\e017"}.fa-light-switch-off{--fa:"\e018"}.fa-light-switch-on{--fa:"\e019"}.fa-microwave{--fa:"\e01b"}.fa-outlet{--fa:"\e01c"}.fa-oven{--fa:"\e01d"}.fa-planet-moon{--fa:"\e01f"}.fa-planet-ringed{--fa:"\e020"}.fa-police-box{--fa:"\e021"}.fa-person-to-portal,.fa-portal-enter{--fa:"\e022"}.fa-person-from-portal,.fa-portal-exit{--fa:"\e023"}.fa-radar{--fa:"\e024"}.fa-raygun{--fa:"\e025"}.fa-refrigerator{--fa:"\e026"}.fa-rocket-launch{--fa:"\e027"}.fa-sensor{--fa:"\e028"}.fa-sensor-alert,.fa-sensor-triangle-exclamation{--fa:"\e029"}.fa-sensor-fire{--fa:"\e02a"}.fa-sensor-on{--fa:"\e02b"}.fa-sensor-cloud,.fa-sensor-smoke{--fa:"\e02c"}.fa-siren{--fa:"\e02d"}.fa-siren-on{--fa:"\e02e"}.fa-solar-system{--fa:"\e02f"}.fa-circle-sort,.fa-sort-circle{--fa:"\e030"}.fa-circle-sort-down,.fa-sort-circle-down{--fa:"\e031"}.fa-circle-sort-up,.fa-sort-circle-up{--fa:"\e032"}.fa-space-station-moon{--fa:"\e033"}.fa-space-station-moon-alt,.fa-space-station-moon-construction{--fa:"\e034"}.fa-sprinkler{--fa:"\e035"}.fa-star-shooting{--fa:"\e036"}.fa-starfighter{--fa:"\e037"}.fa-starfighter-alt,.fa-starfighter-twin-ion-engine{--fa:"\e038"}.fa-starship{--fa:"\e039"}.fa-starship-freighter{--fa:"\e03a"}.fa-sword-laser{--fa:"\e03b"}.fa-sword-laser-alt{--fa:"\e03c"}.fa-swords-laser{--fa:"\e03d"}.fa-telescope{--fa:"\e03e"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-transporter{--fa:"\e042"}.fa-transporter-1{--fa:"\e043"}.fa-transporter-2{--fa:"\e044"}.fa-transporter-3{--fa:"\e045"}.fa-transporter-empty{--fa:"\e046"}.fa-ufo{--fa:"\e047"}.fa-ufo-beam{--fa:"\e048"}.fa-user-alien{--fa:"\e04a"}.fa-user-robot{--fa:"\e04b"}.fa-user-visor{--fa:"\e04c"}.fa-vacuum{--fa:"\e04d"}.fa-vacuum-robot{--fa:"\e04e"}.fa-window-frame{--fa:"\e04f"}.fa-window-frame-open{--fa:"\e050"}.fa-coffin-cross{--fa:"\e051"}.fa-folder-arrow-down,.fa-folder-download{--fa:"\e053"}.fa-folder-arrow-up,.fa-folder-upload{--fa:"\e054"}.fa-user-unlock{--fa:"\e058"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-airplay{--fa:"\e089"}.fa-alt{--fa:"\e08a"}.fa-angle{--fa:"\e08c"}.fa-angle-90{--fa:"\e08d"}.fa-apple-core{--fa:"\e08f"}.fa-arrow-down-from-dotted-line{--fa:"\e090"}.fa-arrow-down-left{--fa:"\e091"}.fa-arrow-down-left-and-arrow-up-right-to-center{--fa:"\e092"}.fa-arrow-down-right{--fa:"\e093"}.fa-arrow-down-to-bracket{--fa:"\e094"}.fa-arrow-down-to-dotted-line{--fa:"\e095"}.fa-arrow-down-to-square{--fa:"\e096"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-arrow-down,.fa-sort-up-down{--fa:"\e099"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-arrow-up-from-dotted-line{--fa:"\e09b"}.fa-arrow-up-from-square{--fa:"\e09c"}.fa-arrow-up-left{--fa:"\e09d"}.fa-arrow-up-left-from-circle{--fa:"\e09e"}.fa-arrow-up-right{--fa:"\e09f"}.fa-arrow-up-right-and-arrow-down-left-from-center{--fa:"\e0a0"}.fa-arrow-up-to-dotted-line{--fa:"\e0a1"}.fa-arrows-cross{--fa:"\e0a2"}.fa-arrows-from-dotted-line{--fa:"\e0a3"}.fa-arrows-from-line{--fa:"\e0a4"}.fa-arrows-minimize,.fa-compress-arrows{--fa:"\e0a5"}.fa-arrows-to-dotted-line{--fa:"\e0a6"}.fa-arrows-to-line{--fa:"\e0a7"}.fa-audio-description-slash{--fa:"\e0a8"}.fa-austral-sign{--fa:"\e0a9"}.fa-avocado{--fa:"\e0aa"}.fa-award-simple{--fa:"\e0ab"}.fa-baht-sign{--fa:"\e0ac"}.fa-bars-filter{--fa:"\e0ad"}.fa-bars-sort{--fa:"\e0ae"}.fa-basket-shopping-simple,.fa-shopping-basket-alt{--fa:"\e0af"}.fa-battery-exclamation{--fa:"\e0b0"}.fa-battery-1,.fa-battery-low{--fa:"\e0b1"}.fa-bee{--fa:"\e0b2"}.fa-beer-foam,.fa-beer-mug{--fa:"\e0b3"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-block-quote{--fa:"\e0b5"}.fa-bolt-auto{--fa:"\e0b6"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-bolt-slash{--fa:"\e0b8"}.fa-book-arrow-right{--fa:"\e0b9"}.fa-book-arrow-up{--fa:"\e0ba"}.fa-book-bookmark{--fa:"\e0bb"}.fa-book-circle-arrow-right{--fa:"\e0bc"}.fa-book-circle-arrow-up{--fa:"\e0bd"}.fa-book-copy{--fa:"\e0be"}.fa-book-font{--fa:"\e0bf"}.fa-book-open-alt,.fa-book-open-cover{--fa:"\e0c0"}.fa-book-law,.fa-book-section{--fa:"\e0c1"}.fa-bookmark-slash{--fa:"\e0c2"}.fa-bowling-ball-pin{--fa:"\e0c3"}.fa-box-circle-check{--fa:"\e0c4"}.fa-brackets-round,.fa-parentheses{--fa:"\e0c5"}.fa-brain-circuit{--fa:"\e0c6"}.fa-brake-warning{--fa:"\e0c7"}.fa-briefcase-blank{--fa:"\e0c8"}.fa-brightness{--fa:"\e0c9"}.fa-brightness-low{--fa:"\e0ca"}.fa-browsers{--fa:"\e0cb"}.fa-buildings{--fa:"\e0cc"}.fa-burger-fries{--fa:"\e0cd"}.fa-burger-glass{--fa:"\e0ce"}.fa-calendar-arrow-down,.fa-calendar-download{--fa:"\e0d0"}.fa-calendar-arrow-up,.fa-calendar-upload{--fa:"\e0d1"}.fa-calendar-clock,.fa-calendar-time{--fa:"\e0d2"}.fa-calendar-heart{--fa:"\e0d3"}.fa-calendar-image{--fa:"\e0d4"}.fa-calendar-lines,.fa-calendar-note{--fa:"\e0d5"}.fa-calendar-range{--fa:"\e0d6"}.fa-calendars{--fa:"\e0d7"}.fa-camera-rotate{--fa:"\e0d8"}.fa-camera-slash{--fa:"\e0d9"}.fa-camera-viewfinder,.fa-screenshot{--fa:"\e0da"}.fa-cart-minus{--fa:"\e0db"}.fa-cart-shopping-fast{--fa:"\e0dc"}.fa-cart-xmark{--fa:"\e0dd"}.fa-castle{--fa:"\e0de"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-bullet{--fa:"\e0e1"}.fa-chart-candlestick{--fa:"\e0e2"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-chart-line-up{--fa:"\e0e5"}.fa-chart-pyramid{--fa:"\e0e6"}.fa-chart-radar{--fa:"\e0e7"}.fa-chart-scatter-3d{--fa:"\e0e8"}.fa-chart-scatter-bubble{--fa:"\e0e9"}.fa-chart-tree-map{--fa:"\e0ea"}.fa-chart-waterfall{--fa:"\e0eb"}.fa-cherries{--fa:"\e0ec"}.fa-circle-0{--fa:"\e0ed"}.fa-circle-1{--fa:"\e0ee"}.fa-circle-2{--fa:"\e0ef"}.fa-circle-3{--fa:"\e0f0"}.fa-circle-4{--fa:"\e0f1"}.fa-circle-5{--fa:"\e0f2"}.fa-circle-6{--fa:"\e0f3"}.fa-circle-7{--fa:"\e0f4"}.fa-circle-8{--fa:"\e0f5"}.fa-circle-9{--fa:"\e0f6"}.fa-circle-a{--fa:"\e0f7"}.fa-circle-ampersand{--fa:"\e0f8"}.fa-circle-arrow-down-left{--fa:"\e0f9"}.fa-circle-arrow-down-right{--fa:"\e0fa"}.fa-circle-arrow-up-left{--fa:"\e0fb"}.fa-circle-arrow-up-right{--fa:"\e0fc"}.fa-circle-b{--fa:"\e0fd"}.fa-circle-bolt{--fa:"\e0fe"}.fa-book-circle,.fa-circle-book-open{--fa:"\e0ff"}.fa-bookmark-circle,.fa-circle-bookmark{--fa:"\e100"}.fa-circle-c{--fa:"\e101"}.fa-calendar-circle,.fa-circle-calendar{--fa:"\e102"}.fa-camera-circle,.fa-circle-camera{--fa:"\e103"}.fa-circle-d{--fa:"\e104"}.fa-circle-dashed{--fa:"\e105"}.fa-circle-divide{--fa:"\e106"}.fa-circle-down-left{--fa:"\e107"}.fa-circle-down-right{--fa:"\e108"}.fa-circle-e{--fa:"\e109"}.fa-circle-ellipsis{--fa:"\e10a"}.fa-circle-ellipsis-vertical{--fa:"\e10b"}.fa-circle-envelope,.fa-envelope-circle{--fa:"\e10c"}.fa-circle-exclamation-check{--fa:"\e10d"}.fa-circle-f{--fa:"\e10e"}.fa-circle-g{--fa:"\e10f"}.fa-circle-half{--fa:"\e110"}.fa-circle-i{--fa:"\e111"}.fa-circle-j{--fa:"\e112"}.fa-circle-k{--fa:"\e113"}.fa-circle-l{--fa:"\e114"}.fa-circle-m{--fa:"\e115"}.fa-circle-microphone,.fa-microphone-circle{--fa:"\e116"}.fa-circle-microphone-lines,.fa-microphone-circle-alt{--fa:"\e117"}.fa-circle-n{--fa:"\e118"}.fa-circle-o{--fa:"\e119"}.fa-circle-p{--fa:"\e11a"}.fa-circle-phone,.fa-phone-circle{--fa:"\e11b"}.fa-circle-phone-flip,.fa-phone-circle-alt{--fa:"\e11c"}.fa-circle-phone-hangup,.fa-phone-circle-down{--fa:"\e11d"}.fa-circle-q{--fa:"\e11e"}.fa-circle-quarter{--fa:"\e11f"}.fa-circle-r{--fa:"\e120"}.fa-circle-s{--fa:"\e121"}.fa-circle-small{--fa:"\e122"}.fa-circle-star,.fa-star-circle{--fa:"\e123"}.fa-circle-t{--fa:"\e124"}.fa-circle-three-quarters{--fa:"\e125"}.fa-circle-trash,.fa-trash-circle{--fa:"\e126"}.fa-circle-u{--fa:"\e127"}.fa-circle-up-left{--fa:"\e128"}.fa-circle-up-right{--fa:"\e129"}.fa-circle-v{--fa:"\e12a"}.fa-circle-video,.fa-video-circle{--fa:"\e12b"}.fa-circle-w{--fa:"\e12c"}.fa-circle-waveform-lines,.fa-waveform-circle{--fa:"\e12d"}.fa-circle-x{--fa:"\e12e"}.fa-circle-y{--fa:"\e12f"}.fa-circle-z{--fa:"\e130"}.fa-clapperboard{--fa:"\e131"}.fa-clapperboard-play{--fa:"\e132"}.fa-clipboard-medical{--fa:"\e133"}.fa-clock-desk{--fa:"\e134"}.fa-closed-captioning-slash{--fa:"\e135"}.fa-clothes-hanger{--fa:"\e136"}.fa-cloud-slash{--fa:"\e137"}.fa-cloud-word{--fa:"\e138"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-code-simple{--fa:"\e13d"}.fa-coffee-bean{--fa:"\e13e"}.fa-coffee-beans{--fa:"\e13f"}.fa-colon-sign{--fa:"\e140"}.fa-command{--fa:"\e142"}.fa-comment-arrow-down{--fa:"\e143"}.fa-comment-arrow-up{--fa:"\e144"}.fa-comment-arrow-up-right{--fa:"\e145"}.fa-comment-captions{--fa:"\e146"}.fa-comment-code{--fa:"\e147"}.fa-comment-image{--fa:"\e148"}.fa-comment-middle{--fa:"\e149"}.fa-comment-middle-top{--fa:"\e14a"}.fa-comment-question{--fa:"\e14b"}.fa-comment-quote{--fa:"\e14c"}.fa-comment-text{--fa:"\e14d"}.fa-comments-question{--fa:"\e14e"}.fa-comments-question-check{--fa:"\e14f"}.fa-conveyor-belt-empty{--fa:"\e150"}.fa-crate-empty{--fa:"\e151"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-delete-right{--fa:"\e154"}.fa-desktop-arrow-down{--fa:"\e155"}.fa-diagram-lean-canvas{--fa:"\e156"}.fa-diagram-nested{--fa:"\e157"}.fa-diagram-sankey{--fa:"\e158"}.fa-diagram-venn{--fa:"\e15a"}.fa-dial,.fa-dial-med-high{--fa:"\e15b"}.fa-dial-high{--fa:"\e15c"}.fa-dial-low{--fa:"\e15d"}.fa-dial-max{--fa:"\e15e"}.fa-dial-med{--fa:"\e15f"}.fa-dial-med-low{--fa:"\e160"}.fa-dial-min{--fa:"\e161"}.fa-dial-off{--fa:"\e162"}.fa-display{--fa:"\e163"}.fa-display-arrow-down{--fa:"\e164"}.fa-desktop-code,.fa-display-code{--fa:"\e165"}.fa-desktop-medical,.fa-display-medical{--fa:"\e166"}.fa-dolphin{--fa:"\e168"}.fa-dong-sign{--fa:"\e169"}.fa-down-left{--fa:"\e16a"}.fa-down-right{--fa:"\e16b"}.fa-eggplant{--fa:"\e16c"}.fa-elevator{--fa:"\e16d"}.fa-engine{--fa:"\e16e"}.fa-envelope-badge,.fa-envelope-dot{--fa:"\e16f"}.fa-envelopes{--fa:"\e170"}.fa-escalator{--fa:"\e171"}.fa-eye-dropper-full{--fa:"\e172"}.fa-eye-dropper-half{--fa:"\e173"}.fa-ferris-wheel{--fa:"\e174"}.fa-file-binary{--fa:"\e175"}.fa-file-heart{--fa:"\e176"}.fa-file-plus-minus{--fa:"\e177"}.fa-files{--fa:"\e178"}.fa-film-slash{--fa:"\e179"}.fa-films{--fa:"\e17a"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-filter-list{--fa:"\e17c"}.fa-filter-slash{--fa:"\e17d"}.fa-filters{--fa:"\e17e"}.fa-fire-hydrant{--fa:"\e17f"}.fa-floppy-disk-circle-arrow-right,.fa-save-circle-arrow-right{--fa:"\e180"}.fa-floppy-disk-circle-xmark,.fa-floppy-disk-times,.fa-save-circle-xmark,.fa-save-times{--fa:"\e181"}.fa-floppy-disk-pen{--fa:"\e182"}.fa-floppy-disks{--fa:"\e183"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-folder-bookmark{--fa:"\e186"}.fa-folder-cog,.fa-folder-gear{--fa:"\e187"}.fa-folder-grid{--fa:"\e188"}.fa-folder-heart{--fa:"\e189"}.fa-folder-image{--fa:"\e18a"}.fa-folder-magnifying-glass,.fa-folder-search{--fa:"\e18b"}.fa-folder-medical{--fa:"\e18c"}.fa-folder-music{--fa:"\e18d"}.fa-folder-user{--fa:"\e18e"}.fa-franc-sign{--fa:"\e18f"}.fa-gif{--fa:"\e190"}.fa-glass-empty{--fa:"\e191"}.fa-glass-half,.fa-glass-half-empty,.fa-glass-half-full{--fa:"\e192"}.fa-grate{--fa:"\e193"}.fa-grate-droplet{--fa:"\e194"}.fa-grid,.fa-grid-3{--fa:"\e195"}.fa-grid-2{--fa:"\e196"}.fa-grid-2-plus{--fa:"\e197"}.fa-grid-4{--fa:"\e198"}.fa-grid-5{--fa:"\e199"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-gun-slash{--fa:"\e19c"}.fa-gun-squirt{--fa:"\e19d"}.fa-hand-back-point-down{--fa:"\e19e"}.fa-hand-back-point-left{--fa:"\e19f"}.fa-hand-back-point-ribbon{--fa:"\e1a0"}.fa-hand-back-point-right{--fa:"\e1a1"}.fa-hand-back-point-up{--fa:"\e1a2"}.fa-hand-fingers-crossed{--fa:"\e1a3"}.fa-hand-holding-skull{--fa:"\e1a4"}.fa-hand-love{--fa:"\e1a5"}.fa-hand-point-ribbon{--fa:"\e1a6"}.fa-hand-wave{--fa:"\e1a7"}.fa-hands-clapping{--fa:"\e1a8"}.fa-hand-horns{--fa:"\e1a9"}.fa-head-side-heart{--fa:"\e1aa"}.fa-heart-half{--fa:"\e1ab"}.fa-heart-half-alt,.fa-heart-half-stroke{--fa:"\e1ac"}.fa-hexagon-divide{--fa:"\e1ad"}.fa-high-definition,.fa-rectangle-hd{--fa:"\e1ae"}.fa-highlighter-line{--fa:"\e1af"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-house-building{--fa:"\e1b1"}.fa-house-chimney-heart{--fa:"\e1b2"}.fa-house-tree{--fa:"\e1b3"}.fa-house-turret{--fa:"\e1b4"}.fa-image-landscape,.fa-landscape{--fa:"\e1b5"}.fa-image-polaroid-user{--fa:"\e1b6"}.fa-image-slash{--fa:"\e1b7"}.fa-image-user{--fa:"\e1b8"}.fa-images-user{--fa:"\e1b9"}.fa-inbox-full{--fa:"\e1ba"}.fa-inboxes{--fa:"\e1bb"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-input-numeric{--fa:"\e1bd"}.fa-input-pipe{--fa:"\e1be"}.fa-input-text{--fa:"\e1bf"}.fa-keyboard-brightness{--fa:"\e1c0"}.fa-keyboard-brightness-low{--fa:"\e1c1"}.fa-keyboard-down{--fa:"\e1c2"}.fa-keyboard-left{--fa:"\e1c3"}.fa-kip-sign{--fa:"\e1c4"}.fa-lamp-street{--fa:"\e1c5"}.fa-laptop-arrow-down{--fa:"\e1c6"}.fa-laptop-slash{--fa:"\e1c7"}.fa-lari-sign{--fa:"\e1c8"}.fa-lasso-sparkles{--fa:"\e1c9"}.fa-lightbulb-exclamation-on{--fa:"\e1ca"}.fa-chain-horizontal,.fa-link-horizontal{--fa:"\e1cb"}.fa-chain-horizontal-slash,.fa-link-horizontal-slash{--fa:"\e1cc"}.fa-link-simple{--fa:"\e1cd"}.fa-link-simple-slash{--fa:"\e1ce"}.fa-list-dropdown{--fa:"\e1cf"}.fa-list-radio{--fa:"\e1d0"}.fa-list-timeline{--fa:"\e1d1"}.fa-list-tree{--fa:"\e1d2"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-loader{--fa:"\e1d4"}.fa-manat-sign{--fa:"\e1d5"}.fa-manhole{--fa:"\e1d6"}.fa-mask-face{--fa:"\e1d7"}.fa-memo{--fa:"\e1d8"}.fa-memo-circle-check{--fa:"\e1d9"}.fa-memo-pad{--fa:"\e1da"}.fa-comment-alt-arrow-down,.fa-message-arrow-down{--fa:"\e1db"}.fa-comment-alt-arrow-up,.fa-message-arrow-up{--fa:"\e1dc"}.fa-message-arrow-up-right{--fa:"\e1dd"}.fa-comment-alt-captions,.fa-message-captions{--fa:"\e1de"}.fa-message-code{--fa:"\e1df"}.fa-comment-alt-image,.fa-message-image{--fa:"\e1e0"}.fa-comment-middle-alt,.fa-message-middle{--fa:"\e1e1"}.fa-comment-middle-top-alt,.fa-message-middle-top{--fa:"\e1e2"}.fa-message-question{--fa:"\e1e3"}.fa-comment-alt-quote,.fa-message-quote{--fa:"\e1e4"}.fa-message-sms{--fa:"\e1e5"}.fa-comment-alt-text,.fa-message-text{--fa:"\e1e6"}.fa-messages-question{--fa:"\e1e7"}.fa-meter{--fa:"\e1e8"}.fa-meter-bolt{--fa:"\e1e9"}.fa-meter-droplet{--fa:"\e1ea"}.fa-meter-fire{--fa:"\e1eb"}.fa-microchip-ai{--fa:"\e1ec"}.fa-mill-sign{--fa:"\e1ed"}.fa-mobile-iphone,.fa-mobile-notch{--fa:"\e1ee"}.fa-mobile-signal{--fa:"\e1ef"}.fa-mobile-signal-out{--fa:"\e1f0"}.fa-money-bill-simple{--fa:"\e1f1"}.fa-money-bill-simple-wave{--fa:"\e1f2"}.fa-money-bills{--fa:"\e1f3"}.fa-money-bills-alt,.fa-money-bills-simple{--fa:"\e1f4"}.fa-mug-tea-saucer{--fa:"\e1f5"}.fa-naira-sign{--fa:"\e1f6"}.fa-nfc{--fa:"\e1f7"}.fa-nfc-lock{--fa:"\e1f8"}.fa-nfc-magnifying-glass{--fa:"\e1f9"}.fa-nfc-pen{--fa:"\e1fa"}.fa-nfc-signal{--fa:"\e1fb"}.fa-nfc-slash{--fa:"\e1fc"}.fa-nfc-trash{--fa:"\e1fd"}.fa-notdef{--fa:"\e1fe"}.fa-note{--fa:"\e1ff"}.fa-note-medical{--fa:"\e200"}.fa-notebook{--fa:"\e201"}.fa-notes{--fa:"\e202"}.fa-octagon-divide{--fa:"\e203"}.fa-octagon-exclamation{--fa:"\e204"}.fa-oil-can-drip{--fa:"\e205"}.fa-paintbrush-pencil{--fa:"\e206"}.fa-pallet-box{--fa:"\e208"}.fa-panorama{--fa:"\e209"}.fa-paper-plane-alt,.fa-paper-plane-top,.fa-send{--fa:"\e20a"}.fa-peach{--fa:"\e20b"}.fa-pear{--fa:"\e20c"}.fa-pedestal{--fa:"\e20d"}.fa-pen-circle{--fa:"\e20e"}.fa-pen-alt-slash,.fa-pen-clip-slash{--fa:"\e20f"}.fa-pen-fancy-slash{--fa:"\e210"}.fa-pen-field{--fa:"\e211"}.fa-pen-line{--fa:"\e212"}.fa-pen-slash{--fa:"\e213"}.fa-pen-swirl{--fa:"\e214"}.fa-pencil-slash{--fa:"\e215"}.fa-people{--fa:"\e216"}.fa-people-dress{--fa:"\e217"}.fa-people-dress-simple{--fa:"\e218"}.fa-people-pants{--fa:"\e219"}.fa-people-pants-simple{--fa:"\e21a"}.fa-people-simple{--fa:"\e21b"}.fa-person-dress-simple{--fa:"\e21c"}.fa-person-pinball{--fa:"\e21d"}.fa-person-seat{--fa:"\e21e"}.fa-person-seat-reclined{--fa:"\e21f"}.fa-person-simple{--fa:"\e220"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-phone-arrow-down,.fa-phone-arrow-down-left,.fa-phone-incoming{--fa:"\e223"}.fa-phone-arrow-up,.fa-phone-arrow-up-right,.fa-phone-outgoing{--fa:"\e224"}.fa-phone-hangup{--fa:"\e225"}.fa-phone-missed{--fa:"\e226"}.fa-phone-xmark{--fa:"\e227"}.fa-photo-film-music{--fa:"\e228"}.fa-pinball{--fa:"\e229"}.fa-plane-prop{--fa:"\e22b"}.fa-plane-tail{--fa:"\e22c"}.fa-plane-up{--fa:"\e22d"}.fa-plane-up-slash{--fa:"\e22e"}.fa-play-pause{--fa:"\e22f"}.fa-puzzle-piece-alt,.fa-puzzle-piece-simple{--fa:"\e231"}.fa-quotes{--fa:"\e234"}.fa-pro,.fa-rectangle-pro{--fa:"\e235"}.fa-rectangle-terminal{--fa:"\e236"}.fa-rectangle-vertical-history{--fa:"\e237"}.fa-reel{--fa:"\e238"}.fa-reply-clock,.fa-reply-time{--fa:"\e239"}.fa-restroom-simple{--fa:"\e23a"}.fa-rhombus{--fa:"\e23b"}.fa-rotate-exclamation{--fa:"\e23c"}.fa-rupiah-sign{--fa:"\e23d"}.fa-screencast{--fa:"\e23e"}.fa-scribble{--fa:"\e23f"}.fa-sd-cards{--fa:"\e240"}.fa-seal{--fa:"\e241"}.fa-seal-exclamation{--fa:"\e242"}.fa-seal-question{--fa:"\e243"}.fa-seat-airline{--fa:"\e244"}.fa-shelves-empty{--fa:"\e246"}.fa-shield-exclamation{--fa:"\e247"}.fa-shield-keyhole{--fa:"\e248"}.fa-shield-minus{--fa:"\e249"}.fa-shield-plus{--fa:"\e24a"}.fa-shield-slash{--fa:"\e24b"}.fa-shield-times,.fa-shield-xmark{--fa:"\e24c"}.fa-shower-alt,.fa-shower-down{--fa:"\e24d"}.fa-sidebar{--fa:"\e24e"}.fa-sidebar-flip{--fa:"\e24f"}.fa-signal-stream-slash{--fa:"\e250"}.fa-sim-cards{--fa:"\e251"}.fa-slider{--fa:"\e252"}.fa-sliders-simple{--fa:"\e253"}.fa-split{--fa:"\e254"}.fa-square-0{--fa:"\e255"}.fa-square-1{--fa:"\e256"}.fa-square-2{--fa:"\e257"}.fa-square-3{--fa:"\e258"}.fa-square-4{--fa:"\e259"}.fa-square-5{--fa:"\e25a"}.fa-square-6{--fa:"\e25b"}.fa-square-7{--fa:"\e25c"}.fa-square-8{--fa:"\e25d"}.fa-square-9{--fa:"\e25e"}.fa-square-a{--fa:"\e25f"}.fa-square-ampersand{--fa:"\e260"}.fa-square-arrow-down-left{--fa:"\e261"}.fa-square-arrow-down-right{--fa:"\e262"}.fa-square-arrow-up-left{--fa:"\e263"}.fa-square-b{--fa:"\e264"}.fa-square-bolt{--fa:"\e265"}.fa-square-c{--fa:"\e266"}.fa-square-code{--fa:"\e267"}.fa-square-d{--fa:"\e268"}.fa-square-dashed{--fa:"\e269"}.fa-square-divide{--fa:"\e26a"}.fa-square-down-left{--fa:"\e26b"}.fa-square-down-right{--fa:"\e26c"}.fa-square-e{--fa:"\e26d"}.fa-square-ellipsis{--fa:"\e26e"}.fa-square-ellipsis-vertical{--fa:"\e26f"}.fa-square-f{--fa:"\e270"}.fa-square-g{--fa:"\e271"}.fa-square-i{--fa:"\e272"}.fa-square-j{--fa:"\e273"}.fa-square-k{--fa:"\e274"}.fa-square-l{--fa:"\e275"}.fa-square-m{--fa:"\e276"}.fa-square-n{--fa:"\e277"}.fa-square-o{--fa:"\e278"}.fa-square-p{--fa:"\e279"}.fa-phone-square-down,.fa-square-phone-hangup{--fa:"\e27a"}.fa-square-q{--fa:"\e27b"}.fa-square-r{--fa:"\e27c"}.fa-square-s{--fa:"\e27d"}.fa-square-small{--fa:"\e27e"}.fa-square-star{--fa:"\e27f"}.fa-square-t{--fa:"\e280"}.fa-square-u{--fa:"\e281"}.fa-square-up-left{--fa:"\e282"}.fa-square-user{--fa:"\e283"}.fa-square-v{--fa:"\e284"}.fa-square-w{--fa:"\e285"}.fa-square-x{--fa:"\e286"}.fa-square-y{--fa:"\e287"}.fa-square-z{--fa:"\e288"}.fa-stairs{--fa:"\e289"}.fa-rectangle-sd,.fa-standard-definition{--fa:"\e28a"}.fa-star-sharp{--fa:"\e28b"}.fa-star-sharp-half{--fa:"\e28c"}.fa-star-sharp-half-alt,.fa-star-sharp-half-stroke{--fa:"\e28d"}.fa-starfighter-alt-advanced,.fa-starfighter-twin-ion-engine-advanced{--fa:"\e28e"}.fa-sun-alt,.fa-sun-bright{--fa:"\e28f"}.fa-table-layout{--fa:"\e290"}.fa-table-pivot{--fa:"\e291"}.fa-rows,.fa-table-rows{--fa:"\e292"}.fa-table-tree{--fa:"\e293"}.fa-tally-1{--fa:"\e294"}.fa-tally-2{--fa:"\e295"}.fa-tally-3{--fa:"\e296"}.fa-tally-4{--fa:"\e297"}.fa-taxi-bus{--fa:"\e298"}.fa-temperature-list{--fa:"\e299"}.fa-ticket-airline,.fa-ticket-perforated-plane,.fa-ticket-plane{--fa:"\e29a"}.fa-tickets-airline,.fa-tickets-perforated-plane,.fa-tickets-plane{--fa:"\e29b"}.fa-timeline{--fa:"\e29c"}.fa-timeline-arrow{--fa:"\e29d"}.fa-timer{--fa:"\e29e"}.fa-toilet-paper-blank-under,.fa-toilet-paper-reverse,.fa-toilet-paper-reverse-alt,.fa-toilet-paper-under{--fa:"\e2a0"}.fa-toilet-paper-reverse-slash,.fa-toilet-paper-under-slash{--fa:"\e2a1"}.fa-tower-control{--fa:"\e2a2"}.fa-subway-tunnel,.fa-train-subway-tunnel{--fa:"\e2a3"}.fa-transformer-bolt{--fa:"\e2a4"}.fa-transporter-4{--fa:"\e2a5"}.fa-transporter-5{--fa:"\e2a6"}.fa-transporter-6{--fa:"\e2a7"}.fa-transporter-7{--fa:"\e2a8"}.fa-trash-can-check{--fa:"\e2a9"}.fa-trash-can-clock{--fa:"\e2aa"}.fa-trash-can-list{--fa:"\e2ab"}.fa-trash-can-plus{--fa:"\e2ac"}.fa-trash-alt-slash,.fa-trash-can-slash{--fa:"\e2ad"}.fa-trash-can-xmark{--fa:"\e2ae"}.fa-trash-check{--fa:"\e2af"}.fa-trash-clock{--fa:"\e2b0"}.fa-trash-list{--fa:"\e2b1"}.fa-trash-plus{--fa:"\e2b2"}.fa-trash-slash{--fa:"\e2b3"}.fa-trash-xmark{--fa:"\e2b4"}.fa-truck-container-empty{--fa:"\e2b5"}.fa-truck-flatbed{--fa:"\e2b6"}.fa-truck-front{--fa:"\e2b7"}.fa-truck-tow{--fa:"\e2b8"}.fa-teletype-answer,.fa-tty-answer{--fa:"\e2b9"}.fa-tugrik-sign{--fa:"\e2ba"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-umbrella-alt,.fa-umbrella-simple{--fa:"\e2bc"}.fa-up-left{--fa:"\e2bd"}.fa-up-right{--fa:"\e2be"}.fa-user-bounty-hunter{--fa:"\e2bf"}.fa-user-pilot{--fa:"\e2c0"}.fa-user-pilot-tie{--fa:"\e2c1"}.fa-user-shakespeare{--fa:"\e2c2"}.fa-utility-pole{--fa:"\e2c3"}.fa-utility-pole-double{--fa:"\e2c4"}.fa-vault{--fa:"\e2c5"}.fa-video-arrow-down-left{--fa:"\e2c8"}.fa-video-arrow-up-right{--fa:"\e2c9"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-watch-apple{--fa:"\e2cb"}.fa-watch-smart{--fa:"\e2cc"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-wifi-exclamation{--fa:"\e2cf"}.fa-wrench-simple{--fa:"\e2d1"}.fa-robot-astromech{--fa:"\e2d2"}.fa-360-degrees{--fa:"\e2dc"}.fa-aperture{--fa:"\e2df"}.fa-arrow-turn-down-left{--fa:"\e2e1"}.fa-balloon{--fa:"\e2e3"}.fa-balloons{--fa:"\e2e4"}.fa-banana{--fa:"\e2e5"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bench-tree{--fa:"\e2e7"}.fa-blueberries{--fa:"\e2e8"}.fa-bowl-chopsticks{--fa:"\e2e9"}.fa-bowl-chopsticks-noodles{--fa:"\e2ea"}.fa-bowl-rice{--fa:"\e2eb"}.fa-briefcase-arrow-right{--fa:"\e2f2"}.fa-citrus{--fa:"\e2f4"}.fa-citrus-slice{--fa:"\e2f5"}.fa-coconut{--fa:"\e2f6"}.fa-desktop-slash,.fa-display-slash{--fa:"\e2fa"}.fa-exploding-head,.fa-face-explode{--fa:"\e2fe"}.fa-face-viewfinder{--fa:"\e2ff"}.fa-family{--fa:"\e300"}.fa-family-dress{--fa:"\e301"}.fa-family-pants{--fa:"\e302"}.fa-fence{--fa:"\e303"}.fa-fish-bones{--fa:"\e304"}.fa-grapes{--fa:"\e306"}.fa-kiwi-fruit{--fa:"\e30c"}.fa-mango{--fa:"\e30f"}.fa-melon{--fa:"\e310"}.fa-melon-slice{--fa:"\e311"}.fa-money-from-bracket{--fa:"\e312"}.fa-money-simple-from-bracket{--fa:"\e313"}.fa-olive{--fa:"\e316"}.fa-olive-branch{--fa:"\e317"}.fa-option{--fa:"\e318"}.fa-party-bell{--fa:"\e31a"}.fa-party-horn{--fa:"\e31b"}.fa-peapod{--fa:"\e31c"}.fa-person-pregnant{--fa:"\e31e"}.fa-pineapple{--fa:"\e31f"}.fa-rectangle-code{--fa:"\e322"}.fa-rectangles-mixed{--fa:"\e323"}.fa-roller-coaster{--fa:"\e324"}.fa-square-quote{--fa:"\e329"}.fa-square-terminal{--fa:"\e32a"}.fa-strawberry{--fa:"\e32b"}.fa-table-picnic{--fa:"\e32d"}.fa-thought-bubble{--fa:"\e32e"}.fa-tick{--fa:"\e32f"}.fa-tomato{--fa:"\e330"}.fa-turn-down-left{--fa:"\e331"}.fa-user-police{--fa:"\e333"}.fa-user-police-tie{--fa:"\e334"}.fa-watermelon-slice{--fa:"\e337"}.fa-wheat-awn-slash{--fa:"\e338"}.fa-wheat-slash{--fa:"\e339"}.fa-badminton{--fa:"\e33a"}.fa-binary{--fa:"\e33b"}.fa-binary-circle-check{--fa:"\e33c"}.fa-binary-lock{--fa:"\e33d"}.fa-binary-slash{--fa:"\e33e"}.fa-boot-heeled{--fa:"\e33f"}.fa-car-bolt{--fa:"\e341"}.fa-car-circle-bolt{--fa:"\e342"}.fa-car-mirrors{--fa:"\e343"}.fa-car-side-bolt{--fa:"\e344"}.fa-clock-eight{--fa:"\e345"}.fa-clock-eight-thirty{--fa:"\e346"}.fa-clock-eleven{--fa:"\e347"}.fa-clock-eleven-thirty{--fa:"\e348"}.fa-clock-five{--fa:"\e349"}.fa-clock-five-thirty{--fa:"\e34a"}.fa-clock-four-thirty{--fa:"\e34b"}.fa-clock-nine{--fa:"\e34c"}.fa-clock-nine-thirty{--fa:"\e34d"}.fa-clock-one{--fa:"\e34e"}.fa-clock-one-thirty{--fa:"\e34f"}.fa-clock-seven{--fa:"\e350"}.fa-clock-seven-thirty{--fa:"\e351"}.fa-clock-six{--fa:"\e352"}.fa-clock-six-thirty{--fa:"\e353"}.fa-clock-ten{--fa:"\e354"}.fa-clock-ten-thirty{--fa:"\e355"}.fa-clock-three{--fa:"\e356"}.fa-clock-three-thirty{--fa:"\e357"}.fa-clock-twelve{--fa:"\e358"}.fa-clock-twelve-thirty{--fa:"\e359"}.fa-clock-two{--fa:"\e35a"}.fa-clock-two-thirty{--fa:"\e35b"}.fa-cloud-check{--fa:"\e35c"}.fa-cloud-minus{--fa:"\e35d"}.fa-cloud-plus{--fa:"\e35e"}.fa-cloud-xmark{--fa:"\e35f"}.fa-columns-3{--fa:"\e361"}.fa-crystal-ball{--fa:"\e362"}.fa-cup-straw{--fa:"\e363"}.fa-cup-straw-swoosh{--fa:"\e364"}.fa-distribute-spacing-horizontal{--fa:"\e365"}.fa-distribute-spacing-vertical{--fa:"\e366"}.fa-eyes{--fa:"\e367"}.fa-face-angry-horns{--fa:"\e368"}.fa-face-anguished{--fa:"\e369"}.fa-face-anxious-sweat{--fa:"\e36a"}.fa-face-astonished{--fa:"\e36b"}.fa-face-confounded{--fa:"\e36c"}.fa-face-confused{--fa:"\e36d"}.fa-face-cowboy-hat{--fa:"\e36e"}.fa-face-disappointed{--fa:"\e36f"}.fa-face-disguise{--fa:"\e370"}.fa-face-downcast-sweat{--fa:"\e371"}.fa-face-drooling{--fa:"\e372"}.fa-face-expressionless{--fa:"\e373"}.fa-face-eyes-xmarks{--fa:"\e374"}.fa-face-fearful{--fa:"\e375"}.fa-face-frown-slight{--fa:"\e376"}.fa-face-glasses{--fa:"\e377"}.fa-face-hand-over-mouth{--fa:"\e378"}.fa-face-hand-yawn{--fa:"\e379"}.fa-face-head-bandage{--fa:"\e37a"}.fa-face-hushed{--fa:"\e37b"}.fa-face-icicles{--fa:"\e37c"}.fa-face-kiss-closed-eyes{--fa:"\e37d"}.fa-face-lying{--fa:"\e37e"}.fa-face-mask{--fa:"\e37f"}.fa-face-monocle{--fa:"\e380"}.fa-face-nauseated{--fa:"\e381"}.fa-face-nose-steam{--fa:"\e382"}.fa-face-party{--fa:"\e383"}.fa-face-pensive{--fa:"\e384"}.fa-face-persevering{--fa:"\e385"}.fa-face-pleading{--fa:"\e386"}.fa-face-pouting{--fa:"\e387"}.fa-face-raised-eyebrow{--fa:"\e388"}.fa-face-relieved{--fa:"\e389"}.fa-face-sad-sweat{--fa:"\e38a"}.fa-face-scream{--fa:"\e38b"}.fa-face-shush{--fa:"\e38c"}.fa-face-sleeping{--fa:"\e38d"}.fa-face-sleepy{--fa:"\e38e"}.fa-face-smile-halo{--fa:"\e38f"}.fa-face-smile-hearts{--fa:"\e390"}.fa-face-smile-horns{--fa:"\e391"}.fa-face-smile-relaxed{--fa:"\e392"}.fa-face-smile-tear{--fa:"\e393"}.fa-face-smile-tongue{--fa:"\e394"}.fa-face-smile-upside-down{--fa:"\e395"}.fa-face-smiling-hands{--fa:"\e396"}.fa-face-smirking{--fa:"\e397"}.fa-face-sunglasses{--fa:"\e398"}.fa-face-swear{--fa:"\e399"}.fa-face-thermometer{--fa:"\e39a"}.fa-face-thinking{--fa:"\e39b"}.fa-face-tissue{--fa:"\e39c"}.fa-face-tongue-money{--fa:"\e39d"}.fa-face-tongue-sweat{--fa:"\e39e"}.fa-face-unamused{--fa:"\e39f"}.fa-face-vomit{--fa:"\e3a0"}.fa-face-weary{--fa:"\e3a1"}.fa-face-woozy{--fa:"\e3a2"}.fa-face-worried{--fa:"\e3a3"}.fa-face-zany{--fa:"\e3a4"}.fa-face-zipper{--fa:"\e3a5"}.fa-file-lock{--fa:"\e3a6"}.fa-file-slash{--fa:"\e3a7"}.fa-fishing-rod{--fa:"\e3a8"}.fa-flying-disc{--fa:"\e3a9"}.fa-gallery-thumbnails{--fa:"\e3aa"}.fa-goal-net{--fa:"\e3ab"}.fa-golf-flag-hole{--fa:"\e3ac"}.fa-grid-dividers{--fa:"\e3ad"}.fa-hockey-stick-puck{--fa:"\e3ae"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-chimney-blank{--fa:"\e3b0"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-house-window{--fa:"\e3b3"}.fa-key-skeleton-left-right{--fa:"\e3b4"}.fa-lacrosse-stick{--fa:"\e3b5"}.fa-lacrosse-stick-ball{--fa:"\e3b6"}.fa-mask-snorkel{--fa:"\e3b7"}.fa-message-bot{--fa:"\e3b8"}.fa-moped{--fa:"\e3b9"}.fa-nesting-dolls{--fa:"\e3ba"}.fa-objects-align-bottom{--fa:"\e3bb"}.fa-objects-align-center-horizontal{--fa:"\e3bc"}.fa-objects-align-center-vertical{--fa:"\e3bd"}.fa-objects-align-left{--fa:"\e3be"}.fa-objects-align-right{--fa:"\e3bf"}.fa-objects-align-top{--fa:"\e3c0"}.fa-objects-column{--fa:"\e3c1"}.fa-paperclip-vertical{--fa:"\e3c2"}.fa-pinata{--fa:"\e3c3"}.fa-pipe-smoking{--fa:"\e3c4"}.fa-pool-8-ball{--fa:"\e3c5"}.fa-rugby-ball{--fa:"\e3c6"}.fa-shirt-long-sleeve{--fa:"\e3c7"}.fa-shirt-running{--fa:"\e3c8"}.fa-shirt-tank-top{--fa:"\e3c9"}.fa-signature-lock{--fa:"\e3ca"}.fa-signature-slash{--fa:"\e3cb"}.fa-ski-boot{--fa:"\e3cc"}.fa-ski-boot-ski{--fa:"\e3cd"}.fa-slot-machine{--fa:"\e3ce"}.fa-teddy-bear{--fa:"\e3cf"}.fa-truck-bolt{--fa:"\e3d0"}.fa-uniform-martial-arts{--fa:"\e3d1"}.fa-user-chef{--fa:"\e3d2"}.fa-user-hair-buns{--fa:"\e3d3"}.fa-arrow-left-long-to-line{--fa:"\e3d4"}.fa-arrow-right-long-to-line{--fa:"\e3d5"}.fa-arrow-turn-down-right{--fa:"\e3d6"}.fa-bagel{--fa:"\e3d7"}.fa-baguette{--fa:"\e3d8"}.fa-blanket-fire{--fa:"\e3da"}.fa-block-brick,.fa-wall-brick{--fa:"\e3db"}.fa-block-brick-fire,.fa-firewall{--fa:"\e3dc"}.fa-block-question{--fa:"\e3dd"}.fa-bowl-scoop,.fa-bowl-shaved-ice{--fa:"\e3de"}.fa-bowl-scoops{--fa:"\e3df"}.fa-bowl-spoon{--fa:"\e3e0"}.fa-bread-slice-butter{--fa:"\e3e1"}.fa-broccoli{--fa:"\e3e2"}.fa-burger-lettuce{--fa:"\e3e3"}.fa-butter{--fa:"\e3e4"}.fa-cake-slice,.fa-shortcake{--fa:"\e3e5"}.fa-can-food{--fa:"\e3e6"}.fa-candy{--fa:"\e3e7"}.fa-candy-bar,.fa-chocolate-bar{--fa:"\e3e8"}.fa-card-club{--fa:"\e3e9"}.fa-card-diamond{--fa:"\e3ea"}.fa-card-heart{--fa:"\e3eb"}.fa-card-spade{--fa:"\e3ec"}.fa-cards{--fa:"\e3ed"}.fa-cart-arrow-up{--fa:"\e3ee"}.fa-cart-circle-arrow-down{--fa:"\e3ef"}.fa-cart-circle-arrow-up{--fa:"\e3f0"}.fa-cart-circle-check{--fa:"\e3f1"}.fa-cart-circle-exclamation{--fa:"\e3f2"}.fa-cart-circle-plus{--fa:"\e3f3"}.fa-cart-circle-xmark{--fa:"\e3f4"}.fa-cent-sign{--fa:"\e3f5"}.fa-chestnut{--fa:"\e3f6"}.fa-chopsticks{--fa:"\e3f7"}.fa-circle-quarters{--fa:"\e3f8"}.fa-code-pull-request-closed{--fa:"\e3f9"}.fa-code-pull-request-draft{--fa:"\e3fa"}.fa-coin-blank{--fa:"\e3fb"}.fa-coin-front{--fa:"\e3fc"}.fa-coin-vertical{--fa:"\e3fd"}.fa-corner{--fa:"\e3fe"}.fa-crab{--fa:"\e3ff"}.fa-creemee,.fa-soft-serve{--fa:"\e400"}.fa-cucumber{--fa:"\e401"}.fa-cupcake{--fa:"\e402"}.fa-custard{--fa:"\e403"}.fa-dash,.fa-minus-large{--fa:"\e404"}.fa-diamond-exclamation{--fa:"\e405"}.fa-donut,.fa-doughnut{--fa:"\e406"}.fa-down-from-dotted-line{--fa:"\e407"}.fa-down-to-dotted-line{--fa:"\e408"}.fa-face-awesome,.fa-gave-dandy{--fa:"\e409"}.fa-falafel{--fa:"\e40a"}.fa-flatbread{--fa:"\e40b"}.fa-flatbread-stuffed{--fa:"\e40c"}.fa-fondue-pot{--fa:"\e40d"}.fa-garlic{--fa:"\e40e"}.fa-grip-dots{--fa:"\e410"}.fa-grip-dots-vertical{--fa:"\e411"}.fa-h5{--fa:"\e412"}.fa-h6{--fa:"\e413"}.fa-hammer-crash{--fa:"\e414"}.fa-hashtag-lock{--fa:"\e415"}.fa-hexagon-check{--fa:"\e416"}.fa-hexagon-exclamation{--fa:"\e417"}.fa-honey-pot{--fa:"\e418"}.fa-hose{--fa:"\e419"}.fa-hose-reel{--fa:"\e41a"}.fa-hourglass-clock{--fa:"\e41b"}.fa-100,.fa-hundred-points{--fa:"\e41c"}.fa-leafy-green{--fa:"\e41d"}.fa-left-long-to-line{--fa:"\e41e"}.fa-light-emergency{--fa:"\e41f"}.fa-light-emergency-on{--fa:"\e420"}.fa-lobster{--fa:"\e421"}.fa-lock-a{--fa:"\e422"}.fa-lock-hashtag{--fa:"\e423"}.fa-lollipop,.fa-lollypop{--fa:"\e424"}.fa-mushroom{--fa:"\e425"}.fa-octagon-check{--fa:"\e426"}.fa-onion{--fa:"\e427"}.fa-page{--fa:"\e428"}.fa-file-caret-down,.fa-page-caret-down{--fa:"\e429"}.fa-file-caret-up,.fa-page-caret-up{--fa:"\e42a"}.fa-pan-food{--fa:"\e42b"}.fa-pan-frying{--fa:"\e42c"}.fa-pancakes{--fa:"\e42d"}.fa-panel-ews{--fa:"\e42e"}.fa-panel-fire{--fa:"\e42f"}.fa-peanut{--fa:"\e430"}.fa-peanuts{--fa:"\e431"}.fa-pepper{--fa:"\e432"}.fa-person-to-door{--fa:"\e433"}.fa-phone-intercom{--fa:"\e434"}.fa-pickleball{--fa:"\e435"}.fa-pipe-circle-check{--fa:"\e436"}.fa-pipe-collar{--fa:"\e437"}.fa-pipe-section{--fa:"\e438"}.fa-pipe-valve{--fa:"\e439"}.fa-plate-utensils{--fa:"\e43b"}.fa-plus-minus{--fa:"\e43c"}.fa-pompebled{--fa:"\e43d"}.fa-popsicle{--fa:"\e43e"}.fa-pot-food{--fa:"\e43f"}.fa-potato{--fa:"\e440"}.fa-pretzel{--fa:"\e441"}.fa-pump{--fa:"\e442"}.fa-puzzle{--fa:"\e443"}.fa-right-long-to-line{--fa:"\e444"}.fa-sailboat{--fa:"\e445"}.fa-salt-shaker{--fa:"\e446"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-shutters{--fa:"\e449"}.fa-sportsball{--fa:"\e44b"}.fa-sprinkler-ceiling{--fa:"\e44c"}.fa-square-a-lock{--fa:"\e44d"}.fa-square-quarters{--fa:"\e44e"}.fa-square-ring{--fa:"\e44f"}.fa-squid{--fa:"\e450"}.fa-tamale{--fa:"\e451"}.fa-tank-water{--fa:"\e452"}.fa-train-track{--fa:"\e453"}.fa-train-tunnel{--fa:"\e454"}.fa-turn-down-right{--fa:"\e455"}.fa-up-from-dotted-line{--fa:"\e456"}.fa-up-to-dotted-line{--fa:"\e457"}.fa-user-doctor-hair{--fa:"\e458"}.fa-user-doctor-hair-long{--fa:"\e459"}.fa-user-hair{--fa:"\e45a"}.fa-user-hair-long{--fa:"\e45b"}.fa-business-front,.fa-party-back,.fa-trian-balbot,.fa-user-hair-mullet{--fa:"\e45c"}.fa-user-nurse-hair{--fa:"\e45d"}.fa-user-nurse-hair-long{--fa:"\e45e"}.fa-user-tie-hair{--fa:"\e45f"}.fa-user-tie-hair-long{--fa:"\e460"}.fa-user-vneck{--fa:"\e461"}.fa-user-vneck-hair{--fa:"\e462"}.fa-user-vneck-hair-long{--fa:"\e463"}.fa-utensils-slash{--fa:"\e464"}.fa-vent-damper{--fa:"\e465"}.fa-waffle{--fa:"\e466"}.fa-00{--fa:"\e467"}.fa-apartment{--fa:"\e468"}.fa-bird{--fa:"\e469"}.fa-block{--fa:"\e46a"}.fa-bowl-soft-serve{--fa:"\e46b"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-cabin{--fa:"\e46d"}.fa-calendar-circle-exclamation{--fa:"\e46e"}.fa-calendar-circle-minus{--fa:"\e46f"}.fa-calendar-circle-plus{--fa:"\e470"}.fa-calendar-circle-user{--fa:"\e471"}.fa-calendar-lines-pen{--fa:"\e472"}.fa-chart-simple{--fa:"\e473"}.fa-chart-simple-horizontal{--fa:"\e474"}.fa-diagram-cells{--fa:"\e475"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-previous{--fa:"\e478"}.fa-diagram-subtask{--fa:"\e479"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-face-beam-hand-over-mouth{--fa:"\e47c"}.fa-face-clouds{--fa:"\e47d"}.fa-face-diagonal-mouth{--fa:"\e47e"}.fa-face-dotted{--fa:"\e47f"}.fa-face-exhaling{--fa:"\e480"}.fa-face-hand-peeking{--fa:"\e481"}.fa-face-holding-back-tears{--fa:"\e482"}.fa-face-melting{--fa:"\e483"}.fa-face-saluting{--fa:"\e484"}.fa-face-spiral-eyes{--fa:"\e485"}.fa-fort{--fa:"\e486"}.fa-home-blank,.fa-house-blank{--fa:"\e487"}.fa-square-kanban{--fa:"\e488"}.fa-square-list{--fa:"\e489"}.fa-nigiri,.fa-sushi{--fa:"\e48a"}.fa-maki-roll,.fa-makizushi,.fa-sushi-roll{--fa:"\e48b"}.fa-album-circle-plus{--fa:"\e48c"}.fa-album-circle-user{--fa:"\e48d"}.fa-album-collection-circle-plus{--fa:"\e48e"}.fa-album-collection-circle-user{--fa:"\e48f"}.fa-bug-slash{--fa:"\e490"}.fa-cloud-exclamation{--fa:"\e491"}.fa-cloud-question{--fa:"\e492"}.fa-file-circle-info{--fa:"\e493"}.fa-file-circle-plus{--fa:"\e494"}.fa-frame{--fa:"\e495"}.fa-gauge-circle-bolt{--fa:"\e496"}.fa-gauge-circle-minus{--fa:"\e497"}.fa-gauge-circle-plus{--fa:"\e498"}.fa-memo-circle-info{--fa:"\e49a"}.fa-object-exclude{--fa:"\e49c"}.fa-object-intersect{--fa:"\e49d"}.fa-object-subtract{--fa:"\e49e"}.fa-object-union{--fa:"\e49f"}.fa-pen-nib-slash{--fa:"\e4a1"}.fa-rectangle-history{--fa:"\e4a2"}.fa-rectangle-history-circle-plus{--fa:"\e4a3"}.fa-rectangle-history-circle-user{--fa:"\e4a4"}.fa-shop-lock{--fa:"\e4a5"}.fa-store-lock{--fa:"\e4a6"}.fa-user-robot-xmarks{--fa:"\e4a7"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-to-arc{--fa:"\e4ae"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-from-arc{--fa:"\e4b1"}.fa-arrow-right-to-arc{--fa:"\e4b2"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-arc{--fa:"\e4b4"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-suspension{--fa:"\e4cd"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-cards-blank{--fa:"\e4df"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-down-to-bracket{--fa:"\e4e7"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hexagon-image{--fa:"\e504"}.fa-hexagon-vertical-nft,.fa-hexagon-vertical-nft-slanted{--fa:"\e505"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventilator{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-merge{--fa:"\e526"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-shield-quartered{--fa:"\e575"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trillium{--fa:"\e588"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-up-from-bracket{--fa:"\e590"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-xmark-large{--fa:"\e59b"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-plus-large{--fa:"\e59e"}.fa-crosshairs-simple{--fa:"\e59f"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-gamepad-alt,.fa-gamepad-modern{--fa:"\e5a2"}.fa-grill{--fa:"\e5a3"}.fa-grill-fire{--fa:"\e5a4"}.fa-grill-hot{--fa:"\e5a5"}.fa-lightbulb-cfl{--fa:"\e5a6"}.fa-lightbulb-cfl-on{--fa:"\e5a7"}.fa-mouse-field{--fa:"\e5a8"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-ring-diamond{--fa:"\e5ab"}.fa-stapler{--fa:"\e5af"}.fa-toggle-large-off{--fa:"\e5b0"}.fa-toggle-large-on{--fa:"\e5b1"}.fa-toilet-paper-check{--fa:"\e5b2"}.fa-toilet-paper-xmark{--fa:"\e5b3"}.fa-train-tram{--fa:"\e5b4"}.fa-buoy{--fa:"\e5b5"}.fa-buoy-mooring{--fa:"\e5b6"}.fa-diamond-half{--fa:"\e5b7"}.fa-diamond-half-stroke{--fa:"\e5b8"}.fa-game-console-handheld-crank{--fa:"\e5b9"}.fa-interrobang{--fa:"\e5ba"}.fa-mailbox-flag-up{--fa:"\e5bb"}.fa-mustache{--fa:"\e5bc"}.fa-nose{--fa:"\e5bd"}.fa-phone-arrow-right{--fa:"\e5be"}.fa-pickaxe{--fa:"\e5bf"}.fa-prescription-bottle-pill{--fa:"\e5c0"}.fa-snowflake-droplets{--fa:"\e5c1"}.fa-square-dashed-circle-plus{--fa:"\e5c2"}.fa-tricycle{--fa:"\e5c3"}.fa-tricycle-adult{--fa:"\e5c4"}.fa-user-magnifying-glass{--fa:"\e5c5"}.fa-comment-heart{--fa:"\e5c8"}.fa-message-heart{--fa:"\e5c9"}.fa-pencil-mechanical{--fa:"\e5ca"}.fa-skeleton-ribs{--fa:"\e5cb"}.fa-billboard{--fa:"\e5cd"}.fa-circle-euro{--fa:"\e5ce"}.fa-circle-sterling{--fa:"\e5cf"}.fa-circle-yen{--fa:"\e5d0"}.fa-broom-wide{--fa:"\e5d1"}.fa-wreath-laurel{--fa:"\e5d2"}.fa-circle-quarter-stroke{--fa:"\e5d3"}.fa-circle-three-quarters-stroke{--fa:"\e5d4"}.fa-webhook{--fa:"\e5d5"}.fa-sparkle{--fa:"\e5d6"}.fa-chart-line-up-down{--fa:"\e5d7"}.fa-chart-mixed-up-circle-currency{--fa:"\e5d8"}.fa-chart-mixed-up-circle-dollar{--fa:"\e5d9"}.fa-grid-round{--fa:"\e5da"}.fa-grid-round-2{--fa:"\e5db"}.fa-grid-round-2-plus{--fa:"\e5dc"}.fa-grid-round-4{--fa:"\e5dd"}.fa-grid-round-5{--fa:"\e5de"}.fa-arrow-progress{--fa:"\e5df"}.fa-right-left-large{--fa:"\e5e1"}.fa-calendar-users{--fa:"\e5e2"}.fa-display-chart-up{--fa:"\e5e3"}.fa-display-chart-up-circle-currency{--fa:"\e5e5"}.fa-display-chart-up-circle-dollar{--fa:"\e5e6"}.fa-laptop-binary{--fa:"\e5e7"}.fa-gear-code{--fa:"\e5e8"}.fa-gear-complex{--fa:"\e5e9"}.fa-gear-complex-code{--fa:"\e5eb"}.fa-file-doc{--fa:"\e5ed"}.fa-file-zip{--fa:"\e5ee"}.fa-flask-gear{--fa:"\e5f1"}.fa-bag-seedling{--fa:"\e5f2"}.fa-bin-bottles{--fa:"\e5f5"}.fa-bin-bottles-recycle{--fa:"\e5f6"}.fa-bin-recycle{--fa:"\e5f7"}.fa-conveyor-belt-arm{--fa:"\e5f8"}.fa-jug-bottle{--fa:"\e5fb"}.fa-lightbulb-gear{--fa:"\e5fd"}.fa-dinosaur{--fa:"\e5fe"}.fa-person-running-fast{--fa:"\e5ff"}.fa-circles-overlap{--fa:"\e600"}.fa-cloud-binary{--fa:"\e601"}.fa-chf-sign{--fa:"\e602"}.fa-user-group-simple{--fa:"\e603"}.fa-chart-pie-simple-circle-currency{--fa:"\e604"}.fa-chart-pie-simple-circle-dollar{--fa:"\e605"}.fa-hat-beach{--fa:"\e606"}.fa-person-dress-fairy{--fa:"\e607"}.fa-person-fairy{--fa:"\e608"}.fa-swap{--fa:"\e609"}.fa-swap-arrows{--fa:"\e60a"}.fa-angles-up-down{--fa:"\e60d"}.fa-globe-pointer{--fa:"\e60e"}.fa-subtitles{--fa:"\e60f"}.fa-subtitles-slash{--fa:"\e610"}.fa-head-side-gear{--fa:"\e611"}.fa-lighthouse{--fa:"\e612"}.fa-raccoon{--fa:"\e613"}.fa-arrow-down-from-arc{--fa:"\e614"}.fa-arrow-left-from-arc{--fa:"\e615"}.fa-arrow-left-to-arc{--fa:"\e616"}.fa-arrow-up-to-arc{--fa:"\e617"}.fa-building-magnifying-glass{--fa:"\e61c"}.fa-building-memo{--fa:"\e61e"}.fa-hammer-brush{--fa:"\e620"}.fa-hand-holding-circle-dollar{--fa:"\e621"}.fa-landmark-magnifying-glass{--fa:"\e622"}.fa-sign-post{--fa:"\e624"}.fa-sign-posts{--fa:"\e625"}.fa-sign-posts-wrench{--fa:"\e626"}.fa-tent-double-peak{--fa:"\e627"}.fa-truck-utensils{--fa:"\e628"}.fa-t-rex{--fa:"\e629"}.fa-spinner-scale{--fa:"\e62a"}.fa-bell-ring{--fa:"\e62c"}.fa-arrows-rotate-reverse{--fa:"\e630"}.fa-rotate-reverse{--fa:"\e631"}.fa-arrow-turn-left{--fa:"\e632"}.fa-arrow-turn-left-down{--fa:"\e633"}.fa-arrow-turn-left-up{--fa:"\e634"}.fa-arrow-turn-right{--fa:"\e635"}.fa-turn-left{--fa:"\e636"}.fa-turn-left-down{--fa:"\e637"}.fa-turn-left-up{--fa:"\e638"}.fa-turn-right{--fa:"\e639"}.fa-location-arrow-up{--fa:"\e63a"}.fa-ticket-perforated{--fa:"\e63e"}.fa-tickets-perforated{--fa:"\e63f"}.fa-cannon{--fa:"\e642"}.fa-court-sport{--fa:"\e643"}.fa-file-eps{--fa:"\e644"}.fa-file-gif{--fa:"\e645"}.fa-file-jpg{--fa:"\e646"}.fa-file-mov{--fa:"\e647"}.fa-file-mp3{--fa:"\e648"}.fa-file-mp4{--fa:"\e649"}.fa-file-ppt{--fa:"\e64a"}.fa-file-svg{--fa:"\e64b"}.fa-file-vector{--fa:"\e64c"}.fa-file-xls{--fa:"\e64d"}.fa-folder-check{--fa:"\e64e"}.fa-chart-kanban{--fa:"\e64f"}.fa-bag-shopping-minus{--fa:"\e650"}.fa-bag-shopping-plus{--fa:"\e651"}.fa-basket-shopping-minus{--fa:"\e652"}.fa-basket-shopping-plus{--fa:"\e653"}.fa-file-xml{--fa:"\e654"}.fa-bulldozer{--fa:"\e655"}.fa-excavator{--fa:"\e656"}.fa-truck-ladder{--fa:"\e657"}.fa-tickets{--fa:"\e658"}.fa-tickets-simple{--fa:"\e659"}.fa-truck-fire{--fa:"\e65a"}.fa-wave{--fa:"\e65b"}.fa-waves-sine{--fa:"\e65d"}.fa-magnifying-glass-arrows-rotate{--fa:"\e65e"}.fa-magnifying-glass-music{--fa:"\e65f"}.fa-magnifying-glass-play{--fa:"\e660"}.fa-magnifying-glass-waveform{--fa:"\e661"}.fa-music-magnifying-glass{--fa:"\e662"}.fa-reflect-horizontal{--fa:"\e664"}.fa-reflect-vertical{--fa:"\e665"}.fa-file-png{--fa:"\e666"}.fa-arrow-down-from-bracket{--fa:"\e667"}.fa-arrow-left-from-bracket{--fa:"\e668"}.fa-arrow-left-to-bracket{--fa:"\e669"}.fa-arrow-up-to-bracket{--fa:"\e66a"}.fa-down-from-bracket{--fa:"\e66b"}.fa-left-from-bracket{--fa:"\e66c"}.fa-left-to-bracket{--fa:"\e66d"}.fa-up-to-bracket{--fa:"\e66e"}.fa-reflect-both{--fa:"\e66f"}.fa-file-cad{--fa:"\e672"}.fa-bottle-baby{--fa:"\e673"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-lock{--fa:"\e679"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-circle-wifi{--fa:"\e67d"}.fa-circle-wifi-circle-wifi,.fa-circle-wifi-group{--fa:"\e67e"}.fa-circle-gf{--fa:"\e67f"}.fa-ant{--fa:"\e680"}.fa-caduceus{--fa:"\e681"}.fa-globe-wifi{--fa:"\e685"}.fa-hydra{--fa:"\e686"}.fa-lightbulb-message{--fa:"\e687"}.fa-octopus{--fa:"\e688"}.fa-user-beard-bolt{--fa:"\e689"}.fa-user-hoodie{--fa:"\e68a"}.fa-diamonds-4{--fa:"\e68b"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-column-unlock{--fa:"\e690"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-table-cells-unlock{--fa:"\e692"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-car-people,.fa-carpool{--fa:"\e69c"}.fa-chart-sine{--fa:"\e69d"}.fa-chart-fft{--fa:"\e69e"}.fa-circles-overlap-3,.fa-pronoun{--fa:"\e6a1"}.fa-bar-progress{--fa:"\e6a4"}.fa-bar-progress-empty{--fa:"\e6a5"}.fa-bar-progress-full{--fa:"\e6a6"}.fa-bar-progress-half{--fa:"\e6a7"}.fa-bar-progress-quarter{--fa:"\e6a8"}.fa-bar-progress-three-quarters{--fa:"\e6a9"}.fa-grid-2-minus{--fa:"\e6aa"}.fa-grid-round-2-minus{--fa:"\e6ab"}.fa-table-cells-columns{--fa:"\e6ac"}.fa-table-cells-header{--fa:"\e6ad"}.fa-table-cells-header-lock{--fa:"\e6ae"}.fa-table-cells-header-unlock{--fa:"\e6af"}.fa-table-cells-rows{--fa:"\e6b0"}.fa-circle-equals{--fa:"\e6b1"}.fa-hexagon-equals{--fa:"\e6b2"}.fa-octagon-equals{--fa:"\e6b3"}.fa-rectangle-minus{--fa:"\e6b4"}.fa-rectangle-plus{--fa:"\e6b5"}.fa-square-equals{--fa:"\e6b6"}.fa-arrow-down-long-to-line{--fa:"\e6b7"}.fa-arrow-left-arrow-right{--fa:"\e6b8"}.fa-arrow-left-from-dotted-line{--fa:"\e6b9"}.fa-arrow-left-to-dotted-line{--fa:"\e6ba"}.fa-arrow-right-from-dotted-line{--fa:"\e6bb"}.fa-arrow-right-to-dotted-line{--fa:"\e6bc"}.fa-arrow-up-long-to-line{--fa:"\e6bd"}.fa-direction-left-right{--fa:"\e6be"}.fa-direction-up-down{--fa:"\e6bf"}.fa-down-long-to-line{--fa:"\e6c0"}.fa-down-up{--fa:"\e6c1"}.fa-left-from-dotted-line{--fa:"\e6c2"}.fa-left-to-dotted-line{--fa:"\e6c3"}.fa-right-from-dotted-line{--fa:"\e6c4"}.fa-right-to-dotted-line{--fa:"\e6c5"}.fa-up-long-to-line{--fa:"\e6c6"}.fa-barn{--fa:"\e6c7"}.fa-circle-house{--fa:"\e6c8"}.fa-garage-empty{--fa:"\e6c9"}.fa-house-unlock{--fa:"\e6ca"}.fa-school-unlock{--fa:"\e6cb"}.fa-stadium{--fa:"\e6cc"}.fa-tent-circus{--fa:"\e6cd"}.fa-ball-yarn{--fa:"\e6ce"}.fa-bra{--fa:"\e6cf"}.fa-briefs{--fa:"\e6d0"}.fa-dress{--fa:"\e6d1"}.fa-jeans{--fa:"\e6d2"}.fa-jeans-straight{--fa:"\e6d3"}.fa-panties{--fa:"\e6d4"}.fa-pants{--fa:"\e6d5"}.fa-pants-straight{--fa:"\e6d6"}.fa-shirt-jersey{--fa:"\e6d7"}.fa-shoe{--fa:"\e6d8"}.fa-shorts{--fa:"\e6d9"}.fa-sneaker{--fa:"\e6da"}.fa-circle-share-nodes{--fa:"\e6db"}.fa-comment-dot{--fa:"\e6dc"}.fa-comment-waveform{--fa:"\e6dd"}.fa-envelope-circle-user{--fa:"\e6de"}.fa-message-dot{--fa:"\e6df"}.fa-message-waveform{--fa:"\e6e0"}.fa-phone-connection{--fa:"\e6e1"}.fa-phone-waveform{--fa:"\e6e2"}.fa-postage-stamp{--fa:"\e6e3"}.fa-circle-florin{--fa:"\e6e4"}.fa-circle-ruble{--fa:"\e6e5"}.fa-square-chf{--fa:"\e6e6"}.fa-square-lira{--fa:"\e6e7"}.fa-norwegian-krone-sign{--fa:"\e6e8"}.fa-circle-renminbi{--fa:"\e6e9"}.fa-square-peseta{--fa:"\e6ea"}.fa-circle-brazilian-real{--fa:"\e6eb"}.fa-circle-won{--fa:"\e6ec"}.fa-square-cruzeiro{--fa:"\e6ed"}.fa-circle-currency{--fa:"\e6ee"}.fa-circle-hryvnia{--fa:"\e6ef"}.fa-square-cent{--fa:"\e6f0"}.fa-square-brazilian-real{--fa:"\e6f1"}.fa-square-bitcoin{--fa:"\e6f2"}.fa-circle-peruvian-soles{--fa:"\e6f3"}.fa-circle-litecoin{--fa:"\e6f4"}.fa-square-indian-rupee{--fa:"\e6f5"}.fa-circle-lira{--fa:"\e6f6"}.fa-square-litecoin{--fa:"\e6f7"}.fa-square-ruble{--fa:"\e6f8"}.fa-circle-malaysian-ringgit{--fa:"\e6f9"}.fa-malaysian-ringgit-sign{--fa:"\e6fa"}.fa-circle-manat{--fa:"\e6fb"}.fa-circle-colon{--fa:"\e6fc"}.fa-circle-kip{--fa:"\e6fd"}.fa-australian-dollar-sign{--fa:"\e6fe"}.fa-circle-peso{--fa:"\e6ff"}.fa-circle-polish-zloty{--fa:"\e700"}.fa-circle-bangladeshi-taka{--fa:"\e701"}.fa-circle-mill{--fa:"\e702"}.fa-circle-shekel{--fa:"\e703"}.fa-square-manat{--fa:"\e704"}.fa-peruvian-soles-sign{--fa:"\e705"}.fa-circle-rupiah{--fa:"\e706"}.fa-square-norwegian-krone{--fa:"\e707"}.fa-square-naira{--fa:"\e708"}.fa-square-won{--fa:"\e709"}.fa-square-mill{--fa:"\e70a"}.fa-polish-zloty-sign{--fa:"\e70b"}.fa-square-currency{--fa:"\e70c"}.fa-square-kip{--fa:"\e70d"}.fa-square-guarani{--fa:"\e70e"}.fa-square-dong{--fa:"\e70f"}.fa-square-hryvnia{--fa:"\e710"}.fa-circle-tugrik{--fa:"\e711"}.fa-square-rupiah{--fa:"\e712"}.fa-square-sterling{--fa:"\e713"}.fa-circle-rupee{--fa:"\e714"}.fa-square-rupee{--fa:"\e715"}.fa-square-peruvian-soles{--fa:"\e716"}.fa-square-florin{--fa:"\e717"}.fa-square-australian-dollar{--fa:"\e718"}.fa-square-baht{--fa:"\e719"}.fa-square-peso{--fa:"\e71a"}.fa-circle-austral{--fa:"\e71b"}.fa-square-swedish-krona{--fa:"\e71c"}.fa-circle-lari{--fa:"\e71d"}.fa-circleapore-dollar{--fa:"\e71e"}.fa-square-turkish-lira{--fa:"\e71f"}.fa-danish-krone-sign{--fa:"\e720"}.fa-circle-franc{--fa:"\e721"}.fa-circle-cruzeiro{--fa:"\e722"}.fa-circle-dong{--fa:"\e723"}.fa-square-yen{--fa:"\e724"}.fa-circle-tenge{--fa:"\e725"}.fa-square-austral{--fa:"\e726"}.fa-square-eurozone{--fa:"\e727"}.fa-square-tugrik{--fa:"\e728"}.fa-square-cedi{--fa:"\e729"}.fa-circle-cent{--fa:"\e72a"}.fa-currency-sign{--fa:"\e72b"}.fa-circle-chf{--fa:"\e72c"}.fa-circle-baht{--fa:"\e72d"}.fa-signapore-dollar-sign{--fa:"\e72e"}.fa-square-franc{--fa:"\e72f"}.fa-circle-australian-dollar{--fa:"\e730"}.fa-square-tenge{--fa:"\e731"}.fa-square-euro{--fa:"\e732"}.fa-squareapore-dollar{--fa:"\e733"}.fa-circle-indian-rupee{--fa:"\e734"}.fa-square-shekel{--fa:"\e735"}.fa-square-polish-zloty{--fa:"\e736"}.fa-circle-bitcoin{--fa:"\e737"}.fa-circle-norwegian-krone{--fa:"\e738"}.fa-circle-turkish-lira{--fa:"\e739"}.fa-square-colon{--fa:"\e73a"}.fa-circle-guarani{--fa:"\e73b"}.fa-renminbi-sign{--fa:"\e73c"}.fa-square-renminbi{--fa:"\e73d"}.fa-swedish-krona-sign{--fa:"\e73e"}.fa-square-lari{--fa:"\e73f"}.fa-eurozone-sign{--fa:"\e740"}.fa-circle-peseta{--fa:"\e741"}.fa-circle-cedi{--fa:"\e742"}.fa-circle-swedish-krona{--fa:"\e743"}.fa-square-bangladeshi-taka{--fa:"\e744"}.fa-circle-eurozone{--fa:"\e745"}.fa-circle-danish-krone{--fa:"\e746"}.fa-square-danish-krone{--fa:"\e747"}.fa-square-malaysian-ringgit{--fa:"\e748"}.fa-circle-naira{--fa:"\e749"}.fa-mobile-arrow-down{--fa:"\e74b"}.fa-clone-plus{--fa:"\e74c"}.fa-paintbrush-fine-slash{--fa:"\e74d"}.fa-paintbrush-slash{--fa:"\e74e"}.fa-pencil-line{--fa:"\e74f"}.fa-slider-circle{--fa:"\e750"}.fa-thumbtack-angle{--fa:"\e751"}.fa-thumbtack-angle-slash{--fa:"\e752"}.fa-book-open-lines{--fa:"\e753"}.fa-book-spine{--fa:"\e754"}.fa-bookmark-plus{--fa:"\e755"}.fa-clipboard-clock{--fa:"\e756"}.fa-clipboard-exclamation{--fa:"\e757"}.fa-file-ban{--fa:"\e758"}.fa-notes-sticky{--fa:"\e759"}.fa-capsule{--fa:"\e75a"}.fa-ear-circle-checkmark{--fa:"\e75b"}.fa-ear-triangle-exclamation{--fa:"\e75c"}.fa-ear-waveform{--fa:"\e75d"}.fa-head-side-circuit{--fa:"\e75e"}.fa-head-side-speak{--fa:"\e75f"}.fa-microphone-signal-meter{--fa:"\e760"}.fa-spine{--fa:"\e761"}.fa-vial-vertical{--fa:"\e762"}.fa-bin{--fa:"\e763"}.fa-seat{--fa:"\e764"}.fa-seats{--fa:"\e765"}.fa-camera-circle-ellipsis{--fa:"\e766"}.fa-camera-clock{--fa:"\e767"}.fa-camera-shutter{--fa:"\e768"}.fa-film-music{--fa:"\e769"}.fa-film-stack{--fa:"\e76b"}.fa-image-circle-arrow-down{--fa:"\e76c"}.fa-image-circle-check{--fa:"\e76d"}.fa-image-circle-plus{--fa:"\e76e"}.fa-image-circle-xmark{--fa:"\e76f"}.fa-image-music{--fa:"\e770"}.fa-image-stack{--fa:"\e771"}.fa-rectangle-4k{--fa:"\e772"}.fa-rectangle-hdr,.fa-rectangle-high-dynamic-range{--fa:"\e773"}.fa-rectangle-video-on-demand{--fa:"\e774"}.fa-user-viewfinder{--fa:"\e775"}.fa-video-down-to-line{--fa:"\e776"}.fa-video-question{--fa:"\e777"}.fa-gas-pump-left{--fa:"\e778"}.fa-gas-pump-right{--fa:"\e779"}.fa-location-arrow-slash{--fa:"\e77a"}.fa-airplay-audio{--fa:"\e77b"}.fa-headphones-slash{--fa:"\e77c"}.fa-microphone-circle-plus{--fa:"\e77d"}.fa-microphone-circle-xmark{--fa:"\e77e"}.fa-open-captioning{--fa:"\e77f"}.fa-play-flip{--fa:"\e780"}.fa-square-microphone{--fa:"\e781"}.fa-trombone{--fa:"\e782"}.fa-person-arms-raised{--fa:"\e783"}.fa-person-basketball{--fa:"\e784"}.fa-person-carry-empty{--fa:"\e785"}.fa-person-golfing{--fa:"\e786"}.fa-person-limbs-wide{--fa:"\e787"}.fa-person-seat-window{--fa:"\e788"}.fa-person-soccer{--fa:"\e789"}.fa-person-swimming-pool{--fa:"\e78a"}.fa-person-swimming-water{--fa:"\e78b"}.fa-person-water-arms-raised{--fa:"\e78c"}.fa-person-waving{--fa:"\e78d"}.fa-heart-slash{--fa:"\e78e"}.fa-hearts{--fa:"\e78f"}.fa-pentagon{--fa:"\e790"}.fa-rectangle-tall{--fa:"\e791"}.fa-square-half{--fa:"\e792"}.fa-square-half-stroke{--fa:"\e793"}.fa-box-arrow-down{--fa:"\e794"}.fa-box-arrow-down-arrow-up{--fa:"\e795"}.fa-box-arrow-down-magnifying-glass{--fa:"\e796"}.fa-box-isometric{--fa:"\e797"}.fa-box-isometric-tape{--fa:"\e798"}.fa-qrcode-read{--fa:"\e799"}.fa-shop-24{--fa:"\e79a"}.fa-store-24{--fa:"\e79b"}.fa-face-shaking{--fa:"\e79c"}.fa-face-shaking-horizontal{--fa:"\e79d"}.fa-face-shaking-vertical{--fa:"\e79e"}.fa-circle-user-circle-check{--fa:"\e79f"}.fa-circle-user-circle-exclamation{--fa:"\e7a0"}.fa-circle-user-circle-minus{--fa:"\e7a1"}.fa-circle-user-circle-moon{--fa:"\e7a2"}.fa-circle-user-circle-plus{--fa:"\e7a3"}.fa-circle-user-circle-question{--fa:"\e7a4"}.fa-circle-user-circle-user{--fa:"\e7a5"}.fa-circle-user-circle-xmark{--fa:"\e7a6"}.fa-circle-user-clock{--fa:"\e7a7"}.fa-user-beard{--fa:"\e7a8"}.fa-user-chef-hair-long{--fa:"\e7a9"}.fa-user-circle-minus{--fa:"\e7aa"}.fa-user-circle-plus{--fa:"\e7ab"}.fa-user-dashed{--fa:"\e7ac"}.fa-user-doctor-hair-mullet{--fa:"\e7ad"}.fa-user-hat-tie{--fa:"\e7ae"}.fa-user-hat-tie-magnifying-glass{--fa:"\e7af"}.fa-user-key{--fa:"\e7b0"}.fa-user-message{--fa:"\e7b1"}.fa-user-microphone{--fa:"\e7b2"}.fa-user-pilot-hair-long{--fa:"\e7b3"}.fa-user-pilot-tie-hair-long{--fa:"\e7b4"}.fa-user-police-hair-long{--fa:"\e7b5"}.fa-user-police-tie-hair-long{--fa:"\e7b6"}.fa-user-question{--fa:"\e7b7"}.fa-user-sith{--fa:"\e7b8"}.fa-user-tie-hair-mullet{--fa:"\e7b9"}.fa-user-vneck-hair-mullet{--fa:"\e7ba"}.fa-plane-flying{--fa:"\e7bb"}.fa-plane-landing-gear{--fa:"\e7bc"}.fa-rocket-vertical{--fa:"\e7bd"}.fa-seat-airline-window{--fa:"\e7be"}.fa-shuttle-space-vertical{--fa:"\e7bf"}.fa-car-key{--fa:"\e7c0"}.fa-car-siren{--fa:"\e7c1"}.fa-car-siren-on{--fa:"\e7c2"}.fa-scooter{--fa:"\e7c3"}.fa-snowmobile-blank{--fa:"\e7c4"}.fa-stair-car{--fa:"\e7c5"}.fa-truck-suv{--fa:"\e7c6"}.fa-unicycle{--fa:"\e7c7"}.fa-van{--fa:"\e7c8"}.fa-moon-star{--fa:"\e7c9"}.fa-rainbow-half{--fa:"\e7ca"}.fa-temperature-slash{--fa:"\e7cb"}.fa-dialpad{--fa:"\e7cc"}.fa-computer-mouse-button-left{--fa:"\e7cd"}.fa-computer-mouse-button-right{--fa:"\e7ce"}.fa-dot{--fa:"\e7d1"}.fa-folder-arrow-left{--fa:"\e7d2"}.fa-folder-arrow-right{--fa:"\e7d3"}.fa-wireless{--fa:"\e7df"}.fa-circle-moon{--fa:"\e7e0"}.fa-person-meditating{--fa:"\e7e1"}.fa-baseball-bat{--fa:"\e7e5"}.fa-hockey-stick{--fa:"\e7e6"}.fa-arrow-u-turn-down-left{--fa:"\e7e7"}.fa-arrow-u-turn-down-right{--fa:"\e7e8"}.fa-arrow-u-turn-left-down{--fa:"\e7e9"}.fa-arrow-u-turn-left-up{--fa:"\e7ea"}.fa-arrow-u-turn-right-down{--fa:"\e7eb"}.fa-arrow-u-turn-right-up{--fa:"\e7ec"}.fa-arrow-u-turn-up-left{--fa:"\e7ed"}.fa-arrow-u-turn-up-right{--fa:"\e7ee"}.fa-u-turn-down-left{--fa:"\e7ef"}.fa-u-turn-down-right{--fa:"\e7f0"}.fa-u-turn,.fa-u-turn-left-down{--fa:"\e7f1"}.fa-u-turn-left-up{--fa:"\e7f2"}.fa-u-turn-right-down{--fa:"\e7f3"}.fa-u-turn-right-up{--fa:"\e7f4"}.fa-u-turn-up-left{--fa:"\e7f5"}.fa-u-turn-up-right{--fa:"\e7f6"}.fa-triple-chevrons-down{--fa:"\e7f7"}.fa-triple-chevrons-left{--fa:"\e7f8"}.fa-triple-chevrons-right{--fa:"\e7f9"}.fa-triple-chevrons-up{--fa:"\e7fa"}.fa-file-aiff{--fa:"\e7fb"}.fa-file-odf{--fa:"\e7fc"}.fa-file-tex{--fa:"\e7fd"}.fa-file-wav{--fa:"\e7fe"}.fa-droplet-plus{--fa:"\e800"}.fa-hand-holding-star{--fa:"\e801"}.fa-transmission{--fa:"\e802"}.fa-alarm-minus{--fa:"\e803"}.fa-file-brackets-curly{--fa:"\e804"}.fa-file-midi{--fa:"\e805"}.fa-midi{--fa:"\e806"}.fa-non-binary{--fa:"\e807"}.fa-rectangle-beta{--fa:"\e808"}.fa-shield-user{--fa:"\e809"}.fa-spiral{--fa:"\e80a"}.fa-picture-in-picture{--fa:"\e80b"}.fa-circle-half-horizontal{--fa:"\e80c"}.fa-circle-half-stroke-horizontal{--fa:"\e80d"}.fa-square-half-horizontal{--fa:"\e80e"}.fa-square-half-stroke-horizontal{--fa:"\e80f"}.fa-ship-large{--fa:"\e810"}.fa-butterfly{--fa:"\e811"}.fa-mobile-rotate{--fa:"\e813"}.fa-mobile-rotate-reverse{--fa:"\e814"}.fa-mobile-slash{--fa:"\e815"}.fa-mobile-vibrate{--fa:"\e816"}.fa-mobile-vibrate-slash{--fa:"\e817"}.fa-almost-equal-to{--fa:"\e818"}.fa-sneaker-running{--fa:"\e819"}.fa-horseshoe{--fa:"\e81a"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-bus-stop{--fa:"\e81e"}.fa-train-stop{--fa:"\e81f"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-mailbox-open-empty{--fa:"\e821"}.fa-mailbox-open-letter{--fa:"\e823"}.fa-lychee{--fa:"\e824"}.fa-tank-recovery{--fa:"\e825"}.fa-transducer{--fa:"\e826"}.fa-box-arrow-up{--fa:"\e827"}.fa-box-magnifying-glass{--fa:"\e828"}.fa-envelope-certificate,.fa-envelope-ribbon{--fa:"\e829"}.fa-water-temp,.fa-water-temperature{--fa:"\e82a"}.fa-aeropress{--fa:"\e82b"}.fa-caret-large-down{--fa:"\e82c"}.fa-caret-large-left{--fa:"\e82d"}.fa-caret-large-right{--fa:"\e82e"}.fa-caret-large-up{--fa:"\e82f"}.fa-chemex{--fa:"\e830"}.fa-hand-shaka{--fa:"\e831"}.fa-kettlebell{--fa:"\e832"}.fa-foot-wing{--fa:"\e834"}.fa-pump-impeller{--fa:"\e835"}.fa-arrow-rotate-left-10{--fa:"\e836"}.fa-arrow-rotate-right-10{--fa:"\e837"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calculator{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-watch{--fa:"\f2e1"}.fa-volume-slash{--fa:"\f2e2"}.fa-fork,.fa-utensil-fork{--fa:"\f2e3"}.fa-knife,.fa-utensil-knife{--fa:"\f2e4"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-fork-knife,.fa-utensils-alt{--fa:"\f2e6"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-circle-dollar,.fa-dollar-circle,.fa-usd-circle{--fa:"\f2e8"}.fa-dollar-square,.fa-square-dollar,.fa-usd-square{--fa:"\f2e9"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trophy-alt,.fa-trophy-star{--fa:"\f2eb"}.fa-triangle{--fa:"\f2ec"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-hexagon-xmark,.fa-times-hexagon,.fa-xmark-hexagon{--fa:"\f2ee"}.fa-octagon-xmark,.fa-times-octagon,.fa-xmark-octagon{--fa:"\f2f0"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-star-exclamation{--fa:"\f2f3"}.fa-spade{--fa:"\f2f4"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-shield-check{--fa:"\f2f7"}.fa-scrubber{--fa:"\f2f8"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-rectangle,.fa-rectangle-landscape{--fa:"\f2fa"}.fa-rectangle-portrait,.fa-rectangle-vertical{--fa:"\f2fb"}.fa-rectangle-wide{--fa:"\f2fc"}.fa-question-square,.fa-square-question{--fa:"\f2fd"}.fa-poo{--fa:"\f2fe"}.fa-hexagon-plus,.fa-plus-hexagon{--fa:"\f300"}.fa-octagon-plus,.fa-plus-octagon{--fa:"\f301"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-hexagon-minus,.fa-minus-hexagon{--fa:"\f307"}.fa-minus-octagon,.fa-octagon-minus{--fa:"\f308"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-lock-alt,.fa-lock-keyhole{--fa:"\f30d"}.fa-jack-o-lantern{--fa:"\f30e"}.fa-info-square,.fa-square-info{--fa:"\f30f"}.fa-inbox-arrow-down,.fa-inbox-in{--fa:"\f310"}.fa-inbox-arrow-up,.fa-inbox-out{--fa:"\f311"}.fa-hexagon{--fa:"\f312"}.fa-h1{--fa:"\f313"}.fa-h2{--fa:"\f314"}.fa-h3{--fa:"\f315"}.fa-file-check{--fa:"\f316"}.fa-file-times,.fa-file-xmark{--fa:"\f317"}.fa-file-minus{--fa:"\f318"}.fa-file-plus{--fa:"\f319"}.fa-file-exclamation{--fa:"\f31a"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-arrows-maximize,.fa-expand-arrows{--fa:"\f31d"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-expand-wide{--fa:"\f320"}.fa-exclamation-square,.fa-square-exclamation{--fa:"\f321"}.fa-chevron-double-down,.fa-chevrons-down{--fa:"\f322"}.fa-chevron-double-left,.fa-chevrons-left{--fa:"\f323"}.fa-chevron-double-right,.fa-chevrons-right{--fa:"\f324"}.fa-chevron-double-up,.fa-chevrons-up{--fa:"\f325"}.fa-compress-wide{--fa:"\f326"}.fa-club{--fa:"\f327"}.fa-clipboard{--fa:"\f328"}.fa-chevron-square-down,.fa-square-chevron-down{--fa:"\f329"}.fa-chevron-square-left,.fa-square-chevron-left{--fa:"\f32a"}.fa-chevron-square-right,.fa-square-chevron-right{--fa:"\f32b"}.fa-chevron-square-up,.fa-square-chevron-up{--fa:"\f32c"}.fa-caret-circle-down,.fa-circle-caret-down{--fa:"\f32d"}.fa-caret-circle-left,.fa-circle-caret-left{--fa:"\f32e"}.fa-caret-circle-right,.fa-circle-caret-right{--fa:"\f330"}.fa-caret-circle-up,.fa-circle-caret-up{--fa:"\f331"}.fa-calendar-edit,.fa-calendar-pen{--fa:"\f333"}.fa-calendar-exclamation{--fa:"\f334"}.fa-badge{--fa:"\f335"}.fa-badge-check{--fa:"\f336"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-arrow-square-down,.fa-square-arrow-down{--fa:"\f339"}.fa-arrow-square-left,.fa-square-arrow-left{--fa:"\f33a"}.fa-arrow-square-right,.fa-square-arrow-right{--fa:"\f33b"}.fa-arrow-square-up,.fa-square-arrow-up{--fa:"\f33c"}.fa-arrow-down-to-line,.fa-arrow-to-bottom{--fa:"\f33d"}.fa-arrow-left-to-line,.fa-arrow-to-left{--fa:"\f33e"}.fa-arrow-right-to-line,.fa-arrow-to-right{--fa:"\f340"}.fa-arrow-to-top,.fa-arrow-up-to-line{--fa:"\f341"}.fa-arrow-from-bottom,.fa-arrow-up-from-line{--fa:"\f342"}.fa-arrow-from-left,.fa-arrow-right-from-line{--fa:"\f343"}.fa-arrow-from-right,.fa-arrow-left-from-line{--fa:"\f344"}.fa-arrow-down-from-line,.fa-arrow-from-top{--fa:"\f345"}.fa-arrow-alt-from-bottom,.fa-up-from-line{--fa:"\f346"}.fa-arrow-alt-from-left,.fa-right-from-line{--fa:"\f347"}.fa-arrow-alt-from-right,.fa-left-from-line{--fa:"\f348"}.fa-arrow-alt-from-top,.fa-down-from-line{--fa:"\f349"}.fa-arrow-alt-to-bottom,.fa-down-to-line{--fa:"\f34a"}.fa-arrow-alt-to-left,.fa-left-to-line{--fa:"\f34b"}.fa-arrow-alt-to-right,.fa-right-to-line{--fa:"\f34c"}.fa-arrow-alt-to-top,.fa-up-to-line{--fa:"\f34d"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-square-down,.fa-square-down{--fa:"\f350"}.fa-arrow-alt-square-left,.fa-square-left{--fa:"\f351"}.fa-arrow-alt-square-right,.fa-square-right{--fa:"\f352"}.fa-arrow-alt-square-up,.fa-square-up{--fa:"\f353"}.fa-arrow-alt-down,.fa-down{--fa:"\f354"}.fa-arrow-alt-left,.fa-left{--fa:"\f355"}.fa-arrow-alt-right,.fa-right{--fa:"\f356"}.fa-arrow-alt-up,.fa-up{--fa:"\f357"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-arrows-retweet,.fa-retweet-alt{--fa:"\f361"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-arrows-repeat,.fa-repeat-alt{--fa:"\f364"}.fa-repeat-1{--fa:"\f365"}.fa-arrows-repeat-1,.fa-repeat-1-alt{--fa:"\f366"}.fa-share-all{--fa:"\f367"}.fa-battery-bolt{--fa:"\f376"}.fa-battery-slash{--fa:"\f377"}.fa-browser{--fa:"\f37e"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-credit-card-blank{--fa:"\f389"}.fa-credit-card-front{--fa:"\f38a"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-ellipsis-h-alt,.fa-ellipsis-stroke{--fa:"\f39b"}.fa-ellipsis-stroke-vertical,.fa-ellipsis-v-alt{--fa:"\f39c"}.fa-gem{--fa:"\f3a5"}.fa-industry-alt,.fa-industry-windows{--fa:"\f3b3"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-lock-keyhole-open,.fa-lock-open-alt{--fa:"\f3c2"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-plane-alt,.fa-plane-engines{--fa:"\f3de"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-sliders-h-square,.fa-square-sliders{--fa:"\f3f0"}.fa-sliders-up,.fa-sliders-v{--fa:"\f3f1"}.fa-sliders-v-square,.fa-square-sliders-vertical{--fa:"\f3f2"}.fa-spinner-third{--fa:"\f3f4"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-tablet-android-alt,.fa-tablet-screen{--fa:"\f3fc"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-tree-alt,.fa-tree-deciduous{--fa:"\f400"}.fa-tv-retro{--fa:"\f401"}.fa-window{--fa:"\f40e"}.fa-window-alt,.fa-window-flip{--fa:"\f40f"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-basketball-hoop{--fa:"\f435"}.fa-bowling-ball{--fa:"\f436"}.fa-bowling-pins{--fa:"\f437"}.fa-boxing-glove,.fa-glove-boxing{--fa:"\f438"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-bishop-alt,.fa-chess-bishop-piece{--fa:"\f43b"}.fa-chess-board{--fa:"\f43c"}.fa-chess-clock{--fa:"\f43d"}.fa-chess-clock-alt,.fa-chess-clock-flip{--fa:"\f43e"}.fa-chess-king{--fa:"\f43f"}.fa-chess-king-alt,.fa-chess-king-piece{--fa:"\f440"}.fa-chess-knight{--fa:"\f441"}.fa-chess-knight-alt,.fa-chess-knight-piece{--fa:"\f442"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-pawn-alt,.fa-chess-pawn-piece{--fa:"\f444"}.fa-chess-queen{--fa:"\f445"}.fa-chess-queen-alt,.fa-chess-queen-piece{--fa:"\f446"}.fa-chess-rook{--fa:"\f447"}.fa-chess-rook-alt,.fa-chess-rook-piece{--fa:"\f448"}.fa-cricket,.fa-cricket-bat-ball{--fa:"\f449"}.fa-curling,.fa-curling-stone{--fa:"\f44a"}.fa-dumbbell{--fa:"\f44b"}.fa-field-hockey,.fa-field-hockey-stick-ball{--fa:"\f44c"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-football-helmet{--fa:"\f44f"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-golf-club{--fa:"\f451"}.fa-hockey-puck{--fa:"\f453"}.fa-hockey-sticks{--fa:"\f454"}.fa-luchador,.fa-luchador-mask,.fa-mask-luchador{--fa:"\f455"}.fa-flag-pennant,.fa-pennant{--fa:"\f456"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-racquet{--fa:"\f45a"}.fa-shuttlecock{--fa:"\f45b"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-tennis-ball{--fa:"\f45e"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-whistle{--fa:"\f460"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-barcode-alt,.fa-rectangle-barcode{--fa:"\f463"}.fa-barcode-read{--fa:"\f464"}.fa-barcode-scan{--fa:"\f465"}.fa-box{--fa:"\f466"}.fa-box-check{--fa:"\f467"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-conveyor-belt{--fa:"\f46e"}.fa-conveyor-belt-alt,.fa-conveyor-belt-boxes{--fa:"\f46f"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-dolly-empty{--fa:"\f473"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-cart-flatbed-boxes,.fa-dolly-flatbed-alt{--fa:"\f475"}.fa-cart-flatbed-empty,.fa-dolly-flatbed-empty{--fa:"\f476"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-forklift{--fa:"\f47a"}.fa-hand-holding-box{--fa:"\f47b"}.fa-hand-receiving,.fa-hands-holding-diamond{--fa:"\f47c"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-inventory,.fa-shelves{--fa:"\f480"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-palette-boxes,.fa-pallet-alt,.fa-pallet-boxes{--fa:"\f483"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-scanner,.fa-scanner-gun{--fa:"\f488"}.fa-scanner-keyboard{--fa:"\f489"}.fa-scanner-touchscreen{--fa:"\f48a"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-shipping-timed,.fa-truck-clock{--fa:"\f48c"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablet-rugged{--fa:"\f48f"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-warehouse-alt,.fa-warehouse-full{--fa:"\f495"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-blanket{--fa:"\f498"}.fa-book-heart{--fa:"\f499"}.fa-box-alt,.fa-box-taped{--fa:"\f49a"}.fa-box-fragile,.fa-square-fragile,.fa-square-wine-glass-crack{--fa:"\f49b"}.fa-box-full,.fa-box-open-full{--fa:"\f49c"}.fa-box-heart{--fa:"\f49d"}.fa-box-open{--fa:"\f49e"}.fa-box-up,.fa-square-this-way-up{--fa:"\f49f"}.fa-box-dollar,.fa-box-usd{--fa:"\f4a0"}.fa-comment-alt-check,.fa-message-check{--fa:"\f4a2"}.fa-comment-alt-dots,.fa-message-dots,.fa-messaging{--fa:"\f4a3"}.fa-comment-alt-edit,.fa-message-edit,.fa-message-pen{--fa:"\f4a4"}.fa-comment-alt-exclamation,.fa-message-exclamation{--fa:"\f4a5"}.fa-comment-alt-lines,.fa-message-lines{--fa:"\f4a6"}.fa-comment-alt-minus,.fa-message-minus{--fa:"\f4a7"}.fa-comment-alt-plus,.fa-message-plus{--fa:"\f4a8"}.fa-comment-alt-slash,.fa-message-slash{--fa:"\f4a9"}.fa-comment-alt-smile,.fa-message-smile{--fa:"\f4aa"}.fa-comment-alt-times,.fa-message-times,.fa-message-xmark{--fa:"\f4ab"}.fa-comment-check{--fa:"\f4ac"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-edit,.fa-comment-pen{--fa:"\f4ae"}.fa-comment-exclamation{--fa:"\f4af"}.fa-comment-lines{--fa:"\f4b0"}.fa-comment-minus{--fa:"\f4b1"}.fa-comment-plus{--fa:"\f4b2"}.fa-comment-slash{--fa:"\f4b3"}.fa-comment-smile{--fa:"\f4b4"}.fa-comment-times,.fa-comment-xmark{--fa:"\f4b5"}.fa-comments-alt,.fa-messages{--fa:"\f4b6"}.fa-container-storage{--fa:"\f4b7"}.fa-couch{--fa:"\f4b8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-dove{--fa:"\f4ba"}.fa-fragile,.fa-wine-glass-crack{--fa:"\f4bb"}.fa-hand-heart{--fa:"\f4bc"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-seedling{--fa:"\f4bf"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-heart,.fa-hands-holding-heart{--fa:"\f4c3"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-hands-holding-dollar,.fa-hands-usd{--fa:"\f4c5"}.fa-circle-heart,.fa-heart-circle{--fa:"\f4c7"}.fa-heart-square,.fa-square-heart{--fa:"\f4c8"}.fa-home-heart,.fa-house-heart{--fa:"\f4c9"}.fa-lamp{--fa:"\f4ca"}.fa-leaf-heart{--fa:"\f4cb"}.fa-couch-small,.fa-loveseat{--fa:"\f4cc"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-person-carry,.fa-person-carry-box{--fa:"\f4cf"}.fa-person-dolly{--fa:"\f4d0"}.fa-person-dolly-empty{--fa:"\f4d1"}.fa-phone-plus{--fa:"\f4d2"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ramp-loading{--fa:"\f4d4"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-container{--fa:"\f4dc"}.fa-truck-couch,.fa-truck-ramp-couch{--fa:"\f4dd"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-truck-ramp{--fa:"\f4e0"}.fa-video-plus{--fa:"\f4e1"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-brush-alt,.fa-paint-brush-fine,.fa-paintbrush-alt,.fa-paintbrush-fine{--fa:"\f5a9"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-face-smile-plus,.fa-smile-plus{--fa:"\f5b9"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-atom-alt,.fa-atom-simple{--fa:"\f5d3"}.fa-backpack{--fa:"\f5d4"}.fa-bell-school{--fa:"\f5d5"}.fa-bell-school-slash{--fa:"\f5d6"}.fa-bone{--fa:"\f5d7"}.fa-bone-break{--fa:"\f5d8"}.fa-book-alt,.fa-book-blank{--fa:"\f5d9"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-books{--fa:"\f5db"}.fa-brain{--fa:"\f5dc"}.fa-bus-school{--fa:"\f5dd"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-bump{--fa:"\f5e0"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-garage{--fa:"\f5e2"}.fa-car-mechanic,.fa-car-wrench{--fa:"\f5e3"}.fa-car-side{--fa:"\f5e4"}.fa-car-tilt{--fa:"\f5e5"}.fa-car-wash{--fa:"\f5e6"}.fa-charging-station{--fa:"\f5e7"}.fa-clipboard-prescription{--fa:"\f5e8"}.fa-compass-slash{--fa:"\f5e9"}.fa-diploma,.fa-scroll-ribbon{--fa:"\f5ea"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-do-not-enter{--fa:"\f5ec"}.fa-draw-circle,.fa-vector-circle{--fa:"\f5ed"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-draw-square,.fa-vector-square{--fa:"\f5ef"}.fa-ear{--fa:"\f5f0"}.fa-engine-exclamation,.fa-engine-warning{--fa:"\f5f2"}.fa-file-award,.fa-file-certificate{--fa:"\f5f3"}.fa-gas-pump-slash{--fa:"\f5f4"}.fa-glasses-alt,.fa-glasses-round{--fa:"\f5f5"}.fa-globe-stand{--fa:"\f5f6"}.fa-heart-rate,.fa-wave-pulse{--fa:"\f5f8"}.fa-inhaler{--fa:"\f5f9"}.fa-kidneys{--fa:"\f5fb"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-layer-group-minus,.fa-layer-minus{--fa:"\f5fe"}.fa-layer-group-plus,.fa-layer-plus{--fa:"\f5ff"}.fa-lips{--fa:"\f600"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-circle-location-arrow,.fa-location-circle{--fa:"\f602"}.fa-location-crosshairs-slash,.fa-location-slash{--fa:"\f603"}.fa-lungs{--fa:"\f604"}.fa-location-dot-slash,.fa-map-marker-alt-slash{--fa:"\f605"}.fa-location-check,.fa-map-marker-check{--fa:"\f606"}.fa-location-pen,.fa-map-marker-edit{--fa:"\f607"}.fa-location-exclamation,.fa-map-marker-exclamation{--fa:"\f608"}.fa-location-minus,.fa-map-marker-minus{--fa:"\f609"}.fa-location-plus,.fa-map-marker-plus{--fa:"\f60a"}.fa-location-question,.fa-map-marker-question{--fa:"\f60b"}.fa-location-pin-slash,.fa-map-marker-slash{--fa:"\f60c"}.fa-location-smile,.fa-map-marker-smile{--fa:"\f60d"}.fa-location-xmark,.fa-map-marker-times,.fa-map-marker-xmark{--fa:"\f60e"}.fa-microscope{--fa:"\f610"}.fa-monitor-heart-rate,.fa-monitor-waveform{--fa:"\f611"}.fa-oil-can{--fa:"\f613"}.fa-oil-temp,.fa-oil-temperature{--fa:"\f614"}.fa-circle-parking,.fa-parking-circle{--fa:"\f615"}.fa-ban-parking,.fa-parking-circle-slash{--fa:"\f616"}.fa-parking-slash,.fa-square-parking-slash{--fa:"\f617"}.fa-pen-paintbrush,.fa-pencil-paintbrush{--fa:"\f618"}.fa-poop{--fa:"\f619"}.fa-route-highway{--fa:"\f61a"}.fa-route-interstate{--fa:"\f61b"}.fa-ruler-triangle{--fa:"\f61c"}.fa-scalpel{--fa:"\f61d"}.fa-scalpel-line-dashed,.fa-scalpel-path{--fa:"\f61e"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-skeleton{--fa:"\f620"}.fa-star-of-life{--fa:"\f621"}.fa-steering-wheel{--fa:"\f622"}.fa-stomach{--fa:"\f623"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-max,.fa-tachometer-alt-fastest{--fa:"\f626"}.fa-gauge-low,.fa-tachometer-alt-slow{--fa:"\f627"}.fa-gauge-min,.fa-tachometer-alt-slowest{--fa:"\f628"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-gauge-simple-max,.fa-tachometer-fastest{--fa:"\f62b"}.fa-gauge-simple-low,.fa-tachometer-slow{--fa:"\f62c"}.fa-gauge-simple-min,.fa-tachometer-slowest{--fa:"\f62d"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-tire{--fa:"\f631"}.fa-tire-flat{--fa:"\f632"}.fa-tire-pressure-warning{--fa:"\f633"}.fa-tire-rugged{--fa:"\f634"}.fa-toothbrush{--fa:"\f635"}.fa-traffic-cone{--fa:"\f636"}.fa-traffic-light{--fa:"\f637"}.fa-traffic-light-go{--fa:"\f638"}.fa-traffic-light-slow{--fa:"\f639"}.fa-traffic-light-stop{--fa:"\f63a"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-screen-users,.fa-users-class{--fa:"\f63d"}.fa-watch-fitness{--fa:"\f63e"}.fa-abacus{--fa:"\f640"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-analytics,.fa-chart-mixed{--fa:"\f643"}.fa-ankh{--fa:"\f644"}.fa-badge-dollar{--fa:"\f645"}.fa-badge-percent{--fa:"\f646"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-bullseye-arrow{--fa:"\f648"}.fa-bullseye-pointer{--fa:"\f649"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-cabinet-filing{--fa:"\f64b"}.fa-calculator-alt,.fa-calculator-simple{--fa:"\f64c"}.fa-chart-line-down{--fa:"\f64d"}.fa-chart-pie-alt,.fa-chart-pie-simple{--fa:"\f64e"}.fa-city{--fa:"\f64f"}.fa-comment-alt-dollar,.fa-message-dollar{--fa:"\f650"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-alt-dollar,.fa-messages-dollar{--fa:"\f652"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-empty-set{--fa:"\f656"}.fa-envelope-open-dollar{--fa:"\f657"}.fa-envelope-open-text{--fa:"\f658"}.fa-file-chart-column,.fa-file-chart-line{--fa:"\f659"}.fa-file-chart-pie{--fa:"\f65a"}.fa-file-spreadsheet{--fa:"\f65b"}.fa-file-user{--fa:"\f65c"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-folder-times,.fa-folder-xmark{--fa:"\f65f"}.fa-folders{--fa:"\f660"}.fa-function{--fa:"\f661"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gift-card{--fa:"\f663"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-integral{--fa:"\f667"}.fa-intersection{--fa:"\f668"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-keynote{--fa:"\f66c"}.fa-khanda{--fa:"\f66d"}.fa-lambda{--fa:"\f66e"}.fa-landmark{--fa:"\f66f"}.fa-lightbulb-dollar{--fa:"\f670"}.fa-lightbulb-exclamation{--fa:"\f671"}.fa-lightbulb-on{--fa:"\f672"}.fa-lightbulb-slash{--fa:"\f673"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-megaphone{--fa:"\f675"}.fa-menorah{--fa:"\f676"}.fa-brain-arrow-curved-right,.fa-mind-share{--fa:"\f677"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-omega{--fa:"\f67a"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-phone-office{--fa:"\f67d"}.fa-pi{--fa:"\f67e"}.fa-place-of-worship{--fa:"\f67f"}.fa-podium{--fa:"\f680"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-presentation,.fa-presentation-screen{--fa:"\f685"}.fa-print-slash{--fa:"\f686"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-shredder{--fa:"\f68a"}.fa-sigma{--fa:"\f68b"}.fa-signal-1,.fa-signal-weak{--fa:"\f68c"}.fa-signal-2,.fa-signal-fair{--fa:"\f68d"}.fa-signal-3,.fa-signal-good{--fa:"\f68e"}.fa-signal-4,.fa-signal-strong{--fa:"\f68f"}.fa-signal-alt,.fa-signal-alt-4,.fa-signal-bars,.fa-signal-bars-strong{--fa:"\f690"}.fa-signal-alt-1,.fa-signal-bars-weak{--fa:"\f691"}.fa-signal-alt-2,.fa-signal-bars-fair{--fa:"\f692"}.fa-signal-alt-3,.fa-signal-bars-good{--fa:"\f693"}.fa-signal-alt-slash,.fa-signal-bars-slash{--fa:"\f694"}.fa-signal-slash{--fa:"\f695"}.fa-socks{--fa:"\f696"}.fa-square-root{--fa:"\f697"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-tally,.fa-tally-5{--fa:"\f69c"}.fa-theta{--fa:"\f69e"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-union{--fa:"\f6a2"}.fa-chart-user,.fa-user-chart{--fa:"\f6a3"}.fa-user-crown{--fa:"\f6a4"}.fa-user-group-crown,.fa-users-crown{--fa:"\f6a5"}.fa-value-absolute{--fa:"\f6a6"}.fa-vihara{--fa:"\f6a7"}.fa-volume,.fa-volume-medium{--fa:"\f6a8"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-wifi-1,.fa-wifi-weak{--fa:"\f6aa"}.fa-wifi-2,.fa-wifi-fair{--fa:"\f6ab"}.fa-wifi-slash{--fa:"\f6ac"}.fa-yin-yang{--fa:"\f6ad"}.fa-acorn{--fa:"\f6ae"}.fa-alicorn{--fa:"\f6b0"}.fa-crate-apple{--fa:"\f6b1"}.fa-apple-crate{--fa:"\f6b1"}.fa-axe{--fa:"\f6b2"}.fa-axe-battle{--fa:"\f6b3"}.fa-badger-honey{--fa:"\f6b4"}.fa-bat{--fa:"\f6b5"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-book-sparkles,.fa-book-spells{--fa:"\f6b8"}.fa-bow-arrow{--fa:"\f6b9"}.fa-campfire{--fa:"\f6ba"}.fa-campground{--fa:"\f6bb"}.fa-candle-holder{--fa:"\f6bc"}.fa-candy-corn{--fa:"\f6bd"}.fa-cat{--fa:"\f6be"}.fa-cauldron{--fa:"\f6bf"}.fa-chair{--fa:"\f6c0"}.fa-chair-office{--fa:"\f6c1"}.fa-claw-marks{--fa:"\f6c2"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-coffee-togo,.fa-cup-togo{--fa:"\f6c5"}.fa-coffin{--fa:"\f6c6"}.fa-corn{--fa:"\f6c7"}.fa-cow{--fa:"\f6c8"}.fa-dagger{--fa:"\f6cb"}.fa-dice-d10{--fa:"\f6cd"}.fa-dice-d12{--fa:"\f6ce"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d4{--fa:"\f6d0"}.fa-dice-d6{--fa:"\f6d1"}.fa-dice-d8{--fa:"\f6d2"}.fa-dog{--fa:"\f6d3"}.fa-dog-leashed{--fa:"\f6d4"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick{--fa:"\f6d6"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-duck{--fa:"\f6d8"}.fa-dungeon{--fa:"\f6d9"}.fa-elephant{--fa:"\f6da"}.fa-eye-evil{--fa:"\f6db"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-fire-flame,.fa-flame{--fa:"\f6df"}.fa-flask-poison,.fa-flask-round-poison{--fa:"\f6e0"}.fa-flask-potion,.fa-flask-round-potion{--fa:"\f6e1"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hammer-war{--fa:"\f6e4"}.fa-hand-holding-magic{--fa:"\f6e5"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-witch{--fa:"\f6e7"}.fa-hat-wizard{--fa:"\f6e8"}.fa-head-side{--fa:"\f6e9"}.fa-head-side-goggles,.fa-head-vr{--fa:"\f6ea"}.fa-helmet-battle{--fa:"\f6eb"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-hockey-mask{--fa:"\f6ee"}.fa-hood-cloak{--fa:"\f6ef"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-key-skeleton{--fa:"\f6f3"}.fa-kite{--fa:"\f6f4"}.fa-knife-kitchen{--fa:"\f6f5"}.fa-leaf-maple{--fa:"\f6f6"}.fa-leaf-oak{--fa:"\f6f7"}.fa-mace{--fa:"\f6f8"}.fa-mandolin{--fa:"\f6f9"}.fa-mask{--fa:"\f6fa"}.fa-monkey{--fa:"\f6fb"}.fa-mountain{--fa:"\f6fc"}.fa-mountains{--fa:"\f6fd"}.fa-narwhal{--fa:"\f6fe"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-paw-alt,.fa-paw-simple{--fa:"\f701"}.fa-paw-claws{--fa:"\f702"}.fa-pegasus{--fa:"\f703"}.fa-pie{--fa:"\f705"}.fa-pig{--fa:"\f706"}.fa-pumpkin{--fa:"\f707"}.fa-rabbit{--fa:"\f708"}.fa-rabbit-fast,.fa-rabbit-running{--fa:"\f709"}.fa-ram{--fa:"\f70a"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scarecrow{--fa:"\f70d"}.fa-scroll{--fa:"\f70e"}.fa-scroll-old{--fa:"\f70f"}.fa-scythe{--fa:"\f710"}.fa-sheep{--fa:"\f711"}.fa-shield-cross{--fa:"\f712"}.fa-shovel{--fa:"\f713"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-snake{--fa:"\f716"}.fa-spider{--fa:"\f717"}.fa-spider-black-widow{--fa:"\f718"}.fa-spider-web{--fa:"\f719"}.fa-squirrel{--fa:"\f71a"}.fa-staff{--fa:"\f71b"}.fa-sword{--fa:"\f71c"}.fa-swords{--fa:"\f71d"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tombstone{--fa:"\f720"}.fa-tombstone-alt,.fa-tombstone-blank{--fa:"\f721"}.fa-tractor{--fa:"\f722"}.fa-treasure-chest{--fa:"\f723"}.fa-trees{--fa:"\f724"}.fa-turkey{--fa:"\f725"}.fa-turtle{--fa:"\f726"}.fa-unicorn{--fa:"\f727"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand{--fa:"\f72a"}.fa-wand-sparkles{--fa:"\f72b"}.fa-whale{--fa:"\f72c"}.fa-wheat{--fa:"\f72d"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-ballot{--fa:"\f732"}.fa-ballot-check{--fa:"\f733"}.fa-booth-curtain{--fa:"\f734"}.fa-box-ballot{--fa:"\f735"}.fa-calendar-star{--fa:"\f736"}.fa-clipboard-list-check{--fa:"\f737"}.fa-cloud-drizzle{--fa:"\f738"}.fa-cloud-hail{--fa:"\f739"}.fa-cloud-hail-mixed{--fa:"\f73a"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-rainbow{--fa:"\f73e"}.fa-cloud-showers{--fa:"\f73f"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sleet{--fa:"\f741"}.fa-cloud-snow{--fa:"\f742"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-clouds{--fa:"\f744"}.fa-clouds-moon{--fa:"\f745"}.fa-clouds-sun{--fa:"\f746"}.fa-democrat{--fa:"\f747"}.fa-dewpoint,.fa-droplet-degree{--fa:"\f748"}.fa-eclipse{--fa:"\f749"}.fa-eclipse-alt,.fa-moon-over-sun{--fa:"\f74a"}.fa-fire-smoke{--fa:"\f74b"}.fa-flag-alt,.fa-flag-swallowtail{--fa:"\f74c"}.fa-flag-usa{--fa:"\f74d"}.fa-cloud-fog,.fa-fog{--fa:"\f74e"}.fa-house-flood,.fa-house-water{--fa:"\f74f"}.fa-droplet-percent,.fa-humidity{--fa:"\f750"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-moon-cloud{--fa:"\f754"}.fa-moon-stars{--fa:"\f755"}.fa-person-booth{--fa:"\f756"}.fa-person-sign{--fa:"\f757"}.fa-podium-star{--fa:"\f758"}.fa-poll-people{--fa:"\f759"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-raindrops{--fa:"\f75c"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-smoke{--fa:"\f760"}.fa-snow-blowing{--fa:"\f761"}.fa-stars{--fa:"\f762"}.fa-sun-cloud{--fa:"\f763"}.fa-sun-dust{--fa:"\f764"}.fa-sun-haze{--fa:"\f765"}.fa-sunrise{--fa:"\f766"}.fa-sunset{--fa:"\f767"}.fa-temperature-frigid,.fa-temperature-snow{--fa:"\f768"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-hot,.fa-temperature-sun{--fa:"\f76a"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-cloud-bolt-moon,.fa-thunderstorm-moon{--fa:"\f76d"}.fa-cloud-bolt-sun,.fa-thunderstorm-sun{--fa:"\f76e"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-times-to-slot,.fa-vote-nay,.fa-xmark-to-slot{--fa:"\f771"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-water-arrow-down,.fa-water-lower{--fa:"\f774"}.fa-water-arrow-up,.fa-water-rise{--fa:"\f775"}.fa-wind-circle-exclamation,.fa-wind-warning{--fa:"\f776"}.fa-windsock{--fa:"\f777"}.fa-angel{--fa:"\f779"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-ball-pile{--fa:"\f77e"}.fa-bells{--fa:"\f77f"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-boot{--fa:"\f782"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-chart-network{--fa:"\f78a"}.fa-chimney{--fa:"\f78b"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-deer{--fa:"\f78e"}.fa-deer-rudolph{--fa:"\f78f"}.fa-dreidel{--fa:"\f792"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ear-muffs{--fa:"\f795"}.fa-ethernet{--fa:"\f796"}.fa-fireplace{--fa:"\f79a"}.fa-frosty-head,.fa-snowman-head{--fa:"\f79b"}.fa-gifts{--fa:"\f79c"}.fa-gingerbread-man{--fa:"\f79d"}.fa-champagne-glass,.fa-glass-champagne{--fa:"\f79e"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-glass-whiskey-rocks,.fa-whiskey-glass-ice{--fa:"\f7a1"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-globe-snow{--fa:"\f7a3"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-hat-santa{--fa:"\f7a7"}.fa-hat-winter{--fa:"\f7a8"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-ice-skate{--fa:"\f7ac"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-lights-holiday{--fa:"\f7b2"}.fa-mistletoe{--fa:"\f7b4"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-mug-marshmallows{--fa:"\f7b7"}.fa-ornament{--fa:"\f7b8"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-rv{--fa:"\f7be"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-scarf{--fa:"\f7c1"}.fa-sd-card{--fa:"\f7c2"}.fa-shovel-snow{--fa:"\f7c3"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-ski-jumping,.fa-ski-jump{--fa:"\f7c7"}.fa-person-ski-lift,.fa-ski-lift{--fa:"\f7c8"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-person-sledding,.fa-sledding{--fa:"\f7cb"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowflakes{--fa:"\f7cf"}.fa-snowman{--fa:"\f7d0"}.fa-person-snowmobiling,.fa-snowmobile{--fa:"\f7d1"}.fa-snowplow{--fa:"\f7d2"}.fa-star-christmas{--fa:"\f7d4"}.fa-stocking{--fa:"\f7d5"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-tree-christmas{--fa:"\f7db"}.fa-tree-decorated{--fa:"\f7dc"}.fa-tree-large{--fa:"\f7dd"}.fa-truck-plow{--fa:"\f7de"}.fa-wreath{--fa:"\f7e2"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-book-user{--fa:"\f7e7"}.fa-books-medical{--fa:"\f7e8"}.fa-brackets,.fa-brackets-square{--fa:"\f7e9"}.fa-brackets-curly{--fa:"\f7ea"}.fa-bread-loaf{--fa:"\f7eb"}.fa-bread-slice{--fa:"\f7ec"}.fa-burrito{--fa:"\f7ed"}.fa-chart-scatter{--fa:"\f7ee"}.fa-cheese{--fa:"\f7ef"}.fa-cheese-swiss{--fa:"\f7f0"}.fa-burger-cheese,.fa-cheeseburger{--fa:"\f7f1"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-alt-medical,.fa-message-medical{--fa:"\f7f4"}.fa-comment-medical{--fa:"\f7f5"}.fa-croissant{--fa:"\f7f6"}.fa-crutch{--fa:"\f7f7"}.fa-crutches{--fa:"\f7f8"}.fa-ban-bug,.fa-debug{--fa:"\f7f9"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-egg-fried{--fa:"\f7fc"}.fa-files-medical{--fa:"\f7fd"}.fa-fish-cooked{--fa:"\f7fe"}.fa-flower{--fa:"\f7ff"}.fa-flower-daffodil{--fa:"\f800"}.fa-flower-tulip{--fa:"\f801"}.fa-folder-tree{--fa:"\f802"}.fa-french-fries{--fa:"\f803"}.fa-glass{--fa:"\f804"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-head-side-brain{--fa:"\f808"}.fa-head-side-medical{--fa:"\f809"}.fa-hospital-user{--fa:"\f80d"}.fa-hospitals{--fa:"\f80e"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-island-tree-palm,.fa-island-tropical{--fa:"\f811"}.fa-laptop-medical{--fa:"\f812"}.fa-mailbox{--fa:"\f813"}.fa-meat{--fa:"\f814"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza{--fa:"\f817"}.fa-pizza-slice{--fa:"\f818"}.fa-popcorn{--fa:"\f819"}.fa-print-magnifying-glass,.fa-print-search{--fa:"\f81a"}.fa-rings-wedding{--fa:"\f81b"}.fa-sack{--fa:"\f81c"}.fa-sack-dollar{--fa:"\f81d"}.fa-bowl-salad,.fa-salad{--fa:"\f81e"}.fa-sandwich{--fa:"\f81f"}.fa-sausage{--fa:"\f820"}.fa-shish-kebab{--fa:"\f821"}.fa-sickle{--fa:"\f822"}.fa-bowl-hot,.fa-soup{--fa:"\f823"}.fa-steak{--fa:"\f824"}.fa-stretcher{--fa:"\f825"}.fa-taco{--fa:"\f826"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-tree-palm{--fa:"\f82b"}.fa-user-construction,.fa-user-hard-hat,.fa-user-helmet-safety{--fa:"\f82c"}.fa-user-headset{--fa:"\f82d"}.fa-user-doctor-message,.fa-user-md-chat{--fa:"\f82e"}.fa-user-nurse{--fa:"\f82f"}.fa-users-medical{--fa:"\f830"}.fa-walker{--fa:"\f831"}.fa-camera-web,.fa-webcam{--fa:"\f832"}.fa-camera-web-slash,.fa-webcam-slash{--fa:"\f833"}.fa-wave-square{--fa:"\f83e"}.fa-alarm-exclamation{--fa:"\f843"}.fa-alarm-plus{--fa:"\f844"}.fa-alarm-snooze{--fa:"\f845"}.fa-align-slash{--fa:"\f846"}.fa-bags-shopping{--fa:"\f847"}.fa-bell-exclamation{--fa:"\f848"}.fa-bell-plus{--fa:"\f849"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-biking-mountain,.fa-person-biking-mountain{--fa:"\f84b"}.fa-border-all{--fa:"\f84c"}.fa-border-bottom{--fa:"\f84d"}.fa-border-inner{--fa:"\f84e"}.fa-border-left{--fa:"\f84f"}.fa-border-none{--fa:"\f850"}.fa-border-outer{--fa:"\f851"}.fa-border-right{--fa:"\f852"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-border-bottom-right,.fa-border-style-alt{--fa:"\f854"}.fa-border-top{--fa:"\f855"}.fa-bring-forward{--fa:"\f856"}.fa-bring-front{--fa:"\f857"}.fa-burger-soda{--fa:"\f858"}.fa-car-building{--fa:"\f859"}.fa-car-bus{--fa:"\f85a"}.fa-cars{--fa:"\f85b"}.fa-coin{--fa:"\f85c"}.fa-construction,.fa-triangle-person-digging{--fa:"\f85d"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-drone{--fa:"\f85f"}.fa-drone-alt,.fa-drone-front{--fa:"\f860"}.fa-dryer{--fa:"\f861"}.fa-dryer-alt,.fa-dryer-heat{--fa:"\f862"}.fa-fan{--fa:"\f863"}.fa-barn-silo,.fa-farm{--fa:"\f864"}.fa-file-magnifying-glass,.fa-file-search{--fa:"\f865"}.fa-font-case{--fa:"\f866"}.fa-game-board{--fa:"\f867"}.fa-game-board-alt,.fa-game-board-simple{--fa:"\f868"}.fa-glass-citrus{--fa:"\f869"}.fa-h4{--fa:"\f86a"}.fa-hat-chef{--fa:"\f86b"}.fa-horizontal-rule{--fa:"\f86c"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-icons-alt,.fa-symbols{--fa:"\f86e"}.fa-kerning{--fa:"\f86f"}.fa-line-columns{--fa:"\f870"}.fa-line-height{--fa:"\f871"}.fa-money-check-edit,.fa-money-check-pen{--fa:"\f872"}.fa-money-check-dollar-pen,.fa-money-check-edit-alt{--fa:"\f873"}.fa-mug{--fa:"\f874"}.fa-mug-tea{--fa:"\f875"}.fa-overline{--fa:"\f876"}.fa-file-dashed-line,.fa-page-break{--fa:"\f877"}.fa-paragraph-left,.fa-paragraph-rtl{--fa:"\f878"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-laptop-mobile,.fa-phone-laptop{--fa:"\f87a"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-send-back{--fa:"\f87e"}.fa-send-backward{--fa:"\f87f"}.fa-snooze,.fa-zzz{--fa:"\f880"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-arrow-up,.fa-sort-alt{--fa:"\f883"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-arrow-down-triangle-square,.fa-sort-shapes-down{--fa:"\f888"}.fa-arrow-down-square-triangle,.fa-sort-shapes-down-alt{--fa:"\f889"}.fa-arrow-up-triangle-square,.fa-sort-shapes-up{--fa:"\f88a"}.fa-arrow-up-square-triangle,.fa-sort-shapes-up-alt{--fa:"\f88b"}.fa-arrow-down-big-small,.fa-sort-size-down{--fa:"\f88c"}.fa-arrow-down-small-big,.fa-sort-size-down-alt{--fa:"\f88d"}.fa-arrow-up-big-small,.fa-sort-size-up{--fa:"\f88e"}.fa-arrow-up-small-big,.fa-sort-size-up-alt{--fa:"\f88f"}.fa-sparkles{--fa:"\f890"}.fa-spell-check{--fa:"\f891"}.fa-sunglasses{--fa:"\f892"}.fa-text{--fa:"\f893"}.fa-text-size{--fa:"\f894"}.fa-trash-arrow-turn-left,.fa-trash-undo{--fa:"\f895"}.fa-trash-can-arrow-turn-left,.fa-trash-can-undo,.fa-trash-undo-alt{--fa:"\f896"}.fa-voicemail{--fa:"\f897"}.fa-washer,.fa-washing-machine{--fa:"\f898"}.fa-wave-sine{--fa:"\f899"}.fa-wave-triangle{--fa:"\f89a"}.fa-wind-turbine{--fa:"\f89b"}.fa-border-center-h{--fa:"\f89c"}.fa-border-center-v{--fa:"\f89d"}.fa-album{--fa:"\f89f"}.fa-album-collection{--fa:"\f8a0"}.fa-amp-guitar{--fa:"\f8a1"}.fa-badge-sheriff{--fa:"\f8a2"}.fa-banjo{--fa:"\f8a3"}.fa-betamax,.fa-cassette-betamax{--fa:"\f8a4"}.fa-boombox{--fa:"\f8a5"}.fa-cactus{--fa:"\f8a7"}.fa-camcorder,.fa-video-handheld{--fa:"\f8a8"}.fa-camera-movie{--fa:"\f8a9"}.fa-camera-polaroid{--fa:"\f8aa"}.fa-cassette-tape{--fa:"\f8ab"}.fa-camera-cctv,.fa-cctv{--fa:"\f8ac"}.fa-clarinet{--fa:"\f8ad"}.fa-cloud-music{--fa:"\f8ae"}.fa-comment-alt-music,.fa-message-music{--fa:"\f8af"}.fa-comment-music{--fa:"\f8b0"}.fa-computer-classic{--fa:"\f8b1"}.fa-computer-speaker{--fa:"\f8b2"}.fa-cowbell{--fa:"\f8b3"}.fa-cowbell-circle-plus,.fa-cowbell-more{--fa:"\f8b4"}.fa-disc-drive{--fa:"\f8b5"}.fa-file-music{--fa:"\f8b6"}.fa-film-canister,.fa-film-cannister{--fa:"\f8b7"}.fa-flashlight{--fa:"\f8b8"}.fa-flute{--fa:"\f8b9"}.fa-flux-capacitor{--fa:"\f8ba"}.fa-game-console-handheld{--fa:"\f8bb"}.fa-gramophone{--fa:"\f8bd"}.fa-guitar-electric{--fa:"\f8be"}.fa-guitars{--fa:"\f8bf"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-head-side-headphones{--fa:"\f8c2"}.fa-horse-saddle{--fa:"\f8c3"}.fa-image-polaroid{--fa:"\f8c4"}.fa-joystick{--fa:"\f8c5"}.fa-jug{--fa:"\f8c6"}.fa-kazoo{--fa:"\f8c7"}.fa-lasso{--fa:"\f8c8"}.fa-list-music{--fa:"\f8c9"}.fa-microphone-stand{--fa:"\f8cb"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-computer-mouse-scrollwheel,.fa-mouse-alt{--fa:"\f8cd"}.fa-mp3-player{--fa:"\f8ce"}.fa-music-alt,.fa-music-note{--fa:"\f8cf"}.fa-music-alt-slash,.fa-music-note-slash{--fa:"\f8d0"}.fa-music-slash{--fa:"\f8d1"}.fa-phone-rotary{--fa:"\f8d3"}.fa-piano{--fa:"\f8d4"}.fa-piano-keyboard{--fa:"\f8d5"}.fa-projector{--fa:"\f8d6"}.fa-radio{--fa:"\f8d7"}.fa-radio-alt,.fa-radio-tuner{--fa:"\f8d8"}.fa-record-vinyl{--fa:"\f8d9"}.fa-router{--fa:"\f8da"}.fa-sax-hot,.fa-saxophone-fire{--fa:"\f8db"}.fa-saxophone{--fa:"\f8dc"}.fa-signal-stream{--fa:"\f8dd"}.fa-skull-cow{--fa:"\f8de"}.fa-speaker{--fa:"\f8df"}.fa-speakers{--fa:"\f8e0"}.fa-triangle-instrument,.fa-triangle-music{--fa:"\f8e2"}.fa-trumpet{--fa:"\f8e3"}.fa-turntable{--fa:"\f8e4"}.fa-tv-music{--fa:"\f8e6"}.fa-typewriter{--fa:"\f8e7"}.fa-usb-drive{--fa:"\f8e9"}.fa-user-cowboy{--fa:"\f8ea"}.fa-user-music{--fa:"\f8eb"}.fa-cassette-vhs,.fa-vhs{--fa:"\f8ec"}.fa-violin{--fa:"\f8ed"}.fa-wagon-covered{--fa:"\f8ee"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-watch-calculator{--fa:"\f8f0"}.fa-waveform{--fa:"\f8f1"}.fa-waveform-lines,.fa-waveform-path{--fa:"\f8f2"}.fa-scanner-image{--fa:"\f8f3"}.fa-air-conditioner{--fa:"\f8f4"}.fa-alien{--fa:"\f8f5"}.fa-alien-8bit,.fa-alien-monster{--fa:"\f8f6"}.fa-bed-alt,.fa-bed-front{--fa:"\f8f7"}.fa-bed-bunk{--fa:"\f8f8"}.fa-bed-empty{--fa:"\f8f9"}.fa-bell-on{--fa:"\f8fa"}.fa-blinds{--fa:"\f8fb"}.fa-blinds-open{--fa:"\f8fc"}.fa-blinds-raised{--fa:"\f8fd"}.fa-camera-home,.fa-camera-security{--fa:"\f8fe"}.fa-caravan{--fa:"\f8ff"} -:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-supportnow{--fa:"\e833"}.fa-tor-browser{--fa:"\e838"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-wordpress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-wordpress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"}:host,:root{--fa-family-duotone:"Font Awesome 7 Duotone";--fa-font-duotone:normal 900 1em/1 var(--fa-family-duotone);--fa-style-family-duotone:var(--fa-family-duotone)}@font-face{font-family:"Font Awesome 7 Duotone";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-duotone-900.woff2)}.fa-duotone,.fad{--fa-family:var(--fa-family-duotone);--fa-style:900;position:relative;letter-spacing:normal}.fa-duotone:before,.fad:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-duotone:after,.fad:after{color:var(--fa-secondary-color,currentColor)}.fa-duotone.fa-swap-opacity:before,.fa-duotone:after,.fa-swap-opacity .fa-duotone:before,.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:var(--fa-secondary-opacity,.4)}.fa-duotone.fa-swap-opacity:after,.fa-swap-opacity .fa-duotone:after,.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:var(--fa-primary-opacity,1)}.fa-duotone.fa-li,.fa-duotone.fa-stack-1x,.fa-duotone.fa-stack-2x,.fad.fa-li,.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}:host,:root{--fa-font-light:normal 300 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-light-300.woff2)}.fal{--fa-family:var(--fa-family-classic)}.fa-light,.fal{--fa-style:300}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-font-solid:normal 900 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2)}.fas{--fa-family:var(--fa-family-classic)}.fa-solid,.fas{--fa-style:900}:host,:root{--fa-family-classic:"Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-thin-100.woff2)}.fat{--fa-style:100}.fa-classic,.fat{--fa-family:var(--fa-family-classic)}.fa-thin{--fa-style:100}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:300;src:url(../webfonts/fa-light-300.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Duotone";font-display:block;font-weight:900;src:url(../webfonts/fa-duotone-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/brands.css b/public/vendor/fontawesome/css/brands.css deleted file mode 100644 index 889fb16..0000000 --- a/public/vendor/fontawesome/css/brands.css +++ /dev/null @@ -1,2227 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-brands: "Font Awesome 7 Brands"; - --fa-font-brands: normal 400 1em/1 var(--fa-family-brands); -} - -@font-face { - font-family: "Font Awesome 7 Brands"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-brands-400.woff2"); -} -.fab, -.fa-brands, -.fa-classic.fa-brands { - --fa-family: var(--fa-family-brands); - --fa-style: 400; -} - -.fa-firefox-browser { - --fa: "\e007"; -} - -.fa-ideal { - --fa: "\e013"; -} - -.fa-microblog { - --fa: "\e01a"; -} - -.fa-square-pied-piper { - --fa: "\e01e"; -} - -.fa-pied-piper-square { - --fa: "\e01e"; -} - -.fa-unity { - --fa: "\e049"; -} - -.fa-dailymotion { - --fa: "\e052"; -} - -.fa-square-instagram { - --fa: "\e055"; -} - -.fa-instagram-square { - --fa: "\e055"; -} - -.fa-mixer { - --fa: "\e056"; -} - -.fa-shopify { - --fa: "\e057"; -} - -.fa-deezer { - --fa: "\e077"; -} - -.fa-edge-legacy { - --fa: "\e078"; -} - -.fa-google-pay { - --fa: "\e079"; -} - -.fa-rust { - --fa: "\e07a"; -} - -.fa-tiktok { - --fa: "\e07b"; -} - -.fa-unsplash { - --fa: "\e07c"; -} - -.fa-cloudflare { - --fa: "\e07d"; -} - -.fa-guilded { - --fa: "\e07e"; -} - -.fa-hive { - --fa: "\e07f"; -} - -.fa-42-group { - --fa: "\e080"; -} - -.fa-innosoft { - --fa: "\e080"; -} - -.fa-instalod { - --fa: "\e081"; -} - -.fa-octopus-deploy { - --fa: "\e082"; -} - -.fa-perbyte { - --fa: "\e083"; -} - -.fa-uncharted { - --fa: "\e084"; -} - -.fa-watchman-monitoring { - --fa: "\e087"; -} - -.fa-wodu { - --fa: "\e088"; -} - -.fa-wirsindhandwerk { - --fa: "\e2d0"; -} - -.fa-wsh { - --fa: "\e2d0"; -} - -.fa-bots { - --fa: "\e340"; -} - -.fa-cmplid { - --fa: "\e360"; -} - -.fa-bilibili { - --fa: "\e3d9"; -} - -.fa-golang { - --fa: "\e40f"; -} - -.fa-pix { - --fa: "\e43a"; -} - -.fa-sitrox { - --fa: "\e44a"; -} - -.fa-hashnode { - --fa: "\e499"; -} - -.fa-meta { - --fa: "\e49b"; -} - -.fa-padlet { - --fa: "\e4a0"; -} - -.fa-nfc-directional { - --fa: "\e530"; -} - -.fa-nfc-symbol { - --fa: "\e531"; -} - -.fa-screenpal { - --fa: "\e570"; -} - -.fa-space-awesome { - --fa: "\e5ac"; -} - -.fa-square-font-awesome { - --fa: "\e5ad"; -} - -.fa-square-gitlab { - --fa: "\e5ae"; -} - -.fa-gitlab-square { - --fa: "\e5ae"; -} - -.fa-odysee { - --fa: "\e5c6"; -} - -.fa-stubber { - --fa: "\e5c7"; -} - -.fa-debian { - --fa: "\e60b"; -} - -.fa-shoelace { - --fa: "\e60c"; -} - -.fa-threads { - --fa: "\e618"; -} - -.fa-square-threads { - --fa: "\e619"; -} - -.fa-square-x-twitter { - --fa: "\e61a"; -} - -.fa-x-twitter { - --fa: "\e61b"; -} - -.fa-opensuse { - --fa: "\e62b"; -} - -.fa-letterboxd { - --fa: "\e62d"; -} - -.fa-square-letterboxd { - --fa: "\e62e"; -} - -.fa-mintbit { - --fa: "\e62f"; -} - -.fa-google-scholar { - --fa: "\e63b"; -} - -.fa-brave { - --fa: "\e63c"; -} - -.fa-brave-reverse { - --fa: "\e63d"; -} - -.fa-pixiv { - --fa: "\e640"; -} - -.fa-upwork { - --fa: "\e641"; -} - -.fa-webflow { - --fa: "\e65c"; -} - -.fa-signal-messenger { - --fa: "\e663"; -} - -.fa-bluesky { - --fa: "\e671"; -} - -.fa-jxl { - --fa: "\e67b"; -} - -.fa-square-upwork { - --fa: "\e67c"; -} - -.fa-web-awesome { - --fa: "\e682"; -} - -.fa-square-web-awesome { - --fa: "\e683"; -} - -.fa-square-web-awesome-stroke { - --fa: "\e684"; -} - -.fa-dart-lang { - --fa: "\e693"; -} - -.fa-flutter { - --fa: "\e694"; -} - -.fa-files-pinwheel { - --fa: "\e69f"; -} - -.fa-css { - --fa: "\e6a2"; -} - -.fa-square-bluesky { - --fa: "\e6a3"; -} - -.fa-openai { - --fa: "\e7cf"; -} - -.fa-square-linkedin { - --fa: "\e7d0"; -} - -.fa-cash-app { - --fa: "\e7d4"; -} - -.fa-disqus { - --fa: "\e7d5"; -} - -.fa-eleventy { - --fa: "\e7d6"; -} - -.fa-11ty { - --fa: "\e7d6"; -} - -.fa-kakao-talk { - --fa: "\e7d7"; -} - -.fa-linktree { - --fa: "\e7d8"; -} - -.fa-notion { - --fa: "\e7d9"; -} - -.fa-pandora { - --fa: "\e7da"; -} - -.fa-pixelfed { - --fa: "\e7db"; -} - -.fa-tidal { - --fa: "\e7dc"; -} - -.fa-vsco { - --fa: "\e7dd"; -} - -.fa-w3c { - --fa: "\e7de"; -} - -.fa-lumon { - --fa: "\e7e2"; -} - -.fa-lumon-drop { - --fa: "\e7e3"; -} - -.fa-square-figma { - --fa: "\e7e4"; -} - -.fa-tex { - --fa: "\e7ff"; -} - -.fa-duolingo { - --fa: "\e812"; -} - -.fa-supportnow { - --fa: "\e833"; -} - -.fa-tor-browser { - --fa: "\e838"; -} - -.fa-square-twitter { - --fa: "\f081"; -} - -.fa-twitter-square { - --fa: "\f081"; -} - -.fa-square-facebook { - --fa: "\f082"; -} - -.fa-facebook-square { - --fa: "\f082"; -} - -.fa-linkedin { - --fa: "\f08c"; -} - -.fa-square-github { - --fa: "\f092"; -} - -.fa-github-square { - --fa: "\f092"; -} - -.fa-twitter { - --fa: "\f099"; -} - -.fa-facebook { - --fa: "\f09a"; -} - -.fa-github { - --fa: "\f09b"; -} - -.fa-pinterest { - --fa: "\f0d2"; -} - -.fa-square-pinterest { - --fa: "\f0d3"; -} - -.fa-pinterest-square { - --fa: "\f0d3"; -} - -.fa-square-google-plus { - --fa: "\f0d4"; -} - -.fa-google-plus-square { - --fa: "\f0d4"; -} - -.fa-google-plus-g { - --fa: "\f0d5"; -} - -.fa-linkedin-in { - --fa: "\f0e1"; -} - -.fa-github-alt { - --fa: "\f113"; -} - -.fa-maxcdn { - --fa: "\f136"; -} - -.fa-html5 { - --fa: "\f13b"; -} - -.fa-css3 { - --fa: "\f13c"; -} - -.fa-btc { - --fa: "\f15a"; -} - -.fa-youtube { - --fa: "\f167"; -} - -.fa-xing { - --fa: "\f168"; -} - -.fa-square-xing { - --fa: "\f169"; -} - -.fa-xing-square { - --fa: "\f169"; -} - -.fa-dropbox { - --fa: "\f16b"; -} - -.fa-stack-overflow { - --fa: "\f16c"; -} - -.fa-instagram { - --fa: "\f16d"; -} - -.fa-flickr { - --fa: "\f16e"; -} - -.fa-adn { - --fa: "\f170"; -} - -.fa-bitbucket { - --fa: "\f171"; -} - -.fa-tumblr { - --fa: "\f173"; -} - -.fa-square-tumblr { - --fa: "\f174"; -} - -.fa-tumblr-square { - --fa: "\f174"; -} - -.fa-apple { - --fa: "\f179"; -} - -.fa-windows { - --fa: "\f17a"; -} - -.fa-android { - --fa: "\f17b"; -} - -.fa-linux { - --fa: "\f17c"; -} - -.fa-dribbble { - --fa: "\f17d"; -} - -.fa-skype { - --fa: "\f17e"; -} - -.fa-foursquare { - --fa: "\f180"; -} - -.fa-trello { - --fa: "\f181"; -} - -.fa-gratipay { - --fa: "\f184"; -} - -.fa-vk { - --fa: "\f189"; -} - -.fa-weibo { - --fa: "\f18a"; -} - -.fa-renren { - --fa: "\f18b"; -} - -.fa-pagelines { - --fa: "\f18c"; -} - -.fa-stack-exchange { - --fa: "\f18d"; -} - -.fa-square-vimeo { - --fa: "\f194"; -} - -.fa-vimeo-square { - --fa: "\f194"; -} - -.fa-slack { - --fa: "\f198"; -} - -.fa-slack-hash { - --fa: "\f198"; -} - -.fa-wordpress { - --fa: "\f19a"; -} - -.fa-openid { - --fa: "\f19b"; -} - -.fa-yahoo { - --fa: "\f19e"; -} - -.fa-google { - --fa: "\f1a0"; -} - -.fa-reddit { - --fa: "\f1a1"; -} - -.fa-square-reddit { - --fa: "\f1a2"; -} - -.fa-reddit-square { - --fa: "\f1a2"; -} - -.fa-stumbleupon-circle { - --fa: "\f1a3"; -} - -.fa-stumbleupon { - --fa: "\f1a4"; -} - -.fa-delicious { - --fa: "\f1a5"; -} - -.fa-digg { - --fa: "\f1a6"; -} - -.fa-pied-piper-pp { - --fa: "\f1a7"; -} - -.fa-pied-piper-alt { - --fa: "\f1a8"; -} - -.fa-drupal { - --fa: "\f1a9"; -} - -.fa-joomla { - --fa: "\f1aa"; -} - -.fa-behance { - --fa: "\f1b4"; -} - -.fa-square-behance { - --fa: "\f1b5"; -} - -.fa-behance-square { - --fa: "\f1b5"; -} - -.fa-steam { - --fa: "\f1b6"; -} - -.fa-square-steam { - --fa: "\f1b7"; -} - -.fa-steam-square { - --fa: "\f1b7"; -} - -.fa-spotify { - --fa: "\f1bc"; -} - -.fa-deviantart { - --fa: "\f1bd"; -} - -.fa-soundcloud { - --fa: "\f1be"; -} - -.fa-vine { - --fa: "\f1ca"; -} - -.fa-codepen { - --fa: "\f1cb"; -} - -.fa-jsfiddle { - --fa: "\f1cc"; -} - -.fa-rebel { - --fa: "\f1d0"; -} - -.fa-empire { - --fa: "\f1d1"; -} - -.fa-square-git { - --fa: "\f1d2"; -} - -.fa-git-square { - --fa: "\f1d2"; -} - -.fa-git { - --fa: "\f1d3"; -} - -.fa-hacker-news { - --fa: "\f1d4"; -} - -.fa-tencent-weibo { - --fa: "\f1d5"; -} - -.fa-qq { - --fa: "\f1d6"; -} - -.fa-weixin { - --fa: "\f1d7"; -} - -.fa-slideshare { - --fa: "\f1e7"; -} - -.fa-twitch { - --fa: "\f1e8"; -} - -.fa-yelp { - --fa: "\f1e9"; -} - -.fa-paypal { - --fa: "\f1ed"; -} - -.fa-google-wallet { - --fa: "\f1ee"; -} - -.fa-cc-visa { - --fa: "\f1f0"; -} - -.fa-cc-mastercard { - --fa: "\f1f1"; -} - -.fa-cc-discover { - --fa: "\f1f2"; -} - -.fa-cc-amex { - --fa: "\f1f3"; -} - -.fa-cc-paypal { - --fa: "\f1f4"; -} - -.fa-cc-stripe { - --fa: "\f1f5"; -} - -.fa-lastfm { - --fa: "\f202"; -} - -.fa-square-lastfm { - --fa: "\f203"; -} - -.fa-lastfm-square { - --fa: "\f203"; -} - -.fa-ioxhost { - --fa: "\f208"; -} - -.fa-angellist { - --fa: "\f209"; -} - -.fa-buysellads { - --fa: "\f20d"; -} - -.fa-connectdevelop { - --fa: "\f20e"; -} - -.fa-dashcube { - --fa: "\f210"; -} - -.fa-forumbee { - --fa: "\f211"; -} - -.fa-leanpub { - --fa: "\f212"; -} - -.fa-sellsy { - --fa: "\f213"; -} - -.fa-shirtsinbulk { - --fa: "\f214"; -} - -.fa-simplybuilt { - --fa: "\f215"; -} - -.fa-skyatlas { - --fa: "\f216"; -} - -.fa-pinterest-p { - --fa: "\f231"; -} - -.fa-whatsapp { - --fa: "\f232"; -} - -.fa-viacoin { - --fa: "\f237"; -} - -.fa-medium { - --fa: "\f23a"; -} - -.fa-medium-m { - --fa: "\f23a"; -} - -.fa-y-combinator { - --fa: "\f23b"; -} - -.fa-optin-monster { - --fa: "\f23c"; -} - -.fa-opencart { - --fa: "\f23d"; -} - -.fa-expeditedssl { - --fa: "\f23e"; -} - -.fa-cc-jcb { - --fa: "\f24b"; -} - -.fa-cc-diners-club { - --fa: "\f24c"; -} - -.fa-creative-commons { - --fa: "\f25e"; -} - -.fa-gg { - --fa: "\f260"; -} - -.fa-gg-circle { - --fa: "\f261"; -} - -.fa-odnoklassniki { - --fa: "\f263"; -} - -.fa-square-odnoklassniki { - --fa: "\f264"; -} - -.fa-odnoklassniki-square { - --fa: "\f264"; -} - -.fa-get-pocket { - --fa: "\f265"; -} - -.fa-wikipedia-w { - --fa: "\f266"; -} - -.fa-safari { - --fa: "\f267"; -} - -.fa-chrome { - --fa: "\f268"; -} - -.fa-firefox { - --fa: "\f269"; -} - -.fa-opera { - --fa: "\f26a"; -} - -.fa-internet-explorer { - --fa: "\f26b"; -} - -.fa-contao { - --fa: "\f26d"; -} - -.fa-500px { - --fa: "\f26e"; -} - -.fa-amazon { - --fa: "\f270"; -} - -.fa-houzz { - --fa: "\f27c"; -} - -.fa-vimeo-v { - --fa: "\f27d"; -} - -.fa-black-tie { - --fa: "\f27e"; -} - -.fa-fonticons { - --fa: "\f280"; -} - -.fa-reddit-alien { - --fa: "\f281"; -} - -.fa-edge { - --fa: "\f282"; -} - -.fa-codiepie { - --fa: "\f284"; -} - -.fa-modx { - --fa: "\f285"; -} - -.fa-fort-awesome { - --fa: "\f286"; -} - -.fa-usb { - --fa: "\f287"; -} - -.fa-product-hunt { - --fa: "\f288"; -} - -.fa-mixcloud { - --fa: "\f289"; -} - -.fa-scribd { - --fa: "\f28a"; -} - -.fa-bluetooth { - --fa: "\f293"; -} - -.fa-bluetooth-b { - --fa: "\f294"; -} - -.fa-gitlab { - --fa: "\f296"; -} - -.fa-wpbeginner { - --fa: "\f297"; -} - -.fa-wpforms { - --fa: "\f298"; -} - -.fa-envira { - --fa: "\f299"; -} - -.fa-glide { - --fa: "\f2a5"; -} - -.fa-glide-g { - --fa: "\f2a6"; -} - -.fa-viadeo { - --fa: "\f2a9"; -} - -.fa-square-viadeo { - --fa: "\f2aa"; -} - -.fa-viadeo-square { - --fa: "\f2aa"; -} - -.fa-snapchat { - --fa: "\f2ab"; -} - -.fa-snapchat-ghost { - --fa: "\f2ab"; -} - -.fa-square-snapchat { - --fa: "\f2ad"; -} - -.fa-snapchat-square { - --fa: "\f2ad"; -} - -.fa-pied-piper { - --fa: "\f2ae"; -} - -.fa-first-order { - --fa: "\f2b0"; -} - -.fa-yoast { - --fa: "\f2b1"; -} - -.fa-themeisle { - --fa: "\f2b2"; -} - -.fa-google-plus { - --fa: "\f2b3"; -} - -.fa-font-awesome { - --fa: "\f2b4"; -} - -.fa-font-awesome-flag { - --fa: "\f2b4"; -} - -.fa-font-awesome-logo-full { - --fa: "\f2b4"; -} - -.fa-linode { - --fa: "\f2b8"; -} - -.fa-quora { - --fa: "\f2c4"; -} - -.fa-free-code-camp { - --fa: "\f2c5"; -} - -.fa-telegram { - --fa: "\f2c6"; -} - -.fa-telegram-plane { - --fa: "\f2c6"; -} - -.fa-bandcamp { - --fa: "\f2d5"; -} - -.fa-grav { - --fa: "\f2d6"; -} - -.fa-etsy { - --fa: "\f2d7"; -} - -.fa-imdb { - --fa: "\f2d8"; -} - -.fa-ravelry { - --fa: "\f2d9"; -} - -.fa-sellcast { - --fa: "\f2da"; -} - -.fa-superpowers { - --fa: "\f2dd"; -} - -.fa-wpexplorer { - --fa: "\f2de"; -} - -.fa-meetup { - --fa: "\f2e0"; -} - -.fa-square-font-awesome-stroke { - --fa: "\f35c"; -} - -.fa-font-awesome-alt { - --fa: "\f35c"; -} - -.fa-accessible-icon { - --fa: "\f368"; -} - -.fa-accusoft { - --fa: "\f369"; -} - -.fa-adversal { - --fa: "\f36a"; -} - -.fa-affiliatetheme { - --fa: "\f36b"; -} - -.fa-algolia { - --fa: "\f36c"; -} - -.fa-amilia { - --fa: "\f36d"; -} - -.fa-angrycreative { - --fa: "\f36e"; -} - -.fa-app-store { - --fa: "\f36f"; -} - -.fa-app-store-ios { - --fa: "\f370"; -} - -.fa-apper { - --fa: "\f371"; -} - -.fa-asymmetrik { - --fa: "\f372"; -} - -.fa-audible { - --fa: "\f373"; -} - -.fa-avianex { - --fa: "\f374"; -} - -.fa-aws { - --fa: "\f375"; -} - -.fa-bimobject { - --fa: "\f378"; -} - -.fa-bitcoin { - --fa: "\f379"; -} - -.fa-bity { - --fa: "\f37a"; -} - -.fa-blackberry { - --fa: "\f37b"; -} - -.fa-blogger { - --fa: "\f37c"; -} - -.fa-blogger-b { - --fa: "\f37d"; -} - -.fa-buromobelexperte { - --fa: "\f37f"; -} - -.fa-centercode { - --fa: "\f380"; -} - -.fa-cloudscale { - --fa: "\f383"; -} - -.fa-cloudsmith { - --fa: "\f384"; -} - -.fa-cloudversify { - --fa: "\f385"; -} - -.fa-cpanel { - --fa: "\f388"; -} - -.fa-css3-alt { - --fa: "\f38b"; -} - -.fa-cuttlefish { - --fa: "\f38c"; -} - -.fa-d-and-d { - --fa: "\f38d"; -} - -.fa-deploydog { - --fa: "\f38e"; -} - -.fa-deskpro { - --fa: "\f38f"; -} - -.fa-digital-ocean { - --fa: "\f391"; -} - -.fa-discord { - --fa: "\f392"; -} - -.fa-discourse { - --fa: "\f393"; -} - -.fa-dochub { - --fa: "\f394"; -} - -.fa-docker { - --fa: "\f395"; -} - -.fa-draft2digital { - --fa: "\f396"; -} - -.fa-square-dribbble { - --fa: "\f397"; -} - -.fa-dribbble-square { - --fa: "\f397"; -} - -.fa-dyalog { - --fa: "\f399"; -} - -.fa-earlybirds { - --fa: "\f39a"; -} - -.fa-erlang { - --fa: "\f39d"; -} - -.fa-facebook-f { - --fa: "\f39e"; -} - -.fa-facebook-messenger { - --fa: "\f39f"; -} - -.fa-firstdraft { - --fa: "\f3a1"; -} - -.fa-fonticons-fi { - --fa: "\f3a2"; -} - -.fa-fort-awesome-alt { - --fa: "\f3a3"; -} - -.fa-freebsd { - --fa: "\f3a4"; -} - -.fa-gitkraken { - --fa: "\f3a6"; -} - -.fa-gofore { - --fa: "\f3a7"; -} - -.fa-goodreads { - --fa: "\f3a8"; -} - -.fa-goodreads-g { - --fa: "\f3a9"; -} - -.fa-google-drive { - --fa: "\f3aa"; -} - -.fa-google-play { - --fa: "\f3ab"; -} - -.fa-gripfire { - --fa: "\f3ac"; -} - -.fa-grunt { - --fa: "\f3ad"; -} - -.fa-gulp { - --fa: "\f3ae"; -} - -.fa-square-hacker-news { - --fa: "\f3af"; -} - -.fa-hacker-news-square { - --fa: "\f3af"; -} - -.fa-hire-a-helper { - --fa: "\f3b0"; -} - -.fa-hotjar { - --fa: "\f3b1"; -} - -.fa-hubspot { - --fa: "\f3b2"; -} - -.fa-itunes { - --fa: "\f3b4"; -} - -.fa-itunes-note { - --fa: "\f3b5"; -} - -.fa-jenkins { - --fa: "\f3b6"; -} - -.fa-joget { - --fa: "\f3b7"; -} - -.fa-js { - --fa: "\f3b8"; -} - -.fa-square-js { - --fa: "\f3b9"; -} - -.fa-js-square { - --fa: "\f3b9"; -} - -.fa-keycdn { - --fa: "\f3ba"; -} - -.fa-kickstarter { - --fa: "\f3bb"; -} - -.fa-square-kickstarter { - --fa: "\f3bb"; -} - -.fa-kickstarter-k { - --fa: "\f3bc"; -} - -.fa-laravel { - --fa: "\f3bd"; -} - -.fa-line { - --fa: "\f3c0"; -} - -.fa-lyft { - --fa: "\f3c3"; -} - -.fa-magento { - --fa: "\f3c4"; -} - -.fa-medapps { - --fa: "\f3c6"; -} - -.fa-medrt { - --fa: "\f3c8"; -} - -.fa-microsoft { - --fa: "\f3ca"; -} - -.fa-mix { - --fa: "\f3cb"; -} - -.fa-mizuni { - --fa: "\f3cc"; -} - -.fa-monero { - --fa: "\f3d0"; -} - -.fa-napster { - --fa: "\f3d2"; -} - -.fa-node-js { - --fa: "\f3d3"; -} - -.fa-npm { - --fa: "\f3d4"; -} - -.fa-ns8 { - --fa: "\f3d5"; -} - -.fa-nutritionix { - --fa: "\f3d6"; -} - -.fa-page4 { - --fa: "\f3d7"; -} - -.fa-palfed { - --fa: "\f3d8"; -} - -.fa-patreon { - --fa: "\f3d9"; -} - -.fa-periscope { - --fa: "\f3da"; -} - -.fa-phabricator { - --fa: "\f3db"; -} - -.fa-phoenix-framework { - --fa: "\f3dc"; -} - -.fa-playstation { - --fa: "\f3df"; -} - -.fa-pushed { - --fa: "\f3e1"; -} - -.fa-python { - --fa: "\f3e2"; -} - -.fa-red-river { - --fa: "\f3e3"; -} - -.fa-wpressr { - --fa: "\f3e4"; -} - -.fa-rendact { - --fa: "\f3e4"; -} - -.fa-replyd { - --fa: "\f3e6"; -} - -.fa-resolving { - --fa: "\f3e7"; -} - -.fa-rocketchat { - --fa: "\f3e8"; -} - -.fa-rockrms { - --fa: "\f3e9"; -} - -.fa-schlix { - --fa: "\f3ea"; -} - -.fa-searchengin { - --fa: "\f3eb"; -} - -.fa-servicestack { - --fa: "\f3ec"; -} - -.fa-sistrix { - --fa: "\f3ee"; -} - -.fa-speakap { - --fa: "\f3f3"; -} - -.fa-staylinked { - --fa: "\f3f5"; -} - -.fa-steam-symbol { - --fa: "\f3f6"; -} - -.fa-sticker-mule { - --fa: "\f3f7"; -} - -.fa-studiovinari { - --fa: "\f3f8"; -} - -.fa-supple { - --fa: "\f3f9"; -} - -.fa-uber { - --fa: "\f402"; -} - -.fa-uikit { - --fa: "\f403"; -} - -.fa-uniregistry { - --fa: "\f404"; -} - -.fa-untappd { - --fa: "\f405"; -} - -.fa-ussunnah { - --fa: "\f407"; -} - -.fa-vaadin { - --fa: "\f408"; -} - -.fa-viber { - --fa: "\f409"; -} - -.fa-vimeo { - --fa: "\f40a"; -} - -.fa-vnv { - --fa: "\f40b"; -} - -.fa-square-whatsapp { - --fa: "\f40c"; -} - -.fa-whatsapp-square { - --fa: "\f40c"; -} - -.fa-whmcs { - --fa: "\f40d"; -} - -.fa-wordpress-simple { - --fa: "\f411"; -} - -.fa-xbox { - --fa: "\f412"; -} - -.fa-yandex { - --fa: "\f413"; -} - -.fa-yandex-international { - --fa: "\f414"; -} - -.fa-apple-pay { - --fa: "\f415"; -} - -.fa-cc-apple-pay { - --fa: "\f416"; -} - -.fa-fly { - --fa: "\f417"; -} - -.fa-node { - --fa: "\f419"; -} - -.fa-osi { - --fa: "\f41a"; -} - -.fa-react { - --fa: "\f41b"; -} - -.fa-autoprefixer { - --fa: "\f41c"; -} - -.fa-less { - --fa: "\f41d"; -} - -.fa-sass { - --fa: "\f41e"; -} - -.fa-vuejs { - --fa: "\f41f"; -} - -.fa-angular { - --fa: "\f420"; -} - -.fa-aviato { - --fa: "\f421"; -} - -.fa-ember { - --fa: "\f423"; -} - -.fa-gitter { - --fa: "\f426"; -} - -.fa-hooli { - --fa: "\f427"; -} - -.fa-strava { - --fa: "\f428"; -} - -.fa-stripe { - --fa: "\f429"; -} - -.fa-stripe-s { - --fa: "\f42a"; -} - -.fa-typo3 { - --fa: "\f42b"; -} - -.fa-amazon-pay { - --fa: "\f42c"; -} - -.fa-cc-amazon-pay { - --fa: "\f42d"; -} - -.fa-ethereum { - --fa: "\f42e"; -} - -.fa-korvue { - --fa: "\f42f"; -} - -.fa-elementor { - --fa: "\f430"; -} - -.fa-square-youtube { - --fa: "\f431"; -} - -.fa-youtube-square { - --fa: "\f431"; -} - -.fa-flipboard { - --fa: "\f44d"; -} - -.fa-hips { - --fa: "\f452"; -} - -.fa-php { - --fa: "\f457"; -} - -.fa-quinscape { - --fa: "\f459"; -} - -.fa-readme { - --fa: "\f4d5"; -} - -.fa-java { - --fa: "\f4e4"; -} - -.fa-pied-piper-hat { - --fa: "\f4e5"; -} - -.fa-creative-commons-by { - --fa: "\f4e7"; -} - -.fa-creative-commons-nc { - --fa: "\f4e8"; -} - -.fa-creative-commons-nc-eu { - --fa: "\f4e9"; -} - -.fa-creative-commons-nc-jp { - --fa: "\f4ea"; -} - -.fa-creative-commons-nd { - --fa: "\f4eb"; -} - -.fa-creative-commons-pd { - --fa: "\f4ec"; -} - -.fa-creative-commons-pd-alt { - --fa: "\f4ed"; -} - -.fa-creative-commons-remix { - --fa: "\f4ee"; -} - -.fa-creative-commons-sa { - --fa: "\f4ef"; -} - -.fa-creative-commons-sampling { - --fa: "\f4f0"; -} - -.fa-creative-commons-sampling-plus { - --fa: "\f4f1"; -} - -.fa-creative-commons-share { - --fa: "\f4f2"; -} - -.fa-creative-commons-zero { - --fa: "\f4f3"; -} - -.fa-ebay { - --fa: "\f4f4"; -} - -.fa-keybase { - --fa: "\f4f5"; -} - -.fa-mastodon { - --fa: "\f4f6"; -} - -.fa-r-project { - --fa: "\f4f7"; -} - -.fa-researchgate { - --fa: "\f4f8"; -} - -.fa-teamspeak { - --fa: "\f4f9"; -} - -.fa-first-order-alt { - --fa: "\f50a"; -} - -.fa-fulcrum { - --fa: "\f50b"; -} - -.fa-galactic-republic { - --fa: "\f50c"; -} - -.fa-galactic-senate { - --fa: "\f50d"; -} - -.fa-jedi-order { - --fa: "\f50e"; -} - -.fa-mandalorian { - --fa: "\f50f"; -} - -.fa-old-republic { - --fa: "\f510"; -} - -.fa-phoenix-squadron { - --fa: "\f511"; -} - -.fa-sith { - --fa: "\f512"; -} - -.fa-trade-federation { - --fa: "\f513"; -} - -.fa-wolf-pack-battalion { - --fa: "\f514"; -} - -.fa-hornbill { - --fa: "\f592"; -} - -.fa-mailchimp { - --fa: "\f59e"; -} - -.fa-megaport { - --fa: "\f5a3"; -} - -.fa-nimblr { - --fa: "\f5a8"; -} - -.fa-rev { - --fa: "\f5b2"; -} - -.fa-shopware { - --fa: "\f5b5"; -} - -.fa-squarespace { - --fa: "\f5be"; -} - -.fa-themeco { - --fa: "\f5c6"; -} - -.fa-weebly { - --fa: "\f5cc"; -} - -.fa-wix { - --fa: "\f5cf"; -} - -.fa-ello { - --fa: "\f5f1"; -} - -.fa-hackerrank { - --fa: "\f5f7"; -} - -.fa-kaggle { - --fa: "\f5fa"; -} - -.fa-markdown { - --fa: "\f60f"; -} - -.fa-neos { - --fa: "\f612"; -} - -.fa-zhihu { - --fa: "\f63f"; -} - -.fa-alipay { - --fa: "\f642"; -} - -.fa-the-red-yeti { - --fa: "\f69d"; -} - -.fa-critical-role { - --fa: "\f6c9"; -} - -.fa-d-and-d-beyond { - --fa: "\f6ca"; -} - -.fa-dev { - --fa: "\f6cc"; -} - -.fa-fantasy-flight-games { - --fa: "\f6dc"; -} - -.fa-wizards-of-the-coast { - --fa: "\f730"; -} - -.fa-think-peaks { - --fa: "\f731"; -} - -.fa-reacteurope { - --fa: "\f75d"; -} - -.fa-artstation { - --fa: "\f77a"; -} - -.fa-atlassian { - --fa: "\f77b"; -} - -.fa-canadian-maple-leaf { - --fa: "\f785"; -} - -.fa-centos { - --fa: "\f789"; -} - -.fa-confluence { - --fa: "\f78d"; -} - -.fa-dhl { - --fa: "\f790"; -} - -.fa-diaspora { - --fa: "\f791"; -} - -.fa-fedex { - --fa: "\f797"; -} - -.fa-fedora { - --fa: "\f798"; -} - -.fa-figma { - --fa: "\f799"; -} - -.fa-intercom { - --fa: "\f7af"; -} - -.fa-invision { - --fa: "\f7b0"; -} - -.fa-jira { - --fa: "\f7b1"; -} - -.fa-mendeley { - --fa: "\f7b3"; -} - -.fa-raspberry-pi { - --fa: "\f7bb"; -} - -.fa-redhat { - --fa: "\f7bc"; -} - -.fa-sketch { - --fa: "\f7c6"; -} - -.fa-sourcetree { - --fa: "\f7d3"; -} - -.fa-suse { - --fa: "\f7d6"; -} - -.fa-ubuntu { - --fa: "\f7df"; -} - -.fa-ups { - --fa: "\f7e0"; -} - -.fa-usps { - --fa: "\f7e1"; -} - -.fa-yarn { - --fa: "\f7e3"; -} - -.fa-airbnb { - --fa: "\f834"; -} - -.fa-battle-net { - --fa: "\f835"; -} - -.fa-bootstrap { - --fa: "\f836"; -} - -.fa-buffer { - --fa: "\f837"; -} - -.fa-chromecast { - --fa: "\f838"; -} - -.fa-evernote { - --fa: "\f839"; -} - -.fa-itch-io { - --fa: "\f83a"; -} - -.fa-salesforce { - --fa: "\f83b"; -} - -.fa-speaker-deck { - --fa: "\f83c"; -} - -.fa-symfony { - --fa: "\f83d"; -} - -.fa-waze { - --fa: "\f83f"; -} - -.fa-yammer { - --fa: "\f840"; -} - -.fa-git-alt { - --fa: "\f841"; -} - -.fa-stackpath { - --fa: "\f842"; -} - -.fa-cotton-bureau { - --fa: "\f89e"; -} - -.fa-buy-n-large { - --fa: "\f8a6"; -} - -.fa-mdb { - --fa: "\f8ca"; -} - -.fa-orcid { - --fa: "\f8d2"; -} - -.fa-swift { - --fa: "\f8e1"; -} - -.fa-umbraco { - --fa: "\f8e8"; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/brands.min.css b/public/vendor/fontawesome/css/brands.min.css deleted file mode 100644 index 8eacbc8..0000000 --- a/public/vendor/fontawesome/css/brands.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:"\e007"}.fa-ideal{--fa:"\e013"}.fa-microblog{--fa:"\e01a"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-unity{--fa:"\e049"}.fa-dailymotion{--fa:"\e052"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-mixer{--fa:"\e056"}.fa-shopify{--fa:"\e057"}.fa-deezer{--fa:"\e077"}.fa-edge-legacy{--fa:"\e078"}.fa-google-pay{--fa:"\e079"}.fa-rust{--fa:"\e07a"}.fa-tiktok{--fa:"\e07b"}.fa-unsplash{--fa:"\e07c"}.fa-cloudflare{--fa:"\e07d"}.fa-guilded{--fa:"\e07e"}.fa-hive{--fa:"\e07f"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-instalod{--fa:"\e081"}.fa-octopus-deploy{--fa:"\e082"}.fa-perbyte{--fa:"\e083"}.fa-uncharted{--fa:"\e084"}.fa-watchman-monitoring{--fa:"\e087"}.fa-wodu{--fa:"\e088"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-bots{--fa:"\e340"}.fa-cmplid{--fa:"\e360"}.fa-bilibili{--fa:"\e3d9"}.fa-golang{--fa:"\e40f"}.fa-pix{--fa:"\e43a"}.fa-sitrox{--fa:"\e44a"}.fa-hashnode{--fa:"\e499"}.fa-meta{--fa:"\e49b"}.fa-padlet{--fa:"\e4a0"}.fa-nfc-directional{--fa:"\e530"}.fa-nfc-symbol{--fa:"\e531"}.fa-screenpal{--fa:"\e570"}.fa-space-awesome{--fa:"\e5ac"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-odysee{--fa:"\e5c6"}.fa-stubber{--fa:"\e5c7"}.fa-debian{--fa:"\e60b"}.fa-shoelace{--fa:"\e60c"}.fa-threads{--fa:"\e618"}.fa-square-threads{--fa:"\e619"}.fa-square-x-twitter{--fa:"\e61a"}.fa-x-twitter{--fa:"\e61b"}.fa-opensuse{--fa:"\e62b"}.fa-letterboxd{--fa:"\e62d"}.fa-square-letterboxd{--fa:"\e62e"}.fa-mintbit{--fa:"\e62f"}.fa-google-scholar{--fa:"\e63b"}.fa-brave{--fa:"\e63c"}.fa-brave-reverse{--fa:"\e63d"}.fa-pixiv{--fa:"\e640"}.fa-upwork{--fa:"\e641"}.fa-webflow{--fa:"\e65c"}.fa-signal-messenger{--fa:"\e663"}.fa-bluesky{--fa:"\e671"}.fa-jxl{--fa:"\e67b"}.fa-square-upwork{--fa:"\e67c"}.fa-web-awesome{--fa:"\e682"}.fa-square-web-awesome{--fa:"\e683"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-dart-lang{--fa:"\e693"}.fa-flutter{--fa:"\e694"}.fa-files-pinwheel{--fa:"\e69f"}.fa-css{--fa:"\e6a2"}.fa-square-bluesky{--fa:"\e6a3"}.fa-openai{--fa:"\e7cf"}.fa-square-linkedin{--fa:"\e7d0"}.fa-cash-app{--fa:"\e7d4"}.fa-disqus{--fa:"\e7d5"}.fa-11ty,.fa-eleventy{--fa:"\e7d6"}.fa-kakao-talk{--fa:"\e7d7"}.fa-linktree{--fa:"\e7d8"}.fa-notion{--fa:"\e7d9"}.fa-pandora{--fa:"\e7da"}.fa-pixelfed{--fa:"\e7db"}.fa-tidal{--fa:"\e7dc"}.fa-vsco{--fa:"\e7dd"}.fa-w3c{--fa:"\e7de"}.fa-lumon{--fa:"\e7e2"}.fa-lumon-drop{--fa:"\e7e3"}.fa-square-figma{--fa:"\e7e4"}.fa-tex{--fa:"\e7ff"}.fa-duolingo{--fa:"\e812"}.fa-supportnow{--fa:"\e833"}.fa-tor-browser{--fa:"\e838"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-linkedin{--fa:"\f08c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-twitter{--fa:"\f099"}.fa-facebook{--fa:"\f09a"}.fa-github{--fa:"\f09b"}.fa-pinterest{--fa:"\f0d2"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-google-plus-g{--fa:"\f0d5"}.fa-linkedin-in{--fa:"\f0e1"}.fa-github-alt{--fa:"\f113"}.fa-maxcdn{--fa:"\f136"}.fa-html5{--fa:"\f13b"}.fa-css3{--fa:"\f13c"}.fa-btc{--fa:"\f15a"}.fa-youtube{--fa:"\f167"}.fa-xing{--fa:"\f168"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-dropbox{--fa:"\f16b"}.fa-stack-overflow{--fa:"\f16c"}.fa-instagram{--fa:"\f16d"}.fa-flickr{--fa:"\f16e"}.fa-adn{--fa:"\f170"}.fa-bitbucket{--fa:"\f171"}.fa-tumblr{--fa:"\f173"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-apple{--fa:"\f179"}.fa-windows{--fa:"\f17a"}.fa-android{--fa:"\f17b"}.fa-linux{--fa:"\f17c"}.fa-dribbble{--fa:"\f17d"}.fa-skype{--fa:"\f17e"}.fa-foursquare{--fa:"\f180"}.fa-trello{--fa:"\f181"}.fa-gratipay{--fa:"\f184"}.fa-vk{--fa:"\f189"}.fa-weibo{--fa:"\f18a"}.fa-renren{--fa:"\f18b"}.fa-pagelines{--fa:"\f18c"}.fa-stack-exchange{--fa:"\f18d"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-wordpress{--fa:"\f19a"}.fa-openid{--fa:"\f19b"}.fa-yahoo{--fa:"\f19e"}.fa-google{--fa:"\f1a0"}.fa-reddit{--fa:"\f1a1"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-stumbleupon{--fa:"\f1a4"}.fa-delicious{--fa:"\f1a5"}.fa-digg{--fa:"\f1a6"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-drupal{--fa:"\f1a9"}.fa-joomla{--fa:"\f1aa"}.fa-behance{--fa:"\f1b4"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-steam{--fa:"\f1b6"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-spotify{--fa:"\f1bc"}.fa-deviantart{--fa:"\f1bd"}.fa-soundcloud{--fa:"\f1be"}.fa-vine{--fa:"\f1ca"}.fa-codepen{--fa:"\f1cb"}.fa-jsfiddle{--fa:"\f1cc"}.fa-rebel{--fa:"\f1d0"}.fa-empire{--fa:"\f1d1"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-git{--fa:"\f1d3"}.fa-hacker-news{--fa:"\f1d4"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-qq{--fa:"\f1d6"}.fa-weixin{--fa:"\f1d7"}.fa-slideshare{--fa:"\f1e7"}.fa-twitch{--fa:"\f1e8"}.fa-yelp{--fa:"\f1e9"}.fa-paypal{--fa:"\f1ed"}.fa-google-wallet{--fa:"\f1ee"}.fa-cc-visa{--fa:"\f1f0"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-cc-discover{--fa:"\f1f2"}.fa-cc-amex{--fa:"\f1f3"}.fa-cc-paypal{--fa:"\f1f4"}.fa-cc-stripe{--fa:"\f1f5"}.fa-lastfm{--fa:"\f202"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-ioxhost{--fa:"\f208"}.fa-angellist{--fa:"\f209"}.fa-buysellads{--fa:"\f20d"}.fa-connectdevelop{--fa:"\f20e"}.fa-dashcube{--fa:"\f210"}.fa-forumbee{--fa:"\f211"}.fa-leanpub{--fa:"\f212"}.fa-sellsy{--fa:"\f213"}.fa-shirtsinbulk{--fa:"\f214"}.fa-simplybuilt{--fa:"\f215"}.fa-skyatlas{--fa:"\f216"}.fa-pinterest-p{--fa:"\f231"}.fa-whatsapp{--fa:"\f232"}.fa-viacoin{--fa:"\f237"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-y-combinator{--fa:"\f23b"}.fa-optin-monster{--fa:"\f23c"}.fa-opencart{--fa:"\f23d"}.fa-expeditedssl{--fa:"\f23e"}.fa-cc-jcb{--fa:"\f24b"}.fa-cc-diners-club{--fa:"\f24c"}.fa-creative-commons{--fa:"\f25e"}.fa-gg{--fa:"\f260"}.fa-gg-circle{--fa:"\f261"}.fa-odnoklassniki{--fa:"\f263"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-get-pocket{--fa:"\f265"}.fa-wikipedia-w{--fa:"\f266"}.fa-safari{--fa:"\f267"}.fa-chrome{--fa:"\f268"}.fa-firefox{--fa:"\f269"}.fa-opera{--fa:"\f26a"}.fa-internet-explorer{--fa:"\f26b"}.fa-contao{--fa:"\f26d"}.fa-500px{--fa:"\f26e"}.fa-amazon{--fa:"\f270"}.fa-houzz{--fa:"\f27c"}.fa-vimeo-v{--fa:"\f27d"}.fa-black-tie{--fa:"\f27e"}.fa-fonticons{--fa:"\f280"}.fa-reddit-alien{--fa:"\f281"}.fa-edge{--fa:"\f282"}.fa-codiepie{--fa:"\f284"}.fa-modx{--fa:"\f285"}.fa-fort-awesome{--fa:"\f286"}.fa-usb{--fa:"\f287"}.fa-product-hunt{--fa:"\f288"}.fa-mixcloud{--fa:"\f289"}.fa-scribd{--fa:"\f28a"}.fa-bluetooth{--fa:"\f293"}.fa-bluetooth-b{--fa:"\f294"}.fa-gitlab{--fa:"\f296"}.fa-wpbeginner{--fa:"\f297"}.fa-wpforms{--fa:"\f298"}.fa-envira{--fa:"\f299"}.fa-glide{--fa:"\f2a5"}.fa-glide-g{--fa:"\f2a6"}.fa-viadeo{--fa:"\f2a9"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-pied-piper{--fa:"\f2ae"}.fa-first-order{--fa:"\f2b0"}.fa-yoast{--fa:"\f2b1"}.fa-themeisle{--fa:"\f2b2"}.fa-google-plus{--fa:"\f2b3"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-linode{--fa:"\f2b8"}.fa-quora{--fa:"\f2c4"}.fa-free-code-camp{--fa:"\f2c5"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-bandcamp{--fa:"\f2d5"}.fa-grav{--fa:"\f2d6"}.fa-etsy{--fa:"\f2d7"}.fa-imdb{--fa:"\f2d8"}.fa-ravelry{--fa:"\f2d9"}.fa-sellcast{--fa:"\f2da"}.fa-superpowers{--fa:"\f2dd"}.fa-wpexplorer{--fa:"\f2de"}.fa-meetup{--fa:"\f2e0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-accessible-icon{--fa:"\f368"}.fa-accusoft{--fa:"\f369"}.fa-adversal{--fa:"\f36a"}.fa-affiliatetheme{--fa:"\f36b"}.fa-algolia{--fa:"\f36c"}.fa-amilia{--fa:"\f36d"}.fa-angrycreative{--fa:"\f36e"}.fa-app-store{--fa:"\f36f"}.fa-app-store-ios{--fa:"\f370"}.fa-apper{--fa:"\f371"}.fa-asymmetrik{--fa:"\f372"}.fa-audible{--fa:"\f373"}.fa-avianex{--fa:"\f374"}.fa-aws{--fa:"\f375"}.fa-bimobject{--fa:"\f378"}.fa-bitcoin{--fa:"\f379"}.fa-bity{--fa:"\f37a"}.fa-blackberry{--fa:"\f37b"}.fa-blogger{--fa:"\f37c"}.fa-blogger-b{--fa:"\f37d"}.fa-buromobelexperte{--fa:"\f37f"}.fa-centercode{--fa:"\f380"}.fa-cloudscale{--fa:"\f383"}.fa-cloudsmith{--fa:"\f384"}.fa-cloudversify{--fa:"\f385"}.fa-cpanel{--fa:"\f388"}.fa-css3-alt{--fa:"\f38b"}.fa-cuttlefish{--fa:"\f38c"}.fa-d-and-d{--fa:"\f38d"}.fa-deploydog{--fa:"\f38e"}.fa-deskpro{--fa:"\f38f"}.fa-digital-ocean{--fa:"\f391"}.fa-discord{--fa:"\f392"}.fa-discourse{--fa:"\f393"}.fa-dochub{--fa:"\f394"}.fa-docker{--fa:"\f395"}.fa-draft2digital{--fa:"\f396"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-dyalog{--fa:"\f399"}.fa-earlybirds{--fa:"\f39a"}.fa-erlang{--fa:"\f39d"}.fa-facebook-f{--fa:"\f39e"}.fa-facebook-messenger{--fa:"\f39f"}.fa-firstdraft{--fa:"\f3a1"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-freebsd{--fa:"\f3a4"}.fa-gitkraken{--fa:"\f3a6"}.fa-gofore{--fa:"\f3a7"}.fa-goodreads{--fa:"\f3a8"}.fa-goodreads-g{--fa:"\f3a9"}.fa-google-drive{--fa:"\f3aa"}.fa-google-play{--fa:"\f3ab"}.fa-gripfire{--fa:"\f3ac"}.fa-grunt{--fa:"\f3ad"}.fa-gulp{--fa:"\f3ae"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-hotjar{--fa:"\f3b1"}.fa-hubspot{--fa:"\f3b2"}.fa-itunes{--fa:"\f3b4"}.fa-itunes-note{--fa:"\f3b5"}.fa-jenkins{--fa:"\f3b6"}.fa-joget{--fa:"\f3b7"}.fa-js{--fa:"\f3b8"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-keycdn{--fa:"\f3ba"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-laravel{--fa:"\f3bd"}.fa-line{--fa:"\f3c0"}.fa-lyft{--fa:"\f3c3"}.fa-magento{--fa:"\f3c4"}.fa-medapps{--fa:"\f3c6"}.fa-medrt{--fa:"\f3c8"}.fa-microsoft{--fa:"\f3ca"}.fa-mix{--fa:"\f3cb"}.fa-mizuni{--fa:"\f3cc"}.fa-monero{--fa:"\f3d0"}.fa-napster{--fa:"\f3d2"}.fa-node-js{--fa:"\f3d3"}.fa-npm{--fa:"\f3d4"}.fa-ns8{--fa:"\f3d5"}.fa-nutritionix{--fa:"\f3d6"}.fa-page4{--fa:"\f3d7"}.fa-palfed{--fa:"\f3d8"}.fa-patreon{--fa:"\f3d9"}.fa-periscope{--fa:"\f3da"}.fa-phabricator{--fa:"\f3db"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-playstation{--fa:"\f3df"}.fa-pushed{--fa:"\f3e1"}.fa-python{--fa:"\f3e2"}.fa-red-river{--fa:"\f3e3"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-replyd{--fa:"\f3e6"}.fa-resolving{--fa:"\f3e7"}.fa-rocketchat{--fa:"\f3e8"}.fa-rockrms{--fa:"\f3e9"}.fa-schlix{--fa:"\f3ea"}.fa-searchengin{--fa:"\f3eb"}.fa-servicestack{--fa:"\f3ec"}.fa-sistrix{--fa:"\f3ee"}.fa-speakap{--fa:"\f3f3"}.fa-staylinked{--fa:"\f3f5"}.fa-steam-symbol{--fa:"\f3f6"}.fa-sticker-mule{--fa:"\f3f7"}.fa-studiovinari{--fa:"\f3f8"}.fa-supple{--fa:"\f3f9"}.fa-uber{--fa:"\f402"}.fa-uikit{--fa:"\f403"}.fa-uniregistry{--fa:"\f404"}.fa-untappd{--fa:"\f405"}.fa-ussunnah{--fa:"\f407"}.fa-vaadin{--fa:"\f408"}.fa-viber{--fa:"\f409"}.fa-vimeo{--fa:"\f40a"}.fa-vnv{--fa:"\f40b"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-whmcs{--fa:"\f40d"}.fa-wordpress-simple{--fa:"\f411"}.fa-xbox{--fa:"\f412"}.fa-yandex{--fa:"\f413"}.fa-yandex-international{--fa:"\f414"}.fa-apple-pay{--fa:"\f415"}.fa-cc-apple-pay{--fa:"\f416"}.fa-fly{--fa:"\f417"}.fa-node{--fa:"\f419"}.fa-osi{--fa:"\f41a"}.fa-react{--fa:"\f41b"}.fa-autoprefixer{--fa:"\f41c"}.fa-less{--fa:"\f41d"}.fa-sass{--fa:"\f41e"}.fa-vuejs{--fa:"\f41f"}.fa-angular{--fa:"\f420"}.fa-aviato{--fa:"\f421"}.fa-ember{--fa:"\f423"}.fa-gitter{--fa:"\f426"}.fa-hooli{--fa:"\f427"}.fa-strava{--fa:"\f428"}.fa-stripe{--fa:"\f429"}.fa-stripe-s{--fa:"\f42a"}.fa-typo3{--fa:"\f42b"}.fa-amazon-pay{--fa:"\f42c"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-ethereum{--fa:"\f42e"}.fa-korvue{--fa:"\f42f"}.fa-elementor{--fa:"\f430"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-flipboard{--fa:"\f44d"}.fa-hips{--fa:"\f452"}.fa-php{--fa:"\f457"}.fa-quinscape{--fa:"\f459"}.fa-readme{--fa:"\f4d5"}.fa-java{--fa:"\f4e4"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-ebay{--fa:"\f4f4"}.fa-keybase{--fa:"\f4f5"}.fa-mastodon{--fa:"\f4f6"}.fa-r-project{--fa:"\f4f7"}.fa-researchgate{--fa:"\f4f8"}.fa-teamspeak{--fa:"\f4f9"}.fa-first-order-alt{--fa:"\f50a"}.fa-fulcrum{--fa:"\f50b"}.fa-galactic-republic{--fa:"\f50c"}.fa-galactic-senate{--fa:"\f50d"}.fa-jedi-order{--fa:"\f50e"}.fa-mandalorian{--fa:"\f50f"}.fa-old-republic{--fa:"\f510"}.fa-phoenix-squadron{--fa:"\f511"}.fa-sith{--fa:"\f512"}.fa-trade-federation{--fa:"\f513"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-hornbill{--fa:"\f592"}.fa-mailchimp{--fa:"\f59e"}.fa-megaport{--fa:"\f5a3"}.fa-nimblr{--fa:"\f5a8"}.fa-rev{--fa:"\f5b2"}.fa-shopware{--fa:"\f5b5"}.fa-squarespace{--fa:"\f5be"}.fa-themeco{--fa:"\f5c6"}.fa-weebly{--fa:"\f5cc"}.fa-wix{--fa:"\f5cf"}.fa-ello{--fa:"\f5f1"}.fa-hackerrank{--fa:"\f5f7"}.fa-kaggle{--fa:"\f5fa"}.fa-markdown{--fa:"\f60f"}.fa-neos{--fa:"\f612"}.fa-zhihu{--fa:"\f63f"}.fa-alipay{--fa:"\f642"}.fa-the-red-yeti{--fa:"\f69d"}.fa-critical-role{--fa:"\f6c9"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-dev{--fa:"\f6cc"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-think-peaks{--fa:"\f731"}.fa-reacteurope{--fa:"\f75d"}.fa-artstation{--fa:"\f77a"}.fa-atlassian{--fa:"\f77b"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-centos{--fa:"\f789"}.fa-confluence{--fa:"\f78d"}.fa-dhl{--fa:"\f790"}.fa-diaspora{--fa:"\f791"}.fa-fedex{--fa:"\f797"}.fa-fedora{--fa:"\f798"}.fa-figma{--fa:"\f799"}.fa-intercom{--fa:"\f7af"}.fa-invision{--fa:"\f7b0"}.fa-jira{--fa:"\f7b1"}.fa-mendeley{--fa:"\f7b3"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-redhat{--fa:"\f7bc"}.fa-sketch{--fa:"\f7c6"}.fa-sourcetree{--fa:"\f7d3"}.fa-suse{--fa:"\f7d6"}.fa-ubuntu{--fa:"\f7df"}.fa-ups{--fa:"\f7e0"}.fa-usps{--fa:"\f7e1"}.fa-yarn{--fa:"\f7e3"}.fa-airbnb{--fa:"\f834"}.fa-battle-net{--fa:"\f835"}.fa-bootstrap{--fa:"\f836"}.fa-buffer{--fa:"\f837"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-itch-io{--fa:"\f83a"}.fa-salesforce{--fa:"\f83b"}.fa-speaker-deck{--fa:"\f83c"}.fa-symfony{--fa:"\f83d"}.fa-waze{--fa:"\f83f"}.fa-yammer{--fa:"\f840"}.fa-git-alt{--fa:"\f841"}.fa-stackpath{--fa:"\f842"}.fa-cotton-bureau{--fa:"\f89e"}.fa-buy-n-large{--fa:"\f8a6"}.fa-mdb{--fa:"\f8ca"}.fa-orcid{--fa:"\f8d2"}.fa-swift{--fa:"\f8e1"}.fa-umbraco{--fa:"\f8e8"} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/chisel-regular.css b/public/vendor/fontawesome/css/chisel-regular.css deleted file mode 100644 index 6eec49c..0000000 --- a/public/vendor/fontawesome/css/chisel-regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-chisel: "Font Awesome 7 Chisel"; - --fa-font-chisel-regular: normal 400 1em/1 var(--fa-family-chisel); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-chisel: var(--fa-family-chisel); -} - -@font-face { - font-family: "Font Awesome 7 Chisel"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-chisel-regular-400.woff2"); -} -.facr { - --fa-family: var(--fa-family-chisel); - --fa-style: 400; -} - -.fa-chisel { - --fa-family: var(--fa-family-chisel); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/chisel-regular.min.css b/public/vendor/fontawesome/css/chisel-regular.min.css deleted file mode 100644 index afc80e0..0000000 --- a/public/vendor/fontawesome/css/chisel-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-chisel:"Font Awesome 7 Chisel";--fa-font-chisel-regular:normal 400 1em/1 var(--fa-family-chisel);--fa-style-family-chisel:var(--fa-family-chisel)}@font-face{font-family:"Font Awesome 7 Chisel";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-chisel-regular-400.woff2)}.facr{--fa-style:400}.fa-chisel,.facr{--fa-family:var(--fa-family-chisel)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone-light.css b/public/vendor/fontawesome/css/duotone-light.css deleted file mode 100644 index 27c6730..0000000 --- a/public/vendor/fontawesome/css/duotone-light.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-duotone: "Font Awesome 7 Duotone"; - --fa-font-duotone-light: normal 300 1em/1 var(--fa-family-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-duotone: var(--fa-family-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Duotone"; - font-style: normal; - font-weight: 300; - font-display: block; - src: url("../webfonts/fa-duotone-light-300.woff2"); -} -.fadl { - --fa-family: var(--fa-family-duotone); - --fa-style: 300; - position: relative; - letter-spacing: normal; -} - -.fa-duotone { - --fa-family: var(--fa-family-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-light { - --fa-style: 300; -} - -.fadl::before, -.fa-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fadl::after, -.fa-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fadl::before, -.fa-swap-opacity .fa-duotone::before, -.fa-swap-opacity.fadl::before, -.fa-swap-opacity.fa-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fadl::after, -.fa-swap-opacity .fa-duotone::after, -.fa-swap-opacity.fadl::after, -.fa-swap-opacity.fa-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fadl, -.fa-li.fa-duotone, -.fa-stack-1x.fadl, -.fa-stack-1x.fa-duotone, -.fa-stack-2x.fadl, -.fa-stack-2x.fa-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone-light.min.css b/public/vendor/fontawesome/css/duotone-light.min.css deleted file mode 100644 index 2ace5c2..0000000 --- a/public/vendor/fontawesome/css/duotone-light.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-duotone:"Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 var(--fa-family-duotone);--fa-style-family-duotone:var(--fa-family-duotone)}@font-face{font-family:"Font Awesome 7 Duotone";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-duotone-light-300.woff2)}.fadl{--fa-style:300}.fa-duotone,.fadl{--fa-family:var(--fa-family-duotone);position:relative;letter-spacing:normal}.fa-light{--fa-style:300}.fa-duotone:before,.fadl:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-duotone:after,.fadl:after{color:var(--fa-secondary-color,currentColor)}.fa-duotone:after,.fa-swap-opacity.fa-duotone:before,.fa-swap-opacity .fa-duotone:before,.fa-swap-opacity.fadl:before,.fa-swap-opacity .fadl:before,.fadl:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-duotone:after,.fa-swap-opacity .fa-duotone:after,.fa-swap-opacity.fadl:after,.fa-swap-opacity .fadl:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-duotone,.fa-li.fadl,.fa-stack-1x.fa-duotone,.fa-stack-1x.fadl,.fa-stack-2x.fa-duotone,.fa-stack-2x.fadl{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone-regular.css b/public/vendor/fontawesome/css/duotone-regular.css deleted file mode 100644 index c423dfd..0000000 --- a/public/vendor/fontawesome/css/duotone-regular.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-duotone: "Font Awesome 7 Duotone"; - --fa-font-duotone-regular: normal 400 1em/1 var(--fa-family-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-duotone: var(--fa-family-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Duotone"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-duotone-regular-400.woff2"); -} -.fadr { - --fa-family: var(--fa-family-duotone); - --fa-style: 400; - position: relative; - letter-spacing: normal; -} - -.fa-duotone { - --fa-family: var(--fa-family-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-regular { - --fa-style: 400; -} - -.fadr::before, -.fa-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fadr::after, -.fa-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fadr::before, -.fa-swap-opacity .fa-duotone::before, -.fa-swap-opacity.fadr::before, -.fa-swap-opacity.fa-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fadr::after, -.fa-swap-opacity .fa-duotone::after, -.fa-swap-opacity.fadr::after, -.fa-swap-opacity.fa-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fadr, -.fa-li.fa-duotone, -.fa-stack-1x.fadr, -.fa-stack-1x.fa-duotone, -.fa-stack-2x.fadr, -.fa-stack-2x.fa-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone-regular.min.css b/public/vendor/fontawesome/css/duotone-regular.min.css deleted file mode 100644 index d190a62..0000000 --- a/public/vendor/fontawesome/css/duotone-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-duotone:"Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 var(--fa-family-duotone);--fa-style-family-duotone:var(--fa-family-duotone)}@font-face{font-family:"Font Awesome 7 Duotone";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-duotone-regular-400.woff2)}.fadr{--fa-style:400}.fa-duotone,.fadr{--fa-family:var(--fa-family-duotone);position:relative;letter-spacing:normal}.fa-regular{--fa-style:400}.fa-duotone:before,.fadr:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-duotone:after,.fadr:after{color:var(--fa-secondary-color,currentColor)}.fa-duotone:after,.fa-swap-opacity.fa-duotone:before,.fa-swap-opacity .fa-duotone:before,.fa-swap-opacity.fadr:before,.fa-swap-opacity .fadr:before,.fadr:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-duotone:after,.fa-swap-opacity .fa-duotone:after,.fa-swap-opacity.fadr:after,.fa-swap-opacity .fadr:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-duotone,.fa-li.fadr,.fa-stack-1x.fa-duotone,.fa-stack-1x.fadr,.fa-stack-2x.fa-duotone,.fa-stack-2x.fadr{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone-thin.css b/public/vendor/fontawesome/css/duotone-thin.css deleted file mode 100644 index f70a20c..0000000 --- a/public/vendor/fontawesome/css/duotone-thin.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-duotone: "Font Awesome 7 Duotone"; - --fa-font-duotone-thin: normal 100 1em/1 var(--fa-family-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-duotone: var(--fa-family-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Duotone"; - font-style: normal; - font-weight: 100; - font-display: block; - src: url("../webfonts/fa-duotone-thin-100.woff2"); -} -.fadt { - --fa-family: var(--fa-family-duotone); - --fa-style: 100; - position: relative; - letter-spacing: normal; -} - -.fa-duotone { - --fa-family: var(--fa-family-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-thin { - --fa-style: 100; -} - -.fadt::before, -.fa-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fadt::after, -.fa-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fadt::before, -.fa-swap-opacity .fa-duotone::before, -.fa-swap-opacity.fadt::before, -.fa-swap-opacity.fa-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fadt::after, -.fa-swap-opacity .fa-duotone::after, -.fa-swap-opacity.fadt::after, -.fa-swap-opacity.fa-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fadt, -.fa-li.fa-duotone, -.fa-stack-1x.fadt, -.fa-stack-1x.fa-duotone, -.fa-stack-2x.fadt, -.fa-stack-2x.fa-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone-thin.min.css b/public/vendor/fontawesome/css/duotone-thin.min.css deleted file mode 100644 index 8704b0c..0000000 --- a/public/vendor/fontawesome/css/duotone-thin.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-duotone:"Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 var(--fa-family-duotone);--fa-style-family-duotone:var(--fa-family-duotone)}@font-face{font-family:"Font Awesome 7 Duotone";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-duotone-thin-100.woff2)}.fadt{--fa-style:100}.fa-duotone,.fadt{--fa-family:var(--fa-family-duotone);position:relative;letter-spacing:normal}.fa-thin{--fa-style:100}.fa-duotone:before,.fadt:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-duotone:after,.fadt:after{color:var(--fa-secondary-color,currentColor)}.fa-duotone:after,.fa-swap-opacity.fa-duotone:before,.fa-swap-opacity .fa-duotone:before,.fa-swap-opacity.fadt:before,.fa-swap-opacity .fadt:before,.fadt:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-duotone:after,.fa-swap-opacity .fa-duotone:after,.fa-swap-opacity.fadt:after,.fa-swap-opacity .fadt:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-duotone,.fa-li.fadt,.fa-stack-1x.fa-duotone,.fa-stack-1x.fadt,.fa-stack-2x.fa-duotone,.fa-stack-2x.fadt{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone.css b/public/vendor/fontawesome/css/duotone.css deleted file mode 100644 index b0d8ae5..0000000 --- a/public/vendor/fontawesome/css/duotone.css +++ /dev/null @@ -1,62 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-duotone: "Font Awesome 7 Duotone"; - --fa-font-duotone: normal 900 1em/1 var(--fa-family-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-duotone: var(--fa-family-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Duotone"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-duotone-900.woff2"); -} -.fad, -.fa-duotone { - --fa-family: var(--fa-family-duotone); - --fa-style: 900; - position: relative; - letter-spacing: normal; -} - -.fad::before, -.fa-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fad::after, -.fa-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fad::before, -.fa-swap-opacity .fa-duotone::before, -.fad.fa-swap-opacity::before, -.fa-duotone.fa-swap-opacity::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fad::after, -.fa-swap-opacity .fa-duotone::after, -.fad.fa-swap-opacity::after, -.fa-duotone.fa-swap-opacity::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fad.fa-li, -.fa-duotone.fa-li, -.fad.fa-stack-1x, -.fa-duotone.fa-stack-1x, -.fad.fa-stack-2x, -.fa-duotone.fa-stack-2x { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/duotone.min.css b/public/vendor/fontawesome/css/duotone.min.css deleted file mode 100644 index 3cffe6b..0000000 --- a/public/vendor/fontawesome/css/duotone.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-duotone:"Font Awesome 7 Duotone";--fa-font-duotone:normal 900 1em/1 var(--fa-family-duotone);--fa-style-family-duotone:var(--fa-family-duotone)}@font-face{font-family:"Font Awesome 7 Duotone";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-duotone-900.woff2)}.fa-duotone,.fad{--fa-family:var(--fa-family-duotone);--fa-style:900;position:relative;letter-spacing:normal}.fa-duotone:before,.fad:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-duotone:after,.fad:after{color:var(--fa-secondary-color,currentColor)}.fa-duotone.fa-swap-opacity:before,.fa-duotone:after,.fa-swap-opacity .fa-duotone:before,.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:var(--fa-secondary-opacity,.4)}.fa-duotone.fa-swap-opacity:after,.fa-swap-opacity .fa-duotone:after,.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:var(--fa-primary-opacity,1)}.fa-duotone.fa-li,.fa-duotone.fa-stack-1x,.fa-duotone.fa-stack-2x,.fad.fa-li,.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/etch-solid.css b/public/vendor/fontawesome/css/etch-solid.css deleted file mode 100644 index a29e7d5..0000000 --- a/public/vendor/fontawesome/css/etch-solid.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-etch: "Font Awesome 7 Etch"; - --fa-font-etch-solid: normal 900 1em/1 var(--fa-family-etch); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-etch: var(--fa-family-etch); -} - -@font-face { - font-family: "Font Awesome 7 Etch"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-etch-solid-900.woff2"); -} -.faes { - --fa-family: var(--fa-family-etch); - --fa-style: 900; -} - -.fa-etch { - --fa-family: var(--fa-family-etch); -} - -.fa-solid { - --fa-style: 900; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/etch-solid.min.css b/public/vendor/fontawesome/css/etch-solid.min.css deleted file mode 100644 index 5fb6e6d..0000000 --- a/public/vendor/fontawesome/css/etch-solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-etch:"Font Awesome 7 Etch";--fa-font-etch-solid:normal 900 1em/1 var(--fa-family-etch);--fa-style-family-etch:var(--fa-family-etch)}@font-face{font-family:"Font Awesome 7 Etch";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-etch-solid-900.woff2)}.faes{--fa-style:900}.fa-etch,.faes{--fa-family:var(--fa-family-etch)}.fa-solid{--fa-style:900} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/fontawesome.css b/public/vendor/fontawesome/css/fontawesome.css deleted file mode 100644 index bb70012..0000000 --- a/public/vendor/fontawesome/css/fontawesome.css +++ /dev/null @@ -1,19421 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -.fa-solid, -.fa-regular, -.fa-brands, -.fa-classic, -.fas, -.far, -.fab, -.fal, -.fat, -.fad, -.fadr, -.fadl, -.fadt, -.fass, -.fasr, -.fasl, -.fast, -.fasds, -.fasdr, -.fasdl, -.fasdt, -.faslr, -.faslpr, -.fawsb, -.fatl, -.fans, -.fands, -.faes, -.fajr, -.fajfr, -.fajdr, -.facr, -.fausb, -.faudsb, -.faufsb, -.fa-solid, -.fa-semibold, -.fa-regular, -.fa-light, -.fa-thin, -.fa-brands, -.fa-classic, -.fa-duotone, -.fa-sharp, -.fa-sharp-duotone, -.fa-chisel, -.fa-etch, -.fa-jelly, -.fa-jelly-duo, -.fa-jelly-fill, -.fa-notdog, -.fa-notdog-duo, -.fa-slab, -.fa-slab-press, -.fa-thumbprint, -.fa-utility, -.fa-utility-duo, -.fa-utility-fill, -.fa-whiteboard, -.fa { - --_fa-family: var(--fa-family, var(--fa-style-family, "Font Awesome 7 Pro")); - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - display: var(--fa-display, inline-block); - font-family: var(--_fa-family); - font-feature-settings: normal; - font-style: normal; - font-synthesis: none; - font-variant: normal; - font-weight: var(--fa-style, 900); - line-height: 1; - text-align: center; - text-rendering: auto; - width: var(--fa-width, 1.25em); -} - -:is(.fas, -.fass, -.far, -.fasr, -.fal, -.fasl, -.fat, -.fast, -.fad, -.fadr, -.fadl, -.fadt, -.fasds, -.fasdr, -.fasdl, -.fasdt, -.fab, -.faslr, -.faslpr, -.fawsb, -.fatl, -.fans, -.fands, -.faes, -.fajr, -.fajfr, -.fajdr, -.facr, -.fausb, -.faudsb, -.faufsb, -.fa-solid, -.fa-semibold, -.fa-regular, -.fa-light, -.fa-thin, -.fa-brands, -.fa-classic, -.fa-duotone, -.fa-sharp, -.fa-sharp-duotone, -.fa-chisel, -.fa-etch, -.fa-jelly, -.fa-jelly-duo, -.fa-jelly-fill, -.fa-notdog, -.fa-notdog-duo, -.fa-slab, -.fa-slab-press, -.fa-thumbprint, -.fa-utility, -.fa-utility-duo, -.fa-utility-fill, -.fa-whiteboard, -.fa)::before { - content: var(--fa)/""; -} - -@supports not (content: ""/"") { - :is(.fas, - .fass, - .far, - .fasr, - .fal, - .fasl, - .fat, - .fast, - .fad, - .fadr, - .fadl, - .fadt, - .fasds, - .fasdr, - .fasdl, - .fasdt, - .fab, - .faslr, - .faslpr, - .fawsb, - .fatl, - .fans, - .fands, - .faes, - .fajr, - .fajfr, - .fajdr, - .facr, - .fausb, - .faudsb, - .faufsb, - .fa-solid, - .fa-semibold, - .fa-regular, - .fa-light, - .fa-thin, - .fa-brands, - .fa-classic, - .fa-duotone, - .fa-sharp, - .fa-sharp-duotone, - .fa-chisel, - .fa-etch, - .fa-jelly, - .fa-jelly-duo, - .fa-jelly-fill, - .fa-notdog, - .fa-notdog-duo, - .fa-slab, - .fa-slab-press, - .fa-thumbprint, - .fa-utility, - .fa-utility-duo, - .fa-utility-fill, - .fa-whiteboard, - .fa)::before { - content: var(--fa); - } -} -:is(.fad, -.fa-duotone, -.fadr, -.fadl, -.fadt, -.fasds, -.fa-sharp-duotone, -.fasdr, -.fasdl, -.fasdt, -.fatl, -.fa-thumbprint, -.fands, -.fa-notdog-duo, -.fajdr, -.fa-jelly-duo, -.faudsb, -.fa-utility-duo)::after { - content: var(--fa); - font-feature-settings: "ss01"; -} - -@supports not (content: ""/"") { - :is(.fad, - .fa-duotone, - .fadr, - .fadl, - .fadt, - .fasds, - .fa-sharp-duotone, - .fasdr, - .fasdl, - .fasdt, - .fatl, - .fa-thumbprint, - .fands, - .fa-notdog-duo, - .fajdr, - .fa-jelly-duo, - .faudsb, - .fa-utility-duo)::after { - content: var(--fa); - } -} -.fa-1x { - font-size: 1em; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-6x { - font-size: 6em; -} - -.fa-7x { - font-size: 7em; -} - -.fa-8x { - font-size: 8em; -} - -.fa-9x { - font-size: 9em; -} - -.fa-10x { - font-size: 10em; -} - -.fa-2xs { - font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-xs { - font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-sm { - font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-lg { - font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-xl { - font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-2xl { - font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-width-auto { - --fa-width: auto; -} - -.fa-fw, -.fa-width-fixed { - --fa-width: 1.25em; -} - -.fa-ul { - list-style-type: none; - margin-inline-start: var(--fa-li-margin, 2.5em); - padding-inline-start: 0; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - position: absolute; - text-align: center; - width: var(--fa-li-width, 2em); - line-height: inherit; -} - -/* Heads Up: Bordered Icons will not be supported in the future! - - This feature will be deprecated in the next major release of Font Awesome (v8)! - - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8. -*/ -/* Notes: -* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size) -* --@{v.$css-prefix}-border-padding = - ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment) - ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon) -*/ -.fa-border { - border-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.0625em); - box-sizing: var(--fa-border-box-sizing, content-box); - padding: var(--fa-border-padding, 0.1875em 0.25em); -} - -.fa-pull-left, -.fa-pull-start { - float: inline-start; - margin-inline-end: var(--fa-pull-margin, 0.3em); -} - -.fa-pull-right, -.fa-pull-end { - float: inline-end; - margin-inline-start: var(--fa-pull-margin, 0.3em); -} - -.fa-beat { - animation-name: fa-beat; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-bounce { - animation-name: fa-bounce; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); -} - -.fa-fade { - animation-name: fa-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-beat-fade { - animation-name: fa-beat-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-flip { - animation-name: fa-flip; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-shake { - animation-name: fa-shake; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin { - animation-name: fa-spin; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 2s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-reverse { - --fa-animation-direction: reverse; -} - -.fa-pulse, -.fa-spin-pulse { - animation-name: fa-spin; - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, steps(8)); -} - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse { - animation: none !important; - transition: none !important; - } -} -@keyframes fa-beat { - 0%, 90% { - transform: scale(1); - } - 45% { - transform: scale(var(--fa-beat-scale, 1.25)); - } -} -@keyframes fa-bounce { - 0% { - transform: scale(1, 1) translateY(0); - } - 10% { - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - } - 30% { - transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - } - 50% { - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - } - 57% { - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - } - 64% { - transform: scale(1, 1) translateY(0); - } - 100% { - transform: scale(1, 1) translateY(0); - } -} -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); - } -} -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - transform: scale(1); - } - 50% { - opacity: 1; - transform: scale(var(--fa-beat-fade-scale, 1.125)); - } -} -@keyframes fa-flip { - 50% { - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - } -} -@keyframes fa-shake { - 0% { - transform: rotate(-15deg); - } - 4% { - transform: rotate(15deg); - } - 8%, 24% { - transform: rotate(-18deg); - } - 12%, 28% { - transform: rotate(18deg); - } - 16% { - transform: rotate(-22deg); - } - 20% { - transform: rotate(22deg); - } - 32% { - transform: rotate(-12deg); - } - 36% { - transform: rotate(12deg); - } - 40%, 100% { - transform: rotate(0deg); - } -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -.fa-rotate-90 { - transform: rotate(90deg); -} - -.fa-rotate-180 { - transform: rotate(180deg); -} - -.fa-rotate-270 { - transform: rotate(270deg); -} - -.fa-flip-horizontal { - transform: scale(-1, 1); -} - -.fa-flip-vertical { - transform: scale(1, -1); -} - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1, -1); -} - -.fa-rotate-by { - transform: rotate(var(--fa-rotate-angle, 0)); -} - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} - -.fa-stack-1x, -.fa-stack-2x { - --fa-width: 100%; - inset: 0; - position: absolute; - text-align: center; - width: var(--fa-width); - z-index: var(--fa-stack-z-index, auto); -} - -.fa-stack-1x { - line-height: inherit; -} - -.fa-stack-2x { - font-size: 2em; -} - -.fa-inverse { - color: var(--fa-inverse, #fff); -} - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ - -.fa-0 { - --fa: "\30 "; -} - -.fa-1 { - --fa: "\31 "; -} - -.fa-2 { - --fa: "\32 "; -} - -.fa-3 { - --fa: "\33 "; -} - -.fa-4 { - --fa: "\34 "; -} - -.fa-5 { - --fa: "\35 "; -} - -.fa-6 { - --fa: "\36 "; -} - -.fa-7 { - --fa: "\37 "; -} - -.fa-8 { - --fa: "\38 "; -} - -.fa-9 { - --fa: "\39 "; -} - -.fa-exclamation { - --fa: "\!"; -} - -.fa-ditto { - --fa: "\""; -} - -.fa-hashtag { - --fa: "\#"; -} - -.fa-dollar-sign { - --fa: "\$"; -} - -.fa-dollar { - --fa: "\$"; -} - -.fa-usd { - --fa: "\$"; -} - -.fa-percent { - --fa: "\%"; -} - -.fa-percentage { - --fa: "\%"; -} - -.fa-ampersand { - --fa: "\&"; -} - -.fa-apostrophe { - --fa: "\'"; -} - -.fa-bracket-round { - --fa: "\("; -} - -.fa-parenthesis { - --fa: "\("; -} - -.fa-bracket-round-right { - --fa: "\)"; -} - -.fa-asterisk { - --fa: "\*"; -} - -.fa-plus { - --fa: "\+"; -} - -.fa-add { - --fa: "\+"; -} - -.fa-comma { - --fa: "\,"; -} - -.fa-hyphen { - --fa: "\-"; -} - -.fa-period { - --fa: "\."; -} - -.fa-slash-forward { - --fa: "\/"; -} - -.fa-colon { - --fa: "\:"; -} - -.fa-semicolon { - --fa: "\;"; -} - -.fa-less-than { - --fa: "\<"; -} - -.fa-equals { - --fa: "\="; -} - -.fa-greater-than { - --fa: "\>"; -} - -.fa-question { - --fa: "\?"; -} - -.fa-at { - --fa: "\@"; -} - -.fa-a { - --fa: "A"; -} - -.fa-b { - --fa: "B"; -} - -.fa-c { - --fa: "C"; -} - -.fa-d { - --fa: "D"; -} - -.fa-e { - --fa: "E"; -} - -.fa-f { - --fa: "F"; -} - -.fa-g { - --fa: "G"; -} - -.fa-h { - --fa: "H"; -} - -.fa-i { - --fa: "I"; -} - -.fa-j { - --fa: "J"; -} - -.fa-k { - --fa: "K"; -} - -.fa-l { - --fa: "L"; -} - -.fa-m { - --fa: "M"; -} - -.fa-n { - --fa: "N"; -} - -.fa-o { - --fa: "O"; -} - -.fa-p { - --fa: "P"; -} - -.fa-q { - --fa: "Q"; -} - -.fa-r { - --fa: "R"; -} - -.fa-s { - --fa: "S"; -} - -.fa-t { - --fa: "T"; -} - -.fa-u { - --fa: "U"; -} - -.fa-v { - --fa: "V"; -} - -.fa-w { - --fa: "W"; -} - -.fa-x { - --fa: "X"; -} - -.fa-y { - --fa: "Y"; -} - -.fa-z { - --fa: "Z"; -} - -.fa-bracket-square { - --fa: "\["; -} - -.fa-bracket { - --fa: "\["; -} - -.fa-bracket-left { - --fa: "\["; -} - -.fa-slash-back { - --fa: "\\"; -} - -.fa-bracket-square-right { - --fa: "\]"; -} - -.fa-accent-grave { - --fa: "\`"; -} - -.fa-bracket-curly { - --fa: "\{"; -} - -.fa-bracket-curly-left { - --fa: "\{"; -} - -.fa-pipe { - --fa: "\|"; -} - -.fa-bracket-curly-right { - --fa: "\}"; -} - -.fa-tilde { - --fa: "\~"; -} - -.fa-caravan-simple { - --fa: "\e000"; -} - -.fa-caravan-alt { - --fa: "\e000"; -} - -.fa-cat-space { - --fa: "\e001"; -} - -.fa-coffee-pot { - --fa: "\e002"; -} - -.fa-comet { - --fa: "\e003"; -} - -.fa-fan-table { - --fa: "\e004"; -} - -.fa-faucet { - --fa: "\e005"; -} - -.fa-faucet-drip { - --fa: "\e006"; -} - -.fa-galaxy { - --fa: "\e008"; -} - -.fa-garage { - --fa: "\e009"; -} - -.fa-garage-car { - --fa: "\e00a"; -} - -.fa-garage-open { - --fa: "\e00b"; -} - -.fa-heat { - --fa: "\e00c"; -} - -.fa-house-chimney-window { - --fa: "\e00d"; -} - -.fa-house-day { - --fa: "\e00e"; -} - -.fa-house-person-leave { - --fa: "\e00f"; -} - -.fa-house-leave { - --fa: "\e00f"; -} - -.fa-house-person-depart { - --fa: "\e00f"; -} - -.fa-house-night { - --fa: "\e010"; -} - -.fa-house-person-return { - --fa: "\e011"; -} - -.fa-house-person-arrive { - --fa: "\e011"; -} - -.fa-house-return { - --fa: "\e011"; -} - -.fa-house-signal { - --fa: "\e012"; -} - -.fa-lamp-desk { - --fa: "\e014"; -} - -.fa-lamp-floor { - --fa: "\e015"; -} - -.fa-light-ceiling { - --fa: "\e016"; -} - -.fa-light-switch { - --fa: "\e017"; -} - -.fa-light-switch-off { - --fa: "\e018"; -} - -.fa-light-switch-on { - --fa: "\e019"; -} - -.fa-microwave { - --fa: "\e01b"; -} - -.fa-outlet { - --fa: "\e01c"; -} - -.fa-oven { - --fa: "\e01d"; -} - -.fa-planet-moon { - --fa: "\e01f"; -} - -.fa-planet-ringed { - --fa: "\e020"; -} - -.fa-police-box { - --fa: "\e021"; -} - -.fa-person-to-portal { - --fa: "\e022"; -} - -.fa-portal-enter { - --fa: "\e022"; -} - -.fa-person-from-portal { - --fa: "\e023"; -} - -.fa-portal-exit { - --fa: "\e023"; -} - -.fa-radar { - --fa: "\e024"; -} - -.fa-raygun { - --fa: "\e025"; -} - -.fa-refrigerator { - --fa: "\e026"; -} - -.fa-rocket-launch { - --fa: "\e027"; -} - -.fa-sensor { - --fa: "\e028"; -} - -.fa-sensor-triangle-exclamation { - --fa: "\e029"; -} - -.fa-sensor-alert { - --fa: "\e029"; -} - -.fa-sensor-fire { - --fa: "\e02a"; -} - -.fa-sensor-on { - --fa: "\e02b"; -} - -.fa-sensor-cloud { - --fa: "\e02c"; -} - -.fa-sensor-smoke { - --fa: "\e02c"; -} - -.fa-siren { - --fa: "\e02d"; -} - -.fa-siren-on { - --fa: "\e02e"; -} - -.fa-solar-system { - --fa: "\e02f"; -} - -.fa-circle-sort { - --fa: "\e030"; -} - -.fa-sort-circle { - --fa: "\e030"; -} - -.fa-circle-sort-down { - --fa: "\e031"; -} - -.fa-sort-circle-down { - --fa: "\e031"; -} - -.fa-circle-sort-up { - --fa: "\e032"; -} - -.fa-sort-circle-up { - --fa: "\e032"; -} - -.fa-space-station-moon { - --fa: "\e033"; -} - -.fa-space-station-moon-construction { - --fa: "\e034"; -} - -.fa-space-station-moon-alt { - --fa: "\e034"; -} - -.fa-sprinkler { - --fa: "\e035"; -} - -.fa-star-shooting { - --fa: "\e036"; -} - -.fa-starfighter { - --fa: "\e037"; -} - -.fa-starfighter-twin-ion-engine { - --fa: "\e038"; -} - -.fa-starfighter-alt { - --fa: "\e038"; -} - -.fa-starship { - --fa: "\e039"; -} - -.fa-starship-freighter { - --fa: "\e03a"; -} - -.fa-sword-laser { - --fa: "\e03b"; -} - -.fa-sword-laser-alt { - --fa: "\e03c"; -} - -.fa-swords-laser { - --fa: "\e03d"; -} - -.fa-telescope { - --fa: "\e03e"; -} - -.fa-temperature-arrow-down { - --fa: "\e03f"; -} - -.fa-temperature-down { - --fa: "\e03f"; -} - -.fa-temperature-arrow-up { - --fa: "\e040"; -} - -.fa-temperature-up { - --fa: "\e040"; -} - -.fa-trailer { - --fa: "\e041"; -} - -.fa-transporter { - --fa: "\e042"; -} - -.fa-transporter-1 { - --fa: "\e043"; -} - -.fa-transporter-2 { - --fa: "\e044"; -} - -.fa-transporter-3 { - --fa: "\e045"; -} - -.fa-transporter-empty { - --fa: "\e046"; -} - -.fa-ufo { - --fa: "\e047"; -} - -.fa-ufo-beam { - --fa: "\e048"; -} - -.fa-user-alien { - --fa: "\e04a"; -} - -.fa-user-robot { - --fa: "\e04b"; -} - -.fa-user-visor { - --fa: "\e04c"; -} - -.fa-vacuum { - --fa: "\e04d"; -} - -.fa-vacuum-robot { - --fa: "\e04e"; -} - -.fa-window-frame { - --fa: "\e04f"; -} - -.fa-window-frame-open { - --fa: "\e050"; -} - -.fa-coffin-cross { - --fa: "\e051"; -} - -.fa-folder-arrow-down { - --fa: "\e053"; -} - -.fa-folder-download { - --fa: "\e053"; -} - -.fa-folder-arrow-up { - --fa: "\e054"; -} - -.fa-folder-upload { - --fa: "\e054"; -} - -.fa-user-unlock { - --fa: "\e058"; -} - -.fa-bacteria { - --fa: "\e059"; -} - -.fa-bacterium { - --fa: "\e05a"; -} - -.fa-box-tissue { - --fa: "\e05b"; -} - -.fa-hand-holding-medical { - --fa: "\e05c"; -} - -.fa-hand-sparkles { - --fa: "\e05d"; -} - -.fa-hands-bubbles { - --fa: "\e05e"; -} - -.fa-hands-wash { - --fa: "\e05e"; -} - -.fa-handshake-slash { - --fa: "\e060"; -} - -.fa-handshake-alt-slash { - --fa: "\e060"; -} - -.fa-handshake-simple-slash { - --fa: "\e060"; -} - -.fa-head-side-cough { - --fa: "\e061"; -} - -.fa-head-side-cough-slash { - --fa: "\e062"; -} - -.fa-head-side-mask { - --fa: "\e063"; -} - -.fa-head-side-virus { - --fa: "\e064"; -} - -.fa-house-chimney-user { - --fa: "\e065"; -} - -.fa-house-laptop { - --fa: "\e066"; -} - -.fa-laptop-house { - --fa: "\e066"; -} - -.fa-lungs-virus { - --fa: "\e067"; -} - -.fa-people-arrows { - --fa: "\e068"; -} - -.fa-people-arrows-left-right { - --fa: "\e068"; -} - -.fa-plane-slash { - --fa: "\e069"; -} - -.fa-pump-medical { - --fa: "\e06a"; -} - -.fa-pump-soap { - --fa: "\e06b"; -} - -.fa-shield-virus { - --fa: "\e06c"; -} - -.fa-sink { - --fa: "\e06d"; -} - -.fa-soap { - --fa: "\e06e"; -} - -.fa-stopwatch-20 { - --fa: "\e06f"; -} - -.fa-shop-slash { - --fa: "\e070"; -} - -.fa-store-alt-slash { - --fa: "\e070"; -} - -.fa-store-slash { - --fa: "\e071"; -} - -.fa-toilet-paper-slash { - --fa: "\e072"; -} - -.fa-users-slash { - --fa: "\e073"; -} - -.fa-virus { - --fa: "\e074"; -} - -.fa-virus-slash { - --fa: "\e075"; -} - -.fa-viruses { - --fa: "\e076"; -} - -.fa-vest { - --fa: "\e085"; -} - -.fa-vest-patches { - --fa: "\e086"; -} - -.fa-airplay { - --fa: "\e089"; -} - -.fa-alt { - --fa: "\e08a"; -} - -.fa-angle { - --fa: "\e08c"; -} - -.fa-angle-90 { - --fa: "\e08d"; -} - -.fa-apple-core { - --fa: "\e08f"; -} - -.fa-arrow-down-from-dotted-line { - --fa: "\e090"; -} - -.fa-arrow-down-left { - --fa: "\e091"; -} - -.fa-arrow-down-left-and-arrow-up-right-to-center { - --fa: "\e092"; -} - -.fa-arrow-down-right { - --fa: "\e093"; -} - -.fa-arrow-down-to-bracket { - --fa: "\e094"; -} - -.fa-arrow-down-to-dotted-line { - --fa: "\e095"; -} - -.fa-arrow-down-to-square { - --fa: "\e096"; -} - -.fa-arrow-trend-down { - --fa: "\e097"; -} - -.fa-arrow-trend-up { - --fa: "\e098"; -} - -.fa-arrow-up-arrow-down { - --fa: "\e099"; -} - -.fa-sort-up-down { - --fa: "\e099"; -} - -.fa-arrow-up-from-bracket { - --fa: "\e09a"; -} - -.fa-arrow-up-from-dotted-line { - --fa: "\e09b"; -} - -.fa-arrow-up-from-square { - --fa: "\e09c"; -} - -.fa-arrow-up-left { - --fa: "\e09d"; -} - -.fa-arrow-up-left-from-circle { - --fa: "\e09e"; -} - -.fa-arrow-up-right { - --fa: "\e09f"; -} - -.fa-arrow-up-right-and-arrow-down-left-from-center { - --fa: "\e0a0"; -} - -.fa-arrow-up-to-dotted-line { - --fa: "\e0a1"; -} - -.fa-arrows-cross { - --fa: "\e0a2"; -} - -.fa-arrows-from-dotted-line { - --fa: "\e0a3"; -} - -.fa-arrows-from-line { - --fa: "\e0a4"; -} - -.fa-arrows-minimize { - --fa: "\e0a5"; -} - -.fa-compress-arrows { - --fa: "\e0a5"; -} - -.fa-arrows-to-dotted-line { - --fa: "\e0a6"; -} - -.fa-arrows-to-line { - --fa: "\e0a7"; -} - -.fa-audio-description-slash { - --fa: "\e0a8"; -} - -.fa-austral-sign { - --fa: "\e0a9"; -} - -.fa-avocado { - --fa: "\e0aa"; -} - -.fa-award-simple { - --fa: "\e0ab"; -} - -.fa-baht-sign { - --fa: "\e0ac"; -} - -.fa-bars-filter { - --fa: "\e0ad"; -} - -.fa-bars-sort { - --fa: "\e0ae"; -} - -.fa-basket-shopping-simple { - --fa: "\e0af"; -} - -.fa-shopping-basket-alt { - --fa: "\e0af"; -} - -.fa-battery-exclamation { - --fa: "\e0b0"; -} - -.fa-battery-low { - --fa: "\e0b1"; -} - -.fa-battery-1 { - --fa: "\e0b1"; -} - -.fa-bee { - --fa: "\e0b2"; -} - -.fa-beer-mug { - --fa: "\e0b3"; -} - -.fa-beer-foam { - --fa: "\e0b3"; -} - -.fa-bitcoin-sign { - --fa: "\e0b4"; -} - -.fa-block-quote { - --fa: "\e0b5"; -} - -.fa-bolt-auto { - --fa: "\e0b6"; -} - -.fa-bolt-lightning { - --fa: "\e0b7"; -} - -.fa-bolt-slash { - --fa: "\e0b8"; -} - -.fa-book-arrow-right { - --fa: "\e0b9"; -} - -.fa-book-arrow-up { - --fa: "\e0ba"; -} - -.fa-book-bookmark { - --fa: "\e0bb"; -} - -.fa-book-circle-arrow-right { - --fa: "\e0bc"; -} - -.fa-book-circle-arrow-up { - --fa: "\e0bd"; -} - -.fa-book-copy { - --fa: "\e0be"; -} - -.fa-book-font { - --fa: "\e0bf"; -} - -.fa-book-open-cover { - --fa: "\e0c0"; -} - -.fa-book-open-alt { - --fa: "\e0c0"; -} - -.fa-book-section { - --fa: "\e0c1"; -} - -.fa-book-law { - --fa: "\e0c1"; -} - -.fa-bookmark-slash { - --fa: "\e0c2"; -} - -.fa-bowling-ball-pin { - --fa: "\e0c3"; -} - -.fa-box-circle-check { - --fa: "\e0c4"; -} - -.fa-brackets-round { - --fa: "\e0c5"; -} - -.fa-parentheses { - --fa: "\e0c5"; -} - -.fa-brain-circuit { - --fa: "\e0c6"; -} - -.fa-brake-warning { - --fa: "\e0c7"; -} - -.fa-briefcase-blank { - --fa: "\e0c8"; -} - -.fa-brightness { - --fa: "\e0c9"; -} - -.fa-brightness-low { - --fa: "\e0ca"; -} - -.fa-browsers { - --fa: "\e0cb"; -} - -.fa-buildings { - --fa: "\e0cc"; -} - -.fa-burger-fries { - --fa: "\e0cd"; -} - -.fa-burger-glass { - --fa: "\e0ce"; -} - -.fa-calendar-arrow-down { - --fa: "\e0d0"; -} - -.fa-calendar-download { - --fa: "\e0d0"; -} - -.fa-calendar-arrow-up { - --fa: "\e0d1"; -} - -.fa-calendar-upload { - --fa: "\e0d1"; -} - -.fa-calendar-clock { - --fa: "\e0d2"; -} - -.fa-calendar-time { - --fa: "\e0d2"; -} - -.fa-calendar-heart { - --fa: "\e0d3"; -} - -.fa-calendar-image { - --fa: "\e0d4"; -} - -.fa-calendar-lines { - --fa: "\e0d5"; -} - -.fa-calendar-note { - --fa: "\e0d5"; -} - -.fa-calendar-range { - --fa: "\e0d6"; -} - -.fa-calendars { - --fa: "\e0d7"; -} - -.fa-camera-rotate { - --fa: "\e0d8"; -} - -.fa-camera-slash { - --fa: "\e0d9"; -} - -.fa-camera-viewfinder { - --fa: "\e0da"; -} - -.fa-screenshot { - --fa: "\e0da"; -} - -.fa-cart-minus { - --fa: "\e0db"; -} - -.fa-cart-shopping-fast { - --fa: "\e0dc"; -} - -.fa-cart-xmark { - --fa: "\e0dd"; -} - -.fa-castle { - --fa: "\e0de"; -} - -.fa-cedi-sign { - --fa: "\e0df"; -} - -.fa-chart-bullet { - --fa: "\e0e1"; -} - -.fa-chart-candlestick { - --fa: "\e0e2"; -} - -.fa-chart-column { - --fa: "\e0e3"; -} - -.fa-chart-gantt { - --fa: "\e0e4"; -} - -.fa-chart-line-up { - --fa: "\e0e5"; -} - -.fa-chart-pyramid { - --fa: "\e0e6"; -} - -.fa-chart-radar { - --fa: "\e0e7"; -} - -.fa-chart-scatter-3d { - --fa: "\e0e8"; -} - -.fa-chart-scatter-bubble { - --fa: "\e0e9"; -} - -.fa-chart-tree-map { - --fa: "\e0ea"; -} - -.fa-chart-waterfall { - --fa: "\e0eb"; -} - -.fa-cherries { - --fa: "\e0ec"; -} - -.fa-circle-0 { - --fa: "\e0ed"; -} - -.fa-circle-1 { - --fa: "\e0ee"; -} - -.fa-circle-2 { - --fa: "\e0ef"; -} - -.fa-circle-3 { - --fa: "\e0f0"; -} - -.fa-circle-4 { - --fa: "\e0f1"; -} - -.fa-circle-5 { - --fa: "\e0f2"; -} - -.fa-circle-6 { - --fa: "\e0f3"; -} - -.fa-circle-7 { - --fa: "\e0f4"; -} - -.fa-circle-8 { - --fa: "\e0f5"; -} - -.fa-circle-9 { - --fa: "\e0f6"; -} - -.fa-circle-a { - --fa: "\e0f7"; -} - -.fa-circle-ampersand { - --fa: "\e0f8"; -} - -.fa-circle-arrow-down-left { - --fa: "\e0f9"; -} - -.fa-circle-arrow-down-right { - --fa: "\e0fa"; -} - -.fa-circle-arrow-up-left { - --fa: "\e0fb"; -} - -.fa-circle-arrow-up-right { - --fa: "\e0fc"; -} - -.fa-circle-b { - --fa: "\e0fd"; -} - -.fa-circle-bolt { - --fa: "\e0fe"; -} - -.fa-circle-book-open { - --fa: "\e0ff"; -} - -.fa-book-circle { - --fa: "\e0ff"; -} - -.fa-circle-bookmark { - --fa: "\e100"; -} - -.fa-bookmark-circle { - --fa: "\e100"; -} - -.fa-circle-c { - --fa: "\e101"; -} - -.fa-circle-calendar { - --fa: "\e102"; -} - -.fa-calendar-circle { - --fa: "\e102"; -} - -.fa-circle-camera { - --fa: "\e103"; -} - -.fa-camera-circle { - --fa: "\e103"; -} - -.fa-circle-d { - --fa: "\e104"; -} - -.fa-circle-dashed { - --fa: "\e105"; -} - -.fa-circle-divide { - --fa: "\e106"; -} - -.fa-circle-down-left { - --fa: "\e107"; -} - -.fa-circle-down-right { - --fa: "\e108"; -} - -.fa-circle-e { - --fa: "\e109"; -} - -.fa-circle-ellipsis { - --fa: "\e10a"; -} - -.fa-circle-ellipsis-vertical { - --fa: "\e10b"; -} - -.fa-circle-envelope { - --fa: "\e10c"; -} - -.fa-envelope-circle { - --fa: "\e10c"; -} - -.fa-circle-exclamation-check { - --fa: "\e10d"; -} - -.fa-circle-f { - --fa: "\e10e"; -} - -.fa-circle-g { - --fa: "\e10f"; -} - -.fa-circle-half { - --fa: "\e110"; -} - -.fa-circle-i { - --fa: "\e111"; -} - -.fa-circle-j { - --fa: "\e112"; -} - -.fa-circle-k { - --fa: "\e113"; -} - -.fa-circle-l { - --fa: "\e114"; -} - -.fa-circle-m { - --fa: "\e115"; -} - -.fa-circle-microphone { - --fa: "\e116"; -} - -.fa-microphone-circle { - --fa: "\e116"; -} - -.fa-circle-microphone-lines { - --fa: "\e117"; -} - -.fa-microphone-circle-alt { - --fa: "\e117"; -} - -.fa-circle-n { - --fa: "\e118"; -} - -.fa-circle-o { - --fa: "\e119"; -} - -.fa-circle-p { - --fa: "\e11a"; -} - -.fa-circle-phone { - --fa: "\e11b"; -} - -.fa-phone-circle { - --fa: "\e11b"; -} - -.fa-circle-phone-flip { - --fa: "\e11c"; -} - -.fa-phone-circle-alt { - --fa: "\e11c"; -} - -.fa-circle-phone-hangup { - --fa: "\e11d"; -} - -.fa-phone-circle-down { - --fa: "\e11d"; -} - -.fa-circle-q { - --fa: "\e11e"; -} - -.fa-circle-quarter { - --fa: "\e11f"; -} - -.fa-circle-r { - --fa: "\e120"; -} - -.fa-circle-s { - --fa: "\e121"; -} - -.fa-circle-small { - --fa: "\e122"; -} - -.fa-circle-star { - --fa: "\e123"; -} - -.fa-star-circle { - --fa: "\e123"; -} - -.fa-circle-t { - --fa: "\e124"; -} - -.fa-circle-three-quarters { - --fa: "\e125"; -} - -.fa-circle-trash { - --fa: "\e126"; -} - -.fa-trash-circle { - --fa: "\e126"; -} - -.fa-circle-u { - --fa: "\e127"; -} - -.fa-circle-up-left { - --fa: "\e128"; -} - -.fa-circle-up-right { - --fa: "\e129"; -} - -.fa-circle-v { - --fa: "\e12a"; -} - -.fa-circle-video { - --fa: "\e12b"; -} - -.fa-video-circle { - --fa: "\e12b"; -} - -.fa-circle-w { - --fa: "\e12c"; -} - -.fa-circle-waveform-lines { - --fa: "\e12d"; -} - -.fa-waveform-circle { - --fa: "\e12d"; -} - -.fa-circle-x { - --fa: "\e12e"; -} - -.fa-circle-y { - --fa: "\e12f"; -} - -.fa-circle-z { - --fa: "\e130"; -} - -.fa-clapperboard { - --fa: "\e131"; -} - -.fa-clapperboard-play { - --fa: "\e132"; -} - -.fa-clipboard-medical { - --fa: "\e133"; -} - -.fa-clock-desk { - --fa: "\e134"; -} - -.fa-closed-captioning-slash { - --fa: "\e135"; -} - -.fa-clothes-hanger { - --fa: "\e136"; -} - -.fa-cloud-slash { - --fa: "\e137"; -} - -.fa-cloud-word { - --fa: "\e138"; -} - -.fa-clover { - --fa: "\e139"; -} - -.fa-code-compare { - --fa: "\e13a"; -} - -.fa-code-fork { - --fa: "\e13b"; -} - -.fa-code-pull-request { - --fa: "\e13c"; -} - -.fa-code-simple { - --fa: "\e13d"; -} - -.fa-coffee-bean { - --fa: "\e13e"; -} - -.fa-coffee-beans { - --fa: "\e13f"; -} - -.fa-colon-sign { - --fa: "\e140"; -} - -.fa-command { - --fa: "\e142"; -} - -.fa-comment-arrow-down { - --fa: "\e143"; -} - -.fa-comment-arrow-up { - --fa: "\e144"; -} - -.fa-comment-arrow-up-right { - --fa: "\e145"; -} - -.fa-comment-captions { - --fa: "\e146"; -} - -.fa-comment-code { - --fa: "\e147"; -} - -.fa-comment-image { - --fa: "\e148"; -} - -.fa-comment-middle { - --fa: "\e149"; -} - -.fa-comment-middle-top { - --fa: "\e14a"; -} - -.fa-comment-question { - --fa: "\e14b"; -} - -.fa-comment-quote { - --fa: "\e14c"; -} - -.fa-comment-text { - --fa: "\e14d"; -} - -.fa-comments-question { - --fa: "\e14e"; -} - -.fa-comments-question-check { - --fa: "\e14f"; -} - -.fa-conveyor-belt-empty { - --fa: "\e150"; -} - -.fa-crate-empty { - --fa: "\e151"; -} - -.fa-cruzeiro-sign { - --fa: "\e152"; -} - -.fa-delete-right { - --fa: "\e154"; -} - -.fa-desktop-arrow-down { - --fa: "\e155"; -} - -.fa-diagram-lean-canvas { - --fa: "\e156"; -} - -.fa-diagram-nested { - --fa: "\e157"; -} - -.fa-diagram-sankey { - --fa: "\e158"; -} - -.fa-diagram-venn { - --fa: "\e15a"; -} - -.fa-dial { - --fa: "\e15b"; -} - -.fa-dial-med-high { - --fa: "\e15b"; -} - -.fa-dial-high { - --fa: "\e15c"; -} - -.fa-dial-low { - --fa: "\e15d"; -} - -.fa-dial-max { - --fa: "\e15e"; -} - -.fa-dial-med { - --fa: "\e15f"; -} - -.fa-dial-med-low { - --fa: "\e160"; -} - -.fa-dial-min { - --fa: "\e161"; -} - -.fa-dial-off { - --fa: "\e162"; -} - -.fa-display { - --fa: "\e163"; -} - -.fa-display-arrow-down { - --fa: "\e164"; -} - -.fa-display-code { - --fa: "\e165"; -} - -.fa-desktop-code { - --fa: "\e165"; -} - -.fa-display-medical { - --fa: "\e166"; -} - -.fa-desktop-medical { - --fa: "\e166"; -} - -.fa-dolphin { - --fa: "\e168"; -} - -.fa-dong-sign { - --fa: "\e169"; -} - -.fa-down-left { - --fa: "\e16a"; -} - -.fa-down-right { - --fa: "\e16b"; -} - -.fa-eggplant { - --fa: "\e16c"; -} - -.fa-elevator { - --fa: "\e16d"; -} - -.fa-engine { - --fa: "\e16e"; -} - -.fa-envelope-dot { - --fa: "\e16f"; -} - -.fa-envelope-badge { - --fa: "\e16f"; -} - -.fa-envelopes { - --fa: "\e170"; -} - -.fa-escalator { - --fa: "\e171"; -} - -.fa-eye-dropper-full { - --fa: "\e172"; -} - -.fa-eye-dropper-half { - --fa: "\e173"; -} - -.fa-ferris-wheel { - --fa: "\e174"; -} - -.fa-file-binary { - --fa: "\e175"; -} - -.fa-file-heart { - --fa: "\e176"; -} - -.fa-file-plus-minus { - --fa: "\e177"; -} - -.fa-files { - --fa: "\e178"; -} - -.fa-film-slash { - --fa: "\e179"; -} - -.fa-films { - --fa: "\e17a"; -} - -.fa-filter-circle-xmark { - --fa: "\e17b"; -} - -.fa-filter-list { - --fa: "\e17c"; -} - -.fa-filter-slash { - --fa: "\e17d"; -} - -.fa-filters { - --fa: "\e17e"; -} - -.fa-fire-hydrant { - --fa: "\e17f"; -} - -.fa-floppy-disk-circle-arrow-right { - --fa: "\e180"; -} - -.fa-save-circle-arrow-right { - --fa: "\e180"; -} - -.fa-floppy-disk-circle-xmark { - --fa: "\e181"; -} - -.fa-floppy-disk-times { - --fa: "\e181"; -} - -.fa-save-circle-xmark { - --fa: "\e181"; -} - -.fa-save-times { - --fa: "\e181"; -} - -.fa-floppy-disk-pen { - --fa: "\e182"; -} - -.fa-floppy-disks { - --fa: "\e183"; -} - -.fa-florin-sign { - --fa: "\e184"; -} - -.fa-folder-closed { - --fa: "\e185"; -} - -.fa-folder-bookmark { - --fa: "\e186"; -} - -.fa-folder-gear { - --fa: "\e187"; -} - -.fa-folder-cog { - --fa: "\e187"; -} - -.fa-folder-grid { - --fa: "\e188"; -} - -.fa-folder-heart { - --fa: "\e189"; -} - -.fa-folder-image { - --fa: "\e18a"; -} - -.fa-folder-magnifying-glass { - --fa: "\e18b"; -} - -.fa-folder-search { - --fa: "\e18b"; -} - -.fa-folder-medical { - --fa: "\e18c"; -} - -.fa-folder-music { - --fa: "\e18d"; -} - -.fa-folder-user { - --fa: "\e18e"; -} - -.fa-franc-sign { - --fa: "\e18f"; -} - -.fa-gif { - --fa: "\e190"; -} - -.fa-glass-empty { - --fa: "\e191"; -} - -.fa-glass-half { - --fa: "\e192"; -} - -.fa-glass-half-empty { - --fa: "\e192"; -} - -.fa-glass-half-full { - --fa: "\e192"; -} - -.fa-grate { - --fa: "\e193"; -} - -.fa-grate-droplet { - --fa: "\e194"; -} - -.fa-grid { - --fa: "\e195"; -} - -.fa-grid-3 { - --fa: "\e195"; -} - -.fa-grid-2 { - --fa: "\e196"; -} - -.fa-grid-2-plus { - --fa: "\e197"; -} - -.fa-grid-4 { - --fa: "\e198"; -} - -.fa-grid-5 { - --fa: "\e199"; -} - -.fa-guarani-sign { - --fa: "\e19a"; -} - -.fa-gun { - --fa: "\e19b"; -} - -.fa-gun-slash { - --fa: "\e19c"; -} - -.fa-gun-squirt { - --fa: "\e19d"; -} - -.fa-hand-back-point-down { - --fa: "\e19e"; -} - -.fa-hand-back-point-left { - --fa: "\e19f"; -} - -.fa-hand-back-point-ribbon { - --fa: "\e1a0"; -} - -.fa-hand-back-point-right { - --fa: "\e1a1"; -} - -.fa-hand-back-point-up { - --fa: "\e1a2"; -} - -.fa-hand-fingers-crossed { - --fa: "\e1a3"; -} - -.fa-hand-holding-skull { - --fa: "\e1a4"; -} - -.fa-hand-love { - --fa: "\e1a5"; -} - -.fa-hand-point-ribbon { - --fa: "\e1a6"; -} - -.fa-hand-wave { - --fa: "\e1a7"; -} - -.fa-hands-clapping { - --fa: "\e1a8"; -} - -.fa-hand-horns { - --fa: "\e1a9"; -} - -.fa-head-side-heart { - --fa: "\e1aa"; -} - -.fa-heart-half { - --fa: "\e1ab"; -} - -.fa-heart-half-stroke { - --fa: "\e1ac"; -} - -.fa-heart-half-alt { - --fa: "\e1ac"; -} - -.fa-hexagon-divide { - --fa: "\e1ad"; -} - -.fa-high-definition { - --fa: "\e1ae"; -} - -.fa-rectangle-hd { - --fa: "\e1ae"; -} - -.fa-highlighter-line { - --fa: "\e1af"; -} - -.fa-house-user { - --fa: "\e1b0"; -} - -.fa-home-user { - --fa: "\e1b0"; -} - -.fa-house-building { - --fa: "\e1b1"; -} - -.fa-house-chimney-heart { - --fa: "\e1b2"; -} - -.fa-house-tree { - --fa: "\e1b3"; -} - -.fa-house-turret { - --fa: "\e1b4"; -} - -.fa-image-landscape { - --fa: "\e1b5"; -} - -.fa-landscape { - --fa: "\e1b5"; -} - -.fa-image-polaroid-user { - --fa: "\e1b6"; -} - -.fa-image-slash { - --fa: "\e1b7"; -} - -.fa-image-user { - --fa: "\e1b8"; -} - -.fa-images-user { - --fa: "\e1b9"; -} - -.fa-inbox-full { - --fa: "\e1ba"; -} - -.fa-inboxes { - --fa: "\e1bb"; -} - -.fa-indian-rupee-sign { - --fa: "\e1bc"; -} - -.fa-indian-rupee { - --fa: "\e1bc"; -} - -.fa-inr { - --fa: "\e1bc"; -} - -.fa-input-numeric { - --fa: "\e1bd"; -} - -.fa-input-pipe { - --fa: "\e1be"; -} - -.fa-input-text { - --fa: "\e1bf"; -} - -.fa-keyboard-brightness { - --fa: "\e1c0"; -} - -.fa-keyboard-brightness-low { - --fa: "\e1c1"; -} - -.fa-keyboard-down { - --fa: "\e1c2"; -} - -.fa-keyboard-left { - --fa: "\e1c3"; -} - -.fa-kip-sign { - --fa: "\e1c4"; -} - -.fa-lamp-street { - --fa: "\e1c5"; -} - -.fa-laptop-arrow-down { - --fa: "\e1c6"; -} - -.fa-laptop-slash { - --fa: "\e1c7"; -} - -.fa-lari-sign { - --fa: "\e1c8"; -} - -.fa-lasso-sparkles { - --fa: "\e1c9"; -} - -.fa-lightbulb-exclamation-on { - --fa: "\e1ca"; -} - -.fa-link-horizontal { - --fa: "\e1cb"; -} - -.fa-chain-horizontal { - --fa: "\e1cb"; -} - -.fa-link-horizontal-slash { - --fa: "\e1cc"; -} - -.fa-chain-horizontal-slash { - --fa: "\e1cc"; -} - -.fa-link-simple { - --fa: "\e1cd"; -} - -.fa-link-simple-slash { - --fa: "\e1ce"; -} - -.fa-list-dropdown { - --fa: "\e1cf"; -} - -.fa-list-radio { - --fa: "\e1d0"; -} - -.fa-list-timeline { - --fa: "\e1d1"; -} - -.fa-list-tree { - --fa: "\e1d2"; -} - -.fa-litecoin-sign { - --fa: "\e1d3"; -} - -.fa-loader { - --fa: "\e1d4"; -} - -.fa-manat-sign { - --fa: "\e1d5"; -} - -.fa-manhole { - --fa: "\e1d6"; -} - -.fa-mask-face { - --fa: "\e1d7"; -} - -.fa-memo { - --fa: "\e1d8"; -} - -.fa-memo-circle-check { - --fa: "\e1d9"; -} - -.fa-memo-pad { - --fa: "\e1da"; -} - -.fa-message-arrow-down { - --fa: "\e1db"; -} - -.fa-comment-alt-arrow-down { - --fa: "\e1db"; -} - -.fa-message-arrow-up { - --fa: "\e1dc"; -} - -.fa-comment-alt-arrow-up { - --fa: "\e1dc"; -} - -.fa-message-arrow-up-right { - --fa: "\e1dd"; -} - -.fa-message-captions { - --fa: "\e1de"; -} - -.fa-comment-alt-captions { - --fa: "\e1de"; -} - -.fa-message-code { - --fa: "\e1df"; -} - -.fa-message-image { - --fa: "\e1e0"; -} - -.fa-comment-alt-image { - --fa: "\e1e0"; -} - -.fa-message-middle { - --fa: "\e1e1"; -} - -.fa-comment-middle-alt { - --fa: "\e1e1"; -} - -.fa-message-middle-top { - --fa: "\e1e2"; -} - -.fa-comment-middle-top-alt { - --fa: "\e1e2"; -} - -.fa-message-question { - --fa: "\e1e3"; -} - -.fa-message-quote { - --fa: "\e1e4"; -} - -.fa-comment-alt-quote { - --fa: "\e1e4"; -} - -.fa-message-sms { - --fa: "\e1e5"; -} - -.fa-message-text { - --fa: "\e1e6"; -} - -.fa-comment-alt-text { - --fa: "\e1e6"; -} - -.fa-messages-question { - --fa: "\e1e7"; -} - -.fa-meter { - --fa: "\e1e8"; -} - -.fa-meter-bolt { - --fa: "\e1e9"; -} - -.fa-meter-droplet { - --fa: "\e1ea"; -} - -.fa-meter-fire { - --fa: "\e1eb"; -} - -.fa-microchip-ai { - --fa: "\e1ec"; -} - -.fa-mill-sign { - --fa: "\e1ed"; -} - -.fa-mobile-notch { - --fa: "\e1ee"; -} - -.fa-mobile-iphone { - --fa: "\e1ee"; -} - -.fa-mobile-signal { - --fa: "\e1ef"; -} - -.fa-mobile-signal-out { - --fa: "\e1f0"; -} - -.fa-money-bill-simple { - --fa: "\e1f1"; -} - -.fa-money-bill-simple-wave { - --fa: "\e1f2"; -} - -.fa-money-bills { - --fa: "\e1f3"; -} - -.fa-money-bills-simple { - --fa: "\e1f4"; -} - -.fa-money-bills-alt { - --fa: "\e1f4"; -} - -.fa-mug-tea-saucer { - --fa: "\e1f5"; -} - -.fa-naira-sign { - --fa: "\e1f6"; -} - -.fa-nfc { - --fa: "\e1f7"; -} - -.fa-nfc-lock { - --fa: "\e1f8"; -} - -.fa-nfc-magnifying-glass { - --fa: "\e1f9"; -} - -.fa-nfc-pen { - --fa: "\e1fa"; -} - -.fa-nfc-signal { - --fa: "\e1fb"; -} - -.fa-nfc-slash { - --fa: "\e1fc"; -} - -.fa-nfc-trash { - --fa: "\e1fd"; -} - -.fa-notdef { - --fa: "\e1fe"; -} - -.fa-note { - --fa: "\e1ff"; -} - -.fa-note-medical { - --fa: "\e200"; -} - -.fa-notebook { - --fa: "\e201"; -} - -.fa-notes { - --fa: "\e202"; -} - -.fa-octagon-divide { - --fa: "\e203"; -} - -.fa-octagon-exclamation { - --fa: "\e204"; -} - -.fa-oil-can-drip { - --fa: "\e205"; -} - -.fa-paintbrush-pencil { - --fa: "\e206"; -} - -.fa-pallet-box { - --fa: "\e208"; -} - -.fa-panorama { - --fa: "\e209"; -} - -.fa-paper-plane-top { - --fa: "\e20a"; -} - -.fa-paper-plane-alt { - --fa: "\e20a"; -} - -.fa-send { - --fa: "\e20a"; -} - -.fa-peach { - --fa: "\e20b"; -} - -.fa-pear { - --fa: "\e20c"; -} - -.fa-pedestal { - --fa: "\e20d"; -} - -.fa-pen-circle { - --fa: "\e20e"; -} - -.fa-pen-clip-slash { - --fa: "\e20f"; -} - -.fa-pen-alt-slash { - --fa: "\e20f"; -} - -.fa-pen-fancy-slash { - --fa: "\e210"; -} - -.fa-pen-field { - --fa: "\e211"; -} - -.fa-pen-line { - --fa: "\e212"; -} - -.fa-pen-slash { - --fa: "\e213"; -} - -.fa-pen-swirl { - --fa: "\e214"; -} - -.fa-pencil-slash { - --fa: "\e215"; -} - -.fa-people { - --fa: "\e216"; -} - -.fa-people-dress { - --fa: "\e217"; -} - -.fa-people-dress-simple { - --fa: "\e218"; -} - -.fa-people-pants { - --fa: "\e219"; -} - -.fa-people-pants-simple { - --fa: "\e21a"; -} - -.fa-people-simple { - --fa: "\e21b"; -} - -.fa-person-dress-simple { - --fa: "\e21c"; -} - -.fa-person-pinball { - --fa: "\e21d"; -} - -.fa-person-seat { - --fa: "\e21e"; -} - -.fa-person-seat-reclined { - --fa: "\e21f"; -} - -.fa-person-simple { - --fa: "\e220"; -} - -.fa-peseta-sign { - --fa: "\e221"; -} - -.fa-peso-sign { - --fa: "\e222"; -} - -.fa-phone-arrow-down-left { - --fa: "\e223"; -} - -.fa-phone-arrow-down { - --fa: "\e223"; -} - -.fa-phone-incoming { - --fa: "\e223"; -} - -.fa-phone-arrow-up-right { - --fa: "\e224"; -} - -.fa-phone-arrow-up { - --fa: "\e224"; -} - -.fa-phone-outgoing { - --fa: "\e224"; -} - -.fa-phone-hangup { - --fa: "\e225"; -} - -.fa-phone-missed { - --fa: "\e226"; -} - -.fa-phone-xmark { - --fa: "\e227"; -} - -.fa-photo-film-music { - --fa: "\e228"; -} - -.fa-pinball { - --fa: "\e229"; -} - -.fa-plane-prop { - --fa: "\e22b"; -} - -.fa-plane-tail { - --fa: "\e22c"; -} - -.fa-plane-up { - --fa: "\e22d"; -} - -.fa-plane-up-slash { - --fa: "\e22e"; -} - -.fa-play-pause { - --fa: "\e22f"; -} - -.fa-puzzle-piece-simple { - --fa: "\e231"; -} - -.fa-puzzle-piece-alt { - --fa: "\e231"; -} - -.fa-quotes { - --fa: "\e234"; -} - -.fa-rectangle-pro { - --fa: "\e235"; -} - -.fa-pro { - --fa: "\e235"; -} - -.fa-rectangle-terminal { - --fa: "\e236"; -} - -.fa-rectangle-vertical-history { - --fa: "\e237"; -} - -.fa-reel { - --fa: "\e238"; -} - -.fa-reply-clock { - --fa: "\e239"; -} - -.fa-reply-time { - --fa: "\e239"; -} - -.fa-restroom-simple { - --fa: "\e23a"; -} - -.fa-rhombus { - --fa: "\e23b"; -} - -.fa-rotate-exclamation { - --fa: "\e23c"; -} - -.fa-rupiah-sign { - --fa: "\e23d"; -} - -.fa-screencast { - --fa: "\e23e"; -} - -.fa-scribble { - --fa: "\e23f"; -} - -.fa-sd-cards { - --fa: "\e240"; -} - -.fa-seal { - --fa: "\e241"; -} - -.fa-seal-exclamation { - --fa: "\e242"; -} - -.fa-seal-question { - --fa: "\e243"; -} - -.fa-seat-airline { - --fa: "\e244"; -} - -.fa-shelves-empty { - --fa: "\e246"; -} - -.fa-shield-exclamation { - --fa: "\e247"; -} - -.fa-shield-keyhole { - --fa: "\e248"; -} - -.fa-shield-minus { - --fa: "\e249"; -} - -.fa-shield-plus { - --fa: "\e24a"; -} - -.fa-shield-slash { - --fa: "\e24b"; -} - -.fa-shield-xmark { - --fa: "\e24c"; -} - -.fa-shield-times { - --fa: "\e24c"; -} - -.fa-shower-down { - --fa: "\e24d"; -} - -.fa-shower-alt { - --fa: "\e24d"; -} - -.fa-sidebar { - --fa: "\e24e"; -} - -.fa-sidebar-flip { - --fa: "\e24f"; -} - -.fa-signal-stream-slash { - --fa: "\e250"; -} - -.fa-sim-cards { - --fa: "\e251"; -} - -.fa-slider { - --fa: "\e252"; -} - -.fa-sliders-simple { - --fa: "\e253"; -} - -.fa-split { - --fa: "\e254"; -} - -.fa-square-0 { - --fa: "\e255"; -} - -.fa-square-1 { - --fa: "\e256"; -} - -.fa-square-2 { - --fa: "\e257"; -} - -.fa-square-3 { - --fa: "\e258"; -} - -.fa-square-4 { - --fa: "\e259"; -} - -.fa-square-5 { - --fa: "\e25a"; -} - -.fa-square-6 { - --fa: "\e25b"; -} - -.fa-square-7 { - --fa: "\e25c"; -} - -.fa-square-8 { - --fa: "\e25d"; -} - -.fa-square-9 { - --fa: "\e25e"; -} - -.fa-square-a { - --fa: "\e25f"; -} - -.fa-square-ampersand { - --fa: "\e260"; -} - -.fa-square-arrow-down-left { - --fa: "\e261"; -} - -.fa-square-arrow-down-right { - --fa: "\e262"; -} - -.fa-square-arrow-up-left { - --fa: "\e263"; -} - -.fa-square-b { - --fa: "\e264"; -} - -.fa-square-bolt { - --fa: "\e265"; -} - -.fa-square-c { - --fa: "\e266"; -} - -.fa-square-code { - --fa: "\e267"; -} - -.fa-square-d { - --fa: "\e268"; -} - -.fa-square-dashed { - --fa: "\e269"; -} - -.fa-square-divide { - --fa: "\e26a"; -} - -.fa-square-down-left { - --fa: "\e26b"; -} - -.fa-square-down-right { - --fa: "\e26c"; -} - -.fa-square-e { - --fa: "\e26d"; -} - -.fa-square-ellipsis { - --fa: "\e26e"; -} - -.fa-square-ellipsis-vertical { - --fa: "\e26f"; -} - -.fa-square-f { - --fa: "\e270"; -} - -.fa-square-g { - --fa: "\e271"; -} - -.fa-square-i { - --fa: "\e272"; -} - -.fa-square-j { - --fa: "\e273"; -} - -.fa-square-k { - --fa: "\e274"; -} - -.fa-square-l { - --fa: "\e275"; -} - -.fa-square-m { - --fa: "\e276"; -} - -.fa-square-n { - --fa: "\e277"; -} - -.fa-square-o { - --fa: "\e278"; -} - -.fa-square-p { - --fa: "\e279"; -} - -.fa-square-phone-hangup { - --fa: "\e27a"; -} - -.fa-phone-square-down { - --fa: "\e27a"; -} - -.fa-square-q { - --fa: "\e27b"; -} - -.fa-square-r { - --fa: "\e27c"; -} - -.fa-square-s { - --fa: "\e27d"; -} - -.fa-square-small { - --fa: "\e27e"; -} - -.fa-square-star { - --fa: "\e27f"; -} - -.fa-square-t { - --fa: "\e280"; -} - -.fa-square-u { - --fa: "\e281"; -} - -.fa-square-up-left { - --fa: "\e282"; -} - -.fa-square-user { - --fa: "\e283"; -} - -.fa-square-v { - --fa: "\e284"; -} - -.fa-square-w { - --fa: "\e285"; -} - -.fa-square-x { - --fa: "\e286"; -} - -.fa-square-y { - --fa: "\e287"; -} - -.fa-square-z { - --fa: "\e288"; -} - -.fa-stairs { - --fa: "\e289"; -} - -.fa-standard-definition { - --fa: "\e28a"; -} - -.fa-rectangle-sd { - --fa: "\e28a"; -} - -.fa-star-sharp { - --fa: "\e28b"; -} - -.fa-star-sharp-half { - --fa: "\e28c"; -} - -.fa-star-sharp-half-stroke { - --fa: "\e28d"; -} - -.fa-star-sharp-half-alt { - --fa: "\e28d"; -} - -.fa-starfighter-twin-ion-engine-advanced { - --fa: "\e28e"; -} - -.fa-starfighter-alt-advanced { - --fa: "\e28e"; -} - -.fa-sun-bright { - --fa: "\e28f"; -} - -.fa-sun-alt { - --fa: "\e28f"; -} - -.fa-table-layout { - --fa: "\e290"; -} - -.fa-table-pivot { - --fa: "\e291"; -} - -.fa-table-rows { - --fa: "\e292"; -} - -.fa-rows { - --fa: "\e292"; -} - -.fa-table-tree { - --fa: "\e293"; -} - -.fa-tally-1 { - --fa: "\e294"; -} - -.fa-tally-2 { - --fa: "\e295"; -} - -.fa-tally-3 { - --fa: "\e296"; -} - -.fa-tally-4 { - --fa: "\e297"; -} - -.fa-taxi-bus { - --fa: "\e298"; -} - -.fa-temperature-list { - --fa: "\e299"; -} - -.fa-ticket-airline { - --fa: "\e29a"; -} - -.fa-ticket-perforated-plane { - --fa: "\e29a"; -} - -.fa-ticket-plane { - --fa: "\e29a"; -} - -.fa-tickets-airline { - --fa: "\e29b"; -} - -.fa-tickets-perforated-plane { - --fa: "\e29b"; -} - -.fa-tickets-plane { - --fa: "\e29b"; -} - -.fa-timeline { - --fa: "\e29c"; -} - -.fa-timeline-arrow { - --fa: "\e29d"; -} - -.fa-timer { - --fa: "\e29e"; -} - -.fa-toilet-paper-under { - --fa: "\e2a0"; -} - -.fa-toilet-paper-blank-under { - --fa: "\e2a0"; -} - -.fa-toilet-paper-reverse { - --fa: "\e2a0"; -} - -.fa-toilet-paper-reverse-alt { - --fa: "\e2a0"; -} - -.fa-toilet-paper-under-slash { - --fa: "\e2a1"; -} - -.fa-toilet-paper-reverse-slash { - --fa: "\e2a1"; -} - -.fa-tower-control { - --fa: "\e2a2"; -} - -.fa-train-subway-tunnel { - --fa: "\e2a3"; -} - -.fa-subway-tunnel { - --fa: "\e2a3"; -} - -.fa-transformer-bolt { - --fa: "\e2a4"; -} - -.fa-transporter-4 { - --fa: "\e2a5"; -} - -.fa-transporter-5 { - --fa: "\e2a6"; -} - -.fa-transporter-6 { - --fa: "\e2a7"; -} - -.fa-transporter-7 { - --fa: "\e2a8"; -} - -.fa-trash-can-check { - --fa: "\e2a9"; -} - -.fa-trash-can-clock { - --fa: "\e2aa"; -} - -.fa-trash-can-list { - --fa: "\e2ab"; -} - -.fa-trash-can-plus { - --fa: "\e2ac"; -} - -.fa-trash-can-slash { - --fa: "\e2ad"; -} - -.fa-trash-alt-slash { - --fa: "\e2ad"; -} - -.fa-trash-can-xmark { - --fa: "\e2ae"; -} - -.fa-trash-check { - --fa: "\e2af"; -} - -.fa-trash-clock { - --fa: "\e2b0"; -} - -.fa-trash-list { - --fa: "\e2b1"; -} - -.fa-trash-plus { - --fa: "\e2b2"; -} - -.fa-trash-slash { - --fa: "\e2b3"; -} - -.fa-trash-xmark { - --fa: "\e2b4"; -} - -.fa-truck-container-empty { - --fa: "\e2b5"; -} - -.fa-truck-flatbed { - --fa: "\e2b6"; -} - -.fa-truck-front { - --fa: "\e2b7"; -} - -.fa-truck-tow { - --fa: "\e2b8"; -} - -.fa-tty-answer { - --fa: "\e2b9"; -} - -.fa-teletype-answer { - --fa: "\e2b9"; -} - -.fa-tugrik-sign { - --fa: "\e2ba"; -} - -.fa-turkish-lira-sign { - --fa: "\e2bb"; -} - -.fa-try { - --fa: "\e2bb"; -} - -.fa-turkish-lira { - --fa: "\e2bb"; -} - -.fa-umbrella-simple { - --fa: "\e2bc"; -} - -.fa-umbrella-alt { - --fa: "\e2bc"; -} - -.fa-up-left { - --fa: "\e2bd"; -} - -.fa-up-right { - --fa: "\e2be"; -} - -.fa-user-bounty-hunter { - --fa: "\e2bf"; -} - -.fa-user-pilot { - --fa: "\e2c0"; -} - -.fa-user-pilot-tie { - --fa: "\e2c1"; -} - -.fa-user-shakespeare { - --fa: "\e2c2"; -} - -.fa-utility-pole { - --fa: "\e2c3"; -} - -.fa-utility-pole-double { - --fa: "\e2c4"; -} - -.fa-vault { - --fa: "\e2c5"; -} - -.fa-video-arrow-down-left { - --fa: "\e2c8"; -} - -.fa-video-arrow-up-right { - --fa: "\e2c9"; -} - -.fa-wand-magic-sparkles { - --fa: "\e2ca"; -} - -.fa-magic-wand-sparkles { - --fa: "\e2ca"; -} - -.fa-watch-apple { - --fa: "\e2cb"; -} - -.fa-watch-smart { - --fa: "\e2cc"; -} - -.fa-wheat-awn { - --fa: "\e2cd"; -} - -.fa-wheat-alt { - --fa: "\e2cd"; -} - -.fa-wheelchair-move { - --fa: "\e2ce"; -} - -.fa-wheelchair-alt { - --fa: "\e2ce"; -} - -.fa-wifi-exclamation { - --fa: "\e2cf"; -} - -.fa-wrench-simple { - --fa: "\e2d1"; -} - -.fa-robot-astromech { - --fa: "\e2d2"; -} - -.fa-360-degrees { - --fa: "\e2dc"; -} - -.fa-aperture { - --fa: "\e2df"; -} - -.fa-arrow-turn-down-left { - --fa: "\e2e1"; -} - -.fa-balloon { - --fa: "\e2e3"; -} - -.fa-balloons { - --fa: "\e2e4"; -} - -.fa-banana { - --fa: "\e2e5"; -} - -.fa-bangladeshi-taka-sign { - --fa: "\e2e6"; -} - -.fa-bench-tree { - --fa: "\e2e7"; -} - -.fa-blueberries { - --fa: "\e2e8"; -} - -.fa-bowl-chopsticks { - --fa: "\e2e9"; -} - -.fa-bowl-chopsticks-noodles { - --fa: "\e2ea"; -} - -.fa-bowl-rice { - --fa: "\e2eb"; -} - -.fa-briefcase-arrow-right { - --fa: "\e2f2"; -} - -.fa-citrus { - --fa: "\e2f4"; -} - -.fa-citrus-slice { - --fa: "\e2f5"; -} - -.fa-coconut { - --fa: "\e2f6"; -} - -.fa-display-slash { - --fa: "\e2fa"; -} - -.fa-desktop-slash { - --fa: "\e2fa"; -} - -.fa-face-explode { - --fa: "\e2fe"; -} - -.fa-exploding-head { - --fa: "\e2fe"; -} - -.fa-face-viewfinder { - --fa: "\e2ff"; -} - -.fa-family { - --fa: "\e300"; -} - -.fa-family-dress { - --fa: "\e301"; -} - -.fa-family-pants { - --fa: "\e302"; -} - -.fa-fence { - --fa: "\e303"; -} - -.fa-fish-bones { - --fa: "\e304"; -} - -.fa-grapes { - --fa: "\e306"; -} - -.fa-kiwi-fruit { - --fa: "\e30c"; -} - -.fa-mango { - --fa: "\e30f"; -} - -.fa-melon { - --fa: "\e310"; -} - -.fa-melon-slice { - --fa: "\e311"; -} - -.fa-money-from-bracket { - --fa: "\e312"; -} - -.fa-money-simple-from-bracket { - --fa: "\e313"; -} - -.fa-olive { - --fa: "\e316"; -} - -.fa-olive-branch { - --fa: "\e317"; -} - -.fa-option { - --fa: "\e318"; -} - -.fa-party-bell { - --fa: "\e31a"; -} - -.fa-party-horn { - --fa: "\e31b"; -} - -.fa-peapod { - --fa: "\e31c"; -} - -.fa-person-pregnant { - --fa: "\e31e"; -} - -.fa-pineapple { - --fa: "\e31f"; -} - -.fa-rectangle-code { - --fa: "\e322"; -} - -.fa-rectangles-mixed { - --fa: "\e323"; -} - -.fa-roller-coaster { - --fa: "\e324"; -} - -.fa-square-quote { - --fa: "\e329"; -} - -.fa-square-terminal { - --fa: "\e32a"; -} - -.fa-strawberry { - --fa: "\e32b"; -} - -.fa-table-picnic { - --fa: "\e32d"; -} - -.fa-thought-bubble { - --fa: "\e32e"; -} - -.fa-tick { - --fa: "\e32f"; -} - -.fa-tomato { - --fa: "\e330"; -} - -.fa-turn-down-left { - --fa: "\e331"; -} - -.fa-user-police { - --fa: "\e333"; -} - -.fa-user-police-tie { - --fa: "\e334"; -} - -.fa-watermelon-slice { - --fa: "\e337"; -} - -.fa-wheat-awn-slash { - --fa: "\e338"; -} - -.fa-wheat-slash { - --fa: "\e339"; -} - -.fa-badminton { - --fa: "\e33a"; -} - -.fa-binary { - --fa: "\e33b"; -} - -.fa-binary-circle-check { - --fa: "\e33c"; -} - -.fa-binary-lock { - --fa: "\e33d"; -} - -.fa-binary-slash { - --fa: "\e33e"; -} - -.fa-boot-heeled { - --fa: "\e33f"; -} - -.fa-car-bolt { - --fa: "\e341"; -} - -.fa-car-circle-bolt { - --fa: "\e342"; -} - -.fa-car-mirrors { - --fa: "\e343"; -} - -.fa-car-side-bolt { - --fa: "\e344"; -} - -.fa-clock-eight { - --fa: "\e345"; -} - -.fa-clock-eight-thirty { - --fa: "\e346"; -} - -.fa-clock-eleven { - --fa: "\e347"; -} - -.fa-clock-eleven-thirty { - --fa: "\e348"; -} - -.fa-clock-five { - --fa: "\e349"; -} - -.fa-clock-five-thirty { - --fa: "\e34a"; -} - -.fa-clock-four-thirty { - --fa: "\e34b"; -} - -.fa-clock-nine { - --fa: "\e34c"; -} - -.fa-clock-nine-thirty { - --fa: "\e34d"; -} - -.fa-clock-one { - --fa: "\e34e"; -} - -.fa-clock-one-thirty { - --fa: "\e34f"; -} - -.fa-clock-seven { - --fa: "\e350"; -} - -.fa-clock-seven-thirty { - --fa: "\e351"; -} - -.fa-clock-six { - --fa: "\e352"; -} - -.fa-clock-six-thirty { - --fa: "\e353"; -} - -.fa-clock-ten { - --fa: "\e354"; -} - -.fa-clock-ten-thirty { - --fa: "\e355"; -} - -.fa-clock-three { - --fa: "\e356"; -} - -.fa-clock-three-thirty { - --fa: "\e357"; -} - -.fa-clock-twelve { - --fa: "\e358"; -} - -.fa-clock-twelve-thirty { - --fa: "\e359"; -} - -.fa-clock-two { - --fa: "\e35a"; -} - -.fa-clock-two-thirty { - --fa: "\e35b"; -} - -.fa-cloud-check { - --fa: "\e35c"; -} - -.fa-cloud-minus { - --fa: "\e35d"; -} - -.fa-cloud-plus { - --fa: "\e35e"; -} - -.fa-cloud-xmark { - --fa: "\e35f"; -} - -.fa-columns-3 { - --fa: "\e361"; -} - -.fa-crystal-ball { - --fa: "\e362"; -} - -.fa-cup-straw { - --fa: "\e363"; -} - -.fa-cup-straw-swoosh { - --fa: "\e364"; -} - -.fa-distribute-spacing-horizontal { - --fa: "\e365"; -} - -.fa-distribute-spacing-vertical { - --fa: "\e366"; -} - -.fa-eyes { - --fa: "\e367"; -} - -.fa-face-angry-horns { - --fa: "\e368"; -} - -.fa-face-anguished { - --fa: "\e369"; -} - -.fa-face-anxious-sweat { - --fa: "\e36a"; -} - -.fa-face-astonished { - --fa: "\e36b"; -} - -.fa-face-confounded { - --fa: "\e36c"; -} - -.fa-face-confused { - --fa: "\e36d"; -} - -.fa-face-cowboy-hat { - --fa: "\e36e"; -} - -.fa-face-disappointed { - --fa: "\e36f"; -} - -.fa-face-disguise { - --fa: "\e370"; -} - -.fa-face-downcast-sweat { - --fa: "\e371"; -} - -.fa-face-drooling { - --fa: "\e372"; -} - -.fa-face-expressionless { - --fa: "\e373"; -} - -.fa-face-eyes-xmarks { - --fa: "\e374"; -} - -.fa-face-fearful { - --fa: "\e375"; -} - -.fa-face-frown-slight { - --fa: "\e376"; -} - -.fa-face-glasses { - --fa: "\e377"; -} - -.fa-face-hand-over-mouth { - --fa: "\e378"; -} - -.fa-face-hand-yawn { - --fa: "\e379"; -} - -.fa-face-head-bandage { - --fa: "\e37a"; -} - -.fa-face-hushed { - --fa: "\e37b"; -} - -.fa-face-icicles { - --fa: "\e37c"; -} - -.fa-face-kiss-closed-eyes { - --fa: "\e37d"; -} - -.fa-face-lying { - --fa: "\e37e"; -} - -.fa-face-mask { - --fa: "\e37f"; -} - -.fa-face-monocle { - --fa: "\e380"; -} - -.fa-face-nauseated { - --fa: "\e381"; -} - -.fa-face-nose-steam { - --fa: "\e382"; -} - -.fa-face-party { - --fa: "\e383"; -} - -.fa-face-pensive { - --fa: "\e384"; -} - -.fa-face-persevering { - --fa: "\e385"; -} - -.fa-face-pleading { - --fa: "\e386"; -} - -.fa-face-pouting { - --fa: "\e387"; -} - -.fa-face-raised-eyebrow { - --fa: "\e388"; -} - -.fa-face-relieved { - --fa: "\e389"; -} - -.fa-face-sad-sweat { - --fa: "\e38a"; -} - -.fa-face-scream { - --fa: "\e38b"; -} - -.fa-face-shush { - --fa: "\e38c"; -} - -.fa-face-sleeping { - --fa: "\e38d"; -} - -.fa-face-sleepy { - --fa: "\e38e"; -} - -.fa-face-smile-halo { - --fa: "\e38f"; -} - -.fa-face-smile-hearts { - --fa: "\e390"; -} - -.fa-face-smile-horns { - --fa: "\e391"; -} - -.fa-face-smile-relaxed { - --fa: "\e392"; -} - -.fa-face-smile-tear { - --fa: "\e393"; -} - -.fa-face-smile-tongue { - --fa: "\e394"; -} - -.fa-face-smile-upside-down { - --fa: "\e395"; -} - -.fa-face-smiling-hands { - --fa: "\e396"; -} - -.fa-face-smirking { - --fa: "\e397"; -} - -.fa-face-sunglasses { - --fa: "\e398"; -} - -.fa-face-swear { - --fa: "\e399"; -} - -.fa-face-thermometer { - --fa: "\e39a"; -} - -.fa-face-thinking { - --fa: "\e39b"; -} - -.fa-face-tissue { - --fa: "\e39c"; -} - -.fa-face-tongue-money { - --fa: "\e39d"; -} - -.fa-face-tongue-sweat { - --fa: "\e39e"; -} - -.fa-face-unamused { - --fa: "\e39f"; -} - -.fa-face-vomit { - --fa: "\e3a0"; -} - -.fa-face-weary { - --fa: "\e3a1"; -} - -.fa-face-woozy { - --fa: "\e3a2"; -} - -.fa-face-worried { - --fa: "\e3a3"; -} - -.fa-face-zany { - --fa: "\e3a4"; -} - -.fa-face-zipper { - --fa: "\e3a5"; -} - -.fa-file-lock { - --fa: "\e3a6"; -} - -.fa-file-slash { - --fa: "\e3a7"; -} - -.fa-fishing-rod { - --fa: "\e3a8"; -} - -.fa-flying-disc { - --fa: "\e3a9"; -} - -.fa-gallery-thumbnails { - --fa: "\e3aa"; -} - -.fa-goal-net { - --fa: "\e3ab"; -} - -.fa-golf-flag-hole { - --fa: "\e3ac"; -} - -.fa-grid-dividers { - --fa: "\e3ad"; -} - -.fa-hockey-stick-puck { - --fa: "\e3ae"; -} - -.fa-house-chimney { - --fa: "\e3af"; -} - -.fa-home-lg { - --fa: "\e3af"; -} - -.fa-house-chimney-blank { - --fa: "\e3b0"; -} - -.fa-house-crack { - --fa: "\e3b1"; -} - -.fa-house-medical { - --fa: "\e3b2"; -} - -.fa-house-window { - --fa: "\e3b3"; -} - -.fa-key-skeleton-left-right { - --fa: "\e3b4"; -} - -.fa-lacrosse-stick { - --fa: "\e3b5"; -} - -.fa-lacrosse-stick-ball { - --fa: "\e3b6"; -} - -.fa-mask-snorkel { - --fa: "\e3b7"; -} - -.fa-message-bot { - --fa: "\e3b8"; -} - -.fa-moped { - --fa: "\e3b9"; -} - -.fa-nesting-dolls { - --fa: "\e3ba"; -} - -.fa-objects-align-bottom { - --fa: "\e3bb"; -} - -.fa-objects-align-center-horizontal { - --fa: "\e3bc"; -} - -.fa-objects-align-center-vertical { - --fa: "\e3bd"; -} - -.fa-objects-align-left { - --fa: "\e3be"; -} - -.fa-objects-align-right { - --fa: "\e3bf"; -} - -.fa-objects-align-top { - --fa: "\e3c0"; -} - -.fa-objects-column { - --fa: "\e3c1"; -} - -.fa-paperclip-vertical { - --fa: "\e3c2"; -} - -.fa-pinata { - --fa: "\e3c3"; -} - -.fa-pipe-smoking { - --fa: "\e3c4"; -} - -.fa-pool-8-ball { - --fa: "\e3c5"; -} - -.fa-rugby-ball { - --fa: "\e3c6"; -} - -.fa-shirt-long-sleeve { - --fa: "\e3c7"; -} - -.fa-shirt-running { - --fa: "\e3c8"; -} - -.fa-shirt-tank-top { - --fa: "\e3c9"; -} - -.fa-signature-lock { - --fa: "\e3ca"; -} - -.fa-signature-slash { - --fa: "\e3cb"; -} - -.fa-ski-boot { - --fa: "\e3cc"; -} - -.fa-ski-boot-ski { - --fa: "\e3cd"; -} - -.fa-slot-machine { - --fa: "\e3ce"; -} - -.fa-teddy-bear { - --fa: "\e3cf"; -} - -.fa-truck-bolt { - --fa: "\e3d0"; -} - -.fa-uniform-martial-arts { - --fa: "\e3d1"; -} - -.fa-user-chef { - --fa: "\e3d2"; -} - -.fa-user-hair-buns { - --fa: "\e3d3"; -} - -.fa-arrow-left-long-to-line { - --fa: "\e3d4"; -} - -.fa-arrow-right-long-to-line { - --fa: "\e3d5"; -} - -.fa-arrow-turn-down-right { - --fa: "\e3d6"; -} - -.fa-bagel { - --fa: "\e3d7"; -} - -.fa-baguette { - --fa: "\e3d8"; -} - -.fa-blanket-fire { - --fa: "\e3da"; -} - -.fa-block-brick { - --fa: "\e3db"; -} - -.fa-wall-brick { - --fa: "\e3db"; -} - -.fa-block-brick-fire { - --fa: "\e3dc"; -} - -.fa-firewall { - --fa: "\e3dc"; -} - -.fa-block-question { - --fa: "\e3dd"; -} - -.fa-bowl-scoop { - --fa: "\e3de"; -} - -.fa-bowl-shaved-ice { - --fa: "\e3de"; -} - -.fa-bowl-scoops { - --fa: "\e3df"; -} - -.fa-bowl-spoon { - --fa: "\e3e0"; -} - -.fa-bread-slice-butter { - --fa: "\e3e1"; -} - -.fa-broccoli { - --fa: "\e3e2"; -} - -.fa-burger-lettuce { - --fa: "\e3e3"; -} - -.fa-butter { - --fa: "\e3e4"; -} - -.fa-cake-slice { - --fa: "\e3e5"; -} - -.fa-shortcake { - --fa: "\e3e5"; -} - -.fa-can-food { - --fa: "\e3e6"; -} - -.fa-candy { - --fa: "\e3e7"; -} - -.fa-candy-bar { - --fa: "\e3e8"; -} - -.fa-chocolate-bar { - --fa: "\e3e8"; -} - -.fa-card-club { - --fa: "\e3e9"; -} - -.fa-card-diamond { - --fa: "\e3ea"; -} - -.fa-card-heart { - --fa: "\e3eb"; -} - -.fa-card-spade { - --fa: "\e3ec"; -} - -.fa-cards { - --fa: "\e3ed"; -} - -.fa-cart-arrow-up { - --fa: "\e3ee"; -} - -.fa-cart-circle-arrow-down { - --fa: "\e3ef"; -} - -.fa-cart-circle-arrow-up { - --fa: "\e3f0"; -} - -.fa-cart-circle-check { - --fa: "\e3f1"; -} - -.fa-cart-circle-exclamation { - --fa: "\e3f2"; -} - -.fa-cart-circle-plus { - --fa: "\e3f3"; -} - -.fa-cart-circle-xmark { - --fa: "\e3f4"; -} - -.fa-cent-sign { - --fa: "\e3f5"; -} - -.fa-chestnut { - --fa: "\e3f6"; -} - -.fa-chopsticks { - --fa: "\e3f7"; -} - -.fa-circle-quarters { - --fa: "\e3f8"; -} - -.fa-code-pull-request-closed { - --fa: "\e3f9"; -} - -.fa-code-pull-request-draft { - --fa: "\e3fa"; -} - -.fa-coin-blank { - --fa: "\e3fb"; -} - -.fa-coin-front { - --fa: "\e3fc"; -} - -.fa-coin-vertical { - --fa: "\e3fd"; -} - -.fa-corner { - --fa: "\e3fe"; -} - -.fa-crab { - --fa: "\e3ff"; -} - -.fa-soft-serve { - --fa: "\e400"; -} - -.fa-creemee { - --fa: "\e400"; -} - -.fa-cucumber { - --fa: "\e401"; -} - -.fa-cupcake { - --fa: "\e402"; -} - -.fa-custard { - --fa: "\e403"; -} - -.fa-dash { - --fa: "\e404"; -} - -.fa-minus-large { - --fa: "\e404"; -} - -.fa-diamond-exclamation { - --fa: "\e405"; -} - -.fa-donut { - --fa: "\e406"; -} - -.fa-doughnut { - --fa: "\e406"; -} - -.fa-down-from-dotted-line { - --fa: "\e407"; -} - -.fa-down-to-dotted-line { - --fa: "\e408"; -} - -.fa-face-awesome { - --fa: "\e409"; -} - -.fa-gave-dandy { - --fa: "\e409"; -} - -.fa-falafel { - --fa: "\e40a"; -} - -.fa-flatbread { - --fa: "\e40b"; -} - -.fa-flatbread-stuffed { - --fa: "\e40c"; -} - -.fa-fondue-pot { - --fa: "\e40d"; -} - -.fa-garlic { - --fa: "\e40e"; -} - -.fa-grip-dots { - --fa: "\e410"; -} - -.fa-grip-dots-vertical { - --fa: "\e411"; -} - -.fa-h5 { - --fa: "\e412"; -} - -.fa-h6 { - --fa: "\e413"; -} - -.fa-hammer-crash { - --fa: "\e414"; -} - -.fa-hashtag-lock { - --fa: "\e415"; -} - -.fa-hexagon-check { - --fa: "\e416"; -} - -.fa-hexagon-exclamation { - --fa: "\e417"; -} - -.fa-honey-pot { - --fa: "\e418"; -} - -.fa-hose { - --fa: "\e419"; -} - -.fa-hose-reel { - --fa: "\e41a"; -} - -.fa-hourglass-clock { - --fa: "\e41b"; -} - -.fa-hundred-points { - --fa: "\e41c"; -} - -.fa-100 { - --fa: "\e41c"; -} - -.fa-leafy-green { - --fa: "\e41d"; -} - -.fa-left-long-to-line { - --fa: "\e41e"; -} - -.fa-light-emergency { - --fa: "\e41f"; -} - -.fa-light-emergency-on { - --fa: "\e420"; -} - -.fa-lobster { - --fa: "\e421"; -} - -.fa-lock-a { - --fa: "\e422"; -} - -.fa-lock-hashtag { - --fa: "\e423"; -} - -.fa-lollipop { - --fa: "\e424"; -} - -.fa-lollypop { - --fa: "\e424"; -} - -.fa-mushroom { - --fa: "\e425"; -} - -.fa-octagon-check { - --fa: "\e426"; -} - -.fa-onion { - --fa: "\e427"; -} - -.fa-page { - --fa: "\e428"; -} - -.fa-page-caret-down { - --fa: "\e429"; -} - -.fa-file-caret-down { - --fa: "\e429"; -} - -.fa-page-caret-up { - --fa: "\e42a"; -} - -.fa-file-caret-up { - --fa: "\e42a"; -} - -.fa-pan-food { - --fa: "\e42b"; -} - -.fa-pan-frying { - --fa: "\e42c"; -} - -.fa-pancakes { - --fa: "\e42d"; -} - -.fa-panel-ews { - --fa: "\e42e"; -} - -.fa-panel-fire { - --fa: "\e42f"; -} - -.fa-peanut { - --fa: "\e430"; -} - -.fa-peanuts { - --fa: "\e431"; -} - -.fa-pepper { - --fa: "\e432"; -} - -.fa-person-to-door { - --fa: "\e433"; -} - -.fa-phone-intercom { - --fa: "\e434"; -} - -.fa-pickleball { - --fa: "\e435"; -} - -.fa-pipe-circle-check { - --fa: "\e436"; -} - -.fa-pipe-collar { - --fa: "\e437"; -} - -.fa-pipe-section { - --fa: "\e438"; -} - -.fa-pipe-valve { - --fa: "\e439"; -} - -.fa-plate-utensils { - --fa: "\e43b"; -} - -.fa-plus-minus { - --fa: "\e43c"; -} - -.fa-pompebled { - --fa: "\e43d"; -} - -.fa-popsicle { - --fa: "\e43e"; -} - -.fa-pot-food { - --fa: "\e43f"; -} - -.fa-potato { - --fa: "\e440"; -} - -.fa-pretzel { - --fa: "\e441"; -} - -.fa-pump { - --fa: "\e442"; -} - -.fa-puzzle { - --fa: "\e443"; -} - -.fa-right-long-to-line { - --fa: "\e444"; -} - -.fa-sailboat { - --fa: "\e445"; -} - -.fa-salt-shaker { - --fa: "\e446"; -} - -.fa-section { - --fa: "\e447"; -} - -.fa-shrimp { - --fa: "\e448"; -} - -.fa-shutters { - --fa: "\e449"; -} - -.fa-sportsball { - --fa: "\e44b"; -} - -.fa-sprinkler-ceiling { - --fa: "\e44c"; -} - -.fa-square-a-lock { - --fa: "\e44d"; -} - -.fa-square-quarters { - --fa: "\e44e"; -} - -.fa-square-ring { - --fa: "\e44f"; -} - -.fa-squid { - --fa: "\e450"; -} - -.fa-tamale { - --fa: "\e451"; -} - -.fa-tank-water { - --fa: "\e452"; -} - -.fa-train-track { - --fa: "\e453"; -} - -.fa-train-tunnel { - --fa: "\e454"; -} - -.fa-turn-down-right { - --fa: "\e455"; -} - -.fa-up-from-dotted-line { - --fa: "\e456"; -} - -.fa-up-to-dotted-line { - --fa: "\e457"; -} - -.fa-user-doctor-hair { - --fa: "\e458"; -} - -.fa-user-doctor-hair-long { - --fa: "\e459"; -} - -.fa-user-hair { - --fa: "\e45a"; -} - -.fa-user-hair-long { - --fa: "\e45b"; -} - -.fa-user-hair-mullet { - --fa: "\e45c"; -} - -.fa-business-front { - --fa: "\e45c"; -} - -.fa-party-back { - --fa: "\e45c"; -} - -.fa-trian-balbot { - --fa: "\e45c"; -} - -.fa-user-nurse-hair { - --fa: "\e45d"; -} - -.fa-user-nurse-hair-long { - --fa: "\e45e"; -} - -.fa-user-tie-hair { - --fa: "\e45f"; -} - -.fa-user-tie-hair-long { - --fa: "\e460"; -} - -.fa-user-vneck { - --fa: "\e461"; -} - -.fa-user-vneck-hair { - --fa: "\e462"; -} - -.fa-user-vneck-hair-long { - --fa: "\e463"; -} - -.fa-utensils-slash { - --fa: "\e464"; -} - -.fa-vent-damper { - --fa: "\e465"; -} - -.fa-waffle { - --fa: "\e466"; -} - -.fa-00 { - --fa: "\e467"; -} - -.fa-apartment { - --fa: "\e468"; -} - -.fa-bird { - --fa: "\e469"; -} - -.fa-block { - --fa: "\e46a"; -} - -.fa-bowl-soft-serve { - --fa: "\e46b"; -} - -.fa-brazilian-real-sign { - --fa: "\e46c"; -} - -.fa-cabin { - --fa: "\e46d"; -} - -.fa-calendar-circle-exclamation { - --fa: "\e46e"; -} - -.fa-calendar-circle-minus { - --fa: "\e46f"; -} - -.fa-calendar-circle-plus { - --fa: "\e470"; -} - -.fa-calendar-circle-user { - --fa: "\e471"; -} - -.fa-calendar-lines-pen { - --fa: "\e472"; -} - -.fa-chart-simple { - --fa: "\e473"; -} - -.fa-chart-simple-horizontal { - --fa: "\e474"; -} - -.fa-diagram-cells { - --fa: "\e475"; -} - -.fa-diagram-next { - --fa: "\e476"; -} - -.fa-diagram-predecessor { - --fa: "\e477"; -} - -.fa-diagram-previous { - --fa: "\e478"; -} - -.fa-diagram-subtask { - --fa: "\e479"; -} - -.fa-diagram-successor { - --fa: "\e47a"; -} - -.fa-earth-oceania { - --fa: "\e47b"; -} - -.fa-globe-oceania { - --fa: "\e47b"; -} - -.fa-face-beam-hand-over-mouth { - --fa: "\e47c"; -} - -.fa-face-clouds { - --fa: "\e47d"; -} - -.fa-face-diagonal-mouth { - --fa: "\e47e"; -} - -.fa-face-dotted { - --fa: "\e47f"; -} - -.fa-face-exhaling { - --fa: "\e480"; -} - -.fa-face-hand-peeking { - --fa: "\e481"; -} - -.fa-face-holding-back-tears { - --fa: "\e482"; -} - -.fa-face-melting { - --fa: "\e483"; -} - -.fa-face-saluting { - --fa: "\e484"; -} - -.fa-face-spiral-eyes { - --fa: "\e485"; -} - -.fa-fort { - --fa: "\e486"; -} - -.fa-house-blank { - --fa: "\e487"; -} - -.fa-home-blank { - --fa: "\e487"; -} - -.fa-square-kanban { - --fa: "\e488"; -} - -.fa-square-list { - --fa: "\e489"; -} - -.fa-sushi { - --fa: "\e48a"; -} - -.fa-nigiri { - --fa: "\e48a"; -} - -.fa-sushi-roll { - --fa: "\e48b"; -} - -.fa-maki-roll { - --fa: "\e48b"; -} - -.fa-makizushi { - --fa: "\e48b"; -} - -.fa-album-circle-plus { - --fa: "\e48c"; -} - -.fa-album-circle-user { - --fa: "\e48d"; -} - -.fa-album-collection-circle-plus { - --fa: "\e48e"; -} - -.fa-album-collection-circle-user { - --fa: "\e48f"; -} - -.fa-bug-slash { - --fa: "\e490"; -} - -.fa-cloud-exclamation { - --fa: "\e491"; -} - -.fa-cloud-question { - --fa: "\e492"; -} - -.fa-file-circle-info { - --fa: "\e493"; -} - -.fa-file-circle-plus { - --fa: "\e494"; -} - -.fa-frame { - --fa: "\e495"; -} - -.fa-gauge-circle-bolt { - --fa: "\e496"; -} - -.fa-gauge-circle-minus { - --fa: "\e497"; -} - -.fa-gauge-circle-plus { - --fa: "\e498"; -} - -.fa-memo-circle-info { - --fa: "\e49a"; -} - -.fa-object-exclude { - --fa: "\e49c"; -} - -.fa-object-intersect { - --fa: "\e49d"; -} - -.fa-object-subtract { - --fa: "\e49e"; -} - -.fa-object-union { - --fa: "\e49f"; -} - -.fa-pen-nib-slash { - --fa: "\e4a1"; -} - -.fa-rectangle-history { - --fa: "\e4a2"; -} - -.fa-rectangle-history-circle-plus { - --fa: "\e4a3"; -} - -.fa-rectangle-history-circle-user { - --fa: "\e4a4"; -} - -.fa-shop-lock { - --fa: "\e4a5"; -} - -.fa-store-lock { - --fa: "\e4a6"; -} - -.fa-user-robot-xmarks { - --fa: "\e4a7"; -} - -.fa-virus-covid { - --fa: "\e4a8"; -} - -.fa-virus-covid-slash { - --fa: "\e4a9"; -} - -.fa-anchor-circle-check { - --fa: "\e4aa"; -} - -.fa-anchor-circle-exclamation { - --fa: "\e4ab"; -} - -.fa-anchor-circle-xmark { - --fa: "\e4ac"; -} - -.fa-anchor-lock { - --fa: "\e4ad"; -} - -.fa-arrow-down-to-arc { - --fa: "\e4ae"; -} - -.fa-arrow-down-up-across-line { - --fa: "\e4af"; -} - -.fa-arrow-down-up-lock { - --fa: "\e4b0"; -} - -.fa-arrow-right-from-arc { - --fa: "\e4b1"; -} - -.fa-arrow-right-to-arc { - --fa: "\e4b2"; -} - -.fa-arrow-right-to-city { - --fa: "\e4b3"; -} - -.fa-arrow-up-from-arc { - --fa: "\e4b4"; -} - -.fa-arrow-up-from-ground-water { - --fa: "\e4b5"; -} - -.fa-arrow-up-from-water-pump { - --fa: "\e4b6"; -} - -.fa-arrow-up-right-dots { - --fa: "\e4b7"; -} - -.fa-arrows-down-to-line { - --fa: "\e4b8"; -} - -.fa-arrows-down-to-people { - --fa: "\e4b9"; -} - -.fa-arrows-left-right-to-line { - --fa: "\e4ba"; -} - -.fa-arrows-spin { - --fa: "\e4bb"; -} - -.fa-arrows-split-up-and-left { - --fa: "\e4bc"; -} - -.fa-arrows-to-circle { - --fa: "\e4bd"; -} - -.fa-arrows-to-dot { - --fa: "\e4be"; -} - -.fa-arrows-to-eye { - --fa: "\e4bf"; -} - -.fa-arrows-turn-right { - --fa: "\e4c0"; -} - -.fa-arrows-turn-to-dots { - --fa: "\e4c1"; -} - -.fa-arrows-up-to-line { - --fa: "\e4c2"; -} - -.fa-bore-hole { - --fa: "\e4c3"; -} - -.fa-bottle-droplet { - --fa: "\e4c4"; -} - -.fa-bottle-water { - --fa: "\e4c5"; -} - -.fa-bowl-food { - --fa: "\e4c6"; -} - -.fa-boxes-packing { - --fa: "\e4c7"; -} - -.fa-bridge { - --fa: "\e4c8"; -} - -.fa-bridge-circle-check { - --fa: "\e4c9"; -} - -.fa-bridge-circle-exclamation { - --fa: "\e4ca"; -} - -.fa-bridge-circle-xmark { - --fa: "\e4cb"; -} - -.fa-bridge-lock { - --fa: "\e4cc"; -} - -.fa-bridge-suspension { - --fa: "\e4cd"; -} - -.fa-bridge-water { - --fa: "\e4ce"; -} - -.fa-bucket { - --fa: "\e4cf"; -} - -.fa-bugs { - --fa: "\e4d0"; -} - -.fa-building-circle-arrow-right { - --fa: "\e4d1"; -} - -.fa-building-circle-check { - --fa: "\e4d2"; -} - -.fa-building-circle-exclamation { - --fa: "\e4d3"; -} - -.fa-building-circle-xmark { - --fa: "\e4d4"; -} - -.fa-building-flag { - --fa: "\e4d5"; -} - -.fa-building-lock { - --fa: "\e4d6"; -} - -.fa-building-ngo { - --fa: "\e4d7"; -} - -.fa-building-shield { - --fa: "\e4d8"; -} - -.fa-building-un { - --fa: "\e4d9"; -} - -.fa-building-user { - --fa: "\e4da"; -} - -.fa-building-wheat { - --fa: "\e4db"; -} - -.fa-burst { - --fa: "\e4dc"; -} - -.fa-car-on { - --fa: "\e4dd"; -} - -.fa-car-tunnel { - --fa: "\e4de"; -} - -.fa-cards-blank { - --fa: "\e4df"; -} - -.fa-child-combatant { - --fa: "\e4e0"; -} - -.fa-child-rifle { - --fa: "\e4e0"; -} - -.fa-children { - --fa: "\e4e1"; -} - -.fa-circle-nodes { - --fa: "\e4e2"; -} - -.fa-clipboard-question { - --fa: "\e4e3"; -} - -.fa-cloud-showers-water { - --fa: "\e4e4"; -} - -.fa-computer { - --fa: "\e4e5"; -} - -.fa-cubes-stacked { - --fa: "\e4e6"; -} - -.fa-down-to-bracket { - --fa: "\e4e7"; -} - -.fa-envelope-circle-check { - --fa: "\e4e8"; -} - -.fa-explosion { - --fa: "\e4e9"; -} - -.fa-ferry { - --fa: "\e4ea"; -} - -.fa-file-circle-exclamation { - --fa: "\e4eb"; -} - -.fa-file-circle-minus { - --fa: "\e4ed"; -} - -.fa-file-circle-question { - --fa: "\e4ef"; -} - -.fa-file-shield { - --fa: "\e4f0"; -} - -.fa-fire-burner { - --fa: "\e4f1"; -} - -.fa-fish-fins { - --fa: "\e4f2"; -} - -.fa-flask-vial { - --fa: "\e4f3"; -} - -.fa-glass-water { - --fa: "\e4f4"; -} - -.fa-glass-water-droplet { - --fa: "\e4f5"; -} - -.fa-group-arrows-rotate { - --fa: "\e4f6"; -} - -.fa-hand-holding-hand { - --fa: "\e4f7"; -} - -.fa-handcuffs { - --fa: "\e4f8"; -} - -.fa-hands-bound { - --fa: "\e4f9"; -} - -.fa-hands-holding-child { - --fa: "\e4fa"; -} - -.fa-hands-holding-circle { - --fa: "\e4fb"; -} - -.fa-heart-circle-bolt { - --fa: "\e4fc"; -} - -.fa-heart-circle-check { - --fa: "\e4fd"; -} - -.fa-heart-circle-exclamation { - --fa: "\e4fe"; -} - -.fa-heart-circle-minus { - --fa: "\e4ff"; -} - -.fa-heart-circle-plus { - --fa: "\e500"; -} - -.fa-heart-circle-xmark { - --fa: "\e501"; -} - -.fa-helicopter-symbol { - --fa: "\e502"; -} - -.fa-helmet-un { - --fa: "\e503"; -} - -.fa-hexagon-image { - --fa: "\e504"; -} - -.fa-hexagon-vertical-nft { - --fa: "\e505"; -} - -.fa-hexagon-vertical-nft-slanted { - --fa: "\e505"; -} - -.fa-hill-avalanche { - --fa: "\e507"; -} - -.fa-hill-rockslide { - --fa: "\e508"; -} - -.fa-house-circle-check { - --fa: "\e509"; -} - -.fa-house-circle-exclamation { - --fa: "\e50a"; -} - -.fa-house-circle-xmark { - --fa: "\e50b"; -} - -.fa-house-fire { - --fa: "\e50c"; -} - -.fa-house-flag { - --fa: "\e50d"; -} - -.fa-house-flood-water { - --fa: "\e50e"; -} - -.fa-house-flood-water-circle-arrow-right { - --fa: "\e50f"; -} - -.fa-house-lock { - --fa: "\e510"; -} - -.fa-house-medical-circle-check { - --fa: "\e511"; -} - -.fa-house-medical-circle-exclamation { - --fa: "\e512"; -} - -.fa-house-medical-circle-xmark { - --fa: "\e513"; -} - -.fa-house-medical-flag { - --fa: "\e514"; -} - -.fa-house-tsunami { - --fa: "\e515"; -} - -.fa-jar { - --fa: "\e516"; -} - -.fa-jar-wheat { - --fa: "\e517"; -} - -.fa-jet-fighter-up { - --fa: "\e518"; -} - -.fa-jug-detergent { - --fa: "\e519"; -} - -.fa-kitchen-set { - --fa: "\e51a"; -} - -.fa-land-mine-on { - --fa: "\e51b"; -} - -.fa-landmark-flag { - --fa: "\e51c"; -} - -.fa-laptop-file { - --fa: "\e51d"; -} - -.fa-lines-leaning { - --fa: "\e51e"; -} - -.fa-location-pin-lock { - --fa: "\e51f"; -} - -.fa-locust { - --fa: "\e520"; -} - -.fa-magnifying-glass-arrow-right { - --fa: "\e521"; -} - -.fa-magnifying-glass-chart { - --fa: "\e522"; -} - -.fa-mars-and-venus-burst { - --fa: "\e523"; -} - -.fa-mask-ventilator { - --fa: "\e524"; -} - -.fa-mattress-pillow { - --fa: "\e525"; -} - -.fa-merge { - --fa: "\e526"; -} - -.fa-mobile-retro { - --fa: "\e527"; -} - -.fa-money-bill-transfer { - --fa: "\e528"; -} - -.fa-money-bill-trend-up { - --fa: "\e529"; -} - -.fa-money-bill-wheat { - --fa: "\e52a"; -} - -.fa-mosquito { - --fa: "\e52b"; -} - -.fa-mosquito-net { - --fa: "\e52c"; -} - -.fa-mound { - --fa: "\e52d"; -} - -.fa-mountain-city { - --fa: "\e52e"; -} - -.fa-mountain-sun { - --fa: "\e52f"; -} - -.fa-nfc-symbol { - --fa: "\e531"; -} - -.fa-oil-well { - --fa: "\e532"; -} - -.fa-people-group { - --fa: "\e533"; -} - -.fa-people-line { - --fa: "\e534"; -} - -.fa-people-pulling { - --fa: "\e535"; -} - -.fa-people-robbery { - --fa: "\e536"; -} - -.fa-people-roof { - --fa: "\e537"; -} - -.fa-person-arrow-down-to-line { - --fa: "\e538"; -} - -.fa-person-arrow-up-from-line { - --fa: "\e539"; -} - -.fa-person-breastfeeding { - --fa: "\e53a"; -} - -.fa-person-burst { - --fa: "\e53b"; -} - -.fa-person-cane { - --fa: "\e53c"; -} - -.fa-person-chalkboard { - --fa: "\e53d"; -} - -.fa-person-circle-check { - --fa: "\e53e"; -} - -.fa-person-circle-exclamation { - --fa: "\e53f"; -} - -.fa-person-circle-minus { - --fa: "\e540"; -} - -.fa-person-circle-plus { - --fa: "\e541"; -} - -.fa-person-circle-question { - --fa: "\e542"; -} - -.fa-person-circle-xmark { - --fa: "\e543"; -} - -.fa-person-dress-burst { - --fa: "\e544"; -} - -.fa-person-drowning { - --fa: "\e545"; -} - -.fa-person-falling { - --fa: "\e546"; -} - -.fa-person-falling-burst { - --fa: "\e547"; -} - -.fa-person-half-dress { - --fa: "\e548"; -} - -.fa-person-harassing { - --fa: "\e549"; -} - -.fa-person-military-pointing { - --fa: "\e54a"; -} - -.fa-person-military-rifle { - --fa: "\e54b"; -} - -.fa-person-military-to-person { - --fa: "\e54c"; -} - -.fa-person-rays { - --fa: "\e54d"; -} - -.fa-person-rifle { - --fa: "\e54e"; -} - -.fa-person-shelter { - --fa: "\e54f"; -} - -.fa-person-walking-arrow-loop-left { - --fa: "\e551"; -} - -.fa-person-walking-arrow-right { - --fa: "\e552"; -} - -.fa-person-walking-dashed-line-arrow-right { - --fa: "\e553"; -} - -.fa-person-walking-luggage { - --fa: "\e554"; -} - -.fa-plane-circle-check { - --fa: "\e555"; -} - -.fa-plane-circle-exclamation { - --fa: "\e556"; -} - -.fa-plane-circle-xmark { - --fa: "\e557"; -} - -.fa-plane-lock { - --fa: "\e558"; -} - -.fa-plate-wheat { - --fa: "\e55a"; -} - -.fa-plug-circle-bolt { - --fa: "\e55b"; -} - -.fa-plug-circle-check { - --fa: "\e55c"; -} - -.fa-plug-circle-exclamation { - --fa: "\e55d"; -} - -.fa-plug-circle-minus { - --fa: "\e55e"; -} - -.fa-plug-circle-plus { - --fa: "\e55f"; -} - -.fa-plug-circle-xmark { - --fa: "\e560"; -} - -.fa-ranking-star { - --fa: "\e561"; -} - -.fa-road-barrier { - --fa: "\e562"; -} - -.fa-road-bridge { - --fa: "\e563"; -} - -.fa-road-circle-check { - --fa: "\e564"; -} - -.fa-road-circle-exclamation { - --fa: "\e565"; -} - -.fa-road-circle-xmark { - --fa: "\e566"; -} - -.fa-road-lock { - --fa: "\e567"; -} - -.fa-road-spikes { - --fa: "\e568"; -} - -.fa-rug { - --fa: "\e569"; -} - -.fa-sack-xmark { - --fa: "\e56a"; -} - -.fa-school-circle-check { - --fa: "\e56b"; -} - -.fa-school-circle-exclamation { - --fa: "\e56c"; -} - -.fa-school-circle-xmark { - --fa: "\e56d"; -} - -.fa-school-flag { - --fa: "\e56e"; -} - -.fa-school-lock { - --fa: "\e56f"; -} - -.fa-sheet-plastic { - --fa: "\e571"; -} - -.fa-shield-cat { - --fa: "\e572"; -} - -.fa-shield-dog { - --fa: "\e573"; -} - -.fa-shield-heart { - --fa: "\e574"; -} - -.fa-shield-quartered { - --fa: "\e575"; -} - -.fa-square-nfi { - --fa: "\e576"; -} - -.fa-square-person-confined { - --fa: "\e577"; -} - -.fa-square-virus { - --fa: "\e578"; -} - -.fa-staff-snake { - --fa: "\e579"; -} - -.fa-rod-asclepius { - --fa: "\e579"; -} - -.fa-rod-snake { - --fa: "\e579"; -} - -.fa-staff-aesculapius { - --fa: "\e579"; -} - -.fa-sun-plant-wilt { - --fa: "\e57a"; -} - -.fa-tarp { - --fa: "\e57b"; -} - -.fa-tarp-droplet { - --fa: "\e57c"; -} - -.fa-tent { - --fa: "\e57d"; -} - -.fa-tent-arrow-down-to-line { - --fa: "\e57e"; -} - -.fa-tent-arrow-left-right { - --fa: "\e57f"; -} - -.fa-tent-arrow-turn-left { - --fa: "\e580"; -} - -.fa-tent-arrows-down { - --fa: "\e581"; -} - -.fa-tents { - --fa: "\e582"; -} - -.fa-toilet-portable { - --fa: "\e583"; -} - -.fa-toilets-portable { - --fa: "\e584"; -} - -.fa-tower-cell { - --fa: "\e585"; -} - -.fa-tower-observation { - --fa: "\e586"; -} - -.fa-tree-city { - --fa: "\e587"; -} - -.fa-trillium { - --fa: "\e588"; -} - -.fa-trowel { - --fa: "\e589"; -} - -.fa-trowel-bricks { - --fa: "\e58a"; -} - -.fa-truck-arrow-right { - --fa: "\e58b"; -} - -.fa-truck-droplet { - --fa: "\e58c"; -} - -.fa-truck-field { - --fa: "\e58d"; -} - -.fa-truck-field-un { - --fa: "\e58e"; -} - -.fa-truck-plane { - --fa: "\e58f"; -} - -.fa-up-from-bracket { - --fa: "\e590"; -} - -.fa-users-between-lines { - --fa: "\e591"; -} - -.fa-users-line { - --fa: "\e592"; -} - -.fa-users-rays { - --fa: "\e593"; -} - -.fa-users-rectangle { - --fa: "\e594"; -} - -.fa-users-viewfinder { - --fa: "\e595"; -} - -.fa-vial-circle-check { - --fa: "\e596"; -} - -.fa-vial-virus { - --fa: "\e597"; -} - -.fa-wheat-awn-circle-exclamation { - --fa: "\e598"; -} - -.fa-worm { - --fa: "\e599"; -} - -.fa-xmarks-lines { - --fa: "\e59a"; -} - -.fa-xmark-large { - --fa: "\e59b"; -} - -.fa-child-dress { - --fa: "\e59c"; -} - -.fa-child-reaching { - --fa: "\e59d"; -} - -.fa-plus-large { - --fa: "\e59e"; -} - -.fa-crosshairs-simple { - --fa: "\e59f"; -} - -.fa-file-circle-check { - --fa: "\e5a0"; -} - -.fa-file-circle-xmark { - --fa: "\e5a1"; -} - -.fa-gamepad-modern { - --fa: "\e5a2"; -} - -.fa-gamepad-alt { - --fa: "\e5a2"; -} - -.fa-grill { - --fa: "\e5a3"; -} - -.fa-grill-fire { - --fa: "\e5a4"; -} - -.fa-grill-hot { - --fa: "\e5a5"; -} - -.fa-lightbulb-cfl { - --fa: "\e5a6"; -} - -.fa-lightbulb-cfl-on { - --fa: "\e5a7"; -} - -.fa-mouse-field { - --fa: "\e5a8"; -} - -.fa-person-through-window { - --fa: "\e5a9"; -} - -.fa-plant-wilt { - --fa: "\e5aa"; -} - -.fa-ring-diamond { - --fa: "\e5ab"; -} - -.fa-stapler { - --fa: "\e5af"; -} - -.fa-toggle-large-off { - --fa: "\e5b0"; -} - -.fa-toggle-large-on { - --fa: "\e5b1"; -} - -.fa-toilet-paper-check { - --fa: "\e5b2"; -} - -.fa-toilet-paper-xmark { - --fa: "\e5b3"; -} - -.fa-train-tram { - --fa: "\e5b4"; -} - -.fa-buoy { - --fa: "\e5b5"; -} - -.fa-buoy-mooring { - --fa: "\e5b6"; -} - -.fa-diamond-half { - --fa: "\e5b7"; -} - -.fa-diamond-half-stroke { - --fa: "\e5b8"; -} - -.fa-game-console-handheld-crank { - --fa: "\e5b9"; -} - -.fa-interrobang { - --fa: "\e5ba"; -} - -.fa-mailbox-flag-up { - --fa: "\e5bb"; -} - -.fa-mustache { - --fa: "\e5bc"; -} - -.fa-nose { - --fa: "\e5bd"; -} - -.fa-phone-arrow-right { - --fa: "\e5be"; -} - -.fa-pickaxe { - --fa: "\e5bf"; -} - -.fa-prescription-bottle-pill { - --fa: "\e5c0"; -} - -.fa-snowflake-droplets { - --fa: "\e5c1"; -} - -.fa-square-dashed-circle-plus { - --fa: "\e5c2"; -} - -.fa-tricycle { - --fa: "\e5c3"; -} - -.fa-tricycle-adult { - --fa: "\e5c4"; -} - -.fa-user-magnifying-glass { - --fa: "\e5c5"; -} - -.fa-comment-heart { - --fa: "\e5c8"; -} - -.fa-message-heart { - --fa: "\e5c9"; -} - -.fa-pencil-mechanical { - --fa: "\e5ca"; -} - -.fa-skeleton-ribs { - --fa: "\e5cb"; -} - -.fa-billboard { - --fa: "\e5cd"; -} - -.fa-circle-euro { - --fa: "\e5ce"; -} - -.fa-circle-sterling { - --fa: "\e5cf"; -} - -.fa-circle-yen { - --fa: "\e5d0"; -} - -.fa-broom-wide { - --fa: "\e5d1"; -} - -.fa-wreath-laurel { - --fa: "\e5d2"; -} - -.fa-circle-quarter-stroke { - --fa: "\e5d3"; -} - -.fa-circle-three-quarters-stroke { - --fa: "\e5d4"; -} - -.fa-webhook { - --fa: "\e5d5"; -} - -.fa-sparkle { - --fa: "\e5d6"; -} - -.fa-chart-line-up-down { - --fa: "\e5d7"; -} - -.fa-chart-mixed-up-circle-currency { - --fa: "\e5d8"; -} - -.fa-chart-mixed-up-circle-dollar { - --fa: "\e5d9"; -} - -.fa-grid-round { - --fa: "\e5da"; -} - -.fa-grid-round-2 { - --fa: "\e5db"; -} - -.fa-grid-round-2-plus { - --fa: "\e5dc"; -} - -.fa-grid-round-4 { - --fa: "\e5dd"; -} - -.fa-grid-round-5 { - --fa: "\e5de"; -} - -.fa-arrow-progress { - --fa: "\e5df"; -} - -.fa-right-left-large { - --fa: "\e5e1"; -} - -.fa-calendar-users { - --fa: "\e5e2"; -} - -.fa-display-chart-up { - --fa: "\e5e3"; -} - -.fa-display-chart-up-circle-currency { - --fa: "\e5e5"; -} - -.fa-display-chart-up-circle-dollar { - --fa: "\e5e6"; -} - -.fa-laptop-binary { - --fa: "\e5e7"; -} - -.fa-gear-code { - --fa: "\e5e8"; -} - -.fa-gear-complex { - --fa: "\e5e9"; -} - -.fa-gear-complex-code { - --fa: "\e5eb"; -} - -.fa-file-doc { - --fa: "\e5ed"; -} - -.fa-file-zip { - --fa: "\e5ee"; -} - -.fa-flask-gear { - --fa: "\e5f1"; -} - -.fa-bag-seedling { - --fa: "\e5f2"; -} - -.fa-bin-bottles { - --fa: "\e5f5"; -} - -.fa-bin-bottles-recycle { - --fa: "\e5f6"; -} - -.fa-bin-recycle { - --fa: "\e5f7"; -} - -.fa-conveyor-belt-arm { - --fa: "\e5f8"; -} - -.fa-jug-bottle { - --fa: "\e5fb"; -} - -.fa-lightbulb-gear { - --fa: "\e5fd"; -} - -.fa-dinosaur { - --fa: "\e5fe"; -} - -.fa-person-running-fast { - --fa: "\e5ff"; -} - -.fa-circles-overlap { - --fa: "\e600"; -} - -.fa-cloud-binary { - --fa: "\e601"; -} - -.fa-chf-sign { - --fa: "\e602"; -} - -.fa-user-group-simple { - --fa: "\e603"; -} - -.fa-chart-pie-simple-circle-currency { - --fa: "\e604"; -} - -.fa-chart-pie-simple-circle-dollar { - --fa: "\e605"; -} - -.fa-hat-beach { - --fa: "\e606"; -} - -.fa-person-dress-fairy { - --fa: "\e607"; -} - -.fa-person-fairy { - --fa: "\e608"; -} - -.fa-swap { - --fa: "\e609"; -} - -.fa-swap-arrows { - --fa: "\e60a"; -} - -.fa-angles-up-down { - --fa: "\e60d"; -} - -.fa-globe-pointer { - --fa: "\e60e"; -} - -.fa-subtitles { - --fa: "\e60f"; -} - -.fa-subtitles-slash { - --fa: "\e610"; -} - -.fa-head-side-gear { - --fa: "\e611"; -} - -.fa-lighthouse { - --fa: "\e612"; -} - -.fa-raccoon { - --fa: "\e613"; -} - -.fa-arrow-down-from-arc { - --fa: "\e614"; -} - -.fa-arrow-left-from-arc { - --fa: "\e615"; -} - -.fa-arrow-left-to-arc { - --fa: "\e616"; -} - -.fa-arrow-up-to-arc { - --fa: "\e617"; -} - -.fa-building-magnifying-glass { - --fa: "\e61c"; -} - -.fa-building-memo { - --fa: "\e61e"; -} - -.fa-hammer-brush { - --fa: "\e620"; -} - -.fa-hand-holding-circle-dollar { - --fa: "\e621"; -} - -.fa-landmark-magnifying-glass { - --fa: "\e622"; -} - -.fa-sign-post { - --fa: "\e624"; -} - -.fa-sign-posts { - --fa: "\e625"; -} - -.fa-sign-posts-wrench { - --fa: "\e626"; -} - -.fa-tent-double-peak { - --fa: "\e627"; -} - -.fa-truck-utensils { - --fa: "\e628"; -} - -.fa-t-rex { - --fa: "\e629"; -} - -.fa-spinner-scale { - --fa: "\e62a"; -} - -.fa-bell-ring { - --fa: "\e62c"; -} - -.fa-arrows-rotate-reverse { - --fa: "\e630"; -} - -.fa-rotate-reverse { - --fa: "\e631"; -} - -.fa-arrow-turn-left { - --fa: "\e632"; -} - -.fa-arrow-turn-left-down { - --fa: "\e633"; -} - -.fa-arrow-turn-left-up { - --fa: "\e634"; -} - -.fa-arrow-turn-right { - --fa: "\e635"; -} - -.fa-turn-left { - --fa: "\e636"; -} - -.fa-turn-left-down { - --fa: "\e637"; -} - -.fa-turn-left-up { - --fa: "\e638"; -} - -.fa-turn-right { - --fa: "\e639"; -} - -.fa-location-arrow-up { - --fa: "\e63a"; -} - -.fa-ticket-perforated { - --fa: "\e63e"; -} - -.fa-tickets-perforated { - --fa: "\e63f"; -} - -.fa-cannon { - --fa: "\e642"; -} - -.fa-court-sport { - --fa: "\e643"; -} - -.fa-file-eps { - --fa: "\e644"; -} - -.fa-file-gif { - --fa: "\e645"; -} - -.fa-file-jpg { - --fa: "\e646"; -} - -.fa-file-mov { - --fa: "\e647"; -} - -.fa-file-mp3 { - --fa: "\e648"; -} - -.fa-file-mp4 { - --fa: "\e649"; -} - -.fa-file-ppt { - --fa: "\e64a"; -} - -.fa-file-svg { - --fa: "\e64b"; -} - -.fa-file-vector { - --fa: "\e64c"; -} - -.fa-file-xls { - --fa: "\e64d"; -} - -.fa-folder-check { - --fa: "\e64e"; -} - -.fa-chart-kanban { - --fa: "\e64f"; -} - -.fa-bag-shopping-minus { - --fa: "\e650"; -} - -.fa-bag-shopping-plus { - --fa: "\e651"; -} - -.fa-basket-shopping-minus { - --fa: "\e652"; -} - -.fa-basket-shopping-plus { - --fa: "\e653"; -} - -.fa-file-xml { - --fa: "\e654"; -} - -.fa-bulldozer { - --fa: "\e655"; -} - -.fa-excavator { - --fa: "\e656"; -} - -.fa-truck-ladder { - --fa: "\e657"; -} - -.fa-tickets { - --fa: "\e658"; -} - -.fa-tickets-simple { - --fa: "\e659"; -} - -.fa-truck-fire { - --fa: "\e65a"; -} - -.fa-wave { - --fa: "\e65b"; -} - -.fa-waves-sine { - --fa: "\e65d"; -} - -.fa-magnifying-glass-arrows-rotate { - --fa: "\e65e"; -} - -.fa-magnifying-glass-music { - --fa: "\e65f"; -} - -.fa-magnifying-glass-play { - --fa: "\e660"; -} - -.fa-magnifying-glass-waveform { - --fa: "\e661"; -} - -.fa-music-magnifying-glass { - --fa: "\e662"; -} - -.fa-reflect-horizontal { - --fa: "\e664"; -} - -.fa-reflect-vertical { - --fa: "\e665"; -} - -.fa-file-png { - --fa: "\e666"; -} - -.fa-arrow-down-from-bracket { - --fa: "\e667"; -} - -.fa-arrow-left-from-bracket { - --fa: "\e668"; -} - -.fa-arrow-left-to-bracket { - --fa: "\e669"; -} - -.fa-arrow-up-to-bracket { - --fa: "\e66a"; -} - -.fa-down-from-bracket { - --fa: "\e66b"; -} - -.fa-left-from-bracket { - --fa: "\e66c"; -} - -.fa-left-to-bracket { - --fa: "\e66d"; -} - -.fa-up-to-bracket { - --fa: "\e66e"; -} - -.fa-reflect-both { - --fa: "\e66f"; -} - -.fa-file-cad { - --fa: "\e672"; -} - -.fa-bottle-baby { - --fa: "\e673"; -} - -.fa-table-cells-column-lock { - --fa: "\e678"; -} - -.fa-table-cells-lock { - --fa: "\e679"; -} - -.fa-table-cells-row-lock { - --fa: "\e67a"; -} - -.fa-circle-wifi { - --fa: "\e67d"; -} - -.fa-circle-wifi-circle-wifi { - --fa: "\e67e"; -} - -.fa-circle-wifi-group { - --fa: "\e67e"; -} - -.fa-circle-gf { - --fa: "\e67f"; -} - -.fa-ant { - --fa: "\e680"; -} - -.fa-caduceus { - --fa: "\e681"; -} - -.fa-web-awesome { - --fa: "\e682"; -} - -.fa-globe-wifi { - --fa: "\e685"; -} - -.fa-hydra { - --fa: "\e686"; -} - -.fa-lightbulb-message { - --fa: "\e687"; -} - -.fa-octopus { - --fa: "\e688"; -} - -.fa-user-beard-bolt { - --fa: "\e689"; -} - -.fa-user-hoodie { - --fa: "\e68a"; -} - -.fa-diamonds-4 { - --fa: "\e68b"; -} - -.fa-thumbtack-slash { - --fa: "\e68f"; -} - -.fa-thumb-tack-slash { - --fa: "\e68f"; -} - -.fa-table-cells-column-unlock { - --fa: "\e690"; -} - -.fa-table-cells-row-unlock { - --fa: "\e691"; -} - -.fa-table-cells-unlock { - --fa: "\e692"; -} - -.fa-chart-diagram { - --fa: "\e695"; -} - -.fa-comment-nodes { - --fa: "\e696"; -} - -.fa-file-fragment { - --fa: "\e697"; -} - -.fa-file-half-dashed { - --fa: "\e698"; -} - -.fa-hexagon-nodes { - --fa: "\e699"; -} - -.fa-hexagon-nodes-bolt { - --fa: "\e69a"; -} - -.fa-square-binary { - --fa: "\e69b"; -} - -.fa-carpool { - --fa: "\e69c"; -} - -.fa-car-people { - --fa: "\e69c"; -} - -.fa-chart-sine { - --fa: "\e69d"; -} - -.fa-chart-fft { - --fa: "\e69e"; -} - -.fa-circles-overlap-3 { - --fa: "\e6a1"; -} - -.fa-pronoun { - --fa: "\e6a1"; -} - -.fa-bar-progress { - --fa: "\e6a4"; -} - -.fa-bar-progress-empty { - --fa: "\e6a5"; -} - -.fa-bar-progress-full { - --fa: "\e6a6"; -} - -.fa-bar-progress-half { - --fa: "\e6a7"; -} - -.fa-bar-progress-quarter { - --fa: "\e6a8"; -} - -.fa-bar-progress-three-quarters { - --fa: "\e6a9"; -} - -.fa-grid-2-minus { - --fa: "\e6aa"; -} - -.fa-grid-round-2-minus { - --fa: "\e6ab"; -} - -.fa-table-cells-columns { - --fa: "\e6ac"; -} - -.fa-table-cells-header { - --fa: "\e6ad"; -} - -.fa-table-cells-header-lock { - --fa: "\e6ae"; -} - -.fa-table-cells-header-unlock { - --fa: "\e6af"; -} - -.fa-table-cells-rows { - --fa: "\e6b0"; -} - -.fa-circle-equals { - --fa: "\e6b1"; -} - -.fa-hexagon-equals { - --fa: "\e6b2"; -} - -.fa-octagon-equals { - --fa: "\e6b3"; -} - -.fa-rectangle-minus { - --fa: "\e6b4"; -} - -.fa-rectangle-plus { - --fa: "\e6b5"; -} - -.fa-square-equals { - --fa: "\e6b6"; -} - -.fa-arrow-down-long-to-line { - --fa: "\e6b7"; -} - -.fa-arrow-left-arrow-right { - --fa: "\e6b8"; -} - -.fa-arrow-left-from-dotted-line { - --fa: "\e6b9"; -} - -.fa-arrow-left-to-dotted-line { - --fa: "\e6ba"; -} - -.fa-arrow-right-from-dotted-line { - --fa: "\e6bb"; -} - -.fa-arrow-right-to-dotted-line { - --fa: "\e6bc"; -} - -.fa-arrow-up-long-to-line { - --fa: "\e6bd"; -} - -.fa-direction-left-right { - --fa: "\e6be"; -} - -.fa-direction-up-down { - --fa: "\e6bf"; -} - -.fa-down-long-to-line { - --fa: "\e6c0"; -} - -.fa-down-up { - --fa: "\e6c1"; -} - -.fa-left-from-dotted-line { - --fa: "\e6c2"; -} - -.fa-left-to-dotted-line { - --fa: "\e6c3"; -} - -.fa-right-from-dotted-line { - --fa: "\e6c4"; -} - -.fa-right-to-dotted-line { - --fa: "\e6c5"; -} - -.fa-up-long-to-line { - --fa: "\e6c6"; -} - -.fa-barn { - --fa: "\e6c7"; -} - -.fa-circle-house { - --fa: "\e6c8"; -} - -.fa-garage-empty { - --fa: "\e6c9"; -} - -.fa-house-unlock { - --fa: "\e6ca"; -} - -.fa-school-unlock { - --fa: "\e6cb"; -} - -.fa-stadium { - --fa: "\e6cc"; -} - -.fa-tent-circus { - --fa: "\e6cd"; -} - -.fa-ball-yarn { - --fa: "\e6ce"; -} - -.fa-bra { - --fa: "\e6cf"; -} - -.fa-briefs { - --fa: "\e6d0"; -} - -.fa-dress { - --fa: "\e6d1"; -} - -.fa-jeans { - --fa: "\e6d2"; -} - -.fa-jeans-straight { - --fa: "\e6d3"; -} - -.fa-panties { - --fa: "\e6d4"; -} - -.fa-pants { - --fa: "\e6d5"; -} - -.fa-pants-straight { - --fa: "\e6d6"; -} - -.fa-shirt-jersey { - --fa: "\e6d7"; -} - -.fa-shoe { - --fa: "\e6d8"; -} - -.fa-shorts { - --fa: "\e6d9"; -} - -.fa-sneaker { - --fa: "\e6da"; -} - -.fa-circle-share-nodes { - --fa: "\e6db"; -} - -.fa-comment-dot { - --fa: "\e6dc"; -} - -.fa-comment-waveform { - --fa: "\e6dd"; -} - -.fa-envelope-circle-user { - --fa: "\e6de"; -} - -.fa-message-dot { - --fa: "\e6df"; -} - -.fa-message-waveform { - --fa: "\e6e0"; -} - -.fa-phone-connection { - --fa: "\e6e1"; -} - -.fa-phone-waveform { - --fa: "\e6e2"; -} - -.fa-postage-stamp { - --fa: "\e6e3"; -} - -.fa-circle-florin { - --fa: "\e6e4"; -} - -.fa-circle-ruble { - --fa: "\e6e5"; -} - -.fa-square-chf { - --fa: "\e6e6"; -} - -.fa-square-lira { - --fa: "\e6e7"; -} - -.fa-norwegian-krone-sign { - --fa: "\e6e8"; -} - -.fa-circle-renminbi { - --fa: "\e6e9"; -} - -.fa-square-peseta { - --fa: "\e6ea"; -} - -.fa-circle-brazilian-real { - --fa: "\e6eb"; -} - -.fa-circle-won { - --fa: "\e6ec"; -} - -.fa-square-cruzeiro { - --fa: "\e6ed"; -} - -.fa-circle-currency { - --fa: "\e6ee"; -} - -.fa-circle-hryvnia { - --fa: "\e6ef"; -} - -.fa-square-cent { - --fa: "\e6f0"; -} - -.fa-square-brazilian-real { - --fa: "\e6f1"; -} - -.fa-square-bitcoin { - --fa: "\e6f2"; -} - -.fa-circle-peruvian-soles { - --fa: "\e6f3"; -} - -.fa-circle-litecoin { - --fa: "\e6f4"; -} - -.fa-square-indian-rupee { - --fa: "\e6f5"; -} - -.fa-circle-lira { - --fa: "\e6f6"; -} - -.fa-square-litecoin { - --fa: "\e6f7"; -} - -.fa-square-ruble { - --fa: "\e6f8"; -} - -.fa-circle-malaysian-ringgit { - --fa: "\e6f9"; -} - -.fa-malaysian-ringgit-sign { - --fa: "\e6fa"; -} - -.fa-circle-manat { - --fa: "\e6fb"; -} - -.fa-circle-colon { - --fa: "\e6fc"; -} - -.fa-circle-kip { - --fa: "\e6fd"; -} - -.fa-australian-dollar-sign { - --fa: "\e6fe"; -} - -.fa-circle-peso { - --fa: "\e6ff"; -} - -.fa-circle-polish-zloty { - --fa: "\e700"; -} - -.fa-circle-bangladeshi-taka { - --fa: "\e701"; -} - -.fa-circle-mill { - --fa: "\e702"; -} - -.fa-circle-shekel { - --fa: "\e703"; -} - -.fa-square-manat { - --fa: "\e704"; -} - -.fa-peruvian-soles-sign { - --fa: "\e705"; -} - -.fa-circle-rupiah { - --fa: "\e706"; -} - -.fa-square-norwegian-krone { - --fa: "\e707"; -} - -.fa-square-naira { - --fa: "\e708"; -} - -.fa-square-won { - --fa: "\e709"; -} - -.fa-square-mill { - --fa: "\e70a"; -} - -.fa-polish-zloty-sign { - --fa: "\e70b"; -} - -.fa-square-currency { - --fa: "\e70c"; -} - -.fa-square-kip { - --fa: "\e70d"; -} - -.fa-square-guarani { - --fa: "\e70e"; -} - -.fa-square-dong { - --fa: "\e70f"; -} - -.fa-square-hryvnia { - --fa: "\e710"; -} - -.fa-circle-tugrik { - --fa: "\e711"; -} - -.fa-square-rupiah { - --fa: "\e712"; -} - -.fa-square-sterling { - --fa: "\e713"; -} - -.fa-circle-rupee { - --fa: "\e714"; -} - -.fa-square-rupee { - --fa: "\e715"; -} - -.fa-square-peruvian-soles { - --fa: "\e716"; -} - -.fa-square-florin { - --fa: "\e717"; -} - -.fa-square-australian-dollar { - --fa: "\e718"; -} - -.fa-square-baht { - --fa: "\e719"; -} - -.fa-square-peso { - --fa: "\e71a"; -} - -.fa-circle-austral { - --fa: "\e71b"; -} - -.fa-square-swedish-krona { - --fa: "\e71c"; -} - -.fa-circle-lari { - --fa: "\e71d"; -} - -.fa-circleapore-dollar { - --fa: "\e71e"; -} - -.fa-square-turkish-lira { - --fa: "\e71f"; -} - -.fa-danish-krone-sign { - --fa: "\e720"; -} - -.fa-circle-franc { - --fa: "\e721"; -} - -.fa-circle-cruzeiro { - --fa: "\e722"; -} - -.fa-circle-dong { - --fa: "\e723"; -} - -.fa-square-yen { - --fa: "\e724"; -} - -.fa-circle-tenge { - --fa: "\e725"; -} - -.fa-square-austral { - --fa: "\e726"; -} - -.fa-square-eurozone { - --fa: "\e727"; -} - -.fa-square-tugrik { - --fa: "\e728"; -} - -.fa-square-cedi { - --fa: "\e729"; -} - -.fa-circle-cent { - --fa: "\e72a"; -} - -.fa-currency-sign { - --fa: "\e72b"; -} - -.fa-circle-chf { - --fa: "\e72c"; -} - -.fa-circle-baht { - --fa: "\e72d"; -} - -.fa-signapore-dollar-sign { - --fa: "\e72e"; -} - -.fa-square-franc { - --fa: "\e72f"; -} - -.fa-circle-australian-dollar { - --fa: "\e730"; -} - -.fa-square-tenge { - --fa: "\e731"; -} - -.fa-square-euro { - --fa: "\e732"; -} - -.fa-squareapore-dollar { - --fa: "\e733"; -} - -.fa-circle-indian-rupee { - --fa: "\e734"; -} - -.fa-square-shekel { - --fa: "\e735"; -} - -.fa-square-polish-zloty { - --fa: "\e736"; -} - -.fa-circle-bitcoin { - --fa: "\e737"; -} - -.fa-circle-norwegian-krone { - --fa: "\e738"; -} - -.fa-circle-turkish-lira { - --fa: "\e739"; -} - -.fa-square-colon { - --fa: "\e73a"; -} - -.fa-circle-guarani { - --fa: "\e73b"; -} - -.fa-renminbi-sign { - --fa: "\e73c"; -} - -.fa-square-renminbi { - --fa: "\e73d"; -} - -.fa-swedish-krona-sign { - --fa: "\e73e"; -} - -.fa-square-lari { - --fa: "\e73f"; -} - -.fa-eurozone-sign { - --fa: "\e740"; -} - -.fa-circle-peseta { - --fa: "\e741"; -} - -.fa-circle-cedi { - --fa: "\e742"; -} - -.fa-circle-swedish-krona { - --fa: "\e743"; -} - -.fa-square-bangladeshi-taka { - --fa: "\e744"; -} - -.fa-circle-eurozone { - --fa: "\e745"; -} - -.fa-circle-danish-krone { - --fa: "\e746"; -} - -.fa-square-danish-krone { - --fa: "\e747"; -} - -.fa-square-malaysian-ringgit { - --fa: "\e748"; -} - -.fa-circle-naira { - --fa: "\e749"; -} - -.fa-mobile-arrow-down { - --fa: "\e74b"; -} - -.fa-clone-plus { - --fa: "\e74c"; -} - -.fa-paintbrush-fine-slash { - --fa: "\e74d"; -} - -.fa-paintbrush-slash { - --fa: "\e74e"; -} - -.fa-pencil-line { - --fa: "\e74f"; -} - -.fa-slider-circle { - --fa: "\e750"; -} - -.fa-thumbtack-angle { - --fa: "\e751"; -} - -.fa-thumbtack-angle-slash { - --fa: "\e752"; -} - -.fa-book-open-lines { - --fa: "\e753"; -} - -.fa-book-spine { - --fa: "\e754"; -} - -.fa-bookmark-plus { - --fa: "\e755"; -} - -.fa-clipboard-clock { - --fa: "\e756"; -} - -.fa-clipboard-exclamation { - --fa: "\e757"; -} - -.fa-file-ban { - --fa: "\e758"; -} - -.fa-notes-sticky { - --fa: "\e759"; -} - -.fa-capsule { - --fa: "\e75a"; -} - -.fa-ear-circle-checkmark { - --fa: "\e75b"; -} - -.fa-ear-triangle-exclamation { - --fa: "\e75c"; -} - -.fa-ear-waveform { - --fa: "\e75d"; -} - -.fa-head-side-circuit { - --fa: "\e75e"; -} - -.fa-head-side-speak { - --fa: "\e75f"; -} - -.fa-microphone-signal-meter { - --fa: "\e760"; -} - -.fa-spine { - --fa: "\e761"; -} - -.fa-vial-vertical { - --fa: "\e762"; -} - -.fa-bin { - --fa: "\e763"; -} - -.fa-seat { - --fa: "\e764"; -} - -.fa-seats { - --fa: "\e765"; -} - -.fa-camera-circle-ellipsis { - --fa: "\e766"; -} - -.fa-camera-clock { - --fa: "\e767"; -} - -.fa-camera-shutter { - --fa: "\e768"; -} - -.fa-film-music { - --fa: "\e769"; -} - -.fa-film-stack { - --fa: "\e76b"; -} - -.fa-image-circle-arrow-down { - --fa: "\e76c"; -} - -.fa-image-circle-check { - --fa: "\e76d"; -} - -.fa-image-circle-plus { - --fa: "\e76e"; -} - -.fa-image-circle-xmark { - --fa: "\e76f"; -} - -.fa-image-music { - --fa: "\e770"; -} - -.fa-image-stack { - --fa: "\e771"; -} - -.fa-rectangle-4k { - --fa: "\e772"; -} - -.fa-rectangle-high-dynamic-range { - --fa: "\e773"; -} - -.fa-rectangle-hdr { - --fa: "\e773"; -} - -.fa-rectangle-video-on-demand { - --fa: "\e774"; -} - -.fa-user-viewfinder { - --fa: "\e775"; -} - -.fa-video-down-to-line { - --fa: "\e776"; -} - -.fa-video-question { - --fa: "\e777"; -} - -.fa-gas-pump-left { - --fa: "\e778"; -} - -.fa-gas-pump-right { - --fa: "\e779"; -} - -.fa-location-arrow-slash { - --fa: "\e77a"; -} - -.fa-airplay-audio { - --fa: "\e77b"; -} - -.fa-headphones-slash { - --fa: "\e77c"; -} - -.fa-microphone-circle-plus { - --fa: "\e77d"; -} - -.fa-microphone-circle-xmark { - --fa: "\e77e"; -} - -.fa-open-captioning { - --fa: "\e77f"; -} - -.fa-play-flip { - --fa: "\e780"; -} - -.fa-square-microphone { - --fa: "\e781"; -} - -.fa-trombone { - --fa: "\e782"; -} - -.fa-person-arms-raised { - --fa: "\e783"; -} - -.fa-person-basketball { - --fa: "\e784"; -} - -.fa-person-carry-empty { - --fa: "\e785"; -} - -.fa-person-golfing { - --fa: "\e786"; -} - -.fa-person-limbs-wide { - --fa: "\e787"; -} - -.fa-person-seat-window { - --fa: "\e788"; -} - -.fa-person-soccer { - --fa: "\e789"; -} - -.fa-person-swimming-pool { - --fa: "\e78a"; -} - -.fa-person-swimming-water { - --fa: "\e78b"; -} - -.fa-person-water-arms-raised { - --fa: "\e78c"; -} - -.fa-person-waving { - --fa: "\e78d"; -} - -.fa-heart-slash { - --fa: "\e78e"; -} - -.fa-hearts { - --fa: "\e78f"; -} - -.fa-pentagon { - --fa: "\e790"; -} - -.fa-rectangle-tall { - --fa: "\e791"; -} - -.fa-square-half { - --fa: "\e792"; -} - -.fa-square-half-stroke { - --fa: "\e793"; -} - -.fa-box-arrow-down { - --fa: "\e794"; -} - -.fa-box-arrow-down-arrow-up { - --fa: "\e795"; -} - -.fa-box-arrow-down-magnifying-glass { - --fa: "\e796"; -} - -.fa-box-isometric { - --fa: "\e797"; -} - -.fa-box-isometric-tape { - --fa: "\e798"; -} - -.fa-qrcode-read { - --fa: "\e799"; -} - -.fa-shop-24 { - --fa: "\e79a"; -} - -.fa-store-24 { - --fa: "\e79b"; -} - -.fa-face-shaking { - --fa: "\e79c"; -} - -.fa-face-shaking-horizontal { - --fa: "\e79d"; -} - -.fa-face-shaking-vertical { - --fa: "\e79e"; -} - -.fa-circle-user-circle-check { - --fa: "\e79f"; -} - -.fa-circle-user-circle-exclamation { - --fa: "\e7a0"; -} - -.fa-circle-user-circle-minus { - --fa: "\e7a1"; -} - -.fa-circle-user-circle-moon { - --fa: "\e7a2"; -} - -.fa-circle-user-circle-plus { - --fa: "\e7a3"; -} - -.fa-circle-user-circle-question { - --fa: "\e7a4"; -} - -.fa-circle-user-circle-user { - --fa: "\e7a5"; -} - -.fa-circle-user-circle-xmark { - --fa: "\e7a6"; -} - -.fa-circle-user-clock { - --fa: "\e7a7"; -} - -.fa-user-beard { - --fa: "\e7a8"; -} - -.fa-user-chef-hair-long { - --fa: "\e7a9"; -} - -.fa-user-circle-minus { - --fa: "\e7aa"; -} - -.fa-user-circle-plus { - --fa: "\e7ab"; -} - -.fa-user-dashed { - --fa: "\e7ac"; -} - -.fa-user-doctor-hair-mullet { - --fa: "\e7ad"; -} - -.fa-user-hat-tie { - --fa: "\e7ae"; -} - -.fa-user-hat-tie-magnifying-glass { - --fa: "\e7af"; -} - -.fa-user-key { - --fa: "\e7b0"; -} - -.fa-user-message { - --fa: "\e7b1"; -} - -.fa-user-microphone { - --fa: "\e7b2"; -} - -.fa-user-pilot-hair-long { - --fa: "\e7b3"; -} - -.fa-user-pilot-tie-hair-long { - --fa: "\e7b4"; -} - -.fa-user-police-hair-long { - --fa: "\e7b5"; -} - -.fa-user-police-tie-hair-long { - --fa: "\e7b6"; -} - -.fa-user-question { - --fa: "\e7b7"; -} - -.fa-user-sith { - --fa: "\e7b8"; -} - -.fa-user-tie-hair-mullet { - --fa: "\e7b9"; -} - -.fa-user-vneck-hair-mullet { - --fa: "\e7ba"; -} - -.fa-plane-flying { - --fa: "\e7bb"; -} - -.fa-plane-landing-gear { - --fa: "\e7bc"; -} - -.fa-rocket-vertical { - --fa: "\e7bd"; -} - -.fa-seat-airline-window { - --fa: "\e7be"; -} - -.fa-shuttle-space-vertical { - --fa: "\e7bf"; -} - -.fa-car-key { - --fa: "\e7c0"; -} - -.fa-car-siren { - --fa: "\e7c1"; -} - -.fa-car-siren-on { - --fa: "\e7c2"; -} - -.fa-scooter { - --fa: "\e7c3"; -} - -.fa-snowmobile-blank { - --fa: "\e7c4"; -} - -.fa-stair-car { - --fa: "\e7c5"; -} - -.fa-truck-suv { - --fa: "\e7c6"; -} - -.fa-unicycle { - --fa: "\e7c7"; -} - -.fa-van { - --fa: "\e7c8"; -} - -.fa-moon-star { - --fa: "\e7c9"; -} - -.fa-rainbow-half { - --fa: "\e7ca"; -} - -.fa-temperature-slash { - --fa: "\e7cb"; -} - -.fa-dialpad { - --fa: "\e7cc"; -} - -.fa-computer-mouse-button-left { - --fa: "\e7cd"; -} - -.fa-computer-mouse-button-right { - --fa: "\e7ce"; -} - -.fa-dot { - --fa: "\e7d1"; -} - -.fa-folder-arrow-left { - --fa: "\e7d2"; -} - -.fa-folder-arrow-right { - --fa: "\e7d3"; -} - -.fa-wireless { - --fa: "\e7df"; -} - -.fa-circle-moon { - --fa: "\e7e0"; -} - -.fa-person-meditating { - --fa: "\e7e1"; -} - -.fa-baseball-bat { - --fa: "\e7e5"; -} - -.fa-hockey-stick { - --fa: "\e7e6"; -} - -.fa-arrow-u-turn-down-left { - --fa: "\e7e7"; -} - -.fa-arrow-u-turn-down-right { - --fa: "\e7e8"; -} - -.fa-arrow-u-turn-left-down { - --fa: "\e7e9"; -} - -.fa-arrow-u-turn-left-up { - --fa: "\e7ea"; -} - -.fa-arrow-u-turn-right-down { - --fa: "\e7eb"; -} - -.fa-arrow-u-turn-right-up { - --fa: "\e7ec"; -} - -.fa-arrow-u-turn-up-left { - --fa: "\e7ed"; -} - -.fa-arrow-u-turn-up-right { - --fa: "\e7ee"; -} - -.fa-u-turn-down-left { - --fa: "\e7ef"; -} - -.fa-u-turn-down-right { - --fa: "\e7f0"; -} - -.fa-u-turn-left-down { - --fa: "\e7f1"; -} - -.fa-u-turn { - --fa: "\e7f1"; -} - -.fa-u-turn-left-up { - --fa: "\e7f2"; -} - -.fa-u-turn-right-down { - --fa: "\e7f3"; -} - -.fa-u-turn-right-up { - --fa: "\e7f4"; -} - -.fa-u-turn-up-left { - --fa: "\e7f5"; -} - -.fa-u-turn-up-right { - --fa: "\e7f6"; -} - -.fa-triple-chevrons-down { - --fa: "\e7f7"; -} - -.fa-triple-chevrons-left { - --fa: "\e7f8"; -} - -.fa-triple-chevrons-right { - --fa: "\e7f9"; -} - -.fa-triple-chevrons-up { - --fa: "\e7fa"; -} - -.fa-file-aiff { - --fa: "\e7fb"; -} - -.fa-file-odf { - --fa: "\e7fc"; -} - -.fa-file-tex { - --fa: "\e7fd"; -} - -.fa-file-wav { - --fa: "\e7fe"; -} - -.fa-droplet-plus { - --fa: "\e800"; -} - -.fa-hand-holding-star { - --fa: "\e801"; -} - -.fa-transmission { - --fa: "\e802"; -} - -.fa-alarm-minus { - --fa: "\e803"; -} - -.fa-file-brackets-curly { - --fa: "\e804"; -} - -.fa-file-midi { - --fa: "\e805"; -} - -.fa-midi { - --fa: "\e806"; -} - -.fa-non-binary { - --fa: "\e807"; -} - -.fa-rectangle-beta { - --fa: "\e808"; -} - -.fa-shield-user { - --fa: "\e809"; -} - -.fa-spiral { - --fa: "\e80a"; -} - -.fa-picture-in-picture { - --fa: "\e80b"; -} - -.fa-circle-half-horizontal { - --fa: "\e80c"; -} - -.fa-circle-half-stroke-horizontal { - --fa: "\e80d"; -} - -.fa-square-half-horizontal { - --fa: "\e80e"; -} - -.fa-square-half-stroke-horizontal { - --fa: "\e80f"; -} - -.fa-ship-large { - --fa: "\e810"; -} - -.fa-butterfly { - --fa: "\e811"; -} - -.fa-mobile-rotate { - --fa: "\e813"; -} - -.fa-mobile-rotate-reverse { - --fa: "\e814"; -} - -.fa-mobile-slash { - --fa: "\e815"; -} - -.fa-mobile-vibrate { - --fa: "\e816"; -} - -.fa-mobile-vibrate-slash { - --fa: "\e817"; -} - -.fa-almost-equal-to { - --fa: "\e818"; -} - -.fa-sneaker-running { - --fa: "\e819"; -} - -.fa-horseshoe { - --fa: "\e81a"; -} - -.fa-single-quote-left { - --fa: "\e81b"; -} - -.fa-single-quote-right { - --fa: "\e81c"; -} - -.fa-bus-side { - --fa: "\e81d"; -} - -.fa-bus-stop { - --fa: "\e81e"; -} - -.fa-train-stop { - --fa: "\e81f"; -} - -.fa-septagon { - --fa: "\e820"; -} - -.fa-heptagon { - --fa: "\e820"; -} - -.fa-mailbox-open-empty { - --fa: "\e821"; -} - -.fa-mailbox-open-letter { - --fa: "\e823"; -} - -.fa-lychee { - --fa: "\e824"; -} - -.fa-tank-recovery { - --fa: "\e825"; -} - -.fa-transducer { - --fa: "\e826"; -} - -.fa-box-arrow-up { - --fa: "\e827"; -} - -.fa-box-magnifying-glass { - --fa: "\e828"; -} - -.fa-envelope-ribbon { - --fa: "\e829"; -} - -.fa-envelope-certificate { - --fa: "\e829"; -} - -.fa-water-temperature { - --fa: "\e82a"; -} - -.fa-water-temp { - --fa: "\e82a"; -} - -.fa-aeropress { - --fa: "\e82b"; -} - -.fa-caret-large-down { - --fa: "\e82c"; -} - -.fa-caret-large-left { - --fa: "\e82d"; -} - -.fa-caret-large-right { - --fa: "\e82e"; -} - -.fa-caret-large-up { - --fa: "\e82f"; -} - -.fa-chemex { - --fa: "\e830"; -} - -.fa-hand-shaka { - --fa: "\e831"; -} - -.fa-kettlebell { - --fa: "\e832"; -} - -.fa-foot-wing { - --fa: "\e834"; -} - -.fa-pump-impeller { - --fa: "\e835"; -} - -.fa-arrow-rotate-left-10 { - --fa: "\e836"; -} - -.fa-arrow-rotate-right-10 { - --fa: "\e837"; -} - -.fa-martini-glass-empty { - --fa: "\f000"; -} - -.fa-glass-martini { - --fa: "\f000"; -} - -.fa-music { - --fa: "\f001"; -} - -.fa-magnifying-glass { - --fa: "\f002"; -} - -.fa-search { - --fa: "\f002"; -} - -.fa-heart { - --fa: "\f004"; -} - -.fa-star { - --fa: "\f005"; -} - -.fa-user { - --fa: "\f007"; -} - -.fa-user-alt { - --fa: "\f007"; -} - -.fa-user-large { - --fa: "\f007"; -} - -.fa-film { - --fa: "\f008"; -} - -.fa-film-alt { - --fa: "\f008"; -} - -.fa-film-simple { - --fa: "\f008"; -} - -.fa-table-cells-large { - --fa: "\f009"; -} - -.fa-th-large { - --fa: "\f009"; -} - -.fa-table-cells { - --fa: "\f00a"; -} - -.fa-th { - --fa: "\f00a"; -} - -.fa-table-list { - --fa: "\f00b"; -} - -.fa-th-list { - --fa: "\f00b"; -} - -.fa-check { - --fa: "\f00c"; -} - -.fa-xmark { - --fa: "\f00d"; -} - -.fa-close { - --fa: "\f00d"; -} - -.fa-multiply { - --fa: "\f00d"; -} - -.fa-remove { - --fa: "\f00d"; -} - -.fa-times { - --fa: "\f00d"; -} - -.fa-magnifying-glass-plus { - --fa: "\f00e"; -} - -.fa-search-plus { - --fa: "\f00e"; -} - -.fa-magnifying-glass-minus { - --fa: "\f010"; -} - -.fa-search-minus { - --fa: "\f010"; -} - -.fa-power-off { - --fa: "\f011"; -} - -.fa-signal { - --fa: "\f012"; -} - -.fa-signal-5 { - --fa: "\f012"; -} - -.fa-signal-perfect { - --fa: "\f012"; -} - -.fa-gear { - --fa: "\f013"; -} - -.fa-cog { - --fa: "\f013"; -} - -.fa-house { - --fa: "\f015"; -} - -.fa-home { - --fa: "\f015"; -} - -.fa-home-alt { - --fa: "\f015"; -} - -.fa-home-lg-alt { - --fa: "\f015"; -} - -.fa-clock { - --fa: "\f017"; -} - -.fa-clock-four { - --fa: "\f017"; -} - -.fa-road { - --fa: "\f018"; -} - -.fa-download { - --fa: "\f019"; -} - -.fa-inbox { - --fa: "\f01c"; -} - -.fa-arrow-rotate-right { - --fa: "\f01e"; -} - -.fa-arrow-right-rotate { - --fa: "\f01e"; -} - -.fa-arrow-rotate-forward { - --fa: "\f01e"; -} - -.fa-redo { - --fa: "\f01e"; -} - -.fa-arrows-rotate { - --fa: "\f021"; -} - -.fa-refresh { - --fa: "\f021"; -} - -.fa-sync { - --fa: "\f021"; -} - -.fa-rectangle-list { - --fa: "\f022"; -} - -.fa-list-alt { - --fa: "\f022"; -} - -.fa-lock { - --fa: "\f023"; -} - -.fa-flag { - --fa: "\f024"; -} - -.fa-headphones { - --fa: "\f025"; -} - -.fa-headphones-alt { - --fa: "\f025"; -} - -.fa-headphones-simple { - --fa: "\f025"; -} - -.fa-volume-off { - --fa: "\f026"; -} - -.fa-volume-low { - --fa: "\f027"; -} - -.fa-volume-down { - --fa: "\f027"; -} - -.fa-volume-high { - --fa: "\f028"; -} - -.fa-volume-up { - --fa: "\f028"; -} - -.fa-qrcode { - --fa: "\f029"; -} - -.fa-barcode { - --fa: "\f02a"; -} - -.fa-tag { - --fa: "\f02b"; -} - -.fa-tags { - --fa: "\f02c"; -} - -.fa-book { - --fa: "\f02d"; -} - -.fa-bookmark { - --fa: "\f02e"; -} - -.fa-print { - --fa: "\f02f"; -} - -.fa-camera { - --fa: "\f030"; -} - -.fa-camera-alt { - --fa: "\f030"; -} - -.fa-font { - --fa: "\f031"; -} - -.fa-bold { - --fa: "\f032"; -} - -.fa-italic { - --fa: "\f033"; -} - -.fa-text-height { - --fa: "\f034"; -} - -.fa-text-width { - --fa: "\f035"; -} - -.fa-align-left { - --fa: "\f036"; -} - -.fa-align-center { - --fa: "\f037"; -} - -.fa-align-right { - --fa: "\f038"; -} - -.fa-align-justify { - --fa: "\f039"; -} - -.fa-list { - --fa: "\f03a"; -} - -.fa-list-squares { - --fa: "\f03a"; -} - -.fa-outdent { - --fa: "\f03b"; -} - -.fa-dedent { - --fa: "\f03b"; -} - -.fa-indent { - --fa: "\f03c"; -} - -.fa-video { - --fa: "\f03d"; -} - -.fa-video-camera { - --fa: "\f03d"; -} - -.fa-image { - --fa: "\f03e"; -} - -.fa-location-pin { - --fa: "\f041"; -} - -.fa-map-marker { - --fa: "\f041"; -} - -.fa-circle-half-stroke { - --fa: "\f042"; -} - -.fa-adjust { - --fa: "\f042"; -} - -.fa-droplet { - --fa: "\f043"; -} - -.fa-tint { - --fa: "\f043"; -} - -.fa-pen-to-square { - --fa: "\f044"; -} - -.fa-edit { - --fa: "\f044"; -} - -.fa-arrows-up-down-left-right { - --fa: "\f047"; -} - -.fa-arrows { - --fa: "\f047"; -} - -.fa-backward-step { - --fa: "\f048"; -} - -.fa-step-backward { - --fa: "\f048"; -} - -.fa-backward-fast { - --fa: "\f049"; -} - -.fa-fast-backward { - --fa: "\f049"; -} - -.fa-backward { - --fa: "\f04a"; -} - -.fa-play { - --fa: "\f04b"; -} - -.fa-pause { - --fa: "\f04c"; -} - -.fa-stop { - --fa: "\f04d"; -} - -.fa-forward { - --fa: "\f04e"; -} - -.fa-forward-fast { - --fa: "\f050"; -} - -.fa-fast-forward { - --fa: "\f050"; -} - -.fa-forward-step { - --fa: "\f051"; -} - -.fa-step-forward { - --fa: "\f051"; -} - -.fa-eject { - --fa: "\f052"; -} - -.fa-chevron-left { - --fa: "\f053"; -} - -.fa-chevron-right { - --fa: "\f054"; -} - -.fa-circle-plus { - --fa: "\f055"; -} - -.fa-plus-circle { - --fa: "\f055"; -} - -.fa-circle-minus { - --fa: "\f056"; -} - -.fa-minus-circle { - --fa: "\f056"; -} - -.fa-circle-xmark { - --fa: "\f057"; -} - -.fa-times-circle { - --fa: "\f057"; -} - -.fa-xmark-circle { - --fa: "\f057"; -} - -.fa-circle-check { - --fa: "\f058"; -} - -.fa-check-circle { - --fa: "\f058"; -} - -.fa-circle-question { - --fa: "\f059"; -} - -.fa-question-circle { - --fa: "\f059"; -} - -.fa-circle-info { - --fa: "\f05a"; -} - -.fa-info-circle { - --fa: "\f05a"; -} - -.fa-crosshairs { - --fa: "\f05b"; -} - -.fa-ban { - --fa: "\f05e"; -} - -.fa-cancel { - --fa: "\f05e"; -} - -.fa-arrow-left { - --fa: "\f060"; -} - -.fa-arrow-right { - --fa: "\f061"; -} - -.fa-arrow-up { - --fa: "\f062"; -} - -.fa-arrow-down { - --fa: "\f063"; -} - -.fa-share { - --fa: "\f064"; -} - -.fa-mail-forward { - --fa: "\f064"; -} - -.fa-expand { - --fa: "\f065"; -} - -.fa-compress { - --fa: "\f066"; -} - -.fa-minus { - --fa: "\f068"; -} - -.fa-subtract { - --fa: "\f068"; -} - -.fa-circle-exclamation { - --fa: "\f06a"; -} - -.fa-exclamation-circle { - --fa: "\f06a"; -} - -.fa-gift { - --fa: "\f06b"; -} - -.fa-leaf { - --fa: "\f06c"; -} - -.fa-fire { - --fa: "\f06d"; -} - -.fa-eye { - --fa: "\f06e"; -} - -.fa-eye-slash { - --fa: "\f070"; -} - -.fa-triangle-exclamation { - --fa: "\f071"; -} - -.fa-exclamation-triangle { - --fa: "\f071"; -} - -.fa-warning { - --fa: "\f071"; -} - -.fa-plane { - --fa: "\f072"; -} - -.fa-calendar-days { - --fa: "\f073"; -} - -.fa-calendar-alt { - --fa: "\f073"; -} - -.fa-shuffle { - --fa: "\f074"; -} - -.fa-random { - --fa: "\f074"; -} - -.fa-comment { - --fa: "\f075"; -} - -.fa-magnet { - --fa: "\f076"; -} - -.fa-chevron-up { - --fa: "\f077"; -} - -.fa-chevron-down { - --fa: "\f078"; -} - -.fa-retweet { - --fa: "\f079"; -} - -.fa-cart-shopping { - --fa: "\f07a"; -} - -.fa-shopping-cart { - --fa: "\f07a"; -} - -.fa-folder { - --fa: "\f07b"; -} - -.fa-folder-blank { - --fa: "\f07b"; -} - -.fa-folder-open { - --fa: "\f07c"; -} - -.fa-arrows-up-down { - --fa: "\f07d"; -} - -.fa-arrows-v { - --fa: "\f07d"; -} - -.fa-arrows-left-right { - --fa: "\f07e"; -} - -.fa-arrows-h { - --fa: "\f07e"; -} - -.fa-chart-bar { - --fa: "\f080"; -} - -.fa-bar-chart { - --fa: "\f080"; -} - -.fa-camera-retro { - --fa: "\f083"; -} - -.fa-key { - --fa: "\f084"; -} - -.fa-gears { - --fa: "\f085"; -} - -.fa-cogs { - --fa: "\f085"; -} - -.fa-comments { - --fa: "\f086"; -} - -.fa-star-half { - --fa: "\f089"; -} - -.fa-arrow-right-from-bracket { - --fa: "\f08b"; -} - -.fa-sign-out { - --fa: "\f08b"; -} - -.fa-thumbtack { - --fa: "\f08d"; -} - -.fa-thumb-tack { - --fa: "\f08d"; -} - -.fa-arrow-up-right-from-square { - --fa: "\f08e"; -} - -.fa-external-link { - --fa: "\f08e"; -} - -.fa-arrow-right-to-bracket { - --fa: "\f090"; -} - -.fa-sign-in { - --fa: "\f090"; -} - -.fa-trophy { - --fa: "\f091"; -} - -.fa-upload { - --fa: "\f093"; -} - -.fa-lemon { - --fa: "\f094"; -} - -.fa-phone { - --fa: "\f095"; -} - -.fa-square-phone { - --fa: "\f098"; -} - -.fa-phone-square { - --fa: "\f098"; -} - -.fa-unlock { - --fa: "\f09c"; -} - -.fa-credit-card { - --fa: "\f09d"; -} - -.fa-credit-card-alt { - --fa: "\f09d"; -} - -.fa-rss { - --fa: "\f09e"; -} - -.fa-feed { - --fa: "\f09e"; -} - -.fa-hard-drive { - --fa: "\f0a0"; -} - -.fa-hdd { - --fa: "\f0a0"; -} - -.fa-bullhorn { - --fa: "\f0a1"; -} - -.fa-certificate { - --fa: "\f0a3"; -} - -.fa-hand-point-right { - --fa: "\f0a4"; -} - -.fa-hand-point-left { - --fa: "\f0a5"; -} - -.fa-hand-point-up { - --fa: "\f0a6"; -} - -.fa-hand-point-down { - --fa: "\f0a7"; -} - -.fa-circle-arrow-left { - --fa: "\f0a8"; -} - -.fa-arrow-circle-left { - --fa: "\f0a8"; -} - -.fa-circle-arrow-right { - --fa: "\f0a9"; -} - -.fa-arrow-circle-right { - --fa: "\f0a9"; -} - -.fa-circle-arrow-up { - --fa: "\f0aa"; -} - -.fa-arrow-circle-up { - --fa: "\f0aa"; -} - -.fa-circle-arrow-down { - --fa: "\f0ab"; -} - -.fa-arrow-circle-down { - --fa: "\f0ab"; -} - -.fa-globe { - --fa: "\f0ac"; -} - -.fa-wrench { - --fa: "\f0ad"; -} - -.fa-list-check { - --fa: "\f0ae"; -} - -.fa-tasks { - --fa: "\f0ae"; -} - -.fa-filter { - --fa: "\f0b0"; -} - -.fa-briefcase { - --fa: "\f0b1"; -} - -.fa-up-down-left-right { - --fa: "\f0b2"; -} - -.fa-arrows-alt { - --fa: "\f0b2"; -} - -.fa-users { - --fa: "\f0c0"; -} - -.fa-link { - --fa: "\f0c1"; -} - -.fa-chain { - --fa: "\f0c1"; -} - -.fa-cloud { - --fa: "\f0c2"; -} - -.fa-flask { - --fa: "\f0c3"; -} - -.fa-scissors { - --fa: "\f0c4"; -} - -.fa-cut { - --fa: "\f0c4"; -} - -.fa-copy { - --fa: "\f0c5"; -} - -.fa-paperclip { - --fa: "\f0c6"; -} - -.fa-floppy-disk { - --fa: "\f0c7"; -} - -.fa-save { - --fa: "\f0c7"; -} - -.fa-square { - --fa: "\f0c8"; -} - -.fa-bars { - --fa: "\f0c9"; -} - -.fa-navicon { - --fa: "\f0c9"; -} - -.fa-list-ul { - --fa: "\f0ca"; -} - -.fa-list-dots { - --fa: "\f0ca"; -} - -.fa-list-ol { - --fa: "\f0cb"; -} - -.fa-list-1-2 { - --fa: "\f0cb"; -} - -.fa-list-numeric { - --fa: "\f0cb"; -} - -.fa-strikethrough { - --fa: "\f0cc"; -} - -.fa-underline { - --fa: "\f0cd"; -} - -.fa-table { - --fa: "\f0ce"; -} - -.fa-wand-magic { - --fa: "\f0d0"; -} - -.fa-magic { - --fa: "\f0d0"; -} - -.fa-truck { - --fa: "\f0d1"; -} - -.fa-money-bill { - --fa: "\f0d6"; -} - -.fa-caret-down { - --fa: "\f0d7"; -} - -.fa-caret-up { - --fa: "\f0d8"; -} - -.fa-caret-left { - --fa: "\f0d9"; -} - -.fa-caret-right { - --fa: "\f0da"; -} - -.fa-table-columns { - --fa: "\f0db"; -} - -.fa-columns { - --fa: "\f0db"; -} - -.fa-sort { - --fa: "\f0dc"; -} - -.fa-unsorted { - --fa: "\f0dc"; -} - -.fa-sort-down { - --fa: "\f0dd"; -} - -.fa-sort-desc { - --fa: "\f0dd"; -} - -.fa-sort-up { - --fa: "\f0de"; -} - -.fa-sort-asc { - --fa: "\f0de"; -} - -.fa-envelope { - --fa: "\f0e0"; -} - -.fa-arrow-rotate-left { - --fa: "\f0e2"; -} - -.fa-arrow-left-rotate { - --fa: "\f0e2"; -} - -.fa-arrow-rotate-back { - --fa: "\f0e2"; -} - -.fa-arrow-rotate-backward { - --fa: "\f0e2"; -} - -.fa-undo { - --fa: "\f0e2"; -} - -.fa-gavel { - --fa: "\f0e3"; -} - -.fa-legal { - --fa: "\f0e3"; -} - -.fa-bolt { - --fa: "\f0e7"; -} - -.fa-zap { - --fa: "\f0e7"; -} - -.fa-sitemap { - --fa: "\f0e8"; -} - -.fa-umbrella { - --fa: "\f0e9"; -} - -.fa-paste { - --fa: "\f0ea"; -} - -.fa-file-clipboard { - --fa: "\f0ea"; -} - -.fa-lightbulb { - --fa: "\f0eb"; -} - -.fa-arrow-right-arrow-left { - --fa: "\f0ec"; -} - -.fa-exchange { - --fa: "\f0ec"; -} - -.fa-cloud-arrow-down { - --fa: "\f0ed"; -} - -.fa-cloud-download { - --fa: "\f0ed"; -} - -.fa-cloud-download-alt { - --fa: "\f0ed"; -} - -.fa-cloud-arrow-up { - --fa: "\f0ee"; -} - -.fa-cloud-upload { - --fa: "\f0ee"; -} - -.fa-cloud-upload-alt { - --fa: "\f0ee"; -} - -.fa-user-doctor { - --fa: "\f0f0"; -} - -.fa-user-md { - --fa: "\f0f0"; -} - -.fa-stethoscope { - --fa: "\f0f1"; -} - -.fa-suitcase { - --fa: "\f0f2"; -} - -.fa-bell { - --fa: "\f0f3"; -} - -.fa-mug-saucer { - --fa: "\f0f4"; -} - -.fa-coffee { - --fa: "\f0f4"; -} - -.fa-hospital { - --fa: "\f0f8"; -} - -.fa-hospital-alt { - --fa: "\f0f8"; -} - -.fa-hospital-wide { - --fa: "\f0f8"; -} - -.fa-truck-medical { - --fa: "\f0f9"; -} - -.fa-ambulance { - --fa: "\f0f9"; -} - -.fa-suitcase-medical { - --fa: "\f0fa"; -} - -.fa-medkit { - --fa: "\f0fa"; -} - -.fa-jet-fighter { - --fa: "\f0fb"; -} - -.fa-fighter-jet { - --fa: "\f0fb"; -} - -.fa-beer-mug-empty { - --fa: "\f0fc"; -} - -.fa-beer { - --fa: "\f0fc"; -} - -.fa-square-h { - --fa: "\f0fd"; -} - -.fa-h-square { - --fa: "\f0fd"; -} - -.fa-square-plus { - --fa: "\f0fe"; -} - -.fa-plus-square { - --fa: "\f0fe"; -} - -.fa-angles-left { - --fa: "\f100"; -} - -.fa-angle-double-left { - --fa: "\f100"; -} - -.fa-angles-right { - --fa: "\f101"; -} - -.fa-angle-double-right { - --fa: "\f101"; -} - -.fa-angles-up { - --fa: "\f102"; -} - -.fa-angle-double-up { - --fa: "\f102"; -} - -.fa-angles-down { - --fa: "\f103"; -} - -.fa-angle-double-down { - --fa: "\f103"; -} - -.fa-angle-left { - --fa: "\f104"; -} - -.fa-angle-right { - --fa: "\f105"; -} - -.fa-angle-up { - --fa: "\f106"; -} - -.fa-angle-down { - --fa: "\f107"; -} - -.fa-laptop { - --fa: "\f109"; -} - -.fa-tablet-button { - --fa: "\f10a"; -} - -.fa-mobile-button { - --fa: "\f10b"; -} - -.fa-quote-left { - --fa: "\f10d"; -} - -.fa-quote-left-alt { - --fa: "\f10d"; -} - -.fa-quote-right { - --fa: "\f10e"; -} - -.fa-quote-right-alt { - --fa: "\f10e"; -} - -.fa-spinner { - --fa: "\f110"; -} - -.fa-circle { - --fa: "\f111"; -} - -.fa-face-smile { - --fa: "\f118"; -} - -.fa-smile { - --fa: "\f118"; -} - -.fa-face-frown { - --fa: "\f119"; -} - -.fa-frown { - --fa: "\f119"; -} - -.fa-face-meh { - --fa: "\f11a"; -} - -.fa-meh { - --fa: "\f11a"; -} - -.fa-gamepad { - --fa: "\f11b"; -} - -.fa-keyboard { - --fa: "\f11c"; -} - -.fa-flag-checkered { - --fa: "\f11e"; -} - -.fa-terminal { - --fa: "\f120"; -} - -.fa-code { - --fa: "\f121"; -} - -.fa-reply-all { - --fa: "\f122"; -} - -.fa-mail-reply-all { - --fa: "\f122"; -} - -.fa-location-arrow { - --fa: "\f124"; -} - -.fa-crop { - --fa: "\f125"; -} - -.fa-code-branch { - --fa: "\f126"; -} - -.fa-link-slash { - --fa: "\f127"; -} - -.fa-chain-broken { - --fa: "\f127"; -} - -.fa-chain-slash { - --fa: "\f127"; -} - -.fa-unlink { - --fa: "\f127"; -} - -.fa-info { - --fa: "\f129"; -} - -.fa-superscript { - --fa: "\f12b"; -} - -.fa-subscript { - --fa: "\f12c"; -} - -.fa-eraser { - --fa: "\f12d"; -} - -.fa-puzzle-piece { - --fa: "\f12e"; -} - -.fa-microphone { - --fa: "\f130"; -} - -.fa-microphone-slash { - --fa: "\f131"; -} - -.fa-shield { - --fa: "\f132"; -} - -.fa-shield-blank { - --fa: "\f132"; -} - -.fa-calendar { - --fa: "\f133"; -} - -.fa-fire-extinguisher { - --fa: "\f134"; -} - -.fa-rocket { - --fa: "\f135"; -} - -.fa-circle-chevron-left { - --fa: "\f137"; -} - -.fa-chevron-circle-left { - --fa: "\f137"; -} - -.fa-circle-chevron-right { - --fa: "\f138"; -} - -.fa-chevron-circle-right { - --fa: "\f138"; -} - -.fa-circle-chevron-up { - --fa: "\f139"; -} - -.fa-chevron-circle-up { - --fa: "\f139"; -} - -.fa-circle-chevron-down { - --fa: "\f13a"; -} - -.fa-chevron-circle-down { - --fa: "\f13a"; -} - -.fa-anchor { - --fa: "\f13d"; -} - -.fa-unlock-keyhole { - --fa: "\f13e"; -} - -.fa-unlock-alt { - --fa: "\f13e"; -} - -.fa-bullseye { - --fa: "\f140"; -} - -.fa-ellipsis { - --fa: "\f141"; -} - -.fa-ellipsis-h { - --fa: "\f141"; -} - -.fa-ellipsis-vertical { - --fa: "\f142"; -} - -.fa-ellipsis-v { - --fa: "\f142"; -} - -.fa-square-rss { - --fa: "\f143"; -} - -.fa-rss-square { - --fa: "\f143"; -} - -.fa-circle-play { - --fa: "\f144"; -} - -.fa-play-circle { - --fa: "\f144"; -} - -.fa-ticket { - --fa: "\f145"; -} - -.fa-square-minus { - --fa: "\f146"; -} - -.fa-minus-square { - --fa: "\f146"; -} - -.fa-arrow-turn-up { - --fa: "\f148"; -} - -.fa-level-up { - --fa: "\f148"; -} - -.fa-arrow-turn-down { - --fa: "\f149"; -} - -.fa-level-down { - --fa: "\f149"; -} - -.fa-square-check { - --fa: "\f14a"; -} - -.fa-check-square { - --fa: "\f14a"; -} - -.fa-square-pen { - --fa: "\f14b"; -} - -.fa-pen-square { - --fa: "\f14b"; -} - -.fa-pencil-square { - --fa: "\f14b"; -} - -.fa-square-arrow-up-right { - --fa: "\f14c"; -} - -.fa-external-link-square { - --fa: "\f14c"; -} - -.fa-share-from-square { - --fa: "\f14d"; -} - -.fa-share-square { - --fa: "\f14d"; -} - -.fa-compass { - --fa: "\f14e"; -} - -.fa-square-caret-down { - --fa: "\f150"; -} - -.fa-caret-square-down { - --fa: "\f150"; -} - -.fa-square-caret-up { - --fa: "\f151"; -} - -.fa-caret-square-up { - --fa: "\f151"; -} - -.fa-square-caret-right { - --fa: "\f152"; -} - -.fa-caret-square-right { - --fa: "\f152"; -} - -.fa-euro-sign { - --fa: "\f153"; -} - -.fa-eur { - --fa: "\f153"; -} - -.fa-euro { - --fa: "\f153"; -} - -.fa-sterling-sign { - --fa: "\f154"; -} - -.fa-gbp { - --fa: "\f154"; -} - -.fa-pound-sign { - --fa: "\f154"; -} - -.fa-rupee-sign { - --fa: "\f156"; -} - -.fa-rupee { - --fa: "\f156"; -} - -.fa-yen-sign { - --fa: "\f157"; -} - -.fa-cny { - --fa: "\f157"; -} - -.fa-jpy { - --fa: "\f157"; -} - -.fa-rmb { - --fa: "\f157"; -} - -.fa-yen { - --fa: "\f157"; -} - -.fa-ruble-sign { - --fa: "\f158"; -} - -.fa-rouble { - --fa: "\f158"; -} - -.fa-rub { - --fa: "\f158"; -} - -.fa-ruble { - --fa: "\f158"; -} - -.fa-won-sign { - --fa: "\f159"; -} - -.fa-krw { - --fa: "\f159"; -} - -.fa-won { - --fa: "\f159"; -} - -.fa-file { - --fa: "\f15b"; -} - -.fa-file-lines { - --fa: "\f15c"; -} - -.fa-file-alt { - --fa: "\f15c"; -} - -.fa-file-text { - --fa: "\f15c"; -} - -.fa-arrow-down-a-z { - --fa: "\f15d"; -} - -.fa-sort-alpha-asc { - --fa: "\f15d"; -} - -.fa-sort-alpha-down { - --fa: "\f15d"; -} - -.fa-arrow-up-a-z { - --fa: "\f15e"; -} - -.fa-sort-alpha-up { - --fa: "\f15e"; -} - -.fa-arrow-down-wide-short { - --fa: "\f160"; -} - -.fa-sort-amount-asc { - --fa: "\f160"; -} - -.fa-sort-amount-down { - --fa: "\f160"; -} - -.fa-arrow-up-wide-short { - --fa: "\f161"; -} - -.fa-sort-amount-up { - --fa: "\f161"; -} - -.fa-arrow-down-1-9 { - --fa: "\f162"; -} - -.fa-sort-numeric-asc { - --fa: "\f162"; -} - -.fa-sort-numeric-down { - --fa: "\f162"; -} - -.fa-arrow-up-1-9 { - --fa: "\f163"; -} - -.fa-sort-numeric-up { - --fa: "\f163"; -} - -.fa-thumbs-up { - --fa: "\f164"; -} - -.fa-thumbs-down { - --fa: "\f165"; -} - -.fa-arrow-down-long { - --fa: "\f175"; -} - -.fa-long-arrow-down { - --fa: "\f175"; -} - -.fa-arrow-up-long { - --fa: "\f176"; -} - -.fa-long-arrow-up { - --fa: "\f176"; -} - -.fa-arrow-left-long { - --fa: "\f177"; -} - -.fa-long-arrow-left { - --fa: "\f177"; -} - -.fa-arrow-right-long { - --fa: "\f178"; -} - -.fa-long-arrow-right { - --fa: "\f178"; -} - -.fa-person-dress { - --fa: "\f182"; -} - -.fa-female { - --fa: "\f182"; -} - -.fa-person { - --fa: "\f183"; -} - -.fa-male { - --fa: "\f183"; -} - -.fa-sun { - --fa: "\f185"; -} - -.fa-moon { - --fa: "\f186"; -} - -.fa-box-archive { - --fa: "\f187"; -} - -.fa-archive { - --fa: "\f187"; -} - -.fa-bug { - --fa: "\f188"; -} - -.fa-square-caret-left { - --fa: "\f191"; -} - -.fa-caret-square-left { - --fa: "\f191"; -} - -.fa-circle-dot { - --fa: "\f192"; -} - -.fa-dot-circle { - --fa: "\f192"; -} - -.fa-wheelchair { - --fa: "\f193"; -} - -.fa-lira-sign { - --fa: "\f195"; -} - -.fa-shuttle-space { - --fa: "\f197"; -} - -.fa-space-shuttle { - --fa: "\f197"; -} - -.fa-square-envelope { - --fa: "\f199"; -} - -.fa-envelope-square { - --fa: "\f199"; -} - -.fa-building-columns { - --fa: "\f19c"; -} - -.fa-bank { - --fa: "\f19c"; -} - -.fa-institution { - --fa: "\f19c"; -} - -.fa-museum { - --fa: "\f19c"; -} - -.fa-university { - --fa: "\f19c"; -} - -.fa-graduation-cap { - --fa: "\f19d"; -} - -.fa-mortar-board { - --fa: "\f19d"; -} - -.fa-language { - --fa: "\f1ab"; -} - -.fa-fax { - --fa: "\f1ac"; -} - -.fa-building { - --fa: "\f1ad"; -} - -.fa-child { - --fa: "\f1ae"; -} - -.fa-paw { - --fa: "\f1b0"; -} - -.fa-cube { - --fa: "\f1b2"; -} - -.fa-cubes { - --fa: "\f1b3"; -} - -.fa-recycle { - --fa: "\f1b8"; -} - -.fa-car { - --fa: "\f1b9"; -} - -.fa-automobile { - --fa: "\f1b9"; -} - -.fa-taxi { - --fa: "\f1ba"; -} - -.fa-cab { - --fa: "\f1ba"; -} - -.fa-tree { - --fa: "\f1bb"; -} - -.fa-database { - --fa: "\f1c0"; -} - -.fa-file-pdf { - --fa: "\f1c1"; -} - -.fa-file-word { - --fa: "\f1c2"; -} - -.fa-file-excel { - --fa: "\f1c3"; -} - -.fa-file-powerpoint { - --fa: "\f1c4"; -} - -.fa-file-image { - --fa: "\f1c5"; -} - -.fa-file-zipper { - --fa: "\f1c6"; -} - -.fa-file-archive { - --fa: "\f1c6"; -} - -.fa-file-audio { - --fa: "\f1c7"; -} - -.fa-file-video { - --fa: "\f1c8"; -} - -.fa-file-code { - --fa: "\f1c9"; -} - -.fa-life-ring { - --fa: "\f1cd"; -} - -.fa-circle-notch { - --fa: "\f1ce"; -} - -.fa-paper-plane { - --fa: "\f1d8"; -} - -.fa-clock-rotate-left { - --fa: "\f1da"; -} - -.fa-history { - --fa: "\f1da"; -} - -.fa-heading { - --fa: "\f1dc"; -} - -.fa-header { - --fa: "\f1dc"; -} - -.fa-paragraph { - --fa: "\f1dd"; -} - -.fa-sliders { - --fa: "\f1de"; -} - -.fa-sliders-h { - --fa: "\f1de"; -} - -.fa-share-nodes { - --fa: "\f1e0"; -} - -.fa-share-alt { - --fa: "\f1e0"; -} - -.fa-square-share-nodes { - --fa: "\f1e1"; -} - -.fa-share-alt-square { - --fa: "\f1e1"; -} - -.fa-bomb { - --fa: "\f1e2"; -} - -.fa-futbol { - --fa: "\f1e3"; -} - -.fa-futbol-ball { - --fa: "\f1e3"; -} - -.fa-soccer-ball { - --fa: "\f1e3"; -} - -.fa-tty { - --fa: "\f1e4"; -} - -.fa-teletype { - --fa: "\f1e4"; -} - -.fa-binoculars { - --fa: "\f1e5"; -} - -.fa-plug { - --fa: "\f1e6"; -} - -.fa-newspaper { - --fa: "\f1ea"; -} - -.fa-wifi { - --fa: "\f1eb"; -} - -.fa-wifi-3 { - --fa: "\f1eb"; -} - -.fa-wifi-strong { - --fa: "\f1eb"; -} - -.fa-calculator { - --fa: "\f1ec"; -} - -.fa-bell-slash { - --fa: "\f1f6"; -} - -.fa-trash { - --fa: "\f1f8"; -} - -.fa-copyright { - --fa: "\f1f9"; -} - -.fa-eye-dropper { - --fa: "\f1fb"; -} - -.fa-eye-dropper-empty { - --fa: "\f1fb"; -} - -.fa-eyedropper { - --fa: "\f1fb"; -} - -.fa-paintbrush { - --fa: "\f1fc"; -} - -.fa-paint-brush { - --fa: "\f1fc"; -} - -.fa-cake-candles { - --fa: "\f1fd"; -} - -.fa-birthday-cake { - --fa: "\f1fd"; -} - -.fa-cake { - --fa: "\f1fd"; -} - -.fa-chart-area { - --fa: "\f1fe"; -} - -.fa-area-chart { - --fa: "\f1fe"; -} - -.fa-chart-pie { - --fa: "\f200"; -} - -.fa-pie-chart { - --fa: "\f200"; -} - -.fa-chart-line { - --fa: "\f201"; -} - -.fa-line-chart { - --fa: "\f201"; -} - -.fa-toggle-off { - --fa: "\f204"; -} - -.fa-toggle-on { - --fa: "\f205"; -} - -.fa-bicycle { - --fa: "\f206"; -} - -.fa-bus { - --fa: "\f207"; -} - -.fa-closed-captioning { - --fa: "\f20a"; -} - -.fa-shekel-sign { - --fa: "\f20b"; -} - -.fa-ils { - --fa: "\f20b"; -} - -.fa-shekel { - --fa: "\f20b"; -} - -.fa-sheqel { - --fa: "\f20b"; -} - -.fa-sheqel-sign { - --fa: "\f20b"; -} - -.fa-cart-plus { - --fa: "\f217"; -} - -.fa-cart-arrow-down { - --fa: "\f218"; -} - -.fa-diamond { - --fa: "\f219"; -} - -.fa-ship { - --fa: "\f21a"; -} - -.fa-user-secret { - --fa: "\f21b"; -} - -.fa-motorcycle { - --fa: "\f21c"; -} - -.fa-street-view { - --fa: "\f21d"; -} - -.fa-heart-pulse { - --fa: "\f21e"; -} - -.fa-heartbeat { - --fa: "\f21e"; -} - -.fa-venus { - --fa: "\f221"; -} - -.fa-mars { - --fa: "\f222"; -} - -.fa-mercury { - --fa: "\f223"; -} - -.fa-mars-and-venus { - --fa: "\f224"; -} - -.fa-transgender { - --fa: "\f225"; -} - -.fa-transgender-alt { - --fa: "\f225"; -} - -.fa-venus-double { - --fa: "\f226"; -} - -.fa-mars-double { - --fa: "\f227"; -} - -.fa-venus-mars { - --fa: "\f228"; -} - -.fa-mars-stroke { - --fa: "\f229"; -} - -.fa-mars-stroke-up { - --fa: "\f22a"; -} - -.fa-mars-stroke-v { - --fa: "\f22a"; -} - -.fa-mars-stroke-right { - --fa: "\f22b"; -} - -.fa-mars-stroke-h { - --fa: "\f22b"; -} - -.fa-neuter { - --fa: "\f22c"; -} - -.fa-genderless { - --fa: "\f22d"; -} - -.fa-server { - --fa: "\f233"; -} - -.fa-user-plus { - --fa: "\f234"; -} - -.fa-user-xmark { - --fa: "\f235"; -} - -.fa-user-times { - --fa: "\f235"; -} - -.fa-bed { - --fa: "\f236"; -} - -.fa-train { - --fa: "\f238"; -} - -.fa-train-subway { - --fa: "\f239"; -} - -.fa-subway { - --fa: "\f239"; -} - -.fa-battery-full { - --fa: "\f240"; -} - -.fa-battery { - --fa: "\f240"; -} - -.fa-battery-5 { - --fa: "\f240"; -} - -.fa-battery-three-quarters { - --fa: "\f241"; -} - -.fa-battery-4 { - --fa: "\f241"; -} - -.fa-battery-half { - --fa: "\f242"; -} - -.fa-battery-3 { - --fa: "\f242"; -} - -.fa-battery-quarter { - --fa: "\f243"; -} - -.fa-battery-2 { - --fa: "\f243"; -} - -.fa-battery-empty { - --fa: "\f244"; -} - -.fa-battery-0 { - --fa: "\f244"; -} - -.fa-arrow-pointer { - --fa: "\f245"; -} - -.fa-mouse-pointer { - --fa: "\f245"; -} - -.fa-i-cursor { - --fa: "\f246"; -} - -.fa-object-group { - --fa: "\f247"; -} - -.fa-object-ungroup { - --fa: "\f248"; -} - -.fa-note-sticky { - --fa: "\f249"; -} - -.fa-sticky-note { - --fa: "\f249"; -} - -.fa-clone { - --fa: "\f24d"; -} - -.fa-scale-balanced { - --fa: "\f24e"; -} - -.fa-balance-scale { - --fa: "\f24e"; -} - -.fa-hourglass-start { - --fa: "\f251"; -} - -.fa-hourglass-1 { - --fa: "\f251"; -} - -.fa-hourglass-half { - --fa: "\f252"; -} - -.fa-hourglass-2 { - --fa: "\f252"; -} - -.fa-hourglass-end { - --fa: "\f253"; -} - -.fa-hourglass-3 { - --fa: "\f253"; -} - -.fa-hourglass { - --fa: "\f254"; -} - -.fa-hourglass-empty { - --fa: "\f254"; -} - -.fa-hand-back-fist { - --fa: "\f255"; -} - -.fa-hand-rock { - --fa: "\f255"; -} - -.fa-hand { - --fa: "\f256"; -} - -.fa-hand-paper { - --fa: "\f256"; -} - -.fa-hand-scissors { - --fa: "\f257"; -} - -.fa-hand-lizard { - --fa: "\f258"; -} - -.fa-hand-spock { - --fa: "\f259"; -} - -.fa-hand-pointer { - --fa: "\f25a"; -} - -.fa-hand-peace { - --fa: "\f25b"; -} - -.fa-trademark { - --fa: "\f25c"; -} - -.fa-registered { - --fa: "\f25d"; -} - -.fa-tv { - --fa: "\f26c"; -} - -.fa-television { - --fa: "\f26c"; -} - -.fa-tv-alt { - --fa: "\f26c"; -} - -.fa-calendar-plus { - --fa: "\f271"; -} - -.fa-calendar-minus { - --fa: "\f272"; -} - -.fa-calendar-xmark { - --fa: "\f273"; -} - -.fa-calendar-times { - --fa: "\f273"; -} - -.fa-calendar-check { - --fa: "\f274"; -} - -.fa-industry { - --fa: "\f275"; -} - -.fa-map-pin { - --fa: "\f276"; -} - -.fa-signs-post { - --fa: "\f277"; -} - -.fa-map-signs { - --fa: "\f277"; -} - -.fa-map { - --fa: "\f279"; -} - -.fa-message { - --fa: "\f27a"; -} - -.fa-comment-alt { - --fa: "\f27a"; -} - -.fa-circle-pause { - --fa: "\f28b"; -} - -.fa-pause-circle { - --fa: "\f28b"; -} - -.fa-circle-stop { - --fa: "\f28d"; -} - -.fa-stop-circle { - --fa: "\f28d"; -} - -.fa-bag-shopping { - --fa: "\f290"; -} - -.fa-shopping-bag { - --fa: "\f290"; -} - -.fa-basket-shopping { - --fa: "\f291"; -} - -.fa-shopping-basket { - --fa: "\f291"; -} - -.fa-bluetooth { - --fa: "\f293"; -} - -.fa-universal-access { - --fa: "\f29a"; -} - -.fa-person-walking-with-cane { - --fa: "\f29d"; -} - -.fa-blind { - --fa: "\f29d"; -} - -.fa-audio-description { - --fa: "\f29e"; -} - -.fa-phone-volume { - --fa: "\f2a0"; -} - -.fa-volume-control-phone { - --fa: "\f2a0"; -} - -.fa-braille { - --fa: "\f2a1"; -} - -.fa-ear-listen { - --fa: "\f2a2"; -} - -.fa-assistive-listening-systems { - --fa: "\f2a2"; -} - -.fa-hands-asl-interpreting { - --fa: "\f2a3"; -} - -.fa-american-sign-language-interpreting { - --fa: "\f2a3"; -} - -.fa-asl-interpreting { - --fa: "\f2a3"; -} - -.fa-hands-american-sign-language-interpreting { - --fa: "\f2a3"; -} - -.fa-ear-deaf { - --fa: "\f2a4"; -} - -.fa-deaf { - --fa: "\f2a4"; -} - -.fa-deafness { - --fa: "\f2a4"; -} - -.fa-hard-of-hearing { - --fa: "\f2a4"; -} - -.fa-hands { - --fa: "\f2a7"; -} - -.fa-sign-language { - --fa: "\f2a7"; -} - -.fa-signing { - --fa: "\f2a7"; -} - -.fa-eye-low-vision { - --fa: "\f2a8"; -} - -.fa-low-vision { - --fa: "\f2a8"; -} - -.fa-font-awesome { - --fa: "\f2b4"; -} - -.fa-font-awesome-flag { - --fa: "\f2b4"; -} - -.fa-font-awesome-logo-full { - --fa: "\f2b4"; -} - -.fa-handshake { - --fa: "\f2b5"; -} - -.fa-handshake-alt { - --fa: "\f2b5"; -} - -.fa-handshake-simple { - --fa: "\f2b5"; -} - -.fa-envelope-open { - --fa: "\f2b6"; -} - -.fa-address-book { - --fa: "\f2b9"; -} - -.fa-contact-book { - --fa: "\f2b9"; -} - -.fa-address-card { - --fa: "\f2bb"; -} - -.fa-contact-card { - --fa: "\f2bb"; -} - -.fa-vcard { - --fa: "\f2bb"; -} - -.fa-circle-user { - --fa: "\f2bd"; -} - -.fa-user-circle { - --fa: "\f2bd"; -} - -.fa-id-badge { - --fa: "\f2c1"; -} - -.fa-id-card { - --fa: "\f2c2"; -} - -.fa-drivers-license { - --fa: "\f2c2"; -} - -.fa-temperature-full { - --fa: "\f2c7"; -} - -.fa-temperature-4 { - --fa: "\f2c7"; -} - -.fa-thermometer-4 { - --fa: "\f2c7"; -} - -.fa-thermometer-full { - --fa: "\f2c7"; -} - -.fa-temperature-three-quarters { - --fa: "\f2c8"; -} - -.fa-temperature-3 { - --fa: "\f2c8"; -} - -.fa-thermometer-3 { - --fa: "\f2c8"; -} - -.fa-thermometer-three-quarters { - --fa: "\f2c8"; -} - -.fa-temperature-half { - --fa: "\f2c9"; -} - -.fa-temperature-2 { - --fa: "\f2c9"; -} - -.fa-thermometer-2 { - --fa: "\f2c9"; -} - -.fa-thermometer-half { - --fa: "\f2c9"; -} - -.fa-temperature-quarter { - --fa: "\f2ca"; -} - -.fa-temperature-1 { - --fa: "\f2ca"; -} - -.fa-thermometer-1 { - --fa: "\f2ca"; -} - -.fa-thermometer-quarter { - --fa: "\f2ca"; -} - -.fa-temperature-empty { - --fa: "\f2cb"; -} - -.fa-temperature-0 { - --fa: "\f2cb"; -} - -.fa-thermometer-0 { - --fa: "\f2cb"; -} - -.fa-thermometer-empty { - --fa: "\f2cb"; -} - -.fa-shower { - --fa: "\f2cc"; -} - -.fa-bath { - --fa: "\f2cd"; -} - -.fa-bathtub { - --fa: "\f2cd"; -} - -.fa-podcast { - --fa: "\f2ce"; -} - -.fa-window-maximize { - --fa: "\f2d0"; -} - -.fa-window-minimize { - --fa: "\f2d1"; -} - -.fa-window-restore { - --fa: "\f2d2"; -} - -.fa-square-xmark { - --fa: "\f2d3"; -} - -.fa-times-square { - --fa: "\f2d3"; -} - -.fa-xmark-square { - --fa: "\f2d3"; -} - -.fa-microchip { - --fa: "\f2db"; -} - -.fa-snowflake { - --fa: "\f2dc"; -} - -.fa-watch { - --fa: "\f2e1"; -} - -.fa-volume-slash { - --fa: "\f2e2"; -} - -.fa-fork { - --fa: "\f2e3"; -} - -.fa-utensil-fork { - --fa: "\f2e3"; -} - -.fa-knife { - --fa: "\f2e4"; -} - -.fa-utensil-knife { - --fa: "\f2e4"; -} - -.fa-spoon { - --fa: "\f2e5"; -} - -.fa-utensil-spoon { - --fa: "\f2e5"; -} - -.fa-fork-knife { - --fa: "\f2e6"; -} - -.fa-utensils-alt { - --fa: "\f2e6"; -} - -.fa-utensils { - --fa: "\f2e7"; -} - -.fa-cutlery { - --fa: "\f2e7"; -} - -.fa-circle-dollar { - --fa: "\f2e8"; -} - -.fa-dollar-circle { - --fa: "\f2e8"; -} - -.fa-usd-circle { - --fa: "\f2e8"; -} - -.fa-square-dollar { - --fa: "\f2e9"; -} - -.fa-dollar-square { - --fa: "\f2e9"; -} - -.fa-usd-square { - --fa: "\f2e9"; -} - -.fa-rotate-left { - --fa: "\f2ea"; -} - -.fa-rotate-back { - --fa: "\f2ea"; -} - -.fa-rotate-backward { - --fa: "\f2ea"; -} - -.fa-undo-alt { - --fa: "\f2ea"; -} - -.fa-trophy-star { - --fa: "\f2eb"; -} - -.fa-trophy-alt { - --fa: "\f2eb"; -} - -.fa-triangle { - --fa: "\f2ec"; -} - -.fa-trash-can { - --fa: "\f2ed"; -} - -.fa-trash-alt { - --fa: "\f2ed"; -} - -.fa-hexagon-xmark { - --fa: "\f2ee"; -} - -.fa-times-hexagon { - --fa: "\f2ee"; -} - -.fa-xmark-hexagon { - --fa: "\f2ee"; -} - -.fa-octagon-xmark { - --fa: "\f2f0"; -} - -.fa-times-octagon { - --fa: "\f2f0"; -} - -.fa-xmark-octagon { - --fa: "\f2f0"; -} - -.fa-rotate { - --fa: "\f2f1"; -} - -.fa-sync-alt { - --fa: "\f2f1"; -} - -.fa-stopwatch { - --fa: "\f2f2"; -} - -.fa-star-exclamation { - --fa: "\f2f3"; -} - -.fa-spade { - --fa: "\f2f4"; -} - -.fa-right-from-bracket { - --fa: "\f2f5"; -} - -.fa-sign-out-alt { - --fa: "\f2f5"; -} - -.fa-right-to-bracket { - --fa: "\f2f6"; -} - -.fa-sign-in-alt { - --fa: "\f2f6"; -} - -.fa-shield-check { - --fa: "\f2f7"; -} - -.fa-scrubber { - --fa: "\f2f8"; -} - -.fa-rotate-right { - --fa: "\f2f9"; -} - -.fa-redo-alt { - --fa: "\f2f9"; -} - -.fa-rotate-forward { - --fa: "\f2f9"; -} - -.fa-rectangle { - --fa: "\f2fa"; -} - -.fa-rectangle-landscape { - --fa: "\f2fa"; -} - -.fa-rectangle-vertical { - --fa: "\f2fb"; -} - -.fa-rectangle-portrait { - --fa: "\f2fb"; -} - -.fa-rectangle-wide { - --fa: "\f2fc"; -} - -.fa-square-question { - --fa: "\f2fd"; -} - -.fa-question-square { - --fa: "\f2fd"; -} - -.fa-poo { - --fa: "\f2fe"; -} - -.fa-hexagon-plus { - --fa: "\f300"; -} - -.fa-plus-hexagon { - --fa: "\f300"; -} - -.fa-octagon-plus { - --fa: "\f301"; -} - -.fa-plus-octagon { - --fa: "\f301"; -} - -.fa-images { - --fa: "\f302"; -} - -.fa-pencil { - --fa: "\f303"; -} - -.fa-pencil-alt { - --fa: "\f303"; -} - -.fa-pen { - --fa: "\f304"; -} - -.fa-pen-clip { - --fa: "\f305"; -} - -.fa-pen-alt { - --fa: "\f305"; -} - -.fa-octagon { - --fa: "\f306"; -} - -.fa-hexagon-minus { - --fa: "\f307"; -} - -.fa-minus-hexagon { - --fa: "\f307"; -} - -.fa-octagon-minus { - --fa: "\f308"; -} - -.fa-minus-octagon { - --fa: "\f308"; -} - -.fa-down-long { - --fa: "\f309"; -} - -.fa-long-arrow-alt-down { - --fa: "\f309"; -} - -.fa-left-long { - --fa: "\f30a"; -} - -.fa-long-arrow-alt-left { - --fa: "\f30a"; -} - -.fa-right-long { - --fa: "\f30b"; -} - -.fa-long-arrow-alt-right { - --fa: "\f30b"; -} - -.fa-up-long { - --fa: "\f30c"; -} - -.fa-long-arrow-alt-up { - --fa: "\f30c"; -} - -.fa-lock-keyhole { - --fa: "\f30d"; -} - -.fa-lock-alt { - --fa: "\f30d"; -} - -.fa-jack-o-lantern { - --fa: "\f30e"; -} - -.fa-square-info { - --fa: "\f30f"; -} - -.fa-info-square { - --fa: "\f30f"; -} - -.fa-inbox-in { - --fa: "\f310"; -} - -.fa-inbox-arrow-down { - --fa: "\f310"; -} - -.fa-inbox-out { - --fa: "\f311"; -} - -.fa-inbox-arrow-up { - --fa: "\f311"; -} - -.fa-hexagon { - --fa: "\f312"; -} - -.fa-h1 { - --fa: "\f313"; -} - -.fa-h2 { - --fa: "\f314"; -} - -.fa-h3 { - --fa: "\f315"; -} - -.fa-file-check { - --fa: "\f316"; -} - -.fa-file-xmark { - --fa: "\f317"; -} - -.fa-file-times { - --fa: "\f317"; -} - -.fa-file-minus { - --fa: "\f318"; -} - -.fa-file-plus { - --fa: "\f319"; -} - -.fa-file-exclamation { - --fa: "\f31a"; -} - -.fa-file-pen { - --fa: "\f31c"; -} - -.fa-file-edit { - --fa: "\f31c"; -} - -.fa-arrows-maximize { - --fa: "\f31d"; -} - -.fa-expand-arrows { - --fa: "\f31d"; -} - -.fa-maximize { - --fa: "\f31e"; -} - -.fa-expand-arrows-alt { - --fa: "\f31e"; -} - -.fa-expand-wide { - --fa: "\f320"; -} - -.fa-square-exclamation { - --fa: "\f321"; -} - -.fa-exclamation-square { - --fa: "\f321"; -} - -.fa-chevrons-down { - --fa: "\f322"; -} - -.fa-chevron-double-down { - --fa: "\f322"; -} - -.fa-chevrons-left { - --fa: "\f323"; -} - -.fa-chevron-double-left { - --fa: "\f323"; -} - -.fa-chevrons-right { - --fa: "\f324"; -} - -.fa-chevron-double-right { - --fa: "\f324"; -} - -.fa-chevrons-up { - --fa: "\f325"; -} - -.fa-chevron-double-up { - --fa: "\f325"; -} - -.fa-compress-wide { - --fa: "\f326"; -} - -.fa-club { - --fa: "\f327"; -} - -.fa-clipboard { - --fa: "\f328"; -} - -.fa-square-chevron-down { - --fa: "\f329"; -} - -.fa-chevron-square-down { - --fa: "\f329"; -} - -.fa-square-chevron-left { - --fa: "\f32a"; -} - -.fa-chevron-square-left { - --fa: "\f32a"; -} - -.fa-square-chevron-right { - --fa: "\f32b"; -} - -.fa-chevron-square-right { - --fa: "\f32b"; -} - -.fa-square-chevron-up { - --fa: "\f32c"; -} - -.fa-chevron-square-up { - --fa: "\f32c"; -} - -.fa-circle-caret-down { - --fa: "\f32d"; -} - -.fa-caret-circle-down { - --fa: "\f32d"; -} - -.fa-circle-caret-left { - --fa: "\f32e"; -} - -.fa-caret-circle-left { - --fa: "\f32e"; -} - -.fa-circle-caret-right { - --fa: "\f330"; -} - -.fa-caret-circle-right { - --fa: "\f330"; -} - -.fa-circle-caret-up { - --fa: "\f331"; -} - -.fa-caret-circle-up { - --fa: "\f331"; -} - -.fa-calendar-pen { - --fa: "\f333"; -} - -.fa-calendar-edit { - --fa: "\f333"; -} - -.fa-calendar-exclamation { - --fa: "\f334"; -} - -.fa-badge { - --fa: "\f335"; -} - -.fa-badge-check { - --fa: "\f336"; -} - -.fa-left-right { - --fa: "\f337"; -} - -.fa-arrows-alt-h { - --fa: "\f337"; -} - -.fa-up-down { - --fa: "\f338"; -} - -.fa-arrows-alt-v { - --fa: "\f338"; -} - -.fa-square-arrow-down { - --fa: "\f339"; -} - -.fa-arrow-square-down { - --fa: "\f339"; -} - -.fa-square-arrow-left { - --fa: "\f33a"; -} - -.fa-arrow-square-left { - --fa: "\f33a"; -} - -.fa-square-arrow-right { - --fa: "\f33b"; -} - -.fa-arrow-square-right { - --fa: "\f33b"; -} - -.fa-square-arrow-up { - --fa: "\f33c"; -} - -.fa-arrow-square-up { - --fa: "\f33c"; -} - -.fa-arrow-down-to-line { - --fa: "\f33d"; -} - -.fa-arrow-to-bottom { - --fa: "\f33d"; -} - -.fa-arrow-left-to-line { - --fa: "\f33e"; -} - -.fa-arrow-to-left { - --fa: "\f33e"; -} - -.fa-arrow-right-to-line { - --fa: "\f340"; -} - -.fa-arrow-to-right { - --fa: "\f340"; -} - -.fa-arrow-up-to-line { - --fa: "\f341"; -} - -.fa-arrow-to-top { - --fa: "\f341"; -} - -.fa-arrow-up-from-line { - --fa: "\f342"; -} - -.fa-arrow-from-bottom { - --fa: "\f342"; -} - -.fa-arrow-right-from-line { - --fa: "\f343"; -} - -.fa-arrow-from-left { - --fa: "\f343"; -} - -.fa-arrow-left-from-line { - --fa: "\f344"; -} - -.fa-arrow-from-right { - --fa: "\f344"; -} - -.fa-arrow-down-from-line { - --fa: "\f345"; -} - -.fa-arrow-from-top { - --fa: "\f345"; -} - -.fa-up-from-line { - --fa: "\f346"; -} - -.fa-arrow-alt-from-bottom { - --fa: "\f346"; -} - -.fa-right-from-line { - --fa: "\f347"; -} - -.fa-arrow-alt-from-left { - --fa: "\f347"; -} - -.fa-left-from-line { - --fa: "\f348"; -} - -.fa-arrow-alt-from-right { - --fa: "\f348"; -} - -.fa-down-from-line { - --fa: "\f349"; -} - -.fa-arrow-alt-from-top { - --fa: "\f349"; -} - -.fa-down-to-line { - --fa: "\f34a"; -} - -.fa-arrow-alt-to-bottom { - --fa: "\f34a"; -} - -.fa-left-to-line { - --fa: "\f34b"; -} - -.fa-arrow-alt-to-left { - --fa: "\f34b"; -} - -.fa-right-to-line { - --fa: "\f34c"; -} - -.fa-arrow-alt-to-right { - --fa: "\f34c"; -} - -.fa-up-to-line { - --fa: "\f34d"; -} - -.fa-arrow-alt-to-top { - --fa: "\f34d"; -} - -.fa-alarm-clock { - --fa: "\f34e"; -} - -.fa-square-down { - --fa: "\f350"; -} - -.fa-arrow-alt-square-down { - --fa: "\f350"; -} - -.fa-square-left { - --fa: "\f351"; -} - -.fa-arrow-alt-square-left { - --fa: "\f351"; -} - -.fa-square-right { - --fa: "\f352"; -} - -.fa-arrow-alt-square-right { - --fa: "\f352"; -} - -.fa-square-up { - --fa: "\f353"; -} - -.fa-arrow-alt-square-up { - --fa: "\f353"; -} - -.fa-down { - --fa: "\f354"; -} - -.fa-arrow-alt-down { - --fa: "\f354"; -} - -.fa-left { - --fa: "\f355"; -} - -.fa-arrow-alt-left { - --fa: "\f355"; -} - -.fa-right { - --fa: "\f356"; -} - -.fa-arrow-alt-right { - --fa: "\f356"; -} - -.fa-up { - --fa: "\f357"; -} - -.fa-arrow-alt-up { - --fa: "\f357"; -} - -.fa-circle-down { - --fa: "\f358"; -} - -.fa-arrow-alt-circle-down { - --fa: "\f358"; -} - -.fa-circle-left { - --fa: "\f359"; -} - -.fa-arrow-alt-circle-left { - --fa: "\f359"; -} - -.fa-circle-right { - --fa: "\f35a"; -} - -.fa-arrow-alt-circle-right { - --fa: "\f35a"; -} - -.fa-circle-up { - --fa: "\f35b"; -} - -.fa-arrow-alt-circle-up { - --fa: "\f35b"; -} - -.fa-up-right-from-square { - --fa: "\f35d"; -} - -.fa-external-link-alt { - --fa: "\f35d"; -} - -.fa-square-up-right { - --fa: "\f360"; -} - -.fa-external-link-square-alt { - --fa: "\f360"; -} - -.fa-arrows-retweet { - --fa: "\f361"; -} - -.fa-retweet-alt { - --fa: "\f361"; -} - -.fa-right-left { - --fa: "\f362"; -} - -.fa-exchange-alt { - --fa: "\f362"; -} - -.fa-repeat { - --fa: "\f363"; -} - -.fa-arrows-repeat { - --fa: "\f364"; -} - -.fa-repeat-alt { - --fa: "\f364"; -} - -.fa-repeat-1 { - --fa: "\f365"; -} - -.fa-arrows-repeat-1 { - --fa: "\f366"; -} - -.fa-repeat-1-alt { - --fa: "\f366"; -} - -.fa-share-all { - --fa: "\f367"; -} - -.fa-battery-bolt { - --fa: "\f376"; -} - -.fa-battery-slash { - --fa: "\f377"; -} - -.fa-browser { - --fa: "\f37e"; -} - -.fa-code-commit { - --fa: "\f386"; -} - -.fa-code-merge { - --fa: "\f387"; -} - -.fa-credit-card-blank { - --fa: "\f389"; -} - -.fa-credit-card-front { - --fa: "\f38a"; -} - -.fa-desktop { - --fa: "\f390"; -} - -.fa-desktop-alt { - --fa: "\f390"; -} - -.fa-ellipsis-stroke { - --fa: "\f39b"; -} - -.fa-ellipsis-h-alt { - --fa: "\f39b"; -} - -.fa-ellipsis-stroke-vertical { - --fa: "\f39c"; -} - -.fa-ellipsis-v-alt { - --fa: "\f39c"; -} - -.fa-gem { - --fa: "\f3a5"; -} - -.fa-industry-windows { - --fa: "\f3b3"; -} - -.fa-industry-alt { - --fa: "\f3b3"; -} - -.fa-turn-down { - --fa: "\f3be"; -} - -.fa-level-down-alt { - --fa: "\f3be"; -} - -.fa-turn-up { - --fa: "\f3bf"; -} - -.fa-level-up-alt { - --fa: "\f3bf"; -} - -.fa-lock-open { - --fa: "\f3c1"; -} - -.fa-lock-keyhole-open { - --fa: "\f3c2"; -} - -.fa-lock-open-alt { - --fa: "\f3c2"; -} - -.fa-location-dot { - --fa: "\f3c5"; -} - -.fa-map-marker-alt { - --fa: "\f3c5"; -} - -.fa-microphone-lines { - --fa: "\f3c9"; -} - -.fa-microphone-alt { - --fa: "\f3c9"; -} - -.fa-mobile-screen-button { - --fa: "\f3cd"; -} - -.fa-mobile-alt { - --fa: "\f3cd"; -} - -.fa-mobile { - --fa: "\f3ce"; -} - -.fa-mobile-android { - --fa: "\f3ce"; -} - -.fa-mobile-phone { - --fa: "\f3ce"; -} - -.fa-mobile-screen { - --fa: "\f3cf"; -} - -.fa-mobile-android-alt { - --fa: "\f3cf"; -} - -.fa-money-bill-1 { - --fa: "\f3d1"; -} - -.fa-money-bill-alt { - --fa: "\f3d1"; -} - -.fa-phone-slash { - --fa: "\f3dd"; -} - -.fa-plane-engines { - --fa: "\f3de"; -} - -.fa-plane-alt { - --fa: "\f3de"; -} - -.fa-image-portrait { - --fa: "\f3e0"; -} - -.fa-portrait { - --fa: "\f3e0"; -} - -.fa-reply { - --fa: "\f3e5"; -} - -.fa-mail-reply { - --fa: "\f3e5"; -} - -.fa-shield-halved { - --fa: "\f3ed"; -} - -.fa-shield-alt { - --fa: "\f3ed"; -} - -.fa-square-sliders { - --fa: "\f3f0"; -} - -.fa-sliders-h-square { - --fa: "\f3f0"; -} - -.fa-sliders-up { - --fa: "\f3f1"; -} - -.fa-sliders-v { - --fa: "\f3f1"; -} - -.fa-square-sliders-vertical { - --fa: "\f3f2"; -} - -.fa-sliders-v-square { - --fa: "\f3f2"; -} - -.fa-spinner-third { - --fa: "\f3f4"; -} - -.fa-tablet-screen-button { - --fa: "\f3fa"; -} - -.fa-tablet-alt { - --fa: "\f3fa"; -} - -.fa-tablet { - --fa: "\f3fb"; -} - -.fa-tablet-android { - --fa: "\f3fb"; -} - -.fa-tablet-screen { - --fa: "\f3fc"; -} - -.fa-tablet-android-alt { - --fa: "\f3fc"; -} - -.fa-ticket-simple { - --fa: "\f3ff"; -} - -.fa-ticket-alt { - --fa: "\f3ff"; -} - -.fa-tree-deciduous { - --fa: "\f400"; -} - -.fa-tree-alt { - --fa: "\f400"; -} - -.fa-tv-retro { - --fa: "\f401"; -} - -.fa-window { - --fa: "\f40e"; -} - -.fa-window-flip { - --fa: "\f40f"; -} - -.fa-window-alt { - --fa: "\f40f"; -} - -.fa-rectangle-xmark { - --fa: "\f410"; -} - -.fa-rectangle-times { - --fa: "\f410"; -} - -.fa-times-rectangle { - --fa: "\f410"; -} - -.fa-window-close { - --fa: "\f410"; -} - -.fa-down-left-and-up-right-to-center { - --fa: "\f422"; -} - -.fa-compress-alt { - --fa: "\f422"; -} - -.fa-up-right-and-down-left-from-center { - --fa: "\f424"; -} - -.fa-expand-alt { - --fa: "\f424"; -} - -.fa-baseball-bat-ball { - --fa: "\f432"; -} - -.fa-baseball { - --fa: "\f433"; -} - -.fa-baseball-ball { - --fa: "\f433"; -} - -.fa-basketball { - --fa: "\f434"; -} - -.fa-basketball-ball { - --fa: "\f434"; -} - -.fa-basketball-hoop { - --fa: "\f435"; -} - -.fa-bowling-ball { - --fa: "\f436"; -} - -.fa-bowling-pins { - --fa: "\f437"; -} - -.fa-boxing-glove { - --fa: "\f438"; -} - -.fa-glove-boxing { - --fa: "\f438"; -} - -.fa-chess { - --fa: "\f439"; -} - -.fa-chess-bishop { - --fa: "\f43a"; -} - -.fa-chess-bishop-piece { - --fa: "\f43b"; -} - -.fa-chess-bishop-alt { - --fa: "\f43b"; -} - -.fa-chess-board { - --fa: "\f43c"; -} - -.fa-chess-clock { - --fa: "\f43d"; -} - -.fa-chess-clock-flip { - --fa: "\f43e"; -} - -.fa-chess-clock-alt { - --fa: "\f43e"; -} - -.fa-chess-king { - --fa: "\f43f"; -} - -.fa-chess-king-piece { - --fa: "\f440"; -} - -.fa-chess-king-alt { - --fa: "\f440"; -} - -.fa-chess-knight { - --fa: "\f441"; -} - -.fa-chess-knight-piece { - --fa: "\f442"; -} - -.fa-chess-knight-alt { - --fa: "\f442"; -} - -.fa-chess-pawn { - --fa: "\f443"; -} - -.fa-chess-pawn-piece { - --fa: "\f444"; -} - -.fa-chess-pawn-alt { - --fa: "\f444"; -} - -.fa-chess-queen { - --fa: "\f445"; -} - -.fa-chess-queen-piece { - --fa: "\f446"; -} - -.fa-chess-queen-alt { - --fa: "\f446"; -} - -.fa-chess-rook { - --fa: "\f447"; -} - -.fa-chess-rook-piece { - --fa: "\f448"; -} - -.fa-chess-rook-alt { - --fa: "\f448"; -} - -.fa-cricket-bat-ball { - --fa: "\f449"; -} - -.fa-cricket { - --fa: "\f449"; -} - -.fa-curling-stone { - --fa: "\f44a"; -} - -.fa-curling { - --fa: "\f44a"; -} - -.fa-dumbbell { - --fa: "\f44b"; -} - -.fa-field-hockey-stick-ball { - --fa: "\f44c"; -} - -.fa-field-hockey { - --fa: "\f44c"; -} - -.fa-football { - --fa: "\f44e"; -} - -.fa-football-ball { - --fa: "\f44e"; -} - -.fa-football-helmet { - --fa: "\f44f"; -} - -.fa-golf-ball-tee { - --fa: "\f450"; -} - -.fa-golf-ball { - --fa: "\f450"; -} - -.fa-golf-club { - --fa: "\f451"; -} - -.fa-hockey-puck { - --fa: "\f453"; -} - -.fa-hockey-sticks { - --fa: "\f454"; -} - -.fa-luchador-mask { - --fa: "\f455"; -} - -.fa-luchador { - --fa: "\f455"; -} - -.fa-mask-luchador { - --fa: "\f455"; -} - -.fa-flag-pennant { - --fa: "\f456"; -} - -.fa-pennant { - --fa: "\f456"; -} - -.fa-broom-ball { - --fa: "\f458"; -} - -.fa-quidditch { - --fa: "\f458"; -} - -.fa-quidditch-broom-ball { - --fa: "\f458"; -} - -.fa-racquet { - --fa: "\f45a"; -} - -.fa-shuttlecock { - --fa: "\f45b"; -} - -.fa-square-full { - --fa: "\f45c"; -} - -.fa-table-tennis-paddle-ball { - --fa: "\f45d"; -} - -.fa-ping-pong-paddle-ball { - --fa: "\f45d"; -} - -.fa-table-tennis { - --fa: "\f45d"; -} - -.fa-tennis-ball { - --fa: "\f45e"; -} - -.fa-volleyball { - --fa: "\f45f"; -} - -.fa-volleyball-ball { - --fa: "\f45f"; -} - -.fa-whistle { - --fa: "\f460"; -} - -.fa-hand-dots { - --fa: "\f461"; -} - -.fa-allergies { - --fa: "\f461"; -} - -.fa-bandage { - --fa: "\f462"; -} - -.fa-band-aid { - --fa: "\f462"; -} - -.fa-rectangle-barcode { - --fa: "\f463"; -} - -.fa-barcode-alt { - --fa: "\f463"; -} - -.fa-barcode-read { - --fa: "\f464"; -} - -.fa-barcode-scan { - --fa: "\f465"; -} - -.fa-box { - --fa: "\f466"; -} - -.fa-box-check { - --fa: "\f467"; -} - -.fa-boxes-stacked { - --fa: "\f468"; -} - -.fa-boxes { - --fa: "\f468"; -} - -.fa-boxes-alt { - --fa: "\f468"; -} - -.fa-briefcase-medical { - --fa: "\f469"; -} - -.fa-fire-flame-simple { - --fa: "\f46a"; -} - -.fa-burn { - --fa: "\f46a"; -} - -.fa-capsules { - --fa: "\f46b"; -} - -.fa-clipboard-check { - --fa: "\f46c"; -} - -.fa-clipboard-list { - --fa: "\f46d"; -} - -.fa-conveyor-belt { - --fa: "\f46e"; -} - -.fa-conveyor-belt-boxes { - --fa: "\f46f"; -} - -.fa-conveyor-belt-alt { - --fa: "\f46f"; -} - -.fa-person-dots-from-line { - --fa: "\f470"; -} - -.fa-diagnoses { - --fa: "\f470"; -} - -.fa-dna { - --fa: "\f471"; -} - -.fa-dolly { - --fa: "\f472"; -} - -.fa-dolly-box { - --fa: "\f472"; -} - -.fa-dolly-empty { - --fa: "\f473"; -} - -.fa-cart-flatbed { - --fa: "\f474"; -} - -.fa-dolly-flatbed { - --fa: "\f474"; -} - -.fa-cart-flatbed-boxes { - --fa: "\f475"; -} - -.fa-dolly-flatbed-alt { - --fa: "\f475"; -} - -.fa-cart-flatbed-empty { - --fa: "\f476"; -} - -.fa-dolly-flatbed-empty { - --fa: "\f476"; -} - -.fa-file-medical { - --fa: "\f477"; -} - -.fa-file-waveform { - --fa: "\f478"; -} - -.fa-file-medical-alt { - --fa: "\f478"; -} - -.fa-kit-medical { - --fa: "\f479"; -} - -.fa-first-aid { - --fa: "\f479"; -} - -.fa-forklift { - --fa: "\f47a"; -} - -.fa-hand-holding-box { - --fa: "\f47b"; -} - -.fa-hands-holding-diamond { - --fa: "\f47c"; -} - -.fa-hand-receiving { - --fa: "\f47c"; -} - -.fa-circle-h { - --fa: "\f47e"; -} - -.fa-hospital-symbol { - --fa: "\f47e"; -} - -.fa-id-card-clip { - --fa: "\f47f"; -} - -.fa-id-card-alt { - --fa: "\f47f"; -} - -.fa-shelves { - --fa: "\f480"; -} - -.fa-inventory { - --fa: "\f480"; -} - -.fa-notes-medical { - --fa: "\f481"; -} - -.fa-pallet { - --fa: "\f482"; -} - -.fa-pallet-boxes { - --fa: "\f483"; -} - -.fa-palette-boxes { - --fa: "\f483"; -} - -.fa-pallet-alt { - --fa: "\f483"; -} - -.fa-pills { - --fa: "\f484"; -} - -.fa-prescription-bottle { - --fa: "\f485"; -} - -.fa-prescription-bottle-medical { - --fa: "\f486"; -} - -.fa-prescription-bottle-alt { - --fa: "\f486"; -} - -.fa-bed-pulse { - --fa: "\f487"; -} - -.fa-procedures { - --fa: "\f487"; -} - -.fa-scanner-gun { - --fa: "\f488"; -} - -.fa-scanner { - --fa: "\f488"; -} - -.fa-scanner-keyboard { - --fa: "\f489"; -} - -.fa-scanner-touchscreen { - --fa: "\f48a"; -} - -.fa-truck-fast { - --fa: "\f48b"; -} - -.fa-shipping-fast { - --fa: "\f48b"; -} - -.fa-truck-clock { - --fa: "\f48c"; -} - -.fa-shipping-timed { - --fa: "\f48c"; -} - -.fa-smoking { - --fa: "\f48d"; -} - -.fa-syringe { - --fa: "\f48e"; -} - -.fa-tablet-rugged { - --fa: "\f48f"; -} - -.fa-tablets { - --fa: "\f490"; -} - -.fa-thermometer { - --fa: "\f491"; -} - -.fa-vial { - --fa: "\f492"; -} - -.fa-vials { - --fa: "\f493"; -} - -.fa-warehouse { - --fa: "\f494"; -} - -.fa-warehouse-full { - --fa: "\f495"; -} - -.fa-warehouse-alt { - --fa: "\f495"; -} - -.fa-weight-scale { - --fa: "\f496"; -} - -.fa-weight { - --fa: "\f496"; -} - -.fa-x-ray { - --fa: "\f497"; -} - -.fa-blanket { - --fa: "\f498"; -} - -.fa-book-heart { - --fa: "\f499"; -} - -.fa-box-taped { - --fa: "\f49a"; -} - -.fa-box-alt { - --fa: "\f49a"; -} - -.fa-square-fragile { - --fa: "\f49b"; -} - -.fa-box-fragile { - --fa: "\f49b"; -} - -.fa-square-wine-glass-crack { - --fa: "\f49b"; -} - -.fa-box-open-full { - --fa: "\f49c"; -} - -.fa-box-full { - --fa: "\f49c"; -} - -.fa-box-heart { - --fa: "\f49d"; -} - -.fa-box-open { - --fa: "\f49e"; -} - -.fa-square-this-way-up { - --fa: "\f49f"; -} - -.fa-box-up { - --fa: "\f49f"; -} - -.fa-box-dollar { - --fa: "\f4a0"; -} - -.fa-box-usd { - --fa: "\f4a0"; -} - -.fa-message-check { - --fa: "\f4a2"; -} - -.fa-comment-alt-check { - --fa: "\f4a2"; -} - -.fa-message-dots { - --fa: "\f4a3"; -} - -.fa-comment-alt-dots { - --fa: "\f4a3"; -} - -.fa-messaging { - --fa: "\f4a3"; -} - -.fa-message-pen { - --fa: "\f4a4"; -} - -.fa-comment-alt-edit { - --fa: "\f4a4"; -} - -.fa-message-edit { - --fa: "\f4a4"; -} - -.fa-message-exclamation { - --fa: "\f4a5"; -} - -.fa-comment-alt-exclamation { - --fa: "\f4a5"; -} - -.fa-message-lines { - --fa: "\f4a6"; -} - -.fa-comment-alt-lines { - --fa: "\f4a6"; -} - -.fa-message-minus { - --fa: "\f4a7"; -} - -.fa-comment-alt-minus { - --fa: "\f4a7"; -} - -.fa-message-plus { - --fa: "\f4a8"; -} - -.fa-comment-alt-plus { - --fa: "\f4a8"; -} - -.fa-message-slash { - --fa: "\f4a9"; -} - -.fa-comment-alt-slash { - --fa: "\f4a9"; -} - -.fa-message-smile { - --fa: "\f4aa"; -} - -.fa-comment-alt-smile { - --fa: "\f4aa"; -} - -.fa-message-xmark { - --fa: "\f4ab"; -} - -.fa-comment-alt-times { - --fa: "\f4ab"; -} - -.fa-message-times { - --fa: "\f4ab"; -} - -.fa-comment-check { - --fa: "\f4ac"; -} - -.fa-comment-dots { - --fa: "\f4ad"; -} - -.fa-commenting { - --fa: "\f4ad"; -} - -.fa-comment-pen { - --fa: "\f4ae"; -} - -.fa-comment-edit { - --fa: "\f4ae"; -} - -.fa-comment-exclamation { - --fa: "\f4af"; -} - -.fa-comment-lines { - --fa: "\f4b0"; -} - -.fa-comment-minus { - --fa: "\f4b1"; -} - -.fa-comment-plus { - --fa: "\f4b2"; -} - -.fa-comment-slash { - --fa: "\f4b3"; -} - -.fa-comment-smile { - --fa: "\f4b4"; -} - -.fa-comment-xmark { - --fa: "\f4b5"; -} - -.fa-comment-times { - --fa: "\f4b5"; -} - -.fa-messages { - --fa: "\f4b6"; -} - -.fa-comments-alt { - --fa: "\f4b6"; -} - -.fa-container-storage { - --fa: "\f4b7"; -} - -.fa-couch { - --fa: "\f4b8"; -} - -.fa-circle-dollar-to-slot { - --fa: "\f4b9"; -} - -.fa-donate { - --fa: "\f4b9"; -} - -.fa-dove { - --fa: "\f4ba"; -} - -.fa-wine-glass-crack { - --fa: "\f4bb"; -} - -.fa-fragile { - --fa: "\f4bb"; -} - -.fa-hand-heart { - --fa: "\f4bc"; -} - -.fa-hand-holding { - --fa: "\f4bd"; -} - -.fa-hand-holding-heart { - --fa: "\f4be"; -} - -.fa-hand-holding-seedling { - --fa: "\f4bf"; -} - -.fa-hand-holding-dollar { - --fa: "\f4c0"; -} - -.fa-hand-holding-usd { - --fa: "\f4c0"; -} - -.fa-hand-holding-droplet { - --fa: "\f4c1"; -} - -.fa-hand-holding-water { - --fa: "\f4c1"; -} - -.fa-hands-holding { - --fa: "\f4c2"; -} - -.fa-hands-holding-heart { - --fa: "\f4c3"; -} - -.fa-hands-heart { - --fa: "\f4c3"; -} - -.fa-handshake-angle { - --fa: "\f4c4"; -} - -.fa-hands-helping { - --fa: "\f4c4"; -} - -.fa-hands-holding-dollar { - --fa: "\f4c5"; -} - -.fa-hands-usd { - --fa: "\f4c5"; -} - -.fa-circle-heart { - --fa: "\f4c7"; -} - -.fa-heart-circle { - --fa: "\f4c7"; -} - -.fa-square-heart { - --fa: "\f4c8"; -} - -.fa-heart-square { - --fa: "\f4c8"; -} - -.fa-house-heart { - --fa: "\f4c9"; -} - -.fa-home-heart { - --fa: "\f4c9"; -} - -.fa-lamp { - --fa: "\f4ca"; -} - -.fa-leaf-heart { - --fa: "\f4cb"; -} - -.fa-loveseat { - --fa: "\f4cc"; -} - -.fa-couch-small { - --fa: "\f4cc"; -} - -.fa-parachute-box { - --fa: "\f4cd"; -} - -.fa-people-carry-box { - --fa: "\f4ce"; -} - -.fa-people-carry { - --fa: "\f4ce"; -} - -.fa-person-carry-box { - --fa: "\f4cf"; -} - -.fa-person-carry { - --fa: "\f4cf"; -} - -.fa-person-dolly { - --fa: "\f4d0"; -} - -.fa-person-dolly-empty { - --fa: "\f4d1"; -} - -.fa-phone-plus { - --fa: "\f4d2"; -} - -.fa-piggy-bank { - --fa: "\f4d3"; -} - -.fa-ramp-loading { - --fa: "\f4d4"; -} - -.fa-ribbon { - --fa: "\f4d6"; -} - -.fa-route { - --fa: "\f4d7"; -} - -.fa-seedling { - --fa: "\f4d8"; -} - -.fa-sprout { - --fa: "\f4d8"; -} - -.fa-sign-hanging { - --fa: "\f4d9"; -} - -.fa-sign { - --fa: "\f4d9"; -} - -.fa-face-smile-wink { - --fa: "\f4da"; -} - -.fa-smile-wink { - --fa: "\f4da"; -} - -.fa-tape { - --fa: "\f4db"; -} - -.fa-truck-container { - --fa: "\f4dc"; -} - -.fa-truck-ramp-couch { - --fa: "\f4dd"; -} - -.fa-truck-couch { - --fa: "\f4dd"; -} - -.fa-truck-ramp-box { - --fa: "\f4de"; -} - -.fa-truck-loading { - --fa: "\f4de"; -} - -.fa-truck-moving { - --fa: "\f4df"; -} - -.fa-truck-ramp { - --fa: "\f4e0"; -} - -.fa-video-plus { - --fa: "\f4e1"; -} - -.fa-video-slash { - --fa: "\f4e2"; -} - -.fa-wine-glass { - --fa: "\f4e3"; -} - -.fa-user-astronaut { - --fa: "\f4fb"; -} - -.fa-user-check { - --fa: "\f4fc"; -} - -.fa-user-clock { - --fa: "\f4fd"; -} - -.fa-user-gear { - --fa: "\f4fe"; -} - -.fa-user-cog { - --fa: "\f4fe"; -} - -.fa-user-pen { - --fa: "\f4ff"; -} - -.fa-user-edit { - --fa: "\f4ff"; -} - -.fa-user-group { - --fa: "\f500"; -} - -.fa-user-friends { - --fa: "\f500"; -} - -.fa-user-graduate { - --fa: "\f501"; -} - -.fa-user-lock { - --fa: "\f502"; -} - -.fa-user-minus { - --fa: "\f503"; -} - -.fa-user-ninja { - --fa: "\f504"; -} - -.fa-user-shield { - --fa: "\f505"; -} - -.fa-user-slash { - --fa: "\f506"; -} - -.fa-user-alt-slash { - --fa: "\f506"; -} - -.fa-user-large-slash { - --fa: "\f506"; -} - -.fa-user-tag { - --fa: "\f507"; -} - -.fa-user-tie { - --fa: "\f508"; -} - -.fa-users-gear { - --fa: "\f509"; -} - -.fa-users-cog { - --fa: "\f509"; -} - -.fa-scale-unbalanced { - --fa: "\f515"; -} - -.fa-balance-scale-left { - --fa: "\f515"; -} - -.fa-scale-unbalanced-flip { - --fa: "\f516"; -} - -.fa-balance-scale-right { - --fa: "\f516"; -} - -.fa-blender { - --fa: "\f517"; -} - -.fa-book-open { - --fa: "\f518"; -} - -.fa-tower-broadcast { - --fa: "\f519"; -} - -.fa-broadcast-tower { - --fa: "\f519"; -} - -.fa-broom { - --fa: "\f51a"; -} - -.fa-chalkboard { - --fa: "\f51b"; -} - -.fa-blackboard { - --fa: "\f51b"; -} - -.fa-chalkboard-user { - --fa: "\f51c"; -} - -.fa-chalkboard-teacher { - --fa: "\f51c"; -} - -.fa-church { - --fa: "\f51d"; -} - -.fa-coins { - --fa: "\f51e"; -} - -.fa-compact-disc { - --fa: "\f51f"; -} - -.fa-crow { - --fa: "\f520"; -} - -.fa-crown { - --fa: "\f521"; -} - -.fa-dice { - --fa: "\f522"; -} - -.fa-dice-five { - --fa: "\f523"; -} - -.fa-dice-four { - --fa: "\f524"; -} - -.fa-dice-one { - --fa: "\f525"; -} - -.fa-dice-six { - --fa: "\f526"; -} - -.fa-dice-three { - --fa: "\f527"; -} - -.fa-dice-two { - --fa: "\f528"; -} - -.fa-divide { - --fa: "\f529"; -} - -.fa-door-closed { - --fa: "\f52a"; -} - -.fa-door-open { - --fa: "\f52b"; -} - -.fa-feather { - --fa: "\f52d"; -} - -.fa-frog { - --fa: "\f52e"; -} - -.fa-gas-pump { - --fa: "\f52f"; -} - -.fa-glasses { - --fa: "\f530"; -} - -.fa-greater-than-equal { - --fa: "\f532"; -} - -.fa-helicopter { - --fa: "\f533"; -} - -.fa-infinity { - --fa: "\f534"; -} - -.fa-kiwi-bird { - --fa: "\f535"; -} - -.fa-less-than-equal { - --fa: "\f537"; -} - -.fa-memory { - --fa: "\f538"; -} - -.fa-microphone-lines-slash { - --fa: "\f539"; -} - -.fa-microphone-alt-slash { - --fa: "\f539"; -} - -.fa-money-bill-wave { - --fa: "\f53a"; -} - -.fa-money-bill-1-wave { - --fa: "\f53b"; -} - -.fa-money-bill-wave-alt { - --fa: "\f53b"; -} - -.fa-money-check { - --fa: "\f53c"; -} - -.fa-money-check-dollar { - --fa: "\f53d"; -} - -.fa-money-check-alt { - --fa: "\f53d"; -} - -.fa-not-equal { - --fa: "\f53e"; -} - -.fa-palette { - --fa: "\f53f"; -} - -.fa-square-parking { - --fa: "\f540"; -} - -.fa-parking { - --fa: "\f540"; -} - -.fa-diagram-project { - --fa: "\f542"; -} - -.fa-project-diagram { - --fa: "\f542"; -} - -.fa-receipt { - --fa: "\f543"; -} - -.fa-robot { - --fa: "\f544"; -} - -.fa-ruler { - --fa: "\f545"; -} - -.fa-ruler-combined { - --fa: "\f546"; -} - -.fa-ruler-horizontal { - --fa: "\f547"; -} - -.fa-ruler-vertical { - --fa: "\f548"; -} - -.fa-school { - --fa: "\f549"; -} - -.fa-screwdriver { - --fa: "\f54a"; -} - -.fa-shoe-prints { - --fa: "\f54b"; -} - -.fa-skull { - --fa: "\f54c"; -} - -.fa-ban-smoking { - --fa: "\f54d"; -} - -.fa-smoking-ban { - --fa: "\f54d"; -} - -.fa-store { - --fa: "\f54e"; -} - -.fa-shop { - --fa: "\f54f"; -} - -.fa-store-alt { - --fa: "\f54f"; -} - -.fa-bars-staggered { - --fa: "\f550"; -} - -.fa-reorder { - --fa: "\f550"; -} - -.fa-stream { - --fa: "\f550"; -} - -.fa-stroopwafel { - --fa: "\f551"; -} - -.fa-toolbox { - --fa: "\f552"; -} - -.fa-shirt { - --fa: "\f553"; -} - -.fa-t-shirt { - --fa: "\f553"; -} - -.fa-tshirt { - --fa: "\f553"; -} - -.fa-person-walking { - --fa: "\f554"; -} - -.fa-walking { - --fa: "\f554"; -} - -.fa-wallet { - --fa: "\f555"; -} - -.fa-face-angry { - --fa: "\f556"; -} - -.fa-angry { - --fa: "\f556"; -} - -.fa-archway { - --fa: "\f557"; -} - -.fa-book-atlas { - --fa: "\f558"; -} - -.fa-atlas { - --fa: "\f558"; -} - -.fa-award { - --fa: "\f559"; -} - -.fa-delete-left { - --fa: "\f55a"; -} - -.fa-backspace { - --fa: "\f55a"; -} - -.fa-bezier-curve { - --fa: "\f55b"; -} - -.fa-bong { - --fa: "\f55c"; -} - -.fa-brush { - --fa: "\f55d"; -} - -.fa-bus-simple { - --fa: "\f55e"; -} - -.fa-bus-alt { - --fa: "\f55e"; -} - -.fa-cannabis { - --fa: "\f55f"; -} - -.fa-check-double { - --fa: "\f560"; -} - -.fa-martini-glass-citrus { - --fa: "\f561"; -} - -.fa-cocktail { - --fa: "\f561"; -} - -.fa-bell-concierge { - --fa: "\f562"; -} - -.fa-concierge-bell { - --fa: "\f562"; -} - -.fa-cookie { - --fa: "\f563"; -} - -.fa-cookie-bite { - --fa: "\f564"; -} - -.fa-crop-simple { - --fa: "\f565"; -} - -.fa-crop-alt { - --fa: "\f565"; -} - -.fa-tachograph-digital { - --fa: "\f566"; -} - -.fa-digital-tachograph { - --fa: "\f566"; -} - -.fa-face-dizzy { - --fa: "\f567"; -} - -.fa-dizzy { - --fa: "\f567"; -} - -.fa-compass-drafting { - --fa: "\f568"; -} - -.fa-drafting-compass { - --fa: "\f568"; -} - -.fa-drum { - --fa: "\f569"; -} - -.fa-drum-steelpan { - --fa: "\f56a"; -} - -.fa-feather-pointed { - --fa: "\f56b"; -} - -.fa-feather-alt { - --fa: "\f56b"; -} - -.fa-file-contract { - --fa: "\f56c"; -} - -.fa-file-arrow-down { - --fa: "\f56d"; -} - -.fa-file-download { - --fa: "\f56d"; -} - -.fa-file-export { - --fa: "\f56e"; -} - -.fa-arrow-right-from-file { - --fa: "\f56e"; -} - -.fa-file-import { - --fa: "\f56f"; -} - -.fa-arrow-right-to-file { - --fa: "\f56f"; -} - -.fa-file-invoice { - --fa: "\f570"; -} - -.fa-file-invoice-dollar { - --fa: "\f571"; -} - -.fa-file-prescription { - --fa: "\f572"; -} - -.fa-file-signature { - --fa: "\f573"; -} - -.fa-file-arrow-up { - --fa: "\f574"; -} - -.fa-file-upload { - --fa: "\f574"; -} - -.fa-fill { - --fa: "\f575"; -} - -.fa-fill-drip { - --fa: "\f576"; -} - -.fa-fingerprint { - --fa: "\f577"; -} - -.fa-fish { - --fa: "\f578"; -} - -.fa-face-flushed { - --fa: "\f579"; -} - -.fa-flushed { - --fa: "\f579"; -} - -.fa-face-frown-open { - --fa: "\f57a"; -} - -.fa-frown-open { - --fa: "\f57a"; -} - -.fa-martini-glass { - --fa: "\f57b"; -} - -.fa-glass-martini-alt { - --fa: "\f57b"; -} - -.fa-earth-africa { - --fa: "\f57c"; -} - -.fa-globe-africa { - --fa: "\f57c"; -} - -.fa-earth-americas { - --fa: "\f57d"; -} - -.fa-earth { - --fa: "\f57d"; -} - -.fa-earth-america { - --fa: "\f57d"; -} - -.fa-globe-americas { - --fa: "\f57d"; -} - -.fa-earth-asia { - --fa: "\f57e"; -} - -.fa-globe-asia { - --fa: "\f57e"; -} - -.fa-face-grimace { - --fa: "\f57f"; -} - -.fa-grimace { - --fa: "\f57f"; -} - -.fa-face-grin { - --fa: "\f580"; -} - -.fa-grin { - --fa: "\f580"; -} - -.fa-face-grin-wide { - --fa: "\f581"; -} - -.fa-grin-alt { - --fa: "\f581"; -} - -.fa-face-grin-beam { - --fa: "\f582"; -} - -.fa-grin-beam { - --fa: "\f582"; -} - -.fa-face-grin-beam-sweat { - --fa: "\f583"; -} - -.fa-grin-beam-sweat { - --fa: "\f583"; -} - -.fa-face-grin-hearts { - --fa: "\f584"; -} - -.fa-grin-hearts { - --fa: "\f584"; -} - -.fa-face-grin-squint { - --fa: "\f585"; -} - -.fa-grin-squint { - --fa: "\f585"; -} - -.fa-face-grin-squint-tears { - --fa: "\f586"; -} - -.fa-grin-squint-tears { - --fa: "\f586"; -} - -.fa-face-grin-stars { - --fa: "\f587"; -} - -.fa-grin-stars { - --fa: "\f587"; -} - -.fa-face-grin-tears { - --fa: "\f588"; -} - -.fa-grin-tears { - --fa: "\f588"; -} - -.fa-face-grin-tongue { - --fa: "\f589"; -} - -.fa-grin-tongue { - --fa: "\f589"; -} - -.fa-face-grin-tongue-squint { - --fa: "\f58a"; -} - -.fa-grin-tongue-squint { - --fa: "\f58a"; -} - -.fa-face-grin-tongue-wink { - --fa: "\f58b"; -} - -.fa-grin-tongue-wink { - --fa: "\f58b"; -} - -.fa-face-grin-wink { - --fa: "\f58c"; -} - -.fa-grin-wink { - --fa: "\f58c"; -} - -.fa-grip { - --fa: "\f58d"; -} - -.fa-grid-horizontal { - --fa: "\f58d"; -} - -.fa-grip-horizontal { - --fa: "\f58d"; -} - -.fa-grip-vertical { - --fa: "\f58e"; -} - -.fa-grid-vertical { - --fa: "\f58e"; -} - -.fa-headset { - --fa: "\f590"; -} - -.fa-highlighter { - --fa: "\f591"; -} - -.fa-hot-tub-person { - --fa: "\f593"; -} - -.fa-hot-tub { - --fa: "\f593"; -} - -.fa-hotel { - --fa: "\f594"; -} - -.fa-joint { - --fa: "\f595"; -} - -.fa-face-kiss { - --fa: "\f596"; -} - -.fa-kiss { - --fa: "\f596"; -} - -.fa-face-kiss-beam { - --fa: "\f597"; -} - -.fa-kiss-beam { - --fa: "\f597"; -} - -.fa-face-kiss-wink-heart { - --fa: "\f598"; -} - -.fa-kiss-wink-heart { - --fa: "\f598"; -} - -.fa-face-laugh { - --fa: "\f599"; -} - -.fa-laugh { - --fa: "\f599"; -} - -.fa-face-laugh-beam { - --fa: "\f59a"; -} - -.fa-laugh-beam { - --fa: "\f59a"; -} - -.fa-face-laugh-squint { - --fa: "\f59b"; -} - -.fa-laugh-squint { - --fa: "\f59b"; -} - -.fa-face-laugh-wink { - --fa: "\f59c"; -} - -.fa-laugh-wink { - --fa: "\f59c"; -} - -.fa-cart-flatbed-suitcase { - --fa: "\f59d"; -} - -.fa-luggage-cart { - --fa: "\f59d"; -} - -.fa-map-location { - --fa: "\f59f"; -} - -.fa-map-marked { - --fa: "\f59f"; -} - -.fa-map-location-dot { - --fa: "\f5a0"; -} - -.fa-map-marked-alt { - --fa: "\f5a0"; -} - -.fa-marker { - --fa: "\f5a1"; -} - -.fa-medal { - --fa: "\f5a2"; -} - -.fa-face-meh-blank { - --fa: "\f5a4"; -} - -.fa-meh-blank { - --fa: "\f5a4"; -} - -.fa-face-rolling-eyes { - --fa: "\f5a5"; -} - -.fa-meh-rolling-eyes { - --fa: "\f5a5"; -} - -.fa-monument { - --fa: "\f5a6"; -} - -.fa-mortar-pestle { - --fa: "\f5a7"; -} - -.fa-paintbrush-fine { - --fa: "\f5a9"; -} - -.fa-paint-brush-alt { - --fa: "\f5a9"; -} - -.fa-paint-brush-fine { - --fa: "\f5a9"; -} - -.fa-paintbrush-alt { - --fa: "\f5a9"; -} - -.fa-paint-roller { - --fa: "\f5aa"; -} - -.fa-passport { - --fa: "\f5ab"; -} - -.fa-pen-fancy { - --fa: "\f5ac"; -} - -.fa-pen-nib { - --fa: "\f5ad"; -} - -.fa-pen-ruler { - --fa: "\f5ae"; -} - -.fa-pencil-ruler { - --fa: "\f5ae"; -} - -.fa-plane-arrival { - --fa: "\f5af"; -} - -.fa-plane-departure { - --fa: "\f5b0"; -} - -.fa-prescription { - --fa: "\f5b1"; -} - -.fa-face-sad-cry { - --fa: "\f5b3"; -} - -.fa-sad-cry { - --fa: "\f5b3"; -} - -.fa-face-sad-tear { - --fa: "\f5b4"; -} - -.fa-sad-tear { - --fa: "\f5b4"; -} - -.fa-van-shuttle { - --fa: "\f5b6"; -} - -.fa-shuttle-van { - --fa: "\f5b6"; -} - -.fa-signature { - --fa: "\f5b7"; -} - -.fa-face-smile-beam { - --fa: "\f5b8"; -} - -.fa-smile-beam { - --fa: "\f5b8"; -} - -.fa-face-smile-plus { - --fa: "\f5b9"; -} - -.fa-smile-plus { - --fa: "\f5b9"; -} - -.fa-solar-panel { - --fa: "\f5ba"; -} - -.fa-spa { - --fa: "\f5bb"; -} - -.fa-splotch { - --fa: "\f5bc"; -} - -.fa-spray-can { - --fa: "\f5bd"; -} - -.fa-stamp { - --fa: "\f5bf"; -} - -.fa-star-half-stroke { - --fa: "\f5c0"; -} - -.fa-star-half-alt { - --fa: "\f5c0"; -} - -.fa-suitcase-rolling { - --fa: "\f5c1"; -} - -.fa-face-surprise { - --fa: "\f5c2"; -} - -.fa-surprise { - --fa: "\f5c2"; -} - -.fa-swatchbook { - --fa: "\f5c3"; -} - -.fa-person-swimming { - --fa: "\f5c4"; -} - -.fa-swimmer { - --fa: "\f5c4"; -} - -.fa-water-ladder { - --fa: "\f5c5"; -} - -.fa-ladder-water { - --fa: "\f5c5"; -} - -.fa-swimming-pool { - --fa: "\f5c5"; -} - -.fa-droplet-slash { - --fa: "\f5c7"; -} - -.fa-tint-slash { - --fa: "\f5c7"; -} - -.fa-face-tired { - --fa: "\f5c8"; -} - -.fa-tired { - --fa: "\f5c8"; -} - -.fa-tooth { - --fa: "\f5c9"; -} - -.fa-umbrella-beach { - --fa: "\f5ca"; -} - -.fa-weight-hanging { - --fa: "\f5cd"; -} - -.fa-wine-glass-empty { - --fa: "\f5ce"; -} - -.fa-wine-glass-alt { - --fa: "\f5ce"; -} - -.fa-spray-can-sparkles { - --fa: "\f5d0"; -} - -.fa-air-freshener { - --fa: "\f5d0"; -} - -.fa-apple-whole { - --fa: "\f5d1"; -} - -.fa-apple-alt { - --fa: "\f5d1"; -} - -.fa-atom { - --fa: "\f5d2"; -} - -.fa-atom-simple { - --fa: "\f5d3"; -} - -.fa-atom-alt { - --fa: "\f5d3"; -} - -.fa-backpack { - --fa: "\f5d4"; -} - -.fa-bell-school { - --fa: "\f5d5"; -} - -.fa-bell-school-slash { - --fa: "\f5d6"; -} - -.fa-bone { - --fa: "\f5d7"; -} - -.fa-bone-break { - --fa: "\f5d8"; -} - -.fa-book-blank { - --fa: "\f5d9"; -} - -.fa-book-alt { - --fa: "\f5d9"; -} - -.fa-book-open-reader { - --fa: "\f5da"; -} - -.fa-book-reader { - --fa: "\f5da"; -} - -.fa-books { - --fa: "\f5db"; -} - -.fa-brain { - --fa: "\f5dc"; -} - -.fa-bus-school { - --fa: "\f5dd"; -} - -.fa-car-rear { - --fa: "\f5de"; -} - -.fa-car-alt { - --fa: "\f5de"; -} - -.fa-car-battery { - --fa: "\f5df"; -} - -.fa-battery-car { - --fa: "\f5df"; -} - -.fa-car-bump { - --fa: "\f5e0"; -} - -.fa-car-burst { - --fa: "\f5e1"; -} - -.fa-car-crash { - --fa: "\f5e1"; -} - -.fa-car-garage { - --fa: "\f5e2"; -} - -.fa-car-wrench { - --fa: "\f5e3"; -} - -.fa-car-mechanic { - --fa: "\f5e3"; -} - -.fa-car-side { - --fa: "\f5e4"; -} - -.fa-car-tilt { - --fa: "\f5e5"; -} - -.fa-car-wash { - --fa: "\f5e6"; -} - -.fa-charging-station { - --fa: "\f5e7"; -} - -.fa-clipboard-prescription { - --fa: "\f5e8"; -} - -.fa-compass-slash { - --fa: "\f5e9"; -} - -.fa-diploma { - --fa: "\f5ea"; -} - -.fa-scroll-ribbon { - --fa: "\f5ea"; -} - -.fa-diamond-turn-right { - --fa: "\f5eb"; -} - -.fa-directions { - --fa: "\f5eb"; -} - -.fa-do-not-enter { - --fa: "\f5ec"; -} - -.fa-draw-circle { - --fa: "\f5ed"; -} - -.fa-vector-circle { - --fa: "\f5ed"; -} - -.fa-draw-polygon { - --fa: "\f5ee"; -} - -.fa-vector-polygon { - --fa: "\f5ee"; -} - -.fa-draw-square { - --fa: "\f5ef"; -} - -.fa-vector-square { - --fa: "\f5ef"; -} - -.fa-ear { - --fa: "\f5f0"; -} - -.fa-engine-warning { - --fa: "\f5f2"; -} - -.fa-engine-exclamation { - --fa: "\f5f2"; -} - -.fa-file-certificate { - --fa: "\f5f3"; -} - -.fa-file-award { - --fa: "\f5f3"; -} - -.fa-gas-pump-slash { - --fa: "\f5f4"; -} - -.fa-glasses-round { - --fa: "\f5f5"; -} - -.fa-glasses-alt { - --fa: "\f5f5"; -} - -.fa-globe-stand { - --fa: "\f5f6"; -} - -.fa-wave-pulse { - --fa: "\f5f8"; -} - -.fa-heart-rate { - --fa: "\f5f8"; -} - -.fa-inhaler { - --fa: "\f5f9"; -} - -.fa-kidneys { - --fa: "\f5fb"; -} - -.fa-laptop-code { - --fa: "\f5fc"; -} - -.fa-layer-group { - --fa: "\f5fd"; -} - -.fa-layer-minus { - --fa: "\f5fe"; -} - -.fa-layer-group-minus { - --fa: "\f5fe"; -} - -.fa-layer-plus { - --fa: "\f5ff"; -} - -.fa-layer-group-plus { - --fa: "\f5ff"; -} - -.fa-lips { - --fa: "\f600"; -} - -.fa-location-crosshairs { - --fa: "\f601"; -} - -.fa-location { - --fa: "\f601"; -} - -.fa-circle-location-arrow { - --fa: "\f602"; -} - -.fa-location-circle { - --fa: "\f602"; -} - -.fa-location-crosshairs-slash { - --fa: "\f603"; -} - -.fa-location-slash { - --fa: "\f603"; -} - -.fa-lungs { - --fa: "\f604"; -} - -.fa-location-dot-slash { - --fa: "\f605"; -} - -.fa-map-marker-alt-slash { - --fa: "\f605"; -} - -.fa-location-check { - --fa: "\f606"; -} - -.fa-map-marker-check { - --fa: "\f606"; -} - -.fa-location-pen { - --fa: "\f607"; -} - -.fa-map-marker-edit { - --fa: "\f607"; -} - -.fa-location-exclamation { - --fa: "\f608"; -} - -.fa-map-marker-exclamation { - --fa: "\f608"; -} - -.fa-location-minus { - --fa: "\f609"; -} - -.fa-map-marker-minus { - --fa: "\f609"; -} - -.fa-location-plus { - --fa: "\f60a"; -} - -.fa-map-marker-plus { - --fa: "\f60a"; -} - -.fa-location-question { - --fa: "\f60b"; -} - -.fa-map-marker-question { - --fa: "\f60b"; -} - -.fa-location-pin-slash { - --fa: "\f60c"; -} - -.fa-map-marker-slash { - --fa: "\f60c"; -} - -.fa-location-smile { - --fa: "\f60d"; -} - -.fa-map-marker-smile { - --fa: "\f60d"; -} - -.fa-location-xmark { - --fa: "\f60e"; -} - -.fa-map-marker-times { - --fa: "\f60e"; -} - -.fa-map-marker-xmark { - --fa: "\f60e"; -} - -.fa-microscope { - --fa: "\f610"; -} - -.fa-monitor-waveform { - --fa: "\f611"; -} - -.fa-monitor-heart-rate { - --fa: "\f611"; -} - -.fa-oil-can { - --fa: "\f613"; -} - -.fa-oil-temperature { - --fa: "\f614"; -} - -.fa-oil-temp { - --fa: "\f614"; -} - -.fa-circle-parking { - --fa: "\f615"; -} - -.fa-parking-circle { - --fa: "\f615"; -} - -.fa-ban-parking { - --fa: "\f616"; -} - -.fa-parking-circle-slash { - --fa: "\f616"; -} - -.fa-square-parking-slash { - --fa: "\f617"; -} - -.fa-parking-slash { - --fa: "\f617"; -} - -.fa-pen-paintbrush { - --fa: "\f618"; -} - -.fa-pencil-paintbrush { - --fa: "\f618"; -} - -.fa-poop { - --fa: "\f619"; -} - -.fa-route-highway { - --fa: "\f61a"; -} - -.fa-route-interstate { - --fa: "\f61b"; -} - -.fa-ruler-triangle { - --fa: "\f61c"; -} - -.fa-scalpel { - --fa: "\f61d"; -} - -.fa-scalpel-line-dashed { - --fa: "\f61e"; -} - -.fa-scalpel-path { - --fa: "\f61e"; -} - -.fa-shapes { - --fa: "\f61f"; -} - -.fa-triangle-circle-square { - --fa: "\f61f"; -} - -.fa-skeleton { - --fa: "\f620"; -} - -.fa-star-of-life { - --fa: "\f621"; -} - -.fa-steering-wheel { - --fa: "\f622"; -} - -.fa-stomach { - --fa: "\f623"; -} - -.fa-gauge { - --fa: "\f624"; -} - -.fa-dashboard { - --fa: "\f624"; -} - -.fa-gauge-med { - --fa: "\f624"; -} - -.fa-tachometer-alt-average { - --fa: "\f624"; -} - -.fa-gauge-high { - --fa: "\f625"; -} - -.fa-tachometer-alt { - --fa: "\f625"; -} - -.fa-tachometer-alt-fast { - --fa: "\f625"; -} - -.fa-gauge-max { - --fa: "\f626"; -} - -.fa-tachometer-alt-fastest { - --fa: "\f626"; -} - -.fa-gauge-low { - --fa: "\f627"; -} - -.fa-tachometer-alt-slow { - --fa: "\f627"; -} - -.fa-gauge-min { - --fa: "\f628"; -} - -.fa-tachometer-alt-slowest { - --fa: "\f628"; -} - -.fa-gauge-simple { - --fa: "\f629"; -} - -.fa-gauge-simple-med { - --fa: "\f629"; -} - -.fa-tachometer-average { - --fa: "\f629"; -} - -.fa-gauge-simple-high { - --fa: "\f62a"; -} - -.fa-tachometer { - --fa: "\f62a"; -} - -.fa-tachometer-fast { - --fa: "\f62a"; -} - -.fa-gauge-simple-max { - --fa: "\f62b"; -} - -.fa-tachometer-fastest { - --fa: "\f62b"; -} - -.fa-gauge-simple-low { - --fa: "\f62c"; -} - -.fa-tachometer-slow { - --fa: "\f62c"; -} - -.fa-gauge-simple-min { - --fa: "\f62d"; -} - -.fa-tachometer-slowest { - --fa: "\f62d"; -} - -.fa-teeth { - --fa: "\f62e"; -} - -.fa-teeth-open { - --fa: "\f62f"; -} - -.fa-masks-theater { - --fa: "\f630"; -} - -.fa-theater-masks { - --fa: "\f630"; -} - -.fa-tire { - --fa: "\f631"; -} - -.fa-tire-flat { - --fa: "\f632"; -} - -.fa-tire-pressure-warning { - --fa: "\f633"; -} - -.fa-tire-rugged { - --fa: "\f634"; -} - -.fa-toothbrush { - --fa: "\f635"; -} - -.fa-traffic-cone { - --fa: "\f636"; -} - -.fa-traffic-light { - --fa: "\f637"; -} - -.fa-traffic-light-go { - --fa: "\f638"; -} - -.fa-traffic-light-slow { - --fa: "\f639"; -} - -.fa-traffic-light-stop { - --fa: "\f63a"; -} - -.fa-truck-monster { - --fa: "\f63b"; -} - -.fa-truck-pickup { - --fa: "\f63c"; -} - -.fa-screen-users { - --fa: "\f63d"; -} - -.fa-users-class { - --fa: "\f63d"; -} - -.fa-watch-fitness { - --fa: "\f63e"; -} - -.fa-abacus { - --fa: "\f640"; -} - -.fa-rectangle-ad { - --fa: "\f641"; -} - -.fa-ad { - --fa: "\f641"; -} - -.fa-chart-mixed { - --fa: "\f643"; -} - -.fa-analytics { - --fa: "\f643"; -} - -.fa-ankh { - --fa: "\f644"; -} - -.fa-badge-dollar { - --fa: "\f645"; -} - -.fa-badge-percent { - --fa: "\f646"; -} - -.fa-book-bible { - --fa: "\f647"; -} - -.fa-bible { - --fa: "\f647"; -} - -.fa-bullseye-arrow { - --fa: "\f648"; -} - -.fa-bullseye-pointer { - --fa: "\f649"; -} - -.fa-business-time { - --fa: "\f64a"; -} - -.fa-briefcase-clock { - --fa: "\f64a"; -} - -.fa-cabinet-filing { - --fa: "\f64b"; -} - -.fa-calculator-simple { - --fa: "\f64c"; -} - -.fa-calculator-alt { - --fa: "\f64c"; -} - -.fa-chart-line-down { - --fa: "\f64d"; -} - -.fa-chart-pie-simple { - --fa: "\f64e"; -} - -.fa-chart-pie-alt { - --fa: "\f64e"; -} - -.fa-city { - --fa: "\f64f"; -} - -.fa-message-dollar { - --fa: "\f650"; -} - -.fa-comment-alt-dollar { - --fa: "\f650"; -} - -.fa-comment-dollar { - --fa: "\f651"; -} - -.fa-messages-dollar { - --fa: "\f652"; -} - -.fa-comments-alt-dollar { - --fa: "\f652"; -} - -.fa-comments-dollar { - --fa: "\f653"; -} - -.fa-cross { - --fa: "\f654"; -} - -.fa-dharmachakra { - --fa: "\f655"; -} - -.fa-empty-set { - --fa: "\f656"; -} - -.fa-envelope-open-dollar { - --fa: "\f657"; -} - -.fa-envelope-open-text { - --fa: "\f658"; -} - -.fa-file-chart-column { - --fa: "\f659"; -} - -.fa-file-chart-line { - --fa: "\f659"; -} - -.fa-file-chart-pie { - --fa: "\f65a"; -} - -.fa-file-spreadsheet { - --fa: "\f65b"; -} - -.fa-file-user { - --fa: "\f65c"; -} - -.fa-folder-minus { - --fa: "\f65d"; -} - -.fa-folder-plus { - --fa: "\f65e"; -} - -.fa-folder-xmark { - --fa: "\f65f"; -} - -.fa-folder-times { - --fa: "\f65f"; -} - -.fa-folders { - --fa: "\f660"; -} - -.fa-function { - --fa: "\f661"; -} - -.fa-filter-circle-dollar { - --fa: "\f662"; -} - -.fa-funnel-dollar { - --fa: "\f662"; -} - -.fa-gift-card { - --fa: "\f663"; -} - -.fa-gopuram { - --fa: "\f664"; -} - -.fa-hamsa { - --fa: "\f665"; -} - -.fa-bahai { - --fa: "\f666"; -} - -.fa-haykal { - --fa: "\f666"; -} - -.fa-integral { - --fa: "\f667"; -} - -.fa-intersection { - --fa: "\f668"; -} - -.fa-jedi { - --fa: "\f669"; -} - -.fa-book-journal-whills { - --fa: "\f66a"; -} - -.fa-journal-whills { - --fa: "\f66a"; -} - -.fa-kaaba { - --fa: "\f66b"; -} - -.fa-keynote { - --fa: "\f66c"; -} - -.fa-khanda { - --fa: "\f66d"; -} - -.fa-lambda { - --fa: "\f66e"; -} - -.fa-landmark { - --fa: "\f66f"; -} - -.fa-lightbulb-dollar { - --fa: "\f670"; -} - -.fa-lightbulb-exclamation { - --fa: "\f671"; -} - -.fa-lightbulb-on { - --fa: "\f672"; -} - -.fa-lightbulb-slash { - --fa: "\f673"; -} - -.fa-envelopes-bulk { - --fa: "\f674"; -} - -.fa-mail-bulk { - --fa: "\f674"; -} - -.fa-megaphone { - --fa: "\f675"; -} - -.fa-menorah { - --fa: "\f676"; -} - -.fa-brain-arrow-curved-right { - --fa: "\f677"; -} - -.fa-mind-share { - --fa: "\f677"; -} - -.fa-mosque { - --fa: "\f678"; -} - -.fa-om { - --fa: "\f679"; -} - -.fa-omega { - --fa: "\f67a"; -} - -.fa-spaghetti-monster-flying { - --fa: "\f67b"; -} - -.fa-pastafarianism { - --fa: "\f67b"; -} - -.fa-peace { - --fa: "\f67c"; -} - -.fa-phone-office { - --fa: "\f67d"; -} - -.fa-pi { - --fa: "\f67e"; -} - -.fa-place-of-worship { - --fa: "\f67f"; -} - -.fa-podium { - --fa: "\f680"; -} - -.fa-square-poll-vertical { - --fa: "\f681"; -} - -.fa-poll { - --fa: "\f681"; -} - -.fa-square-poll-horizontal { - --fa: "\f682"; -} - -.fa-poll-h { - --fa: "\f682"; -} - -.fa-person-praying { - --fa: "\f683"; -} - -.fa-pray { - --fa: "\f683"; -} - -.fa-hands-praying { - --fa: "\f684"; -} - -.fa-praying-hands { - --fa: "\f684"; -} - -.fa-presentation-screen { - --fa: "\f685"; -} - -.fa-presentation { - --fa: "\f685"; -} - -.fa-print-slash { - --fa: "\f686"; -} - -.fa-book-quran { - --fa: "\f687"; -} - -.fa-quran { - --fa: "\f687"; -} - -.fa-magnifying-glass-dollar { - --fa: "\f688"; -} - -.fa-search-dollar { - --fa: "\f688"; -} - -.fa-magnifying-glass-location { - --fa: "\f689"; -} - -.fa-search-location { - --fa: "\f689"; -} - -.fa-shredder { - --fa: "\f68a"; -} - -.fa-sigma { - --fa: "\f68b"; -} - -.fa-signal-weak { - --fa: "\f68c"; -} - -.fa-signal-1 { - --fa: "\f68c"; -} - -.fa-signal-fair { - --fa: "\f68d"; -} - -.fa-signal-2 { - --fa: "\f68d"; -} - -.fa-signal-good { - --fa: "\f68e"; -} - -.fa-signal-3 { - --fa: "\f68e"; -} - -.fa-signal-strong { - --fa: "\f68f"; -} - -.fa-signal-4 { - --fa: "\f68f"; -} - -.fa-signal-bars { - --fa: "\f690"; -} - -.fa-signal-alt { - --fa: "\f690"; -} - -.fa-signal-alt-4 { - --fa: "\f690"; -} - -.fa-signal-bars-strong { - --fa: "\f690"; -} - -.fa-signal-bars-weak { - --fa: "\f691"; -} - -.fa-signal-alt-1 { - --fa: "\f691"; -} - -.fa-signal-bars-fair { - --fa: "\f692"; -} - -.fa-signal-alt-2 { - --fa: "\f692"; -} - -.fa-signal-bars-good { - --fa: "\f693"; -} - -.fa-signal-alt-3 { - --fa: "\f693"; -} - -.fa-signal-bars-slash { - --fa: "\f694"; -} - -.fa-signal-alt-slash { - --fa: "\f694"; -} - -.fa-signal-slash { - --fa: "\f695"; -} - -.fa-socks { - --fa: "\f696"; -} - -.fa-square-root { - --fa: "\f697"; -} - -.fa-square-root-variable { - --fa: "\f698"; -} - -.fa-square-root-alt { - --fa: "\f698"; -} - -.fa-star-and-crescent { - --fa: "\f699"; -} - -.fa-star-of-david { - --fa: "\f69a"; -} - -.fa-synagogue { - --fa: "\f69b"; -} - -.fa-tally { - --fa: "\f69c"; -} - -.fa-tally-5 { - --fa: "\f69c"; -} - -.fa-theta { - --fa: "\f69e"; -} - -.fa-scroll-torah { - --fa: "\f6a0"; -} - -.fa-torah { - --fa: "\f6a0"; -} - -.fa-torii-gate { - --fa: "\f6a1"; -} - -.fa-union { - --fa: "\f6a2"; -} - -.fa-chart-user { - --fa: "\f6a3"; -} - -.fa-user-chart { - --fa: "\f6a3"; -} - -.fa-user-crown { - --fa: "\f6a4"; -} - -.fa-user-group-crown { - --fa: "\f6a5"; -} - -.fa-users-crown { - --fa: "\f6a5"; -} - -.fa-value-absolute { - --fa: "\f6a6"; -} - -.fa-vihara { - --fa: "\f6a7"; -} - -.fa-volume { - --fa: "\f6a8"; -} - -.fa-volume-medium { - --fa: "\f6a8"; -} - -.fa-volume-xmark { - --fa: "\f6a9"; -} - -.fa-volume-mute { - --fa: "\f6a9"; -} - -.fa-volume-times { - --fa: "\f6a9"; -} - -.fa-wifi-weak { - --fa: "\f6aa"; -} - -.fa-wifi-1 { - --fa: "\f6aa"; -} - -.fa-wifi-fair { - --fa: "\f6ab"; -} - -.fa-wifi-2 { - --fa: "\f6ab"; -} - -.fa-wifi-slash { - --fa: "\f6ac"; -} - -.fa-yin-yang { - --fa: "\f6ad"; -} - -.fa-acorn { - --fa: "\f6ae"; -} - -.fa-alicorn { - --fa: "\f6b0"; -} - -.fa-crate-apple { - --fa: "\f6b1"; -} - -.fa-apple-crate { - --fa: "\f6b1"; -} - -.fa-axe { - --fa: "\f6b2"; -} - -.fa-axe-battle { - --fa: "\f6b3"; -} - -.fa-badger-honey { - --fa: "\f6b4"; -} - -.fa-bat { - --fa: "\f6b5"; -} - -.fa-blender-phone { - --fa: "\f6b6"; -} - -.fa-book-skull { - --fa: "\f6b7"; -} - -.fa-book-dead { - --fa: "\f6b7"; -} - -.fa-book-sparkles { - --fa: "\f6b8"; -} - -.fa-book-spells { - --fa: "\f6b8"; -} - -.fa-bow-arrow { - --fa: "\f6b9"; -} - -.fa-campfire { - --fa: "\f6ba"; -} - -.fa-campground { - --fa: "\f6bb"; -} - -.fa-candle-holder { - --fa: "\f6bc"; -} - -.fa-candy-corn { - --fa: "\f6bd"; -} - -.fa-cat { - --fa: "\f6be"; -} - -.fa-cauldron { - --fa: "\f6bf"; -} - -.fa-chair { - --fa: "\f6c0"; -} - -.fa-chair-office { - --fa: "\f6c1"; -} - -.fa-claw-marks { - --fa: "\f6c2"; -} - -.fa-cloud-moon { - --fa: "\f6c3"; -} - -.fa-cloud-sun { - --fa: "\f6c4"; -} - -.fa-cup-togo { - --fa: "\f6c5"; -} - -.fa-coffee-togo { - --fa: "\f6c5"; -} - -.fa-coffin { - --fa: "\f6c6"; -} - -.fa-corn { - --fa: "\f6c7"; -} - -.fa-cow { - --fa: "\f6c8"; -} - -.fa-dagger { - --fa: "\f6cb"; -} - -.fa-dice-d10 { - --fa: "\f6cd"; -} - -.fa-dice-d12 { - --fa: "\f6ce"; -} - -.fa-dice-d20 { - --fa: "\f6cf"; -} - -.fa-dice-d4 { - --fa: "\f6d0"; -} - -.fa-dice-d6 { - --fa: "\f6d1"; -} - -.fa-dice-d8 { - --fa: "\f6d2"; -} - -.fa-dog { - --fa: "\f6d3"; -} - -.fa-dog-leashed { - --fa: "\f6d4"; -} - -.fa-dragon { - --fa: "\f6d5"; -} - -.fa-drumstick { - --fa: "\f6d6"; -} - -.fa-drumstick-bite { - --fa: "\f6d7"; -} - -.fa-duck { - --fa: "\f6d8"; -} - -.fa-dungeon { - --fa: "\f6d9"; -} - -.fa-elephant { - --fa: "\f6da"; -} - -.fa-eye-evil { - --fa: "\f6db"; -} - -.fa-file-csv { - --fa: "\f6dd"; -} - -.fa-hand-fist { - --fa: "\f6de"; -} - -.fa-fist-raised { - --fa: "\f6de"; -} - -.fa-fire-flame { - --fa: "\f6df"; -} - -.fa-flame { - --fa: "\f6df"; -} - -.fa-flask-round-poison { - --fa: "\f6e0"; -} - -.fa-flask-poison { - --fa: "\f6e0"; -} - -.fa-flask-round-potion { - --fa: "\f6e1"; -} - -.fa-flask-potion { - --fa: "\f6e1"; -} - -.fa-ghost { - --fa: "\f6e2"; -} - -.fa-hammer { - --fa: "\f6e3"; -} - -.fa-hammer-war { - --fa: "\f6e4"; -} - -.fa-hand-holding-magic { - --fa: "\f6e5"; -} - -.fa-hanukiah { - --fa: "\f6e6"; -} - -.fa-hat-witch { - --fa: "\f6e7"; -} - -.fa-hat-wizard { - --fa: "\f6e8"; -} - -.fa-head-side { - --fa: "\f6e9"; -} - -.fa-head-side-goggles { - --fa: "\f6ea"; -} - -.fa-head-vr { - --fa: "\f6ea"; -} - -.fa-helmet-battle { - --fa: "\f6eb"; -} - -.fa-person-hiking { - --fa: "\f6ec"; -} - -.fa-hiking { - --fa: "\f6ec"; -} - -.fa-hippo { - --fa: "\f6ed"; -} - -.fa-hockey-mask { - --fa: "\f6ee"; -} - -.fa-hood-cloak { - --fa: "\f6ef"; -} - -.fa-horse { - --fa: "\f6f0"; -} - -.fa-house-chimney-crack { - --fa: "\f6f1"; -} - -.fa-house-damage { - --fa: "\f6f1"; -} - -.fa-hryvnia-sign { - --fa: "\f6f2"; -} - -.fa-hryvnia { - --fa: "\f6f2"; -} - -.fa-key-skeleton { - --fa: "\f6f3"; -} - -.fa-kite { - --fa: "\f6f4"; -} - -.fa-knife-kitchen { - --fa: "\f6f5"; -} - -.fa-leaf-maple { - --fa: "\f6f6"; -} - -.fa-leaf-oak { - --fa: "\f6f7"; -} - -.fa-mace { - --fa: "\f6f8"; -} - -.fa-mandolin { - --fa: "\f6f9"; -} - -.fa-mask { - --fa: "\f6fa"; -} - -.fa-monkey { - --fa: "\f6fb"; -} - -.fa-mountain { - --fa: "\f6fc"; -} - -.fa-mountains { - --fa: "\f6fd"; -} - -.fa-narwhal { - --fa: "\f6fe"; -} - -.fa-network-wired { - --fa: "\f6ff"; -} - -.fa-otter { - --fa: "\f700"; -} - -.fa-paw-simple { - --fa: "\f701"; -} - -.fa-paw-alt { - --fa: "\f701"; -} - -.fa-paw-claws { - --fa: "\f702"; -} - -.fa-pegasus { - --fa: "\f703"; -} - -.fa-pie { - --fa: "\f705"; -} - -.fa-pig { - --fa: "\f706"; -} - -.fa-pumpkin { - --fa: "\f707"; -} - -.fa-rabbit { - --fa: "\f708"; -} - -.fa-rabbit-running { - --fa: "\f709"; -} - -.fa-rabbit-fast { - --fa: "\f709"; -} - -.fa-ram { - --fa: "\f70a"; -} - -.fa-ring { - --fa: "\f70b"; -} - -.fa-person-running { - --fa: "\f70c"; -} - -.fa-running { - --fa: "\f70c"; -} - -.fa-scarecrow { - --fa: "\f70d"; -} - -.fa-scroll { - --fa: "\f70e"; -} - -.fa-scroll-old { - --fa: "\f70f"; -} - -.fa-scythe { - --fa: "\f710"; -} - -.fa-sheep { - --fa: "\f711"; -} - -.fa-shield-cross { - --fa: "\f712"; -} - -.fa-shovel { - --fa: "\f713"; -} - -.fa-skull-crossbones { - --fa: "\f714"; -} - -.fa-slash { - --fa: "\f715"; -} - -.fa-snake { - --fa: "\f716"; -} - -.fa-spider { - --fa: "\f717"; -} - -.fa-spider-black-widow { - --fa: "\f718"; -} - -.fa-spider-web { - --fa: "\f719"; -} - -.fa-squirrel { - --fa: "\f71a"; -} - -.fa-staff { - --fa: "\f71b"; -} - -.fa-sword { - --fa: "\f71c"; -} - -.fa-swords { - --fa: "\f71d"; -} - -.fa-toilet-paper { - --fa: "\f71e"; -} - -.fa-toilet-paper-alt { - --fa: "\f71e"; -} - -.fa-toilet-paper-blank { - --fa: "\f71e"; -} - -.fa-tombstone { - --fa: "\f720"; -} - -.fa-tombstone-blank { - --fa: "\f721"; -} - -.fa-tombstone-alt { - --fa: "\f721"; -} - -.fa-tractor { - --fa: "\f722"; -} - -.fa-treasure-chest { - --fa: "\f723"; -} - -.fa-trees { - --fa: "\f724"; -} - -.fa-turkey { - --fa: "\f725"; -} - -.fa-turtle { - --fa: "\f726"; -} - -.fa-unicorn { - --fa: "\f727"; -} - -.fa-user-injured { - --fa: "\f728"; -} - -.fa-vr-cardboard { - --fa: "\f729"; -} - -.fa-wand { - --fa: "\f72a"; -} - -.fa-wand-sparkles { - --fa: "\f72b"; -} - -.fa-whale { - --fa: "\f72c"; -} - -.fa-wheat { - --fa: "\f72d"; -} - -.fa-wind { - --fa: "\f72e"; -} - -.fa-wine-bottle { - --fa: "\f72f"; -} - -.fa-ballot { - --fa: "\f732"; -} - -.fa-ballot-check { - --fa: "\f733"; -} - -.fa-booth-curtain { - --fa: "\f734"; -} - -.fa-box-ballot { - --fa: "\f735"; -} - -.fa-calendar-star { - --fa: "\f736"; -} - -.fa-clipboard-list-check { - --fa: "\f737"; -} - -.fa-cloud-drizzle { - --fa: "\f738"; -} - -.fa-cloud-hail { - --fa: "\f739"; -} - -.fa-cloud-hail-mixed { - --fa: "\f73a"; -} - -.fa-cloud-meatball { - --fa: "\f73b"; -} - -.fa-cloud-moon-rain { - --fa: "\f73c"; -} - -.fa-cloud-rain { - --fa: "\f73d"; -} - -.fa-cloud-rainbow { - --fa: "\f73e"; -} - -.fa-cloud-showers { - --fa: "\f73f"; -} - -.fa-cloud-showers-heavy { - --fa: "\f740"; -} - -.fa-cloud-sleet { - --fa: "\f741"; -} - -.fa-cloud-snow { - --fa: "\f742"; -} - -.fa-cloud-sun-rain { - --fa: "\f743"; -} - -.fa-clouds { - --fa: "\f744"; -} - -.fa-clouds-moon { - --fa: "\f745"; -} - -.fa-clouds-sun { - --fa: "\f746"; -} - -.fa-democrat { - --fa: "\f747"; -} - -.fa-droplet-degree { - --fa: "\f748"; -} - -.fa-dewpoint { - --fa: "\f748"; -} - -.fa-eclipse { - --fa: "\f749"; -} - -.fa-moon-over-sun { - --fa: "\f74a"; -} - -.fa-eclipse-alt { - --fa: "\f74a"; -} - -.fa-fire-smoke { - --fa: "\f74b"; -} - -.fa-flag-swallowtail { - --fa: "\f74c"; -} - -.fa-flag-alt { - --fa: "\f74c"; -} - -.fa-flag-usa { - --fa: "\f74d"; -} - -.fa-cloud-fog { - --fa: "\f74e"; -} - -.fa-fog { - --fa: "\f74e"; -} - -.fa-house-water { - --fa: "\f74f"; -} - -.fa-house-flood { - --fa: "\f74f"; -} - -.fa-droplet-percent { - --fa: "\f750"; -} - -.fa-humidity { - --fa: "\f750"; -} - -.fa-hurricane { - --fa: "\f751"; -} - -.fa-landmark-dome { - --fa: "\f752"; -} - -.fa-landmark-alt { - --fa: "\f752"; -} - -.fa-meteor { - --fa: "\f753"; -} - -.fa-moon-cloud { - --fa: "\f754"; -} - -.fa-moon-stars { - --fa: "\f755"; -} - -.fa-person-booth { - --fa: "\f756"; -} - -.fa-person-sign { - --fa: "\f757"; -} - -.fa-podium-star { - --fa: "\f758"; -} - -.fa-poll-people { - --fa: "\f759"; -} - -.fa-poo-storm { - --fa: "\f75a"; -} - -.fa-poo-bolt { - --fa: "\f75a"; -} - -.fa-rainbow { - --fa: "\f75b"; -} - -.fa-raindrops { - --fa: "\f75c"; -} - -.fa-republican { - --fa: "\f75e"; -} - -.fa-smog { - --fa: "\f75f"; -} - -.fa-smoke { - --fa: "\f760"; -} - -.fa-snow-blowing { - --fa: "\f761"; -} - -.fa-stars { - --fa: "\f762"; -} - -.fa-sun-cloud { - --fa: "\f763"; -} - -.fa-sun-dust { - --fa: "\f764"; -} - -.fa-sun-haze { - --fa: "\f765"; -} - -.fa-sunrise { - --fa: "\f766"; -} - -.fa-sunset { - --fa: "\f767"; -} - -.fa-temperature-snow { - --fa: "\f768"; -} - -.fa-temperature-frigid { - --fa: "\f768"; -} - -.fa-temperature-high { - --fa: "\f769"; -} - -.fa-temperature-sun { - --fa: "\f76a"; -} - -.fa-temperature-hot { - --fa: "\f76a"; -} - -.fa-temperature-low { - --fa: "\f76b"; -} - -.fa-cloud-bolt { - --fa: "\f76c"; -} - -.fa-thunderstorm { - --fa: "\f76c"; -} - -.fa-cloud-bolt-moon { - --fa: "\f76d"; -} - -.fa-thunderstorm-moon { - --fa: "\f76d"; -} - -.fa-cloud-bolt-sun { - --fa: "\f76e"; -} - -.fa-thunderstorm-sun { - --fa: "\f76e"; -} - -.fa-tornado { - --fa: "\f76f"; -} - -.fa-volcano { - --fa: "\f770"; -} - -.fa-xmark-to-slot { - --fa: "\f771"; -} - -.fa-times-to-slot { - --fa: "\f771"; -} - -.fa-vote-nay { - --fa: "\f771"; -} - -.fa-check-to-slot { - --fa: "\f772"; -} - -.fa-vote-yea { - --fa: "\f772"; -} - -.fa-water { - --fa: "\f773"; -} - -.fa-water-arrow-down { - --fa: "\f774"; -} - -.fa-water-lower { - --fa: "\f774"; -} - -.fa-water-arrow-up { - --fa: "\f775"; -} - -.fa-water-rise { - --fa: "\f775"; -} - -.fa-wind-warning { - --fa: "\f776"; -} - -.fa-wind-circle-exclamation { - --fa: "\f776"; -} - -.fa-windsock { - --fa: "\f777"; -} - -.fa-angel { - --fa: "\f779"; -} - -.fa-baby { - --fa: "\f77c"; -} - -.fa-baby-carriage { - --fa: "\f77d"; -} - -.fa-carriage-baby { - --fa: "\f77d"; -} - -.fa-ball-pile { - --fa: "\f77e"; -} - -.fa-bells { - --fa: "\f77f"; -} - -.fa-biohazard { - --fa: "\f780"; -} - -.fa-blog { - --fa: "\f781"; -} - -.fa-boot { - --fa: "\f782"; -} - -.fa-calendar-day { - --fa: "\f783"; -} - -.fa-calendar-week { - --fa: "\f784"; -} - -.fa-candy-cane { - --fa: "\f786"; -} - -.fa-carrot { - --fa: "\f787"; -} - -.fa-cash-register { - --fa: "\f788"; -} - -.fa-chart-network { - --fa: "\f78a"; -} - -.fa-chimney { - --fa: "\f78b"; -} - -.fa-minimize { - --fa: "\f78c"; -} - -.fa-compress-arrows-alt { - --fa: "\f78c"; -} - -.fa-deer { - --fa: "\f78e"; -} - -.fa-deer-rudolph { - --fa: "\f78f"; -} - -.fa-dreidel { - --fa: "\f792"; -} - -.fa-dumpster { - --fa: "\f793"; -} - -.fa-dumpster-fire { - --fa: "\f794"; -} - -.fa-ear-muffs { - --fa: "\f795"; -} - -.fa-ethernet { - --fa: "\f796"; -} - -.fa-fireplace { - --fa: "\f79a"; -} - -.fa-snowman-head { - --fa: "\f79b"; -} - -.fa-frosty-head { - --fa: "\f79b"; -} - -.fa-gifts { - --fa: "\f79c"; -} - -.fa-gingerbread-man { - --fa: "\f79d"; -} - -.fa-champagne-glass { - --fa: "\f79e"; -} - -.fa-glass-champagne { - --fa: "\f79e"; -} - -.fa-champagne-glasses { - --fa: "\f79f"; -} - -.fa-glass-cheers { - --fa: "\f79f"; -} - -.fa-whiskey-glass { - --fa: "\f7a0"; -} - -.fa-glass-whiskey { - --fa: "\f7a0"; -} - -.fa-whiskey-glass-ice { - --fa: "\f7a1"; -} - -.fa-glass-whiskey-rocks { - --fa: "\f7a1"; -} - -.fa-earth-europe { - --fa: "\f7a2"; -} - -.fa-globe-europe { - --fa: "\f7a2"; -} - -.fa-globe-snow { - --fa: "\f7a3"; -} - -.fa-grip-lines { - --fa: "\f7a4"; -} - -.fa-grip-lines-vertical { - --fa: "\f7a5"; -} - -.fa-guitar { - --fa: "\f7a6"; -} - -.fa-hat-santa { - --fa: "\f7a7"; -} - -.fa-hat-winter { - --fa: "\f7a8"; -} - -.fa-heart-crack { - --fa: "\f7a9"; -} - -.fa-heart-broken { - --fa: "\f7a9"; -} - -.fa-holly-berry { - --fa: "\f7aa"; -} - -.fa-horse-head { - --fa: "\f7ab"; -} - -.fa-ice-skate { - --fa: "\f7ac"; -} - -.fa-icicles { - --fa: "\f7ad"; -} - -.fa-igloo { - --fa: "\f7ae"; -} - -.fa-lights-holiday { - --fa: "\f7b2"; -} - -.fa-mistletoe { - --fa: "\f7b4"; -} - -.fa-mitten { - --fa: "\f7b5"; -} - -.fa-mug-hot { - --fa: "\f7b6"; -} - -.fa-mug-marshmallows { - --fa: "\f7b7"; -} - -.fa-ornament { - --fa: "\f7b8"; -} - -.fa-radiation { - --fa: "\f7b9"; -} - -.fa-circle-radiation { - --fa: "\f7ba"; -} - -.fa-radiation-alt { - --fa: "\f7ba"; -} - -.fa-restroom { - --fa: "\f7bd"; -} - -.fa-rv { - --fa: "\f7be"; -} - -.fa-satellite { - --fa: "\f7bf"; -} - -.fa-satellite-dish { - --fa: "\f7c0"; -} - -.fa-scarf { - --fa: "\f7c1"; -} - -.fa-sd-card { - --fa: "\f7c2"; -} - -.fa-shovel-snow { - --fa: "\f7c3"; -} - -.fa-sim-card { - --fa: "\f7c4"; -} - -.fa-person-skating { - --fa: "\f7c5"; -} - -.fa-skating { - --fa: "\f7c5"; -} - -.fa-person-ski-jumping { - --fa: "\f7c7"; -} - -.fa-ski-jump { - --fa: "\f7c7"; -} - -.fa-person-ski-lift { - --fa: "\f7c8"; -} - -.fa-ski-lift { - --fa: "\f7c8"; -} - -.fa-person-skiing { - --fa: "\f7c9"; -} - -.fa-skiing { - --fa: "\f7c9"; -} - -.fa-person-skiing-nordic { - --fa: "\f7ca"; -} - -.fa-skiing-nordic { - --fa: "\f7ca"; -} - -.fa-person-sledding { - --fa: "\f7cb"; -} - -.fa-sledding { - --fa: "\f7cb"; -} - -.fa-sleigh { - --fa: "\f7cc"; -} - -.fa-comment-sms { - --fa: "\f7cd"; -} - -.fa-sms { - --fa: "\f7cd"; -} - -.fa-person-snowboarding { - --fa: "\f7ce"; -} - -.fa-snowboarding { - --fa: "\f7ce"; -} - -.fa-snowflakes { - --fa: "\f7cf"; -} - -.fa-snowman { - --fa: "\f7d0"; -} - -.fa-person-snowmobiling { - --fa: "\f7d1"; -} - -.fa-snowmobile { - --fa: "\f7d1"; -} - -.fa-snowplow { - --fa: "\f7d2"; -} - -.fa-star-christmas { - --fa: "\f7d4"; -} - -.fa-stocking { - --fa: "\f7d5"; -} - -.fa-tenge-sign { - --fa: "\f7d7"; -} - -.fa-tenge { - --fa: "\f7d7"; -} - -.fa-toilet { - --fa: "\f7d8"; -} - -.fa-screwdriver-wrench { - --fa: "\f7d9"; -} - -.fa-tools { - --fa: "\f7d9"; -} - -.fa-cable-car { - --fa: "\f7da"; -} - -.fa-tram { - --fa: "\f7da"; -} - -.fa-tree-christmas { - --fa: "\f7db"; -} - -.fa-tree-decorated { - --fa: "\f7dc"; -} - -.fa-tree-large { - --fa: "\f7dd"; -} - -.fa-truck-plow { - --fa: "\f7de"; -} - -.fa-wreath { - --fa: "\f7e2"; -} - -.fa-fire-flame-curved { - --fa: "\f7e4"; -} - -.fa-fire-alt { - --fa: "\f7e4"; -} - -.fa-bacon { - --fa: "\f7e5"; -} - -.fa-book-medical { - --fa: "\f7e6"; -} - -.fa-book-user { - --fa: "\f7e7"; -} - -.fa-books-medical { - --fa: "\f7e8"; -} - -.fa-brackets-square { - --fa: "\f7e9"; -} - -.fa-brackets { - --fa: "\f7e9"; -} - -.fa-brackets-curly { - --fa: "\f7ea"; -} - -.fa-bread-loaf { - --fa: "\f7eb"; -} - -.fa-bread-slice { - --fa: "\f7ec"; -} - -.fa-burrito { - --fa: "\f7ed"; -} - -.fa-chart-scatter { - --fa: "\f7ee"; -} - -.fa-cheese { - --fa: "\f7ef"; -} - -.fa-cheese-swiss { - --fa: "\f7f0"; -} - -.fa-burger-cheese { - --fa: "\f7f1"; -} - -.fa-cheeseburger { - --fa: "\f7f1"; -} - -.fa-house-chimney-medical { - --fa: "\f7f2"; -} - -.fa-clinic-medical { - --fa: "\f7f2"; -} - -.fa-clipboard-user { - --fa: "\f7f3"; -} - -.fa-message-medical { - --fa: "\f7f4"; -} - -.fa-comment-alt-medical { - --fa: "\f7f4"; -} - -.fa-comment-medical { - --fa: "\f7f5"; -} - -.fa-croissant { - --fa: "\f7f6"; -} - -.fa-crutch { - --fa: "\f7f7"; -} - -.fa-crutches { - --fa: "\f7f8"; -} - -.fa-ban-bug { - --fa: "\f7f9"; -} - -.fa-debug { - --fa: "\f7f9"; -} - -.fa-disease { - --fa: "\f7fa"; -} - -.fa-egg { - --fa: "\f7fb"; -} - -.fa-egg-fried { - --fa: "\f7fc"; -} - -.fa-files-medical { - --fa: "\f7fd"; -} - -.fa-fish-cooked { - --fa: "\f7fe"; -} - -.fa-flower { - --fa: "\f7ff"; -} - -.fa-flower-daffodil { - --fa: "\f800"; -} - -.fa-flower-tulip { - --fa: "\f801"; -} - -.fa-folder-tree { - --fa: "\f802"; -} - -.fa-french-fries { - --fa: "\f803"; -} - -.fa-glass { - --fa: "\f804"; -} - -.fa-burger { - --fa: "\f805"; -} - -.fa-hamburger { - --fa: "\f805"; -} - -.fa-hand-middle-finger { - --fa: "\f806"; -} - -.fa-helmet-safety { - --fa: "\f807"; -} - -.fa-hard-hat { - --fa: "\f807"; -} - -.fa-hat-hard { - --fa: "\f807"; -} - -.fa-head-side-brain { - --fa: "\f808"; -} - -.fa-head-side-medical { - --fa: "\f809"; -} - -.fa-hospital-user { - --fa: "\f80d"; -} - -.fa-hospitals { - --fa: "\f80e"; -} - -.fa-hotdog { - --fa: "\f80f"; -} - -.fa-ice-cream { - --fa: "\f810"; -} - -.fa-island-tropical { - --fa: "\f811"; -} - -.fa-island-tree-palm { - --fa: "\f811"; -} - -.fa-laptop-medical { - --fa: "\f812"; -} - -.fa-mailbox { - --fa: "\f813"; -} - -.fa-meat { - --fa: "\f814"; -} - -.fa-pager { - --fa: "\f815"; -} - -.fa-pepper-hot { - --fa: "\f816"; -} - -.fa-pizza { - --fa: "\f817"; -} - -.fa-pizza-slice { - --fa: "\f818"; -} - -.fa-popcorn { - --fa: "\f819"; -} - -.fa-print-magnifying-glass { - --fa: "\f81a"; -} - -.fa-print-search { - --fa: "\f81a"; -} - -.fa-rings-wedding { - --fa: "\f81b"; -} - -.fa-sack { - --fa: "\f81c"; -} - -.fa-sack-dollar { - --fa: "\f81d"; -} - -.fa-salad { - --fa: "\f81e"; -} - -.fa-bowl-salad { - --fa: "\f81e"; -} - -.fa-sandwich { - --fa: "\f81f"; -} - -.fa-sausage { - --fa: "\f820"; -} - -.fa-shish-kebab { - --fa: "\f821"; -} - -.fa-sickle { - --fa: "\f822"; -} - -.fa-bowl-hot { - --fa: "\f823"; -} - -.fa-soup { - --fa: "\f823"; -} - -.fa-steak { - --fa: "\f824"; -} - -.fa-stretcher { - --fa: "\f825"; -} - -.fa-taco { - --fa: "\f826"; -} - -.fa-book-tanakh { - --fa: "\f827"; -} - -.fa-tanakh { - --fa: "\f827"; -} - -.fa-bars-progress { - --fa: "\f828"; -} - -.fa-tasks-alt { - --fa: "\f828"; -} - -.fa-trash-arrow-up { - --fa: "\f829"; -} - -.fa-trash-restore { - --fa: "\f829"; -} - -.fa-trash-can-arrow-up { - --fa: "\f82a"; -} - -.fa-trash-restore-alt { - --fa: "\f82a"; -} - -.fa-tree-palm { - --fa: "\f82b"; -} - -.fa-user-helmet-safety { - --fa: "\f82c"; -} - -.fa-user-construction { - --fa: "\f82c"; -} - -.fa-user-hard-hat { - --fa: "\f82c"; -} - -.fa-user-headset { - --fa: "\f82d"; -} - -.fa-user-doctor-message { - --fa: "\f82e"; -} - -.fa-user-md-chat { - --fa: "\f82e"; -} - -.fa-user-nurse { - --fa: "\f82f"; -} - -.fa-users-medical { - --fa: "\f830"; -} - -.fa-walker { - --fa: "\f831"; -} - -.fa-camera-web { - --fa: "\f832"; -} - -.fa-webcam { - --fa: "\f832"; -} - -.fa-camera-web-slash { - --fa: "\f833"; -} - -.fa-webcam-slash { - --fa: "\f833"; -} - -.fa-wave-square { - --fa: "\f83e"; -} - -.fa-alarm-exclamation { - --fa: "\f843"; -} - -.fa-alarm-plus { - --fa: "\f844"; -} - -.fa-alarm-snooze { - --fa: "\f845"; -} - -.fa-align-slash { - --fa: "\f846"; -} - -.fa-bags-shopping { - --fa: "\f847"; -} - -.fa-bell-exclamation { - --fa: "\f848"; -} - -.fa-bell-plus { - --fa: "\f849"; -} - -.fa-person-biking { - --fa: "\f84a"; -} - -.fa-biking { - --fa: "\f84a"; -} - -.fa-person-biking-mountain { - --fa: "\f84b"; -} - -.fa-biking-mountain { - --fa: "\f84b"; -} - -.fa-border-all { - --fa: "\f84c"; -} - -.fa-border-bottom { - --fa: "\f84d"; -} - -.fa-border-inner { - --fa: "\f84e"; -} - -.fa-border-left { - --fa: "\f84f"; -} - -.fa-border-none { - --fa: "\f850"; -} - -.fa-border-outer { - --fa: "\f851"; -} - -.fa-border-right { - --fa: "\f852"; -} - -.fa-border-top-left { - --fa: "\f853"; -} - -.fa-border-style { - --fa: "\f853"; -} - -.fa-border-bottom-right { - --fa: "\f854"; -} - -.fa-border-style-alt { - --fa: "\f854"; -} - -.fa-border-top { - --fa: "\f855"; -} - -.fa-bring-forward { - --fa: "\f856"; -} - -.fa-bring-front { - --fa: "\f857"; -} - -.fa-burger-soda { - --fa: "\f858"; -} - -.fa-car-building { - --fa: "\f859"; -} - -.fa-car-bus { - --fa: "\f85a"; -} - -.fa-cars { - --fa: "\f85b"; -} - -.fa-coin { - --fa: "\f85c"; -} - -.fa-triangle-person-digging { - --fa: "\f85d"; -} - -.fa-construction { - --fa: "\f85d"; -} - -.fa-person-digging { - --fa: "\f85e"; -} - -.fa-digging { - --fa: "\f85e"; -} - -.fa-drone { - --fa: "\f85f"; -} - -.fa-drone-front { - --fa: "\f860"; -} - -.fa-drone-alt { - --fa: "\f860"; -} - -.fa-dryer { - --fa: "\f861"; -} - -.fa-dryer-heat { - --fa: "\f862"; -} - -.fa-dryer-alt { - --fa: "\f862"; -} - -.fa-fan { - --fa: "\f863"; -} - -.fa-farm { - --fa: "\f864"; -} - -.fa-barn-silo { - --fa: "\f864"; -} - -.fa-file-magnifying-glass { - --fa: "\f865"; -} - -.fa-file-search { - --fa: "\f865"; -} - -.fa-font-case { - --fa: "\f866"; -} - -.fa-game-board { - --fa: "\f867"; -} - -.fa-game-board-simple { - --fa: "\f868"; -} - -.fa-game-board-alt { - --fa: "\f868"; -} - -.fa-glass-citrus { - --fa: "\f869"; -} - -.fa-h4 { - --fa: "\f86a"; -} - -.fa-hat-chef { - --fa: "\f86b"; -} - -.fa-horizontal-rule { - --fa: "\f86c"; -} - -.fa-icons { - --fa: "\f86d"; -} - -.fa-heart-music-camera-bolt { - --fa: "\f86d"; -} - -.fa-symbols { - --fa: "\f86e"; -} - -.fa-icons-alt { - --fa: "\f86e"; -} - -.fa-kerning { - --fa: "\f86f"; -} - -.fa-line-columns { - --fa: "\f870"; -} - -.fa-line-height { - --fa: "\f871"; -} - -.fa-money-check-pen { - --fa: "\f872"; -} - -.fa-money-check-edit { - --fa: "\f872"; -} - -.fa-money-check-dollar-pen { - --fa: "\f873"; -} - -.fa-money-check-edit-alt { - --fa: "\f873"; -} - -.fa-mug { - --fa: "\f874"; -} - -.fa-mug-tea { - --fa: "\f875"; -} - -.fa-overline { - --fa: "\f876"; -} - -.fa-file-dashed-line { - --fa: "\f877"; -} - -.fa-page-break { - --fa: "\f877"; -} - -.fa-paragraph-left { - --fa: "\f878"; -} - -.fa-paragraph-rtl { - --fa: "\f878"; -} - -.fa-phone-flip { - --fa: "\f879"; -} - -.fa-phone-alt { - --fa: "\f879"; -} - -.fa-laptop-mobile { - --fa: "\f87a"; -} - -.fa-phone-laptop { - --fa: "\f87a"; -} - -.fa-square-phone-flip { - --fa: "\f87b"; -} - -.fa-phone-square-alt { - --fa: "\f87b"; -} - -.fa-photo-film { - --fa: "\f87c"; -} - -.fa-photo-video { - --fa: "\f87c"; -} - -.fa-text-slash { - --fa: "\f87d"; -} - -.fa-remove-format { - --fa: "\f87d"; -} - -.fa-send-back { - --fa: "\f87e"; -} - -.fa-send-backward { - --fa: "\f87f"; -} - -.fa-snooze { - --fa: "\f880"; -} - -.fa-zzz { - --fa: "\f880"; -} - -.fa-arrow-down-z-a { - --fa: "\f881"; -} - -.fa-sort-alpha-desc { - --fa: "\f881"; -} - -.fa-sort-alpha-down-alt { - --fa: "\f881"; -} - -.fa-arrow-up-z-a { - --fa: "\f882"; -} - -.fa-sort-alpha-up-alt { - --fa: "\f882"; -} - -.fa-arrow-down-arrow-up { - --fa: "\f883"; -} - -.fa-sort-alt { - --fa: "\f883"; -} - -.fa-arrow-down-short-wide { - --fa: "\f884"; -} - -.fa-sort-amount-desc { - --fa: "\f884"; -} - -.fa-sort-amount-down-alt { - --fa: "\f884"; -} - -.fa-arrow-up-short-wide { - --fa: "\f885"; -} - -.fa-sort-amount-up-alt { - --fa: "\f885"; -} - -.fa-arrow-down-9-1 { - --fa: "\f886"; -} - -.fa-sort-numeric-desc { - --fa: "\f886"; -} - -.fa-sort-numeric-down-alt { - --fa: "\f886"; -} - -.fa-arrow-up-9-1 { - --fa: "\f887"; -} - -.fa-sort-numeric-up-alt { - --fa: "\f887"; -} - -.fa-arrow-down-triangle-square { - --fa: "\f888"; -} - -.fa-sort-shapes-down { - --fa: "\f888"; -} - -.fa-arrow-down-square-triangle { - --fa: "\f889"; -} - -.fa-sort-shapes-down-alt { - --fa: "\f889"; -} - -.fa-arrow-up-triangle-square { - --fa: "\f88a"; -} - -.fa-sort-shapes-up { - --fa: "\f88a"; -} - -.fa-arrow-up-square-triangle { - --fa: "\f88b"; -} - -.fa-sort-shapes-up-alt { - --fa: "\f88b"; -} - -.fa-arrow-down-big-small { - --fa: "\f88c"; -} - -.fa-sort-size-down { - --fa: "\f88c"; -} - -.fa-arrow-down-small-big { - --fa: "\f88d"; -} - -.fa-sort-size-down-alt { - --fa: "\f88d"; -} - -.fa-arrow-up-big-small { - --fa: "\f88e"; -} - -.fa-sort-size-up { - --fa: "\f88e"; -} - -.fa-arrow-up-small-big { - --fa: "\f88f"; -} - -.fa-sort-size-up-alt { - --fa: "\f88f"; -} - -.fa-sparkles { - --fa: "\f890"; -} - -.fa-spell-check { - --fa: "\f891"; -} - -.fa-sunglasses { - --fa: "\f892"; -} - -.fa-text { - --fa: "\f893"; -} - -.fa-text-size { - --fa: "\f894"; -} - -.fa-trash-undo { - --fa: "\f895"; -} - -.fa-trash-arrow-turn-left { - --fa: "\f895"; -} - -.fa-trash-can-undo { - --fa: "\f896"; -} - -.fa-trash-can-arrow-turn-left { - --fa: "\f896"; -} - -.fa-trash-undo-alt { - --fa: "\f896"; -} - -.fa-voicemail { - --fa: "\f897"; -} - -.fa-washing-machine { - --fa: "\f898"; -} - -.fa-washer { - --fa: "\f898"; -} - -.fa-wave-sine { - --fa: "\f899"; -} - -.fa-wave-triangle { - --fa: "\f89a"; -} - -.fa-wind-turbine { - --fa: "\f89b"; -} - -.fa-border-center-h { - --fa: "\f89c"; -} - -.fa-border-center-v { - --fa: "\f89d"; -} - -.fa-album { - --fa: "\f89f"; -} - -.fa-album-collection { - --fa: "\f8a0"; -} - -.fa-amp-guitar { - --fa: "\f8a1"; -} - -.fa-badge-sheriff { - --fa: "\f8a2"; -} - -.fa-banjo { - --fa: "\f8a3"; -} - -.fa-cassette-betamax { - --fa: "\f8a4"; -} - -.fa-betamax { - --fa: "\f8a4"; -} - -.fa-boombox { - --fa: "\f8a5"; -} - -.fa-cactus { - --fa: "\f8a7"; -} - -.fa-camcorder { - --fa: "\f8a8"; -} - -.fa-video-handheld { - --fa: "\f8a8"; -} - -.fa-camera-movie { - --fa: "\f8a9"; -} - -.fa-camera-polaroid { - --fa: "\f8aa"; -} - -.fa-cassette-tape { - --fa: "\f8ab"; -} - -.fa-camera-cctv { - --fa: "\f8ac"; -} - -.fa-cctv { - --fa: "\f8ac"; -} - -.fa-clarinet { - --fa: "\f8ad"; -} - -.fa-cloud-music { - --fa: "\f8ae"; -} - -.fa-message-music { - --fa: "\f8af"; -} - -.fa-comment-alt-music { - --fa: "\f8af"; -} - -.fa-comment-music { - --fa: "\f8b0"; -} - -.fa-computer-classic { - --fa: "\f8b1"; -} - -.fa-computer-speaker { - --fa: "\f8b2"; -} - -.fa-cowbell { - --fa: "\f8b3"; -} - -.fa-cowbell-circle-plus { - --fa: "\f8b4"; -} - -.fa-cowbell-more { - --fa: "\f8b4"; -} - -.fa-disc-drive { - --fa: "\f8b5"; -} - -.fa-file-music { - --fa: "\f8b6"; -} - -.fa-film-canister { - --fa: "\f8b7"; -} - -.fa-film-cannister { - --fa: "\f8b7"; -} - -.fa-flashlight { - --fa: "\f8b8"; -} - -.fa-flute { - --fa: "\f8b9"; -} - -.fa-flux-capacitor { - --fa: "\f8ba"; -} - -.fa-game-console-handheld { - --fa: "\f8bb"; -} - -.fa-gramophone { - --fa: "\f8bd"; -} - -.fa-guitar-electric { - --fa: "\f8be"; -} - -.fa-guitars { - --fa: "\f8bf"; -} - -.fa-hat-cowboy { - --fa: "\f8c0"; -} - -.fa-hat-cowboy-side { - --fa: "\f8c1"; -} - -.fa-head-side-headphones { - --fa: "\f8c2"; -} - -.fa-horse-saddle { - --fa: "\f8c3"; -} - -.fa-image-polaroid { - --fa: "\f8c4"; -} - -.fa-joystick { - --fa: "\f8c5"; -} - -.fa-jug { - --fa: "\f8c6"; -} - -.fa-kazoo { - --fa: "\f8c7"; -} - -.fa-lasso { - --fa: "\f8c8"; -} - -.fa-list-music { - --fa: "\f8c9"; -} - -.fa-microphone-stand { - --fa: "\f8cb"; -} - -.fa-computer-mouse { - --fa: "\f8cc"; -} - -.fa-mouse { - --fa: "\f8cc"; -} - -.fa-computer-mouse-scrollwheel { - --fa: "\f8cd"; -} - -.fa-mouse-alt { - --fa: "\f8cd"; -} - -.fa-mp3-player { - --fa: "\f8ce"; -} - -.fa-music-note { - --fa: "\f8cf"; -} - -.fa-music-alt { - --fa: "\f8cf"; -} - -.fa-music-note-slash { - --fa: "\f8d0"; -} - -.fa-music-alt-slash { - --fa: "\f8d0"; -} - -.fa-music-slash { - --fa: "\f8d1"; -} - -.fa-phone-rotary { - --fa: "\f8d3"; -} - -.fa-piano { - --fa: "\f8d4"; -} - -.fa-piano-keyboard { - --fa: "\f8d5"; -} - -.fa-projector { - --fa: "\f8d6"; -} - -.fa-radio { - --fa: "\f8d7"; -} - -.fa-radio-tuner { - --fa: "\f8d8"; -} - -.fa-radio-alt { - --fa: "\f8d8"; -} - -.fa-record-vinyl { - --fa: "\f8d9"; -} - -.fa-router { - --fa: "\f8da"; -} - -.fa-saxophone-fire { - --fa: "\f8db"; -} - -.fa-sax-hot { - --fa: "\f8db"; -} - -.fa-saxophone { - --fa: "\f8dc"; -} - -.fa-signal-stream { - --fa: "\f8dd"; -} - -.fa-skull-cow { - --fa: "\f8de"; -} - -.fa-speaker { - --fa: "\f8df"; -} - -.fa-speakers { - --fa: "\f8e0"; -} - -.fa-triangle-instrument { - --fa: "\f8e2"; -} - -.fa-triangle-music { - --fa: "\f8e2"; -} - -.fa-trumpet { - --fa: "\f8e3"; -} - -.fa-turntable { - --fa: "\f8e4"; -} - -.fa-tv-music { - --fa: "\f8e6"; -} - -.fa-typewriter { - --fa: "\f8e7"; -} - -.fa-usb-drive { - --fa: "\f8e9"; -} - -.fa-user-cowboy { - --fa: "\f8ea"; -} - -.fa-user-music { - --fa: "\f8eb"; -} - -.fa-cassette-vhs { - --fa: "\f8ec"; -} - -.fa-vhs { - --fa: "\f8ec"; -} - -.fa-violin { - --fa: "\f8ed"; -} - -.fa-wagon-covered { - --fa: "\f8ee"; -} - -.fa-walkie-talkie { - --fa: "\f8ef"; -} - -.fa-watch-calculator { - --fa: "\f8f0"; -} - -.fa-waveform { - --fa: "\f8f1"; -} - -.fa-waveform-lines { - --fa: "\f8f2"; -} - -.fa-waveform-path { - --fa: "\f8f2"; -} - -.fa-scanner-image { - --fa: "\f8f3"; -} - -.fa-air-conditioner { - --fa: "\f8f4"; -} - -.fa-alien { - --fa: "\f8f5"; -} - -.fa-alien-8bit { - --fa: "\f8f6"; -} - -.fa-alien-monster { - --fa: "\f8f6"; -} - -.fa-bed-front { - --fa: "\f8f7"; -} - -.fa-bed-alt { - --fa: "\f8f7"; -} - -.fa-bed-bunk { - --fa: "\f8f8"; -} - -.fa-bed-empty { - --fa: "\f8f9"; -} - -.fa-bell-on { - --fa: "\f8fa"; -} - -.fa-blinds { - --fa: "\f8fb"; -} - -.fa-blinds-open { - --fa: "\f8fc"; -} - -.fa-blinds-raised { - --fa: "\f8fd"; -} - -.fa-camera-security { - --fa: "\f8fe"; -} - -.fa-camera-home { - --fa: "\f8fe"; -} - -.fa-caravan { - --fa: "\f8ff"; -} diff --git a/public/vendor/fontawesome/css/fontawesome.min.css b/public/vendor/fontawesome/css/fontawesome.min.css deleted file mode 100644 index 85923c8..0000000 --- a/public/vendor/fontawesome/css/fontawesome.min.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -.fa,.fa-brands,.fa-chisel,.fa-classic,.fa-duotone,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-light,.fa-notdog,.fa-notdog-duo,.fa-regular,.fa-semibold,.fa-sharp,.fa-sharp-duotone,.fa-slab,.fa-slab-press,.fa-solid,.fa-thin,.fa-thumbprint,.fa-utility,.fa-utility-duo,.fa-utility-fill,.fa-whiteboard,.fab,.facr,.fad,.fadl,.fadr,.fadt,.faes,.fajdr,.fajfr,.fajr,.fal,.fands,.fans,.far,.fas,.fasdl,.fasdr,.fasds,.fasdt,.fasl,.faslpr,.faslr,.fasr,.fass,.fast,.fat,.fatl,.faudsb,.faufsb,.fausb,.fawsb{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Pro"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.fass,.far,.fasr,.fal,.fasl,.fat,.fast,.fad,.fadr,.fadl,.fadt,.fasds,.fasdr,.fasdl,.fasdt,.fab,.faslr,.faslpr,.fawsb,.fatl,.fans,.fands,.faes,.fajr,.fajfr,.fajdr,.facr,.fausb,.faudsb,.faufsb,.fa-solid,.fa-semibold,.fa-regular,.fa-light,.fa-thin,.fa-brands,.fa-classic,.fa-duotone,.fa-sharp,.fa-sharp-duotone,.fa-chisel,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-notdog,.fa-notdog-duo,.fa-slab,.fa-slab-press,.fa-thumbprint,.fa-utility,.fa-utility-duo,.fa-utility-fill,.fa-whiteboard,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.fass,.far,.fasr,.fal,.fasl,.fat,.fast,.fad,.fadr,.fadl,.fadt,.fasds,.fasdr,.fasdl,.fasdt,.fab,.faslr,.faslpr,.fawsb,.fatl,.fans,.fands,.faes,.fajr,.fajfr,.fajdr,.facr,.fausb,.faudsb,.faufsb,.fa-solid,.fa-semibold,.fa-regular,.fa-light,.fa-thin,.fa-brands,.fa-classic,.fa-duotone,.fa-sharp,.fa-sharp-duotone,.fa-chisel,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-notdog,.fa-notdog-duo,.fa-slab,.fa-slab-press,.fa-thumbprint,.fa-utility,.fa-utility-duo,.fa-utility-fill,.fa-whiteboard,.fa):before{content:var(--fa)}}:is(.fad,.fa-duotone,.fadr,.fadl,.fadt,.fasds,.fa-sharp-duotone,.fasdr,.fasdl,.fasdt,.fatl,.fa-thumbprint,.fands,.fa-notdog-duo,.fajdr,.fa-jelly-duo,.faudsb,.fa-utility-duo):after{content:var(--fa);font-feature-settings:"ss01"}@supports not (content:""/""){:is(.fad,.fa-duotone,.fadr,.fadl,.fadt,.fasds,.fa-sharp-duotone,.fasdr,.fasdl,.fasdt,.fatl,.fa-thumbprint,.fands,.fa-notdog-duo,.fajdr,.fa-jelly-duo,.faudsb,.fa-utility-duo):after{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} - -.fa-0{--fa:"\30 "}.fa-1{--fa:"\31 "}.fa-2{--fa:"\32 "}.fa-3{--fa:"\33 "}.fa-4{--fa:"\34 "}.fa-5{--fa:"\35 "}.fa-6{--fa:"\36 "}.fa-7{--fa:"\37 "}.fa-8{--fa:"\38 "}.fa-9{--fa:"\39 "}.fa-exclamation{--fa:"\!"}.fa-ditto{--fa:'"'}.fa-hashtag{--fa:"\#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}.fa-percent,.fa-percentage{--fa:"\%"}.fa-ampersand{--fa:"\&"}.fa-apostrophe{--fa:"'"}.fa-bracket-round,.fa-parenthesis{--fa:"\("}.fa-bracket-round-right{--fa:"\)"}.fa-asterisk{--fa:"\*"}.fa-add,.fa-plus{--fa:"\+"}.fa-comma{--fa:"\,"}.fa-hyphen{--fa:"\-"}.fa-period{--fa:"\."}.fa-slash-forward{--fa:"\/"}.fa-colon{--fa:"\:"}.fa-semicolon{--fa:"\;"}.fa-less-than{--fa:"\<"}.fa-equals{--fa:"\="}.fa-greater-than{--fa:"\>"}.fa-question{--fa:"\?"}.fa-at{--fa:"\@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-bracket,.fa-bracket-left,.fa-bracket-square{--fa:"\["}.fa-slash-back{--fa:"\\"}.fa-bracket-square-right{--fa:"\]"}.fa-accent-grave{--fa:"\`"}.fa-bracket-curly,.fa-bracket-curly-left{--fa:"\{"}.fa-pipe{--fa:"\|"}.fa-bracket-curly-right{--fa:"\}"}.fa-tilde{--fa:"\~"}.fa-caravan-alt,.fa-caravan-simple{--fa:"\e000"}.fa-cat-space{--fa:"\e001"}.fa-coffee-pot{--fa:"\e002"}.fa-comet{--fa:"\e003"}.fa-fan-table{--fa:"\e004"}.fa-faucet{--fa:"\e005"}.fa-faucet-drip{--fa:"\e006"}.fa-galaxy{--fa:"\e008"}.fa-garage{--fa:"\e009"}.fa-garage-car{--fa:"\e00a"}.fa-garage-open{--fa:"\e00b"}.fa-heat{--fa:"\e00c"}.fa-house-chimney-window{--fa:"\e00d"}.fa-house-day{--fa:"\e00e"}.fa-house-leave,.fa-house-person-depart,.fa-house-person-leave{--fa:"\e00f"}.fa-house-night{--fa:"\e010"}.fa-house-person-arrive,.fa-house-person-return,.fa-house-return{--fa:"\e011"}.fa-house-signal{--fa:"\e012"}.fa-lamp-desk{--fa:"\e014"}.fa-lamp-floor{--fa:"\e015"}.fa-light-ceiling{--fa:"\e016"}.fa-light-switch{--fa:"\e017"}.fa-light-switch-off{--fa:"\e018"}.fa-light-switch-on{--fa:"\e019"}.fa-microwave{--fa:"\e01b"}.fa-outlet{--fa:"\e01c"}.fa-oven{--fa:"\e01d"}.fa-planet-moon{--fa:"\e01f"}.fa-planet-ringed{--fa:"\e020"}.fa-police-box{--fa:"\e021"}.fa-person-to-portal,.fa-portal-enter{--fa:"\e022"}.fa-person-from-portal,.fa-portal-exit{--fa:"\e023"}.fa-radar{--fa:"\e024"}.fa-raygun{--fa:"\e025"}.fa-refrigerator{--fa:"\e026"}.fa-rocket-launch{--fa:"\e027"}.fa-sensor{--fa:"\e028"}.fa-sensor-alert,.fa-sensor-triangle-exclamation{--fa:"\e029"}.fa-sensor-fire{--fa:"\e02a"}.fa-sensor-on{--fa:"\e02b"}.fa-sensor-cloud,.fa-sensor-smoke{--fa:"\e02c"}.fa-siren{--fa:"\e02d"}.fa-siren-on{--fa:"\e02e"}.fa-solar-system{--fa:"\e02f"}.fa-circle-sort,.fa-sort-circle{--fa:"\e030"}.fa-circle-sort-down,.fa-sort-circle-down{--fa:"\e031"}.fa-circle-sort-up,.fa-sort-circle-up{--fa:"\e032"}.fa-space-station-moon{--fa:"\e033"}.fa-space-station-moon-alt,.fa-space-station-moon-construction{--fa:"\e034"}.fa-sprinkler{--fa:"\e035"}.fa-star-shooting{--fa:"\e036"}.fa-starfighter{--fa:"\e037"}.fa-starfighter-alt,.fa-starfighter-twin-ion-engine{--fa:"\e038"}.fa-starship{--fa:"\e039"}.fa-starship-freighter{--fa:"\e03a"}.fa-sword-laser{--fa:"\e03b"}.fa-sword-laser-alt{--fa:"\e03c"}.fa-swords-laser{--fa:"\e03d"}.fa-telescope{--fa:"\e03e"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-trailer{--fa:"\e041"}.fa-transporter{--fa:"\e042"}.fa-transporter-1{--fa:"\e043"}.fa-transporter-2{--fa:"\e044"}.fa-transporter-3{--fa:"\e045"}.fa-transporter-empty{--fa:"\e046"}.fa-ufo{--fa:"\e047"}.fa-ufo-beam{--fa:"\e048"}.fa-user-alien{--fa:"\e04a"}.fa-user-robot{--fa:"\e04b"}.fa-user-visor{--fa:"\e04c"}.fa-vacuum{--fa:"\e04d"}.fa-vacuum-robot{--fa:"\e04e"}.fa-window-frame{--fa:"\e04f"}.fa-window-frame-open{--fa:"\e050"}.fa-coffin-cross{--fa:"\e051"}.fa-folder-arrow-down,.fa-folder-download{--fa:"\e053"}.fa-folder-arrow-up,.fa-folder-upload{--fa:"\e054"}.fa-user-unlock{--fa:"\e058"}.fa-bacteria{--fa:"\e059"}.fa-bacterium{--fa:"\e05a"}.fa-box-tissue{--fa:"\e05b"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-hand-sparkles{--fa:"\e05d"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}.fa-head-side-cough{--fa:"\e061"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-head-side-mask{--fa:"\e063"}.fa-head-side-virus{--fa:"\e064"}.fa-house-chimney-user{--fa:"\e065"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-lungs-virus{--fa:"\e067"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-plane-slash{--fa:"\e069"}.fa-pump-medical{--fa:"\e06a"}.fa-pump-soap{--fa:"\e06b"}.fa-shield-virus{--fa:"\e06c"}.fa-sink{--fa:"\e06d"}.fa-soap{--fa:"\e06e"}.fa-stopwatch-20{--fa:"\e06f"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-store-slash{--fa:"\e071"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-users-slash{--fa:"\e073"}.fa-virus{--fa:"\e074"}.fa-virus-slash{--fa:"\e075"}.fa-viruses{--fa:"\e076"}.fa-vest{--fa:"\e085"}.fa-vest-patches{--fa:"\e086"}.fa-airplay{--fa:"\e089"}.fa-alt{--fa:"\e08a"}.fa-angle{--fa:"\e08c"}.fa-angle-90{--fa:"\e08d"}.fa-apple-core{--fa:"\e08f"}.fa-arrow-down-from-dotted-line{--fa:"\e090"}.fa-arrow-down-left{--fa:"\e091"}.fa-arrow-down-left-and-arrow-up-right-to-center{--fa:"\e092"}.fa-arrow-down-right{--fa:"\e093"}.fa-arrow-down-to-bracket{--fa:"\e094"}.fa-arrow-down-to-dotted-line{--fa:"\e095"}.fa-arrow-down-to-square{--fa:"\e096"}.fa-arrow-trend-down{--fa:"\e097"}.fa-arrow-trend-up{--fa:"\e098"}.fa-arrow-up-arrow-down,.fa-sort-up-down{--fa:"\e099"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-arrow-up-from-dotted-line{--fa:"\e09b"}.fa-arrow-up-from-square{--fa:"\e09c"}.fa-arrow-up-left{--fa:"\e09d"}.fa-arrow-up-left-from-circle{--fa:"\e09e"}.fa-arrow-up-right{--fa:"\e09f"}.fa-arrow-up-right-and-arrow-down-left-from-center{--fa:"\e0a0"}.fa-arrow-up-to-dotted-line{--fa:"\e0a1"}.fa-arrows-cross{--fa:"\e0a2"}.fa-arrows-from-dotted-line{--fa:"\e0a3"}.fa-arrows-from-line{--fa:"\e0a4"}.fa-arrows-minimize,.fa-compress-arrows{--fa:"\e0a5"}.fa-arrows-to-dotted-line{--fa:"\e0a6"}.fa-arrows-to-line{--fa:"\e0a7"}.fa-audio-description-slash{--fa:"\e0a8"}.fa-austral-sign{--fa:"\e0a9"}.fa-avocado{--fa:"\e0aa"}.fa-award-simple{--fa:"\e0ab"}.fa-baht-sign{--fa:"\e0ac"}.fa-bars-filter{--fa:"\e0ad"}.fa-bars-sort{--fa:"\e0ae"}.fa-basket-shopping-simple,.fa-shopping-basket-alt{--fa:"\e0af"}.fa-battery-exclamation{--fa:"\e0b0"}.fa-battery-1,.fa-battery-low{--fa:"\e0b1"}.fa-bee{--fa:"\e0b2"}.fa-beer-foam,.fa-beer-mug{--fa:"\e0b3"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-block-quote{--fa:"\e0b5"}.fa-bolt-auto{--fa:"\e0b6"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-bolt-slash{--fa:"\e0b8"}.fa-book-arrow-right{--fa:"\e0b9"}.fa-book-arrow-up{--fa:"\e0ba"}.fa-book-bookmark{--fa:"\e0bb"}.fa-book-circle-arrow-right{--fa:"\e0bc"}.fa-book-circle-arrow-up{--fa:"\e0bd"}.fa-book-copy{--fa:"\e0be"}.fa-book-font{--fa:"\e0bf"}.fa-book-open-alt,.fa-book-open-cover{--fa:"\e0c0"}.fa-book-law,.fa-book-section{--fa:"\e0c1"}.fa-bookmark-slash{--fa:"\e0c2"}.fa-bowling-ball-pin{--fa:"\e0c3"}.fa-box-circle-check{--fa:"\e0c4"}.fa-brackets-round,.fa-parentheses{--fa:"\e0c5"}.fa-brain-circuit{--fa:"\e0c6"}.fa-brake-warning{--fa:"\e0c7"}.fa-briefcase-blank{--fa:"\e0c8"}.fa-brightness{--fa:"\e0c9"}.fa-brightness-low{--fa:"\e0ca"}.fa-browsers{--fa:"\e0cb"}.fa-buildings{--fa:"\e0cc"}.fa-burger-fries{--fa:"\e0cd"}.fa-burger-glass{--fa:"\e0ce"}.fa-calendar-arrow-down,.fa-calendar-download{--fa:"\e0d0"}.fa-calendar-arrow-up,.fa-calendar-upload{--fa:"\e0d1"}.fa-calendar-clock,.fa-calendar-time{--fa:"\e0d2"}.fa-calendar-heart{--fa:"\e0d3"}.fa-calendar-image{--fa:"\e0d4"}.fa-calendar-lines,.fa-calendar-note{--fa:"\e0d5"}.fa-calendar-range{--fa:"\e0d6"}.fa-calendars{--fa:"\e0d7"}.fa-camera-rotate{--fa:"\e0d8"}.fa-camera-slash{--fa:"\e0d9"}.fa-camera-viewfinder,.fa-screenshot{--fa:"\e0da"}.fa-cart-minus{--fa:"\e0db"}.fa-cart-shopping-fast{--fa:"\e0dc"}.fa-cart-xmark{--fa:"\e0dd"}.fa-castle{--fa:"\e0de"}.fa-cedi-sign{--fa:"\e0df"}.fa-chart-bullet{--fa:"\e0e1"}.fa-chart-candlestick{--fa:"\e0e2"}.fa-chart-column{--fa:"\e0e3"}.fa-chart-gantt{--fa:"\e0e4"}.fa-chart-line-up{--fa:"\e0e5"}.fa-chart-pyramid{--fa:"\e0e6"}.fa-chart-radar{--fa:"\e0e7"}.fa-chart-scatter-3d{--fa:"\e0e8"}.fa-chart-scatter-bubble{--fa:"\e0e9"}.fa-chart-tree-map{--fa:"\e0ea"}.fa-chart-waterfall{--fa:"\e0eb"}.fa-cherries{--fa:"\e0ec"}.fa-circle-0{--fa:"\e0ed"}.fa-circle-1{--fa:"\e0ee"}.fa-circle-2{--fa:"\e0ef"}.fa-circle-3{--fa:"\e0f0"}.fa-circle-4{--fa:"\e0f1"}.fa-circle-5{--fa:"\e0f2"}.fa-circle-6{--fa:"\e0f3"}.fa-circle-7{--fa:"\e0f4"}.fa-circle-8{--fa:"\e0f5"}.fa-circle-9{--fa:"\e0f6"}.fa-circle-a{--fa:"\e0f7"}.fa-circle-ampersand{--fa:"\e0f8"}.fa-circle-arrow-down-left{--fa:"\e0f9"}.fa-circle-arrow-down-right{--fa:"\e0fa"}.fa-circle-arrow-up-left{--fa:"\e0fb"}.fa-circle-arrow-up-right{--fa:"\e0fc"}.fa-circle-b{--fa:"\e0fd"}.fa-circle-bolt{--fa:"\e0fe"}.fa-book-circle,.fa-circle-book-open{--fa:"\e0ff"}.fa-bookmark-circle,.fa-circle-bookmark{--fa:"\e100"}.fa-circle-c{--fa:"\e101"}.fa-calendar-circle,.fa-circle-calendar{--fa:"\e102"}.fa-camera-circle,.fa-circle-camera{--fa:"\e103"}.fa-circle-d{--fa:"\e104"}.fa-circle-dashed{--fa:"\e105"}.fa-circle-divide{--fa:"\e106"}.fa-circle-down-left{--fa:"\e107"}.fa-circle-down-right{--fa:"\e108"}.fa-circle-e{--fa:"\e109"}.fa-circle-ellipsis{--fa:"\e10a"}.fa-circle-ellipsis-vertical{--fa:"\e10b"}.fa-circle-envelope,.fa-envelope-circle{--fa:"\e10c"}.fa-circle-exclamation-check{--fa:"\e10d"}.fa-circle-f{--fa:"\e10e"}.fa-circle-g{--fa:"\e10f"}.fa-circle-half{--fa:"\e110"}.fa-circle-i{--fa:"\e111"}.fa-circle-j{--fa:"\e112"}.fa-circle-k{--fa:"\e113"}.fa-circle-l{--fa:"\e114"}.fa-circle-m{--fa:"\e115"}.fa-circle-microphone,.fa-microphone-circle{--fa:"\e116"}.fa-circle-microphone-lines,.fa-microphone-circle-alt{--fa:"\e117"}.fa-circle-n{--fa:"\e118"}.fa-circle-o{--fa:"\e119"}.fa-circle-p{--fa:"\e11a"}.fa-circle-phone,.fa-phone-circle{--fa:"\e11b"}.fa-circle-phone-flip,.fa-phone-circle-alt{--fa:"\e11c"}.fa-circle-phone-hangup,.fa-phone-circle-down{--fa:"\e11d"}.fa-circle-q{--fa:"\e11e"}.fa-circle-quarter{--fa:"\e11f"}.fa-circle-r{--fa:"\e120"}.fa-circle-s{--fa:"\e121"}.fa-circle-small{--fa:"\e122"}.fa-circle-star,.fa-star-circle{--fa:"\e123"}.fa-circle-t{--fa:"\e124"}.fa-circle-three-quarters{--fa:"\e125"}.fa-circle-trash,.fa-trash-circle{--fa:"\e126"}.fa-circle-u{--fa:"\e127"}.fa-circle-up-left{--fa:"\e128"}.fa-circle-up-right{--fa:"\e129"}.fa-circle-v{--fa:"\e12a"}.fa-circle-video,.fa-video-circle{--fa:"\e12b"}.fa-circle-w{--fa:"\e12c"}.fa-circle-waveform-lines,.fa-waveform-circle{--fa:"\e12d"}.fa-circle-x{--fa:"\e12e"}.fa-circle-y{--fa:"\e12f"}.fa-circle-z{--fa:"\e130"}.fa-clapperboard{--fa:"\e131"}.fa-clapperboard-play{--fa:"\e132"}.fa-clipboard-medical{--fa:"\e133"}.fa-clock-desk{--fa:"\e134"}.fa-closed-captioning-slash{--fa:"\e135"}.fa-clothes-hanger{--fa:"\e136"}.fa-cloud-slash{--fa:"\e137"}.fa-cloud-word{--fa:"\e138"}.fa-clover{--fa:"\e139"}.fa-code-compare{--fa:"\e13a"}.fa-code-fork{--fa:"\e13b"}.fa-code-pull-request{--fa:"\e13c"}.fa-code-simple{--fa:"\e13d"}.fa-coffee-bean{--fa:"\e13e"}.fa-coffee-beans{--fa:"\e13f"}.fa-colon-sign{--fa:"\e140"}.fa-command{--fa:"\e142"}.fa-comment-arrow-down{--fa:"\e143"}.fa-comment-arrow-up{--fa:"\e144"}.fa-comment-arrow-up-right{--fa:"\e145"}.fa-comment-captions{--fa:"\e146"}.fa-comment-code{--fa:"\e147"}.fa-comment-image{--fa:"\e148"}.fa-comment-middle{--fa:"\e149"}.fa-comment-middle-top{--fa:"\e14a"}.fa-comment-question{--fa:"\e14b"}.fa-comment-quote{--fa:"\e14c"}.fa-comment-text{--fa:"\e14d"}.fa-comments-question{--fa:"\e14e"}.fa-comments-question-check{--fa:"\e14f"}.fa-conveyor-belt-empty{--fa:"\e150"}.fa-crate-empty{--fa:"\e151"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-delete-right{--fa:"\e154"}.fa-desktop-arrow-down{--fa:"\e155"}.fa-diagram-lean-canvas{--fa:"\e156"}.fa-diagram-nested{--fa:"\e157"}.fa-diagram-sankey{--fa:"\e158"}.fa-diagram-venn{--fa:"\e15a"}.fa-dial,.fa-dial-med-high{--fa:"\e15b"}.fa-dial-high{--fa:"\e15c"}.fa-dial-low{--fa:"\e15d"}.fa-dial-max{--fa:"\e15e"}.fa-dial-med{--fa:"\e15f"}.fa-dial-med-low{--fa:"\e160"}.fa-dial-min{--fa:"\e161"}.fa-dial-off{--fa:"\e162"}.fa-display{--fa:"\e163"}.fa-display-arrow-down{--fa:"\e164"}.fa-desktop-code,.fa-display-code{--fa:"\e165"}.fa-desktop-medical,.fa-display-medical{--fa:"\e166"}.fa-dolphin{--fa:"\e168"}.fa-dong-sign{--fa:"\e169"}.fa-down-left{--fa:"\e16a"}.fa-down-right{--fa:"\e16b"}.fa-eggplant{--fa:"\e16c"}.fa-elevator{--fa:"\e16d"}.fa-engine{--fa:"\e16e"}.fa-envelope-badge,.fa-envelope-dot{--fa:"\e16f"}.fa-envelopes{--fa:"\e170"}.fa-escalator{--fa:"\e171"}.fa-eye-dropper-full{--fa:"\e172"}.fa-eye-dropper-half{--fa:"\e173"}.fa-ferris-wheel{--fa:"\e174"}.fa-file-binary{--fa:"\e175"}.fa-file-heart{--fa:"\e176"}.fa-file-plus-minus{--fa:"\e177"}.fa-files{--fa:"\e178"}.fa-film-slash{--fa:"\e179"}.fa-films{--fa:"\e17a"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-filter-list{--fa:"\e17c"}.fa-filter-slash{--fa:"\e17d"}.fa-filters{--fa:"\e17e"}.fa-fire-hydrant{--fa:"\e17f"}.fa-floppy-disk-circle-arrow-right,.fa-save-circle-arrow-right{--fa:"\e180"}.fa-floppy-disk-circle-xmark,.fa-floppy-disk-times,.fa-save-circle-xmark,.fa-save-times{--fa:"\e181"}.fa-floppy-disk-pen{--fa:"\e182"}.fa-floppy-disks{--fa:"\e183"}.fa-florin-sign{--fa:"\e184"}.fa-folder-closed{--fa:"\e185"}.fa-folder-bookmark{--fa:"\e186"}.fa-folder-cog,.fa-folder-gear{--fa:"\e187"}.fa-folder-grid{--fa:"\e188"}.fa-folder-heart{--fa:"\e189"}.fa-folder-image{--fa:"\e18a"}.fa-folder-magnifying-glass,.fa-folder-search{--fa:"\e18b"}.fa-folder-medical{--fa:"\e18c"}.fa-folder-music{--fa:"\e18d"}.fa-folder-user{--fa:"\e18e"}.fa-franc-sign{--fa:"\e18f"}.fa-gif{--fa:"\e190"}.fa-glass-empty{--fa:"\e191"}.fa-glass-half,.fa-glass-half-empty,.fa-glass-half-full{--fa:"\e192"}.fa-grate{--fa:"\e193"}.fa-grate-droplet{--fa:"\e194"}.fa-grid,.fa-grid-3{--fa:"\e195"}.fa-grid-2{--fa:"\e196"}.fa-grid-2-plus{--fa:"\e197"}.fa-grid-4{--fa:"\e198"}.fa-grid-5{--fa:"\e199"}.fa-guarani-sign{--fa:"\e19a"}.fa-gun{--fa:"\e19b"}.fa-gun-slash{--fa:"\e19c"}.fa-gun-squirt{--fa:"\e19d"}.fa-hand-back-point-down{--fa:"\e19e"}.fa-hand-back-point-left{--fa:"\e19f"}.fa-hand-back-point-ribbon{--fa:"\e1a0"}.fa-hand-back-point-right{--fa:"\e1a1"}.fa-hand-back-point-up{--fa:"\e1a2"}.fa-hand-fingers-crossed{--fa:"\e1a3"}.fa-hand-holding-skull{--fa:"\e1a4"}.fa-hand-love{--fa:"\e1a5"}.fa-hand-point-ribbon{--fa:"\e1a6"}.fa-hand-wave{--fa:"\e1a7"}.fa-hands-clapping{--fa:"\e1a8"}.fa-hand-horns{--fa:"\e1a9"}.fa-head-side-heart{--fa:"\e1aa"}.fa-heart-half{--fa:"\e1ab"}.fa-heart-half-alt,.fa-heart-half-stroke{--fa:"\e1ac"}.fa-hexagon-divide{--fa:"\e1ad"}.fa-high-definition,.fa-rectangle-hd{--fa:"\e1ae"}.fa-highlighter-line{--fa:"\e1af"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-house-building{--fa:"\e1b1"}.fa-house-chimney-heart{--fa:"\e1b2"}.fa-house-tree{--fa:"\e1b3"}.fa-house-turret{--fa:"\e1b4"}.fa-image-landscape,.fa-landscape{--fa:"\e1b5"}.fa-image-polaroid-user{--fa:"\e1b6"}.fa-image-slash{--fa:"\e1b7"}.fa-image-user{--fa:"\e1b8"}.fa-images-user{--fa:"\e1b9"}.fa-inbox-full{--fa:"\e1ba"}.fa-inboxes{--fa:"\e1bb"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-input-numeric{--fa:"\e1bd"}.fa-input-pipe{--fa:"\e1be"}.fa-input-text{--fa:"\e1bf"}.fa-keyboard-brightness{--fa:"\e1c0"}.fa-keyboard-brightness-low{--fa:"\e1c1"}.fa-keyboard-down{--fa:"\e1c2"}.fa-keyboard-left{--fa:"\e1c3"}.fa-kip-sign{--fa:"\e1c4"}.fa-lamp-street{--fa:"\e1c5"}.fa-laptop-arrow-down{--fa:"\e1c6"}.fa-laptop-slash{--fa:"\e1c7"}.fa-lari-sign{--fa:"\e1c8"}.fa-lasso-sparkles{--fa:"\e1c9"}.fa-lightbulb-exclamation-on{--fa:"\e1ca"}.fa-chain-horizontal,.fa-link-horizontal{--fa:"\e1cb"}.fa-chain-horizontal-slash,.fa-link-horizontal-slash{--fa:"\e1cc"}.fa-link-simple{--fa:"\e1cd"}.fa-link-simple-slash{--fa:"\e1ce"}.fa-list-dropdown{--fa:"\e1cf"}.fa-list-radio{--fa:"\e1d0"}.fa-list-timeline{--fa:"\e1d1"}.fa-list-tree{--fa:"\e1d2"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-loader{--fa:"\e1d4"}.fa-manat-sign{--fa:"\e1d5"}.fa-manhole{--fa:"\e1d6"}.fa-mask-face{--fa:"\e1d7"}.fa-memo{--fa:"\e1d8"}.fa-memo-circle-check{--fa:"\e1d9"}.fa-memo-pad{--fa:"\e1da"}.fa-comment-alt-arrow-down,.fa-message-arrow-down{--fa:"\e1db"}.fa-comment-alt-arrow-up,.fa-message-arrow-up{--fa:"\e1dc"}.fa-message-arrow-up-right{--fa:"\e1dd"}.fa-comment-alt-captions,.fa-message-captions{--fa:"\e1de"}.fa-message-code{--fa:"\e1df"}.fa-comment-alt-image,.fa-message-image{--fa:"\e1e0"}.fa-comment-middle-alt,.fa-message-middle{--fa:"\e1e1"}.fa-comment-middle-top-alt,.fa-message-middle-top{--fa:"\e1e2"}.fa-message-question{--fa:"\e1e3"}.fa-comment-alt-quote,.fa-message-quote{--fa:"\e1e4"}.fa-message-sms{--fa:"\e1e5"}.fa-comment-alt-text,.fa-message-text{--fa:"\e1e6"}.fa-messages-question{--fa:"\e1e7"}.fa-meter{--fa:"\e1e8"}.fa-meter-bolt{--fa:"\e1e9"}.fa-meter-droplet{--fa:"\e1ea"}.fa-meter-fire{--fa:"\e1eb"}.fa-microchip-ai{--fa:"\e1ec"}.fa-mill-sign{--fa:"\e1ed"}.fa-mobile-iphone,.fa-mobile-notch{--fa:"\e1ee"}.fa-mobile-signal{--fa:"\e1ef"}.fa-mobile-signal-out{--fa:"\e1f0"}.fa-money-bill-simple{--fa:"\e1f1"}.fa-money-bill-simple-wave{--fa:"\e1f2"}.fa-money-bills{--fa:"\e1f3"}.fa-money-bills-alt,.fa-money-bills-simple{--fa:"\e1f4"}.fa-mug-tea-saucer{--fa:"\e1f5"}.fa-naira-sign{--fa:"\e1f6"}.fa-nfc{--fa:"\e1f7"}.fa-nfc-lock{--fa:"\e1f8"}.fa-nfc-magnifying-glass{--fa:"\e1f9"}.fa-nfc-pen{--fa:"\e1fa"}.fa-nfc-signal{--fa:"\e1fb"}.fa-nfc-slash{--fa:"\e1fc"}.fa-nfc-trash{--fa:"\e1fd"}.fa-notdef{--fa:"\e1fe"}.fa-note{--fa:"\e1ff"}.fa-note-medical{--fa:"\e200"}.fa-notebook{--fa:"\e201"}.fa-notes{--fa:"\e202"}.fa-octagon-divide{--fa:"\e203"}.fa-octagon-exclamation{--fa:"\e204"}.fa-oil-can-drip{--fa:"\e205"}.fa-paintbrush-pencil{--fa:"\e206"}.fa-pallet-box{--fa:"\e208"}.fa-panorama{--fa:"\e209"}.fa-paper-plane-alt,.fa-paper-plane-top,.fa-send{--fa:"\e20a"}.fa-peach{--fa:"\e20b"}.fa-pear{--fa:"\e20c"}.fa-pedestal{--fa:"\e20d"}.fa-pen-circle{--fa:"\e20e"}.fa-pen-alt-slash,.fa-pen-clip-slash{--fa:"\e20f"}.fa-pen-fancy-slash{--fa:"\e210"}.fa-pen-field{--fa:"\e211"}.fa-pen-line{--fa:"\e212"}.fa-pen-slash{--fa:"\e213"}.fa-pen-swirl{--fa:"\e214"}.fa-pencil-slash{--fa:"\e215"}.fa-people{--fa:"\e216"}.fa-people-dress{--fa:"\e217"}.fa-people-dress-simple{--fa:"\e218"}.fa-people-pants{--fa:"\e219"}.fa-people-pants-simple{--fa:"\e21a"}.fa-people-simple{--fa:"\e21b"}.fa-person-dress-simple{--fa:"\e21c"}.fa-person-pinball{--fa:"\e21d"}.fa-person-seat{--fa:"\e21e"}.fa-person-seat-reclined{--fa:"\e21f"}.fa-person-simple{--fa:"\e220"}.fa-peseta-sign{--fa:"\e221"}.fa-peso-sign{--fa:"\e222"}.fa-phone-arrow-down,.fa-phone-arrow-down-left,.fa-phone-incoming{--fa:"\e223"}.fa-phone-arrow-up,.fa-phone-arrow-up-right,.fa-phone-outgoing{--fa:"\e224"}.fa-phone-hangup{--fa:"\e225"}.fa-phone-missed{--fa:"\e226"}.fa-phone-xmark{--fa:"\e227"}.fa-photo-film-music{--fa:"\e228"}.fa-pinball{--fa:"\e229"}.fa-plane-prop{--fa:"\e22b"}.fa-plane-tail{--fa:"\e22c"}.fa-plane-up{--fa:"\e22d"}.fa-plane-up-slash{--fa:"\e22e"}.fa-play-pause{--fa:"\e22f"}.fa-puzzle-piece-alt,.fa-puzzle-piece-simple{--fa:"\e231"}.fa-quotes{--fa:"\e234"}.fa-pro,.fa-rectangle-pro{--fa:"\e235"}.fa-rectangle-terminal{--fa:"\e236"}.fa-rectangle-vertical-history{--fa:"\e237"}.fa-reel{--fa:"\e238"}.fa-reply-clock,.fa-reply-time{--fa:"\e239"}.fa-restroom-simple{--fa:"\e23a"}.fa-rhombus{--fa:"\e23b"}.fa-rotate-exclamation{--fa:"\e23c"}.fa-rupiah-sign{--fa:"\e23d"}.fa-screencast{--fa:"\e23e"}.fa-scribble{--fa:"\e23f"}.fa-sd-cards{--fa:"\e240"}.fa-seal{--fa:"\e241"}.fa-seal-exclamation{--fa:"\e242"}.fa-seal-question{--fa:"\e243"}.fa-seat-airline{--fa:"\e244"}.fa-shelves-empty{--fa:"\e246"}.fa-shield-exclamation{--fa:"\e247"}.fa-shield-keyhole{--fa:"\e248"}.fa-shield-minus{--fa:"\e249"}.fa-shield-plus{--fa:"\e24a"}.fa-shield-slash{--fa:"\e24b"}.fa-shield-times,.fa-shield-xmark{--fa:"\e24c"}.fa-shower-alt,.fa-shower-down{--fa:"\e24d"}.fa-sidebar{--fa:"\e24e"}.fa-sidebar-flip{--fa:"\e24f"}.fa-signal-stream-slash{--fa:"\e250"}.fa-sim-cards{--fa:"\e251"}.fa-slider{--fa:"\e252"}.fa-sliders-simple{--fa:"\e253"}.fa-split{--fa:"\e254"}.fa-square-0{--fa:"\e255"}.fa-square-1{--fa:"\e256"}.fa-square-2{--fa:"\e257"}.fa-square-3{--fa:"\e258"}.fa-square-4{--fa:"\e259"}.fa-square-5{--fa:"\e25a"}.fa-square-6{--fa:"\e25b"}.fa-square-7{--fa:"\e25c"}.fa-square-8{--fa:"\e25d"}.fa-square-9{--fa:"\e25e"}.fa-square-a{--fa:"\e25f"}.fa-square-ampersand{--fa:"\e260"}.fa-square-arrow-down-left{--fa:"\e261"}.fa-square-arrow-down-right{--fa:"\e262"}.fa-square-arrow-up-left{--fa:"\e263"}.fa-square-b{--fa:"\e264"}.fa-square-bolt{--fa:"\e265"}.fa-square-c{--fa:"\e266"}.fa-square-code{--fa:"\e267"}.fa-square-d{--fa:"\e268"}.fa-square-dashed{--fa:"\e269"}.fa-square-divide{--fa:"\e26a"}.fa-square-down-left{--fa:"\e26b"}.fa-square-down-right{--fa:"\e26c"}.fa-square-e{--fa:"\e26d"}.fa-square-ellipsis{--fa:"\e26e"}.fa-square-ellipsis-vertical{--fa:"\e26f"}.fa-square-f{--fa:"\e270"}.fa-square-g{--fa:"\e271"}.fa-square-i{--fa:"\e272"}.fa-square-j{--fa:"\e273"}.fa-square-k{--fa:"\e274"}.fa-square-l{--fa:"\e275"}.fa-square-m{--fa:"\e276"}.fa-square-n{--fa:"\e277"}.fa-square-o{--fa:"\e278"}.fa-square-p{--fa:"\e279"}.fa-phone-square-down,.fa-square-phone-hangup{--fa:"\e27a"}.fa-square-q{--fa:"\e27b"}.fa-square-r{--fa:"\e27c"}.fa-square-s{--fa:"\e27d"}.fa-square-small{--fa:"\e27e"}.fa-square-star{--fa:"\e27f"}.fa-square-t{--fa:"\e280"}.fa-square-u{--fa:"\e281"}.fa-square-up-left{--fa:"\e282"}.fa-square-user{--fa:"\e283"}.fa-square-v{--fa:"\e284"}.fa-square-w{--fa:"\e285"}.fa-square-x{--fa:"\e286"}.fa-square-y{--fa:"\e287"}.fa-square-z{--fa:"\e288"}.fa-stairs{--fa:"\e289"}.fa-rectangle-sd,.fa-standard-definition{--fa:"\e28a"}.fa-star-sharp{--fa:"\e28b"}.fa-star-sharp-half{--fa:"\e28c"}.fa-star-sharp-half-alt,.fa-star-sharp-half-stroke{--fa:"\e28d"}.fa-starfighter-alt-advanced,.fa-starfighter-twin-ion-engine-advanced{--fa:"\e28e"}.fa-sun-alt,.fa-sun-bright{--fa:"\e28f"}.fa-table-layout{--fa:"\e290"}.fa-table-pivot{--fa:"\e291"}.fa-rows,.fa-table-rows{--fa:"\e292"}.fa-table-tree{--fa:"\e293"}.fa-tally-1{--fa:"\e294"}.fa-tally-2{--fa:"\e295"}.fa-tally-3{--fa:"\e296"}.fa-tally-4{--fa:"\e297"}.fa-taxi-bus{--fa:"\e298"}.fa-temperature-list{--fa:"\e299"}.fa-ticket-airline,.fa-ticket-perforated-plane,.fa-ticket-plane{--fa:"\e29a"}.fa-tickets-airline,.fa-tickets-perforated-plane,.fa-tickets-plane{--fa:"\e29b"}.fa-timeline{--fa:"\e29c"}.fa-timeline-arrow{--fa:"\e29d"}.fa-timer{--fa:"\e29e"}.fa-toilet-paper-blank-under,.fa-toilet-paper-reverse,.fa-toilet-paper-reverse-alt,.fa-toilet-paper-under{--fa:"\e2a0"}.fa-toilet-paper-reverse-slash,.fa-toilet-paper-under-slash{--fa:"\e2a1"}.fa-tower-control{--fa:"\e2a2"}.fa-subway-tunnel,.fa-train-subway-tunnel{--fa:"\e2a3"}.fa-transformer-bolt{--fa:"\e2a4"}.fa-transporter-4{--fa:"\e2a5"}.fa-transporter-5{--fa:"\e2a6"}.fa-transporter-6{--fa:"\e2a7"}.fa-transporter-7{--fa:"\e2a8"}.fa-trash-can-check{--fa:"\e2a9"}.fa-trash-can-clock{--fa:"\e2aa"}.fa-trash-can-list{--fa:"\e2ab"}.fa-trash-can-plus{--fa:"\e2ac"}.fa-trash-alt-slash,.fa-trash-can-slash{--fa:"\e2ad"}.fa-trash-can-xmark{--fa:"\e2ae"}.fa-trash-check{--fa:"\e2af"}.fa-trash-clock{--fa:"\e2b0"}.fa-trash-list{--fa:"\e2b1"}.fa-trash-plus{--fa:"\e2b2"}.fa-trash-slash{--fa:"\e2b3"}.fa-trash-xmark{--fa:"\e2b4"}.fa-truck-container-empty{--fa:"\e2b5"}.fa-truck-flatbed{--fa:"\e2b6"}.fa-truck-front{--fa:"\e2b7"}.fa-truck-tow{--fa:"\e2b8"}.fa-teletype-answer,.fa-tty-answer{--fa:"\e2b9"}.fa-tugrik-sign{--fa:"\e2ba"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-umbrella-alt,.fa-umbrella-simple{--fa:"\e2bc"}.fa-up-left{--fa:"\e2bd"}.fa-up-right{--fa:"\e2be"}.fa-user-bounty-hunter{--fa:"\e2bf"}.fa-user-pilot{--fa:"\e2c0"}.fa-user-pilot-tie{--fa:"\e2c1"}.fa-user-shakespeare{--fa:"\e2c2"}.fa-utility-pole{--fa:"\e2c3"}.fa-utility-pole-double{--fa:"\e2c4"}.fa-vault{--fa:"\e2c5"}.fa-video-arrow-down-left{--fa:"\e2c8"}.fa-video-arrow-up-right{--fa:"\e2c9"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-watch-apple{--fa:"\e2cb"}.fa-watch-smart{--fa:"\e2cc"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-wifi-exclamation{--fa:"\e2cf"}.fa-wrench-simple{--fa:"\e2d1"}.fa-robot-astromech{--fa:"\e2d2"}.fa-360-degrees{--fa:"\e2dc"}.fa-aperture{--fa:"\e2df"}.fa-arrow-turn-down-left{--fa:"\e2e1"}.fa-balloon{--fa:"\e2e3"}.fa-balloons{--fa:"\e2e4"}.fa-banana{--fa:"\e2e5"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bench-tree{--fa:"\e2e7"}.fa-blueberries{--fa:"\e2e8"}.fa-bowl-chopsticks{--fa:"\e2e9"}.fa-bowl-chopsticks-noodles{--fa:"\e2ea"}.fa-bowl-rice{--fa:"\e2eb"}.fa-briefcase-arrow-right{--fa:"\e2f2"}.fa-citrus{--fa:"\e2f4"}.fa-citrus-slice{--fa:"\e2f5"}.fa-coconut{--fa:"\e2f6"}.fa-desktop-slash,.fa-display-slash{--fa:"\e2fa"}.fa-exploding-head,.fa-face-explode{--fa:"\e2fe"}.fa-face-viewfinder{--fa:"\e2ff"}.fa-family{--fa:"\e300"}.fa-family-dress{--fa:"\e301"}.fa-family-pants{--fa:"\e302"}.fa-fence{--fa:"\e303"}.fa-fish-bones{--fa:"\e304"}.fa-grapes{--fa:"\e306"}.fa-kiwi-fruit{--fa:"\e30c"}.fa-mango{--fa:"\e30f"}.fa-melon{--fa:"\e310"}.fa-melon-slice{--fa:"\e311"}.fa-money-from-bracket{--fa:"\e312"}.fa-money-simple-from-bracket{--fa:"\e313"}.fa-olive{--fa:"\e316"}.fa-olive-branch{--fa:"\e317"}.fa-option{--fa:"\e318"}.fa-party-bell{--fa:"\e31a"}.fa-party-horn{--fa:"\e31b"}.fa-peapod{--fa:"\e31c"}.fa-person-pregnant{--fa:"\e31e"}.fa-pineapple{--fa:"\e31f"}.fa-rectangle-code{--fa:"\e322"}.fa-rectangles-mixed{--fa:"\e323"}.fa-roller-coaster{--fa:"\e324"}.fa-square-quote{--fa:"\e329"}.fa-square-terminal{--fa:"\e32a"}.fa-strawberry{--fa:"\e32b"}.fa-table-picnic{--fa:"\e32d"}.fa-thought-bubble{--fa:"\e32e"}.fa-tick{--fa:"\e32f"}.fa-tomato{--fa:"\e330"}.fa-turn-down-left{--fa:"\e331"}.fa-user-police{--fa:"\e333"}.fa-user-police-tie{--fa:"\e334"}.fa-watermelon-slice{--fa:"\e337"}.fa-wheat-awn-slash{--fa:"\e338"}.fa-wheat-slash{--fa:"\e339"}.fa-badminton{--fa:"\e33a"}.fa-binary{--fa:"\e33b"}.fa-binary-circle-check{--fa:"\e33c"}.fa-binary-lock{--fa:"\e33d"}.fa-binary-slash{--fa:"\e33e"}.fa-boot-heeled{--fa:"\e33f"}.fa-car-bolt{--fa:"\e341"}.fa-car-circle-bolt{--fa:"\e342"}.fa-car-mirrors{--fa:"\e343"}.fa-car-side-bolt{--fa:"\e344"}.fa-clock-eight{--fa:"\e345"}.fa-clock-eight-thirty{--fa:"\e346"}.fa-clock-eleven{--fa:"\e347"}.fa-clock-eleven-thirty{--fa:"\e348"}.fa-clock-five{--fa:"\e349"}.fa-clock-five-thirty{--fa:"\e34a"}.fa-clock-four-thirty{--fa:"\e34b"}.fa-clock-nine{--fa:"\e34c"}.fa-clock-nine-thirty{--fa:"\e34d"}.fa-clock-one{--fa:"\e34e"}.fa-clock-one-thirty{--fa:"\e34f"}.fa-clock-seven{--fa:"\e350"}.fa-clock-seven-thirty{--fa:"\e351"}.fa-clock-six{--fa:"\e352"}.fa-clock-six-thirty{--fa:"\e353"}.fa-clock-ten{--fa:"\e354"}.fa-clock-ten-thirty{--fa:"\e355"}.fa-clock-three{--fa:"\e356"}.fa-clock-three-thirty{--fa:"\e357"}.fa-clock-twelve{--fa:"\e358"}.fa-clock-twelve-thirty{--fa:"\e359"}.fa-clock-two{--fa:"\e35a"}.fa-clock-two-thirty{--fa:"\e35b"}.fa-cloud-check{--fa:"\e35c"}.fa-cloud-minus{--fa:"\e35d"}.fa-cloud-plus{--fa:"\e35e"}.fa-cloud-xmark{--fa:"\e35f"}.fa-columns-3{--fa:"\e361"}.fa-crystal-ball{--fa:"\e362"}.fa-cup-straw{--fa:"\e363"}.fa-cup-straw-swoosh{--fa:"\e364"}.fa-distribute-spacing-horizontal{--fa:"\e365"}.fa-distribute-spacing-vertical{--fa:"\e366"}.fa-eyes{--fa:"\e367"}.fa-face-angry-horns{--fa:"\e368"}.fa-face-anguished{--fa:"\e369"}.fa-face-anxious-sweat{--fa:"\e36a"}.fa-face-astonished{--fa:"\e36b"}.fa-face-confounded{--fa:"\e36c"}.fa-face-confused{--fa:"\e36d"}.fa-face-cowboy-hat{--fa:"\e36e"}.fa-face-disappointed{--fa:"\e36f"}.fa-face-disguise{--fa:"\e370"}.fa-face-downcast-sweat{--fa:"\e371"}.fa-face-drooling{--fa:"\e372"}.fa-face-expressionless{--fa:"\e373"}.fa-face-eyes-xmarks{--fa:"\e374"}.fa-face-fearful{--fa:"\e375"}.fa-face-frown-slight{--fa:"\e376"}.fa-face-glasses{--fa:"\e377"}.fa-face-hand-over-mouth{--fa:"\e378"}.fa-face-hand-yawn{--fa:"\e379"}.fa-face-head-bandage{--fa:"\e37a"}.fa-face-hushed{--fa:"\e37b"}.fa-face-icicles{--fa:"\e37c"}.fa-face-kiss-closed-eyes{--fa:"\e37d"}.fa-face-lying{--fa:"\e37e"}.fa-face-mask{--fa:"\e37f"}.fa-face-monocle{--fa:"\e380"}.fa-face-nauseated{--fa:"\e381"}.fa-face-nose-steam{--fa:"\e382"}.fa-face-party{--fa:"\e383"}.fa-face-pensive{--fa:"\e384"}.fa-face-persevering{--fa:"\e385"}.fa-face-pleading{--fa:"\e386"}.fa-face-pouting{--fa:"\e387"}.fa-face-raised-eyebrow{--fa:"\e388"}.fa-face-relieved{--fa:"\e389"}.fa-face-sad-sweat{--fa:"\e38a"}.fa-face-scream{--fa:"\e38b"}.fa-face-shush{--fa:"\e38c"}.fa-face-sleeping{--fa:"\e38d"}.fa-face-sleepy{--fa:"\e38e"}.fa-face-smile-halo{--fa:"\e38f"}.fa-face-smile-hearts{--fa:"\e390"}.fa-face-smile-horns{--fa:"\e391"}.fa-face-smile-relaxed{--fa:"\e392"}.fa-face-smile-tear{--fa:"\e393"}.fa-face-smile-tongue{--fa:"\e394"}.fa-face-smile-upside-down{--fa:"\e395"}.fa-face-smiling-hands{--fa:"\e396"}.fa-face-smirking{--fa:"\e397"}.fa-face-sunglasses{--fa:"\e398"}.fa-face-swear{--fa:"\e399"}.fa-face-thermometer{--fa:"\e39a"}.fa-face-thinking{--fa:"\e39b"}.fa-face-tissue{--fa:"\e39c"}.fa-face-tongue-money{--fa:"\e39d"}.fa-face-tongue-sweat{--fa:"\e39e"}.fa-face-unamused{--fa:"\e39f"}.fa-face-vomit{--fa:"\e3a0"}.fa-face-weary{--fa:"\e3a1"}.fa-face-woozy{--fa:"\e3a2"}.fa-face-worried{--fa:"\e3a3"}.fa-face-zany{--fa:"\e3a4"}.fa-face-zipper{--fa:"\e3a5"}.fa-file-lock{--fa:"\e3a6"}.fa-file-slash{--fa:"\e3a7"}.fa-fishing-rod{--fa:"\e3a8"}.fa-flying-disc{--fa:"\e3a9"}.fa-gallery-thumbnails{--fa:"\e3aa"}.fa-goal-net{--fa:"\e3ab"}.fa-golf-flag-hole{--fa:"\e3ac"}.fa-grid-dividers{--fa:"\e3ad"}.fa-hockey-stick-puck{--fa:"\e3ae"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-house-chimney-blank{--fa:"\e3b0"}.fa-house-crack{--fa:"\e3b1"}.fa-house-medical{--fa:"\e3b2"}.fa-house-window{--fa:"\e3b3"}.fa-key-skeleton-left-right{--fa:"\e3b4"}.fa-lacrosse-stick{--fa:"\e3b5"}.fa-lacrosse-stick-ball{--fa:"\e3b6"}.fa-mask-snorkel{--fa:"\e3b7"}.fa-message-bot{--fa:"\e3b8"}.fa-moped{--fa:"\e3b9"}.fa-nesting-dolls{--fa:"\e3ba"}.fa-objects-align-bottom{--fa:"\e3bb"}.fa-objects-align-center-horizontal{--fa:"\e3bc"}.fa-objects-align-center-vertical{--fa:"\e3bd"}.fa-objects-align-left{--fa:"\e3be"}.fa-objects-align-right{--fa:"\e3bf"}.fa-objects-align-top{--fa:"\e3c0"}.fa-objects-column{--fa:"\e3c1"}.fa-paperclip-vertical{--fa:"\e3c2"}.fa-pinata{--fa:"\e3c3"}.fa-pipe-smoking{--fa:"\e3c4"}.fa-pool-8-ball{--fa:"\e3c5"}.fa-rugby-ball{--fa:"\e3c6"}.fa-shirt-long-sleeve{--fa:"\e3c7"}.fa-shirt-running{--fa:"\e3c8"}.fa-shirt-tank-top{--fa:"\e3c9"}.fa-signature-lock{--fa:"\e3ca"}.fa-signature-slash{--fa:"\e3cb"}.fa-ski-boot{--fa:"\e3cc"}.fa-ski-boot-ski{--fa:"\e3cd"}.fa-slot-machine{--fa:"\e3ce"}.fa-teddy-bear{--fa:"\e3cf"}.fa-truck-bolt{--fa:"\e3d0"}.fa-uniform-martial-arts{--fa:"\e3d1"}.fa-user-chef{--fa:"\e3d2"}.fa-user-hair-buns{--fa:"\e3d3"}.fa-arrow-left-long-to-line{--fa:"\e3d4"}.fa-arrow-right-long-to-line{--fa:"\e3d5"}.fa-arrow-turn-down-right{--fa:"\e3d6"}.fa-bagel{--fa:"\e3d7"}.fa-baguette{--fa:"\e3d8"}.fa-blanket-fire{--fa:"\e3da"}.fa-block-brick,.fa-wall-brick{--fa:"\e3db"}.fa-block-brick-fire,.fa-firewall{--fa:"\e3dc"}.fa-block-question{--fa:"\e3dd"}.fa-bowl-scoop,.fa-bowl-shaved-ice{--fa:"\e3de"}.fa-bowl-scoops{--fa:"\e3df"}.fa-bowl-spoon{--fa:"\e3e0"}.fa-bread-slice-butter{--fa:"\e3e1"}.fa-broccoli{--fa:"\e3e2"}.fa-burger-lettuce{--fa:"\e3e3"}.fa-butter{--fa:"\e3e4"}.fa-cake-slice,.fa-shortcake{--fa:"\e3e5"}.fa-can-food{--fa:"\e3e6"}.fa-candy{--fa:"\e3e7"}.fa-candy-bar,.fa-chocolate-bar{--fa:"\e3e8"}.fa-card-club{--fa:"\e3e9"}.fa-card-diamond{--fa:"\e3ea"}.fa-card-heart{--fa:"\e3eb"}.fa-card-spade{--fa:"\e3ec"}.fa-cards{--fa:"\e3ed"}.fa-cart-arrow-up{--fa:"\e3ee"}.fa-cart-circle-arrow-down{--fa:"\e3ef"}.fa-cart-circle-arrow-up{--fa:"\e3f0"}.fa-cart-circle-check{--fa:"\e3f1"}.fa-cart-circle-exclamation{--fa:"\e3f2"}.fa-cart-circle-plus{--fa:"\e3f3"}.fa-cart-circle-xmark{--fa:"\e3f4"}.fa-cent-sign{--fa:"\e3f5"}.fa-chestnut{--fa:"\e3f6"}.fa-chopsticks{--fa:"\e3f7"}.fa-circle-quarters{--fa:"\e3f8"}.fa-code-pull-request-closed{--fa:"\e3f9"}.fa-code-pull-request-draft{--fa:"\e3fa"}.fa-coin-blank{--fa:"\e3fb"}.fa-coin-front{--fa:"\e3fc"}.fa-coin-vertical{--fa:"\e3fd"}.fa-corner{--fa:"\e3fe"}.fa-crab{--fa:"\e3ff"}.fa-creemee,.fa-soft-serve{--fa:"\e400"}.fa-cucumber{--fa:"\e401"}.fa-cupcake{--fa:"\e402"}.fa-custard{--fa:"\e403"}.fa-dash,.fa-minus-large{--fa:"\e404"}.fa-diamond-exclamation{--fa:"\e405"}.fa-donut,.fa-doughnut{--fa:"\e406"}.fa-down-from-dotted-line{--fa:"\e407"}.fa-down-to-dotted-line{--fa:"\e408"}.fa-face-awesome,.fa-gave-dandy{--fa:"\e409"}.fa-falafel{--fa:"\e40a"}.fa-flatbread{--fa:"\e40b"}.fa-flatbread-stuffed{--fa:"\e40c"}.fa-fondue-pot{--fa:"\e40d"}.fa-garlic{--fa:"\e40e"}.fa-grip-dots{--fa:"\e410"}.fa-grip-dots-vertical{--fa:"\e411"}.fa-h5{--fa:"\e412"}.fa-h6{--fa:"\e413"}.fa-hammer-crash{--fa:"\e414"}.fa-hashtag-lock{--fa:"\e415"}.fa-hexagon-check{--fa:"\e416"}.fa-hexagon-exclamation{--fa:"\e417"}.fa-honey-pot{--fa:"\e418"}.fa-hose{--fa:"\e419"}.fa-hose-reel{--fa:"\e41a"}.fa-hourglass-clock{--fa:"\e41b"}.fa-100,.fa-hundred-points{--fa:"\e41c"}.fa-leafy-green{--fa:"\e41d"}.fa-left-long-to-line{--fa:"\e41e"}.fa-light-emergency{--fa:"\e41f"}.fa-light-emergency-on{--fa:"\e420"}.fa-lobster{--fa:"\e421"}.fa-lock-a{--fa:"\e422"}.fa-lock-hashtag{--fa:"\e423"}.fa-lollipop,.fa-lollypop{--fa:"\e424"}.fa-mushroom{--fa:"\e425"}.fa-octagon-check{--fa:"\e426"}.fa-onion{--fa:"\e427"}.fa-page{--fa:"\e428"}.fa-file-caret-down,.fa-page-caret-down{--fa:"\e429"}.fa-file-caret-up,.fa-page-caret-up{--fa:"\e42a"}.fa-pan-food{--fa:"\e42b"}.fa-pan-frying{--fa:"\e42c"}.fa-pancakes{--fa:"\e42d"}.fa-panel-ews{--fa:"\e42e"}.fa-panel-fire{--fa:"\e42f"}.fa-peanut{--fa:"\e430"}.fa-peanuts{--fa:"\e431"}.fa-pepper{--fa:"\e432"}.fa-person-to-door{--fa:"\e433"}.fa-phone-intercom{--fa:"\e434"}.fa-pickleball{--fa:"\e435"}.fa-pipe-circle-check{--fa:"\e436"}.fa-pipe-collar{--fa:"\e437"}.fa-pipe-section{--fa:"\e438"}.fa-pipe-valve{--fa:"\e439"}.fa-plate-utensils{--fa:"\e43b"}.fa-plus-minus{--fa:"\e43c"}.fa-pompebled{--fa:"\e43d"}.fa-popsicle{--fa:"\e43e"}.fa-pot-food{--fa:"\e43f"}.fa-potato{--fa:"\e440"}.fa-pretzel{--fa:"\e441"}.fa-pump{--fa:"\e442"}.fa-puzzle{--fa:"\e443"}.fa-right-long-to-line{--fa:"\e444"}.fa-sailboat{--fa:"\e445"}.fa-salt-shaker{--fa:"\e446"}.fa-section{--fa:"\e447"}.fa-shrimp{--fa:"\e448"}.fa-shutters{--fa:"\e449"}.fa-sportsball{--fa:"\e44b"}.fa-sprinkler-ceiling{--fa:"\e44c"}.fa-square-a-lock{--fa:"\e44d"}.fa-square-quarters{--fa:"\e44e"}.fa-square-ring{--fa:"\e44f"}.fa-squid{--fa:"\e450"}.fa-tamale{--fa:"\e451"}.fa-tank-water{--fa:"\e452"}.fa-train-track{--fa:"\e453"}.fa-train-tunnel{--fa:"\e454"}.fa-turn-down-right{--fa:"\e455"}.fa-up-from-dotted-line{--fa:"\e456"}.fa-up-to-dotted-line{--fa:"\e457"}.fa-user-doctor-hair{--fa:"\e458"}.fa-user-doctor-hair-long{--fa:"\e459"}.fa-user-hair{--fa:"\e45a"}.fa-user-hair-long{--fa:"\e45b"}.fa-business-front,.fa-party-back,.fa-trian-balbot,.fa-user-hair-mullet{--fa:"\e45c"}.fa-user-nurse-hair{--fa:"\e45d"}.fa-user-nurse-hair-long{--fa:"\e45e"}.fa-user-tie-hair{--fa:"\e45f"}.fa-user-tie-hair-long{--fa:"\e460"}.fa-user-vneck{--fa:"\e461"}.fa-user-vneck-hair{--fa:"\e462"}.fa-user-vneck-hair-long{--fa:"\e463"}.fa-utensils-slash{--fa:"\e464"}.fa-vent-damper{--fa:"\e465"}.fa-waffle{--fa:"\e466"}.fa-00{--fa:"\e467"}.fa-apartment{--fa:"\e468"}.fa-bird{--fa:"\e469"}.fa-block{--fa:"\e46a"}.fa-bowl-soft-serve{--fa:"\e46b"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-cabin{--fa:"\e46d"}.fa-calendar-circle-exclamation{--fa:"\e46e"}.fa-calendar-circle-minus{--fa:"\e46f"}.fa-calendar-circle-plus{--fa:"\e470"}.fa-calendar-circle-user{--fa:"\e471"}.fa-calendar-lines-pen{--fa:"\e472"}.fa-chart-simple{--fa:"\e473"}.fa-chart-simple-horizontal{--fa:"\e474"}.fa-diagram-cells{--fa:"\e475"}.fa-diagram-next{--fa:"\e476"}.fa-diagram-predecessor{--fa:"\e477"}.fa-diagram-previous{--fa:"\e478"}.fa-diagram-subtask{--fa:"\e479"}.fa-diagram-successor{--fa:"\e47a"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-face-beam-hand-over-mouth{--fa:"\e47c"}.fa-face-clouds{--fa:"\e47d"}.fa-face-diagonal-mouth{--fa:"\e47e"}.fa-face-dotted{--fa:"\e47f"}.fa-face-exhaling{--fa:"\e480"}.fa-face-hand-peeking{--fa:"\e481"}.fa-face-holding-back-tears{--fa:"\e482"}.fa-face-melting{--fa:"\e483"}.fa-face-saluting{--fa:"\e484"}.fa-face-spiral-eyes{--fa:"\e485"}.fa-fort{--fa:"\e486"}.fa-home-blank,.fa-house-blank{--fa:"\e487"}.fa-square-kanban{--fa:"\e488"}.fa-square-list{--fa:"\e489"}.fa-nigiri,.fa-sushi{--fa:"\e48a"}.fa-maki-roll,.fa-makizushi,.fa-sushi-roll{--fa:"\e48b"}.fa-album-circle-plus{--fa:"\e48c"}.fa-album-circle-user{--fa:"\e48d"}.fa-album-collection-circle-plus{--fa:"\e48e"}.fa-album-collection-circle-user{--fa:"\e48f"}.fa-bug-slash{--fa:"\e490"}.fa-cloud-exclamation{--fa:"\e491"}.fa-cloud-question{--fa:"\e492"}.fa-file-circle-info{--fa:"\e493"}.fa-file-circle-plus{--fa:"\e494"}.fa-frame{--fa:"\e495"}.fa-gauge-circle-bolt{--fa:"\e496"}.fa-gauge-circle-minus{--fa:"\e497"}.fa-gauge-circle-plus{--fa:"\e498"}.fa-memo-circle-info{--fa:"\e49a"}.fa-object-exclude{--fa:"\e49c"}.fa-object-intersect{--fa:"\e49d"}.fa-object-subtract{--fa:"\e49e"}.fa-object-union{--fa:"\e49f"}.fa-pen-nib-slash{--fa:"\e4a1"}.fa-rectangle-history{--fa:"\e4a2"}.fa-rectangle-history-circle-plus{--fa:"\e4a3"}.fa-rectangle-history-circle-user{--fa:"\e4a4"}.fa-shop-lock{--fa:"\e4a5"}.fa-store-lock{--fa:"\e4a6"}.fa-user-robot-xmarks{--fa:"\e4a7"}.fa-virus-covid{--fa:"\e4a8"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-anchor-lock{--fa:"\e4ad"}.fa-arrow-down-to-arc{--fa:"\e4ae"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-arrow-right-from-arc{--fa:"\e4b1"}.fa-arrow-right-to-arc{--fa:"\e4b2"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-arrow-up-from-arc{--fa:"\e4b4"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-arrows-spin{--fa:"\e4bb"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-bore-hole{--fa:"\e4c3"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-bottle-water{--fa:"\e4c5"}.fa-bowl-food{--fa:"\e4c6"}.fa-boxes-packing{--fa:"\e4c7"}.fa-bridge{--fa:"\e4c8"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-bridge-suspension{--fa:"\e4cd"}.fa-bridge-water{--fa:"\e4ce"}.fa-bucket{--fa:"\e4cf"}.fa-bugs{--fa:"\e4d0"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-building-circle-check{--fa:"\e4d2"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-building-flag{--fa:"\e4d5"}.fa-building-lock{--fa:"\e4d6"}.fa-building-ngo{--fa:"\e4d7"}.fa-building-shield{--fa:"\e4d8"}.fa-building-un{--fa:"\e4d9"}.fa-building-user{--fa:"\e4da"}.fa-building-wheat{--fa:"\e4db"}.fa-burst{--fa:"\e4dc"}.fa-car-on{--fa:"\e4dd"}.fa-car-tunnel{--fa:"\e4de"}.fa-cards-blank{--fa:"\e4df"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-children{--fa:"\e4e1"}.fa-circle-nodes{--fa:"\e4e2"}.fa-clipboard-question{--fa:"\e4e3"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-computer{--fa:"\e4e5"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-down-to-bracket{--fa:"\e4e7"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-explosion{--fa:"\e4e9"}.fa-ferry{--fa:"\e4ea"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-file-circle-question{--fa:"\e4ef"}.fa-file-shield{--fa:"\e4f0"}.fa-fire-burner{--fa:"\e4f1"}.fa-fish-fins{--fa:"\e4f2"}.fa-flask-vial{--fa:"\e4f3"}.fa-glass-water{--fa:"\e4f4"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-handcuffs{--fa:"\e4f8"}.fa-hands-bound{--fa:"\e4f9"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-heart-circle-plus{--fa:"\e500"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-helicopter-symbol{--fa:"\e502"}.fa-helmet-un{--fa:"\e503"}.fa-hexagon-image{--fa:"\e504"}.fa-hexagon-vertical-nft,.fa-hexagon-vertical-nft-slanted{--fa:"\e505"}.fa-hill-avalanche{--fa:"\e507"}.fa-hill-rockslide{--fa:"\e508"}.fa-house-circle-check{--fa:"\e509"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-house-fire{--fa:"\e50c"}.fa-house-flag{--fa:"\e50d"}.fa-house-flood-water{--fa:"\e50e"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-house-lock{--fa:"\e510"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-house-medical-flag{--fa:"\e514"}.fa-house-tsunami{--fa:"\e515"}.fa-jar{--fa:"\e516"}.fa-jar-wheat{--fa:"\e517"}.fa-jet-fighter-up{--fa:"\e518"}.fa-jug-detergent{--fa:"\e519"}.fa-kitchen-set{--fa:"\e51a"}.fa-land-mine-on{--fa:"\e51b"}.fa-landmark-flag{--fa:"\e51c"}.fa-laptop-file{--fa:"\e51d"}.fa-lines-leaning{--fa:"\e51e"}.fa-location-pin-lock{--fa:"\e51f"}.fa-locust{--fa:"\e520"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-mask-ventilator{--fa:"\e524"}.fa-mattress-pillow{--fa:"\e525"}.fa-merge{--fa:"\e526"}.fa-mobile-retro{--fa:"\e527"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-mosquito{--fa:"\e52b"}.fa-mosquito-net{--fa:"\e52c"}.fa-mound{--fa:"\e52d"}.fa-mountain-city{--fa:"\e52e"}.fa-mountain-sun{--fa:"\e52f"}.fa-nfc-symbol{--fa:"\e531"}.fa-oil-well{--fa:"\e532"}.fa-people-group{--fa:"\e533"}.fa-people-line{--fa:"\e534"}.fa-people-pulling{--fa:"\e535"}.fa-people-robbery{--fa:"\e536"}.fa-people-roof{--fa:"\e537"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-person-burst{--fa:"\e53b"}.fa-person-cane{--fa:"\e53c"}.fa-person-chalkboard{--fa:"\e53d"}.fa-person-circle-check{--fa:"\e53e"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-person-circle-minus{--fa:"\e540"}.fa-person-circle-plus{--fa:"\e541"}.fa-person-circle-question{--fa:"\e542"}.fa-person-circle-xmark{--fa:"\e543"}.fa-person-dress-burst{--fa:"\e544"}.fa-person-drowning{--fa:"\e545"}.fa-person-falling{--fa:"\e546"}.fa-person-falling-burst{--fa:"\e547"}.fa-person-half-dress{--fa:"\e548"}.fa-person-harassing{--fa:"\e549"}.fa-person-military-pointing{--fa:"\e54a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-person-military-to-person{--fa:"\e54c"}.fa-person-rays{--fa:"\e54d"}.fa-person-rifle{--fa:"\e54e"}.fa-person-shelter{--fa:"\e54f"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-person-walking-luggage{--fa:"\e554"}.fa-plane-circle-check{--fa:"\e555"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-plane-lock{--fa:"\e558"}.fa-plate-wheat{--fa:"\e55a"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-plug-circle-check{--fa:"\e55c"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-ranking-star{--fa:"\e561"}.fa-road-barrier{--fa:"\e562"}.fa-road-bridge{--fa:"\e563"}.fa-road-circle-check{--fa:"\e564"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-road-circle-xmark{--fa:"\e566"}.fa-road-lock{--fa:"\e567"}.fa-road-spikes{--fa:"\e568"}.fa-rug{--fa:"\e569"}.fa-sack-xmark{--fa:"\e56a"}.fa-school-circle-check{--fa:"\e56b"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-school-flag{--fa:"\e56e"}.fa-school-lock{--fa:"\e56f"}.fa-sheet-plastic{--fa:"\e571"}.fa-shield-cat{--fa:"\e572"}.fa-shield-dog{--fa:"\e573"}.fa-shield-heart{--fa:"\e574"}.fa-shield-quartered{--fa:"\e575"}.fa-square-nfi{--fa:"\e576"}.fa-square-person-confined{--fa:"\e577"}.fa-square-virus{--fa:"\e578"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-tarp{--fa:"\e57b"}.fa-tarp-droplet{--fa:"\e57c"}.fa-tent{--fa:"\e57d"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tent-arrows-down{--fa:"\e581"}.fa-tents{--fa:"\e582"}.fa-toilet-portable{--fa:"\e583"}.fa-toilets-portable{--fa:"\e584"}.fa-tower-cell{--fa:"\e585"}.fa-tower-observation{--fa:"\e586"}.fa-tree-city{--fa:"\e587"}.fa-trillium{--fa:"\e588"}.fa-trowel{--fa:"\e589"}.fa-trowel-bricks{--fa:"\e58a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-truck-droplet{--fa:"\e58c"}.fa-truck-field{--fa:"\e58d"}.fa-truck-field-un{--fa:"\e58e"}.fa-truck-plane{--fa:"\e58f"}.fa-up-from-bracket{--fa:"\e590"}.fa-users-between-lines{--fa:"\e591"}.fa-users-line{--fa:"\e592"}.fa-users-rays{--fa:"\e593"}.fa-users-rectangle{--fa:"\e594"}.fa-users-viewfinder{--fa:"\e595"}.fa-vial-circle-check{--fa:"\e596"}.fa-vial-virus{--fa:"\e597"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-worm{--fa:"\e599"}.fa-xmarks-lines{--fa:"\e59a"}.fa-xmark-large{--fa:"\e59b"}.fa-child-dress{--fa:"\e59c"}.fa-child-reaching{--fa:"\e59d"}.fa-plus-large{--fa:"\e59e"}.fa-crosshairs-simple{--fa:"\e59f"}.fa-file-circle-check{--fa:"\e5a0"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-gamepad-alt,.fa-gamepad-modern{--fa:"\e5a2"}.fa-grill{--fa:"\e5a3"}.fa-grill-fire{--fa:"\e5a4"}.fa-grill-hot{--fa:"\e5a5"}.fa-lightbulb-cfl{--fa:"\e5a6"}.fa-lightbulb-cfl-on{--fa:"\e5a7"}.fa-mouse-field{--fa:"\e5a8"}.fa-person-through-window{--fa:"\e5a9"}.fa-plant-wilt{--fa:"\e5aa"}.fa-ring-diamond{--fa:"\e5ab"}.fa-stapler{--fa:"\e5af"}.fa-toggle-large-off{--fa:"\e5b0"}.fa-toggle-large-on{--fa:"\e5b1"}.fa-toilet-paper-check{--fa:"\e5b2"}.fa-toilet-paper-xmark{--fa:"\e5b3"}.fa-train-tram{--fa:"\e5b4"}.fa-buoy{--fa:"\e5b5"}.fa-buoy-mooring{--fa:"\e5b6"}.fa-diamond-half{--fa:"\e5b7"}.fa-diamond-half-stroke{--fa:"\e5b8"}.fa-game-console-handheld-crank{--fa:"\e5b9"}.fa-interrobang{--fa:"\e5ba"}.fa-mailbox-flag-up{--fa:"\e5bb"}.fa-mustache{--fa:"\e5bc"}.fa-nose{--fa:"\e5bd"}.fa-phone-arrow-right{--fa:"\e5be"}.fa-pickaxe{--fa:"\e5bf"}.fa-prescription-bottle-pill{--fa:"\e5c0"}.fa-snowflake-droplets{--fa:"\e5c1"}.fa-square-dashed-circle-plus{--fa:"\e5c2"}.fa-tricycle{--fa:"\e5c3"}.fa-tricycle-adult{--fa:"\e5c4"}.fa-user-magnifying-glass{--fa:"\e5c5"}.fa-comment-heart{--fa:"\e5c8"}.fa-message-heart{--fa:"\e5c9"}.fa-pencil-mechanical{--fa:"\e5ca"}.fa-skeleton-ribs{--fa:"\e5cb"}.fa-billboard{--fa:"\e5cd"}.fa-circle-euro{--fa:"\e5ce"}.fa-circle-sterling{--fa:"\e5cf"}.fa-circle-yen{--fa:"\e5d0"}.fa-broom-wide{--fa:"\e5d1"}.fa-wreath-laurel{--fa:"\e5d2"}.fa-circle-quarter-stroke{--fa:"\e5d3"}.fa-circle-three-quarters-stroke{--fa:"\e5d4"}.fa-webhook{--fa:"\e5d5"}.fa-sparkle{--fa:"\e5d6"}.fa-chart-line-up-down{--fa:"\e5d7"}.fa-chart-mixed-up-circle-currency{--fa:"\e5d8"}.fa-chart-mixed-up-circle-dollar{--fa:"\e5d9"}.fa-grid-round{--fa:"\e5da"}.fa-grid-round-2{--fa:"\e5db"}.fa-grid-round-2-plus{--fa:"\e5dc"}.fa-grid-round-4{--fa:"\e5dd"}.fa-grid-round-5{--fa:"\e5de"}.fa-arrow-progress{--fa:"\e5df"}.fa-right-left-large{--fa:"\e5e1"}.fa-calendar-users{--fa:"\e5e2"}.fa-display-chart-up{--fa:"\e5e3"}.fa-display-chart-up-circle-currency{--fa:"\e5e5"}.fa-display-chart-up-circle-dollar{--fa:"\e5e6"}.fa-laptop-binary{--fa:"\e5e7"}.fa-gear-code{--fa:"\e5e8"}.fa-gear-complex{--fa:"\e5e9"}.fa-gear-complex-code{--fa:"\e5eb"}.fa-file-doc{--fa:"\e5ed"}.fa-file-zip{--fa:"\e5ee"}.fa-flask-gear{--fa:"\e5f1"}.fa-bag-seedling{--fa:"\e5f2"}.fa-bin-bottles{--fa:"\e5f5"}.fa-bin-bottles-recycle{--fa:"\e5f6"}.fa-bin-recycle{--fa:"\e5f7"}.fa-conveyor-belt-arm{--fa:"\e5f8"}.fa-jug-bottle{--fa:"\e5fb"}.fa-lightbulb-gear{--fa:"\e5fd"}.fa-dinosaur{--fa:"\e5fe"}.fa-person-running-fast{--fa:"\e5ff"}.fa-circles-overlap{--fa:"\e600"}.fa-cloud-binary{--fa:"\e601"}.fa-chf-sign{--fa:"\e602"}.fa-user-group-simple{--fa:"\e603"}.fa-chart-pie-simple-circle-currency{--fa:"\e604"}.fa-chart-pie-simple-circle-dollar{--fa:"\e605"}.fa-hat-beach{--fa:"\e606"}.fa-person-dress-fairy{--fa:"\e607"}.fa-person-fairy{--fa:"\e608"}.fa-swap{--fa:"\e609"}.fa-swap-arrows{--fa:"\e60a"}.fa-angles-up-down{--fa:"\e60d"}.fa-globe-pointer{--fa:"\e60e"}.fa-subtitles{--fa:"\e60f"}.fa-subtitles-slash{--fa:"\e610"}.fa-head-side-gear{--fa:"\e611"}.fa-lighthouse{--fa:"\e612"}.fa-raccoon{--fa:"\e613"}.fa-arrow-down-from-arc{--fa:"\e614"}.fa-arrow-left-from-arc{--fa:"\e615"}.fa-arrow-left-to-arc{--fa:"\e616"}.fa-arrow-up-to-arc{--fa:"\e617"}.fa-building-magnifying-glass{--fa:"\e61c"}.fa-building-memo{--fa:"\e61e"}.fa-hammer-brush{--fa:"\e620"}.fa-hand-holding-circle-dollar{--fa:"\e621"}.fa-landmark-magnifying-glass{--fa:"\e622"}.fa-sign-post{--fa:"\e624"}.fa-sign-posts{--fa:"\e625"}.fa-sign-posts-wrench{--fa:"\e626"}.fa-tent-double-peak{--fa:"\e627"}.fa-truck-utensils{--fa:"\e628"}.fa-t-rex{--fa:"\e629"}.fa-spinner-scale{--fa:"\e62a"}.fa-bell-ring{--fa:"\e62c"}.fa-arrows-rotate-reverse{--fa:"\e630"}.fa-rotate-reverse{--fa:"\e631"}.fa-arrow-turn-left{--fa:"\e632"}.fa-arrow-turn-left-down{--fa:"\e633"}.fa-arrow-turn-left-up{--fa:"\e634"}.fa-arrow-turn-right{--fa:"\e635"}.fa-turn-left{--fa:"\e636"}.fa-turn-left-down{--fa:"\e637"}.fa-turn-left-up{--fa:"\e638"}.fa-turn-right{--fa:"\e639"}.fa-location-arrow-up{--fa:"\e63a"}.fa-ticket-perforated{--fa:"\e63e"}.fa-tickets-perforated{--fa:"\e63f"}.fa-cannon{--fa:"\e642"}.fa-court-sport{--fa:"\e643"}.fa-file-eps{--fa:"\e644"}.fa-file-gif{--fa:"\e645"}.fa-file-jpg{--fa:"\e646"}.fa-file-mov{--fa:"\e647"}.fa-file-mp3{--fa:"\e648"}.fa-file-mp4{--fa:"\e649"}.fa-file-ppt{--fa:"\e64a"}.fa-file-svg{--fa:"\e64b"}.fa-file-vector{--fa:"\e64c"}.fa-file-xls{--fa:"\e64d"}.fa-folder-check{--fa:"\e64e"}.fa-chart-kanban{--fa:"\e64f"}.fa-bag-shopping-minus{--fa:"\e650"}.fa-bag-shopping-plus{--fa:"\e651"}.fa-basket-shopping-minus{--fa:"\e652"}.fa-basket-shopping-plus{--fa:"\e653"}.fa-file-xml{--fa:"\e654"}.fa-bulldozer{--fa:"\e655"}.fa-excavator{--fa:"\e656"}.fa-truck-ladder{--fa:"\e657"}.fa-tickets{--fa:"\e658"}.fa-tickets-simple{--fa:"\e659"}.fa-truck-fire{--fa:"\e65a"}.fa-wave{--fa:"\e65b"}.fa-waves-sine{--fa:"\e65d"}.fa-magnifying-glass-arrows-rotate{--fa:"\e65e"}.fa-magnifying-glass-music{--fa:"\e65f"}.fa-magnifying-glass-play{--fa:"\e660"}.fa-magnifying-glass-waveform{--fa:"\e661"}.fa-music-magnifying-glass{--fa:"\e662"}.fa-reflect-horizontal{--fa:"\e664"}.fa-reflect-vertical{--fa:"\e665"}.fa-file-png{--fa:"\e666"}.fa-arrow-down-from-bracket{--fa:"\e667"}.fa-arrow-left-from-bracket{--fa:"\e668"}.fa-arrow-left-to-bracket{--fa:"\e669"}.fa-arrow-up-to-bracket{--fa:"\e66a"}.fa-down-from-bracket{--fa:"\e66b"}.fa-left-from-bracket{--fa:"\e66c"}.fa-left-to-bracket{--fa:"\e66d"}.fa-up-to-bracket{--fa:"\e66e"}.fa-reflect-both{--fa:"\e66f"}.fa-file-cad{--fa:"\e672"}.fa-bottle-baby{--fa:"\e673"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-table-cells-lock{--fa:"\e679"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-circle-wifi{--fa:"\e67d"}.fa-circle-wifi-circle-wifi,.fa-circle-wifi-group{--fa:"\e67e"}.fa-circle-gf{--fa:"\e67f"}.fa-ant{--fa:"\e680"}.fa-caduceus{--fa:"\e681"}.fa-web-awesome{--fa:"\e682"}.fa-globe-wifi{--fa:"\e685"}.fa-hydra{--fa:"\e686"}.fa-lightbulb-message{--fa:"\e687"}.fa-octopus{--fa:"\e688"}.fa-user-beard-bolt{--fa:"\e689"}.fa-user-hoodie{--fa:"\e68a"}.fa-diamonds-4{--fa:"\e68b"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-table-cells-column-unlock{--fa:"\e690"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-table-cells-unlock{--fa:"\e692"}.fa-chart-diagram{--fa:"\e695"}.fa-comment-nodes{--fa:"\e696"}.fa-file-fragment{--fa:"\e697"}.fa-file-half-dashed{--fa:"\e698"}.fa-hexagon-nodes{--fa:"\e699"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-square-binary{--fa:"\e69b"}.fa-car-people,.fa-carpool{--fa:"\e69c"}.fa-chart-sine{--fa:"\e69d"}.fa-chart-fft{--fa:"\e69e"}.fa-circles-overlap-3,.fa-pronoun{--fa:"\e6a1"}.fa-bar-progress{--fa:"\e6a4"}.fa-bar-progress-empty{--fa:"\e6a5"}.fa-bar-progress-full{--fa:"\e6a6"}.fa-bar-progress-half{--fa:"\e6a7"}.fa-bar-progress-quarter{--fa:"\e6a8"}.fa-bar-progress-three-quarters{--fa:"\e6a9"}.fa-grid-2-minus{--fa:"\e6aa"}.fa-grid-round-2-minus{--fa:"\e6ab"}.fa-table-cells-columns{--fa:"\e6ac"}.fa-table-cells-header{--fa:"\e6ad"}.fa-table-cells-header-lock{--fa:"\e6ae"}.fa-table-cells-header-unlock{--fa:"\e6af"}.fa-table-cells-rows{--fa:"\e6b0"}.fa-circle-equals{--fa:"\e6b1"}.fa-hexagon-equals{--fa:"\e6b2"}.fa-octagon-equals{--fa:"\e6b3"}.fa-rectangle-minus{--fa:"\e6b4"}.fa-rectangle-plus{--fa:"\e6b5"}.fa-square-equals{--fa:"\e6b6"}.fa-arrow-down-long-to-line{--fa:"\e6b7"}.fa-arrow-left-arrow-right{--fa:"\e6b8"}.fa-arrow-left-from-dotted-line{--fa:"\e6b9"}.fa-arrow-left-to-dotted-line{--fa:"\e6ba"}.fa-arrow-right-from-dotted-line{--fa:"\e6bb"}.fa-arrow-right-to-dotted-line{--fa:"\e6bc"}.fa-arrow-up-long-to-line{--fa:"\e6bd"}.fa-direction-left-right{--fa:"\e6be"}.fa-direction-up-down{--fa:"\e6bf"}.fa-down-long-to-line{--fa:"\e6c0"}.fa-down-up{--fa:"\e6c1"}.fa-left-from-dotted-line{--fa:"\e6c2"}.fa-left-to-dotted-line{--fa:"\e6c3"}.fa-right-from-dotted-line{--fa:"\e6c4"}.fa-right-to-dotted-line{--fa:"\e6c5"}.fa-up-long-to-line{--fa:"\e6c6"}.fa-barn{--fa:"\e6c7"}.fa-circle-house{--fa:"\e6c8"}.fa-garage-empty{--fa:"\e6c9"}.fa-house-unlock{--fa:"\e6ca"}.fa-school-unlock{--fa:"\e6cb"}.fa-stadium{--fa:"\e6cc"}.fa-tent-circus{--fa:"\e6cd"}.fa-ball-yarn{--fa:"\e6ce"}.fa-bra{--fa:"\e6cf"}.fa-briefs{--fa:"\e6d0"}.fa-dress{--fa:"\e6d1"}.fa-jeans{--fa:"\e6d2"}.fa-jeans-straight{--fa:"\e6d3"}.fa-panties{--fa:"\e6d4"}.fa-pants{--fa:"\e6d5"}.fa-pants-straight{--fa:"\e6d6"}.fa-shirt-jersey{--fa:"\e6d7"}.fa-shoe{--fa:"\e6d8"}.fa-shorts{--fa:"\e6d9"}.fa-sneaker{--fa:"\e6da"}.fa-circle-share-nodes{--fa:"\e6db"}.fa-comment-dot{--fa:"\e6dc"}.fa-comment-waveform{--fa:"\e6dd"}.fa-envelope-circle-user{--fa:"\e6de"}.fa-message-dot{--fa:"\e6df"}.fa-message-waveform{--fa:"\e6e0"}.fa-phone-connection{--fa:"\e6e1"}.fa-phone-waveform{--fa:"\e6e2"}.fa-postage-stamp{--fa:"\e6e3"}.fa-circle-florin{--fa:"\e6e4"}.fa-circle-ruble{--fa:"\e6e5"}.fa-square-chf{--fa:"\e6e6"}.fa-square-lira{--fa:"\e6e7"}.fa-norwegian-krone-sign{--fa:"\e6e8"}.fa-circle-renminbi{--fa:"\e6e9"}.fa-square-peseta{--fa:"\e6ea"}.fa-circle-brazilian-real{--fa:"\e6eb"}.fa-circle-won{--fa:"\e6ec"}.fa-square-cruzeiro{--fa:"\e6ed"}.fa-circle-currency{--fa:"\e6ee"}.fa-circle-hryvnia{--fa:"\e6ef"}.fa-square-cent{--fa:"\e6f0"}.fa-square-brazilian-real{--fa:"\e6f1"}.fa-square-bitcoin{--fa:"\e6f2"}.fa-circle-peruvian-soles{--fa:"\e6f3"}.fa-circle-litecoin{--fa:"\e6f4"}.fa-square-indian-rupee{--fa:"\e6f5"}.fa-circle-lira{--fa:"\e6f6"}.fa-square-litecoin{--fa:"\e6f7"}.fa-square-ruble{--fa:"\e6f8"}.fa-circle-malaysian-ringgit{--fa:"\e6f9"}.fa-malaysian-ringgit-sign{--fa:"\e6fa"}.fa-circle-manat{--fa:"\e6fb"}.fa-circle-colon{--fa:"\e6fc"}.fa-circle-kip{--fa:"\e6fd"}.fa-australian-dollar-sign{--fa:"\e6fe"}.fa-circle-peso{--fa:"\e6ff"}.fa-circle-polish-zloty{--fa:"\e700"}.fa-circle-bangladeshi-taka{--fa:"\e701"}.fa-circle-mill{--fa:"\e702"}.fa-circle-shekel{--fa:"\e703"}.fa-square-manat{--fa:"\e704"}.fa-peruvian-soles-sign{--fa:"\e705"}.fa-circle-rupiah{--fa:"\e706"}.fa-square-norwegian-krone{--fa:"\e707"}.fa-square-naira{--fa:"\e708"}.fa-square-won{--fa:"\e709"}.fa-square-mill{--fa:"\e70a"}.fa-polish-zloty-sign{--fa:"\e70b"}.fa-square-currency{--fa:"\e70c"}.fa-square-kip{--fa:"\e70d"}.fa-square-guarani{--fa:"\e70e"}.fa-square-dong{--fa:"\e70f"}.fa-square-hryvnia{--fa:"\e710"}.fa-circle-tugrik{--fa:"\e711"}.fa-square-rupiah{--fa:"\e712"}.fa-square-sterling{--fa:"\e713"}.fa-circle-rupee{--fa:"\e714"}.fa-square-rupee{--fa:"\e715"}.fa-square-peruvian-soles{--fa:"\e716"}.fa-square-florin{--fa:"\e717"}.fa-square-australian-dollar{--fa:"\e718"}.fa-square-baht{--fa:"\e719"}.fa-square-peso{--fa:"\e71a"}.fa-circle-austral{--fa:"\e71b"}.fa-square-swedish-krona{--fa:"\e71c"}.fa-circle-lari{--fa:"\e71d"}.fa-circleapore-dollar{--fa:"\e71e"}.fa-square-turkish-lira{--fa:"\e71f"}.fa-danish-krone-sign{--fa:"\e720"}.fa-circle-franc{--fa:"\e721"}.fa-circle-cruzeiro{--fa:"\e722"}.fa-circle-dong{--fa:"\e723"}.fa-square-yen{--fa:"\e724"}.fa-circle-tenge{--fa:"\e725"}.fa-square-austral{--fa:"\e726"}.fa-square-eurozone{--fa:"\e727"}.fa-square-tugrik{--fa:"\e728"}.fa-square-cedi{--fa:"\e729"}.fa-circle-cent{--fa:"\e72a"}.fa-currency-sign{--fa:"\e72b"}.fa-circle-chf{--fa:"\e72c"}.fa-circle-baht{--fa:"\e72d"}.fa-signapore-dollar-sign{--fa:"\e72e"}.fa-square-franc{--fa:"\e72f"}.fa-circle-australian-dollar{--fa:"\e730"}.fa-square-tenge{--fa:"\e731"}.fa-square-euro{--fa:"\e732"}.fa-squareapore-dollar{--fa:"\e733"}.fa-circle-indian-rupee{--fa:"\e734"}.fa-square-shekel{--fa:"\e735"}.fa-square-polish-zloty{--fa:"\e736"}.fa-circle-bitcoin{--fa:"\e737"}.fa-circle-norwegian-krone{--fa:"\e738"}.fa-circle-turkish-lira{--fa:"\e739"}.fa-square-colon{--fa:"\e73a"}.fa-circle-guarani{--fa:"\e73b"}.fa-renminbi-sign{--fa:"\e73c"}.fa-square-renminbi{--fa:"\e73d"}.fa-swedish-krona-sign{--fa:"\e73e"}.fa-square-lari{--fa:"\e73f"}.fa-eurozone-sign{--fa:"\e740"}.fa-circle-peseta{--fa:"\e741"}.fa-circle-cedi{--fa:"\e742"}.fa-circle-swedish-krona{--fa:"\e743"}.fa-square-bangladeshi-taka{--fa:"\e744"}.fa-circle-eurozone{--fa:"\e745"}.fa-circle-danish-krone{--fa:"\e746"}.fa-square-danish-krone{--fa:"\e747"}.fa-square-malaysian-ringgit{--fa:"\e748"}.fa-circle-naira{--fa:"\e749"}.fa-mobile-arrow-down{--fa:"\e74b"}.fa-clone-plus{--fa:"\e74c"}.fa-paintbrush-fine-slash{--fa:"\e74d"}.fa-paintbrush-slash{--fa:"\e74e"}.fa-pencil-line{--fa:"\e74f"}.fa-slider-circle{--fa:"\e750"}.fa-thumbtack-angle{--fa:"\e751"}.fa-thumbtack-angle-slash{--fa:"\e752"}.fa-book-open-lines{--fa:"\e753"}.fa-book-spine{--fa:"\e754"}.fa-bookmark-plus{--fa:"\e755"}.fa-clipboard-clock{--fa:"\e756"}.fa-clipboard-exclamation{--fa:"\e757"}.fa-file-ban{--fa:"\e758"}.fa-notes-sticky{--fa:"\e759"}.fa-capsule{--fa:"\e75a"}.fa-ear-circle-checkmark{--fa:"\e75b"}.fa-ear-triangle-exclamation{--fa:"\e75c"}.fa-ear-waveform{--fa:"\e75d"}.fa-head-side-circuit{--fa:"\e75e"}.fa-head-side-speak{--fa:"\e75f"}.fa-microphone-signal-meter{--fa:"\e760"}.fa-spine{--fa:"\e761"}.fa-vial-vertical{--fa:"\e762"}.fa-bin{--fa:"\e763"}.fa-seat{--fa:"\e764"}.fa-seats{--fa:"\e765"}.fa-camera-circle-ellipsis{--fa:"\e766"}.fa-camera-clock{--fa:"\e767"}.fa-camera-shutter{--fa:"\e768"}.fa-film-music{--fa:"\e769"}.fa-film-stack{--fa:"\e76b"}.fa-image-circle-arrow-down{--fa:"\e76c"}.fa-image-circle-check{--fa:"\e76d"}.fa-image-circle-plus{--fa:"\e76e"}.fa-image-circle-xmark{--fa:"\e76f"}.fa-image-music{--fa:"\e770"}.fa-image-stack{--fa:"\e771"}.fa-rectangle-4k{--fa:"\e772"}.fa-rectangle-hdr,.fa-rectangle-high-dynamic-range{--fa:"\e773"}.fa-rectangle-video-on-demand{--fa:"\e774"}.fa-user-viewfinder{--fa:"\e775"}.fa-video-down-to-line{--fa:"\e776"}.fa-video-question{--fa:"\e777"}.fa-gas-pump-left{--fa:"\e778"}.fa-gas-pump-right{--fa:"\e779"}.fa-location-arrow-slash{--fa:"\e77a"}.fa-airplay-audio{--fa:"\e77b"}.fa-headphones-slash{--fa:"\e77c"}.fa-microphone-circle-plus{--fa:"\e77d"}.fa-microphone-circle-xmark{--fa:"\e77e"}.fa-open-captioning{--fa:"\e77f"}.fa-play-flip{--fa:"\e780"}.fa-square-microphone{--fa:"\e781"}.fa-trombone{--fa:"\e782"}.fa-person-arms-raised{--fa:"\e783"}.fa-person-basketball{--fa:"\e784"}.fa-person-carry-empty{--fa:"\e785"}.fa-person-golfing{--fa:"\e786"}.fa-person-limbs-wide{--fa:"\e787"}.fa-person-seat-window{--fa:"\e788"}.fa-person-soccer{--fa:"\e789"}.fa-person-swimming-pool{--fa:"\e78a"}.fa-person-swimming-water{--fa:"\e78b"}.fa-person-water-arms-raised{--fa:"\e78c"}.fa-person-waving{--fa:"\e78d"}.fa-heart-slash{--fa:"\e78e"}.fa-hearts{--fa:"\e78f"}.fa-pentagon{--fa:"\e790"}.fa-rectangle-tall{--fa:"\e791"}.fa-square-half{--fa:"\e792"}.fa-square-half-stroke{--fa:"\e793"}.fa-box-arrow-down{--fa:"\e794"}.fa-box-arrow-down-arrow-up{--fa:"\e795"}.fa-box-arrow-down-magnifying-glass{--fa:"\e796"}.fa-box-isometric{--fa:"\e797"}.fa-box-isometric-tape{--fa:"\e798"}.fa-qrcode-read{--fa:"\e799"}.fa-shop-24{--fa:"\e79a"}.fa-store-24{--fa:"\e79b"}.fa-face-shaking{--fa:"\e79c"}.fa-face-shaking-horizontal{--fa:"\e79d"}.fa-face-shaking-vertical{--fa:"\e79e"}.fa-circle-user-circle-check{--fa:"\e79f"}.fa-circle-user-circle-exclamation{--fa:"\e7a0"}.fa-circle-user-circle-minus{--fa:"\e7a1"}.fa-circle-user-circle-moon{--fa:"\e7a2"}.fa-circle-user-circle-plus{--fa:"\e7a3"}.fa-circle-user-circle-question{--fa:"\e7a4"}.fa-circle-user-circle-user{--fa:"\e7a5"}.fa-circle-user-circle-xmark{--fa:"\e7a6"}.fa-circle-user-clock{--fa:"\e7a7"}.fa-user-beard{--fa:"\e7a8"}.fa-user-chef-hair-long{--fa:"\e7a9"}.fa-user-circle-minus{--fa:"\e7aa"}.fa-user-circle-plus{--fa:"\e7ab"}.fa-user-dashed{--fa:"\e7ac"}.fa-user-doctor-hair-mullet{--fa:"\e7ad"}.fa-user-hat-tie{--fa:"\e7ae"}.fa-user-hat-tie-magnifying-glass{--fa:"\e7af"}.fa-user-key{--fa:"\e7b0"}.fa-user-message{--fa:"\e7b1"}.fa-user-microphone{--fa:"\e7b2"}.fa-user-pilot-hair-long{--fa:"\e7b3"}.fa-user-pilot-tie-hair-long{--fa:"\e7b4"}.fa-user-police-hair-long{--fa:"\e7b5"}.fa-user-police-tie-hair-long{--fa:"\e7b6"}.fa-user-question{--fa:"\e7b7"}.fa-user-sith{--fa:"\e7b8"}.fa-user-tie-hair-mullet{--fa:"\e7b9"}.fa-user-vneck-hair-mullet{--fa:"\e7ba"}.fa-plane-flying{--fa:"\e7bb"}.fa-plane-landing-gear{--fa:"\e7bc"}.fa-rocket-vertical{--fa:"\e7bd"}.fa-seat-airline-window{--fa:"\e7be"}.fa-shuttle-space-vertical{--fa:"\e7bf"}.fa-car-key{--fa:"\e7c0"}.fa-car-siren{--fa:"\e7c1"}.fa-car-siren-on{--fa:"\e7c2"}.fa-scooter{--fa:"\e7c3"}.fa-snowmobile-blank{--fa:"\e7c4"}.fa-stair-car{--fa:"\e7c5"}.fa-truck-suv{--fa:"\e7c6"}.fa-unicycle{--fa:"\e7c7"}.fa-van{--fa:"\e7c8"}.fa-moon-star{--fa:"\e7c9"}.fa-rainbow-half{--fa:"\e7ca"}.fa-temperature-slash{--fa:"\e7cb"}.fa-dialpad{--fa:"\e7cc"}.fa-computer-mouse-button-left{--fa:"\e7cd"}.fa-computer-mouse-button-right{--fa:"\e7ce"}.fa-dot{--fa:"\e7d1"}.fa-folder-arrow-left{--fa:"\e7d2"}.fa-folder-arrow-right{--fa:"\e7d3"}.fa-wireless{--fa:"\e7df"}.fa-circle-moon{--fa:"\e7e0"}.fa-person-meditating{--fa:"\e7e1"}.fa-baseball-bat{--fa:"\e7e5"}.fa-hockey-stick{--fa:"\e7e6"}.fa-arrow-u-turn-down-left{--fa:"\e7e7"}.fa-arrow-u-turn-down-right{--fa:"\e7e8"}.fa-arrow-u-turn-left-down{--fa:"\e7e9"}.fa-arrow-u-turn-left-up{--fa:"\e7ea"}.fa-arrow-u-turn-right-down{--fa:"\e7eb"}.fa-arrow-u-turn-right-up{--fa:"\e7ec"}.fa-arrow-u-turn-up-left{--fa:"\e7ed"}.fa-arrow-u-turn-up-right{--fa:"\e7ee"}.fa-u-turn-down-left{--fa:"\e7ef"}.fa-u-turn-down-right{--fa:"\e7f0"}.fa-u-turn,.fa-u-turn-left-down{--fa:"\e7f1"}.fa-u-turn-left-up{--fa:"\e7f2"}.fa-u-turn-right-down{--fa:"\e7f3"}.fa-u-turn-right-up{--fa:"\e7f4"}.fa-u-turn-up-left{--fa:"\e7f5"}.fa-u-turn-up-right{--fa:"\e7f6"}.fa-triple-chevrons-down{--fa:"\e7f7"}.fa-triple-chevrons-left{--fa:"\e7f8"}.fa-triple-chevrons-right{--fa:"\e7f9"}.fa-triple-chevrons-up{--fa:"\e7fa"}.fa-file-aiff{--fa:"\e7fb"}.fa-file-odf{--fa:"\e7fc"}.fa-file-tex{--fa:"\e7fd"}.fa-file-wav{--fa:"\e7fe"}.fa-droplet-plus{--fa:"\e800"}.fa-hand-holding-star{--fa:"\e801"}.fa-transmission{--fa:"\e802"}.fa-alarm-minus{--fa:"\e803"}.fa-file-brackets-curly{--fa:"\e804"}.fa-file-midi{--fa:"\e805"}.fa-midi{--fa:"\e806"}.fa-non-binary{--fa:"\e807"}.fa-rectangle-beta{--fa:"\e808"}.fa-shield-user{--fa:"\e809"}.fa-spiral{--fa:"\e80a"}.fa-picture-in-picture{--fa:"\e80b"}.fa-circle-half-horizontal{--fa:"\e80c"}.fa-circle-half-stroke-horizontal{--fa:"\e80d"}.fa-square-half-horizontal{--fa:"\e80e"}.fa-square-half-stroke-horizontal{--fa:"\e80f"}.fa-ship-large{--fa:"\e810"}.fa-butterfly{--fa:"\e811"}.fa-mobile-rotate{--fa:"\e813"}.fa-mobile-rotate-reverse{--fa:"\e814"}.fa-mobile-slash{--fa:"\e815"}.fa-mobile-vibrate{--fa:"\e816"}.fa-mobile-vibrate-slash{--fa:"\e817"}.fa-almost-equal-to{--fa:"\e818"}.fa-sneaker-running{--fa:"\e819"}.fa-horseshoe{--fa:"\e81a"}.fa-single-quote-left{--fa:"\e81b"}.fa-single-quote-right{--fa:"\e81c"}.fa-bus-side{--fa:"\e81d"}.fa-bus-stop{--fa:"\e81e"}.fa-train-stop{--fa:"\e81f"}.fa-heptagon,.fa-septagon{--fa:"\e820"}.fa-mailbox-open-empty{--fa:"\e821"}.fa-mailbox-open-letter{--fa:"\e823"}.fa-lychee{--fa:"\e824"}.fa-tank-recovery{--fa:"\e825"}.fa-transducer{--fa:"\e826"}.fa-box-arrow-up{--fa:"\e827"}.fa-box-magnifying-glass{--fa:"\e828"}.fa-envelope-certificate,.fa-envelope-ribbon{--fa:"\e829"}.fa-water-temp,.fa-water-temperature{--fa:"\e82a"}.fa-aeropress{--fa:"\e82b"}.fa-caret-large-down{--fa:"\e82c"}.fa-caret-large-left{--fa:"\e82d"}.fa-caret-large-right{--fa:"\e82e"}.fa-caret-large-up{--fa:"\e82f"}.fa-chemex{--fa:"\e830"}.fa-hand-shaka{--fa:"\e831"}.fa-kettlebell{--fa:"\e832"}.fa-foot-wing{--fa:"\e834"}.fa-pump-impeller{--fa:"\e835"}.fa-arrow-rotate-left-10{--fa:"\e836"}.fa-arrow-rotate-right-10{--fa:"\e837"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-music{--fa:"\f001"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-heart{--fa:"\f004"}.fa-star{--fa:"\f005"}.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-check{--fa:"\f00c"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-power-off{--fa:"\f011"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-road{--fa:"\f018"}.fa-download{--fa:"\f019"}.fa-inbox{--fa:"\f01c"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-lock{--fa:"\f023"}.fa-flag{--fa:"\f024"}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}.fa-volume-off{--fa:"\f026"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-qrcode{--fa:"\f029"}.fa-barcode{--fa:"\f02a"}.fa-tag{--fa:"\f02b"}.fa-tags{--fa:"\f02c"}.fa-book{--fa:"\f02d"}.fa-bookmark{--fa:"\f02e"}.fa-print{--fa:"\f02f"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-font{--fa:"\f031"}.fa-bold{--fa:"\f032"}.fa-italic{--fa:"\f033"}.fa-text-height{--fa:"\f034"}.fa-text-width{--fa:"\f035"}.fa-align-left{--fa:"\f036"}.fa-align-center{--fa:"\f037"}.fa-align-right{--fa:"\f038"}.fa-align-justify{--fa:"\f039"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-indent{--fa:"\f03c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-image{--fa:"\f03e"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-backward{--fa:"\f04a"}.fa-play{--fa:"\f04b"}.fa-pause{--fa:"\f04c"}.fa-stop{--fa:"\f04d"}.fa-forward{--fa:"\f04e"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-eject{--fa:"\f052"}.fa-chevron-left{--fa:"\f053"}.fa-chevron-right{--fa:"\f054"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-crosshairs{--fa:"\f05b"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-arrow-left{--fa:"\f060"}.fa-arrow-right{--fa:"\f061"}.fa-arrow-up{--fa:"\f062"}.fa-arrow-down{--fa:"\f063"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-expand{--fa:"\f065"}.fa-compress{--fa:"\f066"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-gift{--fa:"\f06b"}.fa-leaf{--fa:"\f06c"}.fa-fire{--fa:"\f06d"}.fa-eye{--fa:"\f06e"}.fa-eye-slash{--fa:"\f070"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-plane{--fa:"\f072"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-comment{--fa:"\f075"}.fa-magnet{--fa:"\f076"}.fa-chevron-up{--fa:"\f077"}.fa-chevron-down{--fa:"\f078"}.fa-retweet{--fa:"\f079"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-folder-open{--fa:"\f07c"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-camera-retro{--fa:"\f083"}.fa-key{--fa:"\f084"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-comments{--fa:"\f086"}.fa-star-half{--fa:"\f089"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-trophy{--fa:"\f091"}.fa-upload{--fa:"\f093"}.fa-lemon{--fa:"\f094"}.fa-phone{--fa:"\f095"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-unlock{--fa:"\f09c"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-bullhorn{--fa:"\f0a1"}.fa-certificate{--fa:"\f0a3"}.fa-hand-point-right{--fa:"\f0a4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-hand-point-up{--fa:"\f0a6"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-globe{--fa:"\f0ac"}.fa-wrench{--fa:"\f0ad"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-filter{--fa:"\f0b0"}.fa-briefcase{--fa:"\f0b1"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-users{--fa:"\f0c0"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-cloud{--fa:"\f0c2"}.fa-flask{--fa:"\f0c3"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-copy{--fa:"\f0c5"}.fa-paperclip{--fa:"\f0c6"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-square{--fa:"\f0c8"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-strikethrough{--fa:"\f0cc"}.fa-underline{--fa:"\f0cd"}.fa-table{--fa:"\f0ce"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-truck{--fa:"\f0d1"}.fa-money-bill{--fa:"\f0d6"}.fa-caret-down{--fa:"\f0d7"}.fa-caret-up{--fa:"\f0d8"}.fa-caret-left{--fa:"\f0d9"}.fa-caret-right{--fa:"\f0da"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-envelope{--fa:"\f0e0"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-sitemap{--fa:"\f0e8"}.fa-umbrella{--fa:"\f0e9"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-lightbulb{--fa:"\f0eb"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-stethoscope{--fa:"\f0f1"}.fa-suitcase{--fa:"\f0f2"}.fa-bell{--fa:"\f0f3"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-angle-left{--fa:"\f104"}.fa-angle-right{--fa:"\f105"}.fa-angle-up{--fa:"\f106"}.fa-angle-down{--fa:"\f107"}.fa-laptop{--fa:"\f109"}.fa-tablet-button{--fa:"\f10a"}.fa-mobile-button{--fa:"\f10b"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-spinner{--fa:"\f110"}.fa-circle{--fa:"\f111"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-gamepad{--fa:"\f11b"}.fa-keyboard{--fa:"\f11c"}.fa-flag-checkered{--fa:"\f11e"}.fa-terminal{--fa:"\f120"}.fa-code{--fa:"\f121"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-location-arrow{--fa:"\f124"}.fa-crop{--fa:"\f125"}.fa-code-branch{--fa:"\f126"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-info{--fa:"\f129"}.fa-superscript{--fa:"\f12b"}.fa-subscript{--fa:"\f12c"}.fa-eraser{--fa:"\f12d"}.fa-puzzle-piece{--fa:"\f12e"}.fa-microphone{--fa:"\f130"}.fa-microphone-slash{--fa:"\f131"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-calendar{--fa:"\f133"}.fa-fire-extinguisher{--fa:"\f134"}.fa-rocket{--fa:"\f135"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-anchor{--fa:"\f13d"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-bullseye{--fa:"\f140"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-ticket{--fa:"\f145"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-file{--fa:"\f15b"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-thumbs-up{--fa:"\f164"}.fa-thumbs-down{--fa:"\f165"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-male,.fa-person{--fa:"\f183"}.fa-sun{--fa:"\f185"}.fa-moon{--fa:"\f186"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-bug{--fa:"\f188"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-wheelchair{--fa:"\f193"}.fa-lira-sign{--fa:"\f195"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-language{--fa:"\f1ab"}.fa-fax{--fa:"\f1ac"}.fa-building{--fa:"\f1ad"}.fa-child{--fa:"\f1ae"}.fa-paw{--fa:"\f1b0"}.fa-cube{--fa:"\f1b2"}.fa-cubes{--fa:"\f1b3"}.fa-recycle{--fa:"\f1b8"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-tree{--fa:"\f1bb"}.fa-database{--fa:"\f1c0"}.fa-file-pdf{--fa:"\f1c1"}.fa-file-word{--fa:"\f1c2"}.fa-file-excel{--fa:"\f1c3"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-file-image{--fa:"\f1c5"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-file-audio{--fa:"\f1c7"}.fa-file-video{--fa:"\f1c8"}.fa-file-code{--fa:"\f1c9"}.fa-life-ring{--fa:"\f1cd"}.fa-circle-notch{--fa:"\f1ce"}.fa-paper-plane{--fa:"\f1d8"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-paragraph{--fa:"\f1dd"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-bomb{--fa:"\f1e2"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-binoculars{--fa:"\f1e5"}.fa-plug{--fa:"\f1e6"}.fa-newspaper{--fa:"\f1ea"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-calculator{--fa:"\f1ec"}.fa-bell-slash{--fa:"\f1f6"}.fa-trash{--fa:"\f1f8"}.fa-copyright{--fa:"\f1f9"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-toggle-off{--fa:"\f204"}.fa-toggle-on{--fa:"\f205"}.fa-bicycle{--fa:"\f206"}.fa-bus{--fa:"\f207"}.fa-closed-captioning{--fa:"\f20a"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-cart-plus{--fa:"\f217"}.fa-cart-arrow-down{--fa:"\f218"}.fa-diamond{--fa:"\f219"}.fa-ship{--fa:"\f21a"}.fa-user-secret{--fa:"\f21b"}.fa-motorcycle{--fa:"\f21c"}.fa-street-view{--fa:"\f21d"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-venus{--fa:"\f221"}.fa-mars{--fa:"\f222"}.fa-mercury{--fa:"\f223"}.fa-mars-and-venus{--fa:"\f224"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-venus-double{--fa:"\f226"}.fa-mars-double{--fa:"\f227"}.fa-venus-mars{--fa:"\f228"}.fa-mars-stroke{--fa:"\f229"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-neuter{--fa:"\f22c"}.fa-genderless{--fa:"\f22d"}.fa-server{--fa:"\f233"}.fa-user-plus{--fa:"\f234"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-bed{--fa:"\f236"}.fa-train{--fa:"\f238"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-i-cursor{--fa:"\f246"}.fa-object-group{--fa:"\f247"}.fa-object-ungroup{--fa:"\f248"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-clone{--fa:"\f24d"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-hand-scissors{--fa:"\f257"}.fa-hand-lizard{--fa:"\f258"}.fa-hand-spock{--fa:"\f259"}.fa-hand-pointer{--fa:"\f25a"}.fa-hand-peace{--fa:"\f25b"}.fa-trademark{--fa:"\f25c"}.fa-registered{--fa:"\f25d"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-calendar-plus{--fa:"\f271"}.fa-calendar-minus{--fa:"\f272"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-calendar-check{--fa:"\f274"}.fa-industry{--fa:"\f275"}.fa-map-pin{--fa:"\f276"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-map{--fa:"\f279"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-bluetooth{--fa:"\f293"}.fa-universal-access{--fa:"\f29a"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-audio-description{--fa:"\f29e"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-braille{--fa:"\f2a1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}.fa-envelope-open{--fa:"\f2b6"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-id-badge{--fa:"\f2c1"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-shower{--fa:"\f2cc"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-podcast{--fa:"\f2ce"}.fa-window-maximize{--fa:"\f2d0"}.fa-window-minimize{--fa:"\f2d1"}.fa-window-restore{--fa:"\f2d2"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-microchip{--fa:"\f2db"}.fa-snowflake{--fa:"\f2dc"}.fa-watch{--fa:"\f2e1"}.fa-volume-slash{--fa:"\f2e2"}.fa-fork,.fa-utensil-fork{--fa:"\f2e3"}.fa-knife,.fa-utensil-knife{--fa:"\f2e4"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-fork-knife,.fa-utensils-alt{--fa:"\f2e6"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-circle-dollar,.fa-dollar-circle,.fa-usd-circle{--fa:"\f2e8"}.fa-dollar-square,.fa-square-dollar,.fa-usd-square{--fa:"\f2e9"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-trophy-alt,.fa-trophy-star{--fa:"\f2eb"}.fa-triangle{--fa:"\f2ec"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-hexagon-xmark,.fa-times-hexagon,.fa-xmark-hexagon{--fa:"\f2ee"}.fa-octagon-xmark,.fa-times-octagon,.fa-xmark-octagon{--fa:"\f2f0"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-stopwatch{--fa:"\f2f2"}.fa-star-exclamation{--fa:"\f2f3"}.fa-spade{--fa:"\f2f4"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-shield-check{--fa:"\f2f7"}.fa-scrubber{--fa:"\f2f8"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-rectangle,.fa-rectangle-landscape{--fa:"\f2fa"}.fa-rectangle-portrait,.fa-rectangle-vertical{--fa:"\f2fb"}.fa-rectangle-wide{--fa:"\f2fc"}.fa-question-square,.fa-square-question{--fa:"\f2fd"}.fa-poo{--fa:"\f2fe"}.fa-hexagon-plus,.fa-plus-hexagon{--fa:"\f300"}.fa-octagon-plus,.fa-plus-octagon{--fa:"\f301"}.fa-images{--fa:"\f302"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-pen{--fa:"\f304"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-octagon{--fa:"\f306"}.fa-hexagon-minus,.fa-minus-hexagon{--fa:"\f307"}.fa-minus-octagon,.fa-octagon-minus{--fa:"\f308"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-lock-alt,.fa-lock-keyhole{--fa:"\f30d"}.fa-jack-o-lantern{--fa:"\f30e"}.fa-info-square,.fa-square-info{--fa:"\f30f"}.fa-inbox-arrow-down,.fa-inbox-in{--fa:"\f310"}.fa-inbox-arrow-up,.fa-inbox-out{--fa:"\f311"}.fa-hexagon{--fa:"\f312"}.fa-h1{--fa:"\f313"}.fa-h2{--fa:"\f314"}.fa-h3{--fa:"\f315"}.fa-file-check{--fa:"\f316"}.fa-file-times,.fa-file-xmark{--fa:"\f317"}.fa-file-minus{--fa:"\f318"}.fa-file-plus{--fa:"\f319"}.fa-file-exclamation{--fa:"\f31a"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-arrows-maximize,.fa-expand-arrows{--fa:"\f31d"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-expand-wide{--fa:"\f320"}.fa-exclamation-square,.fa-square-exclamation{--fa:"\f321"}.fa-chevron-double-down,.fa-chevrons-down{--fa:"\f322"}.fa-chevron-double-left,.fa-chevrons-left{--fa:"\f323"}.fa-chevron-double-right,.fa-chevrons-right{--fa:"\f324"}.fa-chevron-double-up,.fa-chevrons-up{--fa:"\f325"}.fa-compress-wide{--fa:"\f326"}.fa-club{--fa:"\f327"}.fa-clipboard{--fa:"\f328"}.fa-chevron-square-down,.fa-square-chevron-down{--fa:"\f329"}.fa-chevron-square-left,.fa-square-chevron-left{--fa:"\f32a"}.fa-chevron-square-right,.fa-square-chevron-right{--fa:"\f32b"}.fa-chevron-square-up,.fa-square-chevron-up{--fa:"\f32c"}.fa-caret-circle-down,.fa-circle-caret-down{--fa:"\f32d"}.fa-caret-circle-left,.fa-circle-caret-left{--fa:"\f32e"}.fa-caret-circle-right,.fa-circle-caret-right{--fa:"\f330"}.fa-caret-circle-up,.fa-circle-caret-up{--fa:"\f331"}.fa-calendar-edit,.fa-calendar-pen{--fa:"\f333"}.fa-calendar-exclamation{--fa:"\f334"}.fa-badge{--fa:"\f335"}.fa-badge-check{--fa:"\f336"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-arrow-square-down,.fa-square-arrow-down{--fa:"\f339"}.fa-arrow-square-left,.fa-square-arrow-left{--fa:"\f33a"}.fa-arrow-square-right,.fa-square-arrow-right{--fa:"\f33b"}.fa-arrow-square-up,.fa-square-arrow-up{--fa:"\f33c"}.fa-arrow-down-to-line,.fa-arrow-to-bottom{--fa:"\f33d"}.fa-arrow-left-to-line,.fa-arrow-to-left{--fa:"\f33e"}.fa-arrow-right-to-line,.fa-arrow-to-right{--fa:"\f340"}.fa-arrow-to-top,.fa-arrow-up-to-line{--fa:"\f341"}.fa-arrow-from-bottom,.fa-arrow-up-from-line{--fa:"\f342"}.fa-arrow-from-left,.fa-arrow-right-from-line{--fa:"\f343"}.fa-arrow-from-right,.fa-arrow-left-from-line{--fa:"\f344"}.fa-arrow-down-from-line,.fa-arrow-from-top{--fa:"\f345"}.fa-arrow-alt-from-bottom,.fa-up-from-line{--fa:"\f346"}.fa-arrow-alt-from-left,.fa-right-from-line{--fa:"\f347"}.fa-arrow-alt-from-right,.fa-left-from-line{--fa:"\f348"}.fa-arrow-alt-from-top,.fa-down-from-line{--fa:"\f349"}.fa-arrow-alt-to-bottom,.fa-down-to-line{--fa:"\f34a"}.fa-arrow-alt-to-left,.fa-left-to-line{--fa:"\f34b"}.fa-arrow-alt-to-right,.fa-right-to-line{--fa:"\f34c"}.fa-arrow-alt-to-top,.fa-up-to-line{--fa:"\f34d"}.fa-alarm-clock{--fa:"\f34e"}.fa-arrow-alt-square-down,.fa-square-down{--fa:"\f350"}.fa-arrow-alt-square-left,.fa-square-left{--fa:"\f351"}.fa-arrow-alt-square-right,.fa-square-right{--fa:"\f352"}.fa-arrow-alt-square-up,.fa-square-up{--fa:"\f353"}.fa-arrow-alt-down,.fa-down{--fa:"\f354"}.fa-arrow-alt-left,.fa-left{--fa:"\f355"}.fa-arrow-alt-right,.fa-right{--fa:"\f356"}.fa-arrow-alt-up,.fa-up{--fa:"\f357"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-arrows-retweet,.fa-retweet-alt{--fa:"\f361"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-repeat{--fa:"\f363"}.fa-arrows-repeat,.fa-repeat-alt{--fa:"\f364"}.fa-repeat-1{--fa:"\f365"}.fa-arrows-repeat-1,.fa-repeat-1-alt{--fa:"\f366"}.fa-share-all{--fa:"\f367"}.fa-battery-bolt{--fa:"\f376"}.fa-battery-slash{--fa:"\f377"}.fa-browser{--fa:"\f37e"}.fa-code-commit{--fa:"\f386"}.fa-code-merge{--fa:"\f387"}.fa-credit-card-blank{--fa:"\f389"}.fa-credit-card-front{--fa:"\f38a"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-ellipsis-h-alt,.fa-ellipsis-stroke{--fa:"\f39b"}.fa-ellipsis-stroke-vertical,.fa-ellipsis-v-alt{--fa:"\f39c"}.fa-gem{--fa:"\f3a5"}.fa-industry-alt,.fa-industry-windows{--fa:"\f3b3"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-lock-open{--fa:"\f3c1"}.fa-lock-keyhole-open,.fa-lock-open-alt{--fa:"\f3c2"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-phone-slash{--fa:"\f3dd"}.fa-plane-alt,.fa-plane-engines{--fa:"\f3de"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-sliders-h-square,.fa-square-sliders{--fa:"\f3f0"}.fa-sliders-up,.fa-sliders-v{--fa:"\f3f1"}.fa-sliders-v-square,.fa-square-sliders-vertical{--fa:"\f3f2"}.fa-spinner-third{--fa:"\f3f4"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-tablet-android-alt,.fa-tablet-screen{--fa:"\f3fc"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-tree-alt,.fa-tree-deciduous{--fa:"\f400"}.fa-tv-retro{--fa:"\f401"}.fa-window{--fa:"\f40e"}.fa-window-alt,.fa-window-flip{--fa:"\f40f"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-basketball-hoop{--fa:"\f435"}.fa-bowling-ball{--fa:"\f436"}.fa-bowling-pins{--fa:"\f437"}.fa-boxing-glove,.fa-glove-boxing{--fa:"\f438"}.fa-chess{--fa:"\f439"}.fa-chess-bishop{--fa:"\f43a"}.fa-chess-bishop-alt,.fa-chess-bishop-piece{--fa:"\f43b"}.fa-chess-board{--fa:"\f43c"}.fa-chess-clock{--fa:"\f43d"}.fa-chess-clock-alt,.fa-chess-clock-flip{--fa:"\f43e"}.fa-chess-king{--fa:"\f43f"}.fa-chess-king-alt,.fa-chess-king-piece{--fa:"\f440"}.fa-chess-knight{--fa:"\f441"}.fa-chess-knight-alt,.fa-chess-knight-piece{--fa:"\f442"}.fa-chess-pawn{--fa:"\f443"}.fa-chess-pawn-alt,.fa-chess-pawn-piece{--fa:"\f444"}.fa-chess-queen{--fa:"\f445"}.fa-chess-queen-alt,.fa-chess-queen-piece{--fa:"\f446"}.fa-chess-rook{--fa:"\f447"}.fa-chess-rook-alt,.fa-chess-rook-piece{--fa:"\f448"}.fa-cricket,.fa-cricket-bat-ball{--fa:"\f449"}.fa-curling,.fa-curling-stone{--fa:"\f44a"}.fa-dumbbell{--fa:"\f44b"}.fa-field-hockey,.fa-field-hockey-stick-ball{--fa:"\f44c"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-football-helmet{--fa:"\f44f"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-golf-club{--fa:"\f451"}.fa-hockey-puck{--fa:"\f453"}.fa-hockey-sticks{--fa:"\f454"}.fa-luchador,.fa-luchador-mask,.fa-mask-luchador{--fa:"\f455"}.fa-flag-pennant,.fa-pennant{--fa:"\f456"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-racquet{--fa:"\f45a"}.fa-shuttlecock{--fa:"\f45b"}.fa-square-full{--fa:"\f45c"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-tennis-ball{--fa:"\f45e"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-whistle{--fa:"\f460"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-barcode-alt,.fa-rectangle-barcode{--fa:"\f463"}.fa-barcode-read{--fa:"\f464"}.fa-barcode-scan{--fa:"\f465"}.fa-box{--fa:"\f466"}.fa-box-check{--fa:"\f467"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-briefcase-medical{--fa:"\f469"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-capsules{--fa:"\f46b"}.fa-clipboard-check{--fa:"\f46c"}.fa-clipboard-list{--fa:"\f46d"}.fa-conveyor-belt{--fa:"\f46e"}.fa-conveyor-belt-alt,.fa-conveyor-belt-boxes{--fa:"\f46f"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-dna{--fa:"\f471"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-dolly-empty{--fa:"\f473"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-cart-flatbed-boxes,.fa-dolly-flatbed-alt{--fa:"\f475"}.fa-cart-flatbed-empty,.fa-dolly-flatbed-empty{--fa:"\f476"}.fa-file-medical{--fa:"\f477"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-forklift{--fa:"\f47a"}.fa-hand-holding-box{--fa:"\f47b"}.fa-hand-receiving,.fa-hands-holding-diamond{--fa:"\f47c"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-inventory,.fa-shelves{--fa:"\f480"}.fa-notes-medical{--fa:"\f481"}.fa-pallet{--fa:"\f482"}.fa-palette-boxes,.fa-pallet-alt,.fa-pallet-boxes{--fa:"\f483"}.fa-pills{--fa:"\f484"}.fa-prescription-bottle{--fa:"\f485"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-scanner,.fa-scanner-gun{--fa:"\f488"}.fa-scanner-keyboard{--fa:"\f489"}.fa-scanner-touchscreen{--fa:"\f48a"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-shipping-timed,.fa-truck-clock{--fa:"\f48c"}.fa-smoking{--fa:"\f48d"}.fa-syringe{--fa:"\f48e"}.fa-tablet-rugged{--fa:"\f48f"}.fa-tablets{--fa:"\f490"}.fa-thermometer{--fa:"\f491"}.fa-vial{--fa:"\f492"}.fa-vials{--fa:"\f493"}.fa-warehouse{--fa:"\f494"}.fa-warehouse-alt,.fa-warehouse-full{--fa:"\f495"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-x-ray{--fa:"\f497"}.fa-blanket{--fa:"\f498"}.fa-book-heart{--fa:"\f499"}.fa-box-alt,.fa-box-taped{--fa:"\f49a"}.fa-box-fragile,.fa-square-fragile,.fa-square-wine-glass-crack{--fa:"\f49b"}.fa-box-full,.fa-box-open-full{--fa:"\f49c"}.fa-box-heart{--fa:"\f49d"}.fa-box-open{--fa:"\f49e"}.fa-box-up,.fa-square-this-way-up{--fa:"\f49f"}.fa-box-dollar,.fa-box-usd{--fa:"\f4a0"}.fa-comment-alt-check,.fa-message-check{--fa:"\f4a2"}.fa-comment-alt-dots,.fa-message-dots,.fa-messaging{--fa:"\f4a3"}.fa-comment-alt-edit,.fa-message-edit,.fa-message-pen{--fa:"\f4a4"}.fa-comment-alt-exclamation,.fa-message-exclamation{--fa:"\f4a5"}.fa-comment-alt-lines,.fa-message-lines{--fa:"\f4a6"}.fa-comment-alt-minus,.fa-message-minus{--fa:"\f4a7"}.fa-comment-alt-plus,.fa-message-plus{--fa:"\f4a8"}.fa-comment-alt-slash,.fa-message-slash{--fa:"\f4a9"}.fa-comment-alt-smile,.fa-message-smile{--fa:"\f4aa"}.fa-comment-alt-times,.fa-message-times,.fa-message-xmark{--fa:"\f4ab"}.fa-comment-check{--fa:"\f4ac"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-comment-edit,.fa-comment-pen{--fa:"\f4ae"}.fa-comment-exclamation{--fa:"\f4af"}.fa-comment-lines{--fa:"\f4b0"}.fa-comment-minus{--fa:"\f4b1"}.fa-comment-plus{--fa:"\f4b2"}.fa-comment-slash{--fa:"\f4b3"}.fa-comment-smile{--fa:"\f4b4"}.fa-comment-times,.fa-comment-xmark{--fa:"\f4b5"}.fa-comments-alt,.fa-messages{--fa:"\f4b6"}.fa-container-storage{--fa:"\f4b7"}.fa-couch{--fa:"\f4b8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-dove{--fa:"\f4ba"}.fa-fragile,.fa-wine-glass-crack{--fa:"\f4bb"}.fa-hand-heart{--fa:"\f4bc"}.fa-hand-holding{--fa:"\f4bd"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-hand-holding-seedling{--fa:"\f4bf"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-heart,.fa-hands-holding-heart{--fa:"\f4c3"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-hands-holding-dollar,.fa-hands-usd{--fa:"\f4c5"}.fa-circle-heart,.fa-heart-circle{--fa:"\f4c7"}.fa-heart-square,.fa-square-heart{--fa:"\f4c8"}.fa-home-heart,.fa-house-heart{--fa:"\f4c9"}.fa-lamp{--fa:"\f4ca"}.fa-leaf-heart{--fa:"\f4cb"}.fa-couch-small,.fa-loveseat{--fa:"\f4cc"}.fa-parachute-box{--fa:"\f4cd"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-person-carry,.fa-person-carry-box{--fa:"\f4cf"}.fa-person-dolly{--fa:"\f4d0"}.fa-person-dolly-empty{--fa:"\f4d1"}.fa-phone-plus{--fa:"\f4d2"}.fa-piggy-bank{--fa:"\f4d3"}.fa-ramp-loading{--fa:"\f4d4"}.fa-ribbon{--fa:"\f4d6"}.fa-route{--fa:"\f4d7"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-tape{--fa:"\f4db"}.fa-truck-container{--fa:"\f4dc"}.fa-truck-couch,.fa-truck-ramp-couch{--fa:"\f4dd"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-truck-moving{--fa:"\f4df"}.fa-truck-ramp{--fa:"\f4e0"}.fa-video-plus{--fa:"\f4e1"}.fa-video-slash{--fa:"\f4e2"}.fa-wine-glass{--fa:"\f4e3"}.fa-user-astronaut{--fa:"\f4fb"}.fa-user-check{--fa:"\f4fc"}.fa-user-clock{--fa:"\f4fd"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-user-graduate{--fa:"\f501"}.fa-user-lock{--fa:"\f502"}.fa-user-minus{--fa:"\f503"}.fa-user-ninja{--fa:"\f504"}.fa-user-shield{--fa:"\f505"}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}.fa-user-tag{--fa:"\f507"}.fa-user-tie{--fa:"\f508"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-blender{--fa:"\f517"}.fa-book-open{--fa:"\f518"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-broom{--fa:"\f51a"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-church{--fa:"\f51d"}.fa-coins{--fa:"\f51e"}.fa-compact-disc{--fa:"\f51f"}.fa-crow{--fa:"\f520"}.fa-crown{--fa:"\f521"}.fa-dice{--fa:"\f522"}.fa-dice-five{--fa:"\f523"}.fa-dice-four{--fa:"\f524"}.fa-dice-one{--fa:"\f525"}.fa-dice-six{--fa:"\f526"}.fa-dice-three{--fa:"\f527"}.fa-dice-two{--fa:"\f528"}.fa-divide{--fa:"\f529"}.fa-door-closed{--fa:"\f52a"}.fa-door-open{--fa:"\f52b"}.fa-feather{--fa:"\f52d"}.fa-frog{--fa:"\f52e"}.fa-gas-pump{--fa:"\f52f"}.fa-glasses{--fa:"\f530"}.fa-greater-than-equal{--fa:"\f532"}.fa-helicopter{--fa:"\f533"}.fa-infinity{--fa:"\f534"}.fa-kiwi-bird{--fa:"\f535"}.fa-less-than-equal{--fa:"\f537"}.fa-memory{--fa:"\f538"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-money-bill-wave{--fa:"\f53a"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-money-check{--fa:"\f53c"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-not-equal{--fa:"\f53e"}.fa-palette{--fa:"\f53f"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-receipt{--fa:"\f543"}.fa-robot{--fa:"\f544"}.fa-ruler{--fa:"\f545"}.fa-ruler-combined{--fa:"\f546"}.fa-ruler-horizontal{--fa:"\f547"}.fa-ruler-vertical{--fa:"\f548"}.fa-school{--fa:"\f549"}.fa-screwdriver{--fa:"\f54a"}.fa-shoe-prints{--fa:"\f54b"}.fa-skull{--fa:"\f54c"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-store{--fa:"\f54e"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-stroopwafel{--fa:"\f551"}.fa-toolbox{--fa:"\f552"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-wallet{--fa:"\f555"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-archway{--fa:"\f557"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-award{--fa:"\f559"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-bezier-curve{--fa:"\f55b"}.fa-bong{--fa:"\f55c"}.fa-brush{--fa:"\f55d"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-cannabis{--fa:"\f55f"}.fa-check-double{--fa:"\f560"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-cookie{--fa:"\f563"}.fa-cookie-bite{--fa:"\f564"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-drum{--fa:"\f569"}.fa-drum-steelpan{--fa:"\f56a"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-file-contract{--fa:"\f56c"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-file-invoice{--fa:"\f570"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-file-prescription{--fa:"\f572"}.fa-file-signature{--fa:"\f573"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-fill{--fa:"\f575"}.fa-fill-drip{--fa:"\f576"}.fa-fingerprint{--fa:"\f577"}.fa-fish{--fa:"\f578"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}.fa-headset{--fa:"\f590"}.fa-highlighter{--fa:"\f591"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-hotel{--fa:"\f594"}.fa-joint{--fa:"\f595"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-marker{--fa:"\f5a1"}.fa-medal{--fa:"\f5a2"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-monument{--fa:"\f5a6"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-paint-brush-alt,.fa-paint-brush-fine,.fa-paintbrush-alt,.fa-paintbrush-fine{--fa:"\f5a9"}.fa-paint-roller{--fa:"\f5aa"}.fa-passport{--fa:"\f5ab"}.fa-pen-fancy{--fa:"\f5ac"}.fa-pen-nib{--fa:"\f5ad"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-plane-arrival{--fa:"\f5af"}.fa-plane-departure{--fa:"\f5b0"}.fa-prescription{--fa:"\f5b1"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-signature{--fa:"\f5b7"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-face-smile-plus,.fa-smile-plus{--fa:"\f5b9"}.fa-solar-panel{--fa:"\f5ba"}.fa-spa{--fa:"\f5bb"}.fa-splotch{--fa:"\f5bc"}.fa-spray-can{--fa:"\f5bd"}.fa-stamp{--fa:"\f5bf"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-swatchbook{--fa:"\f5c3"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-tooth{--fa:"\f5c9"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-weight-hanging{--fa:"\f5cd"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-atom{--fa:"\f5d2"}.fa-atom-alt,.fa-atom-simple{--fa:"\f5d3"}.fa-backpack{--fa:"\f5d4"}.fa-bell-school{--fa:"\f5d5"}.fa-bell-school-slash{--fa:"\f5d6"}.fa-bone{--fa:"\f5d7"}.fa-bone-break{--fa:"\f5d8"}.fa-book-alt,.fa-book-blank{--fa:"\f5d9"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-books{--fa:"\f5db"}.fa-brain{--fa:"\f5dc"}.fa-bus-school{--fa:"\f5dd"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-car-bump{--fa:"\f5e0"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-car-garage{--fa:"\f5e2"}.fa-car-mechanic,.fa-car-wrench{--fa:"\f5e3"}.fa-car-side{--fa:"\f5e4"}.fa-car-tilt{--fa:"\f5e5"}.fa-car-wash{--fa:"\f5e6"}.fa-charging-station{--fa:"\f5e7"}.fa-clipboard-prescription{--fa:"\f5e8"}.fa-compass-slash{--fa:"\f5e9"}.fa-diploma,.fa-scroll-ribbon{--fa:"\f5ea"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-do-not-enter{--fa:"\f5ec"}.fa-draw-circle,.fa-vector-circle{--fa:"\f5ed"}.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}.fa-draw-square,.fa-vector-square{--fa:"\f5ef"}.fa-ear{--fa:"\f5f0"}.fa-engine-exclamation,.fa-engine-warning{--fa:"\f5f2"}.fa-file-award,.fa-file-certificate{--fa:"\f5f3"}.fa-gas-pump-slash{--fa:"\f5f4"}.fa-glasses-alt,.fa-glasses-round{--fa:"\f5f5"}.fa-globe-stand{--fa:"\f5f6"}.fa-heart-rate,.fa-wave-pulse{--fa:"\f5f8"}.fa-inhaler{--fa:"\f5f9"}.fa-kidneys{--fa:"\f5fb"}.fa-laptop-code{--fa:"\f5fc"}.fa-layer-group{--fa:"\f5fd"}.fa-layer-group-minus,.fa-layer-minus{--fa:"\f5fe"}.fa-layer-group-plus,.fa-layer-plus{--fa:"\f5ff"}.fa-lips{--fa:"\f600"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-circle-location-arrow,.fa-location-circle{--fa:"\f602"}.fa-location-crosshairs-slash,.fa-location-slash{--fa:"\f603"}.fa-lungs{--fa:"\f604"}.fa-location-dot-slash,.fa-map-marker-alt-slash{--fa:"\f605"}.fa-location-check,.fa-map-marker-check{--fa:"\f606"}.fa-location-pen,.fa-map-marker-edit{--fa:"\f607"}.fa-location-exclamation,.fa-map-marker-exclamation{--fa:"\f608"}.fa-location-minus,.fa-map-marker-minus{--fa:"\f609"}.fa-location-plus,.fa-map-marker-plus{--fa:"\f60a"}.fa-location-question,.fa-map-marker-question{--fa:"\f60b"}.fa-location-pin-slash,.fa-map-marker-slash{--fa:"\f60c"}.fa-location-smile,.fa-map-marker-smile{--fa:"\f60d"}.fa-location-xmark,.fa-map-marker-times,.fa-map-marker-xmark{--fa:"\f60e"}.fa-microscope{--fa:"\f610"}.fa-monitor-heart-rate,.fa-monitor-waveform{--fa:"\f611"}.fa-oil-can{--fa:"\f613"}.fa-oil-temp,.fa-oil-temperature{--fa:"\f614"}.fa-circle-parking,.fa-parking-circle{--fa:"\f615"}.fa-ban-parking,.fa-parking-circle-slash{--fa:"\f616"}.fa-parking-slash,.fa-square-parking-slash{--fa:"\f617"}.fa-pen-paintbrush,.fa-pencil-paintbrush{--fa:"\f618"}.fa-poop{--fa:"\f619"}.fa-route-highway{--fa:"\f61a"}.fa-route-interstate{--fa:"\f61b"}.fa-ruler-triangle{--fa:"\f61c"}.fa-scalpel{--fa:"\f61d"}.fa-scalpel-line-dashed,.fa-scalpel-path{--fa:"\f61e"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-skeleton{--fa:"\f620"}.fa-star-of-life{--fa:"\f621"}.fa-steering-wheel{--fa:"\f622"}.fa-stomach{--fa:"\f623"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-gauge-max,.fa-tachometer-alt-fastest{--fa:"\f626"}.fa-gauge-low,.fa-tachometer-alt-slow{--fa:"\f627"}.fa-gauge-min,.fa-tachometer-alt-slowest{--fa:"\f628"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-gauge-simple-max,.fa-tachometer-fastest{--fa:"\f62b"}.fa-gauge-simple-low,.fa-tachometer-slow{--fa:"\f62c"}.fa-gauge-simple-min,.fa-tachometer-slowest{--fa:"\f62d"}.fa-teeth{--fa:"\f62e"}.fa-teeth-open{--fa:"\f62f"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-tire{--fa:"\f631"}.fa-tire-flat{--fa:"\f632"}.fa-tire-pressure-warning{--fa:"\f633"}.fa-tire-rugged{--fa:"\f634"}.fa-toothbrush{--fa:"\f635"}.fa-traffic-cone{--fa:"\f636"}.fa-traffic-light{--fa:"\f637"}.fa-traffic-light-go{--fa:"\f638"}.fa-traffic-light-slow{--fa:"\f639"}.fa-traffic-light-stop{--fa:"\f63a"}.fa-truck-monster{--fa:"\f63b"}.fa-truck-pickup{--fa:"\f63c"}.fa-screen-users,.fa-users-class{--fa:"\f63d"}.fa-watch-fitness{--fa:"\f63e"}.fa-abacus{--fa:"\f640"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-analytics,.fa-chart-mixed{--fa:"\f643"}.fa-ankh{--fa:"\f644"}.fa-badge-dollar{--fa:"\f645"}.fa-badge-percent{--fa:"\f646"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-bullseye-arrow{--fa:"\f648"}.fa-bullseye-pointer{--fa:"\f649"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-cabinet-filing{--fa:"\f64b"}.fa-calculator-alt,.fa-calculator-simple{--fa:"\f64c"}.fa-chart-line-down{--fa:"\f64d"}.fa-chart-pie-alt,.fa-chart-pie-simple{--fa:"\f64e"}.fa-city{--fa:"\f64f"}.fa-comment-alt-dollar,.fa-message-dollar{--fa:"\f650"}.fa-comment-dollar{--fa:"\f651"}.fa-comments-alt-dollar,.fa-messages-dollar{--fa:"\f652"}.fa-comments-dollar{--fa:"\f653"}.fa-cross{--fa:"\f654"}.fa-dharmachakra{--fa:"\f655"}.fa-empty-set{--fa:"\f656"}.fa-envelope-open-dollar{--fa:"\f657"}.fa-envelope-open-text{--fa:"\f658"}.fa-file-chart-column,.fa-file-chart-line{--fa:"\f659"}.fa-file-chart-pie{--fa:"\f65a"}.fa-file-spreadsheet{--fa:"\f65b"}.fa-file-user{--fa:"\f65c"}.fa-folder-minus{--fa:"\f65d"}.fa-folder-plus{--fa:"\f65e"}.fa-folder-times,.fa-folder-xmark{--fa:"\f65f"}.fa-folders{--fa:"\f660"}.fa-function{--fa:"\f661"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-gift-card{--fa:"\f663"}.fa-gopuram{--fa:"\f664"}.fa-hamsa{--fa:"\f665"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-integral{--fa:"\f667"}.fa-intersection{--fa:"\f668"}.fa-jedi{--fa:"\f669"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-kaaba{--fa:"\f66b"}.fa-keynote{--fa:"\f66c"}.fa-khanda{--fa:"\f66d"}.fa-lambda{--fa:"\f66e"}.fa-landmark{--fa:"\f66f"}.fa-lightbulb-dollar{--fa:"\f670"}.fa-lightbulb-exclamation{--fa:"\f671"}.fa-lightbulb-on{--fa:"\f672"}.fa-lightbulb-slash{--fa:"\f673"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-megaphone{--fa:"\f675"}.fa-menorah{--fa:"\f676"}.fa-brain-arrow-curved-right,.fa-mind-share{--fa:"\f677"}.fa-mosque{--fa:"\f678"}.fa-om{--fa:"\f679"}.fa-omega{--fa:"\f67a"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-peace{--fa:"\f67c"}.fa-phone-office{--fa:"\f67d"}.fa-pi{--fa:"\f67e"}.fa-place-of-worship{--fa:"\f67f"}.fa-podium{--fa:"\f680"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-presentation,.fa-presentation-screen{--fa:"\f685"}.fa-print-slash{--fa:"\f686"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-shredder{--fa:"\f68a"}.fa-sigma{--fa:"\f68b"}.fa-signal-1,.fa-signal-weak{--fa:"\f68c"}.fa-signal-2,.fa-signal-fair{--fa:"\f68d"}.fa-signal-3,.fa-signal-good{--fa:"\f68e"}.fa-signal-4,.fa-signal-strong{--fa:"\f68f"}.fa-signal-alt,.fa-signal-alt-4,.fa-signal-bars,.fa-signal-bars-strong{--fa:"\f690"}.fa-signal-alt-1,.fa-signal-bars-weak{--fa:"\f691"}.fa-signal-alt-2,.fa-signal-bars-fair{--fa:"\f692"}.fa-signal-alt-3,.fa-signal-bars-good{--fa:"\f693"}.fa-signal-alt-slash,.fa-signal-bars-slash{--fa:"\f694"}.fa-signal-slash{--fa:"\f695"}.fa-socks{--fa:"\f696"}.fa-square-root{--fa:"\f697"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-star-and-crescent{--fa:"\f699"}.fa-star-of-david{--fa:"\f69a"}.fa-synagogue{--fa:"\f69b"}.fa-tally,.fa-tally-5{--fa:"\f69c"}.fa-theta{--fa:"\f69e"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-torii-gate{--fa:"\f6a1"}.fa-union{--fa:"\f6a2"}.fa-chart-user,.fa-user-chart{--fa:"\f6a3"}.fa-user-crown{--fa:"\f6a4"}.fa-user-group-crown,.fa-users-crown{--fa:"\f6a5"}.fa-value-absolute{--fa:"\f6a6"}.fa-vihara{--fa:"\f6a7"}.fa-volume,.fa-volume-medium{--fa:"\f6a8"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-wifi-1,.fa-wifi-weak{--fa:"\f6aa"}.fa-wifi-2,.fa-wifi-fair{--fa:"\f6ab"}.fa-wifi-slash{--fa:"\f6ac"}.fa-yin-yang{--fa:"\f6ad"}.fa-acorn{--fa:"\f6ae"}.fa-alicorn{--fa:"\f6b0"}.fa-crate-apple{--fa:"\f6b1"}.fa-apple-crate{--fa:"\f6b1"}.fa-axe{--fa:"\f6b2"}.fa-axe-battle{--fa:"\f6b3"}.fa-badger-honey{--fa:"\f6b4"}.fa-bat{--fa:"\f6b5"}.fa-blender-phone{--fa:"\f6b6"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-book-sparkles,.fa-book-spells{--fa:"\f6b8"}.fa-bow-arrow{--fa:"\f6b9"}.fa-campfire{--fa:"\f6ba"}.fa-campground{--fa:"\f6bb"}.fa-candle-holder{--fa:"\f6bc"}.fa-candy-corn{--fa:"\f6bd"}.fa-cat{--fa:"\f6be"}.fa-cauldron{--fa:"\f6bf"}.fa-chair{--fa:"\f6c0"}.fa-chair-office{--fa:"\f6c1"}.fa-claw-marks{--fa:"\f6c2"}.fa-cloud-moon{--fa:"\f6c3"}.fa-cloud-sun{--fa:"\f6c4"}.fa-coffee-togo,.fa-cup-togo{--fa:"\f6c5"}.fa-coffin{--fa:"\f6c6"}.fa-corn{--fa:"\f6c7"}.fa-cow{--fa:"\f6c8"}.fa-dagger{--fa:"\f6cb"}.fa-dice-d10{--fa:"\f6cd"}.fa-dice-d12{--fa:"\f6ce"}.fa-dice-d20{--fa:"\f6cf"}.fa-dice-d4{--fa:"\f6d0"}.fa-dice-d6{--fa:"\f6d1"}.fa-dice-d8{--fa:"\f6d2"}.fa-dog{--fa:"\f6d3"}.fa-dog-leashed{--fa:"\f6d4"}.fa-dragon{--fa:"\f6d5"}.fa-drumstick{--fa:"\f6d6"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-duck{--fa:"\f6d8"}.fa-dungeon{--fa:"\f6d9"}.fa-elephant{--fa:"\f6da"}.fa-eye-evil{--fa:"\f6db"}.fa-file-csv{--fa:"\f6dd"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-fire-flame,.fa-flame{--fa:"\f6df"}.fa-flask-poison,.fa-flask-round-poison{--fa:"\f6e0"}.fa-flask-potion,.fa-flask-round-potion{--fa:"\f6e1"}.fa-ghost{--fa:"\f6e2"}.fa-hammer{--fa:"\f6e3"}.fa-hammer-war{--fa:"\f6e4"}.fa-hand-holding-magic{--fa:"\f6e5"}.fa-hanukiah{--fa:"\f6e6"}.fa-hat-witch{--fa:"\f6e7"}.fa-hat-wizard{--fa:"\f6e8"}.fa-head-side{--fa:"\f6e9"}.fa-head-side-goggles,.fa-head-vr{--fa:"\f6ea"}.fa-helmet-battle{--fa:"\f6eb"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-hippo{--fa:"\f6ed"}.fa-hockey-mask{--fa:"\f6ee"}.fa-hood-cloak{--fa:"\f6ef"}.fa-horse{--fa:"\f6f0"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-key-skeleton{--fa:"\f6f3"}.fa-kite{--fa:"\f6f4"}.fa-knife-kitchen{--fa:"\f6f5"}.fa-leaf-maple{--fa:"\f6f6"}.fa-leaf-oak{--fa:"\f6f7"}.fa-mace{--fa:"\f6f8"}.fa-mandolin{--fa:"\f6f9"}.fa-mask{--fa:"\f6fa"}.fa-monkey{--fa:"\f6fb"}.fa-mountain{--fa:"\f6fc"}.fa-mountains{--fa:"\f6fd"}.fa-narwhal{--fa:"\f6fe"}.fa-network-wired{--fa:"\f6ff"}.fa-otter{--fa:"\f700"}.fa-paw-alt,.fa-paw-simple{--fa:"\f701"}.fa-paw-claws{--fa:"\f702"}.fa-pegasus{--fa:"\f703"}.fa-pie{--fa:"\f705"}.fa-pig{--fa:"\f706"}.fa-pumpkin{--fa:"\f707"}.fa-rabbit{--fa:"\f708"}.fa-rabbit-fast,.fa-rabbit-running{--fa:"\f709"}.fa-ram{--fa:"\f70a"}.fa-ring{--fa:"\f70b"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-scarecrow{--fa:"\f70d"}.fa-scroll{--fa:"\f70e"}.fa-scroll-old{--fa:"\f70f"}.fa-scythe{--fa:"\f710"}.fa-sheep{--fa:"\f711"}.fa-shield-cross{--fa:"\f712"}.fa-shovel{--fa:"\f713"}.fa-skull-crossbones{--fa:"\f714"}.fa-slash{--fa:"\f715"}.fa-snake{--fa:"\f716"}.fa-spider{--fa:"\f717"}.fa-spider-black-widow{--fa:"\f718"}.fa-spider-web{--fa:"\f719"}.fa-squirrel{--fa:"\f71a"}.fa-staff{--fa:"\f71b"}.fa-sword{--fa:"\f71c"}.fa-swords{--fa:"\f71d"}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}.fa-tombstone{--fa:"\f720"}.fa-tombstone-alt,.fa-tombstone-blank{--fa:"\f721"}.fa-tractor{--fa:"\f722"}.fa-treasure-chest{--fa:"\f723"}.fa-trees{--fa:"\f724"}.fa-turkey{--fa:"\f725"}.fa-turtle{--fa:"\f726"}.fa-unicorn{--fa:"\f727"}.fa-user-injured{--fa:"\f728"}.fa-vr-cardboard{--fa:"\f729"}.fa-wand{--fa:"\f72a"}.fa-wand-sparkles{--fa:"\f72b"}.fa-whale{--fa:"\f72c"}.fa-wheat{--fa:"\f72d"}.fa-wind{--fa:"\f72e"}.fa-wine-bottle{--fa:"\f72f"}.fa-ballot{--fa:"\f732"}.fa-ballot-check{--fa:"\f733"}.fa-booth-curtain{--fa:"\f734"}.fa-box-ballot{--fa:"\f735"}.fa-calendar-star{--fa:"\f736"}.fa-clipboard-list-check{--fa:"\f737"}.fa-cloud-drizzle{--fa:"\f738"}.fa-cloud-hail{--fa:"\f739"}.fa-cloud-hail-mixed{--fa:"\f73a"}.fa-cloud-meatball{--fa:"\f73b"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-cloud-rain{--fa:"\f73d"}.fa-cloud-rainbow{--fa:"\f73e"}.fa-cloud-showers{--fa:"\f73f"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-cloud-sleet{--fa:"\f741"}.fa-cloud-snow{--fa:"\f742"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-clouds{--fa:"\f744"}.fa-clouds-moon{--fa:"\f745"}.fa-clouds-sun{--fa:"\f746"}.fa-democrat{--fa:"\f747"}.fa-dewpoint,.fa-droplet-degree{--fa:"\f748"}.fa-eclipse{--fa:"\f749"}.fa-eclipse-alt,.fa-moon-over-sun{--fa:"\f74a"}.fa-fire-smoke{--fa:"\f74b"}.fa-flag-alt,.fa-flag-swallowtail{--fa:"\f74c"}.fa-flag-usa{--fa:"\f74d"}.fa-cloud-fog,.fa-fog{--fa:"\f74e"}.fa-house-flood,.fa-house-water{--fa:"\f74f"}.fa-droplet-percent,.fa-humidity{--fa:"\f750"}.fa-hurricane{--fa:"\f751"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-meteor{--fa:"\f753"}.fa-moon-cloud{--fa:"\f754"}.fa-moon-stars{--fa:"\f755"}.fa-person-booth{--fa:"\f756"}.fa-person-sign{--fa:"\f757"}.fa-podium-star{--fa:"\f758"}.fa-poll-people{--fa:"\f759"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-rainbow{--fa:"\f75b"}.fa-raindrops{--fa:"\f75c"}.fa-republican{--fa:"\f75e"}.fa-smog{--fa:"\f75f"}.fa-smoke{--fa:"\f760"}.fa-snow-blowing{--fa:"\f761"}.fa-stars{--fa:"\f762"}.fa-sun-cloud{--fa:"\f763"}.fa-sun-dust{--fa:"\f764"}.fa-sun-haze{--fa:"\f765"}.fa-sunrise{--fa:"\f766"}.fa-sunset{--fa:"\f767"}.fa-temperature-frigid,.fa-temperature-snow{--fa:"\f768"}.fa-temperature-high{--fa:"\f769"}.fa-temperature-hot,.fa-temperature-sun{--fa:"\f76a"}.fa-temperature-low{--fa:"\f76b"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-cloud-bolt-moon,.fa-thunderstorm-moon{--fa:"\f76d"}.fa-cloud-bolt-sun,.fa-thunderstorm-sun{--fa:"\f76e"}.fa-tornado{--fa:"\f76f"}.fa-volcano{--fa:"\f770"}.fa-times-to-slot,.fa-vote-nay,.fa-xmark-to-slot{--fa:"\f771"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-water{--fa:"\f773"}.fa-water-arrow-down,.fa-water-lower{--fa:"\f774"}.fa-water-arrow-up,.fa-water-rise{--fa:"\f775"}.fa-wind-circle-exclamation,.fa-wind-warning{--fa:"\f776"}.fa-windsock{--fa:"\f777"}.fa-angel{--fa:"\f779"}.fa-baby{--fa:"\f77c"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-ball-pile{--fa:"\f77e"}.fa-bells{--fa:"\f77f"}.fa-biohazard{--fa:"\f780"}.fa-blog{--fa:"\f781"}.fa-boot{--fa:"\f782"}.fa-calendar-day{--fa:"\f783"}.fa-calendar-week{--fa:"\f784"}.fa-candy-cane{--fa:"\f786"}.fa-carrot{--fa:"\f787"}.fa-cash-register{--fa:"\f788"}.fa-chart-network{--fa:"\f78a"}.fa-chimney{--fa:"\f78b"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-deer{--fa:"\f78e"}.fa-deer-rudolph{--fa:"\f78f"}.fa-dreidel{--fa:"\f792"}.fa-dumpster{--fa:"\f793"}.fa-dumpster-fire{--fa:"\f794"}.fa-ear-muffs{--fa:"\f795"}.fa-ethernet{--fa:"\f796"}.fa-fireplace{--fa:"\f79a"}.fa-frosty-head,.fa-snowman-head{--fa:"\f79b"}.fa-gifts{--fa:"\f79c"}.fa-gingerbread-man{--fa:"\f79d"}.fa-champagne-glass,.fa-glass-champagne{--fa:"\f79e"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-glass-whiskey-rocks,.fa-whiskey-glass-ice{--fa:"\f7a1"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-globe-snow{--fa:"\f7a3"}.fa-grip-lines{--fa:"\f7a4"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-guitar{--fa:"\f7a6"}.fa-hat-santa{--fa:"\f7a7"}.fa-hat-winter{--fa:"\f7a8"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-holly-berry{--fa:"\f7aa"}.fa-horse-head{--fa:"\f7ab"}.fa-ice-skate{--fa:"\f7ac"}.fa-icicles{--fa:"\f7ad"}.fa-igloo{--fa:"\f7ae"}.fa-lights-holiday{--fa:"\f7b2"}.fa-mistletoe{--fa:"\f7b4"}.fa-mitten{--fa:"\f7b5"}.fa-mug-hot{--fa:"\f7b6"}.fa-mug-marshmallows{--fa:"\f7b7"}.fa-ornament{--fa:"\f7b8"}.fa-radiation{--fa:"\f7b9"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-restroom{--fa:"\f7bd"}.fa-rv{--fa:"\f7be"}.fa-satellite{--fa:"\f7bf"}.fa-satellite-dish{--fa:"\f7c0"}.fa-scarf{--fa:"\f7c1"}.fa-sd-card{--fa:"\f7c2"}.fa-shovel-snow{--fa:"\f7c3"}.fa-sim-card{--fa:"\f7c4"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-person-ski-jumping,.fa-ski-jump{--fa:"\f7c7"}.fa-person-ski-lift,.fa-ski-lift{--fa:"\f7c8"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-person-sledding,.fa-sledding{--fa:"\f7cb"}.fa-sleigh{--fa:"\f7cc"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-snowflakes{--fa:"\f7cf"}.fa-snowman{--fa:"\f7d0"}.fa-person-snowmobiling,.fa-snowmobile{--fa:"\f7d1"}.fa-snowplow{--fa:"\f7d2"}.fa-star-christmas{--fa:"\f7d4"}.fa-stocking{--fa:"\f7d5"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-toilet{--fa:"\f7d8"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-tree-christmas{--fa:"\f7db"}.fa-tree-decorated{--fa:"\f7dc"}.fa-tree-large{--fa:"\f7dd"}.fa-truck-plow{--fa:"\f7de"}.fa-wreath{--fa:"\f7e2"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-bacon{--fa:"\f7e5"}.fa-book-medical{--fa:"\f7e6"}.fa-book-user{--fa:"\f7e7"}.fa-books-medical{--fa:"\f7e8"}.fa-brackets,.fa-brackets-square{--fa:"\f7e9"}.fa-brackets-curly{--fa:"\f7ea"}.fa-bread-loaf{--fa:"\f7eb"}.fa-bread-slice{--fa:"\f7ec"}.fa-burrito{--fa:"\f7ed"}.fa-chart-scatter{--fa:"\f7ee"}.fa-cheese{--fa:"\f7ef"}.fa-cheese-swiss{--fa:"\f7f0"}.fa-burger-cheese,.fa-cheeseburger{--fa:"\f7f1"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-clipboard-user{--fa:"\f7f3"}.fa-comment-alt-medical,.fa-message-medical{--fa:"\f7f4"}.fa-comment-medical{--fa:"\f7f5"}.fa-croissant{--fa:"\f7f6"}.fa-crutch{--fa:"\f7f7"}.fa-crutches{--fa:"\f7f8"}.fa-ban-bug,.fa-debug{--fa:"\f7f9"}.fa-disease{--fa:"\f7fa"}.fa-egg{--fa:"\f7fb"}.fa-egg-fried{--fa:"\f7fc"}.fa-files-medical{--fa:"\f7fd"}.fa-fish-cooked{--fa:"\f7fe"}.fa-flower{--fa:"\f7ff"}.fa-flower-daffodil{--fa:"\f800"}.fa-flower-tulip{--fa:"\f801"}.fa-folder-tree{--fa:"\f802"}.fa-french-fries{--fa:"\f803"}.fa-glass{--fa:"\f804"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-hand-middle-finger{--fa:"\f806"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-head-side-brain{--fa:"\f808"}.fa-head-side-medical{--fa:"\f809"}.fa-hospital-user{--fa:"\f80d"}.fa-hospitals{--fa:"\f80e"}.fa-hotdog{--fa:"\f80f"}.fa-ice-cream{--fa:"\f810"}.fa-island-tree-palm,.fa-island-tropical{--fa:"\f811"}.fa-laptop-medical{--fa:"\f812"}.fa-mailbox{--fa:"\f813"}.fa-meat{--fa:"\f814"}.fa-pager{--fa:"\f815"}.fa-pepper-hot{--fa:"\f816"}.fa-pizza{--fa:"\f817"}.fa-pizza-slice{--fa:"\f818"}.fa-popcorn{--fa:"\f819"}.fa-print-magnifying-glass,.fa-print-search{--fa:"\f81a"}.fa-rings-wedding{--fa:"\f81b"}.fa-sack{--fa:"\f81c"}.fa-sack-dollar{--fa:"\f81d"}.fa-bowl-salad,.fa-salad{--fa:"\f81e"}.fa-sandwich{--fa:"\f81f"}.fa-sausage{--fa:"\f820"}.fa-shish-kebab{--fa:"\f821"}.fa-sickle{--fa:"\f822"}.fa-bowl-hot,.fa-soup{--fa:"\f823"}.fa-steak{--fa:"\f824"}.fa-stretcher{--fa:"\f825"}.fa-taco{--fa:"\f826"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-tree-palm{--fa:"\f82b"}.fa-user-construction,.fa-user-hard-hat,.fa-user-helmet-safety{--fa:"\f82c"}.fa-user-headset{--fa:"\f82d"}.fa-user-doctor-message,.fa-user-md-chat{--fa:"\f82e"}.fa-user-nurse{--fa:"\f82f"}.fa-users-medical{--fa:"\f830"}.fa-walker{--fa:"\f831"}.fa-camera-web,.fa-webcam{--fa:"\f832"}.fa-camera-web-slash,.fa-webcam-slash{--fa:"\f833"}.fa-wave-square{--fa:"\f83e"}.fa-alarm-exclamation{--fa:"\f843"}.fa-alarm-plus{--fa:"\f844"}.fa-alarm-snooze{--fa:"\f845"}.fa-align-slash{--fa:"\f846"}.fa-bags-shopping{--fa:"\f847"}.fa-bell-exclamation{--fa:"\f848"}.fa-bell-plus{--fa:"\f849"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-biking-mountain,.fa-person-biking-mountain{--fa:"\f84b"}.fa-border-all{--fa:"\f84c"}.fa-border-bottom{--fa:"\f84d"}.fa-border-inner{--fa:"\f84e"}.fa-border-left{--fa:"\f84f"}.fa-border-none{--fa:"\f850"}.fa-border-outer{--fa:"\f851"}.fa-border-right{--fa:"\f852"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-border-bottom-right,.fa-border-style-alt{--fa:"\f854"}.fa-border-top{--fa:"\f855"}.fa-bring-forward{--fa:"\f856"}.fa-bring-front{--fa:"\f857"}.fa-burger-soda{--fa:"\f858"}.fa-car-building{--fa:"\f859"}.fa-car-bus{--fa:"\f85a"}.fa-cars{--fa:"\f85b"}.fa-coin{--fa:"\f85c"}.fa-construction,.fa-triangle-person-digging{--fa:"\f85d"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-drone{--fa:"\f85f"}.fa-drone-alt,.fa-drone-front{--fa:"\f860"}.fa-dryer{--fa:"\f861"}.fa-dryer-alt,.fa-dryer-heat{--fa:"\f862"}.fa-fan{--fa:"\f863"}.fa-barn-silo,.fa-farm{--fa:"\f864"}.fa-file-magnifying-glass,.fa-file-search{--fa:"\f865"}.fa-font-case{--fa:"\f866"}.fa-game-board{--fa:"\f867"}.fa-game-board-alt,.fa-game-board-simple{--fa:"\f868"}.fa-glass-citrus{--fa:"\f869"}.fa-h4{--fa:"\f86a"}.fa-hat-chef{--fa:"\f86b"}.fa-horizontal-rule{--fa:"\f86c"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-icons-alt,.fa-symbols{--fa:"\f86e"}.fa-kerning{--fa:"\f86f"}.fa-line-columns{--fa:"\f870"}.fa-line-height{--fa:"\f871"}.fa-money-check-edit,.fa-money-check-pen{--fa:"\f872"}.fa-money-check-dollar-pen,.fa-money-check-edit-alt{--fa:"\f873"}.fa-mug{--fa:"\f874"}.fa-mug-tea{--fa:"\f875"}.fa-overline{--fa:"\f876"}.fa-file-dashed-line,.fa-page-break{--fa:"\f877"}.fa-paragraph-left,.fa-paragraph-rtl{--fa:"\f878"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-laptop-mobile,.fa-phone-laptop{--fa:"\f87a"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-send-back{--fa:"\f87e"}.fa-send-backward{--fa:"\f87f"}.fa-snooze,.fa-zzz{--fa:"\f880"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-arrow-down-arrow-up,.fa-sort-alt{--fa:"\f883"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-arrow-down-triangle-square,.fa-sort-shapes-down{--fa:"\f888"}.fa-arrow-down-square-triangle,.fa-sort-shapes-down-alt{--fa:"\f889"}.fa-arrow-up-triangle-square,.fa-sort-shapes-up{--fa:"\f88a"}.fa-arrow-up-square-triangle,.fa-sort-shapes-up-alt{--fa:"\f88b"}.fa-arrow-down-big-small,.fa-sort-size-down{--fa:"\f88c"}.fa-arrow-down-small-big,.fa-sort-size-down-alt{--fa:"\f88d"}.fa-arrow-up-big-small,.fa-sort-size-up{--fa:"\f88e"}.fa-arrow-up-small-big,.fa-sort-size-up-alt{--fa:"\f88f"}.fa-sparkles{--fa:"\f890"}.fa-spell-check{--fa:"\f891"}.fa-sunglasses{--fa:"\f892"}.fa-text{--fa:"\f893"}.fa-text-size{--fa:"\f894"}.fa-trash-arrow-turn-left,.fa-trash-undo{--fa:"\f895"}.fa-trash-can-arrow-turn-left,.fa-trash-can-undo,.fa-trash-undo-alt{--fa:"\f896"}.fa-voicemail{--fa:"\f897"}.fa-washer,.fa-washing-machine{--fa:"\f898"}.fa-wave-sine{--fa:"\f899"}.fa-wave-triangle{--fa:"\f89a"}.fa-wind-turbine{--fa:"\f89b"}.fa-border-center-h{--fa:"\f89c"}.fa-border-center-v{--fa:"\f89d"}.fa-album{--fa:"\f89f"}.fa-album-collection{--fa:"\f8a0"}.fa-amp-guitar{--fa:"\f8a1"}.fa-badge-sheriff{--fa:"\f8a2"}.fa-banjo{--fa:"\f8a3"}.fa-betamax,.fa-cassette-betamax{--fa:"\f8a4"}.fa-boombox{--fa:"\f8a5"}.fa-cactus{--fa:"\f8a7"}.fa-camcorder,.fa-video-handheld{--fa:"\f8a8"}.fa-camera-movie{--fa:"\f8a9"}.fa-camera-polaroid{--fa:"\f8aa"}.fa-cassette-tape{--fa:"\f8ab"}.fa-camera-cctv,.fa-cctv{--fa:"\f8ac"}.fa-clarinet{--fa:"\f8ad"}.fa-cloud-music{--fa:"\f8ae"}.fa-comment-alt-music,.fa-message-music{--fa:"\f8af"}.fa-comment-music{--fa:"\f8b0"}.fa-computer-classic{--fa:"\f8b1"}.fa-computer-speaker{--fa:"\f8b2"}.fa-cowbell{--fa:"\f8b3"}.fa-cowbell-circle-plus,.fa-cowbell-more{--fa:"\f8b4"}.fa-disc-drive{--fa:"\f8b5"}.fa-file-music{--fa:"\f8b6"}.fa-film-canister,.fa-film-cannister{--fa:"\f8b7"}.fa-flashlight{--fa:"\f8b8"}.fa-flute{--fa:"\f8b9"}.fa-flux-capacitor{--fa:"\f8ba"}.fa-game-console-handheld{--fa:"\f8bb"}.fa-gramophone{--fa:"\f8bd"}.fa-guitar-electric{--fa:"\f8be"}.fa-guitars{--fa:"\f8bf"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-head-side-headphones{--fa:"\f8c2"}.fa-horse-saddle{--fa:"\f8c3"}.fa-image-polaroid{--fa:"\f8c4"}.fa-joystick{--fa:"\f8c5"}.fa-jug{--fa:"\f8c6"}.fa-kazoo{--fa:"\f8c7"}.fa-lasso{--fa:"\f8c8"}.fa-list-music{--fa:"\f8c9"}.fa-microphone-stand{--fa:"\f8cb"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-computer-mouse-scrollwheel,.fa-mouse-alt{--fa:"\f8cd"}.fa-mp3-player{--fa:"\f8ce"}.fa-music-alt,.fa-music-note{--fa:"\f8cf"}.fa-music-alt-slash,.fa-music-note-slash{--fa:"\f8d0"}.fa-music-slash{--fa:"\f8d1"}.fa-phone-rotary{--fa:"\f8d3"}.fa-piano{--fa:"\f8d4"}.fa-piano-keyboard{--fa:"\f8d5"}.fa-projector{--fa:"\f8d6"}.fa-radio{--fa:"\f8d7"}.fa-radio-alt,.fa-radio-tuner{--fa:"\f8d8"}.fa-record-vinyl{--fa:"\f8d9"}.fa-router{--fa:"\f8da"}.fa-sax-hot,.fa-saxophone-fire{--fa:"\f8db"}.fa-saxophone{--fa:"\f8dc"}.fa-signal-stream{--fa:"\f8dd"}.fa-skull-cow{--fa:"\f8de"}.fa-speaker{--fa:"\f8df"}.fa-speakers{--fa:"\f8e0"}.fa-triangle-instrument,.fa-triangle-music{--fa:"\f8e2"}.fa-trumpet{--fa:"\f8e3"}.fa-turntable{--fa:"\f8e4"}.fa-tv-music{--fa:"\f8e6"}.fa-typewriter{--fa:"\f8e7"}.fa-usb-drive{--fa:"\f8e9"}.fa-user-cowboy{--fa:"\f8ea"}.fa-user-music{--fa:"\f8eb"}.fa-cassette-vhs,.fa-vhs{--fa:"\f8ec"}.fa-violin{--fa:"\f8ed"}.fa-wagon-covered{--fa:"\f8ee"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-watch-calculator{--fa:"\f8f0"}.fa-waveform{--fa:"\f8f1"}.fa-waveform-lines,.fa-waveform-path{--fa:"\f8f2"}.fa-scanner-image{--fa:"\f8f3"}.fa-air-conditioner{--fa:"\f8f4"}.fa-alien{--fa:"\f8f5"}.fa-alien-8bit,.fa-alien-monster{--fa:"\f8f6"}.fa-bed-alt,.fa-bed-front{--fa:"\f8f7"}.fa-bed-bunk{--fa:"\f8f8"}.fa-bed-empty{--fa:"\f8f9"}.fa-bell-on{--fa:"\f8fa"}.fa-blinds{--fa:"\f8fb"}.fa-blinds-open{--fa:"\f8fc"}.fa-blinds-raised{--fa:"\f8fd"}.fa-camera-home,.fa-camera-security{--fa:"\f8fe"}.fa-caravan{--fa:"\f8ff"} diff --git a/public/vendor/fontawesome/css/jelly-duo-regular.css b/public/vendor/fontawesome/css/jelly-duo-regular.css deleted file mode 100644 index 895ad7c..0000000 --- a/public/vendor/fontawesome/css/jelly-duo-regular.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-jelly-duo: "Font Awesome 7 Jelly Duo"; - --fa-font-jelly-duo-regular: normal 400 1em/1 var(--fa-family-jelly-duo); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-jelly-duo: var(--fa-family-jelly-duo); -} - -@font-face { - font-family: "Font Awesome 7 Jelly Duo"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-jelly-duo-regular-400.woff2"); -} -.fajdr { - --fa-family: var(--fa-family-jelly-duo); - --fa-style: 400; - position: relative; - letter-spacing: normal; -} - -.fa-jelly-duo { - --fa-family: var(--fa-family-jelly-duo); - position: relative; - letter-spacing: normal; -} - -.fa-regular { - --fa-style: 400; -} - -.fajdr::before, -.fa-jelly-duo::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fajdr::after, -.fa-jelly-duo::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fajdr::before, -.fa-swap-opacity .fa-jelly-duo::before, -.fa-swap-opacity.fajdr::before, -.fa-swap-opacity.fa-jelly-duo::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fajdr::after, -.fa-swap-opacity .fa-jelly-duo::after, -.fa-swap-opacity.fajdr::after, -.fa-swap-opacity.fa-jelly-duo::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fajdr, -.fa-li.fa-jelly-duo, -.fa-stack-1x.fajdr, -.fa-stack-1x.fa-jelly-duo, -.fa-stack-2x.fajdr, -.fa-stack-2x.fa-jelly-duo { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/jelly-duo-regular.min.css b/public/vendor/fontawesome/css/jelly-duo-regular.min.css deleted file mode 100644 index fe482cf..0000000 --- a/public/vendor/fontawesome/css/jelly-duo-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-jelly-duo:"Font Awesome 7 Jelly Duo";--fa-font-jelly-duo-regular:normal 400 1em/1 var(--fa-family-jelly-duo);--fa-style-family-jelly-duo:var(--fa-family-jelly-duo)}@font-face{font-family:"Font Awesome 7 Jelly Duo";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-jelly-duo-regular-400.woff2)}.fajdr{--fa-style:400}.fa-jelly-duo,.fajdr{--fa-family:var(--fa-family-jelly-duo);position:relative;letter-spacing:normal}.fa-regular{--fa-style:400}.fa-jelly-duo:before,.fajdr:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-jelly-duo:after,.fajdr:after{color:var(--fa-secondary-color,currentColor)}.fa-jelly-duo:after,.fa-swap-opacity.fa-jelly-duo:before,.fa-swap-opacity .fa-jelly-duo:before,.fa-swap-opacity.fajdr:before,.fa-swap-opacity .fajdr:before,.fajdr:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-jelly-duo:after,.fa-swap-opacity .fa-jelly-duo:after,.fa-swap-opacity.fajdr:after,.fa-swap-opacity .fajdr:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-jelly-duo,.fa-li.fajdr,.fa-stack-1x.fa-jelly-duo,.fa-stack-1x.fajdr,.fa-stack-2x.fa-jelly-duo,.fa-stack-2x.fajdr{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/jelly-fill-regular.css b/public/vendor/fontawesome/css/jelly-fill-regular.css deleted file mode 100644 index 01e5d64..0000000 --- a/public/vendor/fontawesome/css/jelly-fill-regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-jelly-fill: "Font Awesome 7 Jelly Fill"; - --fa-font-jelly-fill-regular: normal 400 1em/1 var(--fa-family-jelly-fill); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-jelly-fill: var(--fa-family-jelly-fill); -} - -@font-face { - font-family: "Font Awesome 7 Jelly Fill"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-jelly-fill-regular-400.woff2"); -} -.fajfr { - --fa-family: var(--fa-family-jelly-fill); - --fa-style: 400; -} - -.fa-jelly-fill { - --fa-family: var(--fa-family-jelly-fill); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/jelly-fill-regular.min.css b/public/vendor/fontawesome/css/jelly-fill-regular.min.css deleted file mode 100644 index 9aac59b..0000000 --- a/public/vendor/fontawesome/css/jelly-fill-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-jelly-fill:"Font Awesome 7 Jelly Fill";--fa-font-jelly-fill-regular:normal 400 1em/1 var(--fa-family-jelly-fill);--fa-style-family-jelly-fill:var(--fa-family-jelly-fill)}@font-face{font-family:"Font Awesome 7 Jelly Fill";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-jelly-fill-regular-400.woff2)}.fajfr{--fa-style:400}.fa-jelly-fill,.fajfr{--fa-family:var(--fa-family-jelly-fill)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/jelly-regular.css b/public/vendor/fontawesome/css/jelly-regular.css deleted file mode 100644 index 23c4792..0000000 --- a/public/vendor/fontawesome/css/jelly-regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-jelly: "Font Awesome 7 Jelly"; - --fa-font-jelly-regular: normal 400 1em/1 var(--fa-family-jelly); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-jelly: var(--fa-family-jelly); -} - -@font-face { - font-family: "Font Awesome 7 Jelly"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-jelly-regular-400.woff2"); -} -.fajr { - --fa-family: var(--fa-family-jelly); - --fa-style: 400; -} - -.fa-jelly { - --fa-family: var(--fa-family-jelly); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/jelly-regular.min.css b/public/vendor/fontawesome/css/jelly-regular.min.css deleted file mode 100644 index b2f643a..0000000 --- a/public/vendor/fontawesome/css/jelly-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-jelly:"Font Awesome 7 Jelly";--fa-font-jelly-regular:normal 400 1em/1 var(--fa-family-jelly);--fa-style-family-jelly:var(--fa-family-jelly)}@font-face{font-family:"Font Awesome 7 Jelly";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-jelly-regular-400.woff2)}.fajr{--fa-style:400}.fa-jelly,.fajr{--fa-family:var(--fa-family-jelly)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/light.css b/public/vendor/fontawesome/css/light.css deleted file mode 100644 index 7b7615d..0000000 --- a/public/vendor/fontawesome/css/light.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-light: normal 300 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 300; - font-display: block; - src: url("../webfonts/fa-light-300.woff2"); -} -.fal { - --fa-family: var(--fa-family-classic); - --fa-style: 300; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-light { - --fa-style: 300; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/light.min.css b/public/vendor/fontawesome/css/light.min.css deleted file mode 100644 index ca5fbf1..0000000 --- a/public/vendor/fontawesome/css/light.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-classic:"Font Awesome 7 Pro";--fa-font-light:normal 300 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-light-300.woff2)}.fal{--fa-style:300}.fa-classic,.fal{--fa-family:var(--fa-family-classic)}.fa-light{--fa-style:300} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/notdog-duo-solid.css b/public/vendor/fontawesome/css/notdog-duo-solid.css deleted file mode 100644 index 2fe540e..0000000 --- a/public/vendor/fontawesome/css/notdog-duo-solid.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-notdog-duo: "Font Awesome 7 Notdog Duo"; - --fa-font-notdog-duo-solid: normal 900 1em/1 var(--fa-family-notdog-duo); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-notdog-duo: var(--fa-family-notdog-duo); -} - -@font-face { - font-family: "Font Awesome 7 Notdog Duo"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-notdog-duo-solid-900.woff2"); -} -.fands { - --fa-family: var(--fa-family-notdog-duo); - --fa-style: 900; - position: relative; - letter-spacing: normal; -} - -.fa-notdog-duo { - --fa-family: var(--fa-family-notdog-duo); - position: relative; - letter-spacing: normal; -} - -.fa-solid { - --fa-style: 900; -} - -.fands::before, -.fa-notdog-duo::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fands::after, -.fa-notdog-duo::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fands::before, -.fa-swap-opacity .fa-notdog-duo::before, -.fa-swap-opacity.fands::before, -.fa-swap-opacity.fa-notdog-duo::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fands::after, -.fa-swap-opacity .fa-notdog-duo::after, -.fa-swap-opacity.fands::after, -.fa-swap-opacity.fa-notdog-duo::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fands, -.fa-li.fa-notdog-duo, -.fa-stack-1x.fands, -.fa-stack-1x.fa-notdog-duo, -.fa-stack-2x.fands, -.fa-stack-2x.fa-notdog-duo { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/notdog-duo-solid.min.css b/public/vendor/fontawesome/css/notdog-duo-solid.min.css deleted file mode 100644 index 6db43c1..0000000 --- a/public/vendor/fontawesome/css/notdog-duo-solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-notdog-duo:"Font Awesome 7 Notdog Duo";--fa-font-notdog-duo-solid:normal 900 1em/1 var(--fa-family-notdog-duo);--fa-style-family-notdog-duo:var(--fa-family-notdog-duo)}@font-face{font-family:"Font Awesome 7 Notdog Duo";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-notdog-duo-solid-900.woff2)}.fands{--fa-style:900}.fa-notdog-duo,.fands{--fa-family:var(--fa-family-notdog-duo);position:relative;letter-spacing:normal}.fa-solid{--fa-style:900}.fa-notdog-duo:before,.fands:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-notdog-duo:after,.fands:after{color:var(--fa-secondary-color,currentColor)}.fa-notdog-duo:after,.fa-swap-opacity.fa-notdog-duo:before,.fa-swap-opacity .fa-notdog-duo:before,.fa-swap-opacity.fands:before,.fa-swap-opacity .fands:before,.fands:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-notdog-duo:after,.fa-swap-opacity .fa-notdog-duo:after,.fa-swap-opacity.fands:after,.fa-swap-opacity .fands:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-notdog-duo,.fa-li.fands,.fa-stack-1x.fa-notdog-duo,.fa-stack-1x.fands,.fa-stack-2x.fa-notdog-duo,.fa-stack-2x.fands{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/notdog-solid.css b/public/vendor/fontawesome/css/notdog-solid.css deleted file mode 100644 index 04ffe14..0000000 --- a/public/vendor/fontawesome/css/notdog-solid.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-notdog: "Font Awesome 7 Notdog"; - --fa-font-notdog-solid: normal 900 1em/1 var(--fa-family-notdog); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-notdog: var(--fa-family-notdog); -} - -@font-face { - font-family: "Font Awesome 7 Notdog"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-notdog-solid-900.woff2"); -} -.fans { - --fa-family: var(--fa-family-notdog); - --fa-style: 900; -} - -.fa-notdog { - --fa-family: var(--fa-family-notdog); -} - -.fa-solid { - --fa-style: 900; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/notdog-solid.min.css b/public/vendor/fontawesome/css/notdog-solid.min.css deleted file mode 100644 index a4115e9..0000000 --- a/public/vendor/fontawesome/css/notdog-solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-notdog:"Font Awesome 7 Notdog";--fa-font-notdog-solid:normal 900 1em/1 var(--fa-family-notdog);--fa-style-family-notdog:var(--fa-family-notdog)}@font-face{font-family:"Font Awesome 7 Notdog";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-notdog-solid-900.woff2)}.fans{--fa-style:900}.fa-notdog,.fans{--fa-family:var(--fa-family-notdog)}.fa-solid{--fa-style:900} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/regular.css b/public/vendor/fontawesome/css/regular.css deleted file mode 100644 index 0bbe54e..0000000 --- a/public/vendor/fontawesome/css/regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-regular: normal 400 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-regular-400.woff2"); -} -.far { - --fa-family: var(--fa-family-classic); - --fa-style: 400; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/regular.min.css b/public/vendor/fontawesome/css/regular.min.css deleted file mode 100644 index 1530da4..0000000 --- a/public/vendor/fontawesome/css/regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-classic:"Font Awesome 7 Pro";--fa-font-regular:normal 400 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2)}.far{--fa-style:400}.fa-classic,.far{--fa-family:var(--fa-family-classic)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-light.css b/public/vendor/fontawesome/css/sharp-duotone-light.css deleted file mode 100644 index f36953d..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-light.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp-duotone: "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-light: normal 300 1em/1 var(--fa-family-sharp-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp-duotone: var(--fa-family-sharp-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Sharp Duotone"; - font-style: normal; - font-weight: 300; - font-display: block; - src: url("../webfonts/fa-sharp-duotone-light-300.woff2"); -} -.fasdl { - --fa-family: var(--fa-family-sharp-duotone); - --fa-style: 300; - position: relative; - letter-spacing: normal; -} - -.fa-sharp-duotone { - --fa-family: var(--fa-family-sharp-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-light { - --fa-style: 300; -} - -.fasdl::before, -.fa-sharp-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fasdl::after, -.fa-sharp-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasdl::before, -.fa-swap-opacity .fa-sharp-duotone::before, -.fa-swap-opacity.fasdl::before, -.fa-swap-opacity.fa-sharp-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasdl::after, -.fa-swap-opacity .fa-sharp-duotone::after, -.fa-swap-opacity.fasdl::after, -.fa-swap-opacity.fa-sharp-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fasdl, -.fa-li.fa-sharp-duotone, -.fa-stack-1x.fasdl, -.fa-stack-1x.fa-sharp-duotone, -.fa-stack-2x.fasdl, -.fa-stack-2x.fa-sharp-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-light.min.css b/public/vendor/fontawesome/css/sharp-duotone-light.min.css deleted file mode 100644 index cf21435..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-light.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp-duotone:"Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 var(--fa-family-sharp-duotone);--fa-style-family-sharp-duotone:var(--fa-family-sharp-duotone)}@font-face{font-family:"Font Awesome 7 Sharp Duotone";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-sharp-duotone-light-300.woff2)}.fasdl{--fa-style:300}.fa-sharp-duotone,.fasdl{--fa-family:var(--fa-family-sharp-duotone);position:relative;letter-spacing:normal}.fa-light{--fa-style:300}.fa-sharp-duotone:before,.fasdl:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-sharp-duotone:after,.fasdl:after{color:var(--fa-secondary-color,currentColor)}.fa-sharp-duotone:after,.fa-swap-opacity.fa-sharp-duotone:before,.fa-swap-opacity .fa-sharp-duotone:before,.fa-swap-opacity.fasdl:before,.fa-swap-opacity .fasdl:before,.fasdl:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-sharp-duotone:after,.fa-swap-opacity .fa-sharp-duotone:after,.fa-swap-opacity.fasdl:after,.fa-swap-opacity .fasdl:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-sharp-duotone,.fa-li.fasdl,.fa-stack-1x.fa-sharp-duotone,.fa-stack-1x.fasdl,.fa-stack-2x.fa-sharp-duotone,.fa-stack-2x.fasdl{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-regular.css b/public/vendor/fontawesome/css/sharp-duotone-regular.css deleted file mode 100644 index 0ada211..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-regular.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp-duotone: "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-regular: normal 400 1em/1 var(--fa-family-sharp-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp-duotone: var(--fa-family-sharp-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Sharp Duotone"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-sharp-duotone-regular-400.woff2"); -} -.fasdr { - --fa-family: var(--fa-family-sharp-duotone); - --fa-style: 400; - position: relative; - letter-spacing: normal; -} - -.fa-sharp-duotone { - --fa-family: var(--fa-family-sharp-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-regular { - --fa-style: 400; -} - -.fasdr::before, -.fa-sharp-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fasdr::after, -.fa-sharp-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasdr::before, -.fa-swap-opacity .fa-sharp-duotone::before, -.fa-swap-opacity.fasdr::before, -.fa-swap-opacity.fa-sharp-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasdr::after, -.fa-swap-opacity .fa-sharp-duotone::after, -.fa-swap-opacity.fasdr::after, -.fa-swap-opacity.fa-sharp-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fasdr, -.fa-li.fa-sharp-duotone, -.fa-stack-1x.fasdr, -.fa-stack-1x.fa-sharp-duotone, -.fa-stack-2x.fasdr, -.fa-stack-2x.fa-sharp-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-regular.min.css b/public/vendor/fontawesome/css/sharp-duotone-regular.min.css deleted file mode 100644 index 343c2b3..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp-duotone:"Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 var(--fa-family-sharp-duotone);--fa-style-family-sharp-duotone:var(--fa-family-sharp-duotone)}@font-face{font-family:"Font Awesome 7 Sharp Duotone";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-sharp-duotone-regular-400.woff2)}.fasdr{--fa-style:400}.fa-sharp-duotone,.fasdr{--fa-family:var(--fa-family-sharp-duotone);position:relative;letter-spacing:normal}.fa-regular{--fa-style:400}.fa-sharp-duotone:before,.fasdr:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-sharp-duotone:after,.fasdr:after{color:var(--fa-secondary-color,currentColor)}.fa-sharp-duotone:after,.fa-swap-opacity.fa-sharp-duotone:before,.fa-swap-opacity .fa-sharp-duotone:before,.fa-swap-opacity.fasdr:before,.fa-swap-opacity .fasdr:before,.fasdr:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-sharp-duotone:after,.fa-swap-opacity .fa-sharp-duotone:after,.fa-swap-opacity.fasdr:after,.fa-swap-opacity .fasdr:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-sharp-duotone,.fa-li.fasdr,.fa-stack-1x.fa-sharp-duotone,.fa-stack-1x.fasdr,.fa-stack-2x.fa-sharp-duotone,.fa-stack-2x.fasdr{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-solid.css b/public/vendor/fontawesome/css/sharp-duotone-solid.css deleted file mode 100644 index 275b3ef..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-solid.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp-duotone: "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-solid: normal 900 1em/1 var(--fa-family-sharp-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp-duotone: var(--fa-family-sharp-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Sharp Duotone"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-sharp-duotone-solid-900.woff2"); -} -.fasds { - --fa-family: var(--fa-family-sharp-duotone); - --fa-style: 900; - position: relative; - letter-spacing: normal; -} - -.fa-sharp-duotone { - --fa-family: var(--fa-family-sharp-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-solid { - --fa-style: 900; -} - -.fasds::before, -.fa-sharp-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fasds::after, -.fa-sharp-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasds::before, -.fa-swap-opacity .fa-sharp-duotone::before, -.fa-swap-opacity.fasds::before, -.fa-swap-opacity.fa-sharp-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasds::after, -.fa-swap-opacity .fa-sharp-duotone::after, -.fa-swap-opacity.fasds::after, -.fa-swap-opacity.fa-sharp-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fasds, -.fa-li.fa-sharp-duotone, -.fa-stack-1x.fasds, -.fa-stack-1x.fa-sharp-duotone, -.fa-stack-2x.fasds, -.fa-stack-2x.fa-sharp-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-solid.min.css b/public/vendor/fontawesome/css/sharp-duotone-solid.min.css deleted file mode 100644 index 70869db..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp-duotone:"Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-solid:normal 900 1em/1 var(--fa-family-sharp-duotone);--fa-style-family-sharp-duotone:var(--fa-family-sharp-duotone)}@font-face{font-family:"Font Awesome 7 Sharp Duotone";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-sharp-duotone-solid-900.woff2)}.fasds{--fa-style:900}.fa-sharp-duotone,.fasds{--fa-family:var(--fa-family-sharp-duotone);position:relative;letter-spacing:normal}.fa-solid{--fa-style:900}.fa-sharp-duotone:before,.fasds:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-sharp-duotone:after,.fasds:after{color:var(--fa-secondary-color,currentColor)}.fa-sharp-duotone:after,.fa-swap-opacity.fa-sharp-duotone:before,.fa-swap-opacity .fa-sharp-duotone:before,.fa-swap-opacity.fasds:before,.fa-swap-opacity .fasds:before,.fasds:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-sharp-duotone:after,.fa-swap-opacity .fa-sharp-duotone:after,.fa-swap-opacity.fasds:after,.fa-swap-opacity .fasds:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-sharp-duotone,.fa-li.fasds,.fa-stack-1x.fa-sharp-duotone,.fa-stack-1x.fasds,.fa-stack-2x.fa-sharp-duotone,.fa-stack-2x.fasds{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-thin.css b/public/vendor/fontawesome/css/sharp-duotone-thin.css deleted file mode 100644 index e065b37..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-thin.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp-duotone: "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-thin: normal 100 1em/1 var(--fa-family-sharp-duotone); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp-duotone: var(--fa-family-sharp-duotone); -} - -@font-face { - font-family: "Font Awesome 7 Sharp Duotone"; - font-style: normal; - font-weight: 100; - font-display: block; - src: url("../webfonts/fa-sharp-duotone-thin-100.woff2"); -} -.fasdt { - --fa-family: var(--fa-family-sharp-duotone); - --fa-style: 100; - position: relative; - letter-spacing: normal; -} - -.fa-sharp-duotone { - --fa-family: var(--fa-family-sharp-duotone); - position: relative; - letter-spacing: normal; -} - -.fa-thin { - --fa-style: 100; -} - -.fasdt::before, -.fa-sharp-duotone::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fasdt::after, -.fa-sharp-duotone::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasdt::before, -.fa-swap-opacity .fa-sharp-duotone::before, -.fa-swap-opacity.fasdt::before, -.fa-swap-opacity.fa-sharp-duotone::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fasdt::after, -.fa-swap-opacity .fa-sharp-duotone::after, -.fa-swap-opacity.fasdt::after, -.fa-swap-opacity.fa-sharp-duotone::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fasdt, -.fa-li.fa-sharp-duotone, -.fa-stack-1x.fasdt, -.fa-stack-1x.fa-sharp-duotone, -.fa-stack-2x.fasdt, -.fa-stack-2x.fa-sharp-duotone { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-duotone-thin.min.css b/public/vendor/fontawesome/css/sharp-duotone-thin.min.css deleted file mode 100644 index 63cee2d..0000000 --- a/public/vendor/fontawesome/css/sharp-duotone-thin.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp-duotone:"Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 var(--fa-family-sharp-duotone);--fa-style-family-sharp-duotone:var(--fa-family-sharp-duotone)}@font-face{font-family:"Font Awesome 7 Sharp Duotone";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-sharp-duotone-thin-100.woff2)}.fasdt{--fa-style:100}.fa-sharp-duotone,.fasdt{--fa-family:var(--fa-family-sharp-duotone);position:relative;letter-spacing:normal}.fa-thin{--fa-style:100}.fa-sharp-duotone:before,.fasdt:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-sharp-duotone:after,.fasdt:after{color:var(--fa-secondary-color,currentColor)}.fa-sharp-duotone:after,.fa-swap-opacity.fa-sharp-duotone:before,.fa-swap-opacity .fa-sharp-duotone:before,.fa-swap-opacity.fasdt:before,.fa-swap-opacity .fasdt:before,.fasdt:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-sharp-duotone:after,.fa-swap-opacity .fa-sharp-duotone:after,.fa-swap-opacity.fasdt:after,.fa-swap-opacity .fasdt:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-sharp-duotone,.fa-li.fasdt,.fa-stack-1x.fa-sharp-duotone,.fa-stack-1x.fasdt,.fa-stack-2x.fa-sharp-duotone,.fa-stack-2x.fasdt{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-light.css b/public/vendor/fontawesome/css/sharp-light.css deleted file mode 100644 index 653b43d..0000000 --- a/public/vendor/fontawesome/css/sharp-light.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp: "Font Awesome 7 Sharp"; - --fa-font-sharp-light: normal 300 1em/1 var(--fa-family-sharp); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp: var(--fa-family-sharp); -} - -@font-face { - font-family: "Font Awesome 7 Sharp"; - font-style: normal; - font-weight: 300; - font-display: block; - src: url("../webfonts/fa-sharp-light-300.woff2"); -} -.fasl { - --fa-family: var(--fa-family-sharp); - --fa-style: 300; -} - -.fa-sharp { - --fa-family: var(--fa-family-sharp); -} - -.fa-light { - --fa-style: 300; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-light.min.css b/public/vendor/fontawesome/css/sharp-light.min.css deleted file mode 100644 index 050980a..0000000 --- a/public/vendor/fontawesome/css/sharp-light.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp:"Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 var(--fa-family-sharp);--fa-style-family-sharp:var(--fa-family-sharp)}@font-face{font-family:"Font Awesome 7 Sharp";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-sharp-light-300.woff2)}.fasl{--fa-style:300}.fa-sharp,.fasl{--fa-family:var(--fa-family-sharp)}.fa-light{--fa-style:300} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-regular.css b/public/vendor/fontawesome/css/sharp-regular.css deleted file mode 100644 index edb8764..0000000 --- a/public/vendor/fontawesome/css/sharp-regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp: "Font Awesome 7 Sharp"; - --fa-font-sharp-regular: normal 400 1em/1 var(--fa-family-sharp); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp: var(--fa-family-sharp); -} - -@font-face { - font-family: "Font Awesome 7 Sharp"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-sharp-regular-400.woff2"); -} -.fasr { - --fa-family: var(--fa-family-sharp); - --fa-style: 400; -} - -.fa-sharp { - --fa-family: var(--fa-family-sharp); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-regular.min.css b/public/vendor/fontawesome/css/sharp-regular.min.css deleted file mode 100644 index 824913f..0000000 --- a/public/vendor/fontawesome/css/sharp-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp:"Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 var(--fa-family-sharp);--fa-style-family-sharp:var(--fa-family-sharp)}@font-face{font-family:"Font Awesome 7 Sharp";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-sharp-regular-400.woff2)}.fasr{--fa-style:400}.fa-sharp,.fasr{--fa-family:var(--fa-family-sharp)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-solid.css b/public/vendor/fontawesome/css/sharp-solid.css deleted file mode 100644 index b9edc26..0000000 --- a/public/vendor/fontawesome/css/sharp-solid.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp: "Font Awesome 7 Sharp"; - --fa-font-sharp-solid: normal 900 1em/1 var(--fa-family-sharp); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp: var(--fa-family-sharp); -} - -@font-face { - font-family: "Font Awesome 7 Sharp"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-sharp-solid-900.woff2"); -} -.fass { - --fa-family: var(--fa-family-sharp); - --fa-style: 900; -} - -.fa-sharp { - --fa-family: var(--fa-family-sharp); -} - -.fa-solid { - --fa-style: 900; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-solid.min.css b/public/vendor/fontawesome/css/sharp-solid.min.css deleted file mode 100644 index 9f308c1..0000000 --- a/public/vendor/fontawesome/css/sharp-solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp:"Font Awesome 7 Sharp";--fa-font-sharp-solid:normal 900 1em/1 var(--fa-family-sharp);--fa-style-family-sharp:var(--fa-family-sharp)}@font-face{font-family:"Font Awesome 7 Sharp";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-sharp-solid-900.woff2)}.fass{--fa-style:900}.fa-sharp,.fass{--fa-family:var(--fa-family-sharp)}.fa-solid{--fa-style:900} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-thin.css b/public/vendor/fontawesome/css/sharp-thin.css deleted file mode 100644 index 341b4b8..0000000 --- a/public/vendor/fontawesome/css/sharp-thin.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-sharp: "Font Awesome 7 Sharp"; - --fa-font-sharp-thin: normal 100 1em/1 var(--fa-family-sharp); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-sharp: var(--fa-family-sharp); -} - -@font-face { - font-family: "Font Awesome 7 Sharp"; - font-style: normal; - font-weight: 100; - font-display: block; - src: url("../webfonts/fa-sharp-thin-100.woff2"); -} -.fast { - --fa-family: var(--fa-family-sharp); - --fa-style: 100; -} - -.fa-sharp { - --fa-family: var(--fa-family-sharp); -} - -.fa-thin { - --fa-style: 100; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/sharp-thin.min.css b/public/vendor/fontawesome/css/sharp-thin.min.css deleted file mode 100644 index 4b179c9..0000000 --- a/public/vendor/fontawesome/css/sharp-thin.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-sharp:"Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 var(--fa-family-sharp);--fa-style-family-sharp:var(--fa-family-sharp)}@font-face{font-family:"Font Awesome 7 Sharp";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-sharp-thin-100.woff2)}.fast{--fa-style:100}.fa-sharp,.fast{--fa-family:var(--fa-family-sharp)}.fa-thin{--fa-style:100} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/slab-press-regular.css b/public/vendor/fontawesome/css/slab-press-regular.css deleted file mode 100644 index fa0ceb0..0000000 --- a/public/vendor/fontawesome/css/slab-press-regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-slab-press: "Font Awesome 7 Slab Press"; - --fa-font-slab-press-regular: normal 400 1em/1 var(--fa-family-slab-press); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-slab-press: var(--fa-family-slab-press); -} - -@font-face { - font-family: "Font Awesome 7 Slab Press"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-slab-press-regular-400.woff2"); -} -.faslpr { - --fa-family: var(--fa-family-slab-press); - --fa-style: 400; -} - -.fa-slab-press { - --fa-family: var(--fa-family-slab-press); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/slab-press-regular.min.css b/public/vendor/fontawesome/css/slab-press-regular.min.css deleted file mode 100644 index 13a2616..0000000 --- a/public/vendor/fontawesome/css/slab-press-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-slab-press:"Font Awesome 7 Slab Press";--fa-font-slab-press-regular:normal 400 1em/1 var(--fa-family-slab-press);--fa-style-family-slab-press:var(--fa-family-slab-press)}@font-face{font-family:"Font Awesome 7 Slab Press";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-slab-press-regular-400.woff2)}.faslpr{--fa-style:400}.fa-slab-press,.faslpr{--fa-family:var(--fa-family-slab-press)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/slab-regular.css b/public/vendor/fontawesome/css/slab-regular.css deleted file mode 100644 index 8086f62..0000000 --- a/public/vendor/fontawesome/css/slab-regular.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-slab: "Font Awesome 7 Slab"; - --fa-font-slab-regular: normal 400 1em/1 var(--fa-family-slab); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-slab: var(--fa-family-slab); -} - -@font-face { - font-family: "Font Awesome 7 Slab"; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-slab-regular-400.woff2"); -} -.faslr { - --fa-family: var(--fa-family-slab); - --fa-style: 400; -} - -.fa-slab { - --fa-family: var(--fa-family-slab); -} - -.fa-regular { - --fa-style: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/slab-regular.min.css b/public/vendor/fontawesome/css/slab-regular.min.css deleted file mode 100644 index e5bd374..0000000 --- a/public/vendor/fontawesome/css/slab-regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-slab:"Font Awesome 7 Slab";--fa-font-slab-regular:normal 400 1em/1 var(--fa-family-slab);--fa-style-family-slab:var(--fa-family-slab)}@font-face{font-family:"Font Awesome 7 Slab";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-slab-regular-400.woff2)}.faslr{--fa-style:400}.fa-slab,.faslr{--fa-family:var(--fa-family-slab)}.fa-regular{--fa-style:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/solid.css b/public/vendor/fontawesome/css/solid.css deleted file mode 100644 index b948558..0000000 --- a/public/vendor/fontawesome/css/solid.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-solid: normal 900 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-solid-900.woff2"); -} -.fas { - --fa-family: var(--fa-family-classic); - --fa-style: 900; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-solid { - --fa-style: 900; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/solid.min.css b/public/vendor/fontawesome/css/solid.min.css deleted file mode 100644 index 34ce1b1..0000000 --- a/public/vendor/fontawesome/css/solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-classic:"Font Awesome 7 Pro";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/svg-with-js.css b/public/vendor/fontawesome/css/svg-with-js.css deleted file mode 100644 index 9591903..0000000 --- a/public/vendor/fontawesome/css/svg-with-js.css +++ /dev/null @@ -1,556 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-font-solid: normal 900 1em/1 "Font Awesome 7 Pro"; - --fa-font-regular: normal 400 1em/1 "Font Awesome 7 Pro"; - --fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro"; - --fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro"; - --fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone"; - --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone"; - --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone"; - --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone"; - --fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands"; - --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab"; - --fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press"; - --fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard"; - --fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint"; - --fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog"; - --fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo"; - --fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch"; - --fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly"; - --fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill"; - --fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo"; - --fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel"; - --fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility"; - --fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo"; - --fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"; -} - -.svg-inline--fa { - box-sizing: content-box; - display: var(--fa-display, inline-block); - height: 1em; - overflow: visible; - vertical-align: -0.125em; - width: var(--fa-width, 1.25em); -} -.svg-inline--fa.fa-2xs { - vertical-align: 0.1em; -} -.svg-inline--fa.fa-xs { - vertical-align: 0em; -} -.svg-inline--fa.fa-sm { - vertical-align: -0.0714285714em; -} -.svg-inline--fa.fa-lg { - vertical-align: -0.2em; -} -.svg-inline--fa.fa-xl { - vertical-align: -0.25em; -} -.svg-inline--fa.fa-2xl { - vertical-align: -0.3125em; -} -.svg-inline--fa.fa-pull-left, -.svg-inline--fa .fa-pull-start { - float: inline-start; - margin-inline-end: var(--fa-pull-margin, 0.3em); -} -.svg-inline--fa.fa-pull-right, -.svg-inline--fa .fa-pull-end { - float: inline-end; - margin-inline-start: var(--fa-pull-margin, 0.3em); -} -.svg-inline--fa.fa-li { - width: var(--fa-li-width, 2em); - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */ -} - -.fa-layers-counter, .fa-layers-text { - display: inline-block; - position: absolute; - text-align: center; -} - -.fa-layers { - display: inline-block; - height: 1em; - position: relative; - text-align: center; - vertical-align: -0.125em; - width: var(--fa-width, 1.25em); -} -.fa-layers .svg-inline--fa { - inset: 0; - margin: auto; - position: absolute; - transform-origin: center center; -} - -.fa-layers-text { - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - transform-origin: center center; -} - -.fa-layers-counter { - background-color: var(--fa-counter-background-color, #ff253a); - border-radius: var(--fa-counter-border-radius, 1em); - box-sizing: border-box; - color: var(--fa-inverse, #fff); - line-height: var(--fa-counter-line-height, 1); - max-width: var(--fa-counter-max-width, 5em); - min-width: var(--fa-counter-min-width, 1.5em); - overflow: hidden; - padding: var(--fa-counter-padding, 0.25em 0.5em); - right: var(--fa-right, 0); - text-overflow: ellipsis; - top: var(--fa-top, 0); - transform: scale(var(--fa-counter-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-bottom-right { - bottom: var(--fa-bottom, 0); - right: var(--fa-right, 0); - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom right; -} - -.fa-layers-bottom-left { - bottom: var(--fa-bottom, 0); - left: var(--fa-left, 0); - right: auto; - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom left; -} - -.fa-layers-top-right { - top: var(--fa-top, 0); - right: var(--fa-right, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-top-left { - left: var(--fa-left, 0); - right: auto; - top: var(--fa-top, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top left; -} - -.fa-1x { - font-size: 1em; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-6x { - font-size: 6em; -} - -.fa-7x { - font-size: 7em; -} - -.fa-8x { - font-size: 8em; -} - -.fa-9x { - font-size: 9em; -} - -.fa-10x { - font-size: 10em; -} - -.fa-2xs { - font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-xs { - font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-sm { - font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-lg { - font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-xl { - font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-2xl { - font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */ - line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */ - vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ -} - -.fa-width-auto { - --fa-width: auto; -} - -.fa-fw, -.fa-width-fixed { - --fa-width: 1.25em; -} - -.fa-ul { - list-style-type: none; - margin-inline-start: var(--fa-li-margin, 2.5em); - padding-inline-start: 0; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - position: absolute; - text-align: center; - width: var(--fa-li-width, 2em); - line-height: inherit; -} - -/* Heads Up: Bordered Icons will not be supported in the future! - - This feature will be deprecated in the next major release of Font Awesome (v8)! - - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8. -*/ -/* Notes: -* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size) -* --@{v.$css-prefix}-border-padding = - ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment) - ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon) -*/ -.fa-border { - border-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.0625em); - box-sizing: var(--fa-border-box-sizing, content-box); - padding: var(--fa-border-padding, 0.1875em 0.25em); -} - -.fa-pull-left, -.fa-pull-start { - float: inline-start; - margin-inline-end: var(--fa-pull-margin, 0.3em); -} - -.fa-pull-right, -.fa-pull-end { - float: inline-end; - margin-inline-start: var(--fa-pull-margin, 0.3em); -} - -.fa-beat { - animation-name: fa-beat; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-bounce { - animation-name: fa-bounce; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); -} - -.fa-fade { - animation-name: fa-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-beat-fade { - animation-name: fa-beat-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-flip { - animation-name: fa-flip; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-shake { - animation-name: fa-shake; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin { - animation-name: fa-spin; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 2s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-reverse { - --fa-animation-direction: reverse; -} - -.fa-pulse, -.fa-spin-pulse { - animation-name: fa-spin; - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, steps(8)); -} - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse { - animation: none !important; - transition: none !important; - } -} -@keyframes fa-beat { - 0%, 90% { - transform: scale(1); - } - 45% { - transform: scale(var(--fa-beat-scale, 1.25)); - } -} -@keyframes fa-bounce { - 0% { - transform: scale(1, 1) translateY(0); - } - 10% { - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - } - 30% { - transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - } - 50% { - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - } - 57% { - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - } - 64% { - transform: scale(1, 1) translateY(0); - } - 100% { - transform: scale(1, 1) translateY(0); - } -} -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); - } -} -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - transform: scale(1); - } - 50% { - opacity: 1; - transform: scale(var(--fa-beat-fade-scale, 1.125)); - } -} -@keyframes fa-flip { - 50% { - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - } -} -@keyframes fa-shake { - 0% { - transform: rotate(-15deg); - } - 4% { - transform: rotate(15deg); - } - 8%, 24% { - transform: rotate(-18deg); - } - 12%, 28% { - transform: rotate(18deg); - } - 16% { - transform: rotate(-22deg); - } - 20% { - transform: rotate(22deg); - } - 32% { - transform: rotate(-12deg); - } - 36% { - transform: rotate(12deg); - } - 40%, 100% { - transform: rotate(0deg); - } -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -.fa-rotate-90 { - transform: rotate(90deg); -} - -.fa-rotate-180 { - transform: rotate(180deg); -} - -.fa-rotate-270 { - transform: rotate(270deg); -} - -.fa-flip-horizontal { - transform: scale(-1, 1); -} - -.fa-flip-vertical { - transform: scale(1, -1); -} - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1, -1); -} - -.fa-rotate-by { - transform: rotate(var(--fa-rotate-angle, 0)); -} - -.svg-inline--fa .fa-primary { - fill: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa .fa-secondary { - fill: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa mask .fa-primary, -.svg-inline--fa mask .fa-secondary { - fill: black; -} - -.svg-inline--fa.fa-inverse { - fill: var(--fa-inverse, #fff); -} - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} - -.fa-inverse { - color: var(--fa-inverse, #fff); -} - -.svg-inline--fa.fa-stack-1x { - --fa-width: 1.25em; - height: 1em; - width: var(--fa-width); -} -.svg-inline--fa.fa-stack-2x { - --fa-width: 2.5em; - height: 2em; - width: var(--fa-width); -} - -.fa-stack-1x, -.fa-stack-2x { - inset: 0; - margin: auto; - position: absolute; - z-index: var(--fa-stack-z-index, auto); -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/svg-with-js.min.css b/public/vendor/fontawesome/css/svg-with-js.min.css deleted file mode 100644 index c8cc184..0000000 --- a/public/vendor/fontawesome/css/svg-with-js.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Pro";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Pro";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width,1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa .fa-pull-end,.svg-inline--fa.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-inline-start:calc(var(--fa-li-width, 2em)*-1);inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width,1.25em)}.fa-layers .svg-inline--fa{inset:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{inset:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index,auto)} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/svg.css b/public/vendor/fontawesome/css/svg.css deleted file mode 100644 index 0e4005c..0000000 --- a/public/vendor/fontawesome/css/svg.css +++ /dev/null @@ -1,182 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-font-solid: normal 900 1em/1 "Font Awesome 7 Pro"; - --fa-font-regular: normal 400 1em/1 "Font Awesome 7 Pro"; - --fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro"; - --fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro"; - --fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone"; - --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone"; - --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone"; - --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone"; - --fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands"; - --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp"; - --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone"; - --fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab"; - --fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press"; - --fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard"; - --fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint"; - --fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog"; - --fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo"; - --fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch"; - --fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly"; - --fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill"; - --fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo"; - --fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel"; - --fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility"; - --fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo"; - --fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"; -} - -.svg-inline--fa { - box-sizing: content-box; - display: var(--fa-display, inline-block); - height: 1em; - overflow: visible; - vertical-align: -0.125em; - width: var(--fa-width, 1.25em); -} -.svg-inline--fa.fa-2xs { - vertical-align: 0.1em; -} -.svg-inline--fa.fa-xs { - vertical-align: 0em; -} -.svg-inline--fa.fa-sm { - vertical-align: -0.0714285714em; -} -.svg-inline--fa.fa-lg { - vertical-align: -0.2em; -} -.svg-inline--fa.fa-xl { - vertical-align: -0.25em; -} -.svg-inline--fa.fa-2xl { - vertical-align: -0.3125em; -} -.svg-inline--fa.fa-li { - width: var(--fa-li-width, 2em); - inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); - inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */ -} - -.fa-layers-counter, .fa-layers-text { - display: inline-block; - position: absolute; - text-align: center; -} - -.fa-layers { - display: inline-block; - height: 1em; - position: relative; - text-align: center; - vertical-align: -0.125em; - width: var(--fa-width, 1.25em); -} -.fa-layers .svg-inline--fa { - inset: 0; - margin: auto; - position: absolute; - transform-origin: center center; -} - -.fa-layers-text { - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - transform-origin: center center; -} - -.fa-layers-counter { - background-color: var(--fa-counter-background-color, #ff253a); - border-radius: var(--fa-counter-border-radius, 1em); - box-sizing: border-box; - color: var(--fa-inverse, #fff); - line-height: var(--fa-counter-line-height, 1); - max-width: var(--fa-counter-max-width, 5em); - min-width: var(--fa-counter-min-width, 1.5em); - overflow: hidden; - padding: var(--fa-counter-padding, 0.25em 0.5em); - right: var(--fa-right, 0); - text-overflow: ellipsis; - top: var(--fa-top, 0); - transform: scale(var(--fa-counter-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-bottom-right { - bottom: var(--fa-bottom, 0); - right: var(--fa-right, 0); - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom right; -} - -.fa-layers-bottom-left { - bottom: var(--fa-bottom, 0); - left: var(--fa-left, 0); - right: auto; - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom left; -} - -.fa-layers-top-right { - top: var(--fa-top, 0); - right: var(--fa-right, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-top-left { - left: var(--fa-left, 0); - right: auto; - top: var(--fa-top, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top left; -} - -.svg-inline--fa .fa-primary { - fill: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa .fa-secondary { - fill: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa mask .fa-primary, -.svg-inline--fa mask .fa-secondary { - fill: black; -} - -.svg-inline--fa.fa-inverse { - fill: var(--fa-inverse, #fff); -} - -.fa-stack-1x, -.fa-stack-2x { - inset: 0; - margin: auto; - position: absolute; - z-index: var(--fa-stack-z-index, auto); -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/svg.min.css b/public/vendor/fontawesome/css/svg.min.css deleted file mode 100644 index 7cd5a5b..0000000 --- a/public/vendor/fontawesome/css/svg.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Pro";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Pro";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width,1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-inline-start:calc(var(--fa-li-width, 2em)*-1);inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width,1.25em)}.fa-layers .svg-inline--fa{inset:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top left}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack-1x,.fa-stack-2x{inset:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index,auto)} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/thin.css b/public/vendor/fontawesome/css/thin.css deleted file mode 100644 index cedfa25..0000000 --- a/public/vendor/fontawesome/css/thin.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-classic: "Font Awesome 7 Pro"; - --fa-font-thin: normal 100 1em/1 var(--fa-family-classic); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-classic: var(--fa-family-classic); -} - -@font-face { - font-family: "Font Awesome 7 Pro"; - font-style: normal; - font-weight: 100; - font-display: block; - src: url("../webfonts/fa-thin-100.woff2"); -} -.fat { - --fa-family: var(--fa-family-classic); - --fa-style: 100; -} - -.fa-classic { - --fa-family: var(--fa-family-classic); -} - -.fa-thin { - --fa-style: 100; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/thin.min.css b/public/vendor/fontawesome/css/thin.min.css deleted file mode 100644 index c31ff6f..0000000 --- a/public/vendor/fontawesome/css/thin.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-classic:"Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Pro";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-thin-100.woff2)}.fat{--fa-style:100}.fa-classic,.fat{--fa-family:var(--fa-family-classic)}.fa-thin{--fa-style:100} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/thumbprint-light.css b/public/vendor/fontawesome/css/thumbprint-light.css deleted file mode 100644 index 97cb358..0000000 --- a/public/vendor/fontawesome/css/thumbprint-light.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-thumbprint: "Font Awesome 7 Thumbprint"; - --fa-font-thumbprint-light: normal 300 1em/1 var(--fa-family-thumbprint); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-thumbprint: var(--fa-family-thumbprint); -} - -@font-face { - font-family: "Font Awesome 7 Thumbprint"; - font-style: normal; - font-weight: 300; - font-display: block; - src: url("../webfonts/fa-thumbprint-light-300.woff2"); -} -.fatl { - --fa-family: var(--fa-family-thumbprint); - --fa-style: 300; - position: relative; - letter-spacing: normal; -} - -.fa-thumbprint { - --fa-family: var(--fa-family-thumbprint); - position: relative; - letter-spacing: normal; -} - -.fa-light { - --fa-style: 300; -} - -.fatl::before, -.fa-thumbprint::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.fatl::after, -.fa-thumbprint::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fatl::before, -.fa-swap-opacity .fa-thumbprint::before, -.fa-swap-opacity.fatl::before, -.fa-swap-opacity.fa-thumbprint::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .fatl::after, -.fa-swap-opacity .fa-thumbprint::after, -.fa-swap-opacity.fatl::after, -.fa-swap-opacity.fa-thumbprint::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.fatl, -.fa-li.fa-thumbprint, -.fa-stack-1x.fatl, -.fa-stack-1x.fa-thumbprint, -.fa-stack-2x.fatl, -.fa-stack-2x.fa-thumbprint { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/thumbprint-light.min.css b/public/vendor/fontawesome/css/thumbprint-light.min.css deleted file mode 100644 index 54a95d3..0000000 --- a/public/vendor/fontawesome/css/thumbprint-light.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-thumbprint:"Font Awesome 7 Thumbprint";--fa-font-thumbprint-light:normal 300 1em/1 var(--fa-family-thumbprint);--fa-style-family-thumbprint:var(--fa-family-thumbprint)}@font-face{font-family:"Font Awesome 7 Thumbprint";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-thumbprint-light-300.woff2)}.fatl{--fa-style:300}.fa-thumbprint,.fatl{--fa-family:var(--fa-family-thumbprint);position:relative;letter-spacing:normal}.fa-light{--fa-style:300}.fa-thumbprint:before,.fatl:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-thumbprint:after,.fatl:after{color:var(--fa-secondary-color,currentColor)}.fa-swap-opacity.fa-thumbprint:before,.fa-swap-opacity .fa-thumbprint:before,.fa-swap-opacity.fatl:before,.fa-swap-opacity .fatl:before,.fa-thumbprint:after,.fatl:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-thumbprint:after,.fa-swap-opacity .fa-thumbprint:after,.fa-swap-opacity.fatl:after,.fa-swap-opacity .fatl:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-thumbprint,.fa-li.fatl,.fa-stack-1x.fa-thumbprint,.fa-stack-1x.fatl,.fa-stack-2x.fa-thumbprint,.fa-stack-2x.fatl{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/utility-duo-semibold.css b/public/vendor/fontawesome/css/utility-duo-semibold.css deleted file mode 100644 index f9e02fd..0000000 --- a/public/vendor/fontawesome/css/utility-duo-semibold.css +++ /dev/null @@ -1,71 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-utility-duo: "Font Awesome 7 Utility Duo"; - --fa-font-utility-duo-semibold: normal 600 1em/1 var(--fa-family-utility-duo); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-utility-duo: var(--fa-family-utility-duo); -} - -@font-face { - font-family: "Font Awesome 7 Utility Duo"; - font-style: normal; - font-weight: 600; - font-display: block; - src: url("../webfonts/fa-utility-duo-semibold-600.woff2"); -} -.faudsb { - --fa-family: var(--fa-family-utility-duo); - --fa-style: 600; - position: relative; - letter-spacing: normal; -} - -.fa-utility-duo { - --fa-family: var(--fa-family-utility-duo); - position: relative; - letter-spacing: normal; -} - -.fa-semibold { - --fa-style: 600; -} - -.faudsb::before, -.fa-utility-duo::before { - position: absolute; - color: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.faudsb::after, -.fa-utility-duo::after { - color: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .faudsb::before, -.fa-swap-opacity .fa-utility-duo::before, -.fa-swap-opacity.faudsb::before, -.fa-swap-opacity.fa-utility-duo::before { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.fa-swap-opacity .faudsb::after, -.fa-swap-opacity .fa-utility-duo::after, -.fa-swap-opacity.faudsb::after, -.fa-swap-opacity.fa-utility-duo::after { - opacity: var(--fa-primary-opacity, 1); -} - -.fa-li.faudsb, -.fa-li.fa-utility-duo, -.fa-stack-1x.faudsb, -.fa-stack-1x.fa-utility-duo, -.fa-stack-2x.faudsb, -.fa-stack-2x.fa-utility-duo { - position: absolute; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/utility-duo-semibold.min.css b/public/vendor/fontawesome/css/utility-duo-semibold.min.css deleted file mode 100644 index 1b7cda8..0000000 --- a/public/vendor/fontawesome/css/utility-duo-semibold.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-utility-duo:"Font Awesome 7 Utility Duo";--fa-font-utility-duo-semibold:normal 600 1em/1 var(--fa-family-utility-duo);--fa-style-family-utility-duo:var(--fa-family-utility-duo)}@font-face{font-family:"Font Awesome 7 Utility Duo";font-style:normal;font-weight:600;font-display:block;src:url(../webfonts/fa-utility-duo-semibold-600.woff2)}.faudsb{--fa-style:600}.fa-utility-duo,.faudsb{--fa-family:var(--fa-family-utility-duo);position:relative;letter-spacing:normal}.fa-semibold{--fa-style:600}.fa-utility-duo:before,.faudsb:before{position:absolute;color:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.fa-utility-duo:after,.faudsb:after{color:var(--fa-secondary-color,currentColor)}.fa-swap-opacity.fa-utility-duo:before,.fa-swap-opacity .fa-utility-duo:before,.fa-swap-opacity.faudsb:before,.fa-swap-opacity .faudsb:before,.fa-utility-duo:after,.faudsb:after{opacity:var(--fa-secondary-opacity,.4)}.fa-swap-opacity.fa-utility-duo:after,.fa-swap-opacity .fa-utility-duo:after,.fa-swap-opacity.faudsb:after,.fa-swap-opacity .faudsb:after{opacity:var(--fa-primary-opacity,1)}.fa-li.fa-utility-duo,.fa-li.faudsb,.fa-stack-1x.fa-utility-duo,.fa-stack-1x.faudsb,.fa-stack-2x.fa-utility-duo,.fa-stack-2x.faudsb{position:absolute} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/utility-fill-semibold.css b/public/vendor/fontawesome/css/utility-fill-semibold.css deleted file mode 100644 index 67722d9..0000000 --- a/public/vendor/fontawesome/css/utility-fill-semibold.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-utility-fill: "Font Awesome 7 Utility Fill"; - --fa-font-utility-fill-semibold: normal 600 1em/1 var(--fa-family-utility-fill); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-utility-fill: var(--fa-family-utility-fill); -} - -@font-face { - font-family: "Font Awesome 7 Utility Fill"; - font-style: normal; - font-weight: 600; - font-display: block; - src: url("../webfonts/fa-utility-fill-semibold-600.woff2"); -} -.faufsb { - --fa-family: var(--fa-family-utility-fill); - --fa-style: 600; -} - -.fa-utility-fill { - --fa-family: var(--fa-family-utility-fill); -} - -.fa-semibold { - --fa-style: 600; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/utility-fill-semibold.min.css b/public/vendor/fontawesome/css/utility-fill-semibold.min.css deleted file mode 100644 index 5317938..0000000 --- a/public/vendor/fontawesome/css/utility-fill-semibold.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-utility-fill:"Font Awesome 7 Utility Fill";--fa-font-utility-fill-semibold:normal 600 1em/1 var(--fa-family-utility-fill);--fa-style-family-utility-fill:var(--fa-family-utility-fill)}@font-face{font-family:"Font Awesome 7 Utility Fill";font-style:normal;font-weight:600;font-display:block;src:url(../webfonts/fa-utility-fill-semibold-600.woff2)}.faufsb{--fa-style:600}.fa-utility-fill,.faufsb{--fa-family:var(--fa-family-utility-fill)}.fa-semibold{--fa-style:600} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/utility-semibold.css b/public/vendor/fontawesome/css/utility-semibold.css deleted file mode 100644 index 04ed1b8..0000000 --- a/public/vendor/fontawesome/css/utility-semibold.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-utility: "Font Awesome 7 Utility"; - --fa-font-utility-semibold: normal 600 1em/1 var(--fa-family-utility); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-utility: var(--fa-family-utility); -} - -@font-face { - font-family: "Font Awesome 7 Utility"; - font-style: normal; - font-weight: 600; - font-display: block; - src: url("../webfonts/fa-utility-semibold-600.woff2"); -} -.fausb { - --fa-family: var(--fa-family-utility); - --fa-style: 600; -} - -.fa-utility { - --fa-family: var(--fa-family-utility); -} - -.fa-semibold { - --fa-style: 600; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/utility-semibold.min.css b/public/vendor/fontawesome/css/utility-semibold.min.css deleted file mode 100644 index 69907dd..0000000 --- a/public/vendor/fontawesome/css/utility-semibold.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-utility:"Font Awesome 7 Utility";--fa-font-utility-semibold:normal 600 1em/1 var(--fa-family-utility);--fa-style-family-utility:var(--fa-family-utility)}@font-face{font-family:"Font Awesome 7 Utility";font-style:normal;font-weight:600;font-display:block;src:url(../webfonts/fa-utility-semibold-600.woff2)}.fausb{--fa-style:600}.fa-utility,.fausb{--fa-family:var(--fa-family-utility)}.fa-semibold{--fa-style:600} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/v4-font-face.css b/public/vendor/fontawesome/css/v4-font-face.css deleted file mode 100644 index 72b0402..0000000 --- a/public/vendor/fontawesome/css/v4-font-face.css +++ /dev/null @@ -1,27 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"); -} -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"); -} -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"); - unicode-range: U+F003, U+F006, U+F014, U+F016-F017, U+F01A-F01B, U+F01D, U+F022, U+F03E, U+F044, U+F046, U+F05C-F05D, U+F06E, U+F070, U+F087-F088, U+F08A, U+F094, U+F096-F097, U+F09D, U+F0A0, U+F0A2, U+F0A4-F0A7, U+F0C5, U+F0C7, U+F0E5-F0E6, U+F0EB, U+F0F6-F0F8, U+F10C, U+F114-F115, U+F118-F11A, U+F11C-F11D, U+F133, U+F147, U+F14E, U+F150-F152, U+F185-F186, U+F18E, U+F190-F192, U+F196, U+F1C1-F1C9, U+F1D9, U+F1DB, U+F1E3, U+F1EA, U+F1F7, U+F1F9, U+F20A, U+F247-F248, U+F24A, U+F24D, U+F255-F25B, U+F25D, U+F271-F274, U+F278, U+F27B, U+F28C, U+F28E, U+F29C, U+F2B5, U+F2B7, U+F2BA, U+F2BC, U+F2BE, U+F2C0-F2C1, U+F2C3, U+F2D0, U+F2D2, U+F2D4, U+F2DC; -} -@font-face { - font-family: "FontAwesome"; - font-display: block; - src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"); - unicode-range: U+F041, U+F047, U+F065-F066, U+F07D-F07E, U+F080, U+F08B, U+F08E, U+F090, U+F09A, U+F0AC, U+F0AE, U+F0B2, U+F0D0, U+F0D6, U+F0E4, U+F0EC, U+F10A-F10B, U+F123, U+F13E, U+F148-F149, U+F14C, U+F156, U+F15E, U+F160-F161, U+F163, U+F175-F178, U+F195, U+F1F8, U+F219, U+F27A; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/v4-font-face.min.css b/public/vendor/fontawesome/css/v4-font-face.min.css deleted file mode 100644 index 680bc6f..0000000 --- a/public/vendor/fontawesome/css/v4-font-face.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/v4-shims.css b/public/vendor/fontawesome/css/v4-shims.css deleted file mode 100644 index 49bd689..0000000 --- a/public/vendor/fontawesome/css/v4-shims.css +++ /dev/null @@ -1,2818 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -.fa.fa-glass { - --fa: "\f000"; -} - -.fa.fa-envelope-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-envelope-o { - --fa: "\f0e0"; -} - -.fa.fa-star-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-star-o { - --fa: "\f005"; -} - -.fa.fa-remove { - --fa: "\f00d"; -} - -.fa.fa-close { - --fa: "\f00d"; -} - -.fa.fa-gear { - --fa: "\f013"; -} - -.fa.fa-trash-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-trash-o { - --fa: "\f2ed"; -} - -.fa.fa-home { - --fa: "\f015"; -} - -.fa.fa-file-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-o { - --fa: "\f15b"; -} - -.fa.fa-clock-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-clock-o { - --fa: "\f017"; -} - -.fa.fa-arrow-circle-o-down { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-arrow-circle-o-down { - --fa: "\f358"; -} - -.fa.fa-arrow-circle-o-up { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-arrow-circle-o-up { - --fa: "\f35b"; -} - -.fa.fa-play-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-play-circle-o { - --fa: "\f144"; -} - -.fa.fa-repeat { - --fa: "\f01e"; -} - -.fa.fa-rotate-right { - --fa: "\f01e"; -} - -.fa.fa-refresh { - --fa: "\f021"; -} - -.fa.fa-list-alt { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-list-alt { - --fa: "\f022"; -} - -.fa.fa-dedent { - --fa: "\f03b"; -} - -.fa.fa-video-camera { - --fa: "\f03d"; -} - -.fa.fa-picture-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-picture-o { - --fa: "\f03e"; -} - -.fa.fa-photo { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-photo { - --fa: "\f03e"; -} - -.fa.fa-image { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-image { - --fa: "\f03e"; -} - -.fa.fa-map-marker { - --fa: "\f3c5"; -} - -.fa.fa-pencil-square-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-pencil-square-o { - --fa: "\f044"; -} - -.fa.fa-edit { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-edit { - --fa: "\f044"; -} - -.fa.fa-share-square-o { - --fa: "\f14d"; -} - -.fa.fa-check-square-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-check-square-o { - --fa: "\f14a"; -} - -.fa.fa-arrows { - --fa: "\f0b2"; -} - -.fa.fa-times-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-times-circle-o { - --fa: "\f057"; -} - -.fa.fa-check-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-check-circle-o { - --fa: "\f058"; -} - -.fa.fa-mail-forward { - --fa: "\f064"; -} - -.fa.fa-expand { - --fa: "\f424"; -} - -.fa.fa-compress { - --fa: "\f422"; -} - -.fa.fa-eye { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-eye-slash { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-warning { - --fa: "\f071"; -} - -.fa.fa-calendar { - --fa: "\f073"; -} - -.fa.fa-arrows-v { - --fa: "\f338"; -} - -.fa.fa-arrows-h { - --fa: "\f337"; -} - -.fa.fa-bar-chart { - --fa: "\e0e3"; -} - -.fa.fa-bar-chart-o { - --fa: "\e0e3"; -} - -.fa.fa-twitter-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-twitter-square { - --fa: "\f081"; -} - -.fa.fa-facebook-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-facebook-square { - --fa: "\f082"; -} - -.fa.fa-gears { - --fa: "\f085"; -} - -.fa.fa-thumbs-o-up { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-thumbs-o-up { - --fa: "\f164"; -} - -.fa.fa-thumbs-o-down { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-thumbs-o-down { - --fa: "\f165"; -} - -.fa.fa-heart-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-heart-o { - --fa: "\f004"; -} - -.fa.fa-sign-out { - --fa: "\f2f5"; -} - -.fa.fa-linkedin-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-linkedin-square { - --fa: "\f08c"; -} - -.fa.fa-thumb-tack { - --fa: "\f08d"; -} - -.fa.fa-external-link { - --fa: "\f35d"; -} - -.fa.fa-sign-in { - --fa: "\f2f6"; -} - -.fa.fa-github-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-github-square { - --fa: "\f092"; -} - -.fa.fa-lemon-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-lemon-o { - --fa: "\f094"; -} - -.fa.fa-square-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-square-o { - --fa: "\f0c8"; -} - -.fa.fa-bookmark-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-bookmark-o { - --fa: "\f02e"; -} - -.fa.fa-twitter { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-facebook { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-facebook { - --fa: "\f39e"; -} - -.fa.fa-facebook-f { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-facebook-f { - --fa: "\f39e"; -} - -.fa.fa-github { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-credit-card { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-feed { - --fa: "\f09e"; -} - -.fa.fa-hdd-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hdd-o { - --fa: "\f0a0"; -} - -.fa.fa-hand-o-right { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-o-right { - --fa: "\f0a4"; -} - -.fa.fa-hand-o-left { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-o-left { - --fa: "\f0a5"; -} - -.fa.fa-hand-o-up { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-o-up { - --fa: "\f0a6"; -} - -.fa.fa-hand-o-down { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-o-down { - --fa: "\f0a7"; -} - -.fa.fa-globe { - --fa: "\f57d"; -} - -.fa.fa-tasks { - --fa: "\f828"; -} - -.fa.fa-arrows-alt { - --fa: "\f31e"; -} - -.fa.fa-group { - --fa: "\f0c0"; -} - -.fa.fa-chain { - --fa: "\f0c1"; -} - -.fa.fa-cut { - --fa: "\f0c4"; -} - -.fa.fa-files-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-files-o { - --fa: "\f0c5"; -} - -.fa.fa-floppy-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-floppy-o { - --fa: "\f0c7"; -} - -.fa.fa-save { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-save { - --fa: "\f0c7"; -} - -.fa.fa-navicon { - --fa: "\f0c9"; -} - -.fa.fa-reorder { - --fa: "\f0c9"; -} - -.fa.fa-magic { - --fa: "\e2ca"; -} - -.fa.fa-pinterest { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-pinterest-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-pinterest-square { - --fa: "\f0d3"; -} - -.fa.fa-google-plus-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google-plus-square { - --fa: "\f0d4"; -} - -.fa.fa-google-plus { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google-plus { - --fa: "\f0d5"; -} - -.fa.fa-money { - --fa: "\f3d1"; -} - -.fa.fa-unsorted { - --fa: "\f0dc"; -} - -.fa.fa-sort-desc { - --fa: "\f0dd"; -} - -.fa.fa-sort-asc { - --fa: "\f0de"; -} - -.fa.fa-linkedin { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-linkedin { - --fa: "\f0e1"; -} - -.fa.fa-rotate-left { - --fa: "\f0e2"; -} - -.fa.fa-legal { - --fa: "\f0e3"; -} - -.fa.fa-tachometer { - --fa: "\f625"; -} - -.fa.fa-dashboard { - --fa: "\f625"; -} - -.fa.fa-comment-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-comment-o { - --fa: "\f075"; -} - -.fa.fa-comments-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-comments-o { - --fa: "\f086"; -} - -.fa.fa-flash { - --fa: "\f0e7"; -} - -.fa.fa-clipboard { - --fa: "\f0ea"; -} - -.fa.fa-lightbulb-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-lightbulb-o { - --fa: "\f0eb"; -} - -.fa.fa-exchange { - --fa: "\f362"; -} - -.fa.fa-cloud-download { - --fa: "\f0ed"; -} - -.fa.fa-cloud-upload { - --fa: "\f0ee"; -} - -.fa.fa-bell-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-bell-o { - --fa: "\f0f3"; -} - -.fa.fa-cutlery { - --fa: "\f2e7"; -} - -.fa.fa-file-text-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-text-o { - --fa: "\f15c"; -} - -.fa.fa-building-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-building-o { - --fa: "\f1ad"; -} - -.fa.fa-hospital-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hospital-o { - --fa: "\f0f8"; -} - -.fa.fa-tablet { - --fa: "\f3fa"; -} - -.fa.fa-mobile { - --fa: "\f3cd"; -} - -.fa.fa-mobile-phone { - --fa: "\f3cd"; -} - -.fa.fa-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-circle-o { - --fa: "\f111"; -} - -.fa.fa-mail-reply { - --fa: "\f3e5"; -} - -.fa.fa-github-alt { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-folder-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-folder-o { - --fa: "\f07b"; -} - -.fa.fa-folder-open-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-folder-open-o { - --fa: "\f07c"; -} - -.fa.fa-smile-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-smile-o { - --fa: "\f118"; -} - -.fa.fa-frown-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-frown-o { - --fa: "\f119"; -} - -.fa.fa-meh-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-meh-o { - --fa: "\f11a"; -} - -.fa.fa-keyboard-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-keyboard-o { - --fa: "\f11c"; -} - -.fa.fa-flag-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-flag-o { - --fa: "\f024"; -} - -.fa.fa-mail-reply-all { - --fa: "\f122"; -} - -.fa.fa-star-half-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-star-half-o { - --fa: "\f5c0"; -} - -.fa.fa-star-half-empty { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-star-half-empty { - --fa: "\f5c0"; -} - -.fa.fa-star-half-full { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-star-half-full { - --fa: "\f5c0"; -} - -.fa.fa-code-fork { - --fa: "\f126"; -} - -.fa.fa-chain-broken { - --fa: "\f127"; -} - -.fa.fa-unlink { - --fa: "\f127"; -} - -.fa.fa-calendar-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-calendar-o { - --fa: "\f133"; -} - -.fa.fa-maxcdn { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-html5 { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-css3 { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-unlock-alt { - --fa: "\f09c"; -} - -.fa.fa-minus-square-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-minus-square-o { - --fa: "\f146"; -} - -.fa.fa-level-up { - --fa: "\f3bf"; -} - -.fa.fa-level-down { - --fa: "\f3be"; -} - -.fa.fa-pencil-square { - --fa: "\f14b"; -} - -.fa.fa-external-link-square { - --fa: "\f360"; -} - -.fa.fa-compass { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-caret-square-o-down { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-caret-square-o-down { - --fa: "\f150"; -} - -.fa.fa-toggle-down { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-toggle-down { - --fa: "\f150"; -} - -.fa.fa-caret-square-o-up { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-caret-square-o-up { - --fa: "\f151"; -} - -.fa.fa-toggle-up { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-toggle-up { - --fa: "\f151"; -} - -.fa.fa-caret-square-o-right { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-caret-square-o-right { - --fa: "\f152"; -} - -.fa.fa-toggle-right { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-toggle-right { - --fa: "\f152"; -} - -.fa.fa-eur { - --fa: "\f153"; -} - -.fa.fa-euro { - --fa: "\f153"; -} - -.fa.fa-gbp { - --fa: "\f154"; -} - -.fa.fa-usd { - --fa: "\$"; -} - -.fa.fa-dollar { - --fa: "\$"; -} - -.fa.fa-inr { - --fa: "\e1bc"; -} - -.fa.fa-rupee { - --fa: "\e1bc"; -} - -.fa.fa-jpy { - --fa: "\f157"; -} - -.fa.fa-cny { - --fa: "\f157"; -} - -.fa.fa-rmb { - --fa: "\f157"; -} - -.fa.fa-yen { - --fa: "\f157"; -} - -.fa.fa-rub { - --fa: "\f158"; -} - -.fa.fa-ruble { - --fa: "\f158"; -} - -.fa.fa-rouble { - --fa: "\f158"; -} - -.fa.fa-krw { - --fa: "\f159"; -} - -.fa.fa-won { - --fa: "\f159"; -} - -.fa.fa-btc { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bitcoin { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bitcoin { - --fa: "\f15a"; -} - -.fa.fa-file-text { - --fa: "\f15c"; -} - -.fa.fa-sort-alpha-asc { - --fa: "\f15d"; -} - -.fa.fa-sort-alpha-desc { - --fa: "\f881"; -} - -.fa.fa-sort-amount-asc { - --fa: "\f884"; -} - -.fa.fa-sort-amount-desc { - --fa: "\f160"; -} - -.fa.fa-sort-numeric-asc { - --fa: "\f162"; -} - -.fa.fa-sort-numeric-desc { - --fa: "\f886"; -} - -.fa.fa-youtube-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-youtube-square { - --fa: "\f431"; -} - -.fa.fa-youtube { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-xing { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-xing-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-xing-square { - --fa: "\f169"; -} - -.fa.fa-youtube-play { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-youtube-play { - --fa: "\f167"; -} - -.fa.fa-dropbox { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-stack-overflow { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-instagram { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-flickr { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-adn { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bitbucket { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bitbucket-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bitbucket-square { - --fa: "\f171"; -} - -.fa.fa-tumblr { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-tumblr-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-tumblr-square { - --fa: "\f174"; -} - -.fa.fa-long-arrow-down { - --fa: "\f309"; -} - -.fa.fa-long-arrow-up { - --fa: "\f30c"; -} - -.fa.fa-long-arrow-left { - --fa: "\f30a"; -} - -.fa.fa-long-arrow-right { - --fa: "\f30b"; -} - -.fa.fa-apple { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-windows { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-android { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-linux { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-dribbble { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-skype { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-foursquare { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-trello { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-gratipay { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-gittip { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-gittip { - --fa: "\f184"; -} - -.fa.fa-sun-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-sun-o { - --fa: "\f185"; -} - -.fa.fa-moon-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-moon-o { - --fa: "\f186"; -} - -.fa.fa-vk { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-weibo { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-renren { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-pagelines { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-stack-exchange { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-arrow-circle-o-right { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-arrow-circle-o-right { - --fa: "\f35a"; -} - -.fa.fa-arrow-circle-o-left { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-arrow-circle-o-left { - --fa: "\f359"; -} - -.fa.fa-caret-square-o-left { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-caret-square-o-left { - --fa: "\f191"; -} - -.fa.fa-toggle-left { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-toggle-left { - --fa: "\f191"; -} - -.fa.fa-dot-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-dot-circle-o { - --fa: "\f192"; -} - -.fa.fa-vimeo-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-vimeo-square { - --fa: "\f194"; -} - -.fa.fa-try { - --fa: "\e2bb"; -} - -.fa.fa-turkish-lira { - --fa: "\e2bb"; -} - -.fa.fa-plus-square-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-plus-square-o { - --fa: "\f0fe"; -} - -.fa.fa-slack { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wordpress { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-openid { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-institution { - --fa: "\f19c"; -} - -.fa.fa-bank { - --fa: "\f19c"; -} - -.fa.fa-mortar-board { - --fa: "\f19d"; -} - -.fa.fa-yahoo { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-reddit { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-reddit-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-reddit-square { - --fa: "\f1a2"; -} - -.fa.fa-stumbleupon-circle { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-stumbleupon { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-delicious { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-digg { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-pied-piper-pp { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-pied-piper-alt { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-drupal { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-joomla { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-behance { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-behance-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-behance-square { - --fa: "\f1b5"; -} - -.fa.fa-steam { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-steam-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-steam-square { - --fa: "\f1b7"; -} - -.fa.fa-automobile { - --fa: "\f1b9"; -} - -.fa.fa-cab { - --fa: "\f1ba"; -} - -.fa.fa-spotify { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-deviantart { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-soundcloud { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-file-pdf-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-pdf-o { - --fa: "\f1c1"; -} - -.fa.fa-file-word-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-word-o { - --fa: "\f1c2"; -} - -.fa.fa-file-excel-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-excel-o { - --fa: "\f1c3"; -} - -.fa.fa-file-powerpoint-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-powerpoint-o { - --fa: "\f1c4"; -} - -.fa.fa-file-image-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-image-o { - --fa: "\f1c5"; -} - -.fa.fa-file-photo-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-photo-o { - --fa: "\f1c5"; -} - -.fa.fa-file-picture-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-picture-o { - --fa: "\f1c5"; -} - -.fa.fa-file-archive-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-archive-o { - --fa: "\f1c6"; -} - -.fa.fa-file-zip-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-zip-o { - --fa: "\f1c6"; -} - -.fa.fa-file-audio-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-audio-o { - --fa: "\f1c7"; -} - -.fa.fa-file-sound-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-sound-o { - --fa: "\f1c7"; -} - -.fa.fa-file-video-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-video-o { - --fa: "\f1c8"; -} - -.fa.fa-file-movie-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-movie-o { - --fa: "\f1c8"; -} - -.fa.fa-file-code-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-file-code-o { - --fa: "\f1c9"; -} - -.fa.fa-vine { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-codepen { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-jsfiddle { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-life-bouy { - --fa: "\f1cd"; -} - -.fa.fa-life-buoy { - --fa: "\f1cd"; -} - -.fa.fa-life-saver { - --fa: "\f1cd"; -} - -.fa.fa-support { - --fa: "\f1cd"; -} - -.fa.fa-circle-o-notch { - --fa: "\f1ce"; -} - -.fa.fa-rebel { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-ra { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-ra { - --fa: "\f1d0"; -} - -.fa.fa-resistance { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-resistance { - --fa: "\f1d0"; -} - -.fa.fa-empire { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-ge { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-ge { - --fa: "\f1d1"; -} - -.fa.fa-git-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-git-square { - --fa: "\f1d2"; -} - -.fa.fa-git { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-hacker-news { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-y-combinator-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-y-combinator-square { - --fa: "\f1d4"; -} - -.fa.fa-yc-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-yc-square { - --fa: "\f1d4"; -} - -.fa.fa-tencent-weibo { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-qq { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-weixin { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wechat { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wechat { - --fa: "\f1d7"; -} - -.fa.fa-send { - --fa: "\f1d8"; -} - -.fa.fa-paper-plane-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-paper-plane-o { - --fa: "\f1d8"; -} - -.fa.fa-send-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-send-o { - --fa: "\f1d8"; -} - -.fa.fa-circle-thin { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-circle-thin { - --fa: "\f111"; -} - -.fa.fa-header { - --fa: "\f1dc"; -} - -.fa.fa-futbol-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-futbol-o { - --fa: "\f1e3"; -} - -.fa.fa-soccer-ball-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-soccer-ball-o { - --fa: "\f1e3"; -} - -.fa.fa-slideshare { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-twitch { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-yelp { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-newspaper-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-newspaper-o { - --fa: "\f1ea"; -} - -.fa.fa-paypal { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google-wallet { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-visa { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-mastercard { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-discover { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-amex { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-paypal { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-stripe { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bell-slash-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-bell-slash-o { - --fa: "\f1f6"; -} - -.fa.fa-trash { - --fa: "\f2ed"; -} - -.fa.fa-copyright { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-eyedropper { - --fa: "\f1fb"; -} - -.fa.fa-area-chart { - --fa: "\f1fe"; -} - -.fa.fa-pie-chart { - --fa: "\f200"; -} - -.fa.fa-line-chart { - --fa: "\f201"; -} - -.fa.fa-lastfm { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-lastfm-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-lastfm-square { - --fa: "\f203"; -} - -.fa.fa-ioxhost { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-angellist { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-cc { - --fa: "\f20a"; -} - -.fa.fa-ils { - --fa: "\f20b"; -} - -.fa.fa-shekel { - --fa: "\f20b"; -} - -.fa.fa-sheqel { - --fa: "\f20b"; -} - -.fa.fa-buysellads { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-connectdevelop { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-dashcube { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-forumbee { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-leanpub { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-sellsy { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-shirtsinbulk { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-simplybuilt { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-skyatlas { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-diamond { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-diamond { - --fa: "\f3a5"; -} - -.fa.fa-transgender { - --fa: "\f224"; -} - -.fa.fa-intersex { - --fa: "\f224"; -} - -.fa.fa-transgender-alt { - --fa: "\f225"; -} - -.fa.fa-facebook-official { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-facebook-official { - --fa: "\f09a"; -} - -.fa.fa-pinterest-p { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-whatsapp { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-hotel { - --fa: "\f236"; -} - -.fa.fa-viacoin { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-medium { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-y-combinator { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-yc { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-yc { - --fa: "\f23b"; -} - -.fa.fa-optin-monster { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-opencart { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-expeditedssl { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-battery-4 { - --fa: "\f240"; -} - -.fa.fa-battery { - --fa: "\f240"; -} - -.fa.fa-battery-3 { - --fa: "\f241"; -} - -.fa.fa-battery-2 { - --fa: "\f242"; -} - -.fa.fa-battery-1 { - --fa: "\f243"; -} - -.fa.fa-battery-0 { - --fa: "\f244"; -} - -.fa.fa-object-group { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-object-ungroup { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-sticky-note-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-sticky-note-o { - --fa: "\f249"; -} - -.fa.fa-cc-jcb { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-cc-diners-club { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-clone { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hourglass-o { - --fa: "\f254"; -} - -.fa.fa-hourglass-1 { - --fa: "\f251"; -} - -.fa.fa-hourglass-2 { - --fa: "\f252"; -} - -.fa.fa-hourglass-3 { - --fa: "\f253"; -} - -.fa.fa-hand-rock-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-rock-o { - --fa: "\f255"; -} - -.fa.fa-hand-grab-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-grab-o { - --fa: "\f255"; -} - -.fa.fa-hand-paper-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-paper-o { - --fa: "\f256"; -} - -.fa.fa-hand-stop-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-stop-o { - --fa: "\f256"; -} - -.fa.fa-hand-scissors-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-scissors-o { - --fa: "\f257"; -} - -.fa.fa-hand-lizard-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-lizard-o { - --fa: "\f258"; -} - -.fa.fa-hand-spock-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-spock-o { - --fa: "\f259"; -} - -.fa.fa-hand-pointer-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-pointer-o { - --fa: "\f25a"; -} - -.fa.fa-hand-peace-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-hand-peace-o { - --fa: "\f25b"; -} - -.fa.fa-registered { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-creative-commons { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-gg { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-gg-circle { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-odnoklassniki { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-odnoklassniki-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-odnoklassniki-square { - --fa: "\f264"; -} - -.fa.fa-get-pocket { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wikipedia-w { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-safari { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-chrome { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-firefox { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-opera { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-internet-explorer { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-television { - --fa: "\f26c"; -} - -.fa.fa-contao { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-500px { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-amazon { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-calendar-plus-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-calendar-plus-o { - --fa: "\f271"; -} - -.fa.fa-calendar-minus-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-calendar-minus-o { - --fa: "\f272"; -} - -.fa.fa-calendar-times-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-calendar-times-o { - --fa: "\f273"; -} - -.fa.fa-calendar-check-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-calendar-check-o { - --fa: "\f274"; -} - -.fa.fa-map-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-map-o { - --fa: "\f279"; -} - -.fa.fa-commenting { - --fa: "\f4ad"; -} - -.fa.fa-commenting-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-commenting-o { - --fa: "\f4ad"; -} - -.fa.fa-houzz { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-vimeo { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-vimeo { - --fa: "\f27d"; -} - -.fa.fa-black-tie { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-fonticons { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-reddit-alien { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-edge { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-credit-card-alt { - --fa: "\f09d"; -} - -.fa.fa-codiepie { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-modx { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-fort-awesome { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-usb { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-product-hunt { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-mixcloud { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-scribd { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-pause-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-pause-circle-o { - --fa: "\f28b"; -} - -.fa.fa-stop-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-stop-circle-o { - --fa: "\f28d"; -} - -.fa.fa-bluetooth { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-bluetooth-b { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-gitlab { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wpbeginner { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wpforms { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-envira { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wheelchair-alt { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wheelchair-alt { - --fa: "\f368"; -} - -.fa.fa-question-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-question-circle-o { - --fa: "\f059"; -} - -.fa.fa-volume-control-phone { - --fa: "\f2a0"; -} - -.fa.fa-asl-interpreting { - --fa: "\f2a3"; -} - -.fa.fa-deafness { - --fa: "\f2a4"; -} - -.fa.fa-hard-of-hearing { - --fa: "\f2a4"; -} - -.fa.fa-glide { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-glide-g { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-signing { - --fa: "\f2a7"; -} - -.fa.fa-viadeo { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-viadeo-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-viadeo-square { - --fa: "\f2aa"; -} - -.fa.fa-snapchat { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-snapchat-ghost { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-snapchat-ghost { - --fa: "\f2ab"; -} - -.fa.fa-snapchat-square { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-snapchat-square { - --fa: "\f2ad"; -} - -.fa.fa-pied-piper { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-first-order { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-yoast { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-themeisle { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google-plus-official { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google-plus-official { - --fa: "\f2b3"; -} - -.fa.fa-google-plus-circle { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-google-plus-circle { - --fa: "\f2b3"; -} - -.fa.fa-font-awesome { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-fa { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-fa { - --fa: "\f2b4"; -} - -.fa.fa-handshake-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-handshake-o { - --fa: "\f2b5"; -} - -.fa.fa-envelope-open-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-envelope-open-o { - --fa: "\f2b6"; -} - -.fa.fa-linode { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-address-book-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-address-book-o { - --fa: "\f2b9"; -} - -.fa.fa-vcard { - --fa: "\f2bb"; -} - -.fa.fa-address-card-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-address-card-o { - --fa: "\f2bb"; -} - -.fa.fa-vcard-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-vcard-o { - --fa: "\f2bb"; -} - -.fa.fa-user-circle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-user-circle-o { - --fa: "\f2bd"; -} - -.fa.fa-user-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-user-o { - --fa: "\f007"; -} - -.fa.fa-id-badge { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-drivers-license { - --fa: "\f2c2"; -} - -.fa.fa-id-card-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-id-card-o { - --fa: "\f2c2"; -} - -.fa.fa-drivers-license-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-drivers-license-o { - --fa: "\f2c2"; -} - -.fa.fa-quora { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-free-code-camp { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-telegram { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-thermometer-4 { - --fa: "\f2c7"; -} - -.fa.fa-thermometer { - --fa: "\f2c7"; -} - -.fa.fa-thermometer-3 { - --fa: "\f2c8"; -} - -.fa.fa-thermometer-2 { - --fa: "\f2c9"; -} - -.fa.fa-thermometer-1 { - --fa: "\f2ca"; -} - -.fa.fa-thermometer-0 { - --fa: "\f2cb"; -} - -.fa.fa-bathtub { - --fa: "\f2cd"; -} - -.fa.fa-s15 { - --fa: "\f2cd"; -} - -.fa.fa-window-maximize { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-window-restore { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-times-rectangle { - --fa: "\f410"; -} - -.fa.fa-window-close-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-window-close-o { - --fa: "\f410"; -} - -.fa.fa-times-rectangle-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-times-rectangle-o { - --fa: "\f410"; -} - -.fa.fa-bandcamp { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-grav { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-etsy { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-imdb { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-ravelry { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-eercast { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-eercast { - --fa: "\f2da"; -} - -.fa.fa-snowflake-o { - font-family: "Font Awesome 7 Pro"; - font-weight: 400; -} - -.fa.fa-snowflake-o { - --fa: "\f2dc"; -} - -.fa.fa-superpowers { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-wpexplorer { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} - -.fa.fa-meetup { - font-family: "Font Awesome 7 Brands"; - font-weight: 400; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/v4-shims.min.css b/public/vendor/fontawesome/css/v4-shims.min.css deleted file mode 100644 index da4ca52..0000000 --- a/public/vendor/fontawesome/css/v4-shims.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -.fa.fa-glass{--fa:"\f000"}.fa.fa-envelope-o{--fa:"\f0e0"}.fa.fa-envelope-o,.fa.fa-star-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-star-o{--fa:"\f005"}.fa.fa-close,.fa.fa-remove{--fa:"\f00d"}.fa.fa-gear{--fa:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f2ed"}.fa.fa-home{--fa:"\f015"}.fa.fa-file-o{--fa:"\f15b"}.fa.fa-clock-o,.fa.fa-file-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-clock-o{--fa:"\f017"}.fa.fa-arrow-circle-o-down{--fa:"\f358"}.fa.fa-arrow-circle-o-down,.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-arrow-circle-o-up{--fa:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f144"}.fa.fa-repeat,.fa.fa-rotate-right{--fa:"\f01e"}.fa.fa-refresh{--fa:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f022"}.fa.fa-dedent{--fa:"\f03b"}.fa.fa-video-camera{--fa:"\f03d"}.fa.fa-picture-o{--fa:"\f03e"}.fa.fa-photo,.fa.fa-picture-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-photo{--fa:"\f03e"}.fa.fa-image{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f03e"}.fa.fa-map-marker{--fa:"\f3c5"}.fa.fa-pencil-square-o{--fa:"\f044"}.fa.fa-edit,.fa.fa-pencil-square-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-edit{--fa:"\f044"}.fa.fa-share-square-o{--fa:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f14a"}.fa.fa-arrows{--fa:"\f0b2"}.fa.fa-times-circle-o{--fa:"\f057"}.fa.fa-check-circle-o,.fa.fa-times-circle-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-check-circle-o{--fa:"\f058"}.fa.fa-mail-forward{--fa:"\f064"}.fa.fa-expand{--fa:"\f424"}.fa.fa-compress{--fa:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-warning{--fa:"\f071"}.fa.fa-calendar{--fa:"\f073"}.fa.fa-arrows-v{--fa:"\f338"}.fa.fa-arrows-h{--fa:"\f337"}.fa.fa-bar-chart,.fa.fa-bar-chart-o{--fa:"\e0e3"}.fa.fa-twitter-square{--fa:"\f081"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-facebook-square{--fa:"\f082"}.fa.fa-gears{--fa:"\f085"}.fa.fa-thumbs-o-up{--fa:"\f164"}.fa.fa-thumbs-o-down,.fa.fa-thumbs-o-up{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-thumbs-o-down{--fa:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f004"}.fa.fa-sign-out{--fa:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 7 Brands";font-weight:400;--fa:"\f08c"}.fa.fa-thumb-tack{--fa:"\f08d"}.fa.fa-external-link{--fa:"\f35d"}.fa.fa-sign-in{--fa:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 7 Brands";font-weight:400;--fa:"\f092"}.fa.fa-lemon-o{--fa:"\f094"}.fa.fa-lemon-o,.fa.fa-square-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-square-o{--fa:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-facebook{--fa:"\f39e"}.fa.fa-facebook-f{--fa:"\f39e"}.fa.fa-facebook-f,.fa.fa-github{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-feed{--fa:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f0a0"}.fa.fa-hand-o-right{--fa:"\f0a4"}.fa.fa-hand-o-left,.fa.fa-hand-o-right{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hand-o-left{--fa:"\f0a5"}.fa.fa-hand-o-up{--fa:"\f0a6"}.fa.fa-hand-o-down,.fa.fa-hand-o-up{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hand-o-down{--fa:"\f0a7"}.fa.fa-globe{--fa:"\f57d"}.fa.fa-tasks{--fa:"\f828"}.fa.fa-arrows-alt{--fa:"\f31e"}.fa.fa-group{--fa:"\f0c0"}.fa.fa-chain{--fa:"\f0c1"}.fa.fa-cut{--fa:"\f0c4"}.fa.fa-files-o{--fa:"\f0c5"}.fa.fa-files-o,.fa.fa-floppy-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-floppy-o{--fa:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f0c7"}.fa.fa-navicon,.fa.fa-reorder{--fa:"\f0c9"}.fa.fa-magic{--fa:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-pinterest-square{--fa:"\f0d3"}.fa.fa-google-plus-square{--fa:"\f0d4"}.fa.fa-google-plus,.fa.fa-google-plus-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-google-plus{--fa:"\f0d5"}.fa.fa-money{--fa:"\f3d1"}.fa.fa-unsorted{--fa:"\f0dc"}.fa.fa-sort-desc{--fa:"\f0dd"}.fa.fa-sort-asc{--fa:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 7 Brands";font-weight:400;--fa:"\f0e1"}.fa.fa-rotate-left{--fa:"\f0e2"}.fa.fa-legal{--fa:"\f0e3"}.fa.fa-dashboard,.fa.fa-tachometer{--fa:"\f625"}.fa.fa-comment-o{--fa:"\f075"}.fa.fa-comment-o,.fa.fa-comments-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-comments-o{--fa:"\f086"}.fa.fa-flash{--fa:"\f0e7"}.fa.fa-clipboard{--fa:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f0eb"}.fa.fa-exchange{--fa:"\f362"}.fa.fa-cloud-download{--fa:"\f0ed"}.fa.fa-cloud-upload{--fa:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f0f3"}.fa.fa-cutlery{--fa:"\f2e7"}.fa.fa-file-text-o{--fa:"\f15c"}.fa.fa-building-o,.fa.fa-file-text-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-building-o{--fa:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f0f8"}.fa.fa-tablet{--fa:"\f3fa"}.fa.fa-mobile,.fa.fa-mobile-phone{--fa:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f111"}.fa.fa-mail-reply{--fa:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-folder-o{--fa:"\f07b"}.fa.fa-folder-o,.fa.fa-folder-open-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-folder-open-o{--fa:"\f07c"}.fa.fa-smile-o{--fa:"\f118"}.fa.fa-frown-o,.fa.fa-smile-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-frown-o{--fa:"\f119"}.fa.fa-meh-o{--fa:"\f11a"}.fa.fa-keyboard-o,.fa.fa-meh-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-keyboard-o{--fa:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f024"}.fa.fa-mail-reply-all{--fa:"\f122"}.fa.fa-star-half-o{--fa:"\f5c0"}.fa.fa-star-half-empty,.fa.fa-star-half-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-star-half-empty{--fa:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f5c0"}.fa.fa-code-fork{--fa:"\f126"}.fa.fa-chain-broken,.fa.fa-unlink{--fa:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-unlock-alt{--fa:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f146"}.fa.fa-level-up{--fa:"\f3bf"}.fa.fa-level-down{--fa:"\f3be"}.fa.fa-pencil-square{--fa:"\f14b"}.fa.fa-external-link-square{--fa:"\f360"}.fa.fa-compass{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f152"}.fa.fa-eur,.fa.fa-euro{--fa:"\f153"}.fa.fa-gbp{--fa:"\f154"}.fa.fa-dollar,.fa.fa-usd{--fa:"\$"}.fa.fa-inr,.fa.fa-rupee{--fa:"\e1bc"}.fa.fa-cny,.fa.fa-jpy,.fa.fa-rmb,.fa.fa-yen{--fa:"\f157"}.fa.fa-rouble,.fa.fa-rub,.fa.fa-ruble{--fa:"\f158"}.fa.fa-krw,.fa.fa-won{--fa:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-bitcoin{--fa:"\f15a"}.fa.fa-file-text{--fa:"\f15c"}.fa.fa-sort-alpha-asc{--fa:"\f15d"}.fa.fa-sort-alpha-desc{--fa:"\f881"}.fa.fa-sort-amount-asc{--fa:"\f884"}.fa.fa-sort-amount-desc{--fa:"\f160"}.fa.fa-sort-numeric-asc{--fa:"\f162"}.fa.fa-sort-numeric-desc{--fa:"\f886"}.fa.fa-youtube-square{--fa:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-xing-square{--fa:"\f169"}.fa.fa-youtube-play{--fa:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow,.fa.fa-youtube-play{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-bitbucket-square{--fa:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-tumblr-square{--fa:"\f174"}.fa.fa-long-arrow-down{--fa:"\f309"}.fa.fa-long-arrow-up{--fa:"\f30c"}.fa.fa-long-arrow-left{--fa:"\f30a"}.fa.fa-long-arrow-right{--fa:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-gittip{--fa:"\f184"}.fa.fa-sun-o{--fa:"\f185"}.fa.fa-moon-o,.fa.fa-sun-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-moon-o{--fa:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{--fa:"\f35a"}.fa.fa-arrow-circle-o-left,.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-arrow-circle-o-left{--fa:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f191"}.fa.fa-toggle-left{--fa:"\f191"}.fa.fa-dot-circle-o,.fa.fa-toggle-left{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-dot-circle-o{--fa:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 7 Brands";font-weight:400;--fa:"\f194"}.fa.fa-try,.fa.fa-turkish-lira{--fa:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-bank,.fa.fa-institution{--fa:"\f19c"}.fa.fa-mortar-board{--fa:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-reddit-square{--fa:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-behance-square{--fa:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-steam-square{--fa:"\f1b7"}.fa.fa-automobile{--fa:"\f1b9"}.fa.fa-cab{--fa:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-file-pdf-o{--fa:"\f1c1"}.fa.fa-file-pdf-o,.fa.fa-file-word-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-word-o{--fa:"\f1c2"}.fa.fa-file-excel-o{--fa:"\f1c3"}.fa.fa-file-excel-o,.fa.fa-file-powerpoint-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-powerpoint-o{--fa:"\f1c4"}.fa.fa-file-image-o{--fa:"\f1c5"}.fa.fa-file-image-o,.fa.fa-file-photo-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-photo-o{--fa:"\f1c5"}.fa.fa-file-picture-o{--fa:"\f1c5"}.fa.fa-file-archive-o,.fa.fa-file-picture-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-archive-o{--fa:"\f1c6"}.fa.fa-file-zip-o{--fa:"\f1c6"}.fa.fa-file-audio-o,.fa.fa-file-zip-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-audio-o{--fa:"\f1c7"}.fa.fa-file-sound-o{--fa:"\f1c7"}.fa.fa-file-sound-o,.fa.fa-file-video-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-video-o{--fa:"\f1c8"}.fa.fa-file-movie-o{--fa:"\f1c8"}.fa.fa-file-code-o,.fa.fa-file-movie-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-file-code-o{--fa:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-buoy,.fa.fa-life-saver,.fa.fa-support{--fa:"\f1cd"}.fa.fa-circle-o-notch{--fa:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-ra{--fa:"\f1d0"}.fa.fa-resistance{--fa:"\f1d0"}.fa.fa-empire,.fa.fa-ge,.fa.fa-resistance{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-ge{--fa:"\f1d1"}.fa.fa-git-square{--fa:"\f1d2"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-y-combinator-square{--fa:"\f1d4"}.fa.fa-yc-square{--fa:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin,.fa.fa-yc-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-wechat{--fa:"\f1d7"}.fa.fa-send{--fa:"\f1d8"}.fa.fa-paper-plane-o{--fa:"\f1d8"}.fa.fa-paper-plane-o,.fa.fa-send-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-send-o{--fa:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f111"}.fa.fa-header{--fa:"\f1dc"}.fa.fa-futbol-o{--fa:"\f1e3"}.fa.fa-futbol-o,.fa.fa-soccer-ball-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-soccer-ball-o{--fa:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f1f6"}.fa.fa-trash{--fa:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-eyedropper{--fa:"\f1fb"}.fa.fa-area-chart{--fa:"\f1fe"}.fa.fa-pie-chart{--fa:"\f200"}.fa.fa-line-chart{--fa:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-lastfm-square{--fa:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f20a"}.fa.fa-ils,.fa.fa-shekel,.fa.fa-sheqel{--fa:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f3a5"}.fa.fa-intersex,.fa.fa-transgender{--fa:"\f224"}.fa.fa-transgender-alt{--fa:"\f225"}.fa.fa-facebook-official{--fa:"\f09a"}.fa.fa-facebook-official,.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-hotel{--fa:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-yc{--fa:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-battery,.fa.fa-battery-4{--fa:"\f240"}.fa.fa-battery-3{--fa:"\f241"}.fa.fa-battery-2{--fa:"\f242"}.fa.fa-battery-1{--fa:"\f243"}.fa.fa-battery-0{--fa:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-sticky-note-o{--fa:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hourglass-o{--fa:"\f254"}.fa.fa-hourglass-1{--fa:"\f251"}.fa.fa-hourglass-2{--fa:"\f252"}.fa.fa-hourglass-3{--fa:"\f253"}.fa.fa-hand-rock-o{--fa:"\f255"}.fa.fa-hand-grab-o,.fa.fa-hand-rock-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hand-grab-o{--fa:"\f255"}.fa.fa-hand-paper-o{--fa:"\f256"}.fa.fa-hand-paper-o,.fa.fa-hand-stop-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hand-stop-o{--fa:"\f256"}.fa.fa-hand-scissors-o{--fa:"\f257"}.fa.fa-hand-lizard-o,.fa.fa-hand-scissors-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hand-lizard-o{--fa:"\f258"}.fa.fa-hand-spock-o{--fa:"\f259"}.fa.fa-hand-pointer-o,.fa.fa-hand-spock-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-hand-pointer-o{--fa:"\f25a"}.fa.fa-hand-peace-o{--fa:"\f25b"}.fa.fa-hand-peace-o,.fa.fa-registered{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-odnoklassniki-square{--fa:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-television{--fa:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-calendar-plus-o{--fa:"\f271"}.fa.fa-calendar-minus-o,.fa.fa-calendar-plus-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-calendar-minus-o{--fa:"\f272"}.fa.fa-calendar-times-o{--fa:"\f273"}.fa.fa-calendar-check-o,.fa.fa-calendar-times-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-calendar-check-o{--fa:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f279"}.fa.fa-commenting{--fa:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-vimeo{--fa:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-credit-card-alt{--fa:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-pause-circle-o{--fa:"\f28b"}.fa.fa-pause-circle-o,.fa.fa-stop-circle-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-stop-circle-o{--fa:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-wheelchair-alt{--fa:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f059"}.fa.fa-volume-control-phone{--fa:"\f2a0"}.fa.fa-asl-interpreting{--fa:"\f2a3"}.fa.fa-deafness,.fa.fa-hard-of-hearing{--fa:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-signing{--fa:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-viadeo-square{--fa:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-snapchat-ghost{--fa:"\f2ab"}.fa.fa-snapchat-square{--fa:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-google-plus-official{--fa:"\f2b3"}.fa.fa-google-plus-circle{--fa:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome,.fa.fa-google-plus-circle{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-fa{--fa:"\f2b4"}.fa.fa-handshake-o{--fa:"\f2b5"}.fa.fa-envelope-open-o,.fa.fa-handshake-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-envelope-open-o{--fa:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f2b9"}.fa.fa-vcard{--fa:"\f2bb"}.fa.fa-address-card-o{--fa:"\f2bb"}.fa.fa-address-card-o,.fa.fa-vcard-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-vcard-o{--fa:"\f2bb"}.fa.fa-user-circle-o{--fa:"\f2bd"}.fa.fa-user-circle-o,.fa.fa-user-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-user-o{--fa:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-drivers-license{--fa:"\f2c2"}.fa.fa-id-card-o{--fa:"\f2c2"}.fa.fa-drivers-license-o,.fa.fa-id-card-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-drivers-license-o{--fa:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-thermometer,.fa.fa-thermometer-4{--fa:"\f2c7"}.fa.fa-thermometer-3{--fa:"\f2c8"}.fa.fa-thermometer-2{--fa:"\f2c9"}.fa.fa-thermometer-1{--fa:"\f2ca"}.fa.fa-thermometer-0{--fa:"\f2cb"}.fa.fa-bathtub,.fa.fa-s15{--fa:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-times-rectangle{--fa:"\f410"}.fa.fa-window-close-o{--fa:"\f410"}.fa.fa-times-rectangle-o,.fa.fa-window-close-o{font-family:"Font Awesome 7 Pro";font-weight:400}.fa.fa-times-rectangle-o{--fa:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 7 Brands";font-weight:400}.fa.fa-eercast{--fa:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 7 Pro";font-weight:400;--fa:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 7 Brands";font-weight:400} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/v5-font-face.css b/public/vendor/fontawesome/css/v5-font-face.css deleted file mode 100644 index eeae0ee..0000000 --- a/public/vendor/fontawesome/css/v5-font-face.css +++ /dev/null @@ -1,35 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -@font-face { - font-family: "Font Awesome 5 Brands"; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Pro"; - font-display: block; - font-weight: 900; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Pro"; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Pro"; - font-display: block; - font-weight: 300; - src: url("../webfonts/fa-light-300.woff2") format("woff2"); -} -@font-face { - font-family: "Font Awesome 5 Duotone"; - font-display: block; - font-weight: 900; - src: url("../webfonts/fa-duotone-900.woff2") format("woff2"); -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/v5-font-face.min.css b/public/vendor/fontawesome/css/v5-font-face.min.css deleted file mode 100644 index bcf927b..0000000 --- a/public/vendor/fontawesome/css/v5-font-face.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:300;src:url(../webfonts/fa-light-300.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Duotone";font-display:block;font-weight:900;src:url(../webfonts/fa-duotone-900.woff2) format("woff2")} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/whiteboard-semibold.css b/public/vendor/fontawesome/css/whiteboard-semibold.css deleted file mode 100644 index 62452bd..0000000 --- a/public/vendor/fontawesome/css/whiteboard-semibold.css +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:root, :host { - --fa-family-whiteboard: "Font Awesome 7 Whiteboard"; - --fa-font-whiteboard-semibold: normal 600 1em/1 var(--fa-family-whiteboard); - /* deprecated: this older custom property will be removed next major release */ - --fa-style-family-whiteboard: var(--fa-family-whiteboard); -} - -@font-face { - font-family: "Font Awesome 7 Whiteboard"; - font-style: normal; - font-weight: 600; - font-display: block; - src: url("../webfonts/fa-whiteboard-semibold-600.woff2"); -} -.fawsb { - --fa-family: var(--fa-family-whiteboard); - --fa-style: 600; -} - -.fa-whiteboard { - --fa-family: var(--fa-family-whiteboard); -} - -.fa-semibold { - --fa-style: 600; -} \ No newline at end of file diff --git a/public/vendor/fontawesome/css/whiteboard-semibold.min.css b/public/vendor/fontawesome/css/whiteboard-semibold.min.css deleted file mode 100644 index 1474ff4..0000000 --- a/public/vendor/fontawesome/css/whiteboard-semibold.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license (Commercial License) - * Copyright 2025 Fonticons, Inc. - */ -:host,:root{--fa-family-whiteboard:"Font Awesome 7 Whiteboard";--fa-font-whiteboard-semibold:normal 600 1em/1 var(--fa-family-whiteboard);--fa-style-family-whiteboard:var(--fa-family-whiteboard)}@font-face{font-family:"Font Awesome 7 Whiteboard";font-style:normal;font-weight:600;font-display:block;src:url(../webfonts/fa-whiteboard-semibold-600.woff2)}.fawsb{--fa-style:600}.fa-whiteboard,.fawsb{--fa-family:var(--fa-family-whiteboard)}.fa-semibold{--fa-style:600} \ No newline at end of file diff --git a/public/vendor/fontawesome/webfonts/fa-brands-400.woff2 b/public/vendor/fontawesome/webfonts/fa-brands-400.woff2 deleted file mode 100644 index 750d377381338ba0b6f8d1c695281a4cbb9d0107..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101468 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 E0OTPIq5uE@ diff --git a/public/vendor/fontawesome/webfonts/fa-chisel-regular-400.woff2 b/public/vendor/fontawesome/webfonts/fa-chisel-regular-400.woff2 deleted file mode 100644 index bf17e09b93a5e6b10e019edcbbb023d40136e397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27092 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 P{))xDM=V~@00RI3vS}#m diff --git a/public/vendor/fontawesome/webfonts/fa-duotone-900.woff2 b/public/vendor/fontawesome/webfonts/fa-duotone-900.woff2 deleted file mode 100644 index 676eee57781764758b8d095a27525e9fa2c3f1ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318648 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 WN?;X4`tX)D8VnUdQSwGB3<|KtPze3E3 z2JXDtcl=XE0>*KNz(HWoC7;&Q-d3~k2S~6b$|6ydb)a_(hfb^g5d3)2TMSim*d(tn zx(YV%Jf$R&06##$zo$`AjW3JsB*3$Tt~c{?rXbdx4n z_1YQb6|k9jX}3r=AgHmWNETt?PRYp(NKKG0#BEYTzKkjH!qys{E~@Fed^elZ<}n_+ zeVcHAei;=RxeGC>nze@%gZ6X2HyH5kW@g6VVRI}~mX;S>r{x>{1$=|sVV7dcdS2`$ z27UYbVuC<$vr|}DQ`wzJY;(rSdt~|Yx!-j9bkQt_N8wYBu=5L(xa$rF9e8}HRNZBT z|NNgnJnhWF+?Lh)PxIGd;0wuJNuTJ7khK zi3Lo}S|BTp!g5S2r zW#^339In*D_I}<$9JJAOv;E8e)>jE7`hPRNtSp7}jwz`YeZ;IK3Oz(3T&X<-^`_R| z6#ORW_4cXDz^`6n2-Q7Fqy`ykhxFhXlnVr-rW z`>M;xzjEKg9SmihqNQ`~=AOr}j-n~uAJcsfGQYLw zMS{fE%c{oy<8b`gJuRFY%#2z#cLBy}OWeC&gea#Vyb=ENRW`5k8T)L*bIBRK7^fT< z)*FS68T-_Kz}Azxe2JL&*hHi_^@!W^)HS&RUyv{GYGPU|Wf2Imi)+}#!Ha(uLRd}g z>i~Xpoj8U7xUXx~h@1fJ6Sh9?Bj9mq_(+793gk8DM-}Z5)H=r2*y&A{lyLyml>Sd* z)96Mstpy^6;Z6{K(li!Iqai}D?X{X)b=~7yWrCX9F%3yVdXL5*`qF6f>J7m+%UiKb zwV+@mLU6BTdrLg-lL2d$Of9$pBja4z!!Vug@5YPj93W}hC^ z1dQ(EV%qI~Rg8vH)Tjy*&NZS=9VBYV4v;fJUH8Fg zu*RX^3HGeoH6!Lt{D5Zu4p$Uy(t#Z)oRYxL6wMU)ix|rZ(|5&;gydydB+jH_1x~wD zy~X0bkwp^obaL7x?-f+y5@wZoi@{J!$IfI za)5||0@f-lB9N)pxPq0{I-~F02>a$HGpxKF%GQMF##(3Vhd-OeY{QE**k^8^faB`c zz=xk6#ZJgLYm>gWh;ktt5JI57l7?l*Hqs7Sq(=CoqCr1<=2vOpc02@3qg+1tpvYcs zTvo%KPOP8Pz_k&go$++E*JL6u$-@BzaxZ}_oiK)VH+=3;{{V&S@^7pTAOz-37$a~Q zyDN}DKxyBtxd~hIz0Rff+66lv=Dz^OnsSBlHwLQ_F7{Q#aM@MBQ)+H|X|7ZSZP{`Y zljx6^NdpDN+N9l)+eq4WQU$nx(YEY6;Zdwm@bN+C@9*C-!l?5)1NsTLm%X>d^&G64 zWNNd)TK@^fI8X-DnK+MZ_*$GAU{EE@!0B)m2~FIDAj6wbsyQ8qZ1QGqOPA;Y??2$t z>2eh@U{$eB5b*0MfZ>ttgOhDT{2F$Vyx`uuPpM97OVx9*H-B3uf3ivRbwu_h=?P;O z=564C@55@yh@5q6Omiaq@(?O za0jmC6Sj+ax5K`DFq{3%udq)9hbNpZo2=qSI1jjsU=>{$hLbW0*hgb^zR%Pn(GupDSZfM}1*JjndmGjCvFIF?9b zmP!@i-Q|?bidZWmu@s@PYgv>p>oWzaO)5UzN@A?Rb_@=VqrIw~H)k6 zY?W+}i@Gh>$;w_8mcy!WZ=tdZPQYi2vV=&$VZU1_!#l95dHM&r@7*q7Xj{1)8qF_b zepBmC*an{url{PNXh(k#-Yh?xNCVOdF9)wXTAQ` z#MINAJ@}tRcAgB2LpY&d3oti3rGLlJv@s1|WTbDSk6=Hq5T?M$$4O%0vPkeORF4_% zZ4bRdW@S-eJn>9H(vnIYI~XyHvt~GAy?`|Gw=OQq4u5VS6$v70%Be*&Uy5d%kz#Rl zR7m7fLW>pn27@bhWjzL?;15e|E81gDHQmx{$Sj?G$-fjJ>FzHh`?C249PrP~0U~Z6 zDL?i%rz4+uhA&!SnEzmx?8d|OBo=;n89D9H%c2Jm+4bl*Yq!hcJ4=BFBOkh6^?J!r zoEv9l%53(J?3Ki=kHf>(%>%Ye1kuyW`whwWJiS(ZLpD}e&|{8qVSFM=GTL4Oa*`l7 z)xBS>T4nmJNR`vp-c|G{2NS(FL^ovvk8k)Z^WB3yN+n8RiqU9Sc9TfSJ=ri9G>iFv7wGegOqADTU;;DCmvyx&&8?Pxf}%%} zCY=K7Ug)j(#IW@s^xHxVA@uW9N>6gw=}i$LQKGRrHb_?Y=| zRhyee#hp#4maIR-$ER@hzHk9-TFwo}p$GYDA!)(+)q+Yww`$MF_v2z8EV6`mc!7mx z$Gm?N;(dB-OU*g(#%vw7Tw}{7(A3|V*~Iu{9J8OHZtRbBz&wkVL7<~3$Uq4JhYDRKq&uKc zMUaNz=r9g)9Hy}tfXS(-@*z`M5Jwp4!*QJ~xz0=sgOy?FBXtOqbutVq9m9ea>W|YY zFW@+(Y-x>#q1U3$ah#=*Ij}}vmo;Qt8LO~Zp~EI9In;>-Zx*$vkzS#$G0>dPp#Y^s zCbNjGK!TG9{CXlTuJazoS5Yk8J;r_6TINP+n{jEpJ04)@MH^}KPUIFdI)=O$)c`F$ z%j*!^JEza|U4qDYmAk;XJ)cDhV}$$NkWrTd%bjJ2EA$4w4fQU2oyH1pf7+^UdXA6tB&VS zz$7$v-eTJ_UOobm@PlO+MgMRtgW#&bsXBQpc&Y;w=ar!WW&LuVpD;LEJoaA#KD$3$8Bk-qeyuvJ{eh!FKN$q9k5%xj2j9%nIlA`Q|Ay~XU(zXd9M zfIv(-X)qs}&*hqM=>B{q$Qx;$HW2kp=NfsZ+3*ff@iwO+WnJh>gYFWPK&M+5Wl+aQ z9ursU&HK4E#HWpkv{%v9vag88{j!#+!uwxOdK%bOZum}qH}!Gt#}YH@jLDAd(;pb6 zcDjVn7&3vpa8(H+hZ_$|#ub|Sj2b^cJN!TtiIgW%R6nF7f^V!|7zH4ywa3|~nuuW& zeCAvFc;{#bmv7NmDaTvdkp>c>i#^|ZoR=Qzi}WXxaB01R2dX@<$6T18n_M#_N8Ms- z;rm_P-hl)A4ldR!P5L**$sSWlO8Ux~=#n&&=s1j*LS#i$VR4XeIAwk)rZZ~aFkf6f zZTvzu;WCE848^dbHMOW;HHpm$=<{l2>`{x|-(X1Ojdl|wvBjp50|K6CFz*+e=kewZe*=sz)3(sA+dg^~|;1lSu)=rpf zvqjPvPk}RU+ZF8WLT9J9|HE2Ue(iYxZZ)6p~d}9BY$O4WcANutWYcCRIr~ zC>jflUC&|#^O@|9oz|3+StbU|+yY`WfA46iwQ!5J#j!7GL6cXmYfYmHbIxdZU5#1mZp9&5lsPg`i5)Uu>Vz%>A< z`I$|-iU)&c{b9U_we0PR8`X=Rq)lC`WzHIAt@=s#71(_m^~3d7o0mBEJ@Jvt>4q_a z<036MavWF6NX3s?f6BOOkW>uUXJEE?nODN#@pWv`p249f5Rz^~1h3I{OC9i)JHK)I zLe&?1fGg{5Lk)8vadzY>d2vd9R{LvEG zat!<^v$T_~^{AU9Poat9=6hc3%ZJZGM3o{i|LseSfppFVqqPUWql)tw&Jlb)aOhfr zRMpC%mZtG)_6*qo&5VG%|4MjldHi^x+mLIia5J8NphH7l^Mlw%j5sOis=_2imlA2TAmYrAmXqFm?67<`Y(z81YazP2Qko;qslYE5u(Oz?e@~JC4roFaJ(U z60mJL@ch9n60s#O1J#CexI`Aytwe23dlp1q%nB@5_$>c_$mRf~lD)XCnsnAzn8*PA z^~RXpZW~Nr&<0{+=Mt(eTD)#5?-LfsErV>Pi3ejX`ZM;@Xfl~oZc zY3MbLKz~PC%+J%&IWHLwd~V*|t^pf)`6`Oj9@5%w?A-4|EGx23(UEz6$FL9_m!KC_qHR5 zPD5zse6JzhTKchip{BGH6?p3}Y=2<;UKU2BojaUIqO7_?-FDmoT(w+gE9MV5!T7rD zk0KVz{+XD1hfQD$Gz7JZ67#W|?<4>xnV$I#UHHUGw7xuBGs zvu$!)97dME%-=_F@2NrW$*=ExQ#9w&-<)1@qOyD_Ul5xQ9KYzn81LLdzmX7ReKN7?c3$++k<1@f@5!gib0pSWa(5;{jA`i9mcjjxsNEj2;4g zRM|oQ3S)jVP@Z&3m%Pf&aLxyDspAGU?P$~Ny6^($WX;%lNy?f*ILBPe*c{3~%d>-u zne5n;?T$vg2y<9436x+SQfNHzeB!|k58S!X_Bq=v8>g8;b_HIZI$S(i!rW2z+pc*9HSB5>+NQwwk*OJ%N4 z!ANr2%KqMWTY<&H-+jJaGphB-WqmwazO9E;we)yP(QmpA8^eAW^YK_4KRxlMkLKNI5C+=xa?zAN5Pdw>VkZ zoh7GXKKJE!MjUenH5GWJo|SyEK28K`TS1k#_|tH;Meb@Klc%zglUC4S;zO+fD9v%K z>-%k1GFS^1c?qEL(sqeO2!HMB4GJwa{6Vp_Vd+c{2zMdcc2u7`^oP3s_2=K$k zh=E>fL2@LU@ccJ#KPM+VE1NIoB!e|B`u&ASX1$(G7*fYNbF_FP5eu|ORZ(wXiN!-U z;HY(T!;c7+t$f4LBM9jSs%xn}aa;u(_UwgE8+AQn5;TBe8*S0~9?oE8lteT}@t9fh z8u&a`^Le0idnht;oO{214yaIXZ+F4h00Hm`=-VL9 zWZBgrdYA7DF5+_8iq}9Fk5z)n zYQ<~7M0_=$Q_wP*No1udX|pOBmPjbs{ohDgEn4Ml@Fa6&vjI$9+1!!ETPU9>7O5#a zAI>WOz&p38)yPrwU41^_Wp9?-hgt*g!L%U{Xgv1kraFcfhoc& zf;9wvtX|}vgLeNvqQnUZ7CT{)e~qYX({_U20knA@??DT2R(sTH+dz}4V6D}bQGso| z_VHN`xY+I@5X5xTZYad~7qKB9Truf4mkZ{9ffA}$rDs1N1}3~65&0LF;JRf!&V+Xk zA*mb73KL-abqrplq4>7n3UOVbAEJtlneTY8d*<;fD8QtK8vnbllDpFfh6V(j^U&Bk zm)ZBKys{1b|6Tc&6-FuyL{%(sS2f9eQ(_T(csRld5AGp!PCUB3-uk z5Jc(?oqw5JaqHLW!G@5Dqkf<3@?Tf z*))v{aAI7g68*El*K$?qT}TO(VzMwv(AEZ)4f3D@EypIeNSwp&G-x@}c@4o7wbs7J z_2{arzOQ~I33OF4UGcf|YOX7VlrE(%f#8jJMktw3(!ChrX!)B#%O6&w_BHy_opEs|uY<;8usKQ6{ z1~c^3oq4oYh7Y?hG0i{ZuNX(+zPgqu?@KTI2|MXC?U8gppbGNBGwGJL#^6*h;5`(% z6Zr5;$U_ zw2_(YjxL=&5T{g}%O^ITsP>43I6O&!K(|Ybu_qUCAaFWpF?|T_?;nakpG!uXiYlEk zn|Z5$lX=JL8KHF~;;XXrA&c~kRL^!8nG7b&V%qR8`q$h~FX6XJHFIRHW5BH-+^gbg2#@!t z2+|r`?p%q&TZ9*9i;-3mYnie(qcgb+z;~Z{RMi^TywJjeUjJ#Hoz&qmm&AskPsV|4 z^xQ{ALT~TZRqZP^W<#KkMA)%^SFK0ApP#f zUUr3d=qFBOW4Y^7O+BG$Q79a`qr}Ax=qX_ni5+LYSbS1r7qzN{As^|ECu_VH?P_=H z4jhp$#St*uXIXy(0I4w(8mDCUCC9R4ulE9W2Ordz?D5U85@|Ous<0l_4yAu{SEaKq zY`|*-pABI2ka6tz6T?fx`K1s)SR{R;e>)s2Sm}X@gh1s!8ezvEcr)73ly2Fx#f7x} z_n@gV_shUk_vLX?-sKMjLRV&bRT$+nhn#5B%P&d;V=abmHlf}MrIVterlqyH4YgKU zJ0E!cDbb?rQEqG)9?Dd8gINkkLSN;3@O47@+pB5g1Gg;hQ7S+@Tu>6|mztsH84yy4 zZzxI4V~Mxcb7Ls*o0^#)jlc5ES>E~)706B*Q#z!qxDEyQ6g_X?mz<$k&G3|dqUDUu z;?W2nGgqG|S01i5LPDFYj`8gXEY^lP!1;UdPlW$YAnEb9X?NZOONC(& zil~&I4Dk9F5$W3mib(&M1pJ=+C$jks1chkLFQNzxQ}`-`BG9{iIE}+4^Q6%(s|74Y zxuS-o(qR;+zZ~W3i5$j(S|F6?QaF60WP{TvT<_jM{yhg1IEx?E^P6$sG2l!7aRgN+ zQxz_&A=rTm3Y7RBoHjRY@dIx>Ad&zb3-X3Fcu+@5aE&Ae7PnjXl51S2GNje^)@r-m zG->dRw?CQSR{IoK;wrqXwT5-EF@YdoJk;vkdBq z`kX}g6d+kG6eH)uy@iO^G`WK#;u${!+fM^DaC6P>%nyE=wOfo8VI_}R%@k<9W0ZOn z;C+^k3a1z;^ieO}-#v`nG$J@AX>eG_Vo`r7wB^ zj8@s7%Qrq%qK0XS#a0romWIujlLB~;0;AYk- zu*IPx#YbTlpvO>T)a{Q-29>f=ok5WV3MqN^x<&3`no^!#E|@@H2S%-Fd<0?Jee zN+-ghuu?uI&4g&0#m<`8V#~*bYhe=9|D*Bjen>>N3RQ}eUK|dB71FqjkYZG#bD;kI zpt?MWygDz$y7=p#Ng`#QC}&mZe`3T`P@E|h&S6dLPfB7{OzjZIa$bn9F`2gZeIqB; z&Y5IVVHs|J6%5&xr>GOjy!8fQhY*ifUsD{tt4W)=uCAw*L)hHkzevTi*bMYW+puxQu*#tgrIWoHooiPAbh z$~_2yTAAz_;!4Lxq>SaT3&GIk!s}5Dp0;;2R_v==^%5y3a$bc~s1^FTNA!Rj_A9FRwkhvX-K(O?Y6%7&@ZQr>vEO&S4@qUjuc8z*m-{k8 zwd+Ch++z`Lhy5Og!3xS5!r`=zggp=xazkkp+Med2B$!KE$* z3j9TwbDV1konbGIu;nQjln#^+Wd7JKXb%7%u~K|_2F&h%i0PPRsJDD&H>!askZp)?b_v8!E(9h)#cui$Mjlm5IG`q2RAF$FCbUST z5zln+L}l3l+4Eafsv%%r6Pi;G+#lLp`q#AM=y?7o&n_nXO=%}CYIJ)yge>?&m_i-RLnpI@lp95pWHiZRwJPwX2Mk48gcI-}fFkI^izwRcD%dirM z5xU=`=$};_@s95;zJiX-AH9;H%mRa`TQut&ilJU*UZ&8;P-f%dM`;#WAjpCZLV}cW<3Ob4F|jvot@88SSibD$2-do#p=35h#jk_+agg{?G}YcjzfH*3|dYM zTYzJ2!$7MF&XC|8KAl8iju(PR@a<9z5%Gg))Y^lG4;7aICh%g(;fAU_74`CCz&WMBrm!C4j(*KdkZR$ zmbWE-7WT2br}s#*CWrs1Uqz7tzgiQd)ZG(GteDRP;l%zNwSxnTvS`5A70VyUV*?(< zocRj0Eq}+ruYb-V_Z8%Q-)S9qVhyJ7^!1Ys%fYjGWo2`&O3!*5#=A;JFd%(GMwSt* z*H8Qs@E2g&d;0vC!z&QfO3MnTs$?kgAJTt!NJ`N;S;PZCXKTK{9f*Oq=T%FcgU0J| z4XDA(!MP3tOUDIpZLv2_k?W#T6CARb_|6ki3kuxxGiExw1XthU9Pk((U30j%*||5@ zpX)v$#QM5t`4C6}Wv#BoKi;!Hn+F8jtotkYo0+=|Ccm;dVoUyqMO7%HNvDpjM z_1FNT=6??``d{$KU})UHn^Up4oEVz$=0V1OjE&qbr3BsccK^WWha_UZZs~Pc$+ci- ztI2J0*A(pdF<*&=pwP2#bMBm|*zVoCJ1GLIy#pt_1FNa4UrN*IJ$DP9+K)_J@`mBv zi7-q#8`S{5%s2yt+p6C2#a`U?R)kBa^M282Xu_Ar#U|LsM&soF2~(0Uhk1eG*a87o z%|>ixJ1QjS`fk)$NwtvBf{?1ooDPh^VI9w9TzHDNr>bzoO=&XV;-aZ;LXIXD^hTDW zCPrHaI05v;zVNe%u2-FE(&pJHC4%vo|Lra45w9UBu>uUO`Ml8= z{o(5T?3QXh53^?;Hq@o7@L4xz2a0PMMj`2^Yr;E!UhvsBfjf`DgUSO$jen2eDoiQu z4zEnjxqp37KxqHgEmn`=W_0*a~_X8y=Vl>h+r%yJyfwqqZVIvj$4yb zRwx?X#M{1euIC}i6lZ8Z-iB&_lrXEGCPFRbJYekuOIbYh7Ij#MQFI; zr7%3Iw(UjL<~s!QxxM_A$h%Nd{7-&cFUcRyk=%o_%@2_9kuI3RFseZFPgZtaA_Qeb z`acF8OsNGd%}7-tX@XZW#R{MnAC~8i8F&INOVSKU8WvB~ZlySk1cM}N`bIc%LL&nj zMToqDM)BOPJ=D6*y1^0BsK#ZyQ)SJ8`X~D*(D=#Y%apWoU~a0#L&~OAwm^xeZx+O3 z^(E#H^6*L-EG=-D2ht7_)`=A&v+=|mKp7A*ue01VDnMX}DQjYT0T5z*LBQB?h%arE z>trS_Mn7X7 z;l)`Jb7ccmR;4<}(fE2UBX+ehV-QMLg^aihkt(A^6F%yH14-}d^s<5dPEM?89911ol5~f*1dmK^98TO6CX;Im8OD_J~|RNP6&#A|g>^w2m|3B`4Qk z|0s^;;##0SM9fQQylg6mZh$Q06^1e<+?2_ZRb4BzP^g0pv`9ft56|TunQp>hZn*W7 z8RT?n99k^op~V`Vzo6K{u{y2@%{sgAQT;WP;BlZ4H*U^dr#y_ITTomNFahLw{f9k^Dv{|kPl|R$p7DC-(-Y!yI6_uv zJ$1h$D;VO7OPnDLNMVAgB=Wh%FmaSb*c(KGJIrlIEs-2Lg^W(Hp|`8%>ttC07B5n& zTa@&R`6z=kViOra?Lx$>p|u_5mWT)~h*|gfz|K^v+?&ETc?u0Wf_J`|nzyJgjO#Lj zL_G)BUZ7VJ)V!x*z&GtL9Yq6qyZo;~)2|&C2nX9w4!TARDEtj54h5N^og(m7QKVhh z03g_oc!4M2S@t)7+x|{<1(oHwvGkM2&~3=?akBF2k-q_~0q6eWVmRZz>Z4fk0so`s zWoBrwQywm?n#C|{^|hT1^x`bW7BYcB&{!<=ATc;V9V|mB28JM><5U-k$(m6m4w z9SC>M;w#VnFk4ku()qz%jXtLP-+}HUn=XNzW2>I4h>Mg=srcZ=;{hqxT^h!tt0it7 z@Vya!X1<$^m78N^*ALcXUV=NfV?j=D)_O%V@*CFinth?gO>{f#zmGK+a`_CDE- zJRGaa0gc1@m%Ws~inmLM1XE1A^uZi9R4=Ug3qP@awv9I^ssO=qeo#19^_{|*GUX?4 zR`-krxPFmGJQGBkQ}do9mst61#$HU+T@li>-Btq)Cn9dv=LhnC!I3c!QNkEn7Dpag z=vDLdJ@Dyh+0zrrBlfm7pu(eeRSs9L?5Npp?>-e8=XOR^Rc_q8PqNeuL5|+=sI9?ht^%Nab+Vx@bA0(&eOV?=2|4PMbzc#j&f%R$*!?&BIV~9m zfE_owhkKXT*D+xbSpDzDX~N_sb2a>eWY2nbo5EKsDNxO+l!UQXRq6O}F8$H@H_4Lz zYE{s*2*tHH50<2Fo~rT%o~?jVVoO9!$&Pt8N6@wTUVnx(($@5{YFa!C>iE`=Rh5_? z!eNtlXxc+I_+qT0!qhZVX4%P8lM&1K*0z3$KWYL&)oPv+)~-5Z~UZ+xzu_3BNfduW)* z8TZ(+5Drs`0uER`Og1by38UR);PHd36tGxwbN6EQktb&Hy5PFi0r&?X5x`{e9p#;S z-^T0;D6Z?DL3M^w9e5S^{2Ak!c6fpKRznbroBywk4DT*wk$L1tgLjKbD_y9ToPHFy zKMSV`Pj81w@T}Wl-*yB?Rp_=Hd=xIx?CqFOr_pUJWTElt1QMck4;=2ryQ8>g5<=W*w3m&u<1VTz_Mi%kcxVG2McpQXX@v{zuej08WHO-<^BsjNffK7=}Z z0$PEd0VGVnkJYsI-}|}`sA{EI13hD{oz$6OT16k$@K-=t^HCd8^8-AOYJsMOV#%zcIcyS4!dP$i> zh^uEh-2s$i4Ye}ODpLkkPT>M-Lj>?)G8o;Q;m4OX$}|}>Y;$&tyGgeO62e%aWiFlG z-G}w~K5ik}V6le08ibb*7;+|-s=KC4ZD^!4Qxmwfy&61XI1GwP6f;W`#t2F3yHwMc zG0uYJXf`XAXy1v4>o4f24Rg~SA!oa^Jq!rsa;CTM_l*in6YtO~!zuHaq+1k*UcIwc z-EOnLx$t6bPl-de+2T{jV}1JPJOeOaJCpmP3QOZP=!5g|rh z%s!lqtL@J1Ec5a&_?3-mb+qy-rcGLbTb&MXbSz(g3}O17ybq6*OYu+X(fnkhjn2~a zc%lZH;RN8kCfWhOWX$NBnH~!nXpWtPM$_prrlFBMFx&gwkIS>u&*iQ;MwcdG@OEG0 z(mnb82NM(8F`~d$b$2a;cIi)(hZketn`JAkiTQnd>O&rqP$t>d?#M3o>$UtW>s9{> zWsAn%6U;bOX0ch`)_Kq3ARNuxP)AuX4fctcHVSr48p!psr!COnK zi*aZO6x-V0B?gj4#sQ9>77ic1f;8ue-vW`0j%|_6=o;(ut;jUWeNPK&ACKxg7wz_w z{~L0qFMS38kr1SDh_2o51!zW6d}Fa-2cDK|(^~&Qr{LI5E2wH^@)%|A8_+V&S$55v zp=qJ2WxN|JNijsW5}V^SbN5zPN%?CN_mfgH6TUxP#LO6zho)Hlxp>*p5R(yyPYr%` zj&h8iU50Zd8ym`P99c^z3X`}7(ZQD^C4%9_!(K<&wfizc z=lC*Yrm##)l4RAou zS9RErmq9&^U86TetY*k5H*1U|vi5Y3DV@mbRfMIugrLFl6~vSw9Rpn%Bvqj@y`Tt> z!#6i8$HESn9j048{!0?eO4Yc|Tm|sy%V6M$&zon{h?nJY8JnFkb=-`pH$|}<=U2wQ z&=&IdgR_=$2oUMP5f-GBF5MneLtu|UBwbW1EEH%V42yFncVLgw)D#(d+W94p=!nCJ zxdUcty0rEbEp>iV%>H3H;2bxA+Ve>&d;;JDap+T?Kri!ubuY0iYK>T*78*kV;eF~n z8c2!6xrl-HNmdaED4`3SsY#{a+|HgZ^@BBPvl5G?O7+K?+ha{?yLosc0A})+WjJE` zIHgZ~^!Q2`4avnJI5m+X&y!|caG$cc@*e;vZy(zbf>4OIInr1t|OOgN}Uc-OTdUzs$YV|sZjma-h-{Y zb&2(Ypz8F4O5}!|EVN+7rr&yT2a<(1!HW;HZ=j<0?Rv~}PQVp3HS6jqo zBL;G;fG4FpV64U*Jfgu8&n}a29&Q&bG0pyN&cNG`XEUaBy(sYF=gywo&_5PBI^Bc^ zQC9MIXxWgaE3W%`2~NRzu${4(J=EunQ}F8JVoD_?S?q&5a46#fk+1YC3FLW7^dl+KK@wKjlScax8bdgn zCR47HDuhfWL6{@Lp^}8d$eC7yP1bK}jX)Y|1m8{|N(@zIk!YZO3a||e-TeI-GvNY8 zM;RJzoDxYE{{$8m2`)ONKG6=RL4YB^H?L}_c?u-pN2mQWjvQKpic4V)iR?0@M?-U* zO`tL5lw;nL04)Y8w-7B=+X{J=0%;IN+M5=-BfVU^N&;M-zB{Zd9!T#&WB8e_XAxM8 zrgYLde#Eh8Vkh{z|HIyAc#AHi>hWH(DV*8s{lhf8*O`$UNK|x^{(RuAo+L=T3~aqrTW{t^E{OZ?0*&aJK2=A&g@SVAC<2;DGFHZl+* z2#Jv!+vp=YG!D(nfQj|W^nyjxp5X<1AS|U8Xq8FUnEkh~j(`XyqSroW;|<#B)d@{m zU70j)dVMK|(?h+yW=T`-^4pKUB$qUF#7ya)0xMO5t*iNtw&=rw0z40?0WnIm07YZo zIy`&HS>WY?<7^08u6s26sn$;3rlxzT)d54j^3V3u?s{V2i*i7zoQkqn%f+nj%Wq5BC zZ=7Thm!s(rggnnPFno{&mIN?QYIswh50>AB3j+Kq?m9SX{Nd0B}>o@SKPg=6ky~9iW)PjOO8|Bv0kg^bsxmBVv zqVEcwCM%kZTu%JDNh(GjG#-AYz`3CdYM_>a5Ybde6UP?lggve%?Nnn?Z--8Y^+qdc z)QENu+&qurMy~@9MFY4pGqsLakg(>Cstd9CEbby6?qr9QB3QKTh0fM#jo7|Iy2jEa zc3mc1lG|80Wax@n)T-pB$5BYaVqFGmW{ibWQ*Z-}(dl)!L%P0!@U_%gxofD`#}Rmv z}C?PAQREd46s zLs%dbm#yOEjIUXak)=HEZC7GSJs&nBDhvpN!>bFhdbybF${@c-R7KU=`E&mgbrT+N zJACRi{N*X}A16-9PR4k==g5?a3L&44@qn*o7ZJ;rt`?4jMW;0FWa^B>gB)xA+50HK z<1PGSSSLd0bW!(|8a4qsrFI(#=O7;{akl^-QZs%1^`T}3ud-Tq_xlYG;#uOxT)PAq zrN6W$*;D|vVd_7huccfyd_cw}V5L7MyM$Hazge++1lN9CTPW?0j7AA?3(Hl zY}Ymg-iGo6rH#>1jA3<3E|IN_6a}?NUQZ}Bo9lh8n@GKh07O8$zc~P~X_Dl4a7x4b4F98s2UPlp zjD34IE&k64)&R?Bo8jt$>@)d-Fsf&*f@N_VZPgtx?8=iK$PQ-Og|;wInlgwT`4#@ z=5A@r=J*|Q$+RRMQkDJ*d^SZLl4)bq$w}K=YeYGu{;ilUD%!$H!0g_#sUIX8khGoG zz#@jY4*_2O$u^xbyFcTrnnenQCpVFIE5>ZJcg8IAx^7_EvgHV-j zM3F4$hia4Vn#MX@8tnJ|Fi*gV-VL8?Q2s(xMY+;u&-b?s^i5HRi%+dBt2kFFjuTD+ z8|yqJG;L#KSufXfZ=k`$LIb}Z2%3^B;Cr43 z4cP_qnx#cj)b^zAOyX3ax>uWs9iXXn!$1vOz%x#tE|qV3KS%x5DKC04X|)tb7(FNx z&#i#rRsf6LZu@{f(#SRO|vZjCm3;D5mhmY+hGQ4dG6T@NPzW^Eutqu%*lu8 z3WmddP(x5MkxNJkwXq{6QcYWSkY`A{aANO!)mJdxKK;**{~eKCr_KOcF+l*Kig_m8j&ty z^dopHFuobUPF^C|k$fAr5jl_JFeu#Esq-^L*GYnuy=iE)6h*I(OSS zE*aWd{7L;J%H7_48Zzgf>uo>MLtLXqcgOb!uP6;@S=*3GG}>4=0@iOk5Se(NU&E7}-DXf2l3G9K!^+p- z)_-v4#ftq8a5#&IUUl|oWFuac?{OybqIxcwXIHfzq36TZsl&rr%znk|KQ|A5{kJCD zB-@7c^B*nm1U35rhhvDa-3v!jj~4BuaVG!O>cfQZOb?r*xT)3o*VXlZ#o77QzqhVo z9%jCn%&Dt&;)wTwBYw^cxR;xT`fw&*oFcmCTjly!>~rfHJUT+1r4xaE z-YfYsAQplF8p8$9UWPFD>NbqgNELZu%f#xkNiGwTQ8^u}@WlD8plPIOMi@qUTirDn z!SASx+{uCr7$FU1gj8h3iZ}?l60$0?dQjr{=i2!#8Zu&JM6#G z5uaoaD2iF07C0OQ&P$#o4St=&h$zo_${nMWT8XMc!zgz4CnC2%{G;pH0y;jFt|8)c zQa7s#l;zK5SNFqta91sKooIQ_wM8mIWF8TZy&Z2UrgF}^3ZwvS@yO*_bz^U_GKN~>$R9eq ze*{PGxry=qB*qilhi9b}qgNhH4CTHchJjjZ)GC7+|R6fr>g2JUSKE?@2lR~oY?qMxWXOMnc2c>D8{ z9aMdnD(3D?asrWfevG~V8u0F?`4!J%n_O>qxtlT?&D&ha1C2lusgixmAo#_=3IT|P zh~pB*0hqZ201cYyL@&viK@|?$@lb&bQ9JZx_xcu%r=ZFyv8bv_*S2nQ_6ki{rYFbn z6$hAS=h+iu^E6KD*_ZLFMiZ^ zTRrS_YKzR|1?T;^t!CCzheY{0qqxnB+Kpu*-SysI61m41M^1#B%D_8bj)!v!e+}4t zKX+Hi13ijqzvO>nAThS4A{S=(^2${>p8{H<;>vGgmA3SwZeyiaR$)*u`+d6-OP^&?g=6>h|EUZY%2&+rytCv z(jo`Oe|g-c>Kh!K+y2kZ&FmT<4==lA5p7!Q-pAE3dtdlJHcGhOy~o^^KR?-Kyv_*W zl0>kkAYc3WY)n2F-rc|T$+5xJKpAHp*Ry8O2d3~8n#xx3no)w49-K0Dq^wv^)H?RY zW^Gm08T@6+n0Z*+0Ut1ukMX}Z{>^nkm&p)wTcOgKAH@j8O>s;qa)tN^ukCN2+r~+J zgg~UJYzmj_vJTmkit?1x%qqm}cBph7gegYiL0`2vB5>n`jGA#BE_eY{KZ=LckiV6$ z&8I?F^llLs&RsIQ%7mQnIe#K|#=H)LpBp6zW#h)t`bckaizSFX98#kb?x=cuAiP8n zbVaPVyce?A94AtZS1-RZma^lTgjW5~=nE#~cynhi#f=;MNH#D|aMCsxXs;}F<{=QP zvC)q68tje;IiqeQA;TSVrg3I`@ zWCz$&dCs6KL|YD3Klfu#ntJ^xBOY6^nVmE7L0W0q8(C&ZP6seWq;=q!dpX_LVl{uy zyK)xPVZTmh5AfSA11v1>rWGK#Ooq;ml}{S0HfXDyarMb- z$z~|4jwOzTqaW+Aylmhg$UQ;N!SSEIv0z&p-kVCEX--8D9@xw|HY?TO3cXo59WTBXnwrG$o=jW%Z>##_%Eko)?^+Xgah8n=>+kSnvAFR|y2 z(s($C(K!q*k2e=F`z#!AFYh#0+kb#vpC;L=b)8{~q0Y_lb^P}Aqk@-a(AB~_ zVCn=CmdvhIGKWuO6xVqZanb>7$yrj z#K*u>sA0=8-OUkP!OWRhIELqF4f2=|Kf%k>fQ#G?4pfmWy}LY&cu0cWG8kdO+t8oP5G2Bw1s{#9dcqf$_JiCFYSC^e;{>=`*zVL`cj2vnW*Ts^|Cp@ zbRx<*+)a$XBR`CXzn27HQf)c*Q6-K}tPrGxD8o=I#UQflvFL!mt=989P#;Di7G{zX z?x)QKd>Dh}d|MiL8cXhh!Ua?9`DTT8FLK`%~-qRa z>a1W#9HiiB+{w+8ZW@7%Lj47ACSGec3_eYV*)-1Kd=F-JV%fhcX_gU|gl=h*1d9@j zq%t}vP~=;RW$QtRT2UA+n*dMOj}BKPS%P2}1TN%E0rwp@=-&!Du4_Z{U}2IkGWvrQ zrBe#sJ}M+ZDGcvFee2PONmWxkggqMNK)wHVW2o9*EQRKM(H))2VMRR8=r+065dWTg zLur-dG{p%tMMolD$2pX+@xh3Q<#WMT5>MNm#Qt&qbormpznf&o)`3j5ri@ts2fzV3 z*MaTa`p@q`ax&974C}<7jxB0syDX3>Pq^0INzE2lJ{DLMHGKdfr|xy?I&l!>;PxI4 zbCaB=5(?j8YU+_kY?AF|GKra4-d+8Pw#U3Z@r;e}t}Hn-MAPZ*Ykmt%$Yj(Ag&>yM zG8t&B1l0ck{#vdaKE{MLtRy2U8}n>Otx_7|BjJ!g$VQQla=evH}4o$;1<8@?57P402dGB0gc4H~nGBS47bw2)F zINvfAf<_J*c8;aLn)$%t^3g1ZNaPg1D>=61Lpio8ZIV*uQsL(&?Mh-na!p9;;YTH( z&Yi`2n{1iV)9wnmzxT5NJqF7%uRl>Lh0_K(jS?7auv1SZmXz?hau7#jO4G_pC6txt z+Ec4`fU1yCE}^mq4tFMvY~qx*OFh)HL~a-575SQLdoac!weNN`TOEn`L=acHvp(iV zNw88y*Bv9f1v+~rVLm9gOPM2IaX`=)WRQ84b0G?t1_#V;QSxzlo#jIi zGaXzzmDqd|o0}j!LXOoERsnUEsGG%GANnRizjoE)uhKR?`(e%dFF!t^!xzO>g2~5T zbEY@#wcCLESI+y7wdVNdK^$&ej?)Xa?nm2!`RHoP4f~-r$x&^_&>u@*UggZh{hPyA zNS~vjb5C!-yaEOM(KSIcLTn z-yA+*=zJCjxWxy55euz~X2~;0E)9cJ)bRirgX4C$(BrXczG(^?Z2AbtfB@~#t^+We zFc395kL?FE4S;qT)}A8O7U~=>A0T*S`+QqF4K(KJ!27j22Hff(Jz54$^VCW^VOk~> zjPLcuzCQNB=31alC@Q4m!Z1C`z$RIu<@t^i|3XpVJ-Aqbz3%KHZK;)0!N&}+_rlTkUt>DS{e43se{e+OAFuf_2h+9|>HDv|Ixj zJ23=>q3uX}_7`0KUhYgQO;iK`$jn$DEIamrsxvrp7l+zBLsI);w`k{Si()f_zs)WO%6!DFq9T&4em^_>Hl-Q{>0RA!eE2OJOgUAH8*EOYy-~ed6HE1%LG7hn>t*+03)C&+6-;{|V6Q+q zl}jZ#oDXF1x5>-2fB(SkaERvF@PQ;v*^jE$_MMBIh_uyeMZ2zU0Ten;P2Bn}|CX)ovzwXh;x%2I=k=cbdI^C2wu(VFzc%v3T-0;~$ zUcV`KW!;)J_BCI(2bT?N?j9fS>m<^j5D%zgc!dHO!&n$A&}A$U4SY?=R|Jcn-)@zT zn;nhKy+G35nR&g>uZN4NKX%Y6@-+n6-1vaOpFWFIR7bb4+@wS zgGMVF7-*S@SdSn6Nik@`YYN#(sK;UIQgvf4xSl+MpW0!3(S_9{FxZl%S>u`p6=<7D zYoYjm&V3lW$sBQ&gYrg_)>AP07e*gI+m%(3;|X2R$HHxRx(y$azVtgH2*n{Itga@< z-Tno2y`vo5xKm&Hn{U)TZ&3F1HlXnF$@zwMSnkZ=7RH3!PEx|ZTAk=+fl3<$f!)k? zQ!Z4dYLp#br=Jk!L))r`*}k0|-Ok@WZEtL26h-(6z-vsBAP$3e8PzzCoCKXSB~TlKTsYJB_~zWoVRLF16RP;X}v&za;PXe3RO!wP2MQF z)|gg6kvB&4%tASK?f&ZVWJ{mfICuAuf*h>JN3^WR?XuyuW8rE+{^(3ofARFkY8nuA zN|nly`Rb|gMJ)efyQK35fs^4EnDMqgt;El|O;Jk*!5Mg7#7ZD5_V0|X5u=x-O?yqR z@=^y-pzM~UI5jrTAcaQ!iL(}h+!5?uV=VOFJNsH4eSQD)=3%;S^}X}$Wy@Gy1)1z# z^o3{TZYeB1X}7wQ{vzgPDJK`FGyfp}(Z9mj*y$f+mU!U&{XD$Q=H}nue|7ey_90F{ z%*Immr)yE&Cmy9-j+Wj{v=G)|(~1tM*8d_ei8>&PQcHaByRKccrXA5c+(=O#wmcPU zW}+U!JQh({2hc_2fC zJ}kCa8O3zdw{EC3%FJK$cZ)8by$l+YpNj>>+0Owdk4-M*gxGg@5zNVd@d>XmWy5f{ zG#0dN;}J?M5=k6gP3vZ}U)1&m^@rgBQB(b~-?UCnT8L7AVB`i$y`I{N%X?R({mY!; zU4W{J$@f=Tp(!uUKd^JU@~{{opEzX=JmbssF-bAXf09Qr6^p~Tt4^3+Pdn=**EOv6 zT5yE^q*q_E&q%tJ7jMH26n&#l-uUkfD?t$#Wi3nT@^@Mu^Y1LevMHhIjX2#EJN#EK z{O^sRK342*N6p`9KUUqomV75I60oXHxOlMI*lLR(T|8cO2Sa=j^(W*UtOKPUfGIYn`AlcEU`jV=F}4* znQKWVNf5ry#4OP{06_OgOv9b`VDgA~Aw)k<9qWU|SD*O})}DpKA99wUy8%weaV1A( z2?kUjSt$GU-~ZvXiqgN9U2(YQzJ15|&&c|J+&`yVp&v}IejkNE*F<(fZY(&3We$Q1 zW3)8_VZ|xDNwyZImD5Ut10{(KKL!$2*hR&5-CIS1p>5rZeuQ134Bx zxmrw#%3G#~Iq>A!)n(BHQOi?oNRL2#BJ~M5Yn?-&Lw)uAktRDP0^^%xynz2Ywb?`-Ub<%Qnb{lMwDS6pfg0?zM=jyvX`%cQxp#TnJRaU!Bi zjf)kmAnZ!5XBUkg%^+DB18EGPWX@sV$y*7irbCYVEv|JzSGBbQI$Qnd;a zG5PsdsG7j`12}U6A*=G)^A7)iox`YC&p_UP^Wo-z&n$Z4hhka~A%}bJkQ%gSR>5J= zkXtD^Khnh~5T85K8e*6J7l{#kxtpf~v^; zDGYJ^YV>kwTnu)Mj(@R&K+nOWB7giMmJAZROIJ8{2qJg{*I&zQ61-oQB6MY6{siIo z!!y0wG=cL;S9zq!d>B0WkH8UWo8sW zdo(4aFT50&ZJPm+o79WQ$XTo}hx?X?uX5nWq4o?}E_H6;V`0};y_K8{3a1j9ptXkNYB6gzSKw)q zX*XhGnW@qefQLur-tEv@K^&$fP*p4}4hJfNVHx2?$~#3ozpHHrS8u#{zPrJOI)s&Q zYPLo9sB%_o0>!<#X$|%#^+t&{b}z^vK}=07Q7XwrO17f~(A7*(3rpqi2&>&|=!vMs z%%Svmg`dO$uBO?_cw_Br9f%q$J8_qPojzb?zvipm!@Yy6Nah0$PU0!Rquk0=Mix{uinC6Obgn4{VzfqciP(`U++e2!)kmhSN*kJ<#>(ChZPE z)!{`v` zo5IGV`e)sOR*ErDa$$N8{}9*BwqV)rp0nx^EGkbpM0crry8rRg2yw;s^5#iC`bACH;Ecs0UVdLvJ(Ap@l7~`&MD8*G!&5_pSD(5XMOI zPP6RZ*|SJgg2y?kiPKiseIUO`v~puf=*pnh1%zr6W(;Am=iE5JDhJ26H{w0-7&U`P z`aC$0Bv%*ed%sGx+ku-tNVeX*|5^9*wc#-As!Ag*s(j5#P6(vw&)^W3iiR_Mv?<)1 zP3*M+%0D&Ry74W4UXW!UOpJV0MH$~OfS({IF`d7J)5~L&Mis~7;1u(K zDw5n@7T;14riCqp--4KaIywuIG)u6DO=_lN*Vr6s!jY9QR}s7FlDcu#sxs60(G?n( z7}e4E8&|+gzKC1t%LTZv+S3t@LXFM`qbOL@K+5JYKA&OI-r^0Jslo4e{@c&LzE$;} zx#qEi$ILwW0_E;tS>U?_ql%PtEe3<3;v%G<31R!7J1VeI^*7%Ic86V4g#1ZU6RwW- zCANPQ6$HV~bQ4W518Y-OBbz@Hk2y?erI4@UW-e;~RJf`LOp_EKx{1R0dZ?+h7AFZq zhiL}*20S++@o%-#1e^RQ&9?dXf;`48^-eYAxKEe`fqy(~{`~uGJK$kXk;{{btOU1i zL>>6*uwu}xYhm!G16ClrLv?%Q-&T3i*$TrO!OqD^`fj{s$f)+u0|7%b*C-C z1Ki#sJUq^hoqIn%NP@FPZL>a{eUugU-TS`Zo$~<^(H9bJfKL!R3WTTTK1Lu zW+Q(*==7gF{kEDXF}aDX?_T**9t|{Z=9%zkei7%dZHM%$b2pbm7AJbBfGdbED(3os zAo31D`ICgtrXl_S`N~-vff+Yw3)I1q<>}CX0+H*z*p+wgDA6>XY2HYpO}q}%K=YjW zBTq-Fb~mF*GZes&@a63!Vdhif>H(!Dzd>PCi0)8hZqB5lTji^)MclOJp|&T-{#~hH zocSy^ojWLR`ucp}k)51NM+>tCdZc=CF~RF#Kxuu}Qc$GNT1g{$I1+EjWm~CS)8oVK z(G6hM)8^|3K3W(${j*I7*YF+R?xeQjPD!Wk=254k!=bLi%ROK)ZfyZ4-ZD8C?78GN z>gSTQ?kJ+;c^X?3<>SBZbV82^TeSk``IjkTQrl5Wz}b4!0~p@TtSfa}NCZtV)TnUcE2R+hjpHQmJzX zA;W&xF>M6VPYS1r$NX`U`h#CYrV_CIeNz#r^O}M4-C^7EkrGvOq9;_XK2bi<5nYa+ z`0ahy5laz2Y;@?0>4_Rd+DP`=HGZF>QJOWX?aoUUZ+|hHa^Upai?4(hp@Dt|PKWnd z7A!)`IzXR~!*Fb-U%6{#NuuIek*|>tJ6D%H1k55R1C-t`+#y*ji%a@)VpaMd!vK2u zU_&%hwazyIjSUE^8_3{sjh`L91^>A~$Zgix&{GBF=2>__DE3Bi;y$*RLycDVxLExO zU+}~$5PW|)i$w3!bhjkk2^uu%pB`$mlveTK7pRZQ%U|8$3PaRa?oO)%Hl$D;v8hs6 zuVPtNQmIhPJA2%Wy^LQMyw-BUtEEBTIe*&a+Cdmo= zEy5Gzu#z}AcrIRQO%W(AG$Jnt@n)8`50VnCx)6oeyTaU?DN6;@5#IIb=mNBmJ90~! zflOIi)+Lk^TY&*3xED*{3Tw-M$$a+ha|udKeZ7BD^Pu*Z#NAw{E9Qjhc8@ZIvEgwwtea8FDIgNI>CEP=&+>DiJwUPrIZkv_3soy#`{ZWfKFiLncR zzJaEaEoavePr&|#6Z3OTDrelLq2fAN3Hc$URu|)Sy7gKnHP*8b0+9Dho$v^hKAT{K z!Le%P=Q3ADF1$wcu;S7>q@`scam}*7_WPQ zUk5T)wwKg<>QO(jNXEE68(sPp^CIk#=0yC>P&5v{=a`353G&%08ZhooN4_%G-2Q?f zI=0Sa7M#w+$}w{YIO7P5&P*b(34?JqE3y=G+_V;J^SgSQVo6P5SykJgjwGGnjLM!p~f;`l7(g8#Lo zmqK8A*kc~4i$}f#lo#vOf<4ufT&duRkXu&|PWJqL+qkPdxgU(`k8A0PX&4ofy?X!U z4K8c&x?u8`Zh=|bwsFI?vj7hWdpr)w%%tu_BN-8>cy^!P^W;e;{{pSd%31|+QO36GU*Bsu zJ{|cI7rQcu_Fiue1eHIT+J)B9EQf|1m@0y0S%#hc6LG0GOnJS^W258KD(igom4yBS z(IwApn4c}4_F;=hm?3>n85Tft`8lE!Wy@9gh%#i>8%7L?I^K2lO+oA{jEGnc==ja* zyWA2|0n!DB=CdN?TVv=9TYcNQ{JmQ87^XQK}ASiaM2*|IJc)6UNN<|U8MGUE2ER2W1XH`d{{ z81DCU;>Qnw3kwE$L9^drz)B}jtaqfK{<#;No^?lzCa+zsiH3mb(hl}|f6i{u6Yh_c z(ZQdq%5bn#{WF~k3wr!T9*PgkEJpQGXhWPQDY{ifE)%NT zZ0G~h8uC!T0^!uq*A_mnW|<*m9_E4UX5(<=lTq1jY<}EIcc@ zBvemj<1s%ZlqA{(5A~=3Rvx<_?OBUaHfp_dqURo$zyQ{R+G3Q9+6^6n;S7Lqe+L-U z-6%gg`{bO8D$QH()vj^#krIHRW*$^pQP>b3?TU8P7k2~ya{1ldQ3#MZvv|<$u$|Fr zzbE_OV-ADAHC9htMkA@As9PaN;lpFuMA`(kC_*)?3{J;t01lZ_Js_qm-p-3jRHn5Y`(jFFm_FC0>9m4+P3weJR!dsT8AiIJ`3eFf6P63tn|kVLh^)dbu8` ziC33{>Uf6uIE78mB8gf5nOo33HR$m} zcg3M^&aax}z(1{vPfza!Pju14cw#3!s{oNOIHc0|6uvU{I79mdBa5MG9U0>$Ocl?C zB=1hFM`*F%KBcVT;be>>^EZiHHN$L6R2(b)`P7gur;)Ef(MZ0|6pByE%NR;<9CZ%6 zsA0Qwerbn*J)(3K3JpBG%e%&Q-0RXWIgnD#yBy6Jofq-0m-4=BUw8l*Wxq`fOZoQ8 z0ir5@+_WMMF@NX>Yr~_>W2t@7pood`uQMCVo{Q9D`R?-F?S&Px-a!}?$U2yFXK5Ib zQIs88lo1gFx{5kAE}}1)FYN2#O7i|-5GeGYuo#lvJBC%eb{LVD-?(Ozvaul)?f}VV zmx{ik13@VbS9+D1Eh>94bW$2Bb*FAkrKV<;BIRgKjf&k*@+LsR`H9x=xehx1%%bx$LHQiFi|gI`e>BVQ=LE-G zG`sxU=1sU;zr>j|>(Lo|sk6Yj4qh2R-$vzKLLqbam{?dMLKU6oD`e-oev6StoEkw! zDX&l}?d_jTd%4$a!DO zUq#{5IXiydIKsW=c5FW@>IFKfb#2QedC`*BAG1?c6xwKDa zy&2HnRXlq%p_d_!5JHVskr#*Id-JdjuOd&^02V28hS+f(I*3OLyW$MrwB*ldT|yp( zG$YAI;k!cc^vcz9{)lC4NuG!2Jo0_Pe*mMS40?Eo3^&Pj57`^@|Db1R|~JDJ!U5$No$>?)HML2 z8Mhy0L!;9%mS zzGh@`*SJmwSW^e~iqCHk&aSr#SWHGQ2#Ml}R^)2UDlmT(F6N}cnRwZ2z;p~{QXd@j zR|*UB)X*OLF()j4ZF#LaJFrO({F=5d+0HUHwih#hU5|A_u2%V3=AT_{<{TL8Z}lv;xh83$JdiFWY$CnC4>f3rX z;a~Knhmq;H##c&=nJ2&xUVNUL5yf)K_RherJWU?n*6;T@bp{6S^jO=1NZs7>6I=>g z*R~Xb_CXO3?fj_dvG3u99?m_;=bE&xjhQh1A=FzKf0>|a(vO-)9w3@kmwEM{a92w^ zZk!x-4+E90mGur9S!hFWlC<`yud|A?pFEtuhu(qaif>v>VhxZxQ&!YzeE}&F`Xtc0 zK&4a^C(dWS!u0DSb^0%H%U1uFuOFfJGGA$QT>@m&>8Vr~U$1`KDf4xqw5?n8Rh^Ho zZ$}aRJ2Z)T&$P&)79g)mJF5G909BBZRQ&a*8W#Aad|(nR86oI{Nq;tkuVLs?%QP9A zjNo-qe8)?5nQQE1Jn@f^TwI?Tj(Ac5^gIsZ@OeL=iOq|WTo5z)x4nwmmh_VRK7yv? zwsm-(j`^WZaW!1Ap}txL4g-Fv?)leVPBffSc)fGUl2~LV5_ThtZ-O*dSDI+NE)$u} zsQuf?216UCxbFY4I>FmTloJF@z)miYct`psPf*8v2mZ(1cMVQj`xMrIr&UDvF%8LM@RPWZiLj#tEN+llYx8ehWf zpc(qQ7v8D)V*|Z%DH`UUrrPqTY!e&9h23{3{}K(26T91izLEBxACGi>hSSANXVsRm zy(;_rM#cWgYQpSJI{w((mr^A@ zOoy%nd6IUT)d;ju{~sjAy=D=CyP6YHrUdNQ$ICID3NviTU5nCFD~_q^WYCSv#4%>@ zwaOI)_C(Q(4>M42%LMXt;tmx ze4>XF*=8P46E6GBoE)EN;&@Nve_ZXlf5v?-Ux*HTTGnpooWB$w_}t#@XX^k0ZD{V# zrrjWR(EnyVu`&5w%@Dl~MzG(&Z!jgEJIe915e5Ui|jLSn^r9ek}Jo6JbwW>m@?5pHIShjVn z8~}9iFmO?qu!Ps=59B;FT;9dS#9nY8T1;ZhR_aZJnc*x;F`tYyT?_{@U?k)J32SZy z7#Ty`z^&n(N0!=6Fb#jY25jSOPEK|*T29H}l(?Whw@G9#Ay}&2r%7%K*XnHfz_WPA zbaRnlFIA(>LWW`5hZ|oF`zFIQnPjDt=WqrgGmeFUU9>%GnYqNYO@_iQsxat4OzpWh z3pq`K;d35=7=#q`nTHr8fGi0C+sw+TBx5Pugu1jPfL}f#fj@1l-*(3>EDpPBo4zaQ zm4YRV$y^wKAnQ^Ay75mAubaEPR(_x;k?D()6`zYU=i}U5VA7*#20)2F(c?j6Tm$EGqiZMO~fu;JTw;GZp} z!86h0l55tRD=gj-wYUDzizv4j7z9ab(~}sA=71}dgIoRm{#lm#Aw zQmi>uo~YHDj+{1+j0)`J#()}Wq@^H5`QcJyk_OACF^A1|LJQ6p(tC&wZT`mOr`;Vt z0xIb)T4RDf%qD^sWj*7;OhRRKYFqYv>Rp2ORz$NmIhbDu3t<3qLufQ7hQoRd%W7<6 z;F_eXQnLZLc#S-)jqvar>*u6my6#DebRHIgyAZqyA_!F=VC8Pf5i3o4eryh1)JVIO z^7;1UcUTTweT!dnSWM+wB&<$;ehc&l!0_A}j6Q1+icuZ+96f8<89e&~XpqjYmMRrX7TcHA zFkHQR2gj%d|8qhRXr8;UwJuu{x6cBATOyos*P#|6^mU;nL{7I>O@&@txUN^CkBiBk zKvll0=>nsxF=<}xhKbaU^%mWWj*o8zyn&sj|Dds`v8Wvu7b$MKsO!<)jkjN#uFtZ0 zjc=bq)_$4qgk2Ea@^h}Ba`Z!(a%C`(m%TzoxZxN5tqJ@ahtoO!#YC*?Q_k0&v6 zQBxAMzT1N;-v(f#M2in+iQwq)cyWP+1+wj?ZVfgxVYN_%hR%j2z}bnBjLaFMRAH+5 zv;*`0>u}X=chL0Mh6RtWa)S~oW`^@!J6+`_EIYx>E7$jt`9az*OqF9Ufpi~aUP3n5 zEJYPa&(U03DOStmbQSv2NX$W0Q}-}I9+BunUjn?ys8(keQoG~Ty&R#{ZqzJxH?Sz= z2n;&LEIdZvYI&GwPUlFgX94zDO2Z9;tex& zwj6t(VG%Yhr4EYrELAnXDl z+=u)&(8yoZo6(t6olY4$)4B6 z-hgFHPC=!<;0kcqc_kuwm93_U7Op-PN_4Y&^UqW;0V9)?9*_V3m5p8h`aijGDKik4 zX+=8Otz!>7lf_vAP0_+gIC^7Si^klqPc{TO$;zT=lUJ#(D}@4=xjagdKjFetW4@ZT|j!SKe{sbYp# z6}O{SFt7AUh1R1Di8=VAl#^?)IeXePe9+psmnz~1iyY`&C)_#PJ9zNsV)*6`Cy~mM zpE%oZKHeo*uZA0RXu+9(132~g@SZUVB)i;|9gY;Lr@woR%0*;dXsHqX&J%s)xC2K2 zYb#gs0$T@{Cyd+%@ETqHNqB=^LnZsK_lN^a&t?ygT|>&3Y3nN0>4>%okHI5VX<3;I zY24(`hrzbyN4D$i#ws)uu>0HpD!AvOcqJ)Q2Gl;ri|9uN>f|r*bV&ZpebsNW7(#>M z;s7~7#=qsU>f>jr0!kXBxg&Fqo|R6ewlJy(#(e6Jp(i((t@F3$Sp0`@pUC!I_V@RX zWW{MTO!3y=MoW($N0hnNR_ofuuRsJ;r=4@>y-ebH)HR5;b8wtBHy+%iRH`FMzUW&a zEyac{KsvF`XVE7B-&#$7jT@C@t$N@I@OKXTUYBRz=dZlb{1@5+Ny>ZLHJ{0)9w8)NJm$1cMqs6-aI|sp;mt6 z!{;<<8`%)H(TcVNd_+fG**61jvO`yDrWp4Pld)R06-A*&q~Nqvv%LZZt~r(lBD=pN z;z98ZRF|Puncy7Ab<{$k+4bYq0iN5J!y!~zuCtgG47e+EbqNY#{Hy_yQeOQyDw7`G zCZU>w=1ElPkbGA3&^)+`QllT>m;u2N%1aKL%}Zus9@1xVM>?xq{mVn zV^o9Xj7LQWlr%*{>C{vzrk_qhtjt~&k~Lx2s%f%A?u^UTQ?>_6JS7K4{Bp22)*t4h z{rA1??@W2;_e)+?^Az4pq)kaj+`c!Iutw)tC(b$_=mEqyNy|U8+^g7PpUrZEXvieW zTXiJ!YVvdzI(~qDPvILt3)1PGKo$9WTZ*czqyBLI23~Zo|JiO>J4hZm;!$M5;IsG9 z)AtBT6?+NJRO01>y4IFHk>s(}<|Pwv!5C15sU`jwN1+n`OaB;g_v`ePZFun5>xwjE zDzT7A@N72$YMZhUgWy6iAYmy>^uR_!6Zf8d)E)8J04>f?g)ng2&l#hc*TUM9u6YCW z$+ceLs1}8>hbxSXN}80TTD!u3^%2@`iH@QFL1hTN;(VO&B}d~BvdU|GUfk@#-A$Og zj7%~@VdY-IjS0N|GOqw1*J1IH(i_pIXS_hrO)u1|xH9l-eBcb|`IFvX@i+6~lekxR z4h-ELR^b^2DnD!V1dO;VbOYCOyxY#3^ji$Ro%6FW=;EoHr`Ssi9s<=Nns&~Ebn5O| zdYtOSwRdgRLJAMo4i7w27$kQv`9$5V`2pI^S4*Mi{kg(XUM)i!A}>a+MgA<$>lbgX zA*@=IVej+V!LIXdUX@aPM{K>CjolV+2sPf;>L>ojuSyTouzun62LB>(q)(HdE)q49!)UQuK_E_g*Tv8c-E|IkKeea) z*D2?8`$|Zv+pj1@Q8mAmZh>UCkZ0(#(BW1XtQp2vCmhc9G8^0eG@p5X6{3*XV&&7r zm1=6OW`4vxtY1&D^aSeUnH=5|ds4r_RXbylJ1QHaH6ntZ1;cIAJ0MSWV%ghkSX>do zk0>Jgy;NYxLcun;?J|=LAEYQHf0#^pGBNC(Bz0TtcMpJD%iKG%V;Ps>`l2KnMyN=0|?z+(%f z6BMNN5$@oSafmUSvoeJ?u++GO-JvC!wYx2CrZfXleZUX|$s0O|(X?^=M&1Sj7_Z^q>1%{bZT%R&>Sj_NoS4St6IrKRKSc)LFvV zO7LBh>Ohcen8A(WF4ZMUf|q>n`Ps24{TX=mOw1x?Jf{_n9W9F#=jyrmjYDZb1$@|7 z*2jTlA)7c0nyg@l3d*CS;CXO{>m%`q{RHXgx*Z>Uk%TyRWW6K0>(j=0?7xeKEivc$ zz$&kcN1~}ljgM&vR|4?@WWwvkipJhWu2R-dT$Cq=7VRxjF4b*o^!%bDE_^=1% zJ82Jy#PS$HsZ|;dOwXllk}(V@9Nnc6F1BtRURNp+QrP-$eIY-~o=32{0$l9||H`tDFKS2+Vrx)kr+`VB~sEuRoR`81K(C~#z`F67%rpZg0NGU z(#3v9NC1aQx{d{lea~sazcD2@o`o- z4&WOO0c*QAUb|0PmD2m{7o*X>$Y%`@oA3==Bl3^|28WXy>CyxOs}s=4ct=>t%NUK5rPFe%c#|GIOLXqDX zd(;2-jU*-ijZ)fGsAw>JyGVqRhE=k%sP+$1JP_B1bSc%ztxCNUqKoLZi`%s(7>U?U z_ZU1$>VKnpl9e|i68Uxp1F0jGU0FMuzxnqh1)p%yiR!$op?|h+6jI5bxF3qsRGBTeE3EFlCJj? zDC$M^#Kdt?P?t)qs!0x6>|(C(9NGtVfIXxh>qeRq&6ZHtP(LT zb*Ad0%^g)QXbN}kVukLoEBy`_p7!Sk13?N7lD~Hx)*7Ix2eBCg#K{7__`0{(4@-vz=mR_d2Jqje-H(BD%Oi}= ze^jZf+2-XQJ1;DMX{gr+%}{ez97W951$Mzxfs^$M;IbA;7NciOTV_CmvlNV^Db@)4 zEU40Q!M!Vq(Xq<{*23<7kt5L>?AkWhk5%a`!Fq}j9wC280}WuO*AAtmmLy8~oE%<` zg>zH`s9_AF^Ip2$K9qQzd_FA{Bj`4nNODNbf0(HwKo>;?@_oO1r62O{6`GeAPb=XU`$1?=`PT>Zg}h{FO} zXT1xsB;Ft1JGSR6}h1oFm`qy(QV`$s8ddDg+bnaHMcp50aYt60~JNCi9^LGGr z#&8Ycz;ls7vVdd^*${np+jr{rcEksh(~}uRV}Ht`J68FkE7%wstbpTN+RECFVa4!iQrR}I~bKFQ@XJCp3>3+ zD8)RS7K2H!K0|&xVP)9+++BvI{}Kd)wR8fYXu82nW^}`GkF159gGm)Tq0TB8e-vE< z?0t0oRu%T$VF7b5Z|w>#VbLf_f${bEg@bl;E04ZT(8OS(ODnX{H~Fcla`zqsk( zdYzA!X1vs4u`?E%J22m&T%N+dMl_5lT;@`M@}3j%YS3FfqbE)szxf04B_Yv4P2{X%;0N%^dghgax!23qE;97gMBd4ahSvddL|2D`Z&@6KdZE7lkw2fopSf`)nZ009%hzPAnoTj@8!U#=The1=-(?(n3~)Ci7ptG#d0; z=+mm^r)dw-HR_)2b8W8Q-?=Umrurw2__q4rsg8y_?WKAZfqhk?axcj8Xc;M*o4l6r zd-i#Edpzrq2XODUb-94qzibbv45OBw6j%oGWpMi*g~RY?HU6`g^mrSev3Nk|JNe>O zE;AI2qezrIlrue|N9#+Sb(%DwF^k7S4_-8*oY_Q63Wuu;Uu=JW6xFEND?WMUl_9Q6GZu?pZH~A?ggPQZ`LgKJ~&I5++E;ItNqL3}>zH zo}C6vXcHL<5|$-QuHcYGiO#ITy62ML%7=6^V!6`x+5j}z!4CPi-?>lQqP@m(%2GB9s{;RhGay(6v&-eVP8qG|9^SO)(49)$+GYE>!Fc{#i-YOj4}MxUQUm~HkT_;XMZ$)zUP^zarYTrKf{h0sQm8f`pf+G2S8o^ z<1GxD0Qaw4ATa-}zrnu}{omBZKjt-+V12$FEO#W%FSIPyjAfpOD`}`xzfg1&|Rnr?;WYW|&h}z*ykG&|OtW^5~!a-qr z`w6k1j$qt!H1R0SXix!jaiz@>MRJjSJ^G)R zy#E^+L`4(g`~?3c>#4=PROe$5Pe2ZkFa%7LYRbkUh)($=(2~b@GN&YLn}~W0Z{|y} z!3I_vzOZ=XV8ZJ`Dx9&`pUTP6-yRl;Px=(h#B;)syhzYQJ)fXSL&1D}OQwRpN(F#0@gW_Gibq4k9|1p4MDSp@0C{OaBdGj1__)(ub-6^d(^{(q zsAgQZky7VR@`ns#%i}*CV2uYVKC#9FUMy%aDz8*;Bpu2~6*suQr1h@*k-?K`lfSLz z1-$!F@xnNI&O#T@t#ScoYW;?bVo&+2SULpJ>MvLBQ4soufPEQ$*HQ7E1{ZF{ll;Mw z3E~pn!xsW1oO78McM&8s=AaSIgTY$uj*=Yd=w0dizYp?!rt# z+WP5>^B{a*R6jrXI+<$5+m*#>i5&d_?a+Py!UKGkx8710`}hII9)pdoufJ9%bNE%P z3jg4+S&zsJZ(j5J>g`UPLzwKx8)}q=&JNsbe6_pT@GC7w^_SF&z=Q!>JdYY*W*?ez z;f#y|lbSIkfB+j?`3TJ7t zVmjqRchdS70TnpjP6wG(PvgYV{rwvoPW8QYJ@bvVtHYQAw^OhQH+X(;q{61{txS%fvqWgY$OlU33itBxofsSVF>U=_J`UChCxFh7c0u z!qeLRtcn;ab#&AKigPEL47AtfVBDdNHi=+ThlBC;os4V54)p7t!{_S?dz!LgWYF{= zf>Dp#$G3}yWAypJ`+V4Hpc}%JHqD+$L;`J*EU!wooUE>I-odp!7s9Md!*hY-NM#xY zRCZ-DscCUUnS&&JqAyOoY8-YSz7I$(Flr zj~INB0fwhr(a4I1kBtI)v*G+ll}~D}FQyccJY!ZdsE^==4Gx}MI4JraDe7L0f0G-I z{54$}@**5W%(d5%qHYE)^#&mJFY3O)u%Ut{e`qD3%YSm{O6;#-7UN;-EETqh8mF?U zLClgOA=xKg*L|y-&1>%SC<3u`^lIosQtANAB60BmJ#$6ww)e=B?Ao#Gf?CQL7d*&e zBH=ic5rtp$(>_x?=`z92gJZQC04iY99f3$@-<&Mk|cM^I5{u0jeo!>DV8r5FFXcX+MzY|F)-Us zQ5SV*-{t=O`MT%SCo)xJ!mLPAl*|^r7}6>aWKUe%+w9^!IJhoa;DX}M-zQsL1FDf=FC4G=X<3OqLeUGIUoPRe&Kr8PpW8WQ_Vl_-Ub}TuzTI$0p%C7fc_nzFt$SP0I}M2#KY3hh5ZWxai%ty_Z}KJyF2>#}EqmP~zXYO1o44q{ zb`!Uh_y)`?a|$_Rj-bk6F83_KVcv2u zL-j0=Wh57?zV+B#$RO-fhFhuT$m&se0SG8m?Wc+O=CScnaH>hIc|rqd!yj zC4aepCv$;1U~7YVNv~C2Vgxk1QbO{mI;(q9utJ_5$3i&gfCQQrYl0VVGArHv7K_&J za<^&m44{bZq`r)sXiC&-Bz$o-&Bv$uw;zi?F6MFBzEWQ+NHXBri9gbJV!ze0D449L z?&WfO>~*U;llITpCl8HvgZ0SvGi3>usbZgMHaTO4f!E#kI$y(8t??K*iwK(`utejv z!+39MDtEbthEPG?9f|3qPH!I!cBfw@nJ!2;jhFH=?LC2A-SWs3PswG%wNpL+CVG2| zzrB;i85UvXE^@`xZUYhQQ)K6G)@G*wNwFTsb!({nQNLA<cSoSz% z$6+?T*@xwr&{$*57#oAp!>VT9s2Qgjmo<;!*7{)$TbsORFCN^3*O|KWD;>|JI_`iP z!xQjlAdu>agmv)ne!z)krRU{p+JH1La$ekbvmXOu=ZOW1$hh?rb9GxMY&kCk!H9pI z#OgOt*w%ip;YT~mT;|dj*CMaLpTAyL+Z0f0`%q~0a5l#b(F{=TLQlzA121S0+)on6 zR+0_E*e03ic~Cct7M4&cXO=^X-$jEv%d!I1>-?LpjEi!<0;Q;vk^kBE6h4Yh*A-;A zuJAPF?Qr;t<~`v{XIl^Ua}PsyDmJk1ckey2VI1aB&L8Dev|S=K=Oc24*O}P&;fS)t z&M2W%x&eRL?LdKtKJ*~yi=z|2rIJOoetd^u& zr;F-VtDP%qC2PXm>Rf@A9IM%WiMS=XYAvgKZDu8dJW1Z$1ym? z?LxTM&HSi(RP|-Hcus2ua?RpIWCmzi#(DZViHk*O2I8t%192|_;Q3`-hX%fLT~Sd= zH*hJ7aQ$6OaBaMc=G?kqdVG|St|r}f*bJLb;h!~pY=IembWDQb&Y>)xFMq7t3L6ER zR%kTA4KC7&rq*82`(Gq%b^iX=TU&fd*Qn`#ST9!4lx5WRp`V2m|!S7!cBNm#0fem-np&@ z6D1q2+@+%crsXwn3}~@d?u-9T8iTYC#7!g!&b$VEA6M2v@}0%4hr`{FxXo~4WRb9` zZlOY-6(5z^&C0&F>3cT51$ZcQglLD`OfAL>L|NGN|kj zbN+**Vg&J@ao8A7Q6ms5BSD;}zVoV9i1t3vI=}9FpiFq@!D`w>-)RkU$v{Z{&G@f_;TVn#r8SF}3HoawA|P=J*J46DOyqI8Srr+NVKUy$-zAOSaQL%va+S z=gHp`4iImqIIBRDib&9w#_=wZb3-gYBc_1#9H}+|+SR`SexS(fM~-4D$e&AzalhHO z_EzC8D7cB@sA?U?H6yjMJA7#?sxc=a^cv#BO3;~pND_(sZ8IWPZO)?$Afq=^-1v4k zI#e^~&4orm8?~LutQuVz$!)wF|t@XW4oXUzJ7#Eqzi>PoSi%+XF`2H)pz2dF5w5B!Ot}ySv%Xc>mV) zKh3)^-`vZjOh4eDaVeHsL!g|Av3Edm{=QR9$KI-D2`*9>6XO5$E$(D=x^!aQ(=drN z`X=pa+!Z|za3oE-kqLaL1tvzISw!B)`CclJr>FSewYwi3===03nuTBSUhVy5@-sZ@xytgypVaIz9p7=M}dow!=+wt1U7=$F3p&M5K1BA^r2=y88quYCf6SIEOvdjVOf zRMNd|tEA5th~O>rO%~^ZMTz%}-WWh;zh=b??M+_uRkvF5i@I7H?;6_*$<@Jydl!5?&K$SW(+d2rtn$KloDID;=LvPmCowr?Mz zYBjE?PIf(`Y3=i6eSlk%@a?ZWBiB#{zdftR#&FBZ2Z<)vdm>z>Cs3&@0+1k9@1jQa z_CHRZ2-Xmb3CD=}n`p3`atyNdsZ%4U_6m<~vuQh&)>c??g)$5QS1nWVT368&&yGB* zni^>@mn)CKd_W-Bnc1D~@;V*w$vRq)NAsx3ACyWcp)j&E0P5WloZ5un_S z9r1E#{L()dyxsL9^~*QZ)fw`7<~}c?^pk~hLY3&!5w|nY=`)uPJ@;eYojK+mVDd$< zM)#&RRzp3!)kF@4DTcX&OZKPPe26^tzKqLMFEI=@#^^A>fe9V zE@{$anxv^Dk4GNQP^pY(K)xm6o+jA^(17&8BMtc6FBi>gT4}dl0<19eyMwLq*{iDZ z7>uf=`4VSnjcPs$#LCgT#>-t)Wv+bX#MU~K8y?h~T`&!AWT3{CFA%J$j>1vo)#*YR zE(xmr09-leB43PIW*xrxXcO4rg3-x=@5DH(J5_QL)~z zS2j%#H2%EVq3t07 zQO}@>!DL}hDHcBybEtZjF8<6iGG#7rUcuv2KP;v}KA}`v3kA!v_D)CPVST(t;w}nR zvRV2mNiNi+M__dr2Sh6jxVJ;Wus~aEul;MI?Q#(-XV1Xuw0%lmLXK24CCZ$2IwUZ# zpSY7<-GMiK(vkzDi9Q%2B=4P z#q?ZBp*YcGeE5`~5<4`iW@10$^|!_*i=J4qdEB+alE%Yew=5qwYPKdzeVRwQ>i z3@3MW5VLVTa?2w2w5`LgL|-7O!Ho~^bj&@!g`-N(L@?+kcM`xz!M|FQ(Vq8Dueh%I z%ZTGZoX7tF1H^9cs#VRn6-$w}-nV}j(+NXQ{dWF#%bEC8>R;Ix3NaKMf^3Xf{&p2opI_WM@|8(p@$iGHR>{$~Ci&MAy$c zo|~y84^9!y9E!ikf>ayewHP0@l3_o2gnB=J?v8R`~QZgQjD0aqLaQ zkE6e`ss^cJ`|2a}9pY46@PrIK)Fl>)w?y6y#MUb2b|f+k!6v%qKQ@=J^O!wXz5$S8m0Kg0#?&SBa{p z+H}QyxBB6d(t@kUo5El24b|rDI7%?H^j({E8dVdz>cRoq zOSKH;3ZZDVDe8dt3sD;Ha2~7LM*?PyvH#1FBh6QEDfU)KYZl1u5GNpZ2BCb(L*job z((g*{V~<#r^iq86TClADkDHQI|B#haJT@~*;SzOv`w<{(0Y}xv-1Mc)PBRu6+6wX- zS#DTV`M^E0?e1%WI_`R`yJ3UP@wK{zu}Q&0>4`q;3`}Z4Lrmbvo)LTPZfc6Xa5a$4hkzp6&Qg7v>T6^Psf(yMg%Q zt3~1d$(N;Iy*#W5*SR+CCc!OtJJB_=Y=M_g3r$;)8N;g0tM8LNKd-dL=yk*cy!<_J`pyWY5v)~ z+meoCrw%$xHy2HEzuFiy*@#CA&yt@`w1v;x@FzUj1zB2qxkA7SChnbGA+gf?v6fhr z30+Yn4-=;B-AZ+sWPny{(*gSpDa5d3@@*lDEosw5QM&NSWT;*wxbpe04j8i5c%Zw3vJ4i0T`V&%a;x%JgTFL2TWMZQw(%9k`oP4j6_A- z#=$R29JKu;Z{yyRn!oVBHP*)V>3t3j)rC41%<%e9d8QUju$^WY};#Wr|s{@M-!JR}UTeh~mHT`M)*N&zKpzg{G^4=gA=#%oO!BUtlfyJon;<2dZTkw8 z8mLf*X89SfsIk5VZN@G43S;$!1o58hbg%|&HM+s+eW2MO2~wnwIK}7|uGW~wKo@Lo z_9A4F-!F)4wK>-pC~M=o13%`oNfF9Udgrq_X?gRqtr;njfiRCV__HdW=Hbf30K-TD z=2;XRX5&^?C#ytNScg&tT}9$2dCXtOdc+{74t>TSc3EJjI}BUA-;4hP(60PZJoOY} z<>ru{<4xw%-gI#167YXK^*$)%`?v0_I{4cepLz=LPv&tv_Z}b{3{orRXs*qVw9|UQ zUEI=V9m>?{Md!qNYT<2;{Obahko#0LI2xtTll-zck!UM&pUiO-cn}+$AU%I0&%5z^ zlDtO1t-5b^cVb=-)Ut_yp%cwn_Z3W`>mDLd>qLuc31m8C&8?)>cOEzH&^G-T5f9C38;am?<`MQ1~rK3PEQR3zi+p~ z$^DXCYS1MH|4o_^E#akdGz+JU;=D;|HP^yqtHIse;KhM;N~ag9C&-w9ruF_~S&zq}JZx&p$Voffni8RY%Hp zufE9I9~2KOhT@=pSMN^HVnrqyd%+n1`r{~mS1_p(0BQFo4>MVYZoQ8tH3E)y{a_dA zD~K=tZpU?jeTAad;&|56?`Ndn&6Am}{@`)xXdf<|yM@JyY@LZ`6_msA_M&i$rUCT0t#dAh^`8w6qb z2pTp@pQT?2{G|9?;VcCEM~?0WK3X;BmI5LKBOrVG;&vq*O}qfG*Jt<`B<3riQ{p5C zS$Tu+6L>88101iB$7gsqS!bRs%2+XpHx`xJTEr(BzNk;QNcGWco(>rt?)kCfe&XeE zpZw)`xi^2T+suL{&>ctVLjtMIFG&@%vlN(>s$Ksi0hOg>go~c=;=z5a;Nt@l=P91b z^mGKM%~J~P>43oRL39%AKiLS(Y)iwcXIG?g0;7-V7ilb-ouj4vNc?w1gV+vshmrg2 z13KRd9N&g@Krc%sLY3J8O4u9jsOpb*Q_WaTW92KT0~C%VfzF8@!wtdrs`k`9F;H-?%=lw1`Lp?s7>J|$B00xgtDp&Rb}gD$c>;|AX(ZVg^`)@Z z&mL`sT#?-D%B~s9K+EuWx(KPUR2z!tGDkTr#?n+j)W5B(T4Ujp%avsuF$dK;oV~j@ zmWKmOv#tPi=8J7gouet=rJYmi4i)zX8T)STb&`km~HdL|I3w z`9vTTMJ(A>BKRp^<3S-5P7@&vfodEpdWtO|`FYfE4A28`iP0@s^#M`hM7EWksO*GA zH3jZld_$J{xkJy5@^^F6MvKSgwfY?Hfl62Q^EnGhUjh-@qEyFbt9TZt7iGVmV8?6& zctO?!dXx1cr9;rnz(e`S(;m+QXw z5;HHLXXty4g%61=fyq7h_+%3N2ESb4zbLKK)R9bficKox}=(k~F zHFatepq~tBQrE*2zTWKp;PKr|NAh}J?i4Fs?5&la*tLv(M(ZJIo+sgrrDS@SDTvLz zi-<}hkc3i2Bd2`TscOKBJl9`vORkSHWcu)L{>$seXQRQ6wchl&wlIlTUSa9fJm!{3fv30!|b-&FMp4T6)q@O>kozU;BoMcr7OU z-#7$XS|QSwFkD6kwL-kDS&-%XJU2Oqx8wUb-FNwW?HT-p=(c(_icWRbnm>gm>Z2hi ziZkiy*Mo#Ka+&TT#Qtz0zC%+tio5%+=u;=%?bN0qo{R?D?Mwn|S4%QA*m4KM%_QK> zfx}^tltjO6HuWamQ$kSqZ%0QLwlL+sgB|GG-(0;xtY_Qo7^gKg^nc&OL6G0Sygp&| zfwR#nCXg3715zX~sIJDns84ZpS?bQ~I??h}?rEopO9gFRJxIac zG4hRP65o|rt^z}G7mI>zogE~WbZs@hf5_k));^`mR4xhOu(?L;ov3SEJ;w@2pf`1g zktxE5*jl}*uIZ9D>}R5ha&(smF9pq}Y+==)(gSY~%f517H<|W_I((~X!XFAGu2@bo zxkyIN0|hU1rL_JYMjKk2xiF^Yxx0F$RL+J<8fcziZnXI$TG_4Qhz7auR~ahKf#B!2 zv7df$_>;!O!mas{hcc`?j^_D)I6v`9YJ*$me7)*?Hi@7y+QA>;E~@bo19kL*BvGj3 zQ(}mFUheL*S7CGp9J!C!FG?u2vkJyG;e=Z8#xy`rysHA_f%}8)X+o}XuI%1A-U>KL zf*)>{P0C3tIlJ=iOq@Z&dtb{_QT?r$<%4T*1$9cI@BHp&5bwx?q6X>ZERP^Hhe1rX zW}FN74L~5ugGW!V^p4dwCzb|bx^aq6dvSgjmMQLOP%#<0E0f1S*A|*3Tjm$@&CUQ* z$`Rc^Y}mrH2Y_JrR3POS#7Y3aI_WUf-N;jo2W8$WR{`7`nm ze}UQP=G%;tKhhcqcf(f+T6RUt|G3YjKPzI^sxQ=vyway^{Ua_Al*n~;x|HV?s95cV zTkGA5h0QFuVguBC8*xluK3|3W==ld+8!0V3UV9NMIdY&+w6(q8+CZd5YHQ~e(UUqd6YOeGLn%7XKx_!GRmK0;3m19m{GW&G7 zjN+d-&*>bJ{-6%HqRGL0H~#)^9pW1Wv51yxaxbSM%U_rt#fcs2q|+-;_(+FvnnSKj z)fvwA!)44u3}5}a*chnq zr@e-lQR>|pwNiHB89y_6DnTdcWJ`5k1oGs za>MoUHn!rV<=orOIjM+a$%)Qpv`Sgmej=ZE?!{%io=_V?-Jo0hEillX-ybkF_|5bO zRmf7%43=Kq$Qc)aTIr!Ln{b4qLTe5Fkvtn9w$Ed z)sO-%>ZX{=(&fp{{QPnf5g>P<=>dqQ;5EQu0pY^sHSRBNOm#mtSU)-KTMsWCUc}T7 zi{`??g-1xhHqAPD{bDEbTj3ZGTeAUJ0^vAYN{+U}!6kIJ)EikLa)tVO>LKeJ3+E2| zwFK8-K_Bf4A{}6M^c|z(Zv`g1o87*YmF*hp$_syD0H99M-NPffK`5laC^>ru!zw~Y zHsfl2R=0oOB+%NzJnrT_b6CMmGE()<&8})s6T6Qb_M8x1cbQu(ZHfCdDT6{{^{fq< z@>Mh{`F3@4tg;<%sbpq}p&%i}BTuL?KyRn(g=a${ce*tblyECipY5bBp&*Bzx<>eA z)JjTx(H&z?={xc%KP^B6FVEg4Ox&hW4Fg zQ2mG2aob!u#&|h8Kq*8en*_+R*#%0OiHC4#qE>(M*51C#(_$;y)>~5bX;GebN_(p6 zKrP~b2BFZnF4WUT@@+ZoBE8d|;ZeKPiCSbOKNHDJ-KZ5}4Q^=wt$5{4q>?XG^!!0y z5n_F1jcRBwYVFOWanZHJUgb}ul7~`Ui|(th`R%n%7T3Id^@HX0rxw+`VFd(L(Yapj z4SRcaqjckBr6fh-r=DBJAXd*MBibuf=GnUMM#6CO672%1Oc>Z>`0)R$pkZlDg`nH! zBEnD=hUUl{w3R6kbjsib(4-s92v1;kI52|Yu;S0pVgAk|^g^dQ)9_QGovRrsO-p6z zy5!Je8w^zml*Ce1WcR7R3)so$1K- zVTtZMuCEv(eiW>^CDlGU8VSBjhTW;Q%;?km-C9TquU9Cx31#3nz>gpp%A^mW-r!9* z`k%*FO0V)K&Tamsx~*BFGopY2Y2|@7d?*f%Kxrz2*gVy_qpiP(DI5O{SW0uGLSm!4 z3ibcZdoZS15VQ|nAc>(I1hnZ+9ZH(ByDzu*8HW9y->$bfIrY6h{t^4sFy0OdURa-q zStzQ~eWs_Fi^(ZpFej$vQ~!1M9)IdfM%L9TLH)0Jo5KA;6h^+2x_{tV#m451=s2&U3XvOShK3A#`BIA8$7E*wA=$-Wh|!gJypL7C z*#?pI#lhJ~TglTDzJDb7I4jU*zqhU|?wa%xxq1((I9+g;oz+gY%w9vpUS ziLznKGZruR%twmr9Bexu?=PhyJ&nk>$P_JaY|KcV{g11^txDBmk}227b-&n ziMnr_-*Z8xz25AB`>Y4pgt*BSn75%VpBA~Hcm8Yq2@hU#uRaiZQ*KLFvQM`CrW2y@ z(27-w%+2OjT>p>rh70JhAcoTBPPd9_!%ZQdwnIo;xBhxYkfnGt)993<(=n8~Ztf}| zLyXpCWR)56BYgwpP3XSvtSgS!GKab=E?y+$-LjZ{9ILFH_tm;q6)3@+i0&TH{QcEC zpm%lyb`&|77??I2zixF;v2T#9zR0%T>uZ_$y7qlboLXM{)V7QduI;EZuE4sMtwS)s z(7(!-@4G4U3I(${r^qNqZQ8-=h>NH`$5`ghQGJkxu6xr*_%;G|mC6{g*kslWAIL8n zV->JK>)rd&d|2sgt<7FZ?>qy-4m_#&w)kmSE${^6Pq>aN*M`K$9YQZ}c)epHP_2YF z0|-kw@bKO{{hbDe!-z`fTG0xE`}coWFYP5$Mp|CJZD0<0&V+1T7vGr-S&-?G6yKh* z6RX=hvz6uL3uIW(;}?Ual#_opmJ2?w1SS1IN+v)87)m# zNiyjwm6wEY$=ms1Qw~070xh^(n-sTxpPEy?lzwQM7^y8((IJ3d{3ITx*k@)3{v{Qb zcZen0i|ydVZ9atz-}kw<8E2tZ6k&Y)$=*Ej?Oggle`Hp)hUc>Pp=~X$eesYD-`!uH zCt}MlI}r7#?BT$Pd3~>5{->Ym&z~>@_SZ7Uk3*;Hgb30r`JARgL=0Uxq#$@IqO-2F zMj#;S%%YBiiv&0Zioy9w0}|_P=_3M45U0k3CVZcnwoe9cy>3dPl4 zt$4t8JP6U3Bqr)3cvvJkLj})WdbEgnW6GdN%&y$(}?Yh zSe9P~AZWuUp5|3kes7w^ioch)%TMBN{=*b8NYfSE0ilxW)b~Iy^6wPM6}TR@YhZN} z7uz(I2IYA^?d`H2+Zfm4S50T9NPguu@nf1t0rgnT$M^nU$fMmMhzJ8@&~43aSo}!& z>3O3Xlb5cZwwc&^?7wLXs`&+Zt?T84-243cm7ag^Y?#wygM{xq@UuDGF*}=V|_32n}%l9qPLYMbG{g`bgxeP9_V<%*? zTuR-gMXKJRQ-z3HwU4LnFaMj@Gj(29rME2Yej^#p4HJH4pLKl;PTEkEn_Vr)l+Kf8NIvTBz` zgMLqsI-7V!&(0!ai*?WdKS030K~jh_2yOi}4xku`dQ<`(C*nk3({=Cxe0mk2oY*Zy z5^gdfgY5-HW5(VrQ*&vLYm~@ddJeHh2Jy~Iv^qr8FTCg0a|!L|lI>Eb-BV`)GIzut0W8g2AR$g)9uDO(y6Mz+0lL?(S%ag__HBFKJEqb8a&$wt+L!N%+#Nh`T3S39VwgD}``Jwra4mEdMO`4&@+> zhDrHkjEA>a6AU$}v79hIBy@H1tfHqm=o(R`_DdEwp3IMe(Z%brk#*8a{^q&IyH66) zg;CFWWG^-@Jp0%)$#R#X8|{`^?GeF}xL3%odef(5_%k{=^0i0tOR;G%xxT8{HN+*c zWp88)H68Vm+4V zT3Rjdj|jZ%`km)($K`Ku%X~e33}1WNwG6&1O7U}ZKyBjn;RcuFl5ca{T}Y-`44OGd z1jN5x2B^PX$$UiS2c|HO(Podj19if2#C_&mwuj;wN6=5V{q&xwG0ToQQ*a1uTUuoBjHPc0O*5n3VN#GA!^WXXfVch zx4Zn^g4J;tev7*mXx!~cOIHAw|5m^#6t^2zVK;LVxf0a!OP<{k^K(+eF0%`rge3GW zw&18s=&PPZWR36)cdI1@%l5S#gjh~QK27P7)|>9sYgh(Q&Dvu)&faf>RmsQgbIQHL zl`D8Q?}yQGk>JbFf-yqn=bH#uDcgj5yRmy?y%i=oKgJ=cpM)@B=R%*K`fDWR=ZnVO)w#mx`9c`^ukM7S@0}k<@Fn3Jylw=j zIEa!M{=+WCI-EHo9kolJjAn8QL3kqJo0UiMQPUk z0;}f*$!>#%VF4OnO%{t^{|Vm#U*-auJr*tcWBJ^UF1!-n$o;Jc5xJox`lPo2CXq!Z zN7BcRhutGR%hD92l?GqOa>~hX?O-gC(z-eq6>(O{eCAL2d9q15v+obqja0~1fBx_l zAKp<4%d9dPk(GKQnfOg=+H-1l!1-)>W<-kt&_>vWb>y*py>pf#R?|mt*{APat z$DzOkD&#HF9TKp9Gp3bY!XZ*Q0)`U4a6k%w49v8b+il%fgF=?|vSxvb6~~w*De$_i zQ#6vbnQ#wG9{8^T)p|dTh{!h@%Uv!3-R3+=0wu{%oOfPpVlwjWrf-2toN>qdf1*~W0UY;Y+bQ}Ek8BviM;9^JU*FL7xnrc$%X zy2@B$oVaY=@lSRM)zHR@t7~?9>GR-w8^L5NENZxrJ-*ze0k>X=R$`MH_^(Bd|2#@s z=;Q|@1RM%Wj5<5DNv_-qfoWD{s(S_L?)(y}cIDe+kIH18qi6$p+x>PT{*fq0UU=?- z1>Ul96bz$XPMxB+?zhkWEl!`JLXmG?6x??j(1gog^+E0KA$2-E+Mu0wNB8dodL+@W z&*NjYAQZryMCJZ|gI9?jeRz1gS2U=LM7cnrH)`S|8cD5PvtXiR-~k-*BPQaK{xkEa~*OW`sz;RswCu8vQNYaz?_ms zmBPs#!sP$S{)KHynZBC~W=X_iU79&7d?J?liZ zHX~%&LK=7XOlOUDdQDhFQxjIx7XQEy;EAoEXj4z6594+M_S-L!hs3*k7DlM+4Jc$) zj49^WDQVR=)b8sUeoL(VD&&%wZ7yUEVGUotc*6&`0KzAP%*Yp8Y zl@m!`L`7>(T^AJX2)=33`p(l64jTw$oN~Lwu>T|wA6_$JFtGse}hZd6ag$9*VSD$)DUMGDCg2Id3iBS(WTu$Ko z2`0&e%UjHE(G^U6=f0%O`1zO7@ca}WvWy9+;sj_VEj6?wcAV33-dklU@#I}ynq!1j zx{i`)ono!~?MU1br0aARB!V&;e8lbvJmX4lnfa_0HlJC-#+@r6eDFoj$$Wt+6AOYb zufpNKO~afW!7sG3Y_AQzwHg5*^sO)9<05JwPJhCwe6H{RV*GWdhQ2<9I$syWR1$QC zWFYx1Eavp%zw3RaGdNtt!P_=(#+#Y{d02Oe$Z(ttU)ApWvVSzO4_4YQsoox|;&#CJ zc(sBY?5A&AAuo4hK0z#;Mb&@@x#f++h=9ikE;?U5KA<3sT{S^2EVF9Nxa`8)0b>3v zmIHm3mtdZpQOTRhx7| zdw5Xq9-v-CR?S;k7gwEW{!FW#y=3JaJ=(++< zK~85+syI04jLInM+Np&3^L@ivkdFtGOUyTw^$5QC4!Qkx1z!-v%vYzZ`Nt{%Y4at* zlO5atdVjZr!>iQ$8_tGQKGkx9YQ6!fZue59j6=;24=EXQv_A{+;P+XE&ZqQ0lZlX; zZ*Kb8qnYSW99=B-K6>d`hl>m$@9Z*?#W%otF!$HVZ_?I%w|W||`{^m%y(lB56njzl zZaDpT6Y}-%51?7DVzTOeD zMeYP*v64sfnyWuw|Cw-maP0;SG`ifNqQ<-|PFlV==Uz<}0*s&Uvs)^vjXC}!LL?IV z?Zwq|p;3a*_y?>zgrMw7+jfMKifYaxn#^GzVNuMh-0X>h$K0Nai+xlA3M={|d+P-* z5sBn-VY|$_lEBR^Jwg?Nhbf;p%sPcOFK!rcd3B zz1tu=1*5pMoDdbIq-BChcfgJ=FZ1Cd%)Mz^$Np3&H+GGe7eVm-E^&(d<)TIMtWt^& z+d_BEhb5@^hL=mCX<$$NO2L=Kl zS%Q?2a+Bm79tNvjjD37?8>}C;7dcO(S}eFEfaQ5wv7Wy0fj2&|+CZ8CB&I z7IXp2I5DOF4|<#s0z=V;1QSQqfZ~m#{6PYjZx;fSLb6;%B5H4J^;M=l6-CiNik(*^ z;xzPGO0dS-{eRlpj(4%W>JzK1`O(nJ6UaRSCWo8D2C*~r*NpvF&~}@h1@9=C<2?;B zFaE{(xsVMS%^ik*4iygNUG65k7V0f}aTR<^bE^;pU_X|S?dwz#bc)|*FoV)+&|_B7 znN)>0kt(g)Vg|P_2nc0PR0NyVK$@o$Y`(x8r8iKe zLi!FzI<#J3Pjc+)jh)9)u2*+{Pqye@A{g#68GCnEAbQiJ#TA>oi6QqymqoV}p`PaQ zV35*4ZZ^1DPgFHexyVsgsO2E#@;KD7p%3Oo-ZAP3zJ_bEcd?DILKJ$=aI&vUdRp6KWl8jCIT&9~7kiDCbQetp) zLs?9`b*tQ_8yt78z+-lKAJh`oU0VqV!3sTd=fGX57T%}p1s1479<4j`SRAV(-+_56 z8Aw=zZ7K5p%yvBqx^b13VBtXwAUZUh;M3RiOs9s~xa=B(H~MojJb!vBI0-8Y!%nMZ zZNqjzDs`+bAWdCl;Wkl-Wm(fm;Z-W}^<9!b-$Cbi6S`m~&=|9CWHS14v8%5$4PSYz z>MNtsM?!|VYIN)5R;tng&n{x|eHFgRXV?$QXZEmr^PN38!W#yY&4_tno_5`jGwmPH zx9mes`4`A${)`*rPxzt8JTrENnSRzO%=-Yzb;p}eq3gBD%Q=|^f3VGn#}fj--dP}# zvs+*mh;5%yus%BqCs1E!Q;^bFaFnYGqEp>L%q+poWckF{8rmc2oM+igEQwz2#R` zq6*9{;ysiDVw)C6OFZFks8|M^IVVoioBiyixp~5L8&d`225-T@Zk;hS!^{EiF(aS& zx9=>OwbZs>CNTV$l5Hr;+ao%QW<54}-u<=fHy)WaYMYizZy0rGAGg>3ZB1Y#ZWq1) zfy3(LdsHXixv1Ae^a<(ye)l+yJ-H91N>=j z#%YmiUf;E|xW8zgkV7gt6RdXrV;lxB6+;DLl(VxX$Azzr9Nu6BPYGTo)%9U zl2@8r^~4+?`GM7{dyk8aWcE8x4P>T=<)?6HW) zM}7}bqoe@1(L}-3mdrM+^--*o_|CsL0qC6pM# z83mD~x53&0rD>F9@e7$!u86M@2-I8-*Fk~Lydar18m^Ds7MKy3 zfH|Mz9XvQ6`@+wzra7(8vc#*=Re)8LY!gs}7nOb?=~jrdS%2gL9^8QSb81xK>^LM- z9e7)xvQiN#^2BXm#SX)v0Mz{78IZhLvLvAtW*Ut=44JG{#Jh~bQ4oXHmt_#5A=4ga z4z&L4G)vbr?DOLD-e3#3#BoZjc#!h}NJ<)i`y=<^hTKVbp90gakv5M@4XX8JG}Z#< z113Ywc$+*=irYD02e@$C)zoL^@+I;X6Z_XWzcV~2cYe;7fD0FbYbW)YJG#KP#+^@| zWYJ^=9!j(A22oCNsn6A4^9c*fnK*C@WTjOOnd}Las$``TlQ?HF+yG?e9nD`RuT##BOZq+>ia3536CyH0}z=kyKZiD6kYmwhJjic_w_J`H?j)zpjBE={4k3RqN&%Z!{ey-(>Ul;y8(n)^2t z6mTGTgxtOJN@zW2^hK*B>?55egI0kE@Y;D&GQm-Yzw4QD#}3r*mW018+XB&2j?rMQ zAWrNI`cf~FQF3VeHLm<(iOME&J`9G=zj}p+EnDF3AGOb@i9CSA_X@KEzWBb`$j!@Nt24DFI_{$2(SEP5^ARj}WtgX&!Yb)o?f}OM0$B zfYp2B{&po?A2vd=&8bt6VNF;=#Sv(bg&%nf&dBSLxQe^npQ!a_!%-ZThrh3gaO63l z86I5MjgKlM^6+cXU|7_A1HQghVC9#ns)f&cfxK7m<9Lf!RFNDNWBO> z24LqzjuLV2IA+42*>UFy+3fW3g%3uFvNXaAw}%`MSw8F7MLo)GbKG9YG>JoIG>Gf~ zFouDMfvuBJ(JkECUTc0k7O_Y}SHBqJ2Y(4qo$L$k5F0JCTu|3an;N|E6ZaWsCVLN_ zUz5<|0lEsBFSx3BlNEEg4OSknbjzCAOVDF<*&OS_+9-?K-0=(jH4L{i{gq}*f*aHc z#C$SE14<;f-5mmG*8DGD&psY~*duPFzJ`O5o`kbUu(k(XHl=1%|FztPgGQZ!$+LHU zGv(w{+V_`FeWdNBw^>C!hP@N6k+M>t=^pav6Qd1e^I~3>rPRAxuuj=VVk~AeAJLQT z@!h7#Wy0|G2F@ZQYhA!0JBVY3qQkfA$6vS?UU+_{{ubjW`~JQ`>FY&k%;GLwW_URl zzU^FAhpxi<$_HTPPkOmf<8@j#YP$-0`6Kxw^UW z(H>)D)e}OAI15zFrW@-%s%^&=;ih-?_%pGbIWcc6OlQzU^}o5|CIJ~leubb`cx6aZ z4|HG%nOjO6>VHnH#e-5n^{?3~D9|m^tP7DAL|`t045sj+1c&-g)yXX>hzm3c>d^7; zr8-oap>gz2%9=VRD#2XeY#fZJP+{ORa8rSWL}nVPU5Y?lBDxb8WS zG`Uya(L{eCy8CdrVpM>p;qXfd^$Ff}8^{@QN8&3ZLgpdq$E&pa(-A&aCTAQb^a=cS zWa8EY|6+XIx(TZ3giT=bm7j))4u{psvlqfbt$FczyV|L&c_3PM#lmEQKMN{kgae$T zv68cSW2PLz@y*lC9?4w4;T-_cfmxM>f;xx0sTq>+G_GOq<`NR3wNZp!wGiwEka>`W zFwzG-#tMq5<8@r=o+c8|N>$Ob@2C2X<398Asjw&oNX@I3^&p?Beye3GlH)0Owd9}g z8wcDnQtbDaCHR&oDj9LTBWwtJ8;VI}9@sc|sCB)M2 zq1{{4I4YC(V8YOxI+1_t7ZZpt+r!@p@?MV2#J09&eb7r7F{$^}hC? z?V#Km@h4sMJGvOzUMzj%O{N8y$dgPS@B>QISAQfun#3}EXlj^Q%1s$J%l6fWYH7AN zfD!6!HbpdwSFVZ{FY9)bH}xM|byLvxSG>HRI=;hO64Hf5LHJLFz@ z`oqOg7ppoul@TY>m)Q_P=Txi`m{Buoju_pwc>MeYw{3eoKT$lG*nO!zvRa}NjlU1D z8`sZ|%h1^;lbtul#vOFFvhMzPSRZVhUF1RYVE#>s)Yoa^TGNg*aInb1D3s-v8#h9U zkBykUaYJHY#@6hHp-go5JQRKR8=4w_J-9`IX<`4V73P_ImG(QmL5NydVHN1dF6wy( zv`IisNo~qij}6M03$^D+4W1m!5t7;;k%%*~e4MfP;R9@V{Kno#6UdFl)wFL8#vHRg z>IvRvLSt#W3=C%v7cb-qVN3N@IOeOt>d)>UaQXayz40xdm_sLDF3!ike;WkrpDFY{ zI%7l|6BQDjgXbe*KF+8NK~98iUxM=TjzgFvetve6EE!0h5EOMUkuv&8r0}tc2TvD| zZ!sfMPU_~OD2=%yGPFoCi8QKs5{IAxZ4;+uwlqkc_?wH-m;*ARDVz8asZz9FCZuel z`C9K8PSC~7uQ7pLGcxojy7@8r_~?l~J7Q9xjMQK<<&REfg68gr6!_&ll=&%(Z$7Oo zOQm0%b|@GkBAJkk6%SooWqo41&bsz4&otnw=V9Bz$M+~~W1)1>k7 z;a1*5nWQ3rJmRT3$QKlbAo^Q*Rg$LZ?}-vA8;YieZIY&0VG5j(9`CAmkY^|b{j=#x z(%SSbY>S+w&KBq|FeFVZ7iJOTpuBwNW<+rSQnX=}=U7T;MkPrRN#|#NgYR3Fa$@=X zuGv?ZQg~3W^RR$kep62plhrr$-AoGVQqSUVvG)2_0`10uWJEcnhMkT>(IH^*TPV7#H+)uMD0GPU+$Hr zvq4>rUF+<|FJL^OcsFD-NRxkC+1mF+n1}vD%!w$O2!8fs_~}r4@*@NRcRAx%Vdk8@ znBFDouPeuhqRW~D;2Ze~eQknomVq5;u$&~xft1ry9?3N$f~|$L`-lv+Q{n1<66n(= z1daek_4Rr*yoCbCU?X?*_Zd+zH2UmJKsB~_SKW7dW;Tn2o+J_o!uhQKgmqbT`d^0J z8-t1EE{~ZvTAd$s9dCpZJeQ(Q?A)JVx^=cV8XYw>?QFYc3WJ=jU^a#Cu?*ukK4(5h z!tTP!DQnS>K?SEsz)8poTR1$_J)}m$Yru7UE3x2oNKJv9@Q=pS>ID* zt=ztc(@PbUBEjK!1205e*@%+n7|Z@b`8|>sC}Mq2e2RkmV{*6~hw7uVZvJu&gjX{yF`?d$qLNT=T zw%Ym;;tdN67v7UPSLD)Ip}rN(P= zM4XMO8U&^(3?k7E>=XVIJkjIDwOIK1Bu#J9F?qa!iqduX_M%|L09f_SY zFKCaAY7@e~L)Sa)2XMJ6adzxM_uj9Qz;Q~S*@hoI;(QQEL@&+v6fhtKr|8;7rW z(9+e76FsHOG`|7Eo2Kz*50@GcvcLUf?Qz2a2-G{VMAiCnUNTq+?@M27C^Q zx75Rf-G}fz2Di2Y-O$x{f`hzB-loA;3)uNjjx!b?OMr)Q;sXQ*P6SK)QApg+nc&pM z8}wG}X2}?elAob$Xskxn0cUuYq3sXY*%SH56YzF-?dUe*(ZNjyA)gaYAmN*;k>LiN z$j|vM-2{Lxe>AN5Hy0IXG=!BjN4=CObDP{#-g_Vc6krN*Fhr9IL#|gt$3Yzq@zFV~RkGl9OJT_Nw>xX?8biO2z9!)6{HfV0?%iEOTHuFRPteo?gck29C3r$>8y`_Zi~FS9HK=dB z!7&1mvj-ETF_kg8P69jUth=VyCaSEJpa32LSvUZFj{_77AewH)MC-OG!2`WA zc(x8`&#Alb4zX)6T6f)06~R)9bUAw}-{-eK0oeBAp4IIqSDpoAyKRV^!O}@3{RoKv zlynO|nqHkq>;4-`d@ObRZxz9U>h>F=G360%qa3}rtSA{7F!&ZykXXQzwQ};}d zBrgqBdsq0wKG*!)BAnD*jAZyRIdu=xsJDxh8 z7WWDIt{NyDez?SD$ZAP;MW+9D=LVSW6(_nw0T;DDjmUsWktq?>QV6)5eCu|3ULr#& z;Y*DOIuw}$6Sm9TFCOn-WaY`4%v;=AjMMJ^+5?KToM+pREfqpAJFt1AVdOZnr-OAa z?T+=lPCmW=W=uL?baC$P?{(}=zbP!Q*}fa2@CbRF7XFlnS}!fu=k{ifYvgm?d@&^hcbuwLc`eC%?cB+^hK z6eq5FOzX-wg+2+a1r2ybDBbzYlTsJeLe(YlQaoXR&owJeM94VSiYSqs=gKS%z zd57HVJ#rU%3SZpeMEzH-u;TkHRLcuCJlS`8k-ntiH#13Szat{xN4Hj&sbv@e7>r6- zQ>0%0b>^;5yGh*tWVx`5w2+q@p3@bbnxGQ9d;MI2Q*+Kosb3Y~-k!lA$WI8Of%#ogAU= zXbO$&D83hqe7}EdP)#L*@tuku8)X=iT0hI-y9k9_1-Pj+0G}$KcLb zNNATd0RSkIEUL6*W-QsshA`628Wm45~;(RMYVQ8rqBR{n+Z zQ4{Zk^^Od?&utVJWJ(vUGVTKHx(+ML(aIzls$-L2GJvTH>BON;E5pcYXcI;l6*jw% z1}8>kBG6sKkRLRnyKES&qT45Vsr40nCZKlh3l%yEE4wfkL8RX{FXFvHQjjD9?AwLg zp6CBeXe?ZtmZ#niAG*D_pKe&FVa@~v&AZ+k)bF;_oyj%%_u`r9%Zn$R4t`oNQ+8^DO(d>4BV6;ud3$b;zl?};!mo9e_C1fA`X|C4pUnaqgbrhy2nKq8yii2;)-y(- z+KPUS{~HY@8$~4%g?!2;2x4D{rLA3ee`9=hphfF$e|7AbM#qxRjPK~@=Dr!wJUJuq zvw`GI1Ks3!=aa|Dc>x%`G0$3-Qsxq5El)ciz=f&X!kHjiCEtL(-_g%Dr5eS}77EwQ zx~UiK(PmUx!9l95f)E)Mc*Ve)Vz^2(*Yy3n z*|Ju@Ia(&J{>w+fFHO5((cLtd4n?tqgw3Bld*B%aVXJ`LSig{*YXuD(-AQlCdMM;+ zv-NGXSL%9Ga3PPiF!=2MdWP^FNW2u#-+|t+9dNMq0{Qp8Z&zu z`b8B65_3`bW}!Rr<1>~2PG3v+MXz$RXd7S>iTQ;O^MS@Z)OfsZqJ^fs!Gesk$EZE~ zdxNmiOU8dmz5o5!Xt<9h+DNgSA9{s(CR(FD@II0Jy5cfFWCbk~Jto$n!mI zO4giJR&RRqIB$TR^eIg#nt`Y9e=|es4$e zQz`6T_B_6a;Fg8+tJk1FLEjP_T36bfA5jz=GR|zgL7MWJCkVMssOn<6upvj#ssmS1Z#0iJtDh1;W@fBmyICj=L^26N0kRg~ile%J`0Ia`tRqSWu?T{Rtz;bNLRYizYtm(xT% z=RT67Z#+Eaha;PHgy4Y@)9~2N)Wqv*;-E_mNpV433)klA)D6V^xODU_X5ok;pGHZ9 z74!@T!cXd@z}ecbTEnUYru8<|5U)O6JL^rWp}>67F8iN+JxtDUN|T zP^1ve#mQ2b05@ooFAD?p4TMS@mIFC6zrUIvgEjp%_MFyyPD}*6c;TW^3>T1U+fp~?WkGnALhGZ^sq>7g;ZrStc#;%w`k2W1X&h84}+8Y3MYF`>tImI<0X#* zk(VwLv;Zt#b8XL)Hx?c*7wQc*!GDcx{Ur0Pd0;_|f7DDaL+5M}sG$%=k^c`0A=Q!U z@(-KZv8S#xi;ePj%`|6r_FM-Gv{RSkZQ_ucw=SUPw~(}Y!XMg+a`vQ7^yppjzd>1= z6Aigmah$0~5dS+bx$q|fA!J?fDlpBl#p5IMoVD}h=`8q#bdAcnqdgZkt)o5)`U+Ub zaG$-+KT3Xr`N>YeG2EU}=g4ua+7XOKNlV-6b!@BMnic`uJCUC{<1i|Io_KoN-j?@x zDF5gWI|J|9mpj?xR*c1xR$PlMA3d&T+>`Q&e9W_FZvI`J%8V$L0qu#KsO*#R zok851-1`V0FI6$w)_W{VdGni6iH6!yh(YfkN4>|-0nG)OAJay~?p7ue7aeaw5smv&#YuIrG)3t2X*TB3j-!*j+MRw+22p4FV63Pae+w_2U zTf8^a)_6%z+#a(p61aELA}-G@?u<~IsMfEF0%|Au2 zq!j(83+K}!&f^}E2cFKGZuU#W$B(lGwPd4lHvM*D$HEavdRd!E&IDh#KnBwQ>1pcs zjRpg?c&D#>x7D{DLmT~-#XnP0iK*XlOXGSJ=*CpRyq&I6-rVpMBEwvlri~k5m6+oU z`~26QGw6q2S<3DCmx4I#xl;ZikpvYcFE%#~40&gX!PRY%k+ruk!O1|jKobVrk`7N@ z`T0%SeicA#2@EXCU@nWJof+Zy#UCw?ios7e*ex$Xhx4heq?yQf7n|vHG?hS8ZVpv1 zs!ma7F{ga<(739Ug6?63(m$}yyt)6XlkpOJl$@GI={b#m32MCG-Er{s z>T<@(n00-B&Oq0s+WnTp+2h;&6TVk-dGm++cSf-J;8$-i225pNznINg?J}g zq*lqt5{a3IN@-MViPSM*4y-LgRoZa&$GNhG|DfYdO5ucOf(JOJFhOIv7l zqfU?#B)ict-QP*Y#pVrv5#wH*g*)Y%lFn<4H80L2eGhvKJ-v98Us7PUdZ+?BBcHb) z37>$^{nvQ{p+3-M-683Y{0qz$qr`LFOhp_>X=3}qj*Iw}XDQ@69;G^PLFlvzSrSZ( zC2h(SY_kS*rfd-|6apKWdd^2`&4QJ?7x15X_3Fb1C{}MT{U|KBnyC(S+<*PzoDsGf zYmbD1^RVq1&ZXO%mz3!u%E9flB97mbTQPnSPPH6=JEwphB}BiDP?|wF^&ctmUh8yG zyDsyFf^Q{{b&K_wEO(`l;EFK}fKrJ#>{sDc*A}OzG?Z z@2~z(=|cdYp0!J!N3SkG+=X`+Coo|ft|_tSX4+5j<;Fi-4srOf;`Bb0O#DS#huEnt z6scmtr~%0VsD10?)Z-m62bV{22f0G^sZe7({9Y-c1)WPlc?n4w7lMqqG@PzyO>EXG5D z6J3N%+}p$4x1EQIPT;Pd?@`Cc-hQ6|Su|7AS5jY#C+{t6(T~cr|D~>Sl|vYV*2ACl zIvD@;1d&>**eP})(*j9Gmd+othVZrAy} zBe{J(%jppH(sk66mX#W6s%z&*dK0REiD5e=R7}PL4MEt8+8m3t&2gEM!t4IJKsDZZ zeD?p#wP&yB0^EwO(@!eZ4W{b^$iW4=NG#}4nFt2q6yCVkz50{Sw_K=kvvhf@F_FH> z4lg(r1X&(80|d^Yy1mLAnf4%>qxnM;@FE$lno^hmYc&=_Wl+X))Fc>)ExyU-=SC%^of`m zr}4};eESgtR*H=38@|mp^4{H9oU|yA9p&tRsQi>!{;yf>W1&FlFXf8 zCJT+nCRU#VFdy3G3Ez(Vy|nDj-`6iD4C39FcMXs4b&pYRy;POOc9F1Se|@)d67%C} zpJh+NDCG6N{B)UzTr}0oC?X|O3(S?T5HJ+SvFkv#r{t`hi60HZ)YWN=Bi}v!=dHr? z^Xv(tzmo2#$&bjUdS0Z6UI*)jG@M4@SpmfB%bHZ2t^HV!awX zQ1EUp(aOtikLUX_BgOAtb0|7LJe;{xj`Pe;@y8-{7{nrE<7ud;%h&>6>9$+l5tTJ-a9`Y_5qr@IxnLu9hmG#YfqfbFlXT*H zLpZy-)yQ(Ff3_Mz`6us9{JOoeaoLSJ!WRUKM9<&4B%9g!d6sFJfSyI)(-Q07AXrmnOr;XvP9UZhy!*zgiQq{X~ zut64-rN}=`%tQU}NSX+<`9sP~wJMrT0*Zz%?gOQ95OZ&_wL6Ht9Y2`H3|=cLjPCi8Oq8q35>VIyJTEK@C4(-8bzCa!{a+(6})?W_7A z^b^OT-Eyitx=IyQnBx-|Hf;UC+fK_Kt9|5ZdZ&=Qc3r+fLd%^5jgti6RU8hu&lS)AJUs zvhwi%XtPEm{rk1g*?8-}`T9-Q@}a+xVkE{=*L?pJc^oHq4)-l{i*o4AiRkgW8*$I@(#;C^*6ryh| ztY$Oe;V`sf%h@|&wWpWdjzcsX?<-Ml$V26e!Wo6>37Q_K`HAoNYIenUcpYfeKH3b> z_!^3Y-{s9UG3l5<6;DjXT|_s{t4&jWN~H_W4ipX$wM?fLICvk0{D-b$Ni`hH$kzd` zTwLPQdqI3cyw&G3f?joCdV(ebI!-qaJSO1Kw>xCUY4XhG+xB~tQt9<=5Ix|@D)(@J zX|4-sH!K4g{mT){)5G~5lA=*1Gt%b5tW(@O9l21hd392?nlH?S1kDG+BcusN2C)(I zzUg!%;<+EQ3Co^`DPPGG(bHH}TgFGz>@5mF{ox;g()O2|Z}L0u2e8qu($q@GT?Om- zfOO${T+Qu_`I+ISxy5f^$V;LlxdTOXqPI!vdW1K)z|{4ov)SL&+gQs0(h?q|blp5D zUqE{mrY0a*9B|>DPR!<6z}qU2F}e}$2L0Sm?Z4dB#o443=1kO`F4FV_Kt<_pFp6zj zKrP%Im>F5^fAD*AaOc^MXnyY2ci^RE!F;RXS&JU6Veg=(bb0VU-b9JMXkvNl)i=}s zYU1z@`PVAhASK(mfl-9vg;A0Z8Koik%t|M?f;T0r41J|M!f@g88RDw?F-}cDFLs6A z>%sG1Tm~T9d~=N@)J)qD#?1Nlno$G8AtU~Z(sdkUkl+L;0S3B-vyRBs3fJ7!Ny;AW9;7|_ zu0Ny4`Q3@XlH4xH9NE4c=Jc!!)rpu__4)s$afxJ&wCZA+dh{7dtNDx~M_dg10nni3 z(%seJ5!rHb{aMODF4WZ?z58DWk3F}->1y+kj7fq@vEt4u>kP*CQB+Xj$V#F%uuV@Z zLOb>YxGaepk(H0bOrwvsJ6~r+#%2PWld|j}F-61?ILp@>MZFP9X20P*Vu{kVsC5Nn zN;T#__q!XYKI!u3S=y@Nz+;y`yN%Y3eY6|h9u{>pif+`2HKlIg|BQ~f`&fy}Pjuak zj_4WJYF$6!&NH=`hicCe$V4wceI^=gI2at9D&TtrfigkOXmVVsnxY`|JJW%)uy2dn zCn#22`v@OrKghhJJxAUQPSjjS9+o$5Jn4a1L=ROP7cA7}2*i0#f1#x3)1iR6}7Kds&+7nVaCM-G&#FnCu@BxqsBJ0<~Jx^89K!mgPZj;f6(D;Iji7b#+V+zEOy*C*QG zxCloB_8hLFHf-;{4ty2h=QNEe_-Qk`AI$j%-ob@$6G6EH&TRR%585Kp5Zk10QF_AoZl61g}!(KX~ ze$+Q>9TiM?oxJuZsBV5czqbxkp(A*d7SAJc^}hHVsD`x4M6cI%9@B-O&>A80nq*Fc zaklvODOoBiFx=ch}uDu|s6 z%m-K=VJQQK=%LY`2C$x~-3n837kUsHDMfpk`w*_DTq2ygY(^HWW#xrm3)U>RK$wpy zr(oS+-J4}bP}CwgU!|m+9Ogw})Y?P8gJ$Yl*SH-ZFoX9_5h#-%$7#6P9IyZN8sMeY z2Hguys-{v94A$lM{cZCxw1ql9sWjbPBf*IcNk@z#x0~7QP$xPm;N6IWu5lS9x#OKX zFmNt|?8&!~3Tdy)Icq`oK_<<4yTe#DOx8jv>EaF-#khn6m3L>0l;gGA@lj!HdQ~Rz z!1WKxkbhOlC}CcOk&%;a?fF3^ATI=sGGlnGjwMV#R{z{rqwk0u=D07$C!hy=M+6TB zqf6uUS=fN(Zn`(MyWNQ!?emdL=8Bvuz+{`w%NvQNW4__IJQ7ipn;!B!pBM}37LW+Y z%2xpj-B4J|LZh%qnpHV=fD{cF2LJkRZT{56GrmFiY%C$+5cGbY6)H+sU|3F_UekK^ z99(dYTR=XW!U2I}kN=^Xp=$3k^9Q#qB^~R(WzEowlGq9&E4AlHuyOf(FR9fccmco+fIs5xU5?#f7eVRh;;WZ*`8LJZ6G6okce7Yz*dsc8FTPYODoYoo z#&q$X#Lc;?LUMR$Xfi7kfGFNe{`<}iVZPmrR@2?Z5}foq`yvl#=4FF`XT|>Y$;opP z#C2T3xocjEdipweL#y{-wQ9IKQJp5&T6@T)$SQ?7`E_rEI#p`34nE7oq+v4^XIeG(iP`>%T+j5 z*uUyUapYJ?ar^K9+@l>2!sz|5`2}K?L2bDUu+!p2xVO9!S|rqA1kPRKf^jGTdWrf^ zjI%36`lA>py@o%Ze&7A4qyrz{w7WoFfbA`iI%U9TwRfp593sF%%Rj+gX2B=hcqNVs zxXv8v5*J$7pISA&Ce_L3UU$1?slC0K9IDm zmekR;w_Mwq0fI>9)5ZlNgxk$zm&rL4k1m|ahF#D?=jfP8C34Zd4Y2Q8tQiZ#^x;I; z=rlBsPQ_hKiR(5~i!;(;o0~XS8=UPl2H89v#}bfq%$ZlX`f#r1_2&2sGNOnLZ1j*E z{>X!&Y!I+i4q}MHz#yaaaTt3hwhirG$s}f;VQ1v;7tMzNDL~f0GfhK6DS^cbmBwHL z9U2Ar?G3}jbL}jKlObM8O4XWf4FjoijPJz;Xix?Fh$)pyv>1RUh=gN~Tbi*-hsJSg z;biAdT8TrJxJ5r*-3uk(&+LI|?9Ag*)Y{t#bSg7L&)1Lz_e(jbG@W6I$a-%S*Qne% z&+|5tlQpUH4JI)6+LDo#Y;~Z#mXmx)dAn1_=E&E2s^fDqCi=3pbRJb3CcQ5}_I{6vI2SF$6lGvfXcCW~sU^K8m8WxCuRjZf5TKrpuhE5`x zS=jzaje*vK2C7Ck0`9ZsWe=pxRELzuMWSx{FkKp@a12VT^0cB(3YE(XSSw`MeM+B+ z`dDe}lNA`;+39mJ*u;%k9Q6oswSi*bvCjjNKcbPb69?P295t$LJ`h7 z>nvnU-zu1DJ0Fxx+|J!L7&|J=kGHllOb)D@C}ElPpwo58{P@bGT3^hWqE)0*@X3K4 zTSiCyCW|R1$JTOW`6Mbr2ywMBBT^8gNeG&l^_@dn^*KzDWVP8fu>ALi3CRUFJw&T_ z7D(!SFM3qB!=}V24phgpc;P44hqSB8Y|#J(#3 z;T(0@JEc^D&+P<>n6Srw1M?Vn4w>zpW|ouu3yA`X2G4w!D1L)l@TOCfVO6$nP8s+) zIO>P%p?{(ZI&>Jr@8PJqKj^mbFZ_eH6^GaN*2R5LICG4%E!rZ`aw8Jlr8GIAT6{WU zJ{8(|ezkUSlqC1HiG2+=o)nrv_z7Uk8gBf^U0IlALz;E%o!n+K+h#QL?)Ip@@fM>Uq(rG+4ywjiT(o1GxxCq=E_tmbZ@^$!!9m=gDHl+g-dv&k zJo9jwY5hG^VXpk@>aBX|+{O9{6wId;R*GoMMyyJP({yMinL6MlvrD zX+shDPG6pR1_J{!hw%)F4w&~`7Bj%f!66uT$JGk&T<31!aKm!D?ni_R;O@zhfWNKJ5lGnYNTzB7s<(14F-r#P6B~BN~m2MrWgD`Aj7!Iit{S^}7amNG=w14%0 zHrkb#b8Wk9I>(gQ4L#&sQ(;igIc5P~PfV=Qx%^0G-yq8-Q5qu=C<~z|NJvT!8yP)J z)9vfZn{6n;=$~EObk#0i`%2ZwLWK_n;4=-Dm6hHG-MuySW-#iBnn02>P8U4J1Kfgg zsP?MBW>`)@QhzewY}!GcHUg3*yuQOBR)&$k3PdiP1lM;xhRF&(3uMG;^gk{y*I{y}`Y9(g#?VLn z4lCO>jlC^?`8NCMIMu0WlVk1V5w9q7bS!dhIsNlDn!C*&X zIRZadO2DcXrySiNHjf8DtoH>C$!5rU8Fm@H|GJ60mE@=N6PR&SDR>&eeZ|eD>2(ou zUo}04+&66wMear0MJf5nktMe#U5jU!I+l9#^<44#OV-jb4BZN-AO+i7WWNIDJ|TUw z$9wg2Wkc>poE-WIc(||LBB9uk5gvk>x-K}5{{W5pQdw^D`H;0_c%us53+&$dL{;2w zVi_*sEh4^l@se#jJRkvQ*jwl3{>cXIp*W`uV9l^f1UgJ`+n>6CVNr=Fxu?qH zL)v2->Jys_l#2I&h0D~vDggHJ@qu%=J2}&U`Y0c)@%}a5*;Dg#O*6V|N%%N&ol>VmJC92h4|%(sjvk__87#BWq!866kfqfLVkx zC8t%pA-=UFJ*;0!UB06O%S>cu)(zkkkyPXx3>h*|-fFl({rLZ_a7>x`k^OJ%s{h=? z5>+F*+!g$y{apAo-0@#e88)jy+=!;A=*WtWr(DH->&5yn4TGv*&M`@O2t;B2Dbdj%TCO{P{~FoSw*3X1v>M83qI4bGeyzP_@^lwBnY-(&Xct#gp4Ou86>S+T zxC53Qy{to$p+marWe0}dP-j%sr=>aCX$Ldo`lbiY8L!AMb2UT2!)c6&W+2~S>%ZUr z!4O}Hp4xu-bPY|VO5wb{R46J`QpZ7Vk}H<6@1i5!(QJD_83^ zJfQ+3YdPO%h*LQxsM^saC7)eiEyyw^5*Qd5%WKc)o$NBMcR>Ni-YSlF>YoE|T7$gt z(1wyvEY?X>cwGPQo$nm$(e)j03?9debDgy5%t&XN(M%x3E4*@0$L+x=)3+YXQGq>L z;Ux0L*z`S8DVm%dANdX7og=n?(4PT}fiNnK5k|F4gOWt?c&#)^p3MB*2S3_PDw5%F z+9d|z%lz~Tpgr-}&q3LhPBKJe=`gS_dmA^sD< zl~lZ@z>6}XLCPcBk`7tc9kAWO`MI$hY|SI3K*SItcjl8NR+3s4Ardh_L9hiwl2?X- zIta_>bd6ImE068{bY1_LKF9QA`rk8tRm85~@a|WuN1hMio$r(%8`IJ@N`zAs1TA$18X_^ZHP%aWUi6Cs`KlS-S`U+v3v3%X~ z#m+I?71UU|pt!MX3x{QEA&RKZ6Mg%83TEK4K8%Qkq2^3y$&8YBE#f`NZ%`GaPB{V{^hl3 z>0|+&fR``UAt$F_uHG>$ppOwvcRw-k(9($yhMe06H*6#o%WyLJ$`v?t}u6+HlG~-m7bV-7oD1z8cSQw*_=KKc>Y7U1=(q&-)SQS zw6FcZbKi|B_omcgeAf;c7sWHH&++v$UY8g=hQY&_M%~w*>q@txK7y#NearKYY5@pA6BY^4!H{3$>s0?vIA5Y3C@Ixxl<_-aw(HGE zprXvo=W-G+K^Dc0o_6{xH@i0PvSc$P1TNk2lO0Z>CTA_hhY)tX=67&fU+KBx{tYjSUO9W-E}Lt;lh?3cnJg{ zO0;f%V;M&6AnnT4_HI+y%OxeTWQ%t#_`$s4^92>t^Nz`!!uR%oRmU|ew%f}aL#pzv zk(r3u3D8+^8`Wt=9l>6)4i-*R$75(3azFuR{E*&*5`6XrgcKcDP9C0$WtJzS#_viI zh%g9ZC?83*LI=VFir6C2$z0k1$NLBsp7InV!i5Ae_S`!PqoPx&X#LPDa8S+AF0vJ6 zri2&eHSiEMB9G(MuTM{6yyS|279yhBAG#vy{0J*-K zdixF>nLC@lbU1@$64ZL)&-P_wYsiD#`RIj59?~)?@s^W8SNqj;-yyB_vKP>{&rVM# z+_3{%e;59#4s+o*j5yr2o7T0^>^m#}u{qlJvUtBjbYF8_h3wybd3`tGFd1r_K6COY z1_AEE*7E8B|He-_7W}&S-YX*m9mPCN@wqwq@c0EjmA#bi5T>#-?3c%%R6nO`PsE4= z$~fPw?(QjULK#Kxt&caM(HuC2r|ojd8ic0MZ3RrJi7ONxSSRDVH1pN=cZx_`P>@u7 z91i6y1S*27E>-9(Fj$i7ge~16X!&^EvjFHpNn<~2j6d-OJuOsgypKm_S(c<9g zy5`R^sBSfz$zdq|#rW^2ZXkQMFzhj!XMI5hcZdg#y;216a#J5+dE_RIWqGi@Yl1xv z4t%f&=%LO21-b~!74fZCKpj+@`WU;{*!5=36*p8+hfpe`YfToKxUS2?Q$!b+%4x7Z zD|r=gwrmjpotp(aOvnO$hjn`e*ofF4@fcjxXbOeN6|G%VDk*t#$aCyXxZ;W4jCU@aIULo?6QWR~d^|Q3uKA%SVW1 zUDROzY8E+#?q849kS>h^0>QR}~C6}V%kkL6Jiiw+b43x=r5V{0N;u<@T% zDT~%cP^RM=#@P(%qo|2${U|9D{SXQJBBk7%Vc8GJi+>2`4kx<2?4|^Vo9nlQ>+l9fGR9>x#wVlLdUD`y(xZBUEx+D0uVBe9rhqdN^^8-ath||Iys~tkUIqiQkTYk z8je2V^kWu*vfHG!Vv}tcnQf|Tv?y7${#fh6>N_3yj-P+B=6Vqrj*PjNhI^2MUqYS! z8<$Tz9FY9Ays-iJn687w**|{SWX*3Mmfwfq#p=G1psSNgb*glk|LAONF%ZHZ5{Ge8 zYeWq%uf12O8b%sEe}rIYm3?#5UvoW!(}m_hsSj~KrR-W?$XYJLIg zqqFh*xBM+|>7)GXfDJ)(_|(Mjf#L1;oN>^n48(Bm;_Z zv&sJ=gnM=WWZAX{71w=0CNA(m=h1*yolXRa*pG|NO&53kj|`ffC`?13@SnUOnl5eJ zF;X2T==KlPieqjNmep*24BWb(1q1kODTw#PDk_S*P@_qc>SXs{U7&}Wq@LRImz81t zdyA3xt7!gWze-3wKpE%(o&8JRwl<8aPuJEYn(Oy^hu-nUd-DCQ{yFVD5L+?(aYWP7 z;=+~9jwNzYH`DW2MyM5Rp9OVGUd_q&SQ{}_2-)KYoG=)590rY!qW!1SH7y3Zkvd#8 zM{T-T@#6b}_28fPv$8gO+&VaVt6GirS=wp_8CI*Ied>-)D$tBykdSh+2+0bmp=w^G zB49u5pdqeL#-J_ivLri3R*}MJ4uTw@x0w>EwXH=) zj>4%ojaZNlZI;qnXWQNX%TaFn&NR8PQK zk|=3>RE!XQa#gA$s#bS8Pn~2`ho=hvb6paI=9Imf=o;DB28L5d>-c1)N6`Fm%l{4# zgh?HDK!pjrc(Cxz2vOrOtj(Q59kSaZ!L)e3ECq;R%q3Wj8X#q3rlmj_#6TK67T+om zXV|`5(`!R?qZ@`zdMi2s9@gQMwSWYf?cy>-uW2(bZl`lN$y+!L>Y%V%VNKR#e^$4&~f> zJ?`dA35J0hK|J569GTV4{{=T8dLKR?Py!ExqRKON`3myO&3$6E&|7=|vj}AY#(Bim zEamC#B_Kte7DkLp6(9D$+MjDI+hm@6b^jq25x~7kec#T1*=2{yia0M;XJmeQofB#Q znDty+W#*;68?ogzl1b4O7}KOA6{ydkP^i~nAU}{}ZH*gNbqHr&oWlL5U%vdZO?lJD z0Rq3&?R+{F6y;x&gF}ho9FU|kFX&rsb(=XO^}Y8VK`Y07GTHh2$0r`g$jCy^y*W(? zw$=E6YqxyB-&IfVW_Z8o{0^~NGHC8KtF~z%+sTpT ztlc0I4g^`l{i!;b$b#Rq-ZG~N`a5}D6S|9e`xzp6FZZ%hC|V3pEvm+}CzLdY3Jrjo zeYr&$HV4ApE%R*Ph`&hJ%=Yb{%smrFy!vZhg%KK{By|o;x_#^TqQxTlRA201n@+O$ zdBr00S-ZuN{@3p0*W8(zT~^NssS_LI&^FCe>DgLQ_?>sKujZk>H~8>bcBvpSP~Np|(nc|N>jJ>F$E z16-FH61j8-<RH z^p31m*&uuCDewZXh5>Y7xypdr3W0|3nP7kVh{VtN zod!SkJVD1)zfMVCO3acoW7EKOM?Eoe>{%G*66Q=)_C!MsF?TM@jrT+NGGjE`?s$*W zxWOcw-NfkBA3a&*3XU8iKE_MFAWo*hhn{o<~rA?>$5Mw5IIVrLnF%n@S zmnvk^f;r~&yd?E)Vm1UNsf*Eu*v(ey9<Qu4bP5@L)P)F6yV|)DlDLt}MB3 zSBKuVr65QU0dM=V8Cylw%$d0J9Y}lb7-0;Io?&4fqg2wIfCtv3IGEikxMkM#51yShh?rImEzZj~B2^l~=&?MRi5_tS_wEOJNk0<02-V ze&i7zcaXS8PH{by`bXR@t-XW9ed+!&)?qsxg{H-`1yD{Cni$(c@gGXUY+4H48us=y z<6hl(>fT6uWc%Yt1QOrmA4lR`(AfI0VFKK3!(_jLWakd;DxP6~x6R|Z-$?zMO>*K< zgq3Z2xbeJOpF`5a8G;|&0^T3U<70B)XNmf{Xh@LFuG&?Nvb`~*L~(eNom)=mySi(! zQ5!yP-y)VW;zZI5pnCcuT&b09jwTaXq+U9O(&?#Eyeszjm${S>FjbUrqGlTqIH&%Uu12lM}y2{$x>mV`~8 zLN2P6oe+Sk>GiB&z}5KDUR@`VMX|*e%|L!M(eP)Tk8bR`tvGDLe?9DXDQa6(X60{h zHdWzBah1%}|D2l0af={zY;!-y$&#NEtFZ*ewf@46)jopa9Cwl-oB-Fi@jseUt`*>C zN~sq>LbwTLBrO;LrP7=vGN9+;+G`2iDTKR>fO5p0+};Dk0fK~UFs^Sy(Os{~dIrmU zdO}{kmL97T81gRC(tZBl|tcd zleO)g6J7=!W2^aD@TAuB?(8fj)B_lPewV?->Ul7{G%#S;^cpT2CTtC()>9*^#}ejtr1Mv8)YaR&5ST7TFkwvKL{ig;FYfMEyYA$$Sfr4D(GGM z^6q<82)0xs?IJ)Y2hl`yfQj!oERB-rfow?sE&&?SljNRYz5{8Zymd^TgK7zLHzr1P z`f>e+ow^YZe>b)8v*Lkclw}XVuL<=KikIJn3Tm`H@IkzXUz2gVT49)a9neQU2=9RqL)EjM9(cN&Hr1hKiU-;eLkq|u5Q%5wHn^KBP`W- zK|E}}gX8{1Hb)t`m7N6M=#Ao%eLJx1o!2QmdB8)WWkaE&QEg?+J>SlnUii&8NQ}+6 zOaBTmsn6Y^f*{XQrh;{?_Ld*Rq4o085bzOg&Rl#@(>J*|Y-%WL$1Ea|ZI__TxwN5r zN69&$oI85PzNqIrw;?TG} zKGo_|Rg)^sIhi6t1-V$%L1g-vxz@l`VlY3 z+o~^D{Y~^jN;9sJwU6puE%kezh6xJ}rJJBo`*}c%&Z@Q~4TBfHs+%Sr6wWw2`sn^U zF$O`Aq=(9qA?QpeP{pd0Rd1sa{#ZAv4JJ!>&28_CI{+#dhSfyNw7lEms+2XQ9_Eh0 zzxiJmGC{gk!ICsw@m?8-k4*l`RJ-kp)nz?}NJyOrANC4u9PZcp28CeWg!P zefAvL?GBMh?#Q`va(8o2TS-I)Idl%9whud@!+j1745Q4B24A*{Hq*u9(ER+@Sq*z5 z&k9;fO@2aH((|=~a%S`P<`#8t9MRMSQYeau@Vp#46g@jWAo?Ilr~*6*b zSPtL38S70gVc%LkFhqdPbZ=gPhJ!Ua5-igp73os=q+a7C zvO-zng(px&ydGKj(CBq?3VnO+!?o!n8>9hQkFp6qcBC&SQye*)9wWNu&V)2*awY7* zpkPWr5>8HR00DBZU0=|ddW-NM?xLb)_w>Whc`kVI*nh$`)5Hu#)~%z zd%o^-1iE}e-#sOVdd2nsp!Ij{RQ_jvV!U?Q&J9Ki^{SkO3)-Ct7}PRL;+QoL8~4y#!F~@J&+KZ zC+{$iFQjzqjq(5AYg68I6^~rkv!p_gN?MuZIryB&35Cz)eCau5lH|lor}5C9#AZd5 z+urcwRv~u;>%3o$D68sD<>*+u*>DwgF3)))yB#?78+Vw4tFt^21RyWevck}o0ZEQ? zl6|1b&rJ6rvU{XFe$frSp=__aaSWHi=^dg8x)3fi2;EZEYM0(pc6NLPfO#3>X~Gu? z1oDIHSCE?#(KKO8UWVzJ&A)N-iRT7*_PYPO>$*jyDFdPH^^v0*E3F^kQHhv~!k6-P2V^FdQ%AL%`9(=--;QM7OX} zcV(|tnVtv2Y>ew0ACgmd3}86?jzQ3$e;C&Mr5~G0ILbymTWtW=Q;Rx2{RI^NWa4Led}d^8v}?8Le+LP(z*yWb3gwQ#7r|_ zG*73@+dWfSaZ;e(vPHgjpz_@ov2qI{)RXTEpQn)YY!z6|osyw|iMo(G-kzRmRKMge zA;TT#;qn*bHDwJNyanho6cK`?-s{ZHe7Sj4GD-AjQk_HGzjwyt{r3~xN|JFhNmi{9 z#m!^UO_|lLT`U5!r(dY{#dKt+~OETJ_l2naO4KqLP4GCck_0h?neUDmiZjCk_^sdCWk6!+%O#)hfS8s zZAYp~bYV%17Kx|=FQ=TA5aF;bd{lykxG0KnuIG=yY`E3WJ_S#Y7z&)#WcC0xia__) z6Ni-is41R&tntmEB%iWF#tlMBDcjX_9up$vy6R`_8{zg4&*nVb*9 zGP#dxF!sW%W86Ii(dfXJ5=!(HX>Qsr9TNK7*!#eZxu^t6Ga)#bz-baY%W;^vvrd$` zkTwLxWDBRkn~mW$e2T{RYXuu1Sm}wsX&b+4L z9Q1y_j1JX^>vz*09PS!aEAn!cG7rW`*C;b#ulc%;nQKn)TYiW7OFg=4H3Yl>1ZKu2 z+zf~MAX2KG1V`PR`p4}&@~$-kgOhIQBlGv*^cW6!Y5MYF^hPwsDfI}iaQwE`ark~f zXZzDlN{u!@J(;~|Nnc(0th;;7^E|cc4+>O^$hM@YgEbMB-A%EV1&| z0cPT7txobiRV6O2$?qS}adhVLVK_pwxlJ5mW9gBK;rCqhKrdXDqxUjW1!SYC?Atc+Tx zHY{7-u}yxKHurcqEsv~(&dHZRh{~k&8FW%9T0FCNzK{C{qdQL9lSNQ>XZspX3!W*Ycf7?P0 zm9kE!73wj-mK~vztO5}=su{|2n0x|ugWIE+EZbddn^fC1QVS+x^ZCNr%j!FZXkk!V zs$r3!pVT|2g+ARdmHB~FuK&h@(pmA43{_cDPtR6@&2qx3J?!}W73!QuAg?zWLvHEk z4kKFCIh+FZ%$k?lZ zYhFz5vH1g|Vf*rC)#3iimkDvcp4Hk#(q&In^xYmmK?~7<0&Vs|2s>GYIBGY-iJK&@ zfVq3DU$8fC8Bex+`{&BPAa@9xe(%NIJ>!9@C=@f4J%s@@Wew%~4s*v7qV{|5kc1}4 zm;AZ#GEk>rr1abR3G@R;zLHEBZl=G|D;_2nz znDbdAMsA2olvV{A^95^_k<$qK>K&G&D!oXL+6)>9a(eM^$!NxU1@bPR9ceMOKu$W} zq~PFGV&IzGyA#n++vyymwNt}{lcn3vwcvjA{ra-L zih8&;U#7es4w1iTwj|jFA|7=X`!2+qe>lQIz@u5uP0le7ny#BB1=sxYo}jJan2y$7 zu?dXvCC*aX`b1a^8x39P&8le-436XBfSrf`OOW>Mef##aJ$81w(1)B^Fg(fP1t=Ld zb%>hAWMCw8D+l;;Ig|Ki18HJz*c|jA6p(oK zogsfPVoRuir|zQwylKO_STn;5*c*kot02ASC0zLfF*}go7Xn8=fNY*+YS*JbOn*UL zx6qoTGfQ$#FsNJmT?cZGG!W~_vlF_nJ3L?HF7+7X!~o z1|bHy(fx8c;+=qX_mkHTO*7YJDysI6$lw83ZzNh|aMW*}fXfJZ*y4Cs zPbDIF00aeI?=Y*dux*Z$w{8^<51RnD1+Vlx=_8V{q*Z3kpYo>kJ$k!v0QHg{qNU!1 zSchP5y=o>KKm&>RR;@L;cwkQaJ~DhAV95v-s0<+<$RM0=2#z%bz9VK7uRIh-2gpKv zAUq0B$dd0?dB~74HjT-URs4A>P%mZ{4Q1b<);UtRxHdUbxT6T4Q?j~^VFE98H8pu% zpa<)W^jiEYO_k)OF}lE+I+b))BG8gr%cIE7WGF?Aif*+RQsmk3#eb|(2KZ<4>~w$a zfTT!;=pOfT`Ns6$>ezHp$^^&`Mv z>{#*)dAqOt>n3rBYrj@@r5UkQh+ZI$Hnsr_#>jc>G6w2WDm>ENshwl?;`UW12V(0$ z0rZVEmHll`{2-$4j)6IwTQ4(9Q#6lvrt}YCrI;v_`8h10Y&(W9ra6hb@h}z?B-asC zU&>5TgTq!8=~9CLjw_~|DIyWTu>~{PF)c|RzfWbs#l??n}S48Z<)?D$xshg2{Yl*}Tw-AVZirPc6%d(23fHM{GXV0>25=#-) z(IUwpY}0h--e%tnUYiF+igW7r)qW|gH-4xOf}n}YB~VH=^dmK&yhY&}LCc(n!X=0o zuv@Q;om8x&U1VL=Sgq&PD6sCbLLCqtnX*1_2712*`x3W$NXNQ{m{0mIKVUSLcfp`o zJEun}8!*-#*H2!BuAi=7|4i1OUw^Q}k;!+(>-twi?DM_NAkn1e)ov8{87Gs!`P=5C ze(FT%{-=pVMSG|LLX#jH_c5Pm@pgDPf+7`absKQ#mk(t@FINFI%{AAiDqlCTEz13zkHFEqaE*I$ zxTnevOG`7Y3f|nvJH^4Tv>R0^{3{6a2#`!*P{~LjI+Nx;45S~fpt>+7^|?oL*{$~Y zg%RrTmZ8r1m@Jwq^WCiZhbf@Ly^&{`lBzd?0rziNS-sqccw!l;jTQOa# z?YL_D#kalX_YkZk&&f}4WTgD!lMN?}+@E}V%dVd)o1d{SCfL&QX1Lt3{$QSd?E8MZ zG*vlSL&;vAwcG3FKh)t@If(2j)VOasu--hYLDrW3h)}eb%Ak~;?v&Bt=fzBf_l>wJ zi<5r9o)7>v>9|;;bC(np#OrzrvEMFP3r&1)R`Ptwsis)C7DKk2na?s9^A2pM5eui^ zzkdG)i&al2Po}q(Qd75AL~n|lU-Fm7aOR_nknCxBHth9aF{af}`Y7TOnZ~0Me zk)p8%u3eyGr#~yc%ZjAbe$Wk4Ge?N|&C>4*wyP{41uGycDNQm%Q(C{iKyoy(*`ur# z%`+V^u^bw%;7pvauSXlxAI7ixEjGG7~lg;fKDUl|QAhCmi2S6P_5$R+n zaP;{c@78=4GgYd-g zeFPu-@faCR*{P)Iend+vltP#a{7XyT{lame=Zi^m&)^Lc;Pl>yz$t(mvln#5$R6xg zoNo1Eq%8J+^3pT`j*G}`s-MF&;-aJE8n`L zw#Hltm&ZYTi90_S*G9X{{-~So(>3UN*Wn&9Tr0iC;9rjIV{jg`?9LqTS6-bQL0px67-N;5RHiT#n>?y`h=DtB2+bgr+Q#3^&!mSoN)4Q#TzKo8}En zQ{*W@3J91F880i{uaPphb@hxA|Dg-cCS|hc=iHmw-kJcFaKH=uV6VXW?J-%s<6eET z7s8>Vs7O8kfFGzwJtp^TP%`AK7b-AeBQK=0d@Ar*+@hm8E@k|1a2rYfJ3lo~(f4_{ z2ir*8R<&aObrF({?xJ)7NC|KyOGalidM@Uyq9gI*lftC~c;%ZWa0JtXc*RYNMVQWX zXbk<3(aUx@D8D8W1EaGH@VifD;m(G-t>hjKFYH!S+rcS*$xq9r zl|DY#LIAsK(!4fWP50WopWgh6pJGsbx;)aj^COUo(A9-db&m)V~S@ZUmL&3ROfpk4TBhzbcF7bQ&Uc}KBny~xT;+Cx2<<%u6I zA_3}O^}Muf1&ctx|GZq3faRZqT8pFd(j~Pp@;6DB7x^-?7liHKknzg%+ZQ((`)rK5 zc~k*wc~0g-T>p7>1#>I!WJn$l?%WrCgu5Z;FSgH=%9*H9dPdIeiEDf23_&oLG? zXykyvFBGc1i)J(^Ho~q>hdje8ddJ$0_=5GF`@yRKFh?g**PNW>VRN&Dcqi1-7)3^n z`TW~i@(|n8JQ}L+OY32Eac}z?CN)fCSzS*^=6P7C=2?Rh z%U9k;kBIX5S>JTxTIomgtnYsOGV3-zl*MkPY@3&s4Ni5V&v>x)W`7ascF}Dn$>U3W zTShssB$%-4SAgmb-S5Vo*onpjy25F5v(AvB5BQl=diX_SP4Cj~<1u$JZt>jR$>$%W9yLCQ znH8_~=;tPbw06nWVj4Amd63K&LbVPpa)oeHDUAf8tM?Q%LNa{{ZSw@ z($9-A9iQ_B@Sjhf`2I8DoQLRzj?2x=@UrOde^^N|wlQ{&O3ZzTdN}zeO9Orlsy0Xa zWSsdRkD!M=T|A?j052cr87BPTRs|yT0eC{KvKnYZb*pi`>{@?!jljOOo~fOcQhl$9 zY|?9Id^I4JDqP(pWc35%+3JKP^$2Vl(-+O5USxgTWBl3u0H$WYJN{M`LS5JbamezR=8y({{fB2i*J>nNE z|DRCeWN>x5U^lLFwpo2BJj@;NH>RG2)h?I=QqV^!WXB?@LivQPha;s1Y$F^RJkhM| zorEj)Y$06Xs}Jj|6(>_dBbx))7Y#K%fONV*gJf}8v(J9@j5BSurj_Wwu z?d)3Mqlj3cUAy>O{%23nW*tdg^6HcXW7cW_XG2BW?ViQt-;O`(@|=pdTYT&JwxUh5 z3beuFjE{F322TUWMtJ0}`pu-FZP_L(tkhmB5&T`1ni)Q_4VlC2y6SPE$3fpuzhISu zdrpecw$(F`z{J^Cw|f7`Bv)!z6;y!E@CHK5&3bkET52a%mApA9^5q3;Oua@(bdm52 zkqMm7tTKY7;gdqLGrp*YT*+|wI?L5^c9+~8V*UN3{-T}?8g4OdQEO0U{i6D>?vGIz zTp**)S+5WVPMR+Ct8N8Z7L|OOs)GBwlS2Yi6%sQ0k*0%I2+H3}^S7pu*t{JdI3n_c z0Fg*qM=qqbA2pb$dw0)X9XO@>Ay-Ne;ny2+G|3ecG1M#NB$OrS`sms40YS&WwY(X^ z=0wU_w?6H>%09P=5Q~>B55u@2(qv;$kJ2ka|378Th-*xXtj@Z(mhfiQmH9V?St5bK z1K$^nj2+AXx}L1=UNGt4(unCZriL7x3{lgkinLg9urA(*T?3jnDGh54S#RO-Sn}f_kp+YMfeIWY=%ZPNh9FM#&M$_ z43WFg^Cq0-sl);EM1i@;No$djjK?1 zEtQB=w+&w-VK}%`hU*Z4>A2mtiwtdrhD9QL;K5>wVmTLi!!t*`Z<{r5>O2|sMKG>9 zC`izg;Mv~8nX9%JePl#!-0XgLqS9IGM6sLRVnU=dsENF&7v{B!%OHpm&`WW>MqCOpz^y8fw z+1FfRS6d1>sA03@EtT*TAFDuXhq#CPa?WAYzjHT)v*IZ)iPV=;$H3(~L+{ZY>cd^~ zTsh>>5}8;~@31py^pwV48{U;5EhPWS^7NHk*Uck8 z0hXeN#VPCN=yLn0Ji1rbV~NfJ@j<-zKi>Nbp-c^+Ixq(QS1`T*vL49d1;CYa*1wNB zCqcdd6n&HQ=YYIQ=P+8@{r~#XYI~iUu(Y;9&G>a=DFPko38@HC%eaOSP=@X@M%iX< zIC#{&*&l$C@+Xq@qwFnmcGuehW-K;YgA6^UV}{Vd`AjOZT*$FPBsaejkBO%EInIQ? zFS^^q6lIu4;C%Jh;gm#X5gVT|Q(9_7JuQ140fl58PVjjCQ>Cg@F1;2e-DQmcVnZC& zTG2puvNp7M?k!NXV+6p=jQytoz|0IBoftj)HniypF9RV2VdkS%Ody>+26ZbC)3@Ol zg^E^S!N0D0d3&rSSBmf&OW~8GW6FE+!e*XAqq2ezcDEJ~`ccK4R5P`uPDPA`2YASlxV`k2 zgl-A2z@pEDWY{$d$U1)uyo@Ja+5@BJ^SP*Q1jCPRiU5K@eZPK6<4u4^nAC*ih>KQq zu~j_YbiR3X0k!8$+$lI_-GcOOtO%9<^}B$)SZU#zD0E2IDW+pm$*`sVcN zX;ENGe_QJ?uT{M*e}tpd(L6MkP`4Tr=H1kMB_zb#zmoo?Ggzf3RGe^_GusqBCe)T| z!s_GKK&y9WmUlf%Enympv%bQOAjux^`t={5?B9H1SX#&VQnYmFoR-XPj{cdEgI@F+ zY`$EX2@JH&natV@IB3W|&2eSLAC!GLTRx5q;NIrf>w0b)J8bj;GU1?V* zU@c5@1m>krY_xpSfxX*lK#i(?ssn7N7bNIZF?3rmABW*^LY2Iw!wW@#?bji{emW=w zH~zT4^X8E4(o}acp<0O$uSAt2E1nb|WO~I8In{+ss8%AxD^bPD4yTT>pIY1BpuGT~ z+`sS9^=m)*1kc--h>+ET36TP^+Vl8<#|6B#E7?osu+6U?JdrL&%)>~zx!Xv-ISbNF z$jc^YhrKTJ>ko8ZAfZp9{uJ$db_06mv|l3W8`NO%zOqG&FqrvtwY3{ll#|1KVo#hu z=!;X-z8lgtuD-kbE`S;oceZ_(pMEDWc!`8#$VWykvg%&sW5PBQQz^u>I`V~F6x!Y* zqOxhn(A)M!vF2&^i&WR{e^_VZr{!Q{)AKP9Y-cH(PQn^UYp#1%(v4$5uiU09{*31` znI?k$Z1JSS_?sB^gbcI}l0h$#4SpM}dv7jp!sjOHS$~B&{d=70Sh65|gG`V7@22C< z8f}SIwp=y5Y#usCJ%2?0TEWtS!zvzU(h^?%%53aY^iVGJYfrs4n*A1P@Mo8W{ z(S5|-gJif3-6*Lf#o$}=Z&H-G55u5ZIuM35ANfecc_6kRE;Xx)X6xK7AnI~^Dr~`j z%m!WV!3SVghR=Y*N3VQ?F|u%ta3fIlK5vE8ER1!_OHAc^PymmlC=WvGBF+o6sKA$>vKot^pc_!}iW_zi{Q03!5 zMmV_(eX<0Fw=*c%OndSQz983`fg;;^h(-zc$h zKqP|4UC0Tjvqq4zl5rYo?nPFiQ*j8-7D<&l0PIsyNnKf*OBfY9seRp@VCAvwER8j* zOLr(-Cjpr{!=AtHCSDBnl*|>TUcpn?t|BoXg93I&67%!i0RyGo3_MKCIL50SuRK`= z!=E#RdW3Iyvw~Qi^^X*;&0$*nqwXAXJy53#ZIi(i=p0`8`r656mA3MaJs~nxhHDRK zJb-Kkvdb9H5#{jY;&j6$oe(V_=4yuxum6kJUySG@B5HZ=`1raVKTk^rs%Id>c}~oQ z>I+WDr*ief#Qm-6sc(GN7}}!E&`uULZ&AA>!xM2NQ$LQ?T#d+kXlx}^3PE^3It4T% z)5SCNW)R*$r;i6&Fu*?I#r#iAV0nv;SO{5?sg>JApZc-T8M%`*``kb9JO+`C)9*1m zLnDnd>N>}Jccgxd)T;F+^61^=+z>CJ$*#|(fY&F5u5f)@{*OBDb<^m^53=W0l1p5I zz4ww-7@7gU%V2~ySdRh5__NZK*3cqa366(O%m$a!^Dt^;jiGi9eV6<{ds)_t<~=4@ z+pifRNP{dVX@oYkFeFo0#w1+S`w3}_9IKNZqX?^@ozWyI1zePjlvoudLladY1!O48 zsscb+GQ+gV&93S-BLiL91V~d#G8 zNYQ579)lxeCTv9A(k+A|5UZ77xR^xoAZAUeOOS{p$~_aiz_!*Ut&%iy4=<;s1)akr zqZvQ&!vo1(vTO&&XY*V1pXlsI7w>zOI{EP6j;0gi3-CIMU-2IdRHOZTLcH6bav!-3 z6=$BT8tr|dS#Z={Cqaa*OM0a#cma1wQE<@tFZ9&H^N&}TbeKO6L>2akjAl1NsZX3n zM>OZOa>_$01mTBua`)NO*?nrs?8Y=GEw%6XJ>a!%VNO7eA*5VsYquXpt@(Z@NMj{a zJo?L1$C#HC$JMd#+ApGqxrFS%Gj;jq>f-d4;JsZWHrn{XPyKXVE=*;NLxNW<3n_Vs z0@t>1brLW1U{e7J#ddF&uVS=)@gxBp6TNv%kfYX2HYtbX5 z_AEVwO<}ySfU--`tSk0Agp!t-mX+p)P%gS zi10N;Sk&nHTxRXGF>Iejg?|(Yve+PC;Y%Td<=k-!#bz+DwuqMmONCno53-roDsAg9 zmme!`TGOmT9+}O>qO0Xw;xEBrQ9Yek#cy*7TdWfm5bX>){;2K^QHHt(zXI|Jc~fl~ zPl~M-)6G5iK!sH~=frac${V9g#!{5D%Jieq zfBoj&2v_Yy&zOaaWm(dutf!VVVwMs~tjAtMZ~wyev+}3VC~zL@{ux4yP6>67c4+R$ zO46AT+)tPI-Kt4{r7tQnRVNOz3vd@wQ+0&7!QY_os+r5MQImu1c1>@QE7xr%sot#= z3GB$WANmHmREi9f5Ze>&QK;|=Y!L)&H3+8pN;Yb~DP3Y*timv*A?{2{pm!OW0P_nX z@3yVDHBaySYbBjBL$-Oxi9IVg;8)L>x`z|Yqf_xPsS(A65WlPRxK0*} zoNV{vZ0>!3zW*}))F&l0amNm2b#9C_6rMt)t1#Yk7FPZ|6>;fW!A1Iz241<3S8lLJ z{q?em;etNu_TMsIFh@rqbp;m*dqJyeBPZ%-lKKxAw{O3jsfMD@e1T*EaH{0w8BuSE zA+iIlPnKuZ^VFrsR>Rh)o_ny53>Rn&N>kVjYn7`4Qhb;N2}q8WH43Am`$;Ix!+m_S zj1L0n59hTR(~iyG88btgk-1PJZW>3Axl+EAoyL%y=|}wf$ciixqNj}aH*@^ z|A<-S3(}JGs0PA%{);8ugHO{(zrupOzvTxSJzT4)YZhBE&eK&vstQ%qbitEN?YlWW zH+*L7v;SKDi9yyU-PatbkIc%Kzxo>ackgBf`MSI~eL8y1RHEhX2PRiMMbg4APnJFp z+QWOzh*VFuIIifha;DdK65B*)W_~3RbO}Ql#^}GE5ENjjZI3q;s2j82`j3CjbGzjS znVCFv_(6ZRCSjyG=qtH}BFsb{e06?~*;yFd&p0wMv4bjEKIXUtD+fHww*lEg#8@kW zZBqOW*%dG1V%dhHAcdF$56wDoo1x;Pd0i#qIZPyoZaV4k8jFQW?vjOd4`j!+FMx~h z(o1Uh0^zfb@xub*MQ8yvryBgsW;g(s9=WN3QVbMF8qR>}S#aQD7dAWrVV+7IkSYo> zvhT|Acg!GZ85xe)aQL#J{8bI z(I0}7eD3;?jfkm@8mZWwBdOMtxD>d^^!^#UuX6|7GYlf2sGG(?-^CJH$fxo0rHrVc z{~F|_o6?+w6>4j0p>ZE~>E@$ZJF-7#>xaBJxaZiUzEa?BA%s6X)aMVCK{;`ak|M={ zZ^sLae4PQ`H*nH`RcBj3;e-#J^58O#ik4!To^@E2}Fp$ zKq>0DeJ=IZfQ4*lz2%tH{nn4KG5>+`5^;#tX4lvmI`# zG-yiar~O@!Wx_2$g(|%&q(7ohbn<^E4*4OJY$Z>D&zjtqD8fp@k31pC_J(U2eVid@ zg?UIOtJOG2_Sg8}kUDhIQ}`QVsHFJotqNOwI~ml%@Q)^?AY}c*8QTN0Uf*SL{eo49 z3mcfCbgodJ78W9VJmRTmg)#5G_s+OdSTqwY<}&N_iB&F!0`|4+azXFcQnH=%l55)F@(rx_hy#@fVnKe8MME$U{6i7 zBMkFdDz5ve>=h^U71|EyvKQWh#U~y$!-{{xT9n6!7Ag=drcc2mLVtP^oi_A1=$_tO z7F@fvjt*r18F=$?%0ijnoPS7=SK{pZr7xU4J*H7syDjSFOaFVk(IUHmN*M2oKh(8f z={UXr#5`c}jy(Y|Kmp2z8h%iU_dea|%a4+awKb&ZM#jXPP`03P;Y^ME1Q~WOnrIDK z+pc3|6w(f6q@(xR>dyoFXX}S_;cxIUAsxMBuUii*z!bQdC=$xhz;=)>Y`n%l2TATO zO7$5Ee;*iPF2x5(nnt_sYn3>Ghl}<-b>b=*83*mA^z;54qtA?w!U%MJHQBX)H{JTf z=F|a0JuaR${SXARa)d;pM4gc|F;BwA?8;Z{3(%^PIoBx{M|AN%eQq9C#1$P{i&pkO zm+ABY&2(Puy&0&Q)pOvsfs<+S;iU9(B4Zsv`>4mNhr96-l@-cO-E>z8?5T^*Eu#uV z{o~Cqchb-x3{eJ!OtuL0`%8f`LaU*UN4p7GbG{H54Yt37y(%reNvFZU3RnlkybR|Y z5on4|dH;icg+$!mfXa;DEXETve3c$OKJt&QPa`$K{Gce{+*`{0GOU8S$HqUvZrpS$w#9r#`W#Oa6dKM-AT8`kEglx z|3ysKm8t2E+Whqn*z4y(kHW**Dq&IIh^_gd)2D+$X2-m;VDE+8PqdZJM_`%8D~4EJ z(|gDzaL#|8hD5p9C+FBwxc)%nC^ul_5U0m0b5(Ll>iHrEIa}l30yPXyvYIcFO*zCz zD=Z=R;q*qAX+e~r)U|_Fh05~V5jlVRU?*msT%?}*=xp@76X{-^ap2broqe*s#kl{> zT)G{jcA0X5)q@v!!~L%4^mCp-?JE$s&9Fy+r?0?PtQA5t^&`KeRK>&>ql@wW<_L;s zX=M-_&d{Dy60(mup~NtcsD+oF+Ev)AwxBl$ZIjtJ3_frcE~NaRy?&4gt^xG)O&D9Hc_(u zf^jSy0j04HkVm~no(%q(co}xQWxyKNdi%CtxTn*ge$Q55Flq0%EkRYwyqQYlKy^XT z`iluBVRZuLQ26%0We4FndFiXos`#yc%Ab@y%|BcUg}5X%dV-@+knE*UD=s&R0fZfcGwonU17x!(?Cg1v0X zgUlF-l3N!&^JYH^jD8vQ`^BdJG(YuXk3nezKlKNH`}{{sjJ3x8^p-K6d7*FGaXATq z#OZ!(;7aV{E1^VJ)X%l^}9JYsNTPuy>L5_?Z zjA<9)q)n<5MiWx39`R)HMN*`QA3`RA2M!Q0@~*3pD17SYT|O|4OrGM$A(2Cwj6xBT zTGp9a7C1@L8!G3k4?_u*b{cJBgpwehoOLHT(^HuMW7QTR7nJTRPk>hFlam;#)>1=d zb!<}nnu+8EJICmfkQ7Zdy>>PNn5+{3A<2lMhVt>YEX1ZSGCXrE@|eX2{BDKTXqhCVGCbH z&=^-(1zjW9fE>^S>^_%>5Cw)sgfN95JjMQPq(qV+p&TQ)$|r!CXN-2v&~db=eXAW= z?oOcMpYSBn+b+D|&L&9%G<$*c?K3uNO8BSa7qAqZIM?11u5y*KP>tM$3at?s)z6a< zJX85L!Kx1r0K(PIc+t3=?>JL*eUa$?Zc%jqJc*nr=1|C@;BGsVMINpB5ZOiX%7*-Z z{e1rNSPEa>Wi=L_9Ja~sFa%uzxE>pG8={EX7u7@u zlg=Q=z@;>1dT>G3AB%drRfFlLF(nv>)zmAT@*ULn{vlZo9o1A2{G^mRo~!+R~|itK2X3dis&-cDtYN>4b}zHu;iw_ zt=W@Ec!7%do!eU{WzhQsHcTVePl+mNwO zhrJKX(Xe;4+LTnAnllmJEv(50rJdTBmvebG)RY#(RtCM(Nz3OqJ}J}>4zXX9M}}|I zfHwsCVd&O~d|d0Lo`m@%GUdA23FTog8A6#q?c?_*t6jYBb%NLbJ>X+V)iKrQ9MsO0(7PsURRlM&SoD6NDz90)mgx%KAawR7ZEQJL~ z53eppjg7AE6?C)~4|>~#(WEBS%oFC)!5$a*X^3a4{%Ry7s$$ZEjMeZr+2hcFV6Wa% zdjxVhs(_7n_=WNdTDxG=G-@U6{0rOqa|9-*a0bo#Y2vVxsq%3%}h#g$o*{?EKk~Vs+)h z@Q$&OfDIS=o1%Fc@kx~MFv9vJ8OlszV2o1JDfQfc1q={Anv+agC%j+(*Er}^%?pCi zHrFl!FfO)Pvi%6FR7kT6|BGD+6_(hY{}SOa>>Z*?bo-^PZiSh9ZDvJn5lA ziKV14*PRzwyZf5&UHG!0=PW|ifT{MSddgVE`R?HCZ)#+T=~#v&c3VciqsaeP7k&4 zWH+k75<*AWXyPib74Rvx6A!j}_|}a$+%1yH7|W_RO??M5_gSk!%}+qh`xCYH;(u3) zK5os>^aD5~g+V{g;j){ z$XK-0)a|awxDC2O)C6Yxh0tMuLLdI3BjGx+Pu^3{;`DQP{H$CtthR*|weXYkyz6zn z9S_B`$)jU2s+SfHkNI#mqS0yDeKmX~5Qy6}51+y%&1K6Jy>_&heG!l~I7sD`1#(Ts zI{ee(V0|$p=l%k#q*%|(nxs7M5$cycCG8bE5693DuAL8YF(w@2#GKnXb>J^T#%pIsi zjLRZg8fDwSXK`fm#MWC;e-Y!=so11^UhOK~q>5bP)v*Ktr>abmaxXgOT}QfO^hFgG zsFMRq^MgR5azLCsg(@mMd=%|2t4MW&vZn{o8~XaMx|{VL)6e7a)5)4)l`W)vHB!fP zef$VHSmj_s!(bW_OR_a@N+ovn@j5p=c+(4}RAFkg-7(9lGxtJACkWha7EXf@rIfqN zD9cDblK^wgBleHhpAT5i7!~>8J1@yMoI!k3Dcu<7wt1Yj9SKf@UO0;!ZJB~BboAx2 zGRQZ>dIjL&F4OX%*W`6Q#o!fk)tay-Yi{xP90odx%8X${dN}VWJ)TUFuGM)R&^ONh z|I^cGKQzmgS8pzk;!r)3jK*Ep^Jm0L^rR&lUiYiAM=g+I;zwAYw?WU><*SFuGtC;XpNmdH0AYuD+g9?d4?9@S3cVWlP{)hFCCy?y?4 z{)~|p?I+auI-Xk_vaH!d@y_Pf=B9Ck(mJ#FtyXu!)&uk|6gPo-LU)y5cyQ;oq5tx^ z)F0K@&%G>=)#X2yIWOJL{L^gwoV7nO%kps0^P+rf;9yuJVFxp1M7i(GWxS`^CQ^r< zec=A{gU;QrXOBGVu!-X-4;_T{ggYCs9NdQ8Um9=b<8&*@I5?tf0g7FU-!7eaQIa-s z>?AlZSy*Ew`$s^TTsSF4_LC^!b<_VXJg8+6#MDiMLmk%}@8$MtlJ8y0_iM3>-14zPl?w_RL1y_d=D_H;z(B=TWZSQ6b{LYS!6T*s|AY^Zlrbc*YE|r zdHh`KRQH$dKQ5gQZ;_agvBzRvX`l?nQDejc+`#iiFWN3j?v+4GkleF=k!3xhiMKve zhei+@Z35YHmC}mvdtCCS7d{1fTkF#xh!m#kQz?mnr=Gi8Qm-uOl^dSN?-&QlAAfc8 zK?Ba#*!uQ@4A`eS9D;RjOw*%Q+a2b%%-E)iqfj$5tp4-x5uHxsVr%vkrJk_pWcXq5bDrr;Rv=5*cOjWzmelXN(@ z{7Q;NkJEpf^p*ILw;UQfuGk<_CedK-)^bEFYNgx)T$0)8m zbLxcq6ZEv@31<5MS;GV-T=3x)8TDx4GGb_C4{c2>P?# zTCoxb%hPaF?fjO&Qy=8ps010)X}RbYjVXd5XaZW`#MhW<=4=~fWL2tUXfii?G2KvI zJ%|I>YgSG0>-pKqdJmYUpo^r@cidmajf5CcZQo>a?6kR?S*o^$lDNZj+xt+AyOvx{ zQvX5+sCJu@VY%Ed+dtRKjD?+U9QK3T1985eU+CFVrvK#iD7*O-GxQ$_tP<-)qnBCM z0B?IKM!Le9*K@X{|E3v0-m?+W2|W*{HmG;?5>sy+aD=`@e*#7qO0T+3GtZ6q^Lcy7#A3f$ zk@`RMM5t%v!NDpLwm9nh4#PU+<4?}L09!;w0;YF2S~sMGpa>Wg&|Vns#xs&p(3Ax- zsTah>AI>p%hEj4f0OBl*Ch!qak>GV&*41cySQQ zMdre3>E=W^>w~HGs@CH`YCf>5eI-0d%|cHG@}qM(dvp-DjJHtPWZHF(6s7-!kX{sB zd}BHC?1s&%djMM}cFGIUy-06)4YDLqXE_0H+J^%w8A@BD+E2bd>4J?%aKZP`Js$9r zeGQd2-S3Q1Cz<5oCu6*zd)|!~o(I(j72Y{hgaXhyjVhGB*6Bd&QX*G}!|F~6lMCkT zk^*gb|4PZSUwBgikh*bfhrt8;*J>aw{uUBYG{*gTOgVrmdtjTDhu7Vo5B&)n=nT3k z&8H0nw$NQ5v#TPHOLRZOp(m6gbu_Hbh{}hE$BYy{4yIEMdeu0jq+sYMeR~M2u0~-q zjj}!HE|9q}8H_F#^@3>at<7%0%Wx?MLFOXPVRW&;6yDW`2F@Kt9;gP}uGzpDo7#m( z-rzZTt&qQ8C!W?DN<|n@xR?atQ0Sbt#UTMmYA6h@ed=tt{~_`FYqNj*6p&4vx%B|V zB1@>ra+yCt6h zD%q>Ul!9vhzKUJ}ueDz`zXuxi8iZhWBjpkW0&yUX^=~w^KaLMiE7HTZ0@@q+fkUlt zZ^u?&P2fP07;Qj|vcmP>0b z98{WP)ha4m)=zp439_9HBwNdY|C7O=lL`kqZqb^9Wac)p;EhB_3J7>E;q;}&?_gTs zE|@H&#qSUye`K=7?jb#w-b^lpu0j=pMKvCiOx05eKnvFCx6%-GL%DJz-XpOBX#|eO zjXpXx5`pL3O}>f88I+<6GEwoNK4OE5QULmZXYgvcK0+NgS-nQLS`uTt9f`wQx_inHkVLV@PU;o8pg>O!b<78vg0y{8T@%I_FaO;~!tXLkS@C9ZEtcbv_hp zJMutl3~Ix=(deE49sr%JMZg6v`#+&pFkQ=zLOD=vn7 zH9nPN&z0ZoumgJKkKLRC37Nm9t5@NUV`HzK#k?6ZCgzoET?1@oh}dT1_2qI4j`|v! zgD3`Qmf&x-G-x;|wbuC?cqKUbn$fNQ9Jaxctb7LO(v$`zO7zF#re{4$74a{snEXhc zAB7wxVua(({49`$#NFe3?_e(hw+rRpIDSEr4+9kF*7d(n2l%mr+yz{#jJKM#|l^Bj~UwZDCepi3N z#4f>f+m-mZM8pz(SBg`u1-2{xxOf#&$P)d7>SjE)jhjJeP{I;t+L2sUUeI$~Iq9_- zN*@j`S&2wO!edq$I`I-oJRJb^L%#Xu8jw1%$w$jU>sD3H5=*AOCG37X5=4Doj>o{9 zQri+8mQQaB&f!cM1NV1Z&x3aU*pJ{FcGb#(H-y9`#9TI|18fiDV|_VL+ns~?rn0my zBqEb7YN|;v66+9>rNoE+?a!$nEd7ZAEYr69czuy6LgFWbViL?Y?}! znhDit`=DFl{3Lxw-@fzBb1r_U^F-)KF2Fiwtr#}7D^_80lFJE0*&H^;KBj37ANZwYmhEQX>m5_Q6tq>>c?{Y7_qF zIMyy2c^M~S>T2I`CoP3exy_@RdhbPS%(yVp=m(sENhrpWQ`Y@j%T3xyvp z8bO8f>@X+I-#0gy63}^7OY~fZ7bboPj^MfC1N)}S7`gE&0EQKf~D~)xy}X8R($bMmNr_iZZ*9!uQvp87l{uMKcjf?)<&YLp5r!Q4~kw zz%y?N@I`Xmp%cy3+6+?2Z)I1D_4O)KGAXf%L624s7dr?X*1`3#x~1qOaK=I(z(MPe`5;QC)VD*^J8OoLm}&^4}nKugoC|E z)lbgvPj>XiAxtu?a=uCS&4_EqYLoYxN4tZ_V(=Kl zN?g=ju>)Fu%AldR@O7`8s~C3IG+K;6R@ndlMhnan{ngdQvk8B51R<4Gd5L(!8f)2w zDHewGW&wY>24&S4qH8wO55s`XmwKK?y7qT`6-Abk`^Ukh=d%YU{$T81IH}r_6tg2x z(llj$)2j_8kx6H!nSP}fTth`2w&@N#(Vtf{yCc79Dn{fLS@EHrsH&`rI>-%j z9eEk-g))_GTJqB}vJzG3*=wvAUBEq4exJjaqj2m&4Zgpo5xM_Z22k|=UF8#O;f8Si z%}0|L&F~HwoS@9cn2)O7x)lc9wX@m^J_u=TY3C71bAkwwk_&W#*3`xJ_LwsNJSxc| zrYxz|OsTsQluX%k-=g)&(yQjJRB!qE`uU2nsxKEN^(DcJ_aBaclM)?aovND8AtG_> zUYukhD&hjkQkKL*FGTz8PGid$KfI2B$F~MyXB#j4I=ei1&DH`MZ_xl|glOecrS}fY zCcGh=xFZ>nue~H4y%@i!6egQcqz0<%)SYn+tGeqCb}TU5YwadMu-!Bs*b&k52T1>( zNe8EY;$33bW!P*}xy#FNl^!i%>qy{(1ci$kF)RwxZP61*T)7C#tCc<#IJm|iu|sD- zGsUB!`J8txwC{=q)920#1nYCW3GN3p64Wg>iCJcVpQnuK zYy&s9b{j@chKbYqAk#{foa5QWZ!ZgK9FM;mL~+_m5A$$WnwhLI|I$09wYWgtDth;q zXRq}wcpVhIh?ifFS{LH9+qYCd%k3Nfw~XU%=E>{_9~h!T_ajMPuY4BBwF~0UycMVr zPkPuyjQ57(BsOruMm~ji%|QKCsC^{eGr#J=<&w3(p*Xd{UuKRf4->zp2sHh7)O2rp zlRr_jFf2#^hcM?x@3(qXC>mVYpzWXK~&S-n`d`=d7g?K(;!fi4|Z<`Vf^$3#PXW1YpK& zC6!tqr>g`8DoyMU=--pun!TZHQq9aUO=3 z)_VvfqPnYa6>#!QstKwEQ}Ir{7<>vp#LZ9rTU0r=vowU`Pg>JPe7KVY0rBF!)W4=$ z&4?i5ukv1LmW#JGJDJg{4mWw`*?_3JjCTk))xl%&9tCDt$MFKNXi*99zCroPV8B!m z2^e=nr*nQ*Dvx6>xdb1dm%$hC+BW3%$OZLy8=m$9?$P?GHa{>-ftE)_{N-48Dgm*( zxNqEFQ)KR(VTk+g{QAPB@)-L%^5f*vta`jh%dxBmF8Y?>M%uVOmvCxlx^Y^;d zHyAyMuma{;oGs~hu2I1&0!g{!UEGPq^Q4=NbipF}m-7zEFgQp|$wIPcmH;_>^wfyB zeyLvVgx}mxuLDl&8m~SC@X{(0|1$7Q(9JEzRik%H{$6qVJ>x{XbH^A=@XbODIR|F< zb@fE~_Yruq+eFc81vw;0wdZ2@Cy}%MP4Qqe{B4fF+dw^?{z@JgBiVhv@?f)D8?no6^kh9)!{%R_$ zkRTkl#>443TJP>gZoPRx8AnKUL^>;gVXxbOW-rdG6_)4#RyFwYn`T?2X`JhWuovOh z(ZL@o7#*9=HJ~N9zUHT2Nbk`Mh4gBIqMm65qJYi6`}%>WPs()6dNRlOoH#&gj*bil z-6^`yYx#ap$dpjJPSDw5quLI+9F_%t5jq-q4BbrDA}6k(TD7P%uif*sX8}ToFwdU< zOcoI^olN9Rmo~-w0r$^H@N`!*_^e;>0kKF;Yu^QiLBqTO{33db_v%Yplae!97xF@>4taiDecIE47tI7|n97i2NbwQvJsd=vxoMzcR-0T>PNpw-% zG}9D-?hab^E~n7V(vIwY#KL15%Buz&ylw<8ytvb!Kop_y-AMuhcyT8|{hC0S_WZT@ z$CAi9LOf*`fnuPG8M|f@;9e+3pm|!!QCjU%fQL_GWX!mIGyp}{;66oxI-*GM`?+n1 z>G4)7wO7U!r11Ew65Gj{oR9m}ZMm0RZ-PH83yI_2t4TfOdrwQpnuL7{y0EVozIghi zLm$Bii(WFXUim-fqPEOggeN@!rCk2d+rs@6u@E(Fv$A{a)IzwF#{oqUn_NJBX5)%U zHByzlW0Ebh3J*~vs#Zubg{Ed-4+OjH8z#9_8kOwCzliqKTFz2zc9JpL5uC`7-Ap^e zy%?CJt(6$-XX#*^{zlY2)2my0G4o~XUA)Kf%wF@Rw!R#feG>DP{2Qqm(pDA(Sc>#8 zEDY~j-<4zW^~U5ir+89C3p{Lu_X0e97l;vEwhaaNRFhct+QWmntg}T7RE=>ze7{o5 zSpTmj;tR*(e|i6M{5JPt+?RN-KhbU=#840V7&cu0(-6vV+}Z>9;fA4@;Yo|BhVd_x zhIh%%&$}0AgW?0^!yJAr*X7U4(UounOELn~r))=YGNgT2rfvxJ|2lX1v!SoB*=e8I zuy5*C=t{$VMX`{0dr^uUhLz#WHS<5(^m&^&5Hfu2cVcZWNgs1DjT zZY4hDJQ^SvI0~D-{@X&mf9ww70V>aho~t5hYM%5zLgcGl`=&6aX)9nH$4|VrwOlvr(l#IjCTu3IRi;Cg99QfAmeC+7*A|O{GN<#0oIZje_n#6axA{P z9EW<*IBDHcWINfSele;CO{M33iRbwZ5bO^f^-?5^PbxY_>f9epu6p2Hyq|2;V~Vzt z4+&BYKA{S#WrjkDii8aW+gj>e?AKy*F{%FbA{2q3^0g-BP`>?m@3k+35u7gWP*^{+ z?8}~{&DXws1`HX-J#GHVznl^mf5z?Z2L{BUS)2d>B0&OT+!>`#W~TF|&~V0>-WCo-~1MrSL9#$tPGXyEMAx77H3PUu-b+A>)qfhqm+dGH6wQbIqpmcQ>m=@(|BJ| z|E-DQ@m|xvUbZTp)DZW4^4AiByHDbuW_zVKc?YR1>E#7u?ytR^+wPY8ienoI`)gFj zm*|r5&+46e?kS=53$y?tYaZB2 zTYoun9OgkFW}ta8vw#R`l5B^{CELLkwL;ngoU~|6eEQJD_z=Vm5jcF&_~~1#^$NiM z|NsC0|NsC0|NsC0|NlQA`4O*eGxPtx-JRK;pIj1hB>!@!Q~|l8ND)y4MNvc#x(%t~ zDPqHdr8fXYo>)vgQqEB=CsKu~D#4;sic}=DQoS1tm)MAEWC;PxUK0U2&CbkTpPoH^ zj%>-yY`_Nt5fFja-dH&xyqQuu{}xkKRb{HGsyyc`#TeT<^|o~3o%rs>_n4}xDz_{G zBGCBKQ4tXO_xtq0e3i`1%#4>T0wU1fX4Bd7<>mQYu*O%=-qmX&AY8wk(#4*ss;UYp zi9q8U=R`mRc;Da5d;6Zu%*;$kMFd*Ab@oFk#>hWf&N**qs;a6?RaI3;DYbR$V-XP6 zW+|mnF%SSwl3YcEyWo5p+h<6JxoLrmCtcSQ3Hen-4@l1Vn&MCX@`Dt+Np`Rs=8zXyy7N5fA~sv9X>HZZK6 zV%K$Dt<|Z9_pRttcXxNH;e99i%-!9cYIxs^?(VDjt z(A;2Tgg>6hQ@I3_3#6x>MIf}QAm@MXSMd*omJLpY@Yhft$|V>rpu+#|RO}F1S0Mef zltm!4lp+0_vj~LNDOC7RRRlsC7?h0tKaxjs2__d%VddG##1TR}LgsY;`)AI+&dmMV zzxTiDv`$S^x)pI$g2%au6OxeNR+h9>EmTxlf0=pffB#MOOTYQ+e}D}yz=}gkQ6Y94 z#I_2s8o*;>DTJH!+C1qN0=!{1HQu<}8K*s(x%&S<)%C?W`=vkrcPR_IhGi*j4Vw-j z2GWWX$BE-AciEDy(xz(eOjjStvMqPHB`$Fyrx2$LNJ4-tn3~W<5A5|hFVKJdFSRUm z)m!}X`8NP-O*k^4VoZ3#a&Q#F8)C^Jnh-0*6ChR`p!2G(7W%LK{(aR|OPK9Uq>V5s zA2%U_bAjmr(0uUuY+C=(J?93AgZu%&?Cx9g%nq6)%NB9B8mqgyph=SL@;t=sbCCV> zv*afUjsKsn`v0u6);63p>=`zkafv_k<4b+JDl0QZ5P}Fvp%A7Ls0bS9@&_hshWpRV z@T8lckatPQWW0oRjKHzO(#JmbNf6=yUKJIbr=SVWa|c(?8L;cQai`EhTiSo!Xa{k0 z?CaX;#P0i_-;ez+4_XeDd_&g+zUq%GFdYDGU`|l2gTx)2o&3OD&}#qQHouws8&Cp+ zbEwm^dV1bnm=F~>O_}`NU~J88BnIK)?!jl2=QNjUu`#wbAnLgl$K&%;yfwK3a+(^R zI+DkEY+##KLTRhvs7*xl-o*L5FH*U|kpxi?4N))+Lz7OJ4`dJxqKD`qngdU8Ehrcb zCIzFx=x{omhqs&D6SxH$SWE1S1{ejHP<$S=s9S;DmL!n>HT7S#GY24+&VQA?+M>PN znk4(hPA@npJd6fzz^sfVa5^yQ1RtINs2(3D9=HUwbUX@1!IHxV+?hN!x=Czg&vVQT zP8=R;8m3_yreRva8?bJEIBbU~h=M2xwjk<%=PKb=*pp_@-a89COEBCfO&j=0+CbZx zE+E(gl&d^?gPn7cb4s*!;QkOjL=RE7MM2bUQ6PYv<~WZE9^lRr=->b(jz4W0$91RY zDJrcUxIaBSJ+wg(ZFf-+1;tSunCK$X4bSdVhF2o5>(-7)%CX!(cKw8UT<0I969n@B;>FOV2?(UB)sU z>@1l~fdBw3*bNWpDFDm@u^0m`paFcGFQlYU01sJevMhc!jV(_=qCvFpqSZx%D2Rd@ zK;M8r=-^0BK@>zmI|QYK1BM$Mfdo+y4bcz{!v@?CM94!APsf6iLqWmla49G#I31o4 z3>I#1;?WQd(U2TWyTJ)q5CzdN4bw0U`@7zs|NrOYoJ?jinaN}(lak*+Abtvh0%~#s z@*KCFwVlOrZg8xp1ua-WuXD>4>e+-~Fd0m+nG9kum~?|93!)$jq9GbYcI*Rc=QtR} zaUik-hxuW2j)PHLGDuh`bL(M?4`+i1lR-8xm<%R^$#>T0pUF%nXEHgH$(c+J6n0LR zcs!2dama)d_Hi7?=cfY&2AFohUTLx%j>qHi^EZM3zkd+7g-{>IVa;qDWIP05Y!6QlPeBw!-E9;^eQf_*hGiHS28Lx=jdXJ2_RHxI1yK+Mt@8VGg9DIh zn1*SXhG{4nF5}~Tgp4HMhEf0Z%CH(H)*CKK4oQ++*DYC+vti#WMm2&f_3ySp`d6(V z17Q#dkq`^P5Dnpw009pP;J|@|jM;Lj5pn?d1lRxs4-*jpIJZ+MBLLe(mP$A(cZVIY zWE@%ofM8$(5KJ^c!32c_FrY{TfQtl3xJZBmj0RA^$N)EBzQ#!dFlcN@fQF6#zc~nV=@ZO6m@)l4K zQ2>NSk(7i2A*u?XMHEQYy{GQ2LKO-C0Tf9g5E4boGNtFI4>`z?BMaoS35fnJLVSU? zUXb)dh1gR7CI{Eb|v8Fb157e28D zOA=kkh_h^-(zAR&(Wzz9kzG}u+yFk!`kX=UP&)-@RET6yHUjH7LGBdj=O34dXY=c8 z&!REUr$62qDt9ujD%0g_bilUl3!*^Lob>15`O{D@)F z!In^W+C9)QdXL#2z{S>>ot)u7d?$7cnFlC1{tvwagey(@Sd|_WpyXnt*ev+j%IiMk z#Kvnm*Zk7OxYuSw+1cmOm~jX*RY*_EWkNDF;tH}9bj2yMxXH|^p1!80FK|zHtRSR( z>$#|0`8n}C`7D|6a~4D4>B!bEL>5LWu_mo!qsHC(qr=Ld1VF>!x|zRa#Z&5=~vxMLeV*35~FqWXT`Ov9d6 z5dVJl8ZOTAQVu73G@(q`YSk&>_Fv=NPs7A_ZhC$GbGmr@vs8a(35wliE9TIl^ZcFL ztxdulLNXIv;T%F=nqTXDVfbG6@r`=;l+ax@x7eRcX4BWv=EAaUlT9ZT1KdIlWh{)S$h~1(AHQx&R|@r7hon}G*=2U$3BZj*0iMUMvA$Z7b7cfyq;`Er4L&&}NhYL*<2XOj4k0> zMQSZq^#>52D1g<}B#=Z;#0i8WDpJNh3Ww|A1P7RGe#bHY;!bA+28}OUF2IzNl&m|uOqS$ia#h*)pIB>E*a6)S7PEs6 zBo|vSZ8xn$CUy2%zi0Hz!7>59x;bs1;UB`^*Wus_y*vROdwfCFXFM+C`<@S{Pl;m$ zlJRqbK%owEyM6a?{5>R7awBP3wID<0;D**8=sx+R=4Tu!D|Gv)S3S zj8pi#QH`rb^`crN5@{?GZK=N|xTL`*y|AFLGZtqo#YLULzY0((i9)6eSIC?ua?a=2 z?SN_^c#FtwpR;-Xb3z%sEgWj>G%gV-CH60#ew-aN_HbXF0I00%dz7;Hp~H^0Uu z4z%iF(xONfT_gY=VncX;PIgqfM{rYxo>w**7k9(C(29d@53?J1s$^uX>#A27q20fa#*zE#z3#@$*nNP z;;Up7%|<5Y{f$%TJRcu4`BYGSp6-(0!RyPhq?H*v>BK2)k%`AB)thIkND8gX={kYA zncQ61qU8<%=C&#NH`uEBDn##1zywN4@Qe`~Rv9Q?pTU&XHbNn)s`|q>oveJp&Ft<=s3e^_Y#`y z9=Vkm5se;7d%5!xedC|1EO8Dp`4Gb#4n;t!lt|Am!7Zlg#s8kxkhEB`J(W$1;}1ir zpDXDOVAyHS*wg0mgpqI%0YZ=hr14M6S+I}?boV>2d@qCI0lZ`^@c*s#JCDHsTis(8 z{X5%ebCJLQ#9o4bRFb)}3Si>m+^XDtCe@~6Q@XtC&yXIwlc&cRbIQqh!*-l0L$Tp# zXvg#TEUXd|TBHV%<_GDOx0?P+%bFOp%HouYWq! zFWsd9ZfN5EXJl?-#&v!93k-^ET>bFEe+vaQkKm8%Uo89*yc|9Z#S}Q@Q6s?XXGdKD zM%8u{zuw0VF_?$c32Bn@H0Zu)3_Vx5;LrI$Z&i9a_u5Lfz=x>kVX)jBLdP!?ketz} zvA%RQxJwuXu`k0mxY{i4NFAyELThlo4`c6K2n}OFH0sZuTyy-d@SX;W-=qBsJ!w$> zNf0xbLjdx1iLdb|UKHv)X^XZ`T0-oDv3>k$JNB{doGi|}Lz-G--TWq|y=q4dvdx^Z zj|g+<%xcUyrB$-cK8KhiXS=UJe+3D%qKN`otL4BF58A$&^ zCR|T`O>ufQ$=VXwtMURfiNlEU`L$KJ!!-)wB);tLR&{Pm4jli-zc;b)?T@;p zwMRr+%GOiZHT$8_-5d8g!609kOBQX{Z1yjAM_y7gR0&{~yxEdliFDGHKU?lFt)3)b zJ$&@`4V}&}CE}TU&9*Ws3Fa!QNcT7s5S5#2ApI|;`J4Qw94LlXC*YiNIlZIKEXl8# zU!LPUNP9Pf8{eRyf%+h|uX7i9s$-9Iy0p^6cbQHLp{XV&ezo(PxfP zwQS1vg(EP7pNZt-gqHNP;kXSPQHyp`$rx*c(`XAqPam&x0VcAfx5ki)?```p*y35| zo2w-za!D9Nyi*l!J|I%Dyu5yewQJ#YZhyUBqpb++-+k13 zsy1Fe$Iaoyyj;2xZ6%;>UvKk{wrsQs*Z4d)O3V}=C4ZAAi@`@VEA&C%2H*{r;`A(C z&HZV7i<%!v{SjgGQR7OSxA1sWMG8cl?Rf2V=Ez9+(tT{Gij=})6FBnqj6mTE3+WgivflyV z99s`_sPkDeuhXrPLQ>+S6!sp*w|aK;H=uDJGeAuL<2GXKfb?V^gJ~!9rZW6RJN6v% zUS-Y&v}YH@-OG|1f1@Df=Wf&BeKz~>0C8lp4;xDPnuQY{pYk8QA+jktMN_q!H;6|% z(KaPz5Q)IuW6z^2|gQee5bKlGC&PCz(wdx6Lujw=BZMIw}>0I zQ}*4SBy6xUs7&JJ7&S3Ua0x(aj_*n<8*6-90|n5O8z#wgq}>t|a$>9M8EF(9-7A^jCu>^}=%T;z`eMEjPDubm-o zRtI;?mD3Xh`nWn#}3;=+1TTS;WOr_$U!jUFa- z0T-gEqQalg7GY}&&I=G!7ZIvwa=p-nb1Sww!3v)H1xIb(DnqcK5r_sNC_@Lu!=s%X zH3zr-?vNGieSGe`7RDmAXNta2-J+UX^Qjwtpu8!&pD|t&9MdSdsM1O;Z04#_#S@H& zbNbI%6p+X`dWSut!WWj?%S4O4CSwesH*h_D*qtI9AU86`gAo&Nm@we36Iu*(_o8f( zMmeTZ?;M?xT~j%*4x+YGI~@ZSljkKVR2oM*?2tI`%*s}1ebxqQiq^5Q(^CyW*Ms}H z`>_nQ4@7H}llD3$1UBf9yw=9X?G{In77On*kqNk9m#tXty>707TnLsf6*7UY7M&Y_$s{l)Kn+XxiwM~GIKzcmPd&G9f8N;a!%t2pl$yf ze|Iz8pu6JrBk9If=_Ihctk8lmPom3~F~y`%EZjnr4;7&Ps<@`*-g;gP75s%ZjE@6W5vS}v_Kl#JPEv+dNDP?2*jHxa_oJ0i>QF-JKARDon8jK8KwQu7$m~ULyy-0nUP%j}9l zT^?&7ixm#iM6tBG2zI(wH26rDJ9rX_k|PcVu@*AGGDGa+`mmCaBpP0VB0(Aw%%|1o zeGt}&KT?Ms3h{JZAXgyK_lei(zR_4THwMQ$h0MEo2yKW8t_;|d&jZUdL2Ly6?8c7? z242PT3mo@b73Q@glJ3L4wO>fPTWbXn!-ss2Qn= z&;5%0->O4JS)ybjS$(Xc&y2a$$%UvrsTaWt8!b-Bvh>wv;peg-PEaMWI(XoT=wSRo zop%69^iNz69-#OXBBd0@V8Fuj0(d{o(lC!p&uC@W+s{y2XGU-AS7eQ&(6_TncbI`~1@_NznVa$xJ>uxB2V*X#fk4*ik|& z8{_CLtwTImcP|ScO$e=o!6ZPBu(R$*|XgiaupsbQslRUj7t| z>!MQDRjAjCEBTL4Wi#LYz%fiA!d4Y)$4o@~LqAguPX8%~*^|9Qq*@`J_j=kV!i)g1 zfS%5I+{bvMe(zQ!zPPUgZ$^Zoo^}8$^Mru)#4QZ%91MMbY z+{BX}4K(7%-d}GM(m+Jc-#4c3JEydG_5OhRMgjzCW@iwd@-FYKeX)($cq$5`NYU`v zm+Ak$KK)hIhC}(b#{g`cm4;x6Abb_+n{zt)B_y4~!zX9HBrOqf-2uJ3{S_R75s0{U zLmid<*q>H-k2&Hr!sHvFiWHGbCIhGfVamS1fNOR8lsbg}Di2gp%2$bWuAD59WO!vE zPXkte&(lvsM*O6*6!VDOSIiYcZPPe0Z6Wf|#^zY=+mOs_j=*ALPJLY=3m~ctchtLQLq$&Z6)! zS#~b`q2tZmrv3X@sF`~YbXJR;c*`pLpvT!dUU-S`x7|E!2B@mN_9W`M@^Z$>Se4o{ zvoL<2WXgaY%6-ILF_8O{_x(Ny^7w3zJ_^I? z`!YVl&E|A+!Ku%bV=={0Xv+uO&GdV*uo&P*W@Dh8+S|bmsOFILvQ2PMJ#sFv^i8xw@5$00n2M7i0>ql{Cgr@?E7O-Nn=qexq zitC9L^}wxyFt?>5C5VbIec-I+Py`nVLHe9~p|AM>Q6o_%E!mopdtm}k0!zMq{bk3I z0yDB>P!f^ZPk|Gk;!!EJ5K8JYFL^mj)dle1eBO50~kjK{r{VZBU;z z4Aex*;N78ObT%17Y`-zKfebe0k6+IA)?#M^m7>Lakt9M9YQhR49#=Mc%SIDCNy^|Z zvLB|&Dx@F*UiKV=1Pq0CeqaC0aSQZbKKvwsPW$EP86+bV6m>lulz+(=sr;IeO#HSU zf*-)dj}uituMfgX4vlea0){O5JJuY{!>HzM?#DP36^frQ9w!Mj+l_{Zmm_0?w~EpX zJ%$?3pfXmhP8>;)(0MwnQY|{*l=s5fuc7FQG^f! z&W5)SLfQik$P3$$n4J32CXYip$2`tP(n&Q{)eO@&VBHH%W|m>rJvU??J7x(HnbAFW zDAp^bV+W9onmER0{H`@;JQwr5y!S%NPO$Gi!@Ax(u+T_oB7bc@IHtS@-i0?v4}Cwwj_j?=0kRC5K;G9%d^v)C|3&ckg5{OiJsX9sBGA_LhX`ZATtsvZ(j zbX1xxL^qPR*|yAk)kWe~(l(ES%w@d#uOxKtpor>JgU9ALuuBLp7n& z$j$bjFhqv2x4BlJB3T|QgCxd64tl8BY7rK=A-p>2A+IG z12UXecPoOjQ-nq$@atVNXNL-LXE9RZqwClbn)$JjB|2!8$NF(TudEpx%{EH2x|Q)2 z;04)by<L7gzOV8@8Qc6Wg9ZuZxAgm*g&L%l_y$hG!$xLQadJQP#= zs4Ll|J>3!#_(?a?Zc>Lgv$8cWIV$1rf>!V?1PX8K^p$?*(Cx4QF)vy&E0h1i+d&-N zMS!P(%nQfJlPo){M{{7wgSmyt=118VE!?O5S_wnQelUWXH^`JEeO_H5VapjiU0Ibg z21PyA3q)g100oM;7fD0U*i}tbFru^u_AS;V{7uE5Jk#; zW*etB(8u6F0k}ADpsdA?(>I{LvZ2p(V&+KhAg>2T5p+-7bIGQs_LBc7B%TaUTekrW zAUqP(1M^&VkmPo`owrWu<43RjTe^Gk5-_)gvJFY>THpNElYJg>QKD&$TCFcIcQNvZ za@)bu)Lv8E{&j=|rs)CvQXAr;7u<~BDDcSJF61viu`zC$O0PD__)Bdb@W`wd8T>nk zs;84oMOgcUn!hgX9y&KO$RV1ndnw*HEW)ed>I&HCMgjFyi2LK#1SmQ_R-0}15DsKj z3PhYLsNkUEG_PBpygPN+=1ce`Ev@q}1#H=e+vNrjr^ATmZs2$iOy47wy0kOq(XV#3 zbJykDzhcv~NC{-CC>5W}Aw&B-=!maa1(-fNyJ1)YI?x2S`#M{sDZw8=?Ul&TgVD~A zouODJTeCIb#^T(}tE7Rp1J=UJ|Lop}MgAvesBw@I!N%=Fbk*bR62=`*ezQ4X;hgQt z4}B-8Kr|^EM1oD6OXM%$1I^?lLnoN4A7Q;(p#voKsN~`L?HQ47|Kre_+CpkX6M<~(TV_9d8b(dlq4ZVGR>_#!8IaNax}^VO_L^;&U|aR zfg*krygFaJVIUd4?IQPEOXI}G-`TKKiOaiZ6=r^^cR@H8IM0~d7=}Z?Bq?Q#cI+>r z@T&>x_P$!5`i$bQXE#vX_W2C}2n5RQA>G&P>l6v4s8|g)^O(*K+JAP|=byA=a&a;E zxy%qs+qX0Ae>88!<+Zmy3?Shri>dSl+{}Yd6L%;=Wu%*h`~8p9v({QBkTtrYpws(AD8uMx5!sZr#F231wt^^t@+ca5Bm`3^ggj0_})Et#umZSC9|e!i+%B zwOCtQ*(6#f-#m~7i}#QaU=0?6Qb%BWk|cqhVPND~KV+-W1ceadmjcNls#wDR8_(mU zMb5N1Hj*X%kqAD8hK$pEQ_NLbxc2=zNGd|Xk9Ij@ko-D)>0C%O)qs!#xx zEhU`6S*_LDyIzg}xro6ND_Kw!+DysGV)Fv~UYtS>#1OQUmoPeH)#G{8=hy{sHghGI z6>6cm=>=dXQL)@*=Q+IK$b(IwQ7#&`=1MNk-;(-0D}-QZB~$VL}S5G z%7oisHLVvK2O+yjA)7_VduyxdNq@R|AdI(BK#hX;EEv>4XRigeLLw5ZlBnn&8i15* zncOD_S!`axl|3iz8sByx(^H#iKls+5(#>5$&m4WpX;X)|{xA}ZBM0d+gXfGA?PxJ~ zTCp7`kHP3SU^z3F>d$HX7?xAzTlC8Lf);XjHsM zgB!}^vfDMdYmM)VJ@CHq&|K*n1!h01W_L#pNe(}OUjm+9v64PWV?JIwT!V4K%5F8` zrK^m0-hm19<#GCSe0}A_Tm<}u2wSQ-NA8iz$#!{Ng@h)OnNS-~r9q4X2L7EYAg>gm zDA0&qVu36u&0G~H-qqoVrd#c$>ey~cnB;9>+sn!zz|t@f^0AYqd*MjedFP2O-^ftD zn*VrK5ev4g$`IG{iZvNHQ=YV{Sr)Aqp|waNYL+}YV1%z@uDmqaGtU}!1^W07BVr$- zA1Lxwnl5*3mha~8{6;{w7Y%E>GSjH172KNit&S0&lf^WY1u8mMF>BFFw^bInbEC>* zRKrve(iNmDr;@j!T1f3$R&k$pgiwe}kfiKc_xd{LL@MMIu1M4(L$xk1w*?;?6)=)J zNXSItbcpT;MkbkOHGU29_|AdwOcGYJX1=jGU7D`l+_|Y*NNdYffma@P6+YhG7cQ8w zX|+vGE#)2*>VI}<-6{_rv6!yML+~9^@PW`Lj_4p%xX$^p(@i_~_{C`Wz^udQw%gNGzqg=G~v2!s%UmM*#1SyArjSpZVs=e-8`xR#e~r{&Tz@@4hxa zxAtD&TjA>FXt#Ps?3azdi>xs}6_0M;-~AmG!<9M9w{2X$D$(@I)L*7}HBdTWShYR5 z5+@l!J zw8Q3_u|Lk{X?%gP*i7QP!sT3b*FRLxj?*Z35XR%J&&;aJE2n$sw@TH&{$sZSa1H>7 zkuq6xj^`9~>vmeQ#nFww$Mi2untH<5?oKi1jm&)`xt#o$-ag$|3c;w+ZflM$Ppk?Y z>-MTST!Y0zcMQb!N-J3%Lcqe-31o!pXFQQ)KC5<&e#Ac$g2V0?9m&J(o>;FWQRTwV zZK+H;W~CMqwda>F2RM1~=eJEY!fLMG@H3p8Kl`}3hHS80J0#tkk9%wPA3yc@Csp%f z*L@zSTwm%rSL%*Fp@$`+!lI^MpFa!tq!oR490IYfU^UJy^1a zM*5=tBsX-QR#FkpdmfQX%;2 zO{TjZMl(|@zZ(5u(?@Z1xYsOpdQdQW9hu8r57rZ>{sqn-%UH(`oVOU4%d6yB>wb;X z*Wpd+-t>Iq1?9vjExSDmo+*EBEmg-ALwj$QTsp(RY>s_s!O6c{DId11pyRNtzKQrI z@TPghJ+Gvgv&2K3((~;CYhaPBYZAlS`vROE+c{`GEO~*&Z_zMoM!=qcvDR7jTutqq zqtz(HVL;i6+I<3Yvb`WWCViK90x?19+PPa5W|9%;eGrKRpvi7S#s%oRgu_X_FHm*8 z!Go}TjgSpVUXNM+q@bWJUQ!p|>Vhq0fF2<6bPyw4OllhIpaxbVU$2P@fEq~n@S(bD z-&?|>qvwA{^a^$8T6xgN#qJ8tg3^9E1M6xa@u4QJ2BTBn(L;9k!I9hfQ-+)Z#I}jy z`iB|s+)sjllhAlQk%Fe9z!}>7c&Hlq3B3)}kTUl7IWl~U7BeYL1TF>hv@I57vmbC= zXHtK1s}J}sYVtD(3QO2;NsD#n@nL7h;VScVnqjf;3*F#ZwLQ732h0|9ijLVuV88fM;`0=6dX3zpae}y5irqL) z5U?kU-uexTVj zD3upV@LGmxmCAG4GwEo##AX%cB;i)Hs%$UMUT<_e0dwA+<|UJHwD5EvAAn4Bxc@~~ zGh*pWaB=d@d)KoC0~pUp>vZWk=W{U%LH$X~8ZPZ~AXb@J90w45)%a*_L=nhIpc{}jX zRweQFDeHUkP|U|^JVfe9AD~~~+pp~f3DVGwi ze?zY5S(l(8tA0;3*;YC8dGSBfa$2Z)E^B*eJ94&X=Z@Vzct%K@U+x#2o;KTZdXj}$ zh|*Dzs6IZAl-A^U9`uws$A#VL%s*3{JWOG#4#aO-%l03U&=12dHBP@e4QdPf52LdB zEO~WDi{PCvRM47u%SSNeIDx6;fGAMe=m?ur2ufWP{D_H7q_&VEQuPS2*##~o zb?Svml6mI%J}N5F=@OOr=i=egMpPkoLl4f)Jn|j66h#p+2XaetGfBa*C4jR-D0?42 zPO`#T;w20p`=J|BT4V*5u!Y>&i-fqeo*z8DylPzO3Lz!oX%tgJSP~hD_3s%Jw!p!8 zp#t81e4g|uzoD%QN6Z+T&HRbz5p$RqA&0vt__4(bHaL3jxJ$0I<;)R}?LTi34i!Zm8{>9CYqQ6CKp12}RRpTr!s~<91G#;K}L{)e5MG zHCx$&K0hF$!Wgi9Rw*<8ss%jze&a<2nnv)31(F~`%qYbZMWycU5P&pNtW~{g9~VDB z_3twu;FDvWv~cme=XC`zH-6Zj(jO&Tc2zGKTOZtxPeDxkQ;HHNO?rW+9Ei!l#G~W( zY5D|j5V4G#elQ!xz`EblX_+rvyfC~`@DPl~+b#V*ve|q>d8Zt)7BiXnd8Eq#Yu7V% zKqcK)9d4qP{PtUiXNT%i=E^8IrQH*uPrrNiQ!DySwvWB;1o3HIJ)Jn@(D53JF+Fft zyQydQ4qupG|0L_Kf`6Yi@uywc z8;e`8T}iXoUqUJPA!HJR7Qes zJxc`_nCFk`yR;aHcB$V2@!#Z6P`}8ktJ=(xX8Y+%PT3&paQTxRmdZ^!ypsfL`^h?I z*HYpi+j|Zy2~{035=32YoEiwk#lbj897 zvf#Pm4gL7w!F12s(t=*P$JG|Q(v(WA zm8x>h53$SDMigAX{w-pISW1GBYgx0c-c&{mgIp%pAWo~Z#Vp(`p|&B&X-u~5YtQyccK#7gRPS2{_( zug#@P$DdqtnZ=U7j<~NaUO`fpWz^Tbamy>#O}NjyKLhieM{GS`OI|vu?2j02X$zKd zEnZOe`1UKd`RedK;I3Wn+ecRG?8HS*9u?Zzbe-WsV$#mbDJm)^+%8^v9zOd0_l9U; zVaj(1{8tY?>o3*aeQlQx z+jOH`s}bERw=h>p2K`vAqfECfus6MaBE+;yU&9SqbAcsuSQmICP7iW9R6L-8u)*tp zU6*`oARAsB!45~r)&$Z9-av>h9`qaJuZW#Yi#w>AP|@bUkVQw&d)uR8Q1Zn`6|7}R z>niQndWdhfdSDsUk(Wz6W?K8!CsPi-JL*rsQVkLaYRa8yIRRYC4@!5T5j3k3W=)7yvE1ufTTZwpem22by++I$s*Bk8z~c(3gpcOo(gn{jt4WQ1s(NC zdL7MEQo5mxsEH6I+cwUTvL{zYMh=K{qbFRRWk9wu--%sWp7=Mj{ z37J7C%-%@ce-ZqXBIo%uTJmn|gPJ+3DG$G*dr1ae^W0(T%~bYRorY2H!G6lb2d7Qi zsyFG=I)eC&8o-eMx^+kfI*}myQFtB5*adlnyL^ENkGwlbhIjwM&$zaXH&=%%5n@&@d0tE8Q%gEP7j;xo;S_&21GGyX|6$X2vf?sd|RO=BD0*5JubWjO0$r?OMCCV9j!2?^{ zr2m$fE-7W2kNT$6QTx^I^1IHjT^nyY)qUKUF8shKCNqik+0O-f2FmM1Sf0wq?+%ZX#$P-_g29gEAjfkXp&PK8Gw zgkY{HG$YLDfE3qrRrNZ#lSs9<-8NG6vma@`sj&;?(0xMe@!CGYhbXm3>HRKaiNi4A zGx_a=#)wQ_=&f6*j~A7Xs!1t%X+aQM6}zoMOhrDHe)TIoPv6`)zA72TGzu&x;>L3( z2`eV4A|{kdSd=%|GzD4MCzvJvcA_REq6NmIu`42khzb9v44;?eV(RH|h~w0|gH0Mm z8S`GT5ZB##6TD+v5auZs^yraQccP|@7|F}AM#gmN6Ar&U<5u~dr|FsZ^LF=t`#o^l zS@I`{Z7lT?#Bt?bN6l*hVe+>YsM*x>Emeof{Nl53MhU;p- zh9i>IMN3aG+1!-f7(xmkpCv2TU5CX*IM*O@$BwW< z$8r_{^O{XJk1I@ksTSVTLU#CI5Yva*UT(mX3i(>IB_m^|1^5Fg_E}o!trk{60>hk$ zL?C&~*MvN&KKJ=c&s5zAZy7)q-l$K#?~XEmy=4wedM0xsL4R$Nrkl!Qth}{)j#!9X>7fsD#>40ZG2X!N*%XIK_!T7IU;E|j!|gVhgB1tkz(kf=YdrELcibEaib zHs2KtL*Z~6VV`QN36eJ$Z~gFqcrRGH*1*!~o#h?3|2#o-r>VUq9uskMJ43SJ`6Ld9 z@YMJsv&0#TWlqhQqry@V6^XH=$XV*oM-&sG%H!Z|wWfkbG$$pr#A0g``hx8({}>|-i9Wf_Px7XYs ze3~8Jn_1N1WhE}|HAM{*{wJ#+`&Qo`7~;*;enF8V31+UaNw@3<;ROAVzqlr!Dt<3g zuxlsIPrx`n#mmyfnkw6c?F9rJln$ZHW3=0v-E1e2b}daThTiU_=2WJFLWX0apLXvH zskF_FT?#;E`*_kHVvDxm?GIx#h!vUXE%yABWtpOm7Rt4dwDINH&lL#p*oKH%$T6-K zhd;B`sqbAOLXGGK*!J(YCtjTDsh#kVA6^!a+y_F^0O3Uv488-#lZY3d*PHFlh*&kJ z5fj7NcpWuJVzHj@#9^cBQ$xClEM`k6aV4{h+;o0T`1S9(6tJUUKeZPS;5zXh^zOL} zWX3>2dl|`jd!iD-jF@&>DQHaf1Lv3=PRgO++)lNi)}oe0FOx^GIYdpY`iWMg@P0nXJY@sJj>)lGBDbo ziDxSzJ%kJqknzLj+*jAnGn!ej)Gt>@cR<72)fKR?_j|W7W|#o@OhsmBr=9@z zGfB(=@D&|&Iav5w9j;E=eMcVqPZ}mYIZH}~&g>tbx{Bp~Kp=yt2)gIQ7`EzNd#_7k zIc3NczFBPw+mmF>^Rd^#RRk8JvyKPpnsJ;4rr#8`7 ztZb>u)hbKfrY|$`^D<5@JoT-Ek#al_aLPqvfu%11rd#=?<-l>zQWTutLkA&PmTc;O zgtspVYcx5yOEj)&ViD;~mC#&D^7>_Xblz@~Gm#TdU;xb0!x7Y9egCn?p-9@YVb|A!wfOfq5MUALwS55}LderOwWPOQxva;id|g7Tp*Sagb|~)Q&tH0XK9>LH}b&e zQOyP%Mc!D%0yNTbWv^AsP1X1WESyoBIRm)5{oD)nDILoXKl6;%%A6@(b!-6Ica>r1 zxZ{hQ0Na;5NWC6oI{|F>`iiM(D0zPlcdCTJl2YV3yNc6B^yTvRR+Ze9`G>W< z2fxhY*stznc3%DCAxWv|Nx=$0-()U01=o)2xZC`-u+Y4iz5v|5I%fiU%#O8#@gF}F z;Z_Cp=PwGbYVf(lxvES0_@lJcvgNzh`}=*`8Rq)`SmxHRS>Zwq+A$t!E24xy%0LrY>Uw4QhY=2@A&HihE#KGkagR1#nz{|@Dx?^-Bj>~ z%p%~S8rc74F?5lUn+E@XVK+Rz&@(5|itxgK=9RJn_RpBJP=ZuOVkIewfFD}dY)Ow3b31%DTW(jL`8ooYmQ<$^l8HDg5>{qdJh=UZ!H4$t#6GEwYs=(L@7= zMLt%{347=P`A}Y$^T}i?z1brURiq-2p1Q2|Ms?)&d9a1iI<4j3oi`|~d7Zt5r`!eX zcAR1c;Q*hMkQNpcdvkaa_z7bR5Ik|%=%iz=Jn-tRin3y5_9_^#`N1(w5<2Z-kuWM0 za4djK3pgs!J6E-JToB`77Mh0i&nE`ggQOd;Jju<9mtf z&Z}lU#egTB93-=jZAn0nakM+jOgBaAAWI;jpK%i+#7e)>rS7q#P>3 zb%ckh!=j;JBUQJA9DWPJ@26B4eI#J6_#1$u%=-$TPb170fn)$o0HUIl9KT!vP=Crl zf(RVzyIb8Y!5VgMay)Ot8A+Hl_I&p~rnBa4bWWeM^vB2qiIPRWkSl!Pi>^nn%inY( zn1|iVM>k}{L^hg_BN-l?d;%>`-ujCRzGz*9DBu6ZOOfkSyqeWCc1~0;NR=1GwMBOvX>MCJ`jT!b7~IqfUBH2;TTB@7|I zY3m{Uf|+>|?YGdr3S1x#(am7yL0Jj-^@T=nNoM@9B654qeVl0c5Dm}eC&!77Y{9WD z+3RtlmN~Q>O74x;V;6BmF0IeGYg*Ib3c8H>%p?>8qH?szxHaNZ%i-avTz)tmeUB9x z-=1Lm@hX{jVVj96IhXVZ4`y5)lf!IzC|+Muj8}i-9bV9W7Yikb4X5BUna`1tNqT-a zki+zLr9YqCrI=L|BF=`v_k@x2m!54oNu`U=vx(~gci3ohGOGhQH%fPT91yTno$ zegc!(Y|#^i;xdEZ5qG(vM3Ts9T|qhT36p$kQg-x_z0yfeTV$0}ULcP-Rg>=e18bPI z;H_zg&yQV%tOP6Anj+UbSN**BjPvv}7c1QLSqWjcYg)fvZyh!8 zW}~ptAl&;u4!BZ@jg4vA3N(7sXZHOK7H(R)oI3e8!vkLmEqmX6OW&9OhUoUfZfpZN z)v6aA)Kph=F8=hs`wc7oM?C7^Z9aXdNU555g>c`7*(aU506Rd$zwGxh=vem+kjC!) zu%2117(KwaT5ZpB88%(r2Y6oAKakQu=6eb@R|8kdj62@(#P+!k zO4{B)=`2O7L2R?&`t;$XUXQ<5Fi;NZ5}4V`I&an$=Yxm zHRGW~71=bJyutruX`CT3Lo*4|VR)o01L$D4Rwdx^KuAw=G-Ac=Sv^&#@_-I`4zsnj z^C3C5sM&linw@&MF6=;>n+H+d*e&i;geP(I{0fqMcD|3EoVrQx(AcxZ@B?+TbNcNg z>(!#6c6M%S?f30{vCh4YLyw7uiicT3-8-L2lVg)@Gh+GeLMuDX)wQ!V*k%Qq84BCk z8XUB?z$5hE);eV~QP|z@TY*o{lF;%xY`~tTD+e28rF60TNpR=7-s96nm`pE<29iR< zi{7s;`9c!)QI>^@nnXM5jvwy3Xnc9Y$E2$I8&NOACI)ry8Ce#Z382bz5TDb5?G+FDlfGdBBt8cbb)rvpC z2qhEc@YZswk1bZ}6|seL3mCx_B>q)5MLbv__mt#c;?}kj^+tJxv2!aUvT2K3C29S9 zr-5Wl2_l|S3L+7per`NaPDdoIGf@*e^#ua8Qk~u4>d=AgJV}tsV=RK-%}2J96dM%haiyfJGajNf0ck zXHZ>ad$a`HkBE=9-H73}X|^P;GXaNnc8>F%)a&2cJ#{;wyx9@0r%73>DT?N`@?DIg z019hJP5XF25lO{mEdF*F+ctvNuD=jt_V2?xF!7QUcaB^?k>O5xuKd=A8dL!^{ zpm(zU5k#;4TL!nCQ)RdwB*mX?0W1 z&M*Mg4q_(s7Mevonc~sHQSV(q%_<5WrWtc83hb5b!>UL)B#SQ{%km5?#i*-3k7IU} z`vxI80^5gmPs)PPTTfAX@=U{I!sw!YU-=SS0fFInhE2E580-eQ$AvfG-}3FZ&nku& zw-+m9znvZrX%5+D8?K)$qc~(ooY|;GF#Y4Km5T-6PaAk~Kfd4!6#CU6k3?voX-YT> zO&SGi+u!!GSg^^Micw6aoMuAT?#{;fjV}Kt#Up_?&U3~$;Y^Grw|0X6Z5iri$Tw^)Y=%Sh@uuQPY~+d(8NHf)6hn2R(|tom)r zZ_f(P8|gId{M2td7Hr2fmobw3Ke+Dj1@M*fWg*ai7ZoO`5 zS!AH`B@cvG$hs-4?oS>Yg*?+l}2d(v4 zHzs7mK(?#Xqpe#fGl?@qnU2LrVm@ER7%$84LOR9zr4MQ8hQ|P+yZ)&iquN%Q0{TiD z$%okLQ$(~ao?`dZ^ii;#NjVl_9pmc6{?&`&NSBSeZCMy*P^we({f$Gl{yyhPm$lyz zJ^t!3i&i~T<8Io?_ksVNKTi;2YqtOn<%pJ2JelJkYCT5!_sz~|93nuAqbi4`uwg=!ZN3@5%+yO zgGNAGL2c{PRW%ZMp7-B8;niwy9&PHn+A=ilvb;;Gc@@<)58B;bg)IE6IM+R#p5j_Hnwv%?x^`(4TI4;_ zC30E3bTH03b@ugvdS7@H(qtQ$0tr><054oISGfoe(h`3-z8zNPvPkK zO_!>{P|4KlcDi7P)RkXV=4qQYfNs}3yir{)aO`7nXZwC!PScpG2^pMm$XoecJaB!F zyBG&N-1wLvn3xoDug5KSakqAe{r4K1f3pNDaUuvDL-WUhw!GuB%cwmL=D*K>5F8= zZF5Bw&?9mr_oO;K$Wm^A7uf1+2i#d<7t=435ptsXJt&EQK#jab*rP{S1>ZzGNAq{7?UoKQmK+t!7kfr--EuSQOu@6V3P&Jx!TJ?xF=k~@iH9tW*C6I1 z@ykT3S#FCJ&xJ+JiEeMbd zPdeKBno~#6r!pZ=mKWnpB{87F6%aGIqec7yc@WbFcQUT+ zjYpOFVP{7kAS+;+-%YoU4{%@p01Fn_uWcOgVMCs zU3skD1m$t{`0d{gmBKHzJR%jn(ffs}5Ie+`h7Z4O^XKD+cvdQo1@e)23{K9`{#gJz z^j`!0!h`3f#QvtpaZUy+UVtlq+e+LYHqZK3i&!#~HMYA5V@xY#Nllq;-uwy)Nol!+ zRVq#zuMEA=%vEE;{*-;CGV3{u#YVU6vVW)y&Ko zURk@14%*MA8COC!UwhIR$hh;@VgBujn{{@=UsX$r_Bb+`{?7RwLql zLJ@xZSbFe|ftD#X$aEX%u_|wrqJi=Xe#v+0ok?`Z#Sr@e;y9iR$PE-?v|$_w5rk?jkxF49(=$M2~us_d$kl z7^U3yJ5x5wD7hLxj<~c_*n4f{sqo(issdJhj%3(Z~=`+5}(J z(93QXiM?H**}a`uoi($0G-tPyRJ%q^FdF8*Q^)VIhH@wiYi}Y$9-8&@=6714G}Ph7 z91z69iE|sgfyrFa14J1p7Or~+FS4WtLZUsanf1Ut?Q*mZ_0gWQQYuv#UsL6k*=Kl; zZa4Pr`ysD-&5r(uo8=mRPX3FziB9sd!pM)waYR7Fr#qZR@RMbi;Igy6H04DN@+AQe zvbDHe_zlWV;D~}e?q1$O(>^sEv)#v1hb2^NPKhL-Z>>9W6~1ol>9M27?%I;=-UoKl z%W-fMPCAdbXdiRJretquUhMydB~=QO+5mq_hZ2szQ(qjqK3zM%3OB+@P_W&fdE`oZ zd9flIL|z3aQQbhtHAUM?u_Q_1OZ`gF6X#GRrBU6Vok|A*|1Q?c6{)%-tk_%tE&q(M3zL0jj*PW~h zPCxb&+$f9uCNH)e=qyDTCzReife|YUFr3aXf-m0oY#_bL7>Au}hG}up79h&V;f1Wq zG~JJ6@(#!N%Hv2_kV8-50f-85mcx}-i)$~-Ui8L7sbqfw^*YV;x5b}L^JC{RKxCgk zMK95rVe@zS6}Kp~-b1%cMBMu@cy-hby?C~ZFVH1tHeFm4c5XRKBfS?4lBYhJ<9row z?*d!u!8+&`|Dz8%Y~4Gq!JS+e$?T>yK?;MOOvbu+`}P5;k`iXo;-WTf>TdUqjo5ie z(#-*nN)+oc?OViU_UhCvXc>~@b~Q^m`EcCYz0tZft7d*1bXy!Rh)?rQU|EZ~ z9IP7Voa4)X(Dcw;l`WA|b@?N`i=!gu`lfM>8c7$cpVD^mx8byO%e7mnlII@XJGMb5 zYd1R`W;=_;Q|$Lw#UgDNCP(wAxN3m3y)jnX%Q6RQWoVUsCIG8f^v1sUX+grAp*D`jD=}Hwu)yO5Dej#xc)XgGX~pAkd8v|b=kGuj-Z38cf(M$q_ou4gX^#eZ z@{FW)SZ99<)xMx;ugJ_R&Izx!RJEylKKk*GnRCupqYLYu{;exsebV)rmCgSwfrzQ> za?KG}uHZpZX>jDE|4&<*;JFI=KaQ?WB^6{!S9*v$YNbl0=4elCuwwYQ(55ZrV$Kam zKm1Mh@dfgWPUOyWOF}}RiQ5_CSuN-}DtVsWb+53(Kw3SwB||kUfX0P(&xJn_)IwrC z(TMgYnkdMuXRDlu8%=}MdPbokH_CxfOgox^{6;KWEz3WE7ra7`ONf)-}k69u4m(&A=hB3lLAF@ zgu6DPZ{Fw389H9`MP|vUacTPorI{XtQM20c4gZqa z7GEe5DO6S>k{q~*#usrVpsLnwnvZlME532Kcx1~6KiO*OJMM%tYWuZ@zW>DXDi5%D zW7;sOg4m0@k)MW`nc-L&&5MX49lrfAoW|4>Q(pl3{^|TAz!z7=esuz*N$^dmqZ5Rk zjpQ+6+1)no3es&^B0wh+hRh!4Qi8ilgQ0ex6%D{rLd!eqpL=R8vF<=eJUA8=Sye0% zxvkI2xCO3Wh1!|w3-L7-SP9)`?6^ji2=u9W+6du)a;sL&;NeT>VH{dt!ASAEMDnDB zDD#Do{p}`T{j&_yUopkp7uA%qpwq85XO@>oN7W)MYsB1^GC z-C~C`Hy~nKAmY9RJ|b>N+E&p+(tU$^yBUixlIpCHCWHFbv6e_xhU|Vdy%S0&a2KJ> zT8Q=~D$AYdisX^I^WwL-iFIPJPlXeJ(3ULF<~?rH?;aQZ?lgqZJAe2oEIxC}exG_j z=8KowKa-ynz`MMb?)>b*wZGC>Io75RqMBnlZ2Ze7&}tc))@AkJZ}}jSDZ$*u<@a$; z;-aau9A$9rpTwMhdzY&cZUX<#=cZ;*d6|Om%g|{;0khT?$n>k?6viEwhZ45~xGNY|El?z;Y^7oeif0-@8Bu!cfh zfbQ`r-X>}4rDdAbRA7p*|M3-wRn|lXVFI(`#n2l-T7xB$D4*1W)Md21fQP~q@_^_D~V7&@Tx>t_aYS&Wp)-%1qZ)p z1tq4Vy|sYbUh8g7X*IK_dQ3wbcGXK!%X%wn|82I+XVuJp2<#8nuWS3!MS~D^d)Z!d z{siRTY#K0XML9-ozZC~#U9G{^kC2Pe-K@ z5cAd=(}RjqnQj&5vI9NFU5SfvQkyviRVwHLnkHWSRC`~LcA$>QJBFjXfd?8 z48ouzx1sZ-G^ADhg{{x?(dTJB`{MVSnaG^gKkhzn6h`^ejrF4}VM&t{r^z`(wR$b? zSvTL&xkdUlYFYS36AdJ%tX?+SIBsGw_JP5$apMP+5jDLw^Y}Z)=ot;yHZw$T+%mud zo>%Nf2i`K0_)U+|S!u|r{ZEa9-p6p)l=#ilikObllA{%qUG2Zs2jBR&ZSZE#9Yh2` z;f1pNH(48Cc?!N#o>uEr7E7Jgz8CXtYN4g{MUy2(QCn4AQQgM0nLB+-ndNce*O;>H zOK@dt%O6uy$pJ9Sk_w>E!fD1O)&P9PgY91NV2jP;e^Y*^*;3n33Iw6;PmsVQFTSC6 zNO-9IxBHO666Vm9$$Mym>XFuR8<4Vcp`@*&U|*+^-LWd?1lYo^yv zD%=;m5)zMn4B9;ULmzqJAGUWZ0Ji^O`;ERVF8IUwrqSD<+2}LO6}s>;b(0#qS_;|U zMm=Ax?g(z&I0w>f%i=59_9zVS!C=W}IoOf0nTWEaB{9uGC-K@d43wFrY%n%+Xyv(s zt&Jv0$(Zx8LO!M>OQS|hrE1E+VCx{ue#HpOFVm-^0bNBcncb@-)^Ol5PqB_*=}TLh z*@Ku1^;`$fP|AS#)SML5fV~ zpXFGaEa(!_hmmqysF^N%o$)r?rxkhz*bAfE!)pXZj>4NG)kntS)Y3^t>iaZ`+GDn5 z*cYx>>To1R@P!)dDl%$uSIaz>5$Ns*uD@Sxj3%-?@=$EXCn^h1OJ5qzvIgi&674ll z7#uJRCN0@XfSoy&-A2Tqb@#)$p<1}rN4_l!3wwiXeRBc8-i zOekzPK ztwjME#Tb)Yj+@M_#G4LvZS*;!y~)?8rWgM zwi832EIOMKS4d}P2Q6gz8S!5Yg#BRF4~nwV+k7L!iMzzgzwR%ipQx1r$UU15b6E6$ zxb7upT+(Ge_l{Wik$J>Sp7|6?eN}s^@YuaCCnrZT_SZ;+1*cQS?CdGngwM4JM3QF6 z6w+kUSV}zLVUhh9Lf8+%dX#CY_~nJ~n<7Sf!j|RJi%5e8<>GkmO98$cZ1ghs+MGf-)Y6-OLIjp2ewbJ6dH*zLp=@>{C7Lq zqAITxi^yWNAr{m=Gb#j$Wq@71mBz#!J-YA~j3mpTrzcWMgW|Anc6M6O-NVklW=Hg^ zIx75F`StG+3eEOx<)-NltPo1Sv(9Sgh^VPd={m5{^Mb)GOIhh8R-CO>e{OWC9bEPNB{HNqO=q=oOQoGm5P_u_sSo-B7P zRr)v)-`-iC^_yuv*Jj%?pH}4JLCtDhrBz3(&dQ6nWt=3aJOrwbmyy>H#s!|3GJ&=x zUR9XuA~$N;-76M#gSa^qi@ek@*IGDALX8iz7Y4IBLCl-wVGe;JH_=knL;aCv#Wq%O zBA347b9BsnS4L!m7H3MJS=aR1HsGpS+973}@AI<>zIK?;9XJODr_ECAakB+(<*H}wpn?Xhx_ z{2#IXTObk|+KyPBMEj_Q(+L_f6WO1hDR^Bf4&SPy_T_JVs%ml`jc;Gv+xtM@{B@$3n>g?O&v|!BUIuuB9k)+ z(nRAifC~urQ4)k?`7Kt^*{o14!08Tm8sbDXeHy~6);eRqsrG^GH&#H`Z{J{eJ@!+n zeS_ZhkWopYtuIoIjdF#Jl#vK@es~q+c*({6&EY`<;l0u#;8}I-1Q|O(=KBI4<+|nx z)73J_fr=U_0*2O*nel>s)A5;@))$(muFm9@57yVq%Mg{ix*g}ZZz5PcZ8-?AWon|B z^pbXl-Ft|!?wAd}UYXc^$LCoX<7n;b$RkbT{Ut0XHJ9 zza>g1-#9BM{`or<7XIeX)scNJ&NB3l4rjwDQiJx@yB*t73tPTRhc(@#8>-}&`MF=t z2uADF(%gdlLiLJ6GEcGU$+VmNK?}~|i!cKo_Ep`SK8VMYl1YYWj;)tb2pYNqnJ1_^ zVW8+vwIMrmmSx$-aXX`f(1841Fb`Jc(M(XhzvZBfMf&=8$o@r(5z)tF7u)Zk}$gEtUB{OJmk7ET}MCO{d%HxJ0K!L@|mn~C4nGv9+tPVVI1-g1@Y@&&3!%W-i` zZeh7RUS)5`^1~mzy?xFZzW?=sh#3UJQeeK#d(gE4!!H?>`iX`I2d~@Oz2gqXYK)Po z)@2AWNR4briXEyx8Xirie7-M`&tSF8pCDkXtSZ@5QcgZiLq%(ZaBEVgN-~|Ufudt5 zizC4leI7ixcH)?vK7?2Es{T3m(fubUk}FD!fUR$j%#HdC+9}#TiuhzmGtDs^CGpZv z(Vwi-EPA`(o!-Ln6|Sgxov^#ato>@b;zuB(NaD>IZbCg9w}5* zbd`IRZX)p%Jr!1*EZ*pmnESy)Z_4XoOT zMU%+@VNd>Tng=CYftTKz2S>km-s-bF@}<3u9>GUGg&-nq&EnUq&f;wdTz_>4I9@;SP43fqR5J9<5Si%SWdIR_LY zH58lIG0dfgHs@_Ts)SK3j+k<+SHw-6hSuqev7ZQKNXj=;ebgj2*I)!w(4%pV2O11A z-a~}oBQ=+n^MI{RcJAbSw&#Hk5V}3$oBsgzlQBJX{!I1FpWy2eWy1KJw@wFXO}fF> zx+DpjrEH%Sikfxuy=-)*J_EEll@Kjo@Y^J^=uHi6JP3iPzs`O7Wc)w=;t&7lkKBnq z`n{z+K#-{Z`^EE98^p`Jb^pbm=V|S$Z@#;87(s|AhnKJz#ZAT)+CmCxso~WpQqYY% zPY^9KX-Y##|26@t>1+zFR2RdgJ?hNG=g9@@PJdWk{Ww|9bzKjTCPG<9xB`93exEw6 zjFXp7xxCkL>63zq5_vWGevX6-$2^~&JKOK|1_GBB)WR$k6EnndaEipC+X&%BxG|gq z$W{Vt-kZtlf?P~kZk)tTmFCwr;U(?vccz8w-o+RLEr;D{goqKgK@=$i<@k)lI=J1& zJ5Kn707Zi5VYZ!jrjd+TuoVc|bENLqDY5ywxM6>0a2*kcNLgHm*_ke+hgWxOAMtkE zH3L+5VGsnOS;w(mnBLaZ22TKPuhFGOh$bu;=Sla!-h73>vpI+7v|E|UYulO4Z-ACN z?;8l$J9C30XlC2sJ5^wjn0LLeEok2PO*mAH<$^U6Tkd3JBZr>^LfWUHBmc>t=>1j@ zsdodk$xFrKK{1u#(#WZthxD(Df@pb^28|)aS0OUK`LRpumyd^d$R)Crz9Z|8^CDyd ztlvD7K`DAmQ3+NQC@AN?_V(j$u}Jc4s9WSFd7isHcbHE8LfpzX2np%fgL^311QW>L zqd*`-mH!4u*)AcG~ui%Q!+Xeab~ zzrK23Wc({f?W{gf)>-KTxUd$rHb^})3okC0ijiFaD&g!oi|7v?P+-Z^YT|*&Yg&TC#HjLB>tAG@kAqPYAmL zBd~ne^UzHoe8-1*D6Z47W46dRX_j0v;j7zUobPuD#cd`blE^*b zjFGi@&(8A*=mysk!gVaKIjlMW0rOFeLF#;zgYV)!@wpaQ-9ZM5)?DuHc@-ezZzuZYN4;3MEMd=xkbCx>1kTUqrE&@& zo}$4g9kisVM$^mXGMBEwB;*93*Sf@Ddat66p_1*MpE(4(7FV}3^x7%n7gMGHUF$!U z9$GqF+oKqJFPcY+L;=dy!(She)80}BgBakS1H&!tgpFT&HY+~8(F0LbIudk8v&hT` z>2AOM{AIq1sTh(%tv#4MK);W`MIAmcA+?FLdTy@)FBz>Haaic+IRcv@-(eu;exQql zdP|39K9)H#I${8m`lCO3wZ}mXy*GFVBcWTO?QC{v_fE;dEbfpE(@Rfq@KtoUoQ~#Q z2EVGiJ0)2ou$eN)khwzdRXao?%J9 zj3$>isxxm_RfbpHEMB8uEd?zlJuP+O*0?DgC&`(DCYoNmZ(sf6fh-OrOlvWsvdH2I z=-RlnPUI9Y98H(8dIVCWE5~~eOLG?*BkdcfvAjMf-aYRBsbkS{GrAd5q=Ub*gb}30 zrYa$g4GwbFB;|uLK@|X|svn0w}pJ3y$-2)8y*vr6&)Fl0Ip4*Zbt31CId-BdA(L%@?Z zM(#E#)u~CVJV!|^5_js530biyp3xmLtt*8Y^hBQe>2g9km^ovLRtmi9dD}4$G7C@F z4jZTQo~3C5VcgGu1-<-CQ*f1?RUlvZ3%VPs!h@Z0-CmU0P0!2@xgINO?kms8j$z6k z%$2Mblwwe;pos1G6}|}UjQe6MqE|eb?M4*isZ z5x1tv=wqeLUr5gC3r!?AkH=U+(EKpXZM35~yt%u8DIOejnrekEv>ecXfYg9LGg`cU z5L5qx#CndB8X;x z0IaQHhMw3mUqw}4ndf|tAOjkXJP_sxi=3IGCqA(jc{gGM1C-5P)RzqCESpwPoFh=E zF63Wq((#Q~jS=tm!(&4dJq#UAzur=weD!y+?7Z@o{pgTXUASf3&&Hm8fi7nI004+K zPMTiMsipw{wYS4=x4zqAKccUc_IRS^<||6AH-5U%!~%9s z{TCjh&sc74`}ZwNEgbLcUNxO!;$n0hA4v`BJ~stc%b@VqZn2Gl)q%nO&dlcU%+a-% zhq7!xx|kMfwq^6#{1J>%4rhS*{j<1udU58=rN64&dSv>kdjiB>c9je>iW>pHH6p8U zB#@~RnvEdG8H%M2{BU;%8ix7w1yD7reQwGFxw1+P7xNPahJVL==aI6sAv+l~2`8pD z769@e*^;3e%xXE$DsLu*lDk95m~yFhIxF2h=;%iSF?oIbK~iE>vrbl3>Ee_;dh%Fs zm=FmB$Rk;iFX0tgjU}|4NM=yh8X|-m8*t>XG~fCALRQTSLDh`ndK^i#fh zMV8z+)@Nfi(M~$s27o^mB#V77{EaeSHuL&x&tKywuyDTNeVo9P4eA`PMr$b#>xdRj z%M;LLu%LY@)EJ$f!N~DaZs~>4jGm=47b}Z^Gu@qSc~V!P6piO(;Xc2l#>8$aMv#D< zM#Xpb{AHG4%=~@6js1y!+Dhi zksBuK6E~1s0tVwZRTu^GF@u;6`SZ!cU&}_OfZK^@i9E_{;^r2-^-3K{!hUL5MEs$V zE3d0M4t)E2=3(x6-xV6d8OtB(hg=y2(?{SFTeCJRrohJf#bm45=uRcIiBf$vd-+*ZmRp+XV!MnvRZL8< z<~5K7;*Egx4fQglb-p33kNULoP7O?NCFK|Qz}U&ofJ>=i^v;X}L!I~gAf?v77j$pX zS>o!_)pt0nc6Djcv{s58^OL3ZfnT{1F8bJ!Ht0PC7yAAf8#h+k4=L;zu#Siz9LGw) z5?Bo%u0AVO7uXdCy!-e&accogNQTT?&I2MS4 z7bN&JTp3tYLr{D%fQ^5k?z#%!OqSuRi%FJy1y6_PJ#k;Z$9wA_SQbKH8Oqf6gyG|F zp`4Y-6JxdNP?1!zcB%LPY;)!=g`x|i`=Vtxz+<-SVg)@_w5oxs37)0sR3``Te3N^L zua_-)+53W6WQrQ|?eTYc?|a;9AlYRCu<{Af56PJ~uUkvSQ|@2=R__N0AfMuULbAKP zLT|Y3vt>)vJ;2<)n$jAa0*4*V2V;t5ZH z2^*1C3bn)BKAd>|LQXO^V1#Y?S(+g@F);~syEIcs2@dR4xLdN;MIy?m+JA^J^?ay$`Ka+}gSnb+|I zqP>`h_Ce7b$RzH&5QZJ7#hN;Vgf$Ln83rk4MSZ;)A%!n03Pkm^vBQoDd!MJu?dpEG zgga{mowNxqrv0$Kc2{$#`|Xgceh1ypC#BeX$eU?bq@ew^pIpwf46aQ9H662F?)rdj{W>MtJ$f>Lg@8ZXk)Q# zzbuu~3IntCYxYt3>FKNRp(G|7-r5Y}s2n;=C^D><;=BS?m?tnMqS;D?6gT6%Rwd5J zP?a1@B8DR!E5%pmq_7T2XfaY1K?%8^xXpr};M1-zWibg?+5EdecC`!|>0O6fOmwy8 ze6|{JqK9cUvw{tM;W@J$@aVUAgUy5$fCKd0Oq^6TUK_${J8jzYr#;&=y#Px7(Kr53 z@LV$_`$-VPWr{K_cqnx)Uomz<8l(YHs4m1L9M2d99W}2w;#wt?YNZxv{c7A*gmD62 z13VyzC8Dy&0X|Xfrn02ajyJDgTwFlLezATfg$WlG7AL`ut!>4^tquImXROxFpPoF? z5QmwLJ!W!K6%?OiwBu{p8Q+&Z_alW13$bNRO$>7n_jpdMvZ9BXMqv9m^Psq?B=i7@ z^xDI$!N!vn_;%&v`=FnVZ~FCb$-reQ-nts!R=~EkI2yQL$y=PpHX>7xZ`4A%o5f;dEathX!FZ&~JbBDy=W} zA2UYJN}q#M@Tz{;A*ws=EcaKvBFzx~3rM!H1>OQ6$ao>##6JJ`{xa+Ewbf*HkVhj3n$jx}oaXAEgy||fS(}pok&2ckJe0cKIZ&r z;YSURe8DMZ*sTxrzy_|)r8fcs#9ckOE-^%}S5z_4If5EKC6ZK~&tXH-wZ5n#s`+==8qV2sSy-m_@j*QP4ZKoN|I%Y%F2Pv=xl z4KCu!K++-zZR%8iqO+Hl4ZBX;264_HTQkTox7_aTgV;z(9{U{|WG+R0R-~(MRE3c4 z^~vJL+Z<%Vl~L67Zg2tW@(*pxE8pTZofoqtS9&Y4z#kSArYS)&GZQpZPdd(#H9uib zgONd=LL>v5S9pXnFhD8wP;^$+qiP~!bp$7v86`BJ%edA{eXoQV6N|{IB9{uLRe=|0nio zR2#%0drx;}>`z{^2HR69>XDn9v!XUB_I0uCaYpiE{=iovcOjIi|M`#`zdFyFh}tvg&iyOQ;6_2O9N?udppv{pf5!6jzH*iWGe^2%?jbv(J;c|G*2lO@j;Qj2zCLhH* zM&n+3Qkjg@(QfyN6pB5RK%}AF4$;eMb1oFSF>I3FtGa9OLnxJ6DpbLFwJZSTqp%)k zQs3;KTra3WikX;Sd;3v1D-l;_@1kkCSo7_dcyO%NsD;|CZ!w>anc@=rH3ptQscy}M z2XG_itO4@tB2H3FZnO;cD9DVx#yA07UQj=KA>FnIaG!ZH;)0~QyuB^lAfK*w8%H0w zvZS8q>u?U}A^i{1B_YU1Cd=&1s$Iq}24vz|-%EO5cOb%#3=YkQu8$EEvVx}rN-@cl z)3z)frc42yw34G4qb!ll zqwFduCCR%qsR4~1EMY0~IF-HVyK0 z8d_4m?24$a3CBs4bQ8%C2~SLr@0RhN*bd_8&T{O+YCf?*7ba^3o3GuqTcBnky}r8< z2;Cdq{B%AO$5r83R84kr+8R6xrNhQO8p50hbTW8?8SU&WhG6RE4s#Hg0lhEBON=(a z3MNDhsSSk(`|eFpLsu-dm=L8oAJLb*L6TM-mtXQCFx(b}GVEQkF1chep)ujWAuVm0 zqEp13fZ9_R=9Gk#=avZbh_;x;ejpoUhwElQKFwwucv`BENy))kN0*s(95`YxwdAxd zY(Hs6%~eP*v_Y3oXU7C!9XT@VY;M6Oy*?b!3b<(L?`nC*?Omnnn~pIj{hpo;*5~G- z=(F6K&2z5HG*Uh(5NOtK18D{|#`|c%5r7Dz)1R6vKgnZ(K_ISgI?oh=B&ph0&(kH^ z03nB;I|>$4T|COOjUCAI$KsVkB-lkApZ|&es`kp@$5_p59kafcKv`|kAd+| z-BMgb_dMaCm1{l8cpO=RKIm|%k@3dfkIIeD$l?NfsK7A3$*h$(`U>p9SA}{Hz;aTi zKm&kmwg!^@qrjH7;hX&@*bY!X?602ssf_@?{gDc1JqoVSOJ#E;X~ZG=A|eyADn-A9 z!J6pUA31&nh+4ZQc$$(KC<@ z0e_FPWUE60B!*nK1xSzJ<_CZV7ZtSc22W}1E{FY0Ta3W(e^(#883E=kR7%0dB$l$s@U#=8yT}U@xSkAF zROuwhuq%I=fNH>s&~lr5P-n_Sf(s{sALmG)qJQGza#TKJJcX*nSs*}-Qy;%d296PJ zTQ&t$sa(uIdQ^SkCU6^(^fShiWmB}s&Q?#w9-n3$NTQG6FbppBj@F!lV3X}NDX#osi8n(6e;mD6wM@$(K#dXpNOs6pET zSZ_x6f@nGMR4Ol;vG(G32~oBh8lWjn7#KfhJ9NJs^%^ysyuz$;exe%cP}VVopn=@o z!R=ljHH>En)US2RKEw))h0KD#+5+rD!g0#I8A_UO>6iz0p)-y`$@^Q znH@AYbtCLHMtAlNPn7hCvBMZVt3N%NE2WF}nkD7xslJ4}!V@^*sy|B0F>McoC@it4 zx@|OiOQ|}T1}TVDHC;-NX1R7q)XT=hjy%Vja30;or7wP7J2-Y+lWP{nFRe~oGvZyA z(^xC9@*`dH+p5vLPzTm+@J4M_R=|i+qVqWVn5Cz-s5{byfcmjw-ijVZ84DE0Me!ED z7oIgccOCd7{LrxumSV#g9|)RLH-C-<)A5Nt02)JP3RRRMGrkD)XJ&_j1=`tjKXlu4 zEc26ndwtSQn){KO1V;vYU)@_XfQ8=qyjVu|DXpjl;P=7e9gZMb(*jl#?O+`qxd=_7 ztsa_c0xPPGBe0{$#34CiHIXXTV?swm!p2HM$a)>!M*Kc44;#&1D9YTx2XvHvzo!8G zD{Gp^@`Mq(bd-k$->;N4_bO)C$uf#ut6WG!Kb<5d8G3?BLqyUHT7;lap!#qIyq?3K z96`-Ay51Q1z&~_EA;PEDbAkEUF~sxRRq0+Mf2LA@*)Nq#;lzh!5y~f+cT|;Z*6FuV zN7k<|O!lAFAvbICVXH>0YAY)zQZj!)@^9$p_&;(qenX|>DE(aH)ZJ7BVR?REj)M%j zox>M5+3;6W=fhJqOH#Nmc?iY|p$;xK=ORUbG}riK{T8&`E&fLyTjfJ9?N%90{y(9R z@u}hQ%d4_twR7q$nJppd;0`gUf9P$;$4+4LLws5R%Ixy)S7wYIJnKSUQX%?F2SIu5V{Gdz;)k6_g1gQW>iTv9taPwTGb}BIGVj zvlDrjA}S#dE3>C>Kq-^XtqXErI&`sj$I?I~zsguB5({SyTZ?$jr0iv1m1~zXh4e}} zY}Q|XI6=lu*)HSy`uq>xU8~OESp6r-WmW-+!~F%0jqmSjN-SCH8S>AyYT|PLl<{@A z`1)i;r&lYh_~iMFmVt891GW>CMgQw9a+`b^VfV&4W+Y|@<}e@R#qA}<3iaLXqLJ3+ z?wxiDE%({AcJ$E4G{epb^-lX$vM*o%RW5F{u&8`&Sg1eR*)6*!J=uHr`3rY}HVC-f-p+?_-ETOJ?A@;5g=_9-{si9~@UQi_a=GpNv2}YuqqBcizj@ zRtd^)7LZtw@M$$@=%81fp*NCXoAMG@z6B){)n82Rry$Gl~3Zlt_Y}(WaWj@>m~*pFMBzQE|*vVK@Ac=1*_S<{QV-C zf?G93Q^C`#mU=;VLp^5`)o#^gCd>fkZbf~zX$~@|cPjySjTF2U)xxtm6;Sb3l}ViG zS}1ud@*25WL{RhALb2g$uMYTee)C5o9j4vxg-#3&Z+-jcLT>1V(D7EeJrMN_THe~4 z3^oSGpyKfJ@Ke~1#3=PIyKHY|hGr4%){baM`lWWaLfltY_tqkxdggs8(UM}kZ}f={ z0ctwFjvH){_&V&NMY-fpAHRXWZ z_)!wmL~7~T8BQ+#VtbeMK57Z!E?O%=KSi>bwj#cXJ%-bt_1}Gpm>(eS&(bq37xpJo z-Ta?g-(+1!e$VrtAvLB+>+y*1w(Vu0(a(^xv7%40#xJ!8^vf)T?o7>(k}FrNIU zALz%OA((3Vak95w`ssa1&4Zg??lnJBHG@OU{N`6rpdO`v{-vyKFODVDU%uQki@VkGP_BlGbCwyxb63*5LIz}RY(biR8PQI(Jz-gMHS>dV`pgLwk7KAql3CHh7gRd(}&)ms!m;JBaPMp-mp920#J2Z3O z2jfQlvbj*>$+a#|nbnXd{p`ET=%_^3xf9LbJD;kU_m_OE|K>>ORVR*3S8v#J_WYld zOCLmMWGGVGSFyUkUV4b5f2@x6AYws(P5m1+G*rwI?X^f79S?){XG z`u1}+02E+i`8X%rKU~xvZM=eDC-b+Rni*yi7V)_sm*Urya=9NJ5FRT@5XpW9 z5_Mqt9Vt^e1@mCYex$Q-FE2aLDRb$pK#$rlR(FsT8a@3BRq?MusQXJ&DD?WRRi;3xYN8)4lz>w6G`e5?tV4hd?`5C8$$y#toc!;c zt@EY}w54Mq!*SR1W!8%|bLtL!3^{qe)&_fWBzeQkD&{aNfc}E}l#zOHx;1t3eQy+B zm{u?vDrBS5%O4klZhCSEL|_4>$eymNaGq|a3?&EZpY~z>a_}V)aoJxWFuk4j}4CQy`#$xAyJWIk)~%s$!2K#Ah3d;v2~`6`2tZp zD$^x4cc3v@kVlx->3U(MGxi4W+(s)r)y{wQGvz201g^F2nJ zgOH&!9t?nUTk@p(?KG!+?x(}#g`lPtJD~c)OB)NrG0m)S7oegYG~KgvV}Mpu(NkGj z#Xu-z3{i@rkepMm;Ex~2+92^~3!%N$lY^PV?etKD8K@IGe3O&LB%`&z4=3tub8*(3 z&R0VZ_Z0_kEI^;4yK}}ZBeM*oH1wyht0D}W?E)vF!%P+h>j#4fUSK?@2>R5{B=x6@ ztV4%S#>e0grLxp6Uado?yhX4=BV0xJkuC3Y2d65Jcxe!o3!dj0?Os;|NmIy{!82i? z1XAy}A9n$ zgnF88KJygm8ms&*+pp=ahtZ?gRV05s*K_%Kc8=De-QM4^WEDQXHhmp?i3>|+aub?F zZ=F63xlGt*a57}X;9!bLEAX@qVkyMmRcotU zFLeDY(Bylf`blit4&&u6OP63Y;_PVTKm08?oL{PmXg|97PAy;6mD#orAXGOA1{=3Y zbWrmb2v#oB?UIXioRC#!Pcr`XE4j(IhUKH3?fj=dioJ`Gv=zki9Q#Qg^_{nu3=?pk zohp1;A#jBhQ@TdJX`;1>m)9+tc=+McgsG;_hj+vAhed^>iq+Aa8Y6~7F`<;*7?n?@ zMy>y4&`Ve7VkvL;6AGxPuOg}fOkWE}VCCv7^g2)1wbdjc_-T)si+(%R%7b~EwZLC! z_8+K4x2R2=E^)1;Lh7IX8hjd6^XKdn$8ZxK-PZHJsVI=Lk3VMhVnvPrk7tp{+f{R^ly&j z&V9bHk$PsGUfK&!aFv&c#wnS~muv;-aeAXg^@UI%fShmqbbI08G(}VNO|v{GXIBm& zV!t_Y=1gB}Sg}R79M@)Rd_*}A4J#afK#U0c%F_rglHAGuQ%1J2DVrhQuEHupxU09r z5ua^l%NDpj`!o@Vzlhb-2&zVGFo2zJV+TJ zx8jS09xVlyF7tC~3362_R@X6$Z-@?CF3AIAfjGJ3ca_4D#aL`CLJ^b%&*_1PoToX5 zcHhPD6sc5+d4YXy@sNj9bVcM3`DsHx=OoATI9**q6-GpL++P-b)^{lx1&*_X|9@#H zS_))6Mb>^pFJQgVy|1TdrC-mysDS-xq7iGw5GiUr)|cV)a9>|+KrZ_dod?y>ZOGqb z)eqAd@@~yeW98CxT0Mc;8LnXZzm%ilQkDf8hC!=g!8532Kg%}k$n!ky9*Tl0WB;q3 z0~4*(Lfe66G{906x&Vd`qn4%s)zazoOIcD?3Z|E{b>~1nK1NglqrGz3fBVDp59bwv zX45;4DTK)Dtc9P#PMmNZN7Cy$v$l6D*wM`Ho=L^Bm3?r3Xh%8fzbcXP!r2u@OcU~?nbpOBu@Y8aPA<92|Fjt{>73sLDP70U7OX>t6rxxvsZihfE)+gE7y8b8(#uB(>1DH;K~|>ANEY(HGM#D9D3hso zgXR~_9|WQIK}Im)$93MIDh~#V=J&6*Bt{ldAS!dv0eBvk>c!LF;7sKR7KgP?35_<% zKlReZ{>|)6{#TkHcFT_gJ3I|K-BG;-zPGe=Kh0qA9ql4F-SRZ~V{f@A9=7={?zo31 zDn?doQ@)xY!j)d>z~i$rO|R#-7OTm|+|rkDo&0?pM*#AwELOd3UqX)Xk}JeKm8uL9 zp4!wU{EY4y9?IS7_YV=yV1WWv?L6598`goZbF!$>PZ18V8(RzQOUolmnw~ku1)-R& zx)sdEp%FEZ^vFO?`!o!_u&B7tylg_pAT{L=@?VNEJblQ=M;&m*rBs1+p z-5Qwt(X-p9a0T+I$~jGDn5g?i4&82^7e{_R zBeSjO$;vF}2{P$w%MLFT(G@WLYBhx8i2^@Jj!?+J;u&>hH-Li_1#c|>E6&$O4i)zO zKbhE6uMgp^gGBjrpIlJ;Bn@rzn+}P+YV=k+C0DUpjE&tbUKX6dvVhYvGcnA_@_sBJ z!Bgvzt0kXm{z}ik^CCIY%H!k}<+w&T@>2%)A{f-3nKQk{Yd|9Q=3{+U4sCb(9b9O^ zYBym%AJi4hXwNJ1e@r>gn77f$yfdHcn#%xEPj`3@pD46lyHhq<`qPNSmkk!ob_aIB z@bo?3R9Sgpr%t3EI5>E)cB?fz;!W4oY+A?#Mw9p-JznD6sA1o%YmMw7uB{PVQ1e!{ zlGD>&hawLM5Oxt~ISKt&lSM|}-lxzP5IOR9g`rAec-q~12(yI@_i$(mBn&dcd~P;y z4Fd;K5lA^TqTj_RA2%y4**wUGH_4`+(rj(G;Fz&X)b81{NFvS zL`XV9d&2e92c7TT!ew_rlA{#cm%M{9M)=Tlq8f=kyU1MK$t{Yx_3A~e-+r}zdwtRp zWD5LFojm@*eqE3_??OX(sbxEEehxfOb~YckF*ujC)p`sz66U=vbFpP=KK;CwG&!iS zuaXjSG%r+&sH`-b*MmY9q0dG5G!#wbY4R5*=T@{3cOnP+8X`NN2M%P;5dZk1C=;-x zpi*wlmiDyEqYz)yv$61M(AlC6vh_nyB-KM%TytGrek}&fh}zLfl9Uw{T`9a+x)UBw zdJrqf;;s2#KKQqJCI2=-j{JO6^-F)!Mv}yj`#c<8R!p5O@dzM=p08i5LjCi!cx0T!W%C zbR_V}O$>+sf)bS%FbtJMAAC=^uR{b!(JwYJ(0Mm>Q3R=jYr#^4ZBw5P*&v|>T7tf*=GtiBB6O*7pm_w2MS)$L8C z-z9NyUk?i}a#&LAyHJ(X!`8;)e2k)Gn?j1#KCK*kdzb27U+--`m$0&&+|5m1VpI3k zRenloJb@zZW7z@3AZcYGbK_m-^|=3e9?#Gso)iB zps*}^f4{0X<@uM1mW#Qftv-(Kw^zhZd%``fZf%c$)c*qMgVtZ4!%)Oog3iaM%=mI< zA?tC$3P8fGtumz3!;_)lOZOP!_6L(gA!k(3z3E`QnMA!=WE_t9rGw5T>-{PS{(pD4 z@GUXt+^(AK9UbCn-J=M)6cRNlvM;9IKCg>~@DT1yfW%wV^+%o^kZD$O)7J>ebTw+O zu=R1{ddD2IEm3C?KA*o*Ee=IfN2W(uAU}Ej1y|6{VqK?fodSK9e%oBF$^}Udrq{{V zQp`D&i?j@z^z8TR#~M3LxYA0xHz+5jp za>f4fO`VJEKOSz^e!m}7Twd46k_REpIY;cmOab#mBufDKk|1ZB%rIEI|GyQ$G8qg8 zTn?;-_cJ8;uPk+VURGv0!3TPo^b|#USM{3V)-zY3Rlp7s#tz@C75FN5DZS6%o4A=* zhz#%1O2z0Fj6BxZhF$K<<8IBv%i53??tdBA`5|&bl?{89aB3}`R2D;O2Jw{OxSx}3 z$U^d1PGs`Y%{=Fe`_W)5AJR$@T;{lGn{J;f24`F z5(udl|T-Os#F91j3qgJ*}q$9(-m1f!mEDzp_s zKC~N4UGMkA`z>A}ixlsisB%PMr3mWIxNU5DCR#S3=~MFVSELtSxpA?C zU(?txmC;Z|Cc0zJZgLg!eavSEA4Pl4JWR#UElpWvnJpytEyBeXex4NC?dhcDZMTOF z*zLrN(2ZH;i+19Pef8bs)g7L!hyK(H_rZb>5~@VgJ!@IfE{NfDorF6mMAK@fgR9L0 z(XUEe)#xD0d+KWxzqloq^6*?tN=Y07l*=*1b^koC@pNZCw4UB%P(zdnEZil-Sv%x_ zkNd4Nnfi!QY|Z9uNpn~&4=WaYHo#?aPkK}}FHoD_yO!T}bo`WfZyUfBAa`n@p64=KV>o~R;2SgU-osSm6k?Uwv^2ds(7?u?0&DlrovncNcyp0txF%ud( zjNlN^7|0&-ZvB@+WqqG*$s}(zaJ$n~p^L zI%fIZEYkCLbxN3M{g2c#>Y5+;ObLir6h6}3An5~&x=(j+rmPP#LwbaQQ)QilsttBs z4#ISk-%yNrQEj8h;IGsoO<`L6uFOqkZ((9qm8L&g0H)IMXi)nEWs6bhOUs! zCe$86mb*supJc@e;>7^lICzr_d|OS4=~0=+S~wlO_~Z9IL8cs!H7QY@tCBLRqQ< zduX_8!MOcn7u|Bm)nmizCqdX_^^S(LuKw)J7uOX5P75oJM=Rq#j~`O^eDjih9PVC2 zTOK?S(?Czn+#fNdQNry;uI7x%WvWKCbdW&s*wM2camo55P0IFQc$)b0K++hz6v9u( z;AyMRSRN?P`#89UYIEcj&Yp+h2-11dXXgUaKDKRvu*9O^)SKQCZ9Be{~F~V8}c)hv2hgao@pcdbKCGQ4#Ul&+nPIsk? z$SiQ0Lb5X?zv|V1f~s*T7CC1ge`6|lG8^0|=L+$}0a{-3CBrfj)o8ZR4+J#|mu1ds z%bX&9gR2Eze6-r~dIpEwD{xVf>}r{PpNq=)wp;SDHjZO6QIcq=kU30Wx`|ipQ?9u% z(p_A1dt-L?NVOCzwrKJ8JnKTAeVhG&Y%}?I6Y4VM4UtWPFw%K*esb#N>`2K8ljCCH z^xSfC`oiF2_HzU|8sayzEk(wlM0ACyVg93MBoO3)^iG@7D$`z@1c)q#m3XB6O9F5`=42yKt?) zy@)`|J6595rm1rLL$dMOL4$ zfOKAAtZ9zD&lC1Ll_TSjLeSoa>C~pez~c6`dZo0KfLgEoH(j^_Ar+FA;<3_Q2BC!I zQ9Y^co=kL-Ser*|A=+JB1J^(74(5aMtx77*Un_x_R(nFj;J!_F+r_wVQV*k#v8JdC zg;mUCq`f{YG`FuwO6AL)Sk$N=tc0owk2SsM^Z7X(Pkc{4kD_AXCd2fzSzL*~Iq4#S zs^S`lx_-fMkS;bW58;QCuKT@Wu`$>Uh;VaWBf>QzIInZkkEh%s?AtHYs!B+_bhde1 zpm>N}Bjvew2^))`U}lkoI?ybK8t?%G{yAOebw8+(DdNW>_cYxiMM~~$sR8;3`W?hZ z4gBv5A68#@)nvYDe^OBVXVcE}Bw!#APGSQKwXTv)D^#X&B1v(_pw@dpxr_eW^OV&F zCUrfd6K*mRyop;JNGj6Ed0LBU%h6f#N2gL}Y^p*)(PA3pIzJChv+z*Hv>HbblgHJh zEE2qtxB3A$u>K1C+(ucN87sTq5pLJGd|*PMRU7s$506t;pSmk9uYu%Sdn0qpv9kct zVfM~*3L&cA4gc5fN6r8wa{J7TQimwe(OqAzHyq!AwrijL3`~=2)w1)t12`m^ij)-Q zsXzC^=4kQM@{M>6?W{JOUz0ZN+N}{Xi0bn~0G=^v1mr&v;3jC~Te*cqliro*d4XiJ zTzGTv_2bd)fW#kkV7_=bUV@t{uj&H~v*^Vfl1`CPe#TCR{Mc+>WGCP$Vm*$w3Ut>N zy3NZ{9xIGf*( zAM|P`C=x}IAlNOknu}7l+-o!#+Dt9EF&MQB=em2?e<9UkP4J|)vq-<|klRul)3GR3 zA8!BW4COj5f!vz573c!6ViKgKW)J|%+S27}ouv7#-Vway{o>e47tB)-E{xiM?7~g` zOv4-+HH0O8d@0yKi4i0b@S3{|?z!Wk50Dq*xz^B^k^K!-*Q41MlnZ5eyFMaHkbu|P zTExXM2`?c*bb^grlGtQHdoephZYP$HI4K#9`r$Nl^*$tG1;N?I2CS5F8@x*|c_&rc4uLSkFSbcp{w8Cy8^a_Qq!P-c%^eR9 zxCmXH^MW$hp!r33Q{*Ew7&%AR=p$&FQ(e~u6HX9k95FQK$9sE_0?lz7iGYvc5qu=M zBIxXDyK25tU!vKG_eo^d3ers^g6t{y^m(DX23sj#oiCU+NsQ$9;klqkyV)@~h_Loq zvN+1P{qU4FIukL<9vZ$|aC7Isu9Ais>q>H2{^`MT;8_Gx<#7^>WzUad0&QIgI+Pl zANEhifW({A+A#CNGIjnX_3Z&!V&=@8!?~d^DG`gWV5$OsyW}(p1P{3(kTsqYS4wh} z9p0j7``46C16i*06QXY)H!+kP)zGM6dp#JSjB63*eOm88S!EItfVzdlxY76P>3%6fTw%bycdrDTlsbeUhVHd0wKR?vLIN%mtBDwg(jazk zmk2)gWv{iXD-rU{k(}^wPz2abf~F2$x{#N)oSVq!yEYsp@cySja3E$;uQ<3{f>h+#8A+U5H;;O4qU?kpHQ} zU)NO!QJ}al5;H@umwF(h1d(oY)esueV(goO`D4EFl!+?iGC$<_<74vC->YYq)vQrm zDK@)lzoKAc|Fjw&xQOa09-Y>i|)e~08$_u9MI!ygf`iF~a$Em{YQ|}OV1kRm3 zkj4?CbO_Sg95s0>ZSH_(DamckEhX6%_rCgL_VcIv^DZaBI^_Bw61^EJiJIJmVQ zVe2f`RA{X#x~4>)uI=u|h`3!bt$4P+vEj5(bgfepdBS&eZ z+L_GT+9y!{PAA}WULO!y>K%HI5RjxqvRI7{C6`F`0m$kx(Wu_iJd2r(CiJkrwIr7{ z56PZ{Sxv#_^kV>us**QUD?iKnC58}s7M6bw%UAX$sx6Cx(8Np(q%HfX2xy3`YB?f8 z)j6#5F@2ecxr(1mEwU~n*Yx{2zHCD5!oVIDdM2%4tXTDtxwH8*nPc&NlDVwEs>`a5 z^>wbZg^B`QP@K37h_tvQ4(E!E3H|=uZTg12*N$QtHmg^!K zws?aBkea@Fo;B?AUE#ULdsgJnFr!^>#?|=r2SF8xUoPX6N?(h~*UeaLhM_-(@fbAy z*QY$1XmLWA5}qt!rUuTOjs(q;ivb(+OsPnYz+W;a>K-# z9SJrXrGQHm4XrA!nU5X7(c}6OlA<24vkZINRro!9X6YY zl4S0FAq|d)7}VK($f}&d5tZNOaT}n zcLYv9poM~rZ7>Zo40Ewi#Yi;}Ny_W$WBEKpy^n+DJV4aG)EkH6kNbTO0!V}Z;8;Xb zfy&8YX-ZN2SC^PITo$g7^ErqXJm*K#bp$D*-5#Q2iPyad!8T5gQB)DC_66tQ>LPhS zXCFwl*=p+l=3`S~wqa(o=w&aWYj3E)=hpijwhT1UJb?TuVm_?_*f*YPT@M6^OmS9x z(Ss!Hk^r+m$eTQ?sLf&EUKnb>9n`@eS@vGtSws>#ORUR4DH($Zy^y&Rsq8wuneney zp*8+}3_KIq%xX@~VAv?O^51qS;=%|?thN^49F7s2R5IBzNG0993&3yKiNEVmtB2HVwI!cb@di4LAluFPf%KglprIi~qM2LyR!si*@rVY!5O{Fi^%web&PhrRH_ zus!Dq`oOeQ(iA8oURPp$K7a}+Lq7#OVyzQ|V^QlMlqd}Hz6=DV$*uo4LB4Gq5 z+LSS1+>k7-L4VV&hjfIw6P2A^yS@o{l5~5IJh*g`Dn*NV%8GL2*3`$rQJCvK%dZCi ziPeiTAgxvN3K)q^4)@&F;d!1nRMmX;&*A3FOFEFqwVZ?OpO0y`$R^<%Q=AG_`>DS% z!0$o{h{OkQzMk@qxTlY8VAVb6{eVW%#g=NI*dCEGys3wXebkM^<{ghu6P26!9B%v= zh^rE8Vn@0L2&{%sn7V^2!`s8Tn$ZN>^*TgK*%p^_VJV>qPw{Y=hqLwp@5;y(Aer&K zoKP$8YY|`eTG*=3=b}s?5ppoFU!;?6IOueaF>n zPyN-dcc>|hhbwO8&nlDJv#a-zRTAsYh@LskNmjo!F^>2BEUz#dZ=3>39a7zz64!=F zm?=xzwKjjn1mF`u*emP|8_t8us^%T9Yy+inl>7V#74`51Tdm1&c%`nLCA#^mEMT}* z+W|*DX$jS98^DJS`{8n#yK@Ui{w)(t;78rYwdzeE`?0KO+4CC%@L(fcb9~T>I)dFp zE)accvM)E8hW)y4JD*8d9^qx2Uu9^VWX#mJwR4+?F+A=KT*6wX_o&_J1V(V1I}5xP zcw;iV*c=K~6t(0GSQ|Y?g0dD&b!@%_vNm$jU|~U@?bB8|ij{hA3@+G5BX*7$tq^<^j~@ z5!KD!%~B5r=gyl&sT%oOs*nfXEjFmNkk&&qkn2QSWvSPygBu81M?=R?KlVb_OvJo^fW%sWBSK7wSPFlI$BI~|^+mJ~9w!Z!3F(FP-bW#YbdDEa^Quu7 z3*#<;)jiZb5cU(ius2Fd1-v7X1Tw>+=L(s}x8=n^qaR zvsL>T_FGsyz1g8)b3qPsv|}yssMx#?GaFl$mBZGpJ-0=xm+qz|1lgLM_TTkS!=jqf zsC=RYA1k%WZQjiH4A}Y72%XQ@2lO9K_8IjopjWV>E%7ip4lFgp39ZjTN7H#*0q^*f z69nPJ0)LyDjqX=Y6(KIkB31Zf^8bvOKOIvycMF6^%?{7$Q*1&&I3tMGtfT5KyPvX0 zhgK5IZ=!q~5TXh&p09BA43e1sEFrEgMu(uxcLN|LKkMmJq^Z7q#rjB~u^{;K;Qefk zWe|A3Y<&RK!x+Ma2AysHMNz9ud%%b~F-nfdk%W|cGlH95jq~5A4FKdx{i;bCo z@1$8(FOoc@GUB;o>X(Ro7e%uAN!$l85RD|TU*1BJLnTe(@6c*14i)~aO*gE>2ST|w z6j(thXoJ{wFFyR4*2%5*va+4Q;t(ZOK1dHP+b65j85VozF{prwK!{CPGwr$^?0Y5a z24!CC^V&tl0G3tpjBPTi83we_MkR)D79lSE#m46gQ0#wX5XKOkB^ET)P_f!o$w9@p zMSrqe%y5!&zWaPCZ-Cv>-IK2PI(BGkpk8^@kDk+1FGKnr_*IxL2epmTV~HZ_y25u{ zi5D!-yWljr*6um3ZGATRHPkZ)Al~bwaG&!XLFhgf&T@Ln*OyRUgGv249Kw$yQcyIm zWnjT4%6GYdk-7qJy?k}{bxp2*UsuexsMcfrX2Yxx=`7G5o&HVj_>IFrAd>Phb6m#* z3|gbqCo+;SyJ{{;z)@X3sg)G|!7|DUX)|$q>jlIUyxguLoUpFY_?(FZNI%^6HX?2> z;`kKicoUOaQb#;fGRyTfNX}sLCaX}%u71qjV#V1Qdf`jZ=BE#irV%Mh(LP1kTKpxR zEXq4Q?({?(4IXT|=6^dbC_(aD8sNTPRVtjx7ij89?s@MOcivS+{2&WyM zzUm=N)jU;5zcu*lbDsd?*%rHf$Uk+Ot!`dh@%z1}?gOCovV?{_+2_N-s6U6|s}Dtv zV@J2Ii_hrISzN9lxRe^5+%jlP-J^!?owuXcHV9IqJt^7sh2LzDZr`)6;O3KHD#>il z5{~{Uui>*0L8@M+zOCaYRc^|?Lep5555CuQLgcAhZtldp?SUh<)eAL~) zPrJ5V9u3hzM19h@v|I4cwiDd_En=yWZ>rVJ7yW^hiRk)T*JWKB}*)1 z4$uh)8649s9|s(88~{)0%*)|8fdd&(GAr{G7U_RGsuEu`FBPJZE>;$PsP*Y*y&p>z z6O$9zwQFOWtF zpFaz&BrjbSxn~FW?-+k>;S^y|Fj>H`v7fH#9mrRCM^>>DC;W%t?(O#yz@wd!Ik%hG zz(_&7y(s;9FnZ})$7i|qy$r$%wdM;ON1+c!mTbEMe-nxsMa89t2n#0Wm zvGz^7`DE)mrd;XKWU>9^FBrqOYcch>l3qG4bfg?d^6)1{6^GE4>B znMWfNDvbg~+&)Yyk9-IjH8XzLn91^hhne}VH?kuqdjqP652v%+abtpja`~))FJ1J+ z6&p9_OB|)%*gMvqYb?9Xq1qFXNJ!nL93R*kxH0yk`|tT1=}S7*x=VVTXS=Gyn}>@V z#LW$>PmrtGjD`W4xMeV5JOYc@ONooUSmsdCbppfT=kn)RR}nJyCQ?i>_9a42Pq+!H z!yWOQ@lEJBQG}aSJ$DXRb#~F95m_I;A!c4; zL#6}Ebhhzs$!NqJV zpr5$EdbKyS+Qlo+zdvjKR7)%pY-KAGSBg+Yp2QrI8VWzff%kCYJ;+KVf)pXuP2C7D zMB)4lg6eZO1}izC=VSeTtUn1(b|N?t>*74xK#SXIuM=p z?RAm-S}%U1&e@Y4g{4b-v)6so4!E4ER_6l*EsyD!?dT2?*u-v623RX_*IX!?mYEiI z-YfjA+E$lu>~p-8lPQjT4G}$4tTu^^tSF{Zw@@q#;7`+3Rm1vIx<=j7&JY7}3hn<- z;UQ4zEP#q;Hz@5;Jj27r_9=9v03ip8$dsm=7mVE+#95+xT&YD_MeUWZlZ?UNM3)#V75TsQPT&=pbfVy!lm_{B2Vrz37f3675jK4H`;vMwDj*WRP0^W=I`~$9 zc6_W$q$9ovDZYqp`V)6Zs^9A+X45zA3yw;yd*wGgcRAIvRyx~j(D2@3XK@hMq3a&^ zH938iD8rIKO5|7Dfsv~*G*?{&9YPU?qu?OkuQ@hlNF?1-{@ct5#PKYG7_cw`FH%5r zD_+7P-$#*b7DAXNK-MhWD`L0?aHY9OQew$8Ca%PWoAuluXH<-4l~ENBNRv$wA^Ai6BzIn1+psV1P~YCFTo^@s|o#uH#+5z5}@wB#5{5 z0+Io{+x2UZyw(H=;1_YH;lLHF_9B&gBR@OObT@Ta_aL%4%fgWOq9xf0IYz7N(OnjGS z4VZF{*VKLn!)TZ63=sE~S3sZlaEfFe)lxXsby~(IAfm%aJ`7Q4$s70ES%8<@kK!xp zu(`F^M9CJT+YAj1r+9zOwVWTR%@=i}>${sEzs{(ul2H`ia#J`svypu`FGigZl|^@V z?UvFai@AB${v@_FOkjH#8DiIT;LTk%OtPHtu00Aolg58i*QMFaw(c|-ZvYj?eOQIj zA0|`pl8#{j$d~?NMi?4!@0$ZdPYeNhwcKz?=DHXvVMmXKA@*xpK{>-%9plDaw4qUo zCzq_6V5sTrwy{Zy%I0XNj%ZMZzP+*F7!xnyRK!&JHRV^Jpr@=?V}N?&n{2}{4Of$G zfI^U@yAUh|G?GSVj4!9-QZgMOacophU~MOOxm09USh1&9|Giw%XtC?F`+ zxDLUA5r1d^0gW{>+eJ>YLNg+b9sE2{aAit+Zzku3J0v-E0!S_xv04lk9!wA4HEhT_ z_}ga2P3Dti7LQ*rq+C-gVgs`cy^U&qF)*K@{4fl_250ZN49mE{@+|!JowjVh0HjX0 zZJig+DDS7G2=Z>=vlBH&SI2YS?eMg9CqcYdHJ@d)*n6lY9u2H;b-nnyGZ?M@Qy0Gv7IFq& zAKz}_2dabhQQ?tn*m3{?9Z~l*_Rnw6*FeiRzNpc%(gIpW_;R-Sl#KyoJ>auT-2q9R zt#Z5-3RR`Jyw;F7@nuXOBIA&5Zs!e`S2yvtH|c|&L+;SVW2OF)csfL(4OLoGax+;~Xo zkONlrXr%v;8Aho(9o)L-vuK^|WzwqyYnTM%`U55iVio+|)QL*k!Bdty+WQp(id`@{ zqomhZ3h{W=@jW)VRvRI_9*LM&m0r_jG*(2y9a;mhzIf88}IhCkMEy0?DkKCEoC zVg2(ctl#ixh{>mgPlHuu#vd!SfDz=k+zp($z{g5k!y2P!hYuQ2njp3U2yXeI;(|Ke z>)&UOivocwnj6)V$4$0RYT_ml`#EG#_CAR`%H2vOcnT(Epm-B)ib2utK%OTTV{<$sBEEKbvN=x!2r%u>r~-N_#yvi^)3{3#&(PXcj#^G<)c*o?pJFJEj`j+d3=) z|2>b+j}bY|J9krrt=hITq7s}bv(ljWF_03cTtG*kuS)crGtG0L)mGLDMf*61wmR+s zEFqxEGVgyo1X#jd+fS5~H#w!|jcq03kB_WIK>Y28IqRJG#xH+R>tGD6|KO9K+@e=U z$!Gs62y!Hkz;U4)Ip#=yxON#!Q(gK%$3_Bsi1(>VrTF3mfJ+e3sQ1UW45=b`ikI-k z3Zk5nfkN;!Vaol8$Z6>o=$b(C9Hg+DTM4!&(KQZMNLmYS+JZrhLyFjiQDDvXJq6I& z5B6K*> z4`4WQ1PoB~KZjksX>fHN8G3HCGXP#xZC-=E^EO??#BNs1)qM;Y-HX&o`?Ntw(hB+2 z@Ni<^bEQP}tYWpaGs?+6`ulCGc!{246v=p-la}6i#&eGy4Cs)ZdKrBEpwh>sV03`g z>tpzA;27JpV{~ZfRx;Pj=yDxHDbRC-G{2>3jxB%=$c|hLi^pPLR^f^6xZ2~!QWSTl z3j;0b{U?v&RBg8&#x{`Z?VYGFb_1uA4-f4}xPF?r#`>AyD`Rk-9z9$&Y`g&`e#{Ot zG;Y9d_h_W9xS5vZJ+qP5xn_hdZZfBZ3Glt-fZ{J}5x+9)RS8YeR zcL|Jz@y6hT;5N$$?p~n(B+cxAEQtjB_ZOW3#$H8CBF=+Cf0jy73BmWir~il*C@8ek zZezeA%HCzS-t+QQh_&GFY%9GqSqO42ypjSPr3Iy?r(U?8NLpV-I%K4`wf5S!x^^Kt zKFxLJg_ks-#w&=oo%HqEJ9?07Ni%w>v3#oVFWI+bYItaFzzY|5RDZ)4uQ*yUY9Yq3 zoEOtz87A8N76_cebu5H9YS@g%DSn701Z`EcP#ConJW38OX`(kf|B>eOqnGn@cBkSh z%IQ?|BxBqIo#V-xq$(2$P$!wI0iR&BmwJ=cnr#8+0GiL81gz|Yu8;M5vHlcT*@@(E zH=mV3HOMjUb1zrdQc_6ACuA)mSBcAt8oneZ>~gkX!cl`gY&*)LeLd7D9r&W{)Qu4{ z$mk$(=rvj~!#j84rVwjpLv|+c1wzO43KF8;9L(K%!Y0v3y{u%!lRT=*5Z5TqP@Jy( znnC)(I^)&XyC;Ef7%f52Aw_@Ll%F+w66HWdY-RKW{Y(N;3ZE*fOj7RII)2H+vTW>u7 zvWD2??1tszMZxC!iWenvf!nPDdMHm6mJsj!6%RIQlGpEByS+1P%#ckC2t_Y>7WbA zC9jh3wlei8B$Kyu$V=9L0?4s}JOeDpJ6nH*knwgT-ycd3*%jfeNvOlxhmq;)1;@pr z1^kc!BKomaQ-on12BJz*To#p+ z%T6J4lxu7UK_8B*&{PUFIS(=Gt*s^WblEmF6qS^KExU6&?kRECd=CvM}Ee>9q6mIzk3Tr^LhggB*v0gfmnE2 zDImAy9dhOsMXhl#O?F}mr!*q!DGPP;yzKjp+o57p07*c$zZgMn`*nqj&ykNYiq38L z-eIo*Zd$U?6#9*jYSgrFiZ#~_Bb#tyjK!0W=GO<&QBlP5@eP-Oz@>6YmeS&|<*e z@5&8=$(7*sK}dY}@ySI`krz|dcTUGgfOco8Me@k$`X;aS4Z`RLuF;rY6q=Te7OVz4 zRY)2?2tN{c`<rk&9ro^lE5 zJ=%w@kIX(*Sw$+X;0WkPE^2YOKQ~JYiGDfW7nte!v?2n``=*M29%0y&UAhjQl`#l$ zeg5M;8*b%JvNzcqe^2Eebuitp?C=LP zt=XWm;DhGQ$3bBVA)v9-awAW<1}9WI`nP| z8G8UW2$%VhM)Sk>{RSsMrve7qN}6Us)wfiFYUqBfV`E%m#wHSEC#p2oVxg!DO-$^L zOjiQm>H@`z+}pV&_qA|&s7*kp-_2Tf%}$Ta0HjIoe|g)Zt!ce3#NG)?w{j;35Sv0S zQl-}HX57C=Ubkr~^8Y$|kWf-1;6s@Qc#?qJNoP%3)Yk-nEHafrkrEMd9EH7%2}B$| zp?^2&0nhB_P4ku)QWn?0t)&_K&Rv%T@W!Zuvyt9uI3P`FK)WFq(mV`H8s3oEm#H#E zOsSmgl8?!3rdz8itlJ$Fanuabh>|wquNLZTe5M5!0#CKX!ud()r(|-^>*gxIs=K?S zv!8fP4W@{NG@c~Ct!YR4cq5J_1c|DUh7Zfab;qjJI5wyIyfRBG_H_FdTO|r0Q}!lg zU5Gr!H%IyRQBaa2{0z360GaTE3{$R;OGqzmCOG5S^VFh+y)uPjnNrDIUSX$u%n%wm z$TGb*-#SR|o06g)&%$7&QxJvL6qC}ZX^ARj7gIN#GBJh{>4> z6a@Ju@s*C8t8XuKtKx)}>Z*??P+0WqNZf4HKG;x{g` zmGinIEciEkQ*KB?B*j@p1~RMI6h6f`hw0TFo0lpEr6hM;1h~LO1c|uV50{UJI3V&5 z(6mVpX0BVl7iy7f600Vi7J#xX{YEVz(bRbaN+2;)qxp~sj@ILAibC!j?PP2~hBg0h`QeiM> z3AoL|D$sfo7GSV)N~-H;4;50MxosNXqpP#@*ajG()BxMMH^do`=cht2TyBQ}x=z{b zeAk=;zG8q2q$rMOymx>c|6+uNe2!;3MlGIQw$IUd1T1CvHph`Z@x}9Sg%MM+^eAD5s*hn*R1Csp!4dMoh48dF+z^ z(JUC{ZlO`)nIppfeXp@H#T^F8>UnayB?Q?8QDbNi*q3^wH6)DcO3BBst}^HSDSFaE zLR75#@Ej&VS9^<=4Q~=E<(X>2-^*LD*x}yWdd>a=#U}Ip=uFVY4M!lVtGjqI;O|tr zYnSXSmBqK)y~MEV((PLer`pr-9AfU|)bH40E}4JA7H6@2TpL5mc7af1iWP3a6-YD{^~2iGeTiau&u`+`mWxe8mpXS4)_>2ks-`@GW=;@Yb$S zZ%!ch4TJM(BYPaFelO5;|J~Q9dlS(dQ}?7j+368LUOI}=+Vh5m%5*$e3!*E~6ox!{ z_`Wcr_@dJ*rONcM@br)jQgDWzdl`r1bQhMB2d&3MMjDc7y7;ri>##jQ#BSX z)jWs80gm%r&&BXCndZS;F`$v0(Al;J4Q9czQ@m8rG~VZM>;N5y3eE`_3_hWf&BI= zt~a`#yYg!+W@{^yHtV4n}cX@rx+Hblcv)} z3qzkFkG)m)a7-ju!g=sb-|)Feo6Oh?A0;0_^cgoL_K+wiDcYOumrRj7O{bHjP{t8- z?n%IXrjs}b%RRfX+an38$DsXG0R{{Wr?(FG4e3KPq?fnqpogmaE%261;i#cUr_b20~F14%c@W*%U?Tc-+_z8RaRp9 z5*8>L@A#gbl&hb+2zo>x$vanMNNJ8F^}T@W>%#!C!zjH8WR$+24MdykNy+ z#;NOPl6fRV364W@M4z_b5FO`ruJqB>zW_s5fiMyF)A&4TVHFoP3?|m>TA#|iW&bEn zj!SP7TMq9r;wHNGiRC^gn?snmiN>%Ike6qZiVZ#Lk}y3l3VUi05bL!AS4hq2!99@1 z^2*=!lCLQ2_n&;eEPpot?#J=r>%8y=O7~>o-+WJ55B|@sQJJP*+42RoDJO)w=X)uL zFfvcLzy-~g-V>`ldvu|nv)SE8qtm1tkaCIs3u;iY9USWh@9^zoxS`3eYKDSCzP<9U zSRy#(oKt)Jnz4swjk!4UD7@_DYt%o4iCd0T?QuEWz%tWUtTwW1?OH3+C!%ar4D|S| z<%<8EU@ZY^jvred7LY3@6St3o7J?u*a~ENn^D2!j4crTmLZmU$FCs+c(#=e$x~-^5 zm_-Qj98J}Z_7N6jESyaZ9=qQng94${9z_O2zG8C-2nC6S>7efFF@loeJ5K5Rw`F`IG9jlTrVWZULUl42IL$fED6prs>8LdszMoDedK;V zYGHeKJBJx`LnsLmJAz-1q{Pf$fmc5eKc~eJ6tFlo6ah!$HMwbH-ur@}OMu2#5u#18 zBZbbm-1i0(x{Rw#!`J09$@|JhO=wNpMp(K!{qoaUzWb%w^@-cJHO%pJU8LiSY<+qy z`tT-gIcj~X$lDZe037l5`dad=E9>{?ZGLzeVtUKSFELB5d4*P*yE@!uR=@s3L@cVM z_2hcmFJ9{{PsehfhxlwgsTXYf_1O7|C{1v!23Mw9`&-n+ch~Mo0h^!E`(Uu!8ItLx zTBo3;Vp>Ae#|f_mty3eCTW$}HA|fQFOKAFhIlZsa(>eL^g%r(K0fxZ3Q=W!DyNV*kC)_H@-9uyRP1btgr6tpiyM6;RkTCd-lO zjxEF%RIO|%GD5xr+>-@ohY-P2OoIm?JlkyXit)vq~=;zE(rbT~2JhL`jgEMRQeocx%AGJas(#@P1`8>I%c%EZZ}*$G-6dT*>XXxSW^scXP$GC16(Y<=o_V)N zINtfu-OCOWaf++C3g~`z@5S2?`r3G>)fZYg3-j}DD5ePd-)~Z#L5}v@&fU$L-9|35 znDCfj%>^@D8C{f9mt4jtrgQ(?l^!`4w7BI)tQS zf=ia|_oAqk8lVW44CdyxRC@4Afh!0mk<-=BP26%MCv{C#Sq0~||x5fHuOOS-@IK|L8P8Yu>j`A^W zQe@snKG&skOWMFHnHbaq^I+~F!e{lJKaPNFm>xDa4WGFW01w}v^e1T9)ku#g8o2@3 zY69ycKXCA~-A9h?5T&u;KyP!(t^lXL{N%P_=j?FbF^)_N60ehy3$P-I>7<6pfE9IDdb>Z6$;}FdF0I1XVCHH}!CL@Z z!RDZPlo(rQT;VucxxR{1^rL_5D$Y@9oNx9)jgt~{Y8F5H(yX2146K(n_ra%X`=Fuv z0aWC6Fa4y+lJ?+av_V+2sGOO$8bzkXWps*wiQ<51EKukpA-VYbS1uthZo-Gu5;9$b z%dW-;xBCjKBw-N}M$+foWH}D8D4@zo>b%d`UFyu3rDjfGQGK}$rbG)T2d#_@x*UXM zlBUd}zJ$<^Z83Pm*mH_>68ZA|{wEm@q?hBs58!KujqHC69F?GFN4!YkqCtyC0#3p* z4#@Ih!P&kdSjqVusE{e&MEf1hjB1P{97gH0bL0G#> z17?zCs-F|shL+ugu@i)w8SEID_hUY&3#Lz|XjjzoOjs$sN;E*|BRbmzbL`Crs}%z1C}i6K7`^AU3uo=|$_-;VjNVNq3aLGUC^cD1PJYLPhnJW)qhMGx^_tN(u#DN! zH4sy$SvXgYvDeQXk@rxdoJ3Y0zD^f$B=VF`kShL$M^3LPPr#GsU7^s0ryS)Tu)=TX zU87U_B}+p z-rE1Kq*SycJa`a}R4mkpm)@)|#`OMr9ha`t-Djf@>^_-oMdx6zua3}dAirKBp{eS~ z6;hfxtoz#>ks|-AIPE-C22Av3j_J*(cR1Y6!8ivVD%@z_YYw-l>g(nrC^E(Tc1!=; z_dNz-%Qo!xq3P2HAuK~?WIpmKmgKId?q=iJp?%wJyAVkuhYK!Elk_6NV?t&1HDO1@ z`74y`cIlCMaejr(2Dx*)D85pOlhP_2U>3iz_N1`B{hPX%bXF@nl5! z{f1tE%~jYu176x}jh@SAuW@g{22ZhniEYZ)Zhj;E!W@AA=43(STI@CiJ!PE10Fl1&;F zB4e`>u83FXnAUIeo4h!{SOTuP57FL?NqHezb;Z{l3AwCT13(p!)T?R2^~uUG;Q>^3 z)ZYjC>3)ZlO9Xy`zz*WthG^^X5s)Ee34>Fy-7k8~<2;m9QCAX=QOCwqDr3e&u>6u6 z0vSh$3kuVeP$E1RIXJ~nSqex$t=I6eg($oPG@A#F;#O)P8O0`O)8scDR-duGB)e8; zoBSmO9$WXFhtjP{dE^8sALTCT9@gGG!E@mH#I|cOJk;L;GBpBoU%DKExVfvL#(Ye5 z?4&m5xcpU{w4Y(BjfNcORT?b(I^* z+95bvE2#c~I0&QNis;}~^mY&VAkkKhtc^@J3r-Z>uE435<#~AG_sg;c_WF&c4n6K_ z@|4YC8&HoefmNbP1@nbJ9PG>GWWCjn$^f1jMB zgY|ImB$Wk7#WXwn`nuz}HOP)7VdxNty!Z9vk!^taE$$AP}AQm+2d z-iCA(pH58D7kbLk;%Ip`t>zaI!r`oD3qYS$8wLE42`?CFutO&Rs^omxiaBwc1!`+2 znSW$x@xr|G6>mp4V9U#2iCZ^}z;;c*;HO8~6>-+(XWJflG3zSyDdv z1K$InG12JPV7{!KN0rg)x67IcE z?NvlL>Ww#WiMe`**20tqjbeRzDrf~0w%7a3KpAFc3Dnfgfu_^7+XWkV@%y@tMJLPs zO83OKpU2Snlf?^$Pf?rgzE80AOBWXrt?rFpD{ea<4{q9K6Mg(35l02De#Rn$qz0A5 zCz7LidcN4Hta(wY<033!okNNzVGyo3%p6L4d0|=}0^hS3`9AP!wt?=S#+WS`3+(N@2$PCbQ1%B62 znOIZ!rDXICYI9^>yTU3!fRQ{~WwU`=EA(sW#r%O&(W!MvJ_3Xsye9hFh0^5mZVM<` z)`N$es+H&9x7hoSn5jxq)as7l+O;`afCm0=A#7STRd$#6AE79KFnGh&PL=0B_S&^b zqi0;@rE^4#objeO2$M|k1B+=w#FRuUHoo5Mk53=0TCXZoXVo*L!)nf!!@|7m)WD>! zjGL$NRR-kXmV|(*th{b3v&bh)yhro5qDrc)46Bicpt-~C;l`O=zS=>vL+Bg#aZOF| zh#h`CJe@o=qt!cZ}N~{I8jy~S_FqimXFDNJcXu|-tPtPHB7d$8(I^C{kBY6_Gh^On6UUZ-SN&qJ;Oyb@x9|e=GR6-Nn;6B2?uo2CNUn zK_xQB{M7CfE)Yzb7vnw2SAnyoUaTz1PKs?EnO`ceIfE!^0gX zz$5Dc`R8Eez`Y%3qs?l4{DY4;C@?@AZ7+R9GelY_IzmdU7L|(_C#J4Ju!Dwrs2%f! z3b0eO*g>)aExo`1*jaH&zACPj^R`6HzSfWc8iQwD2-0@A+fVj~Px#>%F#Ym~rHEKs zb%&S3l6WWx|Gu{eC>dLoMLzbry;vg-lnPuSB5rm5A#y*fbxngx_?c+x^DoO%b6Ig{%uw zupZXJfrKapqbJ?;SkiJG%&@0FObp2m_Be*M_>)%En@D%C$9Kh16yrnJAGA}EugsS}uNpDKj zJ>l(!TqF=6RJlU}Sy@mf`X@|=vr_Hdt)753xt2O8d^H0ORu~uEOsZ>fc7hH)N<-VW z+v051rW#7}KA@2fq|Ds=N1kOVJni!7Cz~XS^kpMW;a3cBzp61UkB22W-b`QiXBp(O zJe9{J*Jji|YhN0O0-de={PWz2?`S@E&j=8l6)D)tub5DAf^}$w%3u_>MU#Yo{7+(; z)@}OD5008+3be)LB+^f zwD}6z^t~tVJkj!j?E+uOu@HW6E123 zM%dq0;g~4p?HMto7E#Z;)tt_Wg0)prNuw94?@d8tBDPmbIQTZ7P#MpBZ`ej$({%G# zB>`kF2}ly^mTn-_w9$^t6fETe$a%+fp;D>{R5)t#9N};i6&A#pl#}Z=BCXtL!on&K zMiZ;ngzZwdc#TR66LMHkr$J4^I>+i?)Ioc8RXW2aFOatpIRMG|=EB0DPW5MLPa{5J ze;J9~HMpL5axgA+fy5`Tj|Ix|$}GlK-wFC6EI0e`k(6IvV~PUnZ}@ zp*Jyf{K^n06%-D+>zg`>`jit@VZS(ASd7{;WKC{`cP=6?c@-vAb3E-Mh*`1rCxq`g zTuLr{+UljnzdxN5L6+-(aWmHKql)W2D>Q~43pp7 z)H&1;)&{ulrTrY>Clp~9yP6`qUQ9m)7kSeKdy+miZIY{#kmYVJZZ9W=$MKIYSnbBH zz%<7rIbd{IHMru+R(NNPMFqFMWu=!nGZh6&d9sF`tTEP)eW0s3k37pSj8&Ff6ip2?*fVnQ)$*n2fYtJVZ)?s9)9&?PeG(CL6hKy1VT%$hT=6Ij-v>4(tV_^=hK(D>_S$mYiY!l<)= zJ+ykSm2XJi{}%iEJEj~aKl*TuzUM`cG4z&}$sJ|*gudzl1Q!OMs>A!n z3C|t0eEGTL56tR{?l}9AlgH!nNmr}+xpz1^bL4#f#{}!^aV|S320qM3eOUaBf4+Ag zW8QodK3^M+_I$zZM$@f`JLoaS;_*>03ff&YTPh$KY}FMZDkSmq!&B8}*^8s~E(2g112!EIMteHxcMSe z-nHQHz?uZKuLRW=#9c&*Brl9X5D-F)whemPQw92E4{Z`=#y{(0oy6fb7ve@do=_Ddv zy>8(&b%*iS5Q}J9NnmArfas^gYY9UoUlWEYmgp>mzY+JgAJEX=za;v24H)1##48*j zAOUS=cH+p*taQ0dtjcC~wI*-o?;oPc4NC@g-!>luSB~cCTw~2QsUMge$$xX|{r#SP z5E>=TE#KroBJ^U;7F+~r=ppb*>|UMGP=tRg{PQvS8fX#oFOXQ!KGa4kb0hS506$-N zF8DZ4nvg{z!fZ@_AvGDdn&*4i2QR0Yj!C|G38!4-wqo1h4<=Zx=}cG>MPh9y=CFTL z4YwnQ-*Xa%US8~Q0~RmI%04+A`B}S1dTh5nZ($us?~u=pc=o#BkU7^b=r=H1@(o)9 zHvGu*R~yo-JAoPprvy(2d~~GPIyU(kZV>{H@fS0c$^{w(duuEb3iM8wOaKfw7$E(^ z`;-|3nW{PAJcjylG7je_&RE%(Kq-;S%sF=Lc9#q>s61)ovr#aVW7*cQbeP(;{rZyk z<#{~MJ2@eFC;K2~mT=C=0tv}m9O~(+)m|qHL>w*d?5JnT&kDWz*%F&3&$7;j8t>HL z$e6u5i#n1w70K(dxNKomr|@}P!*tN*L|sQZal;v>+-atr#}x7W+d1=!KP@ZW%expL zP2#)D!bc-04`Dr)|JG+4tM9TK)J=lWnE-nIqufQQW*X2$=f^Q`JfB^xu(*$gN4h)q z6lIpsUa@UEcpEzO$DhB1zSgOW3j3h{XuC+uV>#(C-th!-c>_aP9#S8C#WRS>dCgSP zTe3IHt}U6fxgb30!)|M$6KpAl&FS0Q3I*-zcZa+d6-hC~vMo8VcJuZbJhm6+RShc$ zq*djz&I)%1A(V5k^>Iz;VQe5`~DuT8=v+N*-7RP3E< zl1Y?zw$CuozuSPJ@Lk1d%zlrv;2|}gaU9s@RhuQOY_^zqj*t)M+z3jH;t$D1WT?!} zK%R^gf=u?h(-bVuj#iImmdvM9q-IIDRd6Mo497+qMQoUO1|mh^ktE?{#FFo=4yq-O zFegx55;p8F?;l?1#gxTrFMMhg7vaP5KNTRT;cphbW7o+1h+jA=Ht_okY}M z*_98_$nQH^xKSKYi*{PB-o)xZZ>0AJmRrU8$=%<6x0JG1fCFfh~-9$3%!HD0by4wSO;`y8<2=3YB z?QQ^f2vyJ@V3@!*e}s6#lrRQ=D)uFdVGahOF|)=^kQ`P?t~!Vdq#{PQ-8R9s?-kM+XYcW>c;T&aNx4T*;$+THrX1|^=LK4y_pnY6SES)o4x|5rHsZDJO3+^ z=c%qPyK!BhA=TRM%w_K5rym!jcCYU!q-G-VFld!iHY8{^=>99+3PF+9w8(jry?Bl3 z;luUf2@I3x>M*htj(pOsiQbFl#lqpf|DSE8p|)cd&m$gao(;n;DVHU!0=DwSXt-i? zr=NHU>n99AyJT-tj5nCGufvqT!_tO!klLJc4~~euUayt7)n2YE!{GA~L8%Jd0VE|s zZZxyZz>7SiaA&^QKRdkyV7dv-Y(J`V^sgbb-h7|$B-qqgN{??i;bd8cW{DM^7T2; z8H!7wDPhDU*!k>AcjeNS*c^tmnb=4g2zwwxKu*~$;bAW`=GsJGDdKqic8TrnCc*xH zuO=R+EX0l*j~gxc-972;jmldl3GF?nz`;H^=R2t764>J&T6*WzRL$f6;cOeQ@x|DM zBbW}uv|J5L7Agmy{R%0`q+=c6=cO|gj z<%Bhv$Q&DKa1p-O1rkdv5@_Nyv)~jx09CLki2aSA*icVQi0u&aMour}gA$8>^J#iw zIe2n3-M%Udg<1B=ZW|%;Q#?f|>GB4Bvp;>8W$j{5kFVPV!+o?Z<=|$+y{t^z>`=%? zneHvG%1eUR5wLzOns2;(x75ORU7h3ebpjJdQ11tCa|lSJ7RAR=YU3`?4=xfNUUN2y zV5Yc`b!uhJCckq868N!mRPvycmRp?FurF86@aBplSH9w3AWsm@3t1Y%)Grd-H&SldI__lG&*EfAk(e5`l*gkZ&U+Hxu?7D(kD8s=8Ow@RiTIN8a4;WS=g^p z)j#ipm{TrL!;fo_Vsl3 z@DvZJBCa9DO*M^KsR0z4*C;MY71RjDwZa6fVbJ{N;fCW`pRTuhDB9Dcr;P%J0#Y!H z-XS-WmBCOe)}D%8L66t}AhSWurGNb!TrEa7?(esmaX6bSLX6c=#Mibh!zirR>=bZ@ zV0L?R+n_H@gW-0=c7VZ?btGAtMnfVzv{#@ei5`1rv0?1gu+BJd7aUE?d|t;~V-0MM z+9rc|i2+H2SFb>YJx?l#s;82E@Fz170yzO({Q{`}fAl`S1Cu6Wb4fG4E{}!(1iR%B za#}aF`P-Wt^}iWAO~LO_I`?XS!;z5}c~{|l)!pCUn5FK4pxtFW6n%NQIp@C9Kd`R& zE_QSp?|ut*-}G5DAih}-ahwG`dGT$xy!#uUtS^nflBD`OMhnY^6&7!{X~5G zw%U{_MkAY>ZV|g|f#Y6lH_q|)U)2D@g$f;8XF|jI9Xve&J)yzNj0j_!3Lo=o0I}c zBdQb3z?v|PqvOk9%|jNRQ8g^bQNWJDMK>)~t(h4jQiGnrr_G?Kt;Q;ji4U<2M5?qC zIweeKIGGrVRW&;Yv!13_C{p^2{v%>dC<^f3bu9QL_;PSKh@Bigt^}_QA)Zmr8);za_@nxPZ@@`o3Z;SPh_cDa3uv zt*lASD(L!PTj1hr>s!Jf)X{30nd9sM-PT;f1F$Y!p1xr0R+tx?23Uv5@Z8OoJRD8j z`R)fyQ4Vew$C{dxqr6Z>$zGrA8lOPNU@CQCZ+mHiM&2Qci796@**Q~B!d zp)c*e*#=Q?;>k9gl1z10;sfFySDZT)Sprj4rRX}QLz$fY>$Y&w(p5nNPI663RotC;Z3(A0$U7PO^uc79GQ{C{#X_lIm=K_e zE^ESN%b#P0dX>m`OD`1{onp#y;ftbQ7K(v#a~om3x=6Rbq&b1pn=V~6jX`7RM6;xy+?%MPgCtoeq;C#SLAexCe2I)hp;Hc6 z4rWnfw(PZgT{g-}whh_7N0w|~zu0fn&8J!@P%~Ui;7mK>_Wll%b-k09RR&qnL}#)y zK}Y}WRGQzr<~3^>)BP36)|{N9c5m&PX;Dq^saeZB5R$dgFc;z=(YW*juB&dy^5TTg zFN&M5Q4=W3DHmc+W983WfI0b=brd{zb0m-pjs2rb?$zW8wS!>aO;fLAAAIdc4qG|o zgafsx7%-#Ww#}?K5uTE;)8I$X`&p(M!#gxLVCW7L-xVg(mGZ}pLee!H_7P}whZF9w zA8EmBxQ6#F2%pRbg;PAfL z24D-5STZ*+67*?{S~_jZ_m2EqEb>*QS=1na%g80xQ%t9wXov0)u@(=S*1uuai2RRhZAl)wl&BEIO+SJ=E%*Q78E5!io$C!XR$%hJa&)HB6A zj4~*$>9WwyYuN;|j;G#&qS*c78Q)-|KiOb`sv5{pY=EIB4?-0UjxJD^v(Ca#v7+wACqy}8Af4h#kDo!T^F|48P`%m=9Tigu)_Z7w8_F`o;kHwBk2P0_*M;2p));<1{ z5&@5~QfM`h^a1{(CIm#(-G$(Et75H|uAB z?llwL!ghV1G!jCtKk|=cTP@9uPz6feyECEk7_-CYX2w1?2N&rh=7TBM^^zRU#&ry3>jT z;uG6q5NV-()9%Z!oU>;7Ih+0%o15BxH%DEac=9SX$8c0Od~doB(Wmrl^y8j=mn7P; zEe0OEI7rZ%o6Ludt1$mRxStXP2pl}iG6X(sbK#-|D@DpUX`?k=Cb9$6Ia=PZTUd_w z{8Z2pG_;#-hJ-&qVR;%FtvfzB3+8l3n=Ji72~&?Sh9%oQK}C-bMLs^+K4=tf)D}4Z zihqf@%D4LMAKs;lGX4VBe?=|8lXm&wI6HTx#?FW9YJ`yZ2Y+;SUjWa=S2i6~BnR{- zF66zDt{9LiG z^+blneLEVkV;q)r+^Xv3Bq{mw@383F1&c?w-; z5Ykx|XXrUYYTRw~90$h0D6R-HxZeU7pB0*MM+h|7v6JH9BqANE2XX_5chAOK(keXS366EE*v|!CmADXsaAM3#bRnT%6kP|3Kb=G=)cwwfU;P|`FlxI8Mbz_DX?ap*Fb8(s zIU?J_yOTE3qS_Osvn5-bQbp-zZ7%4_J>FYaocDrIQzQZTz|w4XB16s;YjI!bM_OPN zfD`Eu1y0&CY+Jd{MlvZiW?3`m_|exV?4IMQY- zPI)&(;)0RYjlndFh*R=u_`;=G+1a6DO0%{1{$pXjf4aX!P|_nKI82>6Sy38mJ+$Fw z=ubNv>(=Z*VEQ_3LKfK`0j~JYgiX7!Jq4j(%tSPm2{~h?B9=N~*Mhe(C=ZbA*Fa@G zEuE-9LVk!0X~|7Xg6u#t$l7dWbZ3d;TGi|Y-K)zAVJ&=jlql(;KV>qW>)15GNPW5I zjz#FkGJ{b_bnGOjGb;aOO6>SYf3YpD{_Y0}_DFdEx%1P{RP*Gr$2VVZ@sqv)UN6AS z+nFms6s^t1-$Zr`z}B@ldsuapTaMCK$XE_Q6nR|02ZEV?`T`m&O)m>xaON(*gpz+D zbOcu@GHos`MQC4-vE(X2U(SXH?^GjsuCbpEpVUhYx+o@(dB7{L0p+DcLS`@$QEc<$ z@j)=m+_+jI#(wFxtj=e9K|v068Ynab3c==TVW6*%GAn$1c=y1~=Xcd%i*m#hxoVVo z00KhKzCOf+@s?%gIMa&Bj6$kHT z8_U+8XWRzKcpsu`0|?wBMLu$_ud>+bgVfPKlk^p+sl1WZE?a`#`eGf_6I*60&jpF- z7s`P|wLqkdL2a7`%+b0WpjIPtcLvs@)+hotC&qm&VRBz@C2S70aZBVMi6fBWn}vcM z+kGfM6%_AD9Qgf{ne+|N6Gf%uvl|ncSndw(+NWO0GbHJPXNOjuL-8%IeN|#svKHAJlY4 zK1S3|=NA#pkQQs1&@j7(G`}^|9A5-{&{U#CVvydP#>>@U6hDhIpyr*nRP2bpJumqf z&BpKhJ_!YQy<(6hh<)tH;A!8!%jP7*QU{ktW5~@g9XN_ep03G zF+|VbW8TVWr8(KNy3Kmj&3u{0A{3e=xkwEm;-u`<=!Kg|A!!I{&6k(MVki@S(&hnUXoRz;Zb7cVT57sIk&+>#F)lZ-hukL9XfD zyl`d4wg)33lSeff7y>{raKx3|KJ}<7G_f;oXoTlXlK4DcO*7+=Brd|o)P_4l)zMZ( zA!ZGBP`Gcc6-lYrD+YzgXi*ONLV2?<$L0eSuY~ed9WPfAqgR}A$hs1`r)wI4D2sLQ zVWRuJ=CtZJB)PxQwE^c@GEQn~>z2QuH!RsqhsalU*`8I)IxL<6suT_wkS1eg~jt%GV$r*2?LUH5^Zid6gu|(ww!M1hV>8*i*%j+ex(LBsOuuEr3h4%kb zcciyf&)|?NbW2Zn+6I^1^pHCRC z)^V31(1^Vn7_Fm}8)i)U4s?XPDIrsJ4&90G=ZCcU4@*Dqkte~^i6x0QhX!PQ!1l|J zeO)=Pft%hb=<`;E&KarXO`5_G`)@iL@7PgFw*!#I3KQEdSePtBc$D?TF`;c}vs*G( z()IV$N;JQ8HW4EUw;gvUR}yZ?(OP#{%&|&SSj7}5^RZASg0i8ALNQCEORZJXL|UZA z$UI7=QBP*q?3?0!h{0^|ATjJ!EL@f2iGs$XYRDS)Qnq5NJjn~J^&5Hd^-ChzYgyiD zE*&7~&73nJu#YZkTDDcq35XR;b0HT=*7qHVltVyVIBZN_bDAE}0UABllARZZJaNSJ z86Vj@Ks`fRj??sds>01xdU3>C$wATnUU6N!=rFh-u3=sCBAZ6DlvTr0h(fzFm(tzg zpiqCBH)`f^QqF#xZiAzwXo*~_T$Xnyb_#=Q6($)8UfpA%_8MZyHUZ`%$G#jn6`M`f z@(SI9U``#8_ms+7_KvuKH7bAHf-3loLR6mBhbvEU80xc^pV_&LDnQCUHD49Or+o9t z9{QrLWq%jCSB?8w>h{o0(TEnN^7PrtxNN0n{C-t3{~BiOhsy6V@#*CmC5c;-0&!zE zT(I1`h|98kg;0!SG4 zO@dM?m&Z!N46ZxbO_Cgxo9_ zVUYKNg~OM?T^CX4-T03u3VI2}SG50pGYu_e6FA;kPq1s<@b`3W1ka*t5sfkP)R}j= zEnrvIDh_sSN7b%%l&t!xJm~~rDI@5MCjm` zVF*;!^lX|0f$$gJO~zo)B_<6-n3|=3`Z23fEo_vUUVx?5^lp={)Hl?79_J61Z|jA9 zDWQX)+`b*#?Q(}?DcC(+IA2KtuktozJ&^R-K(LA~97Hy1{C?N_$OX{ZVR6}=kb6?y z)mm$^k^nIb4VahKirUR1a@jJqEFdXFihHc_!+x`A@r=0|MC;*WO2A9% ze1iX1@;VT`@xh{!>z2t^i3kB5P(sT*JoC)-^Gts^U#P>`XYIBA>$lc9XK&gC{sd}8Pz2R` zA;RHOhyj6$;B9&<-)CEJs-e;FzOKmIVxqQTPn?(xmxMB^i;m#Izg_Aiv-=SQxadK5 zZ{$8t45nSt+=cG){Pk$%%$>m`KaYSCeC)l;s6^pmysR8yk^S1OWbS*zVIpmL=GoP& zQAS6-*iCs^Xq>nxT_d$?_ea2Z+v0BMR$9@?k#Ul***

RF%zVmY_)3q%N6Wus+ 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 VQEZ0dD%_Re_;=^*$ZsHn{{k#e$@%~Q diff --git a/public/vendor/fontawesome/webfonts/fa-duotone-light-300.woff2 b/public/vendor/fontawesome/webfonts/fa-duotone-light-300.woff2 deleted file mode 100644 index d70a1e3b69fe1cadbfefb592df87e2fe9722c4f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504012 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�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�#L;V2DUk^J@WDID55`xwMNQt+wqEgZps3_& z044iRyswer-oVVjOyziYufGa)eZ)z#tUv34D3A@>{eCIT`nT#asSELQbb+zaiCyZj zv@fKpU3m$kLFbuuv-ULYqL%x3SLzx`@7>i#ulP)RGm9wKJhhjX z;2TPM8y(hx$Y*wP#eyOGr(*$TrvJp?-z77RbUOM4zq0E_qAh)a>v|L0KK^U2uVvL* zT}Oe|YR37heK*zlN#7%gNz&>@t*?OV_p0qNdysJ&MgRsZBW^7*yGNhdwfwYQDlsg< z;4peIqcjb^PdA6yp$F+IxE3CSA?!~M_p+QAsTYR|G@0daIbefW^A5!ha> z9*U9Zj90aWUbIIVI%WKvJvJX%oJqlkpEo17H|lzNQ{}qlzJiT|? z{qJCO5^&hy>05$t;GY2;)-Ps#rGkB|mAvtN^vRW_T?%%W`vdXH2Qv1Z;c8|{N)Rl= zG6MdCyyxfGcgH8-!e-^1lxO>mQtKYh@5VL;lWv)T%fxRAdUh9nmJN0Y`cn!6%II(lLfxa|Vv&@{Z0g`-y;VC=gurN?mvb5k3&{P zss3nIxhox_cd+{!6r8)t!NhWP*1luo)az9gRK4Lk`WX*y{kOJflCej?*`u(PN){5r z9$cIu+jMMlTuei_1|3({7@R#zdwd|sj50`HM4AtaJHN+8dK>mm7_q}^rkfIWO7Do;c((UAPg zZi@fucF$PpD>clm6@b>d21;z@;-+I6Qj7rhsoSq)g@@(OCUZ=RV7 zcawXG=9)y~57$~ve1nd&Brpyhmoz#CXchp6bsb?{2Ln<%p6YH)UW?v;lnx5*yGT!o z!Uaake3PsvBEjI2a1BEy+I~vZC$v~0GI|`4U^XzAIvY(2B^wm~?m>ZIoDmm7g@`W* zot!@hT(IC=3fQ!RkZVDMa@Syf4FQ`6o6I(Qko4H$#!d~@+kRPU+j`93C-;6(oO~7` zk2_`i!h`$QJlGl6pM%sW1l|Usm+uWpz}r?SShn6847Pk{|( zFGQ;?;u+u0{y+KOd75x#IO>hD+C&e7?)rS{+RoY3> zXI32)92(|xn6?2@SZSq?;-Gfa4`a6zM-e6re?AO_1^)A|3=_14Vm@X2JrM8>TY`*xQrbU-P` zf@=*gwA&6BpU*tW<#4;>t8GHZXhoBl8P0G4lv~HSFiX;zqBg@>uEgI`Zu6FQb@3O1 zWB$;0Ps6(H6|;o!hH@_qIARTy6#}Vqc#QtT zjri%e>Zciv$`}}6ywbR9OCXhe->VdJj9~rS3cZI{7W*WdVHXSF+(I)<_E}8gC6abo z?JaieSpzVokw~)J@3O?{!ge&hgtQAtkEnY%?TTI0>WD>QI;M*+yj2*I`jXVGFH$Tc zPo)){UFe^jNk=}xkL2;){>lG>gi_}#G#lVFk@-BuP~Pj+7t|HhyMFu@WL~-m`vGU6 za)lQN2Nimnls4cei6j`-4L1M{fLPX~HI|D3gpu3)NCUCcBDf>i0yZyQRCVrjy(ip= zvpdlx*?gV?r+wZI)$D$fQ21Ut^(O^ISegP~TXp?-MD6*Y2JrbEqot)q z6D{y@h?7Uzo zF;&dhp52L$JE31=Rg+ZxQA|^HRqQo%!$)ZbiFWQV{rH>CoUKvvd~`|Z>45ywvuC!S zI;?{RkJ zfIeY2pJ+*SbKx@IjAsfp#BAZ9%jYyPz6K>4)ii0`OmGNfK$3`RQIR1{qikCk>h|Fx(7)YiLNG(` zz)rQd#Xs?srzpVQ1(;b<9FYr@Yv2_TL`!BzW!eI;wV*F32dWk0)VahZ>T_?DJt3~M zH10Aup{Ws}TB~hHxp7LDMCy6wk=2onk_HYHpYgUGLcUXm*1Gk{MSdoFVfq9sem5-x zPC5L$k)sKTNQq_HIuX>V2Jh(}mo)6@l746=a&(KNoigmJ%bF2$XgiYVDd}V?!eVZD zVBNFO?k=r8H&LV%SYkduVuqZTiSYI>17lM?y>Vk(5?N)W8q&O37 zag<4_7Q2mvc{l->pSTL7hntXfi&3Ag4{SyiX7>1y+;R1x0Kcb+v$X27?lo+~pCqBs z1Y$T8m{!nc3}TkL??I|EG<3iTiWb0Q{pme`xd1*;_Yv~> zZDkp=7?i2fqqvYCs6G%qARly9R+zp{ZL^rCGaK?)*;SxL!6@8bHN+=sJftGabcGZ>}oDabNazxu1GMtB_ zqZ>y?yRSg+ro91epe7gW@oqlnGa1kSJemhzFQ)o9r6FA(v?5Pi6mCV)=+wAXdoYRA0hu=Pjwiq#==Gy#AIsnNHz&lQMEBV zCV3+|`{YAiKWL*)+>u-OhA}fvBhC@H9mji(GpWE*z%DqCw{?by9cI$Ox0tJ&mDnRE z_9_x*6>rVk^u)Z&i{0x1_5BE*uBs7IKE0>_Uq<$r)-5+RM~( zr9c93%x}4dvaBY}n1`H>;nyJZqF?&cglN4m^hfQ@K(@Rc_v{W|*bf66lJ3jQVgOGk z)m!p|3b*#ug|OI@U`@OtX(K8`Si_KY$l&F&geboniR(-b1k%}N_liA91Oc#gfZM8g5*rVm-$(0&g2!h- z7O)=Sn8c4k&281u|RbvLG{F&Wiv z#*dYRANkXQF5n$wpv^Lf%dd}sigOBXqE4Q68d?;;u9)z=iCUK)2d#p`NhQNaTzFf4VL09#$u9V+R$G`*|G7G};d;Xt#f|6Cjy>&Z zU&r_bJI3J`?SLm$ei%iDv-#yA?v2;+Vo$U&@F44%ox3!_R3F6@T_N&EZAOJ0#p?zi zQoW7hM7R=3nI#SQaaLi*9+t_tH>@^@Lae-Pl0qC#h596`id01mF)(1AzZRt1&tlIv zD5)v~TSPh?0j=K%|D5hfRR-3bcBlp>ACW(=vjx-a*o{^x10XgAF2dV6GuRH1XBn2x zrY#{bQA-14Kl>KAjP`k<8XUJq#<#q$;tfu!5F&&4Oo%c~sSE05JmoY3iPiM%+B5#p zJ$|?vM8YeTI^kr)q+~Y)D*Urf8=j-NL;7m60$dGXdGvhq(Bb)(&xYrnaw5*bVX9MW zS@y79D*Y6taVuCKG~wB?-LIc*o>^`&DEJ+v3(Ez)&dCr4r)J1!JgHy*+xBT9aAdYrsC@4^-L4w3Z^zK1G^qg zYvpohGdKh^Sj{HaEfwBsp17 z-ZR)!HNa>kFdvFP_KCxfYWZmL-{Bb`P$$Fta z=4?GEtF)A5(aP7!>keSO(tCJMVk5{C(OkC>;c$o`QYr8T#?JP34Q^ebthEymt}}$S zhg~GhOkdna3G8wP!q-sWk}+;PnKI+n{xO;~RqR6!a^Fiof~V1pUz^AXUdTsW=mC#M z%NZr}^lY#W+of1tfG+ekj_`1!J)SUvvMGq>DENmP9(wv7ET@LxNe&^l(*$V~aoCO= z&#AH#e%=Nh9g`hyTNz|2>vejGoz_2hTy%Ybwy^HHU|>u_Y0scAkbIjlo*no(uf|%y z7sY$vI5!$bi^K<>ewC3q1BW_V3N+5niS1{P`NzK8WcS3m;CGm5_yF)4<@)Y~I1@I1 z&K*G;hFK|&%rTGMHG!?y zJU*bvSb84%IZc85p==h*MjvClQ=yY+ZX|u|D0GnS{Rz+2L&Vi@qZ^E_$GKy2o0)^4 zQS}^CKvYi(xx=wbihP$iIC!lTI5;hq7Gt=)rKMz8-LL+1F(SuXi`4QM zd>Z(J0vzNvT79cPriF^QbIo%NGCjDc)fbwggO%*q(=&SURNHa26_1I@%EnH8ET}3< z|4PMqaNNktf?+6y^~}$%uS2@Zl+KbgGktEb!9Nd5`iwllzf*ej*qz}`HWxG;PCzO$ z-k;o7W@}OF2i*auffaI`@wwgDD`Nz5V%RHJWA>j0SpVsN!Xj8Kaercl~(2XwZ> z+<=moaY3P?=(V1LxTDp@;CLEqro4mOJu&wmrm!fG3;`W<*y7bRGC63^NKCeIqXN}7 zHxk!Z;`&qkfv0Z`d}HiPb>D|6cP_83Y|iG&H zZXLt)w`kAb#ctN{@D`CcGa7Iw3`++nY@j37`}C19j(dL$Kr?K~s7|tf6e0N8peh7= z?!pmFs#IZJ!swO#fK4>hT-aCsu*ZX&edvlyz|xl*FnKGS&@HayWb)67H&^#&{YaZH z$uogH>rizC!7dY@O_Q7{>siQGA+LoPigcM-6h|)}i!H5=<%*3-9sB{<86ue=YAd!J zNW+2VTj#k|?H5x%oZW7Sj`G}~X6&`Pm-aX7qNC@ps&CkG8?D^9WrL6Un%@6d)`}WM z=i$7O+(>dW(4sa zE{TYb9>~^~>bgBM0EQug-c>ySkQj-t;_W^TqLv^6$5ZB!O*-T$A(&Z?SfbvpUBWw0 zgQ5b&sP%wJ{n!`Oib|)#Ms%ohN+^46rie_gxyRQ0E zNmAOMPQ00)1Ggo9g=^%{G98abJGJp%#Ag$nU@`1xU^)6H#T9| zccUQ4oZ(Ixs?4Ci2LQy~qz|qG7?m>yMMo=8F^vVBd(EwNjdi6AILRr4v|$Df{)$TzCSyp9A+-vwKS0;H*BZ)95qmP)3gjNEc98 z9<1%#eSQDhB6tD5fz5KyCf#E?fc1-R${JrWb9u3vlqg*>x;6srji%eRdt%e1 z&k(rvxvB7z43$g{Jh9}V4>?VGNA0FKli6IkGc|{PW|3zT|8MdkaWYzGd$canD+_oK zQ;)g-mlEBX*6OU=UyBp;f~0Ki^W+{Rbe3E7DTnTp!>7;ac=_faZB{DU|Jp9jS#lgN zFNHOfhQyb#l#TzK@S=YES4T1kg~;b6uUD6bLD}h2PRp{J9@6EaV`WI_F5VnADDA@@ zIlTnQpZ++<%uAT6ysXdW!<=KKA;ft~1t>nC?!FkXtQU0uu}V(sva>kjQK8SuFQDGg z@Lm7Bs!xGrSQ`wsrL)W#2Y|0UvDdZ%TuM^`))I;Zfy}9z%g4yzoTX0@u$OW6I|(iq zW?CQ2Ag*p^}GwJKJot*9LDd26_=>6QB=B!S6*GWok?Xv1496PK#HuH;+0Zjgp zjf+y7=?75BaNJfK^T51A?W%x53P+|*is7lJmot<(<#2W$-M#AW^N>$I;&7AO%=fuD zkc=x|_%C1Mcc!bbvGNLwSKUk=LfBr;(iFS5gM;r?Yr+tLNsiRRLf0m|r_(Fz%k`%g z!AYIm4py82wRqb+eQ|n5o}(O=A&Kfd@N{_J17#@B4iAb12L`t-Ad_nkwDko!S#qAv zJUAKLHc5Tg1FG!^la)gpBT$v-V_g{BF)z}#=jk;L64Qj>$GA_YTEN&^RSEQvgRMSiR&UfswYY;Y{-NCC&o2LRR8k= zuBG8l^&<#&3l%p2nn{Q#&Ml*xB^09Qh!5anyrf)>L>}Jl#Nig<-w5~CknS_Ctyl70 zCKjo}Vkk;{SK>6L)TXLG`K)9~C@1B$Rskc| z+J9QA#MyvdxnS7ca}1%@UZh$gEMZYHR4mj>(`k3JB2h~%{TW`Xtpy#;$z~g(1B)w8 zAK`VwFA@UDj6D`S9|n|I5kljekm;k3D1Mv9Cv<5Bm58F6r%pBLN~M!lT#3Q100Ib_ zP@T~{0vge%ZJCK@iM0wqiuxZ|;LDgscn?a6uOyE41Od#<=#uFZnrV>eK=?uY!t$0V zU*9W&_1!`WVt4K?UGmLkF#I+B+@MA$wmKb>ih)nWOg>1T7`IZN?2%gw4FVOQV^`o! z#$jzP)rFh@trjyiL7JKUL&tz(8Y-S0zdAhP@~p!aFC!-xq#m{9EvP2TH6wcbB>Ga( z%EBs|sg>wlk&*Tv#FHe-Q67n@uoy65=468gC+tz~Y=dr@0@2pBj7gGqlt&hbE;D}* z1gJp=z>}J+0ronP#b9vz8e~rJITkTnM~_j|3O%QH34sap-Sacl5C7xomE|3oQqk12x%}g{Pu)oGGIJ<^gpV7%sK+eQ}@pArIqAAC9-UgTk z7&u-0imh$K`l5aNCTU@4w{+_GfxlX%4)XfyT~D0@OOLY)k))qZDw(teAn*XZb9H8J9f|fS+VcmX-jd;HFEqe48FnISW?! zNbsIxIpVDob0dB-pYBlIUzi1B77o$sIX4IKzsHH4K@W@-xP1`@T;2^VDV`yIzEao0 zwo4}$3J~Q<1`U>_w4eHQel^zm7lF1*xtSlIFEBq|`ddZON6MNV2uo=xEp`uM`(yT~|MPM|P{ z128pkkWvF<7P(FJ32^vVr&EorqMPY~-}jGlmukk|BEf_+k&au{l>i@4#7r2v8Zpy$ zc?Vfz!`eA+IS^>C!5J&L>V;L$!bKib3s74b8GXXk0y7_-p^JLX4DX5@N=3 zUV(umDPt%h(pNot{nb{1JTWP*mb-JiyJQse3L~)nycJOn5&z_}sULV`I}T-PNvP0< zGT3bKa_{+%oX5%?BU|PHT2=@~l5v?pWoj8pd~65Gv9bV+oTg>$X2^Xn@ku#Qg}p!% ziie*^R6=Atd1300Hp%KpWZJz)v$?~03k%g)aZYj$C7Z=@$_FKm;MYH#fzI5%bt0FrL zA!pHRMIj_b47lr6Uwi#3ASa4cB@mb-WnFNG5X3&KAz5DM(gCoCr`#j=FgP*T)4YE2^g|<|4@BC2_x83TBcy2_L+}@S1@KoF`=Q6ZQYGoH)2+Ea z_$*6S^GM8_gU&b#hn2s;<@VekI9ABWb~P{er;EMQE17BuBB$yY|8!~~9ZT}r0sl+2 z#C@mQ@NMP&6nN!b)B-h{ucj1~m=>axOhw>7mG7cVsc1QL5_p7f`jtE7l)u&n{g6IJ ziOHfS0WA7Gk5pUpEL!9c)83dZsv9fufNM=ARy9?Ppn7f@gn-gpGtWkk&zFqpjjbJe zYn;gy;EkCwV%Pe_#5xS|=(@1T7a2PHFUK1;?ZBglV?zC`nr%atEb8cL_QARkGTX9G z`9V}(+F?iO@*ezzFSg7UHWX*3THmdvLH)&sM~-?fYxDeczqqSq2x{8c8SVE^RM5_u*c+Xr>^KE%WF29@;B1u{0J%@ zYc8Fxe~?t4eYcvIzhO(5e|~dAX+8IEHLdPfBBu5Je)s_E&G%n_jpg6pEWa-x%a{MR zdH+S{GRK|9WAE~kuzE-Gf)C;6m#a08@5kx9?{1q=lv>(sb5Uv!H@1yZ%G`GfgYPLv z)}*48h#89VX)EO0puU9^&DohD2*;0CS;VK$N13zpPh%ppsuvp`JN@7PfsjrP3P{cv zyWu#UT(Ajiy>hse{O&;ITRivN!|xknIBmV+6+V1eye@ZMT9Y4r=&n{gIlL^wjww#- zj|Pe*hVB-@!uH|*9?Q#*yQ>EMuop(5+nsDW_`S_jKH$Cg1^;+p6IX`+$G+r=-W+>= zy76T{nxQ}Xg{un{z!2m5!vb{0MX%<{!$6OatK*A033CQn`S55nJq!Z)=P`6vjZlBG z0m_(dke8zdI%7JqQPr~-bp*DU$v|D*rGX#xZeVm_b*h&%b2nxXI?jm9q3tqx^h1KZ zP^e?wdprBf)wE4^K1x<)F*7qkqu0Wd5FMI`NAGI0rMD zhwsjk8Lf_lo|Lnu-yq=iTWR4)J8Ay zt49x!#%yqz`MsvpyRV+FBCpcb2Vi)y1~xbg#p_>L*te(Dr?h!X!*TKWn!LcEH< za}45!V5(7iQBD&1boU^n`T#_IBb6NTcia_{aLl1_7#XyW zbbQAy5&_rJszgYU-RvrHS|FPb29;RK-H3|j@kVVTfLtQ|4i*?)J9)rmy9h=Nq-4Vj zLm=7@5biA5AlfGMiD*8-A^FHZK^%k_iRxzO^c4id9s2}xTM>||lvAKMx@&?=dH~Zi z-;(nunxfKJ+1(YxL!ZnqNU>y(sPRi&j2C7NGh_W9#Xu7BYu6YTDJhYxSYL(Xe|}w^ zx!^xMgR)fB3^jTBP;oQWVvK2#Qn z7P8>LG(F0i$D%>DvqET>2n83WzQm=e&SkPekTBJcjJ2CVHkleIN4fVlR*km%&REmt4%rH z3sAdqgt5bCPFshP`_l!P&9^>$`HJf|d^kHCIOaXwJU)Jgsy3AHwWGvJ`tclS53V;B!!q+gFX zlK%eoH{amIiQ6B>_edX4k5i|JwDswKLJ-3z+fHH1h+}M#Rx%JzD&X+uSr)q+iczor zl0c_OlZr!ct3B1(w=uer%bd@!3pbIwV78kAA{m;>RNL6no#i#DfGStGoQ-$jhEL+y zbPiXM#c~B)YQRaM&bVr-o}tAw zH!6doChELP)>fu=$<#Ju)#BGfEZgL)={l6d=W*HZJmn}TMJ zP#wJ|96!0zJTUHG*n_qk5q-d)j(3en*prIoY3R&lfqCKj#W?2ja5B*r#6uPTuwo$>46cqoaEA(r7m8d8-gvvvbw5-iq6?OS3n?GKoJeb+-6<>o8Q(5-viDSeXzmW8+jy?Yz4ahpLBlxsv zMeFAlN9&&H3JKe$tT+wW;fQ^?z?QJOPyB{d!o7L|O;0WK`T=t)x~mI)5%xM^VbaR` zbwtsV;7~Uur2ZsiN*}~#v7dKSTH`Q;AnFpn;X+YEog-!WY>^Ksctl=HoEYry6$2uC z0?u>Fv%gx+I~+BUGvw8_*Jy}qhH4=o$^SxB%-kN&GKhO$#L$l}))!A$)TpD+Ur0&4 zq&NMRK2KO`zbiXN6Bh>-obYlj^$k4m{kD5_ToLHSb!a`jza3 z`qL~P^SA1E!0&K75`X`oo{iH>31Wabj&6X@Nhu9p7k%6WmmMMZA7IZg>H?tn>=j~} zj43+XuBs}xyu0b`z3Q$Q1E2*}RByYAxsX{@Z);LhZx_M)eF<7r|E$I~{4*`o+1G$P z=_XUnMc|ETSIWj%ye%Ch5tp{IV&4dnuDHa>X7@(#b#I4;owFFA1Ss)=%K~f&qs3@E z8S)e5Rptp45aL9a!9-OZrhJyMI@SHM)K2B`tHeT#dS~AsOSw*e_~}n9k>*S27ZO(% zgp=8IBFGA+rW*trT(VE3nC{hMCI7Kjauf+offA#;P7TEw3WmF;{ zF=879)sv0@ln2jA27MpE#Jt~SDyOww+B-nLzuoORm96L>=rKAiAJq9U=S&p_+TFFR z33UZO&pnXz@!X!`w<}8r)^0vz)d{qxI!D&w|7~~YQeImQDVM=~&R06J4=&}Jc*|af zbMAXa+c=Vy_Q{Z=7Xcq1lyJKRqPU%P&0PiL@r#aRmDCQ;o+30UW zB0U^zT>joRf2=csLz(zGF%Af zAli8o6yoEv-;>el!vtjeZSd8OcC5bHc2~*K^M`RD3ogTupJZ%r3hhu>g19&up$7z~ zQho_bp-}(N2Y0V98eKgfGN_$&V9Uk&dX9?kJEyD`VaQ2e)AtpMXA@Y zazspLqdB#It$-D)o+VDfhb0oJ=F%Y?dD${W2C|+SeFr1F&|QbOV(rf~>1K1NqYeC% zqGcF(Zcz;U{Zuh>A~TO8-_NkeAlv)ZR%wee>{gB}YjnUV4C6e|Ryru+FNxQdMTr6{ zdTHFdRUDBfeTu?ZCI1t_k%l`%P$hFobgVN7`ApD!)NdF%i(NE_Mbhh4cf$Dnb(eDV zpd4{DftnZa`X5)r^5vX)rZ_ZZqtVyAY9xp4@piGfKum0kmhlG6So`6e?nIZ&3|*)0 z=I6pk=ScnGhvRuq#)nV51vSoRz63tDx;iP%A_&t?ufb`F%2N1JQe`>M@lAa_q+ljG zRS1c*e5$z@wvDlv0*XfjebhSm0Xq*7WlQEY*^0p7asp3B_iBcc0QdFbyfGXDph!6Cl*NtjQhANiaawXjL zg_WA4`hm3cv#{n$%Uq@ znLxTy%TNzuRXcQWmS}J>8B~D94V}DSej-A|Z|7IJTG9F=T z!KHE}<;}vt<^l+p25PNN)b{$}K43`*1xHnI+TMY7g_L=rHQ5`XKqm@P-lBQSd2pp( zIC+Q^!LH7{b!FM$$cSQ2PsPcLQ%^<2vE}cJk2ImW%(p5-$>0Hos7fxstVE7d;~e>q z{Gy5r%jxE=st=anS<4}CUHgg;GeXIad}1yvbCYp6llPuUtXYXQPjOuisA(sh($a*U z?MKih67Hz?dA9NOn2OG>z1&Uwn4zhwcCdDSo<4f!E6fZ0`zlTGnAUIWm6zfp7}daW@w4O%Ak^ldzoX-L{%q$PFBa z;W*M@7yAyDa|QAz$Z-eadL;42#?SBR!CgSBb#n>n4d z66tC_*TF4M>laD|KF5CZo%4oXIQimfupvF2r@@0Bs6S4%R2})-ddqT3kY{d^GumMM z!wRK4{y@zxgQ-#D{<3QWmWo9Cub{XP2AV|{pM@|WY>YFv&!|>CW>@BqbtYrFwSN(o z+=pZ@9m}0tB{vCa&ab3na5&17byG!hL{0*$3#MVX<3EmSyC<=#L`}|&`Sx%uk03KL z1A4EaR{@=%VA?x@l3v&yjj^&ufASdtIe4 z^SeC(K%_l&Yj*ua1a!hg0h`>1hkljd(z|!xGgg5tprMqriSf4e2nDo&9H0ejx6@Yu zhoD6T2>ADOFUTJ5Ug!yDKInb8&jvD0bBKCsl!IoGc#1OJd?Di}9)~8zZ+sV%_+ZuO z{hPaEX16>t?%j6knETb~Jmli2KamlECw1?`v+)>;f_gA<@Bggh=bwbbid02SRi*py zN41i@Q7%=Bsx_4B_BbE$`h6^mYSEg<8D6|jcCNe6?*Sgc)z;SO5YIgGhqeag0ny`~ zTb0#Wsd8v~!fsW8^tofL3R5RbGauQVn+-QvaDE@J0 z!u0a+W>f3XI3hfO+UNIB8h1Gjl#3nR#lNfpkxgda&TjCZjO4BA!90O0>&25@I|jId zPO=f@Eoa?^G@0!n_kZ#BQfMHB$Swn%nP&4)g8Rjh@I>w@Y=Lf6K`(=8bc}5~2P0AP|vz9iKhz>x_ z#F_Ji7mu}G1zviD7ZaoprY0u@qhIoDCNEn3{J=2(tSy1IEIcq|SK=5rj4C1yy`j#z zKaom_F?tY%<5Z>S+z7$jR3ZtFAn7}qrpt%u^N)82yGY89!)0LPWSV*;)2|gxRl~Ac zp%=FU`sn&W#ELS@MBzsz-beWmj5w(N*$?6biK;Ul`mVwkue!WLlStfzh6oG~m6NLw z>w{pbh~|A1X|_I*hENWQC^%7Rjm@Xef@qP4#IRBCYswsr3m_a)GoIxrcS3?-6b>z* zq2LO*WsNL!W%*7`6R-?@7DW`fz#I7~vk6&dNVsmXbp499xyR!>2G$hj;qeo1%6tii z+0~~KdXt2G!DyejWq-UAM%Ra<$0grRvChTBZk~{GO;5r%01_+=@(_@TN>s&*8?WDE zS%8PUTscT!6D&;^ImSX;Qu6BXp8fLj%^vy)>|a<3bE^q4M{P(AK0%Hb_lwV)lJ0`0dxryMIvCl~E9fL<>~zJQ&E`J#N)y>M{y z#&AW~DR$nME6Dl}aKc&TfbcxCA)uFjtudWrVYg>yCOgf+k)mu3_BW`cGH%mS;BU!j zf>a!=tlWj2y$SL^Zd7BAKZG}PM4*+pvDJ+m8u5N>Bhe<5Y+MDIWDFNoPMMD{>R!vT3yj8$55N|#Yo zXoC+v3Qvok^2C{;gw$McqAqT0zW9@z(gxbcuGhB=Y%UDKe(G0TBJ|f8Ew*5fTiE-a zdt|&3_!!6d?&8{F3jT}x>L#Y4@Q*hwd#Wt<(Jye;vVx@2NKG%* zZp-{cY7L006aMiApg3CX;9}`7gkV7xr6*nh0}H#7<{1W+aJ_3~Rs>%>m3e%G2flfpy%2Lj`D^fJZ4;b6Q8)#fA zEuK{Z^|Z2f;b=35&#Ym4U0DM4zg!Kg-7i=!l$=VibXmVQ;0iv9gPP$v1V6)Q9U41= zAlm^xX;u{O2w;qKcOYD9%LTGJq*SG6N?v)AtSyS*LloHPNIB|)OGm~%2{xvz-CNR* z05%XEWuy?;@)Q<&edS5DpTr1C2|e7h)7~tV)(d1#y1iu_W`g9&xRuf8anfxtYmD4` z7D<;>i*#i)cmY~uowk(QB zl2d__0Mt8qzEZ`bVo(+@O0U6oo&6DQRq&Y(BEpLLjF>r7tyc1>hm+}u-ho6gB+9rK zQeF0-uQ~zavGk2O!#7_}xjgV4o~fG?s#;$`5E)5u-H<5>YFjYcLfhrC&^<-+0&4iZ zFMa|SAmP$oEj%5Fi=7bj!NB3iv?y%88l){!l2&Nmf6J$o%va<|nfF)Esn))TcqpvR+~9KpvZ1x;Z0geX6Sk>|%B9HdO4k1d z&VClML3-S~Ouvt|H4AC_u!Jx|Bb=@y?AjF)CcU~dDs5Atyx=MbFSTv&0 zLa0UiD&^b7Yi(~e3bbP>z{>&(?NFyLNMIVDN0r*f*w#otty>tzjc#S(GE6u=Uza($D+E&Ex4%@d+<8AA07TbH3GzSFsWcS0IbT~6=m+tV) zi*5UX=P(@QrN&9}`?A12m7b-f$+O zEDi5#%fwnq?2^DD>%_IwiN*IqsgfWY2Zgf?oODQ(e7-R># zm?WYg&wZALLaH<1PE8cOAf%X`NKUOPDo0(R{oBoBe`!z#I;InL(?F7M5@9;J#lh`P z5urWIE64MsrX!cO&VV$aQm?GCiwH(&rU7oQpK^oQ85K^(X^itjpXK!P2f+Cr3~O7A zqZdM}>J(PF#>bz0m@nD{tRHulabgG?cK#hf z8}+6Za(xfef-&YQ$o$~&Q-LONR+%i3=$1B`kzP)rd`=^E21jrS!}G>01*`T-eOBqX zo_AL+xEhvitg(Rg37doGR^XE;nSm{<(iV_a`*%)L6H*ioZx(t4kfcDa6iU90(%EnGZsi^Vq^r0`VnxqoRu=q7?45;t@Q>0 z4%#z3sIxkP&xKP%FiIKoUdR*NxOO3=MK$4R{tGH@q|*$dq9U7M`r!Xe&{d^KRlR@p zT>-YIn$*y;`Wy-P;{DZeZe2*8rmN3aJ6caYvh}843M-&%odgxLK|3?LxlD<9!&h-f zSew0iu_mwlYoch3*`6%vI6BKy&HeHUoE@3ifJ~%SJF@)dD;(^H)tK|>QZ-ke@k(D< zENx6SmQHslM;z%?cl+e+DA6-CzWdRdKDCAVi7)=3tZ){h>_7M` zJ!Eg!DgD34>D%F+u?jb5gS=t`iFIx$H*y=OOC^Us>#o}b$!?>}R3KM7YCxdP+jT7# z=F9?`wGaJr1jf7DL^aOi#&n3L@b^eoq*M~1PhQYmfy@d6V#13X!TDh&KwKpnx>0aZBDV@s{itjq zs;AxQSa=k?J>{{o;*Dm)L*Q<=3yuK#zk1ubbGn7~+!ybt6_{lFmGe?4Ecor5l<`MO zyjl;5iWt>#E2*VcBejr;fM&i>3-BMU%7SsWHFW2ouEvEK&OU^Tg}PjgR;daavsNm{ z6O*V)Qd)yg%tA49%?5%wK4(;@xn6S#%cixLVcMoLj9oo366eD8wB7NQCtfa}vYCZ~ zl*}^7f=IFyidYC%4ItH6g=>$da}YHEh`VO}pSNc4c-1;XRQ8WwcuGKyEaRrLdSPg4 z!f&Kt7iIF-8@q;&@KmUUQeLgbt^{;SfnSS@)Eo}=qgrt@mpSz7%hJd2YTHMZ+v$tk zy?X$x^cpTt&Z-fU!p`Vev{iqq&DlGiP6*|=d^Y_baot7h6B@p{j}BS*9Zb-DtrPz@ z{|fw|*+uRxIhk%VvpfJd%x4Un5qE`stT?hM#%doGFRUK^{%@mGpSux@@Zy6TQqZ)5 z^RS$g zD1(6)U^kZG7fNM(ns)Z4?7n%dqk2H9&k%lam7(%8*Vi|WRNNTqu0=Ds4SY>l{folt zzHhdBuGbbE;Rs;oFIsm zu;n~oWAQYh+i{&)1^-!&eCFLtE9X2=bYQo*c57V!Mu_brn@nTwN=fsxQS!l=H)ABw(JjqWCvN`4**EjWFD;+FxDJ1?+j)!{`s)|=hlBIx z^Dj9Ks#{G{vu;8zVi4fs!*KNF^bjIO@+kTzFtLkvwZgj(NN?Eq@*4P|jEE52ygmM3 zoM+5$N>0!K9j&~USv!a0NplfqW|zgO-WQ0|CvN`<=j%{1mYmYt6AuqV@<3`>7j*{y zVoLEqxC5ix?G58{lhp#z$s3UTX1sjvM$~yDDgko1ot7=GL@LFAf7jX+CZ^ODTnvK# zpQg`we5WJ4`EkJ&R^M6v2u=>z>{8WBldbLe)vD3jL zYUwU-;d;1iV#zYBr)65eT_jtwK@tyij&}ZL__jbpPE?Frx{I2Vrb+zw(N>?+PxXXU zJZ0+ZZOOPYhnmB%1EzjU=af!4L(%8E%F=bWH_KBpqw>1ChGBZ|JPs$`)$bk9<~SXx zdsDx)=nKR$Y`D2*U*BsJcTNSFFNTGWOISQl-@EB8pQS-}%MH9lOktw95ySOTK7< zi_`{d%nG=QE9H*MUl?Am60u)b`W8c>^?|QZ8j6Xz+SQwMk%uwm346$>{i1~J%4&<0 z?7nTB&6dULi-~vRh|M_y^p>>+`vitq>%`+`R^ykdC#J#a$k?C^PB}r_A-uLs3j5Uu z^{PEvi~%HMw4b;*ytH_gZvVI#qYjdV;kV2BB$PA$GrLh8iq?he-2#_zMqL6=pn{Y#6c(+%06aSuFZ9B z?!#_Y&5ZGeAhgxKsW?^+q~6wqo$n~f*)~c8y0@_+I4HI84kS#4T4rYUHaT7cb}1w> zkX1#V5=yaZ(5Q+DLjxsw<6&;W*!7UD+ap=Xo+`uZvR z*MuX*jtfsGp9@>x0C`^hXcuei`;Wlr-Un^hOT|XS<{G6z1#74}astPnR#33(6IuN@ zc(CPtik^IV7Duc>_Df!-UD=h!yi?2OjP^)8S4wl)@VuAv@4%iOSF08tu9Z#TgAM^1 zszQIdhiJByH+ZKU1C{H~c32cb6+i6oQ9zl>i>jlDVl6!suWEup&2L6t0-DiyW>K{B z#&}?_)r`NB6S6FSoU>*@Ap-c;;IhA{0D2I{-Jqy zp_SH^VhZH>{7g5rq&$@ppcl-HLc#iRy^OH58?0(YhA4r5AfY@~O@lb%&ACI>%5+vj zF_pE#!{fFBaILHLrJR3BNdo0%XI1sHs%9#&XUey1Jf` z`76cgk%}aSe;$8r&`yK=$;8?gyurC~p8C!Qiy!TVAEcxl^$4{_{ORe_?mgsb5|@+f zYyr)yytViV=V*_Ow=H}0t>1^3%EeLX)0xt8z2wuRUj72D&@-Bd>aF>FHR8c0NM*LC zb})_ElPRubyLTQbs=Vv4onKax@ywKv?DKuCrY)(&VeXd-VtV5Sw4 z0fn^#ZVbqX!Bh2yhV}a2ZZ|81vXz~-IuFjv$Izm)__%(O{A^30osQ8 z4q8&Ub}AE*n@;P=Bf^4qv~ZA4k`XX^Bemu@vsu4=cw@i^$&d}u9iqwi2Erexqpz4*v98?XVGH!0W17ilZQ@18fa!B#w zY+bLTxSOyO?bPu$T{#>lQtUy6{S60!Ks^1-=iN)D?W)Kllchk(Bf}b^cqbaH&k~(~ z8*1lSyNB4E>Z0$W(WIUQ--l1m*)L19VAvlSv#@LC3%G8>?b!ofD99RR#44*Rifl#ybGjil=Z@=}#$%F4x%ufXZ1YOcL#b1%DIJZL_~WxE zrpq;4^0GLUzjPKOs1Buz| zCVMMcNj2xio~E_bkzFbJ$K`kmQnAZwJzwy`Bg|$FRVqi`azyVCR*P3XI%a>~^QL)N z!rP$ZnUTJ+q)T6u7Gq!Z$Dk}ns! zR%I1+oEV5$grbKYn?*gxuWs4Snxa)zSrF=MTawA`@=i%JXN#mmi{F;(8ZCc0?>C4$ zZkMm2b)xmNJ_$NU>YV-5mJBN0=A@<0s6&!LRA$Aw&Z^V)`#FRpo0kL3*oI)?*&X)+ z@#17hsOX3?^IZR|RZ`Duxmz;MMKT%C61K&y4 zdJwDAcIqgkUlgseG$92gQ#hLKSRDofX)DCt?Fqkozw1&(R&CGp!hLL9y4*o!%TlQH zDW?j>{h6jZxJjb4_DL~UbDS(@Ydk%3WBUZRUEl+R=WRq65M(eL?Poy~*Cs#%G0~5p zjOU;|F%4P(+kW(OXvGusJczJ5pGSsV@&Jx!=O>xUnuC%ap%7A2;I`5^E8v41@P{PQ5rlP?VDZc{FU2->bS_9Bx`*N zUd$!uAateNXU`U%aavj>LxdXNol8w97F*r3%8N>_^6BcU&8Na|!7KCDph9IA8ml(3ql~@u}KV6`D~R?Oj=@E7f{BdU&}&W(+E{-e=jd%gvMa zOr~;6U16fRz;iM+S6>a-bOx_@c&%Bl&0b+22eh5JSeX;U6R zk)?di8WZ-lgpU`^(4$_fM;;B?0;Ec=vaf?EY3JG?x`ZrUi6hO-LLc#z-K*j!#V|;@ z1_OHAGcaZ^rqBLB8_(oYvRD?T-+@OF#}=IP+^GYWlX_?`0gL3xLeB z%uu#ur#U+b7}Fy=WnQ8;hs>jc16(s`uVI?u3-;#*(L1ARFE8D(fytT3#u#JQyOr=Hto6_# z_Dxf@nB_0U6@&6FN)XTOf9KhL!=blwQ_^VKCPQc1J-(E+k7u1%=(*?_Q%&x{yFI1qd02PI;lZ< zu0s%oG!ikmNwtK!L9SS8eyKlvr#dMPhKyNEO*28S^a{lk7OBb*blV($mc7kQ~-5Zm$egA5;I#$4WCf++@0TT(eC&wam38o;T!(046m4LTh1$)-rAEj z?a8a|C>&|09+^e9HoMsNkKd@Z^I`E-wY(fgAhD{A5|?7}%4lHO4?MTTRV#DkG}ftU zV-Aa7+b5jL_M?^j%(YlpszBqA^sAWnzkx5~p59nP%tV_t!;-O0fI&qdRM6tKf(977 zvURH#Q1^{RlD7@)N85sB=zF|zA4k~Ntna@Mg+koLLIvnJ_>q`$QjF`6jWBv{6fQa^-XtwRfu4vI%BlYR zCnvF_prfkg4a~o;|iv^)1i$rj{l$-KxnBUo!S8 zrNr+SgWq6(P3bwOYd321C3_i}?`0et1I>+2I7Cd0%c9?95sTTG;rqrmg%K}j9k}qh zbTg=Ra_ni#%V>U1+G4jV+i;x9kI`%M?a!kxf9JfeKrvk}!}51`T$}+l^A)d&6!B)d1PQos4SxPHc^oF(ZNDN^(VjI@!j zCGE1vkoK!#Yk@!nMif#D{GkOLRR1GN^TG`z&`7C%uRcPC7ht3j(dRMfJ(oG2+q4geNt97IC z)+f-wdv;Go#Bem|$Sj_kfTr8|8DKpfCML)WR7R^iOLo1L9J+r3Delhb^GAC!MOH)5 zWhv4ElAdbiFnIxANrkM-3SsXIonPU=EM!ahf;jcoxiYQlgJbCAyV6#x+&utA$4J1X z(;`Lje!Sj*4aI*u7?jW<;n0W+(cr0-i7sD1GUc-sf^*d(L`}xW12XDjbtCK0M#j|75f&RgaJAgRh{cFzpbOfdn`)UCIVHVio^`?Ucu8lZJY&A(;h}% z0h&|4(Kzbb=C_qKz_txhvCAOtn*xuEHqwA{&>Y)xNeap60jI?!px8rF5>p(wJQ^&v zhIyf&?(&$w2yzV;=#n;Y3OckR$rI*}#k7@5d4C4ZA2%jLc{MxdCEy%cTBTOOMXq&) z^pi+;uH19sKDa8RC7tx@voNz*Fws7GC~DHwOb59qqVg?Nn!o#_&FQHUD$lLx9}~3b zJaJu%dX6*v&<0~R5wvkNrO70=>S0E0-M##WVKwNcqDj@CmT;M$T6(ye{zp1aPp=*# zOq}@gOVXc8b040}r<^Nd{rustIoj_&Q4ft@-`sMpNk`Z6kJ$Oqf&TuIE^NoXl6&^d z=pm`WZy1}ixLcgeO8p%~O~zFyS2dI&#)FpX(gg_*Yc)vAzUh!Zka*y$@s!47B1=}M z<$DWU_PVywAZhz=N9Ol0LkipDWGfvxWq)!qz`)A`Oe?^)f@#hEqswF=%@vZ~6432+5Xyw!U~54LJ4*^C&xnY3}Qb}7Qs4=J2CL)FiP zStv^~O9eHA=ACx;iCAmb;!t)YEV&#ElRX{BXI zTZjyyX>9{13~i8@{k_!H;*Rk&v6Mp3(n}5Mi=hNi84Sp?mdqtq!AwP2D-BZ{7K=&7 zoVs7>O8{ssrt@tkTTWS#il(eZ7yVLM8TLrastty*c86%JTdeSnt$b-eOr+GE@f&kQ zb2Jy84$b9Hk@ZMqfG#dZ?ocV$&uun>5tF=Mp>}DBOE#+Li#8_z^i?-EpNjj&8i^w%ej`{S!A(GX04^3UZu@aa!I!64l&7i9P+&ttxsIT?wpVzjwuE7xC?wckGr!MAKRZQcnF>w zy>e0Hpew*~(M%o?ybSpL&Gp%j+G=LC7I)5*IAfS3x@vlkri%t4k4RHEzDN^xCn8ry zgyG!v$mR42*ocJ^P?1yueVCU^t*nV3f$3E`xT>Dnd%(Hn!}bE5+2e9q;~rWlZu3Tu zLUEhxSElePs7#|%;GeYT7KZnH0a!Vk)kBtBwWm#1#X2tqi&HwX9;s(iQn*%|i;8YK zkd0E(A@T@3tN%+(PkJ+|uE_9@&slzQd3bipC-xpLFD3Vt{BM*;HrnmOD_F7-R-&Ds zJS{3T&6S@AtTdi3@9(j?a`Cjdhu84SY6-KEAD<;ejxa*wjJHp_Dd|g_#>UeBZyQY5 zFShf1u#fwZ4zi&~gM)sAar3UI9T(q*o&Jyh%9qu)Ml;u`)JFQgYcZU=SnWHct-xJ;p70j9PlM0I4?GHOPP;>Nb9lzwy6yDD0ypZ9{qvIFoX=nLO8O?qm~O zuA^>tpQvO*T+!+C@CNM$*uJrRqaaPg`Y6__g0)>ft?Zdo5T{G(k_2o5lhssuUm+ z_y_t2Vcp>ukrXC_FX@&D>yMEWoE@#zMrT{HhXcDVit9p^$+RTuD*fOkiD>plfR`~A zxz+cK>*$q66$e_44^m9|tXc###SdX#)0bJbdCxs*uewi!Yw*gsNp2)g1!7faR_nu+ zp8@Ups>bNUcwfJC)ZA;i765q>Fv-9%mjuG+Qw?)vLq#}D^`mjA>%U8QYSYC@YETxK zvnnFZYeiBETO(D57a8Q~d<63EqHFjqVL{f*QILc-{;=0)#yD0U@^! zFC*5A|9@q%@`Bcf!OiRM-Ol>HAotJj2u&Y4xbU%;GY>Zpm*>nQ_c|F$+iS>nt5!j} z_k0Ha7mtwxt3!Y;wrb8)m(&X!Go={gLclSl@cwG1O)7%NpA(-GYvC5@mv+Aj*5%k4 zvDEvHY}>SPzQo4go5%s{fNvIJ)A-IoU%}X*6k?E?)0vd!ah(uvI*U<3&v40^uM-;o zEI4C@U7iQFG?`0{PfbfSkxD?`ZYJ)CNpxdLsUgAyhi1Y=|Hz--7De6tnaJI?S0ssn zq?RX&Dj9xo*yJrS&eI6c2=WBoUB9TH0fC)wkH$;L4f)9szwU&KVx-RL~kc^#X1s?yHu?Xe?y;=5EDbBn%=lEFK_0t@>wR*G*IrzKuWT8E4woiEMq&X7f4G?Ccsc~9o(J-aE?#L{dzhz>evk*5pE?{#%tmmh z?~I&oC=v7MHy97yOmwo`J7v*z*xER38@`Odlm( zCoArI(<3@c-6y}k`+)%tWgWdevtXzRyt}GOnnIYW!w@iSYY~J!=ZmKnJ+SgahojRJ z(J2)l!@^=DMw9XVwSEMc1fN(2N_3zPhQgC{HgVz2d|15)n|>< z{`&BvH(Y(>@FUk`q?pslxCyHYseooGif`K05jP7{48(HJY-M(DV%r)M+^Va%Yyv{C9#Xog2_nwKch>#l6X*mOhDII8_>X7dVl27sVo4 z2^7L!A%b9LV}X-Zg4k|cX{OKIoJz4CKF=Kos{DorYN7gJwAZtI%~yTl(I;(Wxh4?D zDsRnP*cBQ@vxhj`D{8M+x2yuN)rHVC(XK=f-HGv}%tJe%FhL})M>U{cQh250c1zrP za&6~loN=8VktWc>^r_Nm?~ej(G8=ggxWT}@1_!VSYskJ+3hKG`q=xS2`3W8yT)q?=X$*Efw5U&L;2i1!3xckPeTu9EO z9O!l#(@bTMCGsT=!4mjcftOPABmw}b#W+d-u8RBP8cr*=4& zz%uU`ad?~up)z`n67kaD5^+&%AjB{Rmx8k1qU<52$;fRkh|`NDGbG|=WZkuw80;Dk zKj7S5uy`IeaH2r-(}twqDm&>!CDNjl5jbAs(-Uzu$$*ze>ka;fiHju$mNm`J8UqCxVlPjloCvd$`Xo_j|gJ|(S}d&o*qEtuTdgi8e9^lo~?&U zjtRP67j)0gK1iNGN>qBIY~FE|%{W@w^ok5i#PRWK7~4j8L^N12&VkdE5dWEk@Dq;z zHHrQR^I-aQhPI3!&oP%?JUgwneKJFo263c?K3gsEq;ut&!;n5Wt@gPb%XpP>9su6YwobIv z%89)K9KOGQ%lLg1u!vJ1N(+s_o(}fYb{Ejz2uB)1;i>cvyh`m&aOj_}+n)#*4ko!D zz_!M{@HLOOWeopc;8MxaKHmv~JmDLeJ1v^_r?ecB417XYU@$|5N-?9)>l6bnn^RFL4%qFi8FEY}Qnwv`%y-~+co9NCQEwv@lcn>tK)Rmv6w^t0o7S2W<< zKz+~S-{VM=A5FdLmL7DT)um%6vVCx%r=b<7zD4f$gcx}=_QQEAK=*fP)bBbD4lEx+ z;tSp>{LaYPS1^f7;P=UGsRbx4L^J;mA)MxE z1x}%*|I*se086-pK{Iaz3qo)LxDW8$?b!?J1bo;Z-T*BoYzAE6c@<7;F+OlK(i?WN zGd?9!=FgA}UO;>>CPlaeCz>Yc-W%Ie<~juQTIu{nyXs;bzmogClZa&Oqldeq*FQ%Tq_$Vcn*0eeKRb?x$bF+Cr8coTvR35&5+3t~VKPjbVBFh<73&y4u z+o$#tj0w`yiEwQ6v5?wpdO!`rvaWj`iB+~tBC?Zoc04>UEEo+~w7qsr-L3a0`Kipj zi=Jj4I&}A6{gK|$n^{mb_sU)_qg6e-5coIup(w;>mQ6?&iJ$+LuAkReL@Fw99kB zh@$Bqi3q?pMEdxS4~ZZH&Qx@vnFWRV5R)V!nPmc6?^_HnP|xK2Rr3ng5P=G}`ilY9 zjk&w9Sx>xP(GJ6H{4gKgy~qA)+gz@B1F$}kkDV^m6_XhhQKQ8GT>cLEQ*F~j%2>Hc19v}1$AP9PaTwwYnq^cnhJ-4N-GDkZ%HRQ z1r%SPhT$;lN*7jxYc-CvW-2|M(!CI4-S>B^KdDj*M3m1y_=OG^sZWYbj*-C$2G18A z3!Ud}z;55wv~V4&!nKYC^%87^>eB*kiJKbq35(HMyU$(ODM|s_bib*@>oIwypqhp5 zCks?YEWz&?GS;AXHjjxkm*R5iP^-^TsI#*?j@YgX<5fvZ3sqp`;r1h05*(2B-dWu~kzIqSAgrqZdzwn!!rwc0Za8;(lfHWgEiM0FZPyBk-gA~?#PA*vLhC)#1 zlRJ3WI}je%(n6V2Ev01cZ*=}~b^a1?CsP5`N~Y(YCRR#FBCt@{_&r4Lfztqn9K*r6 z=fCJQW9DJNHL=i{JIpUj05F$~Ge9?p*g^n+#;=|{z3g?pGe8P3Gh;+PoOl_p(L%GY zCq>Q+J=Q6}V&mW3O*O--AW;8S5+xy1Xs!J33v5hEk?*=}I&;6=%vM+{7LN6L>AcG| zCx6yY=C?Z2x?&r3Y!e;W5{*iS--<-92*eTa*PTWE$R8vz5S3{6?~ErI@AOAF`#e`l zyt^M@5&?Kw)F+z=bt<-u^8iz9bHZN3pRD6GMG!I0Yb5l#}S>>U>kKBWFoK!W2+y-ey57(=G)uZOl{fc#Hx(;wefQrWKx z3mvP=bT@c)mVT-@elerzg+GGE0tn!;JV1|&z*@a=>?)GMuW@=IAjR%{dB+w8X>-7ThD8(7- zbx(%l#1W*Eu0NopWxO*`0=r0$hy$grY6}L8AZzPe^p!sjUs^b+sJ+S8s%C^{UDX8) zki#sH26dhq&CiA8=(W`w0Gtde=>}=pPgH4IKb5vv$&-aHAe&Hl=;fGOX5j55a?oth zNj`k+EyyZ6+s@E^b~LinxnrjR-t4+2WTe*A%)`aI0GoA+-s#3&Eul^EP*^i)Jk(9w zr;u(;Vic;v=w^gCVj)(h5O~ppXMe(G2V-qlYNR%dqX&dV*@y7NAbscnfzK6M2s+!- z1muk^!Urhno=}uQB3)DPSQIC*-HWp%2s@P9Q-IL>)`ZWEj{ia{G)#|MfjEVY{I=gJYj{aH{J$NcKCx*4sgn3%1IZ48b_g+52ghwkuI|e3b;fsbU1BL z<$x5w2f7GynGo*FlV=GagL2wH)yRm#$}7Mi$Kom!~T0S~Vrv1dMPZx)t>8w3wY zh>=sAsk=Jxq(<0SpEx7|Mowh-wEZjw$4rCZ&~s3iKE4Ai8vS~F)e~sJa+!%cwddSD z;4|BB0td);+b?28AmE~O2$@`5TdoX$edo7+L^oc;?ilQgHT(b09mn>4URwNjP=sb2 z9qazMwaDS@X~Z?%==vripP@ z8;kWf++ZVsJsMSzt3>)6fBiwoPb$u-mE)>6_%P9pG8&$ODkE=Rv63=up`FsmW%r>DA{)bsYginiobK$sV5<{HnbQ z1VZI1#Q7^Lk@7pAI3i1XBt|0VKG;jHjHQKW=W&o4>f+ zZ<6XE=kCZ;5z!fE0vi)*-5|{=8%5%@^whs4Nw#VRT;Gl?EQ&LF2l^v8`LkEP1{^JKhm7LHjCi)soBsC9oX z#;!ve%h;4M&h`=o+P8}%1@E97v?HM%&s($eH40%4jRV?C>HU#M6??Ax)}&U zl;$%4u!Gd1iW-Nc^Cnwxi^g5^GJU9Zd7%A~Hc+N9UQW3{)&iEGZI{mBG3jNz7*Ok~ zQ0l@HF2eDKICQX8>tjUK$lNGH!B0{L0@L|*3aqqzOh>qQnFn7OFS9WCVK{azbA$r9 z10P4tdMZBLj7vW~re_zfcum#1OIu)m>O z`enZbc>PoJc1T9<+}gsKL;uyK`Pbk1Uyj)N2qv&!%jvI$NV#wBO79lj{9OEn_4ihD z4i4oiqlfwf@Ysp8bgbdnzrH!T)GpUUS@Cj&rjw*d2mhYbIvc`)4 zuVqEnJ@;R5T7*Yda>kSWG)_kZnGt6i;L4>(7FDy};)c)5erkyi6gf_l36KEb2wKne zf%M7f2ThLDm4nWrHAYQlB6L?iLIP_hfZzOcs~;%C?+gRuv*zf6Yuh9LdG{7av|W`B zIQ;2m=`pC?9IYC&WDxYj;^|qX3tNT$UKymb$FaBc6=_?1at?yN?j0@=gXg`_6yx+hOeZJ>imP^QmY; zm>eW^XEl^dB=!J-LMJKx@(5_@dyf!w>qQvRfB3K7_~=slleih*l19thZKNTDHJ;mk ztTE(H=kU*G$;&k9$g$?a=^StJrbu%#!HP+qFs}K*2}Y@rnM+*lB4e(Kd5lYkFnJ*k zt>>L&V*z91o$Q2kvO`-2!e#231KW}7*rB!stR8ccVXF@AoI)C#n|i_N38xB)-2T=Y z6C}GB3=4>YpOVMYsq3cgC;GmgM3e{7L5Y8TSvGg#ID^op9NQn0XNL%n&ty?9YSHhg#2<+G_N z+4y_A+L=YN6Ntz*cLfq-SDSmrBwT&j4`?d3awP^Li_p~|#U3q4jaC>|c3a$;=Bt?- zZ!maXOG@+=3?fgaAkSD$rg{vH5 zdD?A5Sdp&qfQa^9ZmB$>+PVV4Dw6{kLiffr3#n4K4-S)63i#^6O0)_~|M4BQ7bFu04^*k4T16(ac#|eX*v!G1{`3LUq6hhterT?GQ)2$xXXcu}^^`TD?MFe@ zXjBQq?h=|qUzPKS{l(pN3&$kV{xdixt?yA>jW6t`PTF=fN~nL)Yi4;6xD@sa3)22m zG;p(!OU&luc#J-xAbnOPFeR0w3aUz{5)uF=GIxK^}COz_1S=Ko^>{2|+ zXy{~X1UgNZjj)tZRj8T{`_v*by>?Ggo_Xj<#DqlBb>E(s+dOF@1?n;0!O)jm7_sVuWR@ z8&E_2M;@g2umV~l(q8bQrfD0{m4y?8uw7ihU}PaNM&k&f&6^zaBo?Rld^99XgxSi1 zjW9H@xAZmeZtyIp_9hItX9DDzFw`Q=q|1< zf&l`rW*_qBepc4~%f({O;<#n7_PHl?vS)vIv1AY5rgc(F%J@>hC80I`+8yBEKmot&>=boA-w=?blpId?H84xRh!RmqBfypiD>y1zp_ zev!Mk16K>*vbuE}%I>PJGW?EHk54zqq03g2E{hj3Rt%7LVoVy6EW^+<*$zOL- zDDV4>_Oz5wUrborzUU?U1SpF-D`&Ewo;xjLhWM#(p|tvIJfLi6UQ(~U>FJ2gvv!84 zu`LT7vz7S}m1R6ACd27)M$(xsdsTiy&7-<`bC15h$$?{=@A>x%^LbV8ikzMd=s!)h za!LNk+#wg|2UCwU85wEV-?9Jzlz)9!e$|^L;V|u~-H!7)upem3=c9t*1jtY@or2L&j#s~OckSZ5nwULT z$1Ro3a;dxhM_jF0-f4UO#j=Xe_-EE~X1)rjYO}c7v%)@(Bo1vGDrT3M$TzW=dk*+D zek6`gOKq2XRlP+Dxb~~_(wYLWRVC5rxNVQP3Lgx#)`sW0nazHHmzats`ByQ$1`)XI z&EIADAr<$;D$v|SemGQO#wy!$I*HIj-H-DRSgsOb*>%K!dt`};mGH6O!GJt~ z)%!-^XM1SYcgR=F~6Sh$?z z=Acexz-$4oOu`Ny|*in*pTtc9R1Y6;juirfXNUeBUr19+I4>ml?qnVaAabf6kHPS;hvN3hZ)WQ zObJI{Q<)B{GgPT#f5B-RIvt-i^!sFzbm)%3**c9ZVUiowR0ei^0*}CaT71(?0*2^H zc6d`0Fkf97VHOCEouGi1hR|g*j*qUKrlUe!*#z~ypBl~+nMvD9HYc$2%vfp|>LCwi z;DdBnfK2vWODWTIzi*d>7B`Po+dTm~P>jsld%#HfOw(Q4M%U%%n^}+jT8e6pN>l&8TmrV+c zbR?%v|JRKFC7#+PKU%(wCR3bO!^05H+j~%VdKk8lJwKW3|D;l^4Rv=evM7MfwsG(+ zi9utJJb}8|xNLG>Aa6tZ^ z&;o_R0IU~ghhcP~nlzO<-1A$&!cQ-6O%pq1fU6ixvAC(kWaWTWrKHtq6%=;anfa7Z ziai#gHMgS*KE%J3%$Fie2xF^FQ~n5NL**Jt5vCqsLAczbMKVx-xy(hGn*pX#WH-mDV;svX`D2pNOQHQ5`&=_#1Z z$}B?8opuK2r>as1I&1~Ubyo=IEA_4=$?j0>D$cLFv4x4O2*WNrjwE$b*eqD*GM!R@ zq*I&CsSzWmm)l8T=|a&k-V>5aaN-4 z39*Vw@;G#FO&_s=VX%J!&;jb#I-H2orBCJn#Z---6tYW{@yzm@JoY|Ib50j$O}q=& z3ulf7<&B|o+eUKaI_M(wT+`-59MbLzUI3~Cq{l`|`(kss+W>+^n>>;uKD2D5lxsEZ zQX2P&Z*27lr5c1{F8v&U;R$cRW!;blzIT9qW+j$W10{gWcyNA&2Swh1msq||xFCi{ z!&eFeROv8k3$CFY$LTYgFZ$WbCw;eH!C**Td2xb1^cM?NYw!?RXDSerW~~R6lVWN- zx9|TFi=>f!AZ|Te@jA+V>{<^>0JOt+uwgQ*v^&Hr?$3f?j0f2+66OPte2w^xB;B#H z!rWFHL{)NpT$?lG7FRNdi+@K@1W{5-<>)lVLnPc$<}9t7-1NUybfQS?tcjwer#`nb z;U3KI^dn;Wb#kcV@YehWYWmz$Li$$`gg7c^uvR>qaZdFCO~FlfSiuII>7%-ng7unU zEV+bVw+l=&WS@cB{pCKxGGYoDcKf!!cvz5POo)>&^)|rLGN*`U@I|ekVXE0BM#s24 z<_e%Bn><=V|6g4}SAvNSahbD&q^hwA2B5QN4+V@j4w5OOWav>^rx~`*)no{vJ*P8F zY^#o7@vz!6bZoNrs6yL@1*)xsc3>sNrcp7Kw+142keZ1MZM=q79nImMNOLM^SXHaX z4ywW`8DKfdAYs768;(T0HrogW53AjvJNgwD>biL;R?xm0GPO5aQYIPH%bCF(7phh- zuq6d@u+OC@qoE@u7H1WqevBFhDyA}O#wMqe3(=3DM8xjSs|40+NEu#uZf6e+C{S3f z+PrS6$#5walENQ^(gA=J-C1v-7oC0rJKF-E7jva%nP@$7AkGgj z&~23=ym`OZhT%~gHYb}ytZz z#GRK_SlI^fpDQ$4#_p&n_`5tJ-(m`SsOss-o_(+_G;{V=c|OGh>iWg4DvMx2m*--M zob#_%u(ezeY;8l>pfS2sJS}U*1FIn%lp3dPUSL^VZGsTkbJ{ky{A^y~Y!f+K4O>zD|gI}oz8>E8JVGFSH zWA$-h^4EH7q2xd63fHv^4s5BouRAsG5UEFzFFr@IM(ri?P@f;4vCwkylZ()4f2&B{n%gr@mM6!uFO$dTij6o%ArIa#XFd zPB}RUT4y~4@WG|Lnl?Jv?fi|K4ewD&Xvx7gSt$M_J?(W>$=zFPn-64RC*aj(yEm%O z-Gaw(kb^7Xq*JzR)B({v1*&&*GaqT{VE?w;O7w-hFY3i?_Qrb)oo=$yN2(1T=zj}8 z{g7RIV?|jw2n^2?ljKF{abc3yo`YLWnGNV^QE-b77+-cLyL?+5s;riU%7&up$ud{s zyk%v^cX_p)NEa--vs$!Nkg7&l@rmr}DYy_ACl4E^0IVZThhzgOirp9P!uH+kS;#p# zMwKJNg1R;ZiQ+W273e$Ao!*ufmKB`!9EwF796X-eqs!A7yStF>v=WI6WE_z}Fc|j3 z8tFb7oE+ZjcThAoYycB)qGlU_kyD>NM0ZscdOo!dwFzQsM}+6@%vw^~1@NmpKOA)5 z$LQZ!4l*8je&tR1)Lk^&21BglOh8}u=R=RNUboI6gq6$$yn48jdS843Pp~(gu3~N} zyM1Q=Qek4eIc|WjWSZs^6GNM~`~fgEUFQ?Jo6*!OZ|qlqSt#Is*H8y&bfaO-&(|^3 z<*#K$*!WME`<5f7N`+TGDWsf!MpKJRCJ@hT;G&zBKBGo-FrDu-nc1i@>92!dcTCZF zFMXj_4^2fDkgvMR@Eb`-ASTD0@#%c0F&mAZTF5&1bw)IO6;kfR1>6g4AM*Zk%D(4RkyeaT4I4SghYaEsRt|)c}qEt z)nJ&6_mG3mj%|Hl$Qiq#jm*}Gz`#SK`B$OZ;EGU7D_)9I@gkGmC(>&(6%BQRg;lt} z-CjKv#p4b)b^1dWmV=@{n{ve||7Y?@&Dv;R`6f2P)lN>*pstonN2Y%5WGy1{x$hZj zd$GLa4SD$zno-z5Bw79Z@Dx3!k%z=2Z(zg9EGg$?rWtmYi-4DUZY9Futc!JbuCmQH zOpJTw`X@pzwUnIThv*7X7nB`@YHCFvn>uyuj(mBs9x@pX11})RyB#ifH<-?c`jA8!hEI@v;Y&w+aNQ`3}1B_`{(m_)}wqT?cNv@d0#s8dM zDv#rNYBQ>wZ>Hx+mu|NQ*oirgZZ6~!3|bYa(l`k2n1-P>6lAC}Q{wVe+fT?sh;UtnKsu70 z*|6{rq#im{JhgTWuP+1M2xe6<4#eiy_L5LxO@Zk3d=&a=0?ZQ}T0Y$z@X1Z4>tRG) z?E@U`xG}=i*zOzt7BKH<0So$v2e$@rAhYmOKC=nW+{D55`rN)A_ZKf@MT=x8nmb9M1@{iSM*4nnH9KA{}%m=+b zSdNC=^E4Au$iuh$Tv`?am1Jp&e38tgh)~v;#`WycgB49^SR_Ub+`y(a!G7Q2*;^+k zc>fpm5rYqauf88IEGyuhfAt>mpAne8zIb9(u5&_Gu{|z_uhs{Pv07Vw1JBcZ#x69u z$BGz{Evl*z2_%iu;Pk|uVYynG&JUvf9vVe9{F_v0uR}J9Xlh4h18#2RT6Z|LygpgH zM;Xa9OTlDCRY_|9$b`ws-8}G#S>5iwuH(pvTDRY0b^;;Q<5Y$U9>CR}%Z_dJ?7i9m zvegr_P;dyH9n>j;PO=mogqGgVM*xsf>Zz>Grn%jXM_9JD#$a~lEgwIPhq<>I3Rtdo z#>2b`8LR~@?`YMYy8)o}HHxCSUoc*?72}E^uuO}*bBD07Kw&Vr!QxDO@yPE0z)~Ka zx=`NwE0}&+b7SS&j8PFQj7#g2pv&Nd#1HRomfL1dR8>`}$JnT~YFiEhN-Fy|R&d-+ z-Mu6|m|ttE4<8|l@v$J+h{DvG8DbLlok&c7ID7MqvJ0CFMZKB}vS)$`}Q z7=Xj)T_ePCe01vxSA zUrAT}4kZRvzEK+?%$^RL3|!8bwEbMeGsrU?GMNj##O+biXawauc1=ig@{vG~Cf+Je z4KoD&&nJOK(Ijj}rM&DLYKWfxiQ1lvBzq4<-B^5c#1S;RkJ9d-zft*Ae21uEh|5b}~j0_dH*xg5C~Q zR{_e?Zb@i!uQCa=fUJxrTkUi#G@Z6Xlu$TR@8|&s+6mlg$rRS{S1XqE?@^r2ZN&MO zV&g}DC5<|+=W28%t1V|v_KQH+AprC>Wqyks*FqYixQyg438Aq2aFxiTh*U5ovjM_! z?}oXqi7P<%oN#Ilz%d2_^Y;@aKZ ziwcg_q&WHa`kBErK|Kho_O^H;>B-8fS;ZF>xiG&6ibJ3~@~pJEZu8QH==7VI+d@a* z1LGoJ!6P=%ob1GB(v&=vm~VN14Y>s}X&~T7zDC44Vxxu93|L0B-)?>{O&Ew&MD~fRq;B(nVX7ybzRS+7+=1?IodX;BHb5J2&Ry9<4_q z1A#)pG<9}&5Bvz|H=D4=DU9S}o>FZ+b?53Uz5-;`B3)p;6tbR$aPDR!HKEZ8!;Ens zruJj%F#Wz+2imp|{2Rc@pU| z?qUT+nHauBYZr&pUPAzim#>4kZ}nJ)S*X$Ze@dv&lWsHUEb ztKcWGG{b#qj5cBGT=GY8C~nPmzxvDxX}~_nbbiopa$35n*ukY~o>y16Li^->R}CJ` zp8_kHXVVyBauj&CPQ{AbzPDBYWJHGuGaft+sqv!KtKL#M6ZF4{HQ{#_br#^nt{Bw*$O3~r^!Uvb> z(5G#>4lmVRung4RPnRppS2y^0G1BgI*fQqf;hx_EhR;TY&pYlgq!G;63%*48!b8|` ziIVUhaompe9RF%17LnR5NFP?|JA;8%-_%%Yz^MFxeD5d!TSdj2x+SP()Tkslao~6R zPZM64_&oZ<*RZg2!NS8q`x3F)o3_U4Z20cuGjjD4yXjG|W_ISlxsewRBmMKXf1kfg zvT#Kg_X#3t5PgO~YlM$c&o+VsNeLx+nuFEbdY6KeqBxzQG&1Y`h$D^u_3{R_p1-e- zFhbkbHCoNPdThQBT92#qEY;Q)_rd8T`=UT? zH18S|KB#SL%L_NbYG}ClLT&+VVJnoG)BP6; z>ZbP{q$ulojF!KnlZe$_lq~QxX?S~!kJ+55o(-PxeW;Y(gp8I&^ z9dRZJ!zen+H1^AOaU8_K+cQ)0JKmbpW=UqpKLMC~dY8K$e*`%LVYnJNs##^!u*1#ph17~^bB z&x_G;?HY9OVEw6HaeH|!)1YQ%rHV&b``Gp0qsW4YWg=iB?pM633dj!7k1?!(73p+oyEmgL9^s2T(3=jElgsLe^h=1R^YbZ z?-9q;YV`+mgc%ZExwyEua12_+7sF-?Y}4G__{6UO*N)KtGGh;52o||Grh+J&)A4;k zT_SXHJNE8bP>@y2a-AnaG?rFQ`T<(t2j`c(wn{ z#?-8Bnyp6Lre%C_VeeqLgcpa4?FKd`!}~P8A~X&%VjapY;`khha=BOs_XnZVFiN&} z9yN}Xi9#mCo3k^Sb?fng z@h&f~4o>jGSiwjNJq341-U{opp;_$~|Fy94JidTe4=kt{M{%*Ni4;0ETHe@e5;*t& z8Wbx*aR_=f)?yDPgrq0Qlto>n3X1DaRJq>&On3R%v2=S|Z}?>P3-Z<-b_L&{S-kI7 zD>#^Xz5b5x0q26hcDa}@4}HF-mMd2|MHx}GQV&&=f<_ZcdGHWZ6G+Wh>YOH$sZtR` z*|dNIK%?4Y2Z2mwr|#5U?Ea}=r3yJe?`0}?Gw#uEj<`uh;@ux_YDVOlUVDuezg1fc z*Kn27z?vy+j_amY*QdW%*F~gu&Du)-lxa6@7G+9SqLT_mt3Ht`!J%J9STwvgYk@QT z?kD9LcT*8==vF@aC6W0rmOl^Did2!OQPD3zuf4;AvjD436s9YTO|ke8(rIucrba z&Z_IEg~P!FsfVOleA}0BlvtgEY}zCMk0P0ZZ}AdZwOMktqN!XBgn)au)>TEh1-qhz z5RnR%5ok_2(5H2TSakG@7P!9^tM;bm36jT7xuYkZ3i>oosVzyCWw5BT99%kdjik>J z+Z9r>nPb447T9Oea^rH}hh;u>oieQt`lXJ7XQXNx7T^)eqsEo6%GBU9+Q0vMzWF6X zIP^gaO4L`?o@YXugOQ0e+PnC07SZV=b~=v6CSSx6nZc9|l#qnfnk$R6lXE4~SvQpR zt!%*}Uh61@RevDRhwTwR9)2>f{~tad`8=l7jGGqRR>nj2-mk92`c0_SyS7YO+iD-T z8+>#VqZp}8)ceIE)3|*s)X*(Z>nFk{PX?Yl67Sc+Ji>kzEFu<)3}FI2IP7YBc{Rsi z4)MUK=_<0sQd7|4bD9e(P(Z@~q3>FCb1E>H;d~dDNr~U{69_)HC7iFXU~uhV70y3I zP3L~7tn&}{t5w(0zVj~ueffU)k#ZEzy@N3@)ZZ=7KRHu55&LbegMOC-Sy{!Q$0f^R zJdl8oPs)Iq*!sK%q?*6Qa9F2?Au8qBzT5j9ez3=yX1}|+f!Dc_J1bx&Jd8IO`aa$wKmHxx{*vSAhw#LhfrsSwbV!lv z2vcxhy52Nzsky4^=DZi2hc|dele<|6tKgcxKNQy2A^zfJ9>EamM6e5eUbFs3M9Ln{KS5~m9z|o^Wv3LNrX(eOZhq>Y}QE&$O&LoGL{K^)3%ds zMna(2a%`>;YVAA77=Y<8gkRrAu+!n1MF_*CCe%S&n%O)w#kKo6tB)RzUJ1A1A~OvL z6_}a+e*1gsGU{2G8MTDE*nf6lkdA88_)q%q`iE5S;`zn$Gi8w?87UlJ_4CwI>Q9{9 zNS`PpU`1LAjeYN$jqL+-wqNOOJ@<=dGeYT}hv37b&kqA+-Yn{SKxX>hN^9!&e`{U!oheMrtts+TU)OxE zAxJd!9w)WyqwI8_Z;`u;%l}f-i`wY#4LUc7x+>x4zD^EbHo! zLRO@b84yZX7*Lz>P%2+Kn4zAROBk!kfs5rb{+^T7{CFYixJcWwCijM2z zPG^S_+7(`}cH)DXG^e)fdYX;*gsJFO?IENvfIP`c8^adNnPmLD|5L8>*(w0+D1QV-ASzT9M@N_O zqGFMk*}i7}SiB4Z=JRc2{lom9SM*@xmpzs`4~vHmE8*p3^9teG?)A+jI-TK)Z_$Sd z*JKt^!gQwe29L~>%jKP7ieG1=ikWgW1a~`$eXPwNk4MbU9qw26h#AqdqDSxi!^I`+ zRgd#Gj5OGO`ek?}DVkUsqX%*PXH4{ zUl{^ipbfak&i7+jAt={nr6pfIPBWJPbl@QX(AZ%}Ty@&tAe2TO8mwF-+X>n!bmVQe zX9PeAjMbe8vw}TN7Z_S zUNxpI#?}=H1=nz8aN}>Q&L58@^)DPHpcCNd^PHXk*r&{c{MeCzNJDPvLTAy;g*?y{ zl-*L}_z@J--ZqJtZfqZxN3<7c?*;Gs+*k06`{P3=7w8N;oJ|YPbsvVc^wIbQ#xvXx z72K6E{q%TW0v ztW1r4Z$pUXoaX?0=M*0cplZdonV>%MD1lUxtQ0KBbkEMx$(SHD0rx9%pf)L z&aU>f?RxuOXlTkG3B&}5^s~{JsQ6AwP#nbaO7Je@AewN7L2`MG$JGN;s3TzQdu2r{ zLo7f;qjNrTicKA+bwkt-D6-bpoUaOigSxN6x$EOk=?Ym@iw1ZG&t*i)kEdt9{V5iJ&Ie2#Wv5 zk}C>OFNf-_)QCUw($)vC6)G+8jG<%l3e6anbq^}{FitphT$<(u00E}4^=U9?i5Myk zxtuqG_CDi6Y2|8GiWBmHSCBvQ4Dy7!8iuLfkk@c`fLu9`OHTHpugqFnXX&L{?K*X> zx7$7P0JOfahY!#_9|f3I6+X;y(99#Y%W2t85qt9A+9+W;_4vc#lI%XN?t0Dts&}I3G);F(|q<21lYsE(|4Irx&)2aYc~&Eh9lh}me&ep|-=&l1bY?6#ct4mYCfgYU*k(SD@B{x&As6q?LZ-TF4aN`d z#Lus9Y(CNiM`bayw}6?Oo2N1L_x)gdG^o#KDi6%eO#kVhabw*frt3kJTB^;ghLM7{^{f=KgZojExo-O} zCjQWN34Yq+z(6$BN!nA5Xo#$T2^atBgSGb#;05C&>e zki6H10ckW!OS@f{pcKvr0DJGiCR=-3)UJFcs3sOe3q?n}!)2@3f&lp)SNjz0p=RJk z_e%O}CW%jxByQ#}DoOK0#O^Cf{GlqGK)usi;a1cB1XG19(OQiR(gxgOoZ+xDA z`kj1yULg;imA)!pTUf?luJS3LoeMJCtj^8p+#2&->+8+U1u_@kJ7#LY2~%QAX+e3AA_}hTqkFi&3->rsy-55iZU0EYHY(315)q>zu3c?B&X`|4 zTf|JcVWW)@y`?3kv(k@9rWi@xRQ6OC!#mu+`St<0g|6=V`YIoSNjBAZuw_I@7dlpswn1>a*tRW@hhqbb1V zp#q~MJY`#lZejfo4j7>{v{bn0q4z2fccnpSW(VDS^>F$i(uOjXv~enWKiPfbHLes` z{)t^t(1wnpkPk}4PU8+!359PW)l;_)MuNg3xY*7X%5L#I!Ya~z4S@PC{A%u#ffX#YhNn)Z6JL_HzZqLa&?|9J2j;*cDtE}X#XFq%aP zjs+ii2(rYnOR;tY_}uEdZ@+@?HKFm4o(JI48jb#5B@*ae?{FByngUJ9xUMC0eu;dy z)eYmc_4WAnYn*-N;XkhPmY!QKzsJ3s@xWnq^SB`JYL>dIZH~xTL^-2AG>NSMR{eZgf z7Wo2MQqD=hG_3*@Rz(3_z&Lii8n<&Fai~;nC9YH-#krtI%Rd$$`UPg41SYWO0_{ zD_^HWmDelkX}_PmO`76a6O9@dC|q6dpQGdtzqXs2bsDSGJOLe!sKn}+xpn+2atKsY zw(nT0!-NBP2-*zpi(jbb6eJ-i{^;^NJk%_ZG1OoN2DZb)M)-s%SX$#(OQ zc?|DpxQ?uPf1CWE<4EyS#D{#r~7*7yc|@J3`&jzjuy2|gJ&1;j^GoAhp?CPwjtv<#cs+FM@A;`Vqhvg zuo2Oxeh7n3oVhvG`vw#JG)o8hRoHekje4m(0Gs9LG=!M*CIYg{HW11Jb52o;?*~476SX~9Lf2Un z#-M5wLVKPeA~*3(o-0957tl40Zh1?Ale118+^y|NiY|zySh+kh@tI5zIrg}vva;DC zi_`Vl(Y#5$WFT5ZTf`-?=fJ_+dM4+FmbMfFj;LBHM%nCn#4pe#y<|zSTL%bzNb^RY z+&iTw&8RO!ZvxR67}j&l=gIl&O8MI%ln78WS7JWHfmrym8&#nnXHq&HPAM&2jBM?h zisDS(Gmwtgon!T@UkNJEp4aT#v>r=W7<@U%4Z_LOsk$XFaO`sYtI)khI_;H;MDcht?(+Gp>%0>2eUiZFmLyJRW8I}gx>A+islp_itT-%~>8N%H znNOo9oKjlbcj*X$m8nb-FycJ8gY3jtaKA&)={LNYUQhm9Ye%^Chol`*fWd?~Y8YD| zESkB6xsr*k?IIxRz7b2DNWmVmBF?)2J)n0XM%)K=R6sCAfw~=4+hd)} z3RYy+zgkx0kHB#Zw&42fn-k*d@eSCxB7u1KGU@3}aQc>^xDzOe0PMgbC9Orl@i#aF z^ivIL(Qz^!_D9vsaHj6ll*6IcF^Xf_rIT2C!y&^`1PeLfJm!C7O^r~pG#+mCy-^O7>iR_i? zi!beP#=g$Wv<{ErW$xz+gFV1cHS9stM4>*GNFM7RaGI7*vh+Cx(wrG7b0+H#o^mx+ z?u|5wJgFewybra(XY<6|9)i#|U zp`U;K-pCXQ54Hj{`@2rC$Tm)gtw16}hH1SCI8Fu#jK7m?Zg`p}^(gI3F$&pn>h4pq z$Km-5O`_DJ{bgMl)l8Oo1~X!GAsR=DxIB+%0tcF}o-?JZe!#S$nNRI8Y10=v1t?!Q zSJ(z5^T~D;^+H<1i*I%Q-y+_nx?fTrjK}q72R2wzLX>3!vmDTgEAMa)A#{gg^TD;eEBLhe5wyMTTaciNpCK zDMU2bwLXWOfZ&rz=CDdZY3Nb{PGh;E^os~%T?<*k*e^FkRevIcatN5jB%)4IFa}r3K`eFv0Bw8Lk#@@wNPZYsDpl4gll1<0F>svz>HVHuvLZj8vC zkX)Eod`;Mu_6Cb}jnYWdG$N)$QLd1>mUzfMek^a8@yAU?$Qxfbkn!<(Ct&*54xtD= zRdw4^IGR&@^^rg0*P#Tw;0okD$q5IVfn|#)Bxb1O^YA!Hb*M(k5m)}ad!=0;(O4*& zLTbSNlkbgwrp=K&dD^#F+LZXd{xnxBp}pMDeyx-Gwl~9$4?B zIkuZ*jw932?WfCwn>`(Crt)T>087fG5zg}4zeyjKV;a!6vHQErRW~*zJjM=F$bZCJ zG9tLlRmS{f3Jd+)b`nJvAhMOnlz$TrNJv;{zr{31JQ$~))9NAw&iwLpqA@`86OAeW zH;40{xE($>t#j`W*j+3i99oNFbL5ecGRGgGGosslgb?N>YwpN6-tUB=k4jB|ofuS8 z-g*ddHStdZ*&%7Kqz?pV%qj&I^1gJb%t_24hntwwf5O_zLO5$DW7#-3y~imlov}XR zAi9fNzkYY}z;DB1bJcHh0+|#kPx7%(7oNu5R_wAaAKCAK4^9++^cA#zp=8mJ#XH!5 zDud!$;vim{DqOC-I8%^hrDG^lJ~D=3=|#RmtI7?ouV{A~fWB@!#6(rK$_&9!kCGGaPAM?@N<2 zi4Y^vJ1L2lb|K7dR%WisI?Kl9{>YbD(eISXa+0Zd<%eJss$crc{_vo7XTy}-S}M>qc01#Jw^=|gJt zpKcl$bVF@mp&JojHVLal5#*v`T&>teq!yaiTQLruM~Qf8aEZ7m-co_H$FCCQ3q;7W##C{&IW3_f z;5<_K&N;n?CDePcLAkTc4yZc)~);^5PM7aKw+ zirYslMjShy04rbI6bJI+yoW8JFbH3EM%JtljXUBB#ZI@Gf-Dg1BW~)^Eg&R`MQHMg zq3KJP!IYRIrW$qMX#&u$X7NTP`na?o=FVBmf6_$a4>xr=wZTwzW5>U0yb0}snncjZ z{pP~r2LWFO!usOWvK)Ux2!G{8#l6)?lAZeZR3Z$`V&75^(O->BAR;Q@MYtx5z@OD6 zw}ow~De9&c^&DaNRyB0eYr0<8niWPNor9SiAFm|paLXl77kS9fO%2c~=p*SQ*cI+HZC1j&F`7z|UWIIlKh5?g*PX05Q>xEvc{62$% z{P0QC;cOZ{YE@g|j7=@8-cEg{7jU@j1gczNB$6UBDpao#pW}2La~`?$1<{FFzrTjG zI$T|O5o|5BUItjqkf^V5#2)1b;13i_$&%Jr#HplJ}(wf|T`iYzkbbn!Mgpxa%KJH}l`S?3P!+PQPb`Vj(oH z<_4GzTS#M6)~bJAL}J*9$uus!35?y86QC8d>P^jWvl5l zLXvWVs-cbqHS5dHl+!Xu$z42CHDzHw8$~hc!}FEk3v{2F36dBuWSNL&;S7er%#_S* zHitQOGDX!PQFrxUpU6B;l+YmZAkfG#A0Svr^{&ptP18jhv7x3zt_Ex`y~FW@V;koX zbrDwytZG{xEx!}h)YJt0p@>LJZOZ^FsTRDrpBjN$bGtcpy2pep5ZkoIN7+m)rz61T zu)B0prgF^f)QjZ>yQp+&yK=fLGdT-47T3t3%(wRY)g|ZypAlPiEQ$o0n94PYy2uwd zej|q#jEJ0jgQT&lsuPL1zWcRxm&eK7KonjJR0zPU?=hmDr0d0+zvyS!3a5#=`@D1=#q->9j|##j}27tNQfr(55a_iD9#s#t6yG z@mOXQys2i|eCE{ec6aw#s@7;tM%tQrYR|$byV@GC`*EFcD)sv+hOX)~*7trZBcWzt zZ*~FqkW586&-xUKrj$}ZC=*IRvXU}kRH1DQDMUF-I0Z;12?D;2- zE31Yi!0`FH>Qh?#1+Vb^(JqD-^>F1jj9b#ABfR^>cFCEuVkRNAo_mEdrs%JvV7WvQ zioymI>*g}#9e&}}tFIaG7#=F=()-o`iF4i1jEe*Z9-HGzIOaU*l7$!GlCy^FO@v-F zikgl}QagG`^^nL!Eh;{ee6CzY3XNe9gq`^X^|+lC)u!BDM|HU*yVF%L14K^0$da4k z%X88#V<90(bA|pNB4e@OC3tdUI26iji5s(%UUTDFx`nWqPD(PQRDZ35Vei z=g8hg?At?s7O$OE^!7Ro_WyTn!EH#G$*=*(|2RL*(n{}+9|K9YOS+lYa%SI1`T~1o z9d!F>>1=z&?aV^<^uPM;yBbXM{^0hV*1?)N=z6u^(D7rgtaTSam%@?nHxA;#2T?3W zwuxA3*vrKNg!s=ogiFpuxp4H9@SEF)6H0T5GiOPm8bSRjmL+S}&wN@uSU~dv|N1CK7j? zbUtw4h2h7=bBpKTtL@c29Jhcn>W`2qG7G&hTjWG#@80FjB^?JD=fh>T?vsw&#e}N9 zhHAmGoF}M@Lf#Ly;zG7WkttMol=)H`o2-wnEkJl!;idd)U=gKERF*n`-(%gQ#9J0a zggSqR)7WF=Q6t>&e1=Huwa{qaA!{$8;|f<-H+porReg*a&6-0Z7VhW zvP6b>H|I4QJF=;AkyR|0iy;?gp|F~O<@&JY9bo>x&oh3fec4_$TNFI707*c$zqT~g zhZV0KuL}|Ny%o^*+a<^CV!8sX)j>f8@X>)!O!fuvO(s|QE#r!{a4i*;y6%*f8Zk|b zl(Pg5ZA0655080S=)BIRkiz8^qF-5+#g4qzQk!k#OM`A4vf*~lbHH@7na`0V+j_^C zhE2RUVN$kA$qD1dsH&LDM_nkqboeMcunxn39Y}60PH}LamI75goHP+%GVO`!Rb#Xf zj6Xwj3C9c_1~q=#yNo&vB37!+NrGQtV-2X2x)CD_d#Xa_aVTO*oO7w%^NaKfw7Law zo{d6(R2&whX=K@$$B}i{(!6&2fyI{yr zi&iiMZ#mdWEkx`JT0gy3+X?GY)qy0wfNEaHJr3)!rTr4mZ4b}sEKpAV6{2iLZqN1)kejW=yXI=g6@M5!@ z8!`4H?Z|(=|0l12>6o5j5tX%~#7QO+Wz4a-3G5Q@Y_Z11^{{Et4L5$F(HdQ+SBB&A zs^JO`!BksYyt7#9%Ex3OaJKS#^Ly$#YT@;WhBJn~0nj4giGR1cds$fusyIdB8N>E9 z8*x-kLjugkL%2VY8lz9f6LwR+dQMJ@@<^d{>FWHjyMn`c=*7vm?b2E4${1g-wETca zo$#ju6j0DnRN^uHcX&K4z-WlcqbpLjNc3$uZ?D(-t$9f7t(WOhROSj2NsI=!5sg;W zZ``6S4_33Qxhej|KL8e4`boH^maLoYO|s#gvW|um()BOtUwqY-U4OA6O5X*3OOJeT zKzQvyeed{3goGJ(TM(A4SnLHLVgG)G1nA^h>z8ga7?_L$V&X+Lrg(@O)yG}nvh%iP zpE9gWT8}s)O(*g-DZ&Up3MOE1zB7Sy)@jgpK3Sf)q=ruOXxQy|7eE8mynXj~ne4Oe zBz(UPjYB@j^h5|>kV3X=Z;!l>TLmj|qaU*ozv^uH6o!npe}38~*bGM6_(r3%Y_NHy zsRhV2-`ttrzD%BX7AN&s5*Nsq2_Pgr*DRR5;8RonvOSJ#`g_Ze_lrEgk#ad{Zhln|22s#mB6uC+*gi}!IO`inaFU8TyE`;9$-0YXxM3L7*T*daNljv_QJ2cDzg$?v9t(;zBii$y_!31I^LXy z>`#BVe|;s-)8~y2CeOhuqyNdWUu#0hBFkJY;z18UTeC%9GDN372XOvN4(=*6@zzM7 zT+NjhFqcsk;n}sozXpAGi^P^s(?`K$*kN^bgPK;BLs{V+Byi$ZtF{8pmfN_3Zug>pY{Ci_JU_aQkvrV-U0$I zyd(>}IU_X#k{d{DUnrhj(Bx)50yh~TWL$O!S1qpK-*TjYK2oD_>&ghvSiz)1o*Z45 zR2xZO^WOiko1Z$7x>K;Ekl{n+8hIOY(BXW%%Ci3`7x5*~C?_bce2}AdL)u}}u$rdW zRHUXg`jh%{rP|0ZF;IzK+E}Q@sSq#O5->Y&41Ku)W6@JGvi_ZapRx4HywgrsqW1I9 z7i;yakx~MU8evOJ)ALFirW17rbvSm`H;HTpdn9sGxmpN~i;FbeHdgBccFsx(iI4>& z2R@ss?@JCMXDN}4miFlJ9S{fV8C~gKy@ulbIHjX#sI6P5kfbw>e$~VT?S|ay3|8Lc zr`)FYXF5JNymeHFvb1#j&v-wQ7nPB)U3gYg92_a;VEC4dfE%IsG?Pw22i~Je#|%?K zE8bixi_9iQu5ID%w1f&6TjQ;4A9zT9kMyWiCi$g2L z2xPpDxTrEL;3?aVNX-mmL3&UX2eRH0?U~7xwuq7}Mu(alAVS-05%v!?Dn`QjPornY9ueUXVRD(9*@=&Ze2XS4k;Br=ub&xX^cNW%^q(6MzR*i z;6vt?oWWxXKJbw}Z)EM7f+2D}QS3qDTr#ycj;*1565JGfT)dL4(jv)3r)1VW+k`1Q zkQt~$3bn*n2la9cT8cu?ek*Zlh(@XzW><)B`8Su+aubFBbrd}%*gztGcN|uci#SFR z+2`kXEndG${TSe%*s){VD^7K&R;*Fau&GObvzRzW6TpcjJ>uQ{VViY zXFyN9aRbfb$wocjH5X`Q^3fs{vVd+WwAQpjveDg;Qb`{Z=l2!HZs#I!P=feec2L~` zw=-9)Kz}!q6{>Jl;Hffr*Xlo5?#q4cZVoUIxNC|uG~W@1MnE+Jp9`#Cv7U^YKnO?+ z5A4-1pz%DdsKh7#h7U5Yzq=-;Wmlbtu5_sAXwOsknqmojYH53MPAlGh0WJ3x=VlZS z^I*01TWS2_l|1D|MeT(bednhvdolgOySn^)C;j`czf+Lm{QS=GN?1)l0KIaHJV0sH zB}q+HNy#!HmMR!&-rCl?9S&wX*ExahS-<4uTj7FCDxgl2qx=r+v6(-=a5lXWrglGr zi651wC=<`2DvX09LSnF*?DNHdv}rkc4_|M*4pQ~L%k>R|-YZ6M`OFU3y{Rod3ig`I)23rD8c8z*y6^B~&mJ%)H zIB@(H2>pQjM9wnX?}e`e+`;4(l4Ub3$RFA z7CaU;4h$TfKk2s^1*qJ0re zy2R*)1)5=})gp=pm$5Jv5=#IXkB2qgWumhIbarOf3x0V1>Qncw(YPH4dj2hhQ>2cT z$Ke$t#s57$MfqhBlh=3+FHom7`|%{aTeoSTYePexXq4+mYp+@PC0OoS>(ru^opBs+ z!xl>t2-wC|JaeA|I7u}n{Dz>tp5d@=DaqQ#8m8hyfq&>ujnKyfe4gq7 zJxp+=!IT*|t)%D-CW;oH*1|abmWIW!t21^<><2sz6+G05E{WJV<1jAVz6HjqA-kyMtt`_~Z|>`#aJ0sEb!`f(eZ>_UwpF)ZUj7B8 ziAOlmj|0Uh$LpmNZ-7sXr{YPU_n{ygGAYZap-mk1?S6TJ$-Lrag#AVX0)Uz-?3V36 z+=R|IC;Ut20A%BcRyUpYEm83t2d*DG>a%DlcCqfO7t3QeaV`CtDe2A@>v zHBPC0rxusU*6o+C_1mEToA*{|Vm@)<1x{#u7^=UT<4L6JPZOPC3G0{9@0V90GWM=m zHJKinVrDkr0YSk)Jf2c(d7NZbJcuR+BMf>a;+p_5l*B{NBX$%f z#Vr@_xyumu3xzJ{qFVMIYO@D|#bNh{4aq~&qpm!6D{uT*8A08amcRQ+q*iUU%8hVb zRu$8J;t7s~#gF6&{gVe;jF2lRC*gDHqAV(**%l}iHP)Irl!#5&{B&tFf>3U5T><}^ zaLEg*Vgo^aI1$zHuk)({-k}c zBi#>te9j|{Q#s!YtDYabNmWIj@L-5k6>_skINi1if2xu;K@Et@3daEmn{jU)PSDct zm{F9l30SBXiv@3x?w%EiTbgKzXiG&pn(t@`zKLuLWP;+v3}2M#3{IoIZg^&Fvq95A zQ%p0{ece$bp}t%vS#vTofx7ebk0dIwTbI}td8>Z@Vy}{d_G`7My(sRN;laNU|6(w) z8loh9Gq|^*>i@|f3%dcfE%kYzR(I5RU<1&5_7_wwm1%by0?3Pq`=pj&HyfV4qBd%z z&I|{klc#(5#YydO?BepSfXb0TKkHj04voMP(a|O+#p@5^_+Z~oL zNncT_|7|X1z5shT3?DDmYZGb4!T-Rkk_lDVcHne8I1neQ`p~0O_(@#O#Q+Ef*P?pP zZ_hAFql%V}63`c#U=b<*pH*_r`8(ha_F8-Acm(O(H$J9q`4ndLa`szpkei+~lS z1Tumi%MO)>Gi8Mn&dyRO)Kqnbh~YEkX(2=(#sm?zYW62jQeofe;7~~0LlmkCX&D0& zw{BB-&FH1T@?dhG5p}8uC6sA{wDV+PVT|@)aJKrDFo(hpi@|rjmd0bO@Z~0 zi4pOHloNO?6%AlI#v>4nHP{>9TytMIY_=$m4J_v|sIGy1tz+>VwGQ8RgB(()>`XuTT8jdsjPC*@lB0G^Q7OQHaqj+c*0~N~bG)eQxVn-2xhD zEyfZEkLr0_j1oQTn)Jm}7L>ZhUhJJ3*VZw%fJ0=RY;}IswIB+SY{mKBZDD#X0c4^^ zO)$R$6vN156SIYVO>Vq}Zk7}Z9`iD*&h>tsVEr3rn-T z|6~}mUGFqzO>1MZ(ULU@UUK>KUU-vy$`-o`H%o-Oy2UUDt&3ImrZ&RP2EHH%yL1JI}WH%*JWSODRH6&qP1Qb2o6@l5#Kc~qx_^imd8QG7vKLc>f{TX{SMJo2gB2CWn3-xq%QeJQ z+egij`4ZZ5a+ce3b;vJqppg)x(Y1hnMrn;mr`H@(WTs~pYdScRAcDYIXyeysIsqob zSR62zFt}{3U6Jh!ION921mWH+-#z_F(IP`c~CzlRDw>AQ3VV|Ju|L?|1^Ixr?94lu`>1ioUpF zgjnpH71X+<7*_OJ#FJzvzEn6Vc4!Pvj=YmdHcRsehG0WCnu3g+ewMczg zm~Se#0|;{o;AssEw>iDAgh4_mW+%G9t#d=L77 z^$4=1`Y>+aJLX~kr5?}_y$k~W+ou)eeoqX*uW0nXxnb6J~jtEvTTYg{PU38nn?fbH`O z{0R;fBv|;cSUrK6E~YGxn8VeGERs=+U@?oiDtP?KTunN7BUIGU?glnI5DZ~E6$V~T za^nQ7-D)Q>(^Z4Oi5*=;J|<-Vzi#X;a=8g7xy6%Xmm9hg#|8%;M;@fI8qz7dI9vAl zY8_~Vl`$k4abQV?B|YMVi+Xk=Cu_*jUj=ADrfNNVpgoaXuOl?j9u7n}u>ysoz|12VY-aT+I_gBEQUbX}AaImAOu0#vsqqLb-Y%65_z^ch zQWo`WKPjTo1ttZMZLt3$D9JLt>OvLf7Ik6>cUA=3xsVc#6uD%p6{diW>Jc6~HJI^7 zF#M8aMT)2y5U6l4W*@1RiTj_8G1W?O;ikei+cd}Di zy(yE9d3jd8foz0tL5_%Mv9M+wJB$y(`BP;pcL4$kof%m^Q2?UN1p%nDqz)c70G(Q8 z7fx%`ISS{WE=w`p0nmd_E{oXrqJ#KkH|(LmaL7ZQU-RLsVLf>~~c zzPwdKl2(*@XIiyL)tFuKzJY7x{2xt5N6-YZ*b3|g*AixEijsymr%eS4^G>fD_;pT7 zWZW?RjMBpGk&+%ildwF$z7-T)D&=PsUU_?X;hrj$B`AU;m5;Cy7`GJ=5Nus*_t3)Xb)!Dz7|sq~A^ABMGC)#7n)TROFJX}dPeX$u z7@fe!vhs_PL8`=pq_e|~>+HF)XeEqQ^@~Zj*?0tTh3c~Kz~T=*NNmwyS5HbbObBhF zxSCW%&pS9f{I7qafoB6)^{~1N)-IcMs`v6j<@IfeO%(oRv%gSQT?w|lQap_x3OLqA zKtGJNKoKo2QX@?qU3*}Z7&n`uf?~HP%vSg3!6NVG&fJ^lRZ)yOm$Mg=8`F= z<|vu=3XZLY&lZ#~aTP*{Xr=GEjVQZ|Q=V2h2xiVDA$91rJ78o=s&|?x%t8e2JKa&z zTj85usOwn(azFYnQAH&g3Nk>d2pZ{LxKo|Kl}jXw<0xl#!nVTA!1}YpPqxeNBG3ZV z8VEbu*z2g)1$yF$dm@voOJDsZdkQ0@b^^Qrzn4n)IXlBx?Hsuy&pSdu-@(IVK;XNJ zLSD}<2Z2)+ZH{^>nm7o&^R-VuU9%w<4q){YyeKx5YLT+b*|%H4YLk(gEmpY>xl|Z^ z#`l&Sk(c~>_NmkS6jTdbluy_*K?+rQrBfVR4P0sBhc3PyQ=2={%A@Qqun|oh$1r5Q zufVzqfx(S-_~Kyh(T_nSR~39;2EhiSkiTE7-|dm&i@Nvv9Xcl!n4V4gy9rl>BLygL6G zzVGs8f05oi!F8da?=9kB*9T<4x;NI^R|zK=0jGA`GnM67eh3SP0L*Y>rs5U*eR1bx z6Pp6P_>C^Z=#MyjGDY~LVx2n??0*TflhNm(ACIx@7_2^|i>&UuhBc`^Bk>C;pF}xc z8CI)I7I2sW!U`=m*s(a!VPu}M0PjBA(Z}YDz3+jQqTbJG!%(Up6B{y}tWl`4h&>x} zHvp?jGOma!w0ki8d=#71y@Yk}(>N5e*Y@{aW702~E~dnfJ&~LrSZ#hE7Bx)Uhl%Fe zo3keWKT`fAn-4a6loV1^P_7OvIho~KsP8P5T)8&+Y6))5YDxeirQgt2@XBi4W9{A_ zgp7SIx)%pHr2rUmEqusx z4LiUkixA($!?k1ChjAm;sCtd#6`D4U(Ydy~ZlapPwq6C%B485F4aYXM%E~=RYSb{-es6Cb>q-!evUbrQt9I1gS$kV;m_9Q&3q zH~pzjz}2r8VPdpdWkZo8$3WR`l9I{u3yBW96#-6NKYT~$z~%h9D&b%213l69sO$11 zOzDsIm&J)(FYgg1IT=sr9-i*VKsOZBn9mVpAUyxTu862|Pm-z#`&bCY74}IX&S>JJ zvYyeqQ5o+~MN-HS@|tqmlLe^Xw^;MugiIu`K_`&MWM)2TyM-*YSC!@$jIS0Kgi2D?mX%jWpX(bsFWi z%&OSXPFQ0bY_8~ZJS{Sr~SCuiCABun#`^ zEND}g<|q`II&xE6i~z>?x?!%^joqlONIVsizSOGTzMMm!4MJf9WTii&gUbYKi~-jB;0=V6U=rB|pj=G?9EYZ_|6a zA@^2qTB~N+=LWL2n5bWRea%5oPezT{B7?L1KMDx0E4h&yiD)@iWQIA=hXsAMfeBJ) zXnbR*m^I}g;m*gf9Ar)2;m?SBVDJpt^+Jt>kaS%k=xUQ1L9M@K0!R#Z$%1IKA8&xP z9U(sBoZSG5Heddx5uDJ!cOzSTfR7{{5ze3*_aOAhFuqd+A)dv@0lwkcy9dJHdpxlh zZHC15Jx-he@5U|fJp<0k`te;vwZ>X6ivJ%L!@I*m0_rJYSr7Z$9}fl(vUe{5*`*}zfQM9Dxovjip^b#D^=`$7y?flKySXn#_W}Y>ZDo}xR1rVaseGCX8Uc}`x{c}#G;$U zD%G^X6zYW1SzLqs_(z87AqTp;sZBVVT6ml6-WN2tY^ck-JWct(z;rQwNVD#a)4{Oa zNy((h%|M_7=md#if=8=CJ|U9=T2Ztj)t6N0W-~)gP}3#4;q=eJ z{Mcw?_TOi8@~6tF|3hjG($QQ$vsneM{C6qkkmNJO{LrHip{jvrcdH94Xu9&nyM&bAh%>1vg zJ~ty!T2ftT3)6A^e!RAZx8zK&Bi^Fn~W^Cidpa+Zg{;qMLd>YTP_tB#7m3+SKHq#5>o(wyiwlS^Mq!c8}G$ z<88MA+eudLl&Rh%x$aUjWF-ymyoTUOSk^Mh1Rk`g{IuFhjz3$;ZM+Lv`t3E4{ zc8tqUhk%u2r*FUo`P}!oa03T!K#HreZ4m_Xs!Q?55TbbK#t!vx*{*5`&ygCtzV!&* zv1k$y;;SuuP#ArF7IW&*%=J^w=;x;9q{y8GEJ?h{k01DEASl^)0j>dM$bbQ8L;@AV zEt2Xl=sJjfyI5irfnY+P{~EH(K*I+b0Zso_boMtyC&c%F-KsyZVw0Qj*F z6+wACCyN1f%>v`anK~N6*re{M7u0uZp85$MmxEEbQSNzFSES>=fHoIqo@Tx(fhE8x zK2;e*kLq6-vOa~PbTs7ToyMcsek8e#Pq( z9;rKjxE|3Pr5ZktG}V92tC7cXl3;9FZ-rWpqsw}@bDa&fGR^@1OTo(h&7OaG{8uXE zBMa;PHP1piGUTUDl#?ORq@8S~!MUXEngtwBy}|}KVtWLoo{=rmT>~Jc9O9)tCtLeJ zdn}SGO(5G9^6s5oqw00)9dF7nvV~Mvb+A77rmYZJtqKWzQAe|(BTkZOlbky3ZUVAd zr>49UeGazJS87R3u=1H5jvA~E@cYY~!vQlhH_O{vraeU)p|!irk(0}^C{l|>7d2=v zuau{?({ak}&K1rbjf<0+#KP9Ee?+OP?qK7g_V?%;Lg_Vit7Rdo z>{6#-#^d{ERRx>WN}pzOmZy}>k#DUXA9rxRY3e*c?nIku%-i-HQ79Y^3Vg9h&(KoY zKomhoa%Nns78**Z)_7#6ow+FG5BSO+4hRC*RXtj4(r*NOtu~d%<{DDIA5C$6y&P@_ zzz3`ip$UiO=B&yQWHh7p5w^<~O2|I7WgULi-)4bSHc1)`Gx?{J(dF0zk;B|Tu zCimnWHF&Dqeb3ZA(c#k7_JJ`AtMf>3gj99>gwHI-_WJ|1shyjsQ;X-|?alnFl(P%I zezS5T4+{4Vo&@34375;`0pOhj{FEzHtn!^IsjMsGFmPvA;#l?hg9myr80`vcj2V(* zRtqeQbC02~D!LOJw_)I4HS)vcJ{0BqZW&ojF%};_y9Kk?I6$Z03F{7S(G;gc%ji4PqOseRNIr!LQb**n-9%i z*$<=S&Gp|~+gq>^IrHTB$QW>t>3Uo}<3YZcYsajfw6(yf{A&FwqY!5L$Ol|~i2MJ!8rtlSjA7V*DKQmF0D{>pO>hSt zfLt&a81QQf8nw%)-fOy399Rv18U+);-1zm^v=#14*XJQCG-#@C78ox#pibAJ%0Ite z{@2`ekBd5|QvT*@;1?(MOUeO!RiRW`;qR%8ut{_ReER{T-ddNY?$4Ew(S1Mqe$lp{ zQ@InssZPgqy^XjjL_>76dZ3)!qKb?vGJa%LMDN%x&k> zm0mfbJ*xQm?j1;*zC^&du(-#}IDkj{iQ}!wf=zBR-lb~KrbJ)=BX7Ro_X}X$+<67` zWn6}DuJTwIPp8O}57LD@1n8*o8LtCIf1$sGqcz8N*56_jvcMIW+4Y8zKQ*KPU+5@ z2|pi9k&k6orsVQWjB}#vnv{< z32H(c;^woeA>QA(!f<;1@!C*~x4A7V{j5mX6oq^ilk_wV;7n2njgl{)-|^};P?xN- z1>`Vt%&dqpArF*hER0F&5LD8a?u6O4g5GT2Gu}ss29p074qZ*5)(q*9o@p3qJ?A;b zJmy!1N5b=7B0t4Eop#w@*m^!pr>}1+Pv9oQe7PBB{Y{AZFjM#{bn=U&F^{L=$xl+} zBeGSdiji8xyv4hizw!`7{F%8-sPCs_=Xd+H{G5=`uUP-SlKCsY{P>AC_e%HHq~4g{ zo3G86eFvGItV?)x*<;0El6c$yd?kAkQZ5UN ztxmIsV%E|+gL!aLLj|q|_HW#qw!fYrP;_kgoTf002dxGS^{U50XeGf6H_g)64#FxC z#6v`Nxhwk!Lu43E)5EX68$mCpW8b!n-KK6uD;HQK={Je`U`fJMqLmR*&dla;+ zkUN9^vxHE{1(rJ~-?Qp*WqjQ5oPV8~jt_Xa=2(|P^k#O(V8E!G8HV;iky&VgrN>c| zQcYSyt8DK2*I{9HnZ^Ai2nUY?Kk%}Gu>&t}Hk~`&4nBE?qCK;STteC08R-FP$uKoY z%}cSalD5`^zFXRuWyDK+V2dwsDoB|zmPYP8l5r)sB(jA&aGPwbNA@_%^Jj(9~i&_o7ejc$JmmOK6su5!Zxsm5Tqld*ZXukQR z4qtG2M9yvpR8&fhUwsxXNYDE%6ss^fl%>PN-N+Uj~2K}HTMl}Q3LazsruLSPUW3imIw_-c4I9&Jp$emaC96Kd< zlmg`R%HAU&3&@9WE_sa3)YxG+TCX2}lv@3Pk%IkICFwJU&0~f)*d)nHD%i_&Z3~o= zls9GJ9YZU~DfSMxupB3bMwNUam8+B@AA!b^kjAOl+dP${BeRjhSp&|N4-wQr$c{VC zQCZEIWa9kBLDMp~W!KslRr18ipE#0j|77Pjrgk)Af9K8b)(%IPOfXo_g;^JE-BnpJ zJgxsS-#GQQM5-sPl%H_kT@RnJ(@M+vP1sa^@rd%aMfKI=2i1za)l+i6z{Q^kc)zLd z&Qz*_Rw6>zO2tLpC|PkeE_qE~*Sy7ei@n1+r8o^dbl=KR*36##&HiIZNw2JO_#>%> z7fVuMYIAydxtEBU5}(CukVUw`n;K%arj-$f&s2biJ%=y3TkJ|9p!!oc(g@1wF~#z- zB6L8#sWS4{8-RuxH53Duz8*pRsikS2QDyiGJj~e*VLY?V{OoTGBW?9izccNW{19}E zmmOxUL+gG*64mV;X=szlaw?oM`j*%vru|b%Ho_94GvWmC)bpI3lv!I5O^%txr63-x z5}+ZFiA5&}O+bAhV~cT6H|BF*1D(_f>iG{=4daCFc)NPJCIFp;9)N%nW&AL$*p43$ z=9aRQf5te?Sv1>)b2JY5ve`z<0$ZU3`O2la8zJb+fQSUMc%*pO>%pRq2j2von)?ku ze$0eT`%Q+9vexq+9&QSoG$de67lOz5i_Qd2oXTgWxt1)$D&JI^I?Hm?&_YHF7nQNw zUb?6UDze>n7s*pjObz2TR{FeuDWM=aBr{l2pd^cdu#e0bvGAPR1Q~zAZ%s9_vR7H+ zQY=c?JxY%0dF5)Fh}s_`JXh1BHGPzJI&@4)ofWCU8vfe=lzo11bs!LBk@I_F5rWyR-UbwMQgxd90DT000i ziraBQP(qeSiy0nOxZ{s6Px}C#l_Z=xztTCY@rPeVs_K>{FIRSaj2%iM_#TMs(TwQ* z5P|sE5RZ1Bkv(DW1_YWrN+j{>#~nE0oV=}C23?x24~J2~?n+dmyF-qbb9_ftsw=fDb$`JO?K|DB{Ql`((3*Eyhx(gvd-IA& zFj(xgP5mY~jIElR;9WU5nr_U#FyH{?;0X6^0IOp}zqVmSI0iBlGm@ZV+UHIYn!BWx z0=$Z7T`v`%*xijA5tA!mtA(ifl1$FEOLqW2OU8KSEe%4x_o0DOXGNbRsWNfuDej5`dKkwp<_jZ$OoPPx-+ z71goG6R4e)E{onivMxgIjE6@?q&nqa5Tw~y9wO|Y>D}Yx!f651q&MGDQU7J+R_U+N zuh!pRwT$N9|6DK*HJ{XR;eDRmj!==IA-No9#9=&^@#2hzuXtuHDkXrAKQGEVI-Q3B z(}lQX&>iHi0p(U-wGedu7U{QFWsNJvSNUKzTiV?r;-HI9*aeVr^uMQt$3vwTP`Dk$ z)&K4mmFH2s6WomAFpVT7@R0*3=kg-ISv}r>Qj#p1PZL$Z4qcbQ;Ts4?% zB9WkA8eNMWe&76qq#cJA0xYyA>n-|f50mJbv#b!-vdDZ*t6YHrRez;twfGNo9HyU2t0 zVv{gLh_W~VFU8ZUW_hCbBqtfaXL2e+tN!7Z9|6BPl!4HL=?(g4G9i?jOmKRT zs)zx3Iv*deHv^twffBXg1z>&n;qV)f_+UZG77!D0Fxq95OzedCX7MSCGESo#kdp27 zR3xD9IXP{-3{(E4b+|f>Qr=+DF!rf^I1P6%jwvW`lOI>vWH~?s$1|bwEkE>wkGD_< zR!uhtQJVM>`Em}tlZ3R+gZ%TJO@v(%e=BSfEHd)d5?W~<{tv2F0gr>wn))iLC#ow? zb7ppltu)G%#x|QlXN6I%=bNZ`ezxP*C6oc|LEQ*?x=>)@DRq&wHpFNek!o- z*%TuwnA$`Gq_1Pn&8J_Icoje;jGv)FgM3=ly)c;Nm3$TyzK!i^23^?4kDE6Go$;1*^B zViZqXR+;PAuFZ78`Ay80CbXE+Wl-D41`s2zQ>t+_2+_wT|6lDhu@-jHzMNFI%?{pj zXGx|g8cf+b{kPs7b}fd+W^nuep50{xi0E~LSyGJFtfV%)Db$jIlZ0?r*>AiG3RqWz zpk%cg`Tb2>9751hC3y;$lPV+7z6Bl^H|H_OxMtoF4oaOs*iBQ`OZC8y%u0@eyZ-c^ zR*)X5r!Crj^uitHw!&-7|2YMmgnS&`2#-S-^j05|o*LMEDpUa;AB|iA<_JE5udFJKxexHdAFw;APLKO$@lZjT zzkGNDcbG79b^j_L>>)~>#Ew%Y(7!W>_KT=I373zC4Z#_31X%_NuajggyiO|{LD9jm z6(S!i4%8*ze!o?`0uy&#bsspqx8H>4?zN_B5yHr_vI z`J6Q@mfzv9vry%F%97o`S-9K|AIbKxYg57og0{x0#}{aN3&i*1dZ+`_DaM{-nA{Ct z8#9ttPf`dR>I2p^!qs#QV&rD=7UV?%zBqqQm9u_Pu56f4WCgGDLXso51or~xHR)ov z(%1plG7Ao@#-?F$t-%*VWoxG8<22S>S=~iq<|_t^{Ahjk$!J2-rwd+VMe}%kH#jHj z(uG0)yLfD&Oe+jvyqKnBy}LMc;dr%&?pJ>BJ>536+1ofwi8O-uv{ynn3E1PNV}z9Z zeFPz2Ll)sH)ue5zMN`ZzPJ}eyZ4f%~9CD9WRs-Y9#X%uRW1W*u07u@bl(vJAKZe&c z4fWKcq%V!WE0295_X1eX{kfRh1WFEcU4n5>6n*6sjvqkywg2oaeFVOLU=QC;N69`X zQfOM^1UD5k=f>;$|SBpCpB#`mx}2kYtVJEQcMG z6$*Bc*&A6A;PjI%R`j-oH$XJh5WWC~qMhp*0gwk1v!QE}$4)}EUKeS$R;>sSOt1BL z$?U}eZZAD0O(xd#?AubHmDF=}xqN8LTz@gAL#tb+NS|5C)6>(e!{?;40>+Z(DNQ<< z^tI?Q>BRjGc!$FUA}P>?sA+&;$+p8c!?{YoGqBV6;&k=D@8_vD8PZ>CRsJta5T6YVDzFSkkMEF-l?fLAuJoWA;>AOG87OW)x@g=a2|esR3Q zjymF-&bX%k_NP2l`0Cj7R!$^PyIE~>%Su7;YMU&l5502IRKe}JB-v75h&3`w+)o3c zi&H(}an8d;r7An|Z%#%Vv52@_W#rm3c%-!;cI{Y--dU!v3kNuJl z_v8!h8xHO+99?in+9;~10L5~%skOQ?jT)(A!+8Mwe2Qf+7m=J{-x2QvJ0f&;87lHo zLd@ltExUY+`erk=H}_uJ12C$Xnw~gYan_0^Z4mIR<9D)6@?bHpD&n;vstaUL0`2SU zXpCZh<=LNYMjdj-MCJyy@FE7 z^J*Jeaoiy(UA!z>)kf{XU;i^S3w=@M!0kE^&S4Ntr+8n2J_d0tWFLXTwpFwq+g;u+ z&>Eti=+E6I!afQ7m9NLZUCm`%DqKw_H(W60yz( z2k*zhzqt)w(^9)zyCnwiz~vSPU>NdHWvY@*K$p2XGrWo{Wo-CJDr`9DmEH8@&(ZJm z1ux-T=w)$|TT3L9T<;(!8>miVlgt~y;e`Yqqm=8d)xKRw&rTYik z$oXzF61w#HNjuggX{8NQ_$$2na4y7Xd;@qEg$VWo-aS5 z9grxu`lxyF{DMp4w?`uAk>EcD&-Nd$H944;iU+U+=#QX^(9*5Upv0%T~aDV@VsA_2Q%R+AP={D$&}lcLwDe}7gvImxhKNTMw<}J zAE)N5=cujTTn-yt7_XTo;djS=fqh=75^?djW8c&CrG*D3?D>RP2sbI$#4M#@ZC`48 zPd+1zksI4J*s%PSu8H1*sRqO_n7Xg&Bq#w@(O7-#m{93Cwzg%_s1aGu%I5DPpDb6- z*aGb|g5l|zlQnnk{>?$#{v?704@xIZLv4q5OnKCg%}|PI4aa+^_!01MK}c$~)D*2& zenhiS4wN&^E1=>|Nl6 z1v;WDw^C<|yk6D5XeS!hGB&* z3|e5j^@s+jE8H!4jda{o74oC|gf5FqK(PGxW7hD->d^5@f9kw^LP};U<3Cyc>yT~3 zfQJfbk3USfYa`?( zm5D19WFDtGvVFEzqDOnO z!I-xGJ_Y%Cr)_%|lNA?cq4sfNwR9=2_@PIm!^TH=4OkZ>$^Rf3&AdWFl4gFq){kLi z)PG3hEx$SS=&$T=Uf953CmkO=d`%aa4i&tjv&ZS#hPM7pFB?WnpCl1}CBX9>?6fRU zu8Z{^f|ZcBdozw%m4Tgy{3E+J<@^_QrWtU%ZUb7I$5wZ65RlR3_NbHj_$uFm%YFp= zsonGlp*#Bf)}8{Ef91Y6y8n)UR0xxYA5&@?o)JJxvs;|TDfT~&;W&SI$e^23<>DC zt_PlB+6DSIro{y*r{w|96a^!I%-wbNpfrr{1evDn4_~D2nZ0;FUXi*ERiL3;UNt(7 zLqgVG#J8fE7^Q%Ov=BtX@#{R?C21_gIaruM%z>#f}A+o+xU# z)uaTNchppxbFk$m zVt4^4<#efXl#+$i51oUhEgj6>#P&cl5n^@IRv@$l9lpM~RLGysl*TiK@*~brM!ive z@f_5k>7@tpR{>c#oXtFgr!NwZe^bD31xOKvUWV^UsnMxL?D1*#KUoQwD1o>1;!%;w zIX0?Y1P2L_#T)`WORF&~Wp}6`o{fXfZ~`37gUSDh-6u-{W>t*4@8lH(9I#sqT~?d4>a4St0~)Ejo^#hkoAz6UxGxpSVr;f@ci zEE?#Oz!yrDHf>N3&#bH~$-^1w(kHruAb~zL6(-IdyO8w?bs2xM#yn~j&zJ{y>KjDj za&=-c+&;hDzeTv60&!t27A;m}`uSB^0{a1Vdu6oIY_1aZ;e)ec^E_ zE_PU}C>UwY{^t@D2y!rkL00R~Z4BvAxDGZ};Tt)2t`M&U3H2C?T*cT^Q+jE^MqqT( zrx?av4^wEOm=+w8mjgzyaocfQr0Pv>=`C)`t22DNSbXT$vp2V8mq>)rBFk9Y53UjF zNQv#Zn+wUnh&=pS0r-ABt{%zBQ3V_D&KbrQzwEIK$S&QiNH$XvI&T$ZBsy@QTFly;ZUW$oP^RB8#|>Iu&J@eJ$}E{e z>Fb&|HH4}-^d2}4mvt5}Zd{ou1y(7IQV^!RD5%J;Z1wp^f+A`z=o`C^wSD}GUFy43 ztEZz-VBYS5sa3iLjgzI_ZW;Aa8`gs~oYL2T%F%R)Cxr^y_LvA*LBem+7+RS%5Tb*U z%{ehawMvF_0#U}yIk<$IJ3qd9x;hB{0|)+wisY>_*|gz!>z303(MTG69_+vjj2%c7 z_-rM$qk#+u{)}@?SS7_SjWGnf&d{+UUM(t1x~r1J43=SzpKP+jH3()C#;XcUuDfCs zSa=%^J*(*TbYiQF@L9N_Q#<)F0+M>I{I>89*3`j@t|3(7@p?LY6iJ8;?~|A5K#o)a z+(2;?nymetmjIb)^> zjxvWj8$fjg97bx1p2O&gk<-8 zzEH(+eVJast{+Z!?i_#nB+YAF!VLbGovKgQvEux`aD*Q2ji0USr)Pub(~feqzvqwR z?Ts^1Z#1M+Lr-Cp2+Lv*+MxRdtyw5L%7^O-G{;~^2b!&wx;^1$nyF~kt6+mI`!mc|jNB7(ui>LeA8vv&@$^$& z1>HZ>R5d}#b3DmAC7%S<8$=|4BM^VA{sL#}jtZlr8ZE+mCSc~Tb4-qK`~YYYA_ikBSMqvhMuEKL39%^SjRQ^KmM7Prx)lz3i-y>d|lKV`(5Jz1gn8%Pj)}2RE%1Vu#Yl7W*e5C) z>(V0`dqyYQ=o}xmwZxAY!1k7jByDym~Qp01zrNi z-4(VcV8{+yKKe;o=4;SAxNgz5IL{o~E~o#_L&s)G?XedCJ2`cSBDKt_HBB+yll#RX zF|(L+%=#w7JiBU9BjJ2mBE)yv;2`&@0hqvR?7Y!Gh3_4qhT79F)C0`NS_som<2i9P zkgXZ^<2L2~Cr-fI58$dHP}-1+9XrfcIyVx{Hw67CfWm+ChMIl{ktfBlgV z|6$gAn`SR?CFF4H8Bg|Qe}q42cXhvg=g;Y213w50w3N+>?I(PRWeCGvUiHQ5!~ceL zNY-DNYdW+}#AUn+_iy9Fc335&rQvXe1;L;-x&;jkJC9gT(dI>3e@o7bdPQ zf}B}5-_G%k3+MbpM~cdH+G}&sAgRKEQcv!dOiF1M=|SR#Lbv+q5K52%1YoL2z1O2^-)DY5xzhTe2BVYF(A#vQ& z%7lgmRsdH|1B07vmtDroKyKn+x}A9uKZDahfJ?HT)ER5!kya}=uigwLM9+t}&)ww! zf^xG4`p)~80@lITcUlt@yjc*Ltr;WYmgvXu(GCXqE%85yfte+XmPWTO>7?!tK(e zcNHw8Y)E=Ejge7{quN`D^h;z^4$v%fzHOWrw;Da(RA1fdM^^9;2zq zx+>7Zv{D1%{0+P*UTzc@pZ3-?o`1sD=WW`fGe7+n67c`gapOny`rLb7^DEgo+Rqle zdA{hdF#Cr1!pEUEWtnq|#vYo6=xNSnMi^r|KJEYxM}3O;hdL0O?rl$&cYub?=qx|A zw&#-&ZGn5_poGiiPfL-*zH*5fT2~feOE7anOOSG@c=Q_su?yIE9RW@hEem3%zG#c? z416B)uJt~}?MEkJMzw#Py!3>e#dCQGsBuLypgGp(R;|-?B(SE5mTw+cu6Rny6KdgW zt*Ch{kb~CP`8jruksB4*wrU6M0h~dy#-+r+-gAJC0aNB0CRkY;Y6D+g+m+}w$_5ce z`5O!<<4ob5I(VuA5y1kgZ-yp_e)A^)O&>`>$U^Ll`cB?UN$m=J?g@M z|4#3LHo=VrT38OvCjS5G&+m4hsOPTSK5~5R)sEK`M0D4_SbG?{xqZCOKKdg<%~Ccc zRte#<$s{o%Yh3YOxPel(D*?qk_(Rr-5t<_Gn8oQU8PUB25$@a1j4aH5MVl+tnZp|K z_vSGQi{*GpHBrMVWoRzzmVa?{;Ei_R9dM1DszUdod4T#wdr5evp*{t>L}*B(Nkl7V=B{uKey#bFomI2V$3u5Ll22`mE-GG z>oEd^b#g-2<^l|opl1&Y=V*|}bFE=Sn?f(-M)(G0K!1-I=;T1BFK-?V;3SHQ&RXH$ zcKe#MFl0N}7}!6I4{S=zoSqOOVuEgfcVbN(&By$^emz3_5o(PH2_jZ+L=dXgrlKiS z3R1V^LIR+W6QuA^t8p9jBZOMI-~rHbi>`y`N88*)&yk)8!_fB$E|HCBsvG|$PJCOm zsSHf31F}^8B%6*(iqHyjuMBaJ7fGqkk`kzB{VIY@mYn8Mi#m*%N_4RPZ>YhW9`J>!qEuPQJ7+u2!-Q$oGQRobdslFkKk-XmO+l;GcD0NhW2SP zO*=?~KcurP*fnUb3C`eji;lG+OHAb-ou#8J#BjLF)3hb@Q4O{L*@UExxgidH&9D?MIFNjUi+er3S+@;+Xs6tUYT z@dRRds~X&SYl!bSl8SrqSlNCDf8W6IHK*aR*~wonyk<8O9pka1zVcGj2bW;V5B}S- zO*v*8G+2NF@XEDem1I&xpvAU}CJ&0wVy=T4*@pWAE7*Z6|I8IH?(HM?7kEPQ;75|9 zR=o{xPrI16pjrpf9bK362vi>fJ*M_WN3fr_;cduC5k?X%4N$@7qc>ak|H-cu1nNOH zJ^T_pz^B!wSKx`dI#^KY$HamiHv&|#5yEyCmk|b-;%zROoMraOoMB+jNLy=izgYbj zSBtN^nDx0rnOi}}rBLIO$sZ26Z~gb?PQ+L0WU22CT7}B)@&DEAF1`9D=M#nbY%+3i zs|{#M4Z`Q~K5wNrq^aNE7P75fqS|yTl(`!4F}S8cgPtzF0%dKDer{zA@Q6$YJYCe0 z++ZXt0UEf?$voq zf6&{w*xvE<*pFF8^}^C3W8e?$R<>zf5V^38rU8$XRRs#z?cH* zQa8X#iFCW3mXN6THRPHTFo!pXU!>7bt*cC{ijDp%J_+>fT6zl5*xYqJkiS|-vP>rm zel4Km!Rgz9roJPL&kne1sg_Q2`r9|~OlUH`2l19z)vi0|UaCDMAINn!h)OrzP@J8q z2BA6iSkeBKyoT~wk?~JlpiaEFBXSKoXXb~PLTA#a^;w(15%=Stp~E*X#`~U!_8ll| zWAw9^$AN4{uv)bjig_3CV{m?fI$SRPhjZ+<{lm_n#ZnG7D)%9Fb8F&X&Yc^`xHDMo zGA?4&(7Vz?52*wdvclSNn2X#|WAg3*J7Lm)Dt$UXr4v<>JD|X$&QYy9 z^^W3vKy7=DO}z+q+n1f-S5dEkAC?cfSZ1g&oB|aV zh6OB_89MzrII3{sF9cn_@Uydj=_;_tl^Ctb>ck+G+~ztoM0Q5Cmf0nJmI=wA$MRXb zvJkG?O^;cJCFqkc*~}93vV7sjp1;ky)-^=6ro(CyAE0YQd#$@18wTV)ie$-k%UX93 zI@OV|O$|y!2*b4&KjF=b??G13G;af~?!^ImwM)cu-i7N;)16o^-H-JZEDoDIwvezA zA+Zes1E>IYDI6t+(|V_g5Um8=w#(sLAl-3*e|*QIi$HS=TyKd-H1}jH#MkTi`YyJq z1pVi#!l+jc|dto6?-(04|AZJx5p%tCf9TS@$MRrX0KcH=Ez3PW{UIa{y zLXKkQQtu@kp$=t0%{cSsF{{1lt3e%6qRgL-gi;|?lKCkI;?zl;;PLfTPN zWH3@6?y2fjM!xVYtGZ?#DD!%d0)?@nXbm-uIN>vQGc=R9keEo`^a~|lchz4C?LX{K znptTID>lk_*z*N;op7^#S-t>=ZD}1+C>On;vb6bbE&z+PTHCe)%b*5+pMMh(8)rUy zIANXZjMn_?mu-b+8DqjQ#+W5mDTvqLb|7f?k5k@C{wKy9g&&XMn)o0 zeh}{teeHXEI|Ex3dULNUPTEOnt`EM;EN0sPYc$QiKm8Q3X#Uvt0yPmo9)2J*+k7q0 zL>95GPHmtZsP6@sYx3bR=^g(&W0>^W!w=0HOEcB8SqStvR*zSFAoD6y-(Mc1S}die zU2f49!{)MGr$AM~qjP#xRkZab!W4q8l^)jmxzBE#<*zW2S` z-z9*@T|ZfXl|J1yysXS@eMS^GXpU*5!pn=11o9n4*7;EgcvW1KZyMFeh7||L%kxhiUWcSvt zNT5D-&!iPP%Vlc@=W#%_B|K6#HT*UviPSGi)B!igxuM0N!mSr?;dXMy3)Ou#X?7m;!)cz)hJlQXd#zCi44L>? zPwWhX8<0(lcd;M^O&hNiIa*^Q5J(wpMz|auLszR{qL}#gGcO|L_|jqHWBbUYkYEcZKh2v}U~ z6BrrdTQ@$=F>X3$#SgGE?<9i1PHbS>2gyUFh;7f9424~S=R`sdp9e;V!1~Q>Yw2!K zt8@YeE(ewDz&+Aw@DuI>nN9Ju*0M6U+_r0!K~ABh{#N$7xQkkQ-b;vXorN#h1LSAZ z&>}y#*JL0`$J)Zd=%~3?3w#&$eBF`Y5s|?VHm1#Ibyz>g%GE5*9naRs-BR-@LTKe; zCvd8Vt3M~aMZYtuM(6diO81t2&w&P^%criZl$uP)7~mtWOFr2;G`e*^E-U6AD6Q}? zYPz!>PD+PYs9N6bGK=9*6bSPLludRyQ;(grx9+&4 zzK>YEPS~MM!m(-bO>xiUE>vYOlHP!J=5e;8ZKhEKxuFZ9as&vrpD00=6&^Vd2t=2C zQ?#ydhbQAlIIP(>G1_mS;I9FJtNY744-^Sj+me^WRNCu;GA)~2fq#YMLW_LpV2%CV zsqxU`S*Led+MfipW#gf1pO>ZAPcD~=W;@{>%hl^QILqKZc(y9XT&vEPx9COG!C6ml zqO`G>5|0_72E24li&a>g$LNtje}{ZEjXdlu4O)EH5}9?j)1l59`eG84rcG>{+iai=o3>r?e?+zd z4UvaSWG*_5D5)$WO1Ewk#h7W~G2z#4n>q4&oI1;A_4zoq#Tcag_Zo+G6N4Z3?r>!~$5U=cec7`TstqZ~D6c_6B zn3{Lw-Ea^8<`-c6=|M%G4MH=)cKhK>!VAl57aqp-mr+@mR9hK0-~R2x)!FBEW1u&` zUw28J6(TH?-bu#Vu@80idp<>`xG!8!xOk$%+NVt<3`f0Q` zEDdVlfpBcV6G3O)&{=P;#oOf>2!VNb#70w5;7=@&?+U%*cTQ-{$j-g+)h1 z*L(m2`gF;f=Spsl^fv!GMCFHhZ*tvP?AUXT+4h`*R1@#I$az^)w2XFXMUh?bPC=kftN8YJWRiL42J7_9u8>=L3S9Dm)O5xY0jr(29T+K(aP z;K(_yjX|Yer@Mr?dpzUPUT3lai=&vLz17Ln$zKZF$JHSC(DhHNqxt=;rCwGEXsI$ZfkYgW0%G8Oou#plL~=9!*DSW@XwI zg(*kj8KO^<*!aI_VxlTrZBYY;+4wuK5gKE>YaYVyNW?LF8f>_8*>~4?L+^J!rYjHG zEvw#m!<`oNlC=DH&?mTSejFAwhF)p)L@0-oQjYVm{+2y&@(hX2p9)=Oe+3An$59}b z4!ZV-AvNj*aT3`2&h2qvy97+zYnq4dbv>4=9790&c z&$Oz)1_vXj;ic$IDVg@n3AjSZDX8aKT|%m$>}LGDiGrMvL@)JRb z^e3)NooA{ebPZkHr~s3Af=+CLpsdO}*1l|S7dJcl-MCU15K-I2RazO`$U!m zk=^P(ZsM6a_109mM=a#eM1Fg;t;a>S15CG|YmhC17h#JRS)-aS zi6uU7A*T778$kN3uN%B0@p9eYjtD?@BWf+)#6AMjery_qV(Gy1CqL=I#rEKE%}$24 zNN0R|v_BO$Nn{)Vqy<50Q)(A#zZz9?nrh8j>I*rfAW<2! zxdxu5_ZrDXsCi6AdYVu?=0+Z$qHTY@SG&6Ginr6Qwy(nNHZ|x9>upmVZe!hi;@>^jF_Ix_n0pCY^4P zE}ajoobU$u3VMA+(fYiHR4h{j%5_h-2|&=FY|aCIvqXY*cHntHgG=@6`KlUCD10|l zi=9O^OEczvWWTS#B@Ju{*Gq&S-ybNi7W~5&5=@V-XByTT{pILC2bQ=y7}nY?CSR`O z0r?*}s3l2act3zRC=6$-08cpcsfMu()z!_&Uc5Q$+FgR^@Osw2D_881{t`}HeE1KP z)%X-$vIOP$GLe8wzmdrItmD;mV#17Vt@RhUkPzQ#WT>+=^Kx}nkt=2){gVZs0-qfp z^gPx1_Lo2K9~Ih(; zz_z{kjS(m4izTc(-G2>y*u}GvN`RhKv-SWje{Nij6CC=w^57m?{T>F3sq`~^vH&mM zQE|>Tk(gKkvKLtIbUc`pXh+=GOWgaEl{7&Gz7E@h@+^sjqB)0>?9$xXnGQmaoW+n2T7eL zc<$3@vpGK&F*v!40dtY*h5oo&1~`A{sXaObD_RzHYNv$cL+iQ2H?OZIqa6cF3XY;r z0xa4amhx+tu8%x6L`TVEqzv&$tO({KWwZcCheNP3MD?Lj){GVq1M%u0r7(f`=HBtw zqrXlQjPq~jrx<`7~28rLV_H6%E^(e#dkMasj8=wqw4 zwj7uy-b#+#rv)OAxxXO=lH%&lG2E|i!P-30B5%JKYl!Vi5$yi5BBxf1aen zLjyKpJ{L>o7v1Wmq|QYzs0#dm4=`-s0qDnBXuYVoL-i~=EA18qQ^#s#cf5AEAP-Q5 zDj6@h3-e@<_umQTttsAGi0WqN%MZxA3Xv|z`hoK8rYIK|c|myflWyg(IbE* z9~oFwIKn2Jvc3Ap))i0kKFr=}yJP4l!AlByAGir*u5z5BeMFM49>3wstnckwuC}&w z)-VDZEYwH@w#lE*WFD6B}_!GH(z2|`&Ds}6OH zH*MW|fN1R<2_+j<59KI4NxC`INxINJ?-xHdV*+BVjd|mt`BJ^jxKT)BK~O>% z!q}uLR9sfNCg=W$l1&;CN9MOPQXfxCGTLt9_Ha^tMLWPtR;%1R% zP7lH+yf#c>kdKBRwxd^J#>>hsAMU&WKOE9di{61}@ak_I9%MY6E%fm1n~uU;2L|U6 z4R^jZIN5Xefq&e?N+Xf=x!lhMIyUUidW2x*tH_7biQIySd05AYL7SqO#l?MM8!e9z z?yxg-^iVXFTfc9CNUYfcmHoKV812bfL=(yjW+*pFR2f62+BPwf#;qr)|Mg#k3k50Q$KCa%o3oHS;+F_wmkA!v zt`tMH$$jIsQW^;2-{`Ad%X&(oZ;tfyswk%7hN_nfm@Cfct&j7u-qDWx`q6?bPpAD% zm9I2-^bL+4UwqHMQ@EPlP7gUaWCE6;$^`5k+#fwZMLofe#{tbYed0XeX7XTdW10AB zt|n(WT~&dc-FER}^g(P%*7_krWJT%zN&4Q*fr0V#Y%2T)8WDRVLl3a~p2rJW)=r=j zrJ$}0H1K&vkX1>#YgpsEqkU0i@JF894bg{MIVs7%1I}TuT?W zmR*sm^4W{1HIM2mVUDZzS+fkKYh}FQ1>oTm(y&rV`wr7`DAY%+AL!;<`FJ90yX( z=J&G#CSI(gloYp$cpmnp1$XxRoSEICe`IjO2+odDN3^*S4_;pX?S#g7i}nq5@=tBW z6vXB=peFnsKe4&Jo`ct2P;7+`a!Wz!_+4stI+s5j3#$t+sa^U~Lui%cTyD({(lVi(blqMrn=j z6np#X2_82+BMu4{{>as2f`X<&+89cqD^@A}8CsON8O>*+}!YXr^De0V-f^AuGKCX%TszTf_T!%mh!bxx{}l9merE}&L{|lJ1tCKdMcz1$_M*Aq$c~TW&F(=GO(LjQDX0W4Zyjd z^KPoS<|w=TB(w(08Ap%$g3hcg-MLY|5>{WO?y4{O=$RJd`6=KADEV9fkRn#9%n)t1 zLM>*c*k#~DfX{ITC<|j0P8sX;LU+Yw@nuOh8|oC(Zfyt}M+Ybu9}i?~t$n)~H@{xt zZ9j@ac<m@hEqS^Zi{Q202=T9PwuG8Yt7M^iD!L8vk60Wxp;4q)$os+kXQa*_Hv|bfB+s?Ke1+yas!ZQSXE~hlV8lH z$?e*P>r?TZZL7zID`#f+Sb=Y;Vesc|&xx<^e)R5Dr|0Aa1qz|;iN*}=1VeIfQYedM zg8DFsB-3P8PDI;WkT#de9*QR2yqe?l;ToR+WZ)O9RQ z*(kXhQ#%#PK$|iDtKXkNMtmwqDClc)o8VeQY97&RObRJc$~NsYF}csu3&#hUVjU&t zg*U@wgZ&$KJpeKBam|qLwqD{)I0P{w&L(s<`@OV4+87wyF%44!o96O=0T1V9E|G9h zfsugL*#-!`k<_5Pd6v-G1QabokEL5T<`N6((^|`peIVXEkM&bBGUiPL1tx#9ijGYz zkFo@^+RBsjr%PQGdzl^DM9fv5QHgfZR-@jZtOI@mO^$HFe42zvX& z!|UTMtf2SlIP>cf+Jc*J45wssF9)edPEYbIg*y(N``?Uxmw__V(L%r#LT$#1WU=Qgu1z}$PoYwkvsg5(C@=FpP=hAApXw(@FA$*y zgqC{M4@hU$^^OqTpY-ohUGcA1Wm=?oFyLjNWZr4yZ>tQ1T#Uyt>*a9V;~j9sSh|iy1spPafBH_ zUse5XCt#ozwWMn9dNV%Ezy;8`f7;BxVWR)#U1I@z5Cp%?kCT{Jsb6tILUBKZb@|MG zldFShR{f@9kL(j+@xSEukbYtrQ%qLJ`6<>Vhso}Ik->Y=pOP=O0xhjOy|2$1+#ikC z1!J5&s~N7Nfo8_ccuF)b*)_m`%=*gzxRZ{SAJx~;bNx{;$=CJt;G@hZ44p4%8AdCU zOP&7Zo28#{|2zbq7y_#gEPBv;0@M{8Ovh^`Lph}!#V-rm4}t%uxenBWZge{IDVpU8}VK^EOqlfkhyLP z@BDCdrnx5lqyJodU&(QfO&@$Ie`?KohbcJy?wqL|Z?;sw!(9C0LBEEQXk73MwA6ZM zDt_j>r4x<-YsJDj`j?Bbg9+>qD9!*~T7wgQ0fG{t^01XP&IKyY1r=Z5AEiR<=wzNQ z#6f2h=Wk>o@|*|4>=ZFa*uRUL3{-d!uCNH7r51*$UgS)J%U}7OTPk{*h|ksB08vp# z8eI4^p}!758^l7k_^_jLv3d6DOwKOFTgbjf)1`XsI76K7m5|W*heNlxi(6J7Jj+&iCb2MZZ z|85=tzyfX;ewS8KhkcUlA4OtgCjO=-RO|OA98s;P;c$B}y3Iin6eE^H6_T=cJISJE zJPrIo5@VKg@5ze@3@|K1JG8p`-eIFBk!N_TtUsCs6mQ|$BlVFjn8|OF2b{2y-)#<~ z6-Y9Z8)Dl(5y8NP7xbQnRhzw5I6RpNkYz$d3uw`LH1Y0$jQbWb-y|QAN+sz~^r$76 zjwdXr8$hmc&wss8#~hfBQA^Wvg_030`v%#+5KzkM_nI9@M@(XgkDk+!^-)t(9S;VA z?jWAn@F|ttohCh6U^)}?`cinl#WmCeHeG+OPF6a{0sC0|qs;VHCjw)#eZsus#`@cJ zq1_l5LB>TSx|=zX#WtkhF)w`WP1ya3r)Bu|BIWip?olJ#l6g?Fw5HaB)A84>Sq3#K z>7qR)bHP%Gdu-wD@$Wcym9Vl79N`dj>&-W`Vm!5YQa)MJM0q?P?v4KwbrkXSnGg@Z z`96&w4~pk6!*hw=i2uX0o*EAZBKrp651z>_gbAy7Ps?%K$ryXG_%1$tQP7Yu>L;)zEWx(wYb&;h)+VTLrHV~OE` zv#|M&_rVdnFQU>szH8VByc`^{gx9#^tF{e7U~P8K8PG-QO;n& zB~5U3Y78ZF1z?j+nECRy+L90I-tMmf;GsE!$bir|e<#s9dgxH}27DRLpJqV4@3VPQ zb#?(GCyndD#1`Z2Bv_y%YbkR4hC-Cg*{>C9@{&gbmdFvMeUcqpT9SzT2o!U9`?Px{ znD~Y+q?3-c>CnguNq8A$iFqW%isZGONO=}KB=u(A=;%WWks}O&X3;O|$To zI>r(8yXmK({x+uH<~hT$YOWbR?s2wwGnq3l^Sz6Z9MeMw*qk{3|DQzlAkVGg`ST3D z%)J>1>JY{X*;Ywq2)3MDN9Aqq0xEYyShDqe9O*f4<+oP;^QaTV(1}=%;QcK-q(YOq!tF1yP;MOon(F!P=yn$N!*vdziR7jc`vV>nHpUK6b zQ7JTyP^|JrZf90~NcLcygjyoCe5jizvYPRR$$|+cvShZm#|zX3Y3@*@MpXbK6h?Oz z>djT%$=CAhyuq)L?V2tlN*2miy**ta-3b zchrJcvyG?;2Ye{m?_BfYi#VJ8Ckr3}#{_fMV)kJj$%rMp9RTjs`)6 zJT^$x0Bc$(UGM`B06q+1gsEg(JQ@ns)#X%UBadiq2-hwVVB52$z%s#@4hnv=wS}9&6God-5{&JENemRT>L6f=gHQJ z&jCqvKCc%Twl6M&uag-0OWlCurSAz1o3N2n%rN}WxdQ^<{S3`ESu;vDDpt4X6>=Od z(~6)@rX7mUU=w|oD-}a~<51zjiqf~04DJ`ZLurtXZ8i}?X)G}Q7^Y~(umqi*Bezuc+KclCXOm3I2eKvkBe;xzK?lW0t1$$}EK0UAZC#(-1+f5zHQ z)>GGvg#V^lAa5PLv3&;q}tMDz7r zyvc@wZQ zGKV2xs(OuYC0VgQa0B3I5C9=TGM*0;8CM1+C?LwL!^c$j+sZ{GL{2nqBD61lSs`~*d};*yl1LObqrLfHrBJeu7JsXdU`td<=Tfov@r*0@Wl z8-xPMJT~YTa@hT0Y2d3S;sehbrJ7}ce3Y+x5OUt;f7aTk=YOWb-`SOxSZYdJ)lXjV(!Bo;)_In9GUs8 zDEFWnyJ)E@ZQc&~XIN0>P~1&91NvL{pQL{)lJuEHNWNk#8MoJP!tDV@*JfEVk{LR< z9jE3kVD>^hQD4Y%<_`IowltTF_aQ$DMb1-B0l82n_w8%L;{2LfxVg_9@{5Qsk$1{I z^3&{3e@Z?j4`42%y-2pi0}&8A&?mP3WzHZ~sSzNXb4YhW6%W{fiJy=@p+M^)!I>&% ze$J2PHz?)zGmvws5q$f_$+v8RlY8IFatF34`CV1F!moq*(uoOAp$`+Dp=kbMbI&Fy zdR|%g8LLMEif(yYQb3L6yvbrg$(GO^*v}jBmrt#pciNY`eusYANVg3qI5LOg$>|)% z@73tgEK%hW8RGIrje#2jXEoXoL_EJ!@qfGjq8z;rrJeVEVcpA{3Z_xNT;N{kX%R{b zU``4Iv#8?_6qUN7V`=nO62{O%xU54%n;LG!Sx(+`rY|1@@%Z5mHL{TgbgXlhpyW}% zs(IJrG;TX`W;NQD1ZU^g#dx?38%ig$4zuK$;HiF<2J~IE=(>*E?FF)OKvRB2VZW}Ueo%V?Fl$yK1))LqBcJd?}1M}utq|zY9dxZ7@}J`FsXsArTk> z(g$TadG5VB4Q+=Pt7IqxCg>T|liN=fd?5|P;}8?%Os!^h9p(i>g03cC5O`h9EO~*4 z0zGsLh~m|m;mA6`Q2gV0^j094d&32inx%_G6z6AFOquy>ze&!56qW1}YOxoJJ@Cuw z-9IA3KTC_bP@qxiN-o$O`;VVwf%6WCks<;dWkNZc)P@bB-bj%!pzRmGhb6kv7i|S> z8Hhp?KR8+dBS?qnkPyQo=$$xDsE}@f2yZ_@K08hv-VU~QkVFGm1{pz!EMrUb} z>yB~wI-gS^kLS@5JIJCX))z^R6a73*M|DmOkU39MH zM*_*CUzt>d<@9H2HuHIaWsqwlzjfJ7J1+%iuyjhq=A?H(f%Ptl!LZI7b^9W+jR@67 z3abkyN6_yZ6QSA29Yu*pM=&>HH$upXpDposzXKPA!rz>ZOU%EKJ!?s)ob2ri&kg8Y4s=)cl1z zV!vD)73Q?J+3qXu%u4+T1am>tK*Ha~zWl6V4w*ZtEXnoytX?`sAMsYR+Dl;Ov+eV! zbd~7AF90iYZK#Qjd5_Cq&Z?9X3(bXnU#40b14O`!(vqvrDzay6E8Svgx439=RouKe zQ+Z(C93u{kqG9@`Oo?2B+vRbT|IXzDi zoXg)D2Oj)7>M3cpVv@_JUJUeS>?d-df_;Fy)=qssVWt8&TB5!;B$YhEI~J&_b+bBQ zc80@}HQL5Xj|RTsD_g-bDt-f!N;lB|>QN(zm^C{ZHVMqL-t7jO*8P`Sbgl2@UtcuC zrGo#R-Ae?9wo1G*PguBUGn3$yG*K#T`{wYrZxt?j;|o&{V`?W}Sx!J~6#*xk817Bo ziEuw$WtJX4uST)dWs(q{v;YZMYFu!YMYu`_(>Bq)Nf{hA7i* zbP!1WZ=}3URwQ#Y|9@rW@B4eHvlo+Nyr$m$mu^ixEL3Ay`6M*zJNlsBA9wRMhHKLY z{QvE552Fc!N+!dw%+V}9S7%|;mHs0A7-3!i9r1rNCm9=6K}Jg?CcJOl@IIxAIQ*RA z+=&T{Q!r-4PR3g$i&ySm!9sd59R&?i8HAT3Ug1gTbCr}-&P_aT+SiDIz+jI~wP`UT zIAv}8_RqVm$f-wC)N=T1@16r2XdaFyPD+cT+)k->YDu9Ie@0+WB!RK^1CqGEl}#ry zx@#!J1qKswrl-49&vRc9UeQhymQolgktUS)f~?gp4BNe-$+M(%?!DADfE0k(+bUq! z?P}FlGIf^n!yM|TSHE|A!rz|K=5?Z|nKfW09gJh*EEvy2cFkt9&Z4@o%K$IS1L76|L- z`2S6BkE;JfaeyOM+P1%Go7J1sro-yhE_%Q2QN<6)$fqs?Z|UbV`sp(NoVz9k2|)%1 ztWO;5I0aNS%Qy-RHqK1{`B<-m7v?+mqXTWi`Z-Z(uCe)i_00dpzV^`MO4Wvm*o&Av zFq6y0RRE3dI5STu)ytNl^q>)7(S9ETWHErkW5%;?-$`#SAQsF!E&q)a8(L@FF`r6`cLWYNl2gA7VYSp4OBQOaqg9 zW56P8q)*~6^cAkx+O~D^QVOytlPg7*4)%0G)vDl0b_>2Cd)yQqy05cofRPs+J?kKe zk(>&%xo2Q|bD?d6hutwh$QU39peyJu7Tdn9Th;ZdRtQoCYI0V8{pV#k+f3LxJ6OwndU>Ut?!sh%vnOZigjf4FQ}H(P zIsn7l4S`$sGk6Jo)KG1;^_Gh>ug7=T3!iB>;9Kt>90x?2k}MFFV^7`00{h8Dk-MBT08d7XJ;em1LF(W{64tmtB=1O>2c(8XdytH=)EJR^`@Y&x+L zpZOC-ZS`kkyi&X{e(u5!UX?z7yAlGrp;qKv@L8344HHuEyg$|wpQiWyVGr}Nsz0-7 z3T0-fZWbFi4N8xCg^j&iFX`ri&@sGv!?`ZG=M$vIOZhNDQu8rSLtP5nF1t0m;Mwr=; zb&>#0I0>X+Mk3yJrlx$1&H+`Ao_0Nk{uiH~zsvdWa{u8S-xvVne7+hC$ed@$egGeo zoLgl`f{M5C#nfqnvb<_Gxb#9y<%##rLr}3ye}_;W^WFmtO2z>|jJP|4 z*qm8=jQ~`>+0Rq0PN3(xvZ@VX@+TO74n{q0XC9n$)@iHMfy(nRfMU-M+yNpvoSW2v zl6f+8ilw1y9YUw>cw_}dFUa3y`THJyj$H-<=KhDP1Z+kAlzSM0hxgTh-{BXiz=0lR z36OaFudf6@hNO^)9NqW?dIJJpP)OX%u2hWV7|J_M!Cn_zM1hm8K>OFX(Dc^?!L)HD zQpNbHvd_^HB0+i&J49=ut1eO6Jd) zw6DVcoaGLfL|COT4^^ej^2$G?@_!Bi$Hri4x~K}&d4jlYR%~#@=d1^08mg4ja%=&r zHMcMPEZGj$kY~BTHNgG{RpWsTRJ^+SctTCku@|^_1XQ=&f&pC@HI(Fqr7C>j5cFIg z*rWA5DXj2xag7#8hR53Lp9#p$2B^`11_k1m{4-P!p`EUl&ou2gm8*&^k8>D>mT6*v z0t-$&Z?IC+_iwKYC`1sP$j&s5hsZiAwL3s$x=^D%L)CTYxUg&hGT4yG0$mu!Gd$Hu z2&fJ_bpS@L)qyxNi271;m~IxceKLRw7^LnxXO9(bmwI4Q<4TLeeHxFefUG>N=&5W} zedA(ScJSm{HVVE<-x(jjwjX_FgJZ%E1|F}5LH|pFNUsvYN=qp>!hml94ndlxkoj|s zZ^y;tj25=OyzmklIvzyKZWR`$kHY2COK3jt zL^?kT2i2vuaNVLyEROd^{Lyi03cXU#-7g7gMA?l@;Wrjc3Q7akzI%yF{M8+m+l&7? zvF88sS)hLC1GS}l>Q23IyH5s};;14~ zqcgK;DMDe`eeO6Fw3K}Fa0)W0!Hp7T#9%ym2>d=spuG|XaWFmxk3`?q@zS0PjNU5c zxCX=wSd=?T47r@PIOAl$06j*4|KTN^7WxN0tq*rn1LXMxbIRYN2sPJNW+7Y&#IvHP zPXGZDn6vwz&G_D-XQ@x0(2yPHNrxi>3RIh5J10X00B_nSRbo+HAKQIpaVL-u==@X~ zllr$A`p_{Xfr+wgY8lb1ZTIDEJ(<1RN`RLXyg_5F!R1SR;%-9-jTdp$AW&_*(-{qG zGQH#WYvS>SCpw<(S~QvZLUMxhyP5|1N8KN7Pke530Tl0BW|3qmUj zp|j&q3cDMfu2tP3`XDOVJ(a^w6im;t*RuPLBlAo9cLCXt% zlbyK;TL4B|ZJSBd+NLe6sHvNR^{&pCL3{chL6g3k3Mf0T1I1;9rJuedRh49XN=*<> zFYZ5u)uMI`qMjk;N7N{F*--F<#dM}>A%`6y*K@r{w0IGmGjkYYz=F7PQCrk zMmD9a7x#`|W7#B5jceUKPpw%Y1|p@7b(Xv_$3A_Hc9YajCKm;<_V23Oh@yxo%I(G4 zz5<3iD5w*n;GL>#rL=nmX9^uQ zkG1lx$%PxQ?3vn|OZJ+R_9jA2{N0`R-|yMo<9tS2^ySGmLizTQx2~wqg}ZqC2d!TQ z4}Ms>qQ!|tv3Yd5dd;61tB^~lEPyg(SrLvAg4zWOx#!*O!?!q6@q7aPpeM2P_Tn1H z@*b^M72TNBju9sWsxR{4P9ueOk)`GsG!*8XAYNSndZBLQ-c9{;@TD*e*n&MGIudtv z>4BSRCqVdHNjn9t=|N+kqn^&2EcNZO(V)ExZrzW3&B85Phq;^|^u_dGYHRel)>B5B z?b9@(hY7CGwqrss|O)w_GM~Wu6tgNlSg%1m!wjsvqo0$I4A`Vy;(e} zTL%LAZ_N4cj&U+%X?!sd(`HVCego>TbBgQ%(OTYw=2(QPT|H`+y!rH6`%cNLb$GlJ zr8LvfpTL5)`%D5n=c!*ph;fif1HSVjRH$_ZVlUvUnC^wrS=$72{$kj{4XNIHiufbK zD1akM7LTn0f%M2DXuNJwKS#;MZ|;6zEC8*qQ#ebt(~tW%3~3jD?B48nqc&?9pTI&31s)KeF%-EzJ zOpG%;{mbd%wRVQ1R$J~u#vMBgPlH>DbO*#O1NbVi)hDW?o9$b@iW%#J2bCC!L>TYA zi+OKe3td_rSktC4e;We-Ck@HO-yuUKmB1rgi=OP^*=HQJJ0bjG`H^2%n8U8zaV!wb zLU|3<*O+YVuC>ho1ASV>FhxDbsqJ1D#mjMLb3`jhf|^sxUHS2gl=S<&T^{He33R_Q znL5%^v@(T%OrSDls(bx}T&^^i72pwHlv~(M$4yqc0!Cd{ims3j(Y-Lix0n{0Vtgx0 z`!sTzR=Eq{37+=v<}L#Uj^R!2$pbCdk^Ura(&6Yq1OM}mHq8N+X(8R5R9tLjFbKnm3X&q=ZPzJWsBRU%Z-Lao_2KK|Qp$cYkMe%fh|*fAL&nF~m1BmSAFv zPM`ZHdlTv!hFRp=+Au!o?uBp>67pi>Pt0u3IgWS9;OuI~+5FFPThvErw->&~)C@hG zZYjLLak1#|A8@BdA#eMq;fI!M@oaqYl6!`;&s?3bGLp|4+p7{KOMj-b=ah%~-^YXm z4JMv>`z0(q@b>H8j#X0ygY(|mIa26kDWvfI>$sA&of`3(56Qlx?`XB-B5a|kiZfUo zBH;*N$S8;ENI3Bc)@Tmjzj1u<=~M+_mCdn4ZV zxMn~kj3qgt@NS)=M z*>EY(65vR&jk~?{P)A}QMB@p0p>Y~#evG;hxfY+DqK;5;WANzkIRyf z02r<{A`9OT-~?TP8g~Mdh8yUDsPPT7DM2E}Aun;KB2H}{kWNNC8k9$t zqZ5|Lw@U123^Ujltu%KEu+t!aOMUM%h=}fx(zd|8Am`$GpWbuv!9O@3Svo1RCz(*# zGyciH7Jsb9ueFY^JkfOc@9#O-tDkkB?rSuuj^`qra`92Pl}1w-m?`_!s-P?S*v44y zUaxm^%r)wVvpGk8i0Z=1^Gkf+ezR?d<=Naf8J^oyGBQTW?fiFZCLUW47I+yy) z9v|RZ!L}Z)8o6bn#rV{o3!_E0@dK$Ef6%GEOY-6MhXDK$?Q7dVC-w(P-$^n>!G}IZv|Nih zy50H|PFNqbT_zIOyQm;}m{8KK9(Po<(TsqqLv z1fo3K&Z=f4hbdY8N>{1rO;~HbL3ttLC9iRbqt;1ZrM58bpfP2unemt(>P`0=UF^d# z=8;6eVOs+zNUN+*i5w$(bl92`X^6vzRbpAz?k=yAL=EIm4?b9rW@|s^MZJ3`Z3S=A zK3<<)EPm^TZwA2?&}&`Qdz*y#%HXoWTHPn}7Et$u7fO96YAC&%oF{e4WCXA9FeopV zlWA=*{)@agpQW8su9s;YksY~YBnKAY*hP+klyq)Le|=x`DH>yebq~V1$4(lL0xK4# zuC9k09barmjNlr*uuH~zE%YsTC$!H=m6g52kalah9R=9KRNviKQpX2Ai5Ctyvt&js z_~*#U{iWMt#y2q@SCX>yKb%&y1rbKieM%ZM|MSr6D zYS)@O$lP43tzMr>yL_LTJ9HkQrVdzRS+Mh6rQVwV02>BBwiXit-#t*9m z7@$~Eu4EZd1$;au;yk>Os0_Ub7Du?P=)pKjWJ|+JWT!E1c_hgK6)Pn#3}#dBZ{&%^ z7heIRMaG6_xP#NSfl)P8pba!dihO-GNp_AY4Dtf1}Xs2z@?V83qcJPYe&26do2HUly0n zn2jGFG146VX77l&mjNefBiX5OFtX2JkgZwU{qO&CFcA6#Yq%sM`e2806Ge^OWwId!X5TgK3a1k^#d?`QQ4o~_$%VP3&cap+ z;x=ykYfn-}fW%hx1NLB=_PPd7f4apMa=6AO}q2f%F+ui00obu;*R( z603o1viF3VR(1XQn37%)B14FXs+#V*8au{_?8ho&O+;1OCnN`~!S9i9D@m6-!Tq(~ zJ(y?C)xTdCngrx6vHN8Pj`Ej{qYY<+b?3X??e9RVYGjRVpAcg)qu(`hygPwv)t?)_ z1g&U=o#Ff(aDIW6xboii>56)1i3B%58ME;EcwS)<=$r~vwU*Imv&hjA#KbkqRqIjE zyUqf+kRfENd4l7MqrDxv$xIt80{XlqjSYDdzC_Iu=@R2h zN)y?!+tgYN8Ivqsd>BRDdR?A_OC>9A&eH`skA_T+vNbEJEj}A4Z)&Y`)t>qdN98Uv zOJs8gZE121fUUZl>m81o2uSqnRSW!k(dz<*j7d!yAto12Fc3uOGf(L+%K!z7J}R}e z@D5^;q>B|M=&L$LJc#1V1ChL(aoN2LP>3Oz&NAHnD5B2E91qO|rczWF8pj>N(`glw zn`!;M&*rawfioWY8OI%K{PK!ug@Z9cv6VuI$6K@nBH;qcVQthMrz?QyIwWC44oCJz zl#LndFsM$zRYPeUFpl4w*E@0XaP_>Z`8~-5Cl3O@V^NAJMZ{@E0S%X)Nv`B>Zs!nL zn2kIW5!hjIU1jw6L@>Ec!y9Y zHJw7e7RK06tVJF2b9uQkzLZ~C=IO1j=;ohdSI?Y~8E&R?|8@Lis8fmvW3%8MG4LG6 z%$kR^5??h#&kfw?{dMDY$+0sda) zX^NtKDDAopFNLhHWuq%TQErP*Ls2C=$F*l`=%*LSwV9$ObUx2ndQfXPHA9szxLAFt z$?yehVZEo@rdJK1TQpE1;%F*Qt!J$^(T^wgd)M*D-K{gWe5*f*OH2qhZ0kDRn80qe zy)a?wVCnq&G;qTqYf>;)`J{Pa;oRzz!lu_RjFk8pPW5D%x4ZjDM2%PiJmB8l&U2Gt zWcF~FJbV$|<+l0jI+37l3lk$^Yu^*siMrjBW17>~i=P=WQWtbKK2M)ujh<>s=U@`7 zvHf>sEQu4}e)%jR$}kw&_v_`OZuc;TjVt?mD(H2QgVgrj)4>^w0ImaXcenIauziDc2ur8LZq~_`{%sU_Jl8$CkYUho0Cx42Pbd#0PjzofvNl zy~(M&L2@PtEM_AtTg0vrN|5lBN2K@@OLqcM1h31ilaXn| z+3oDuvbe8mg3GtjbTfaEfeKBH5MP0~ydHyOS}*|>%iXNt+GoK73=`vKBK+Y;(0k3$ zjx5MmzAPc6L4$f(vC_VeW2-*atEnuEa$nrOQCu2V(+Fl*$XaYrOAw+D-|A_K}zZ#XQ7~3n03aF zG*6(Zc)9)c4%)@eb$XcYdAn*gH$ONW`~nhABs+}cjUv9Uaxd`hX~-XkE#f@{A6n~# zdgIFrm`n!SLJ>q3cmLL#IZ!ARP2XHAfxK&_hza3XP{xtHJo3K~VD&IY{stp*1p zR7nF=yC+Ch>)3aJx)rkAi;RL>hKVD{%;m)ZS%ND<%S!IrTg=ZEQE+8Y zPMeyPHe8P{8Yev>Ou>2?R04UDI2pWDItW-|`_h%XFpJ8$l-5WtQyb_sUyWZSkS=Dk zP^}f}D>ow$17SkIamgLBhzazgG!IGI3m$nj4n_;Ko9-IgEqYh1F$Q^g5kO{l9A#|_ zW}CwvzTFXOoM3Lf#o?JBTlqewp^+0Th>Qn>mFH$Gtkuq&`0Pi+4qP8C*F;Bx>uhx2 zkXXEkl}+KQhJoJe9t@x3T%Qjs;!MNswkISw0bgT^|BkMn(9&1M<&Ko3Zmlk{tn<=4 zw;HmZ8&!ewPnQe^g}kD>9o^j-7+MGSz*5X(M67VCTRZC$GmZh$pFpj@R&6Wef9$Lp z2xekq28xec6s&_+ZQR83Q;<64WT)dL*07VQ-ghi{yBoEz~Tg7kei(;7YIqq#wMp*f4fpjWaSWKZz;0 zRCL5kMl%qs7bRz}6<;dRI7J-*RCn(fne)8BpNI&p9W-6)s=8sCdaX_fXOd%sCk>up4zfr* zALqge??DAIaXPPQFo-8blO;=)T^E6)FH?!#>e4sv_&OVTkE(Wi2HyYFy<#e{^y^ya z)C?K8z~2j)zkYaKqi>!xgRDgFN5%=DWf&?Fr&siNi=3*50$#`VMy2os0t7X$dqB2j{`06I!G{1j5kP5P-qO|iRMffIxP<2$r-D$wqu z=`Bj8VTzyXQW%g%n>&1C7+{zjXG*hjKcpoEi-*H1d>F*4M0g5hvk^WA+?pg{c3SL*z~_REx!zuJI8S`ap!vwh)usYaUa*f2Z~!Gq`8FvjB(%LK3T)B>BOW@KtC=1xyJwVFu69bD`3J0 zI<^IVqf4Byf>S8O#x(W61bv3K%ulb}Pv`e1e#h~O!Kd1LY|AdQjUW{l)Xm;$JZJyj zk@77{M3N>oC9NN&&z=tHfYUfpNPR`W)A*oH0)y@(ezQ$=r}LjyuGG^&u|87Wn|r!j zvRPJSjvVi;C8=rb@4f0iV|PynJ2^Zh%D@)XmsU3Lu9<69H8;C!CLfeulT0l9k|^la z>43&9$0s!>?I}htVv={72)nFFk#7Sfg@v|Q{6uPj*!?Goo}TTSUpK-fQBcio6) z_1zwsK}z&JRJvL@QbdC-I#VX}+BI3;J zZifjvSDycxf4_pU8Y02HKE`&Y7kO;8;%|)9A?p@(YYY~M6pQ~v2Eg=cr;K~ zP;uKEM+vnJwcQT*FGBX9XssRib`Ae_Y~Qnw*iE1TkNi+`SS^w1Cf0|>-T%S<$J7w) z#%_nyFr`MXm$!^0&}n%4j=u+7hBeQd8j~hxg*lTUuDt~zd+JpZSa_>ZS)*%m6jLja zM=S$_Xl8&YL9DE+27yY|lR_tis)}?ZBapj26ZHnUY~mppx~v0!u_%8-R4j6IO$*7X z(rLcfNZYeO?4CoW;GqOMot+`T3guyPWF?P$;TCsGHqNit z0sxAyw~oylD&aC^0T2k>4OvsnrD!O9>8}{0aFrfTne%~5WeZ*abb?6fN)PLJ{kz&8 zV{XONs@@Aa5J8nYA;;1fyO#_0uf6LcHC<=m=I9;~I~xl&)Eco)q1O@G@$TY0Zr^w< zG2ai>#jdrESl@^)Tc+p2cI0YVWW53PhUKt4VQn;bK>)O)`0lL#9-*_K;|HSRhbdyO z!>nE=XBJv8GY%_v_xyJL7;8>G4I%bWFm$Rm!g|Dm-3^363Xgu82JcK6kHM>7Sa&p9 zp?NMy2-@*8}hbY!Md;Kqk+^76P@3UA{=4FUU-Hlhg+( zdi2%phjnXzjYtmeL-MT%*KZeosj9cSu}MvDm6{13g~4mwmL+|y;qs}*bpuDbUPAaU zc8+<-F2*}d1#6U+HEGOwwLqbgci4&!EDzhL&>Ic$;42dVz#xruq#1c} znF1)Yzs0xV?{09ZIqTD>{a-1A9=PQx*-11Zwu*=y2DH%Iov%el)@l_&O(R0t?pC1t`^xYZZ4B@@ceJ3Z8(o3#Qb+Lo7cj3b$u zuCHq^cuG+6k~L(FgYJA|4pWk2k zW{-HpwN(o>miKXk)^@eAuYqV<4)O9MSrJ^-I#<(gl&u*Uuu88D=xZF7@Avop^74^U zvPqcyX62KL(QwC&!*K6!PrKhMoc_0N+J%Nw(PFv_w9tyxsV-sY^=v)3N!{Hf-DsZk zA#oj8yEO#g5|z0+7B*;Lqe8!%wdb$!&9n7NUyu@(Y5VL|8@Y~@`dapd#&~cP=GCC= zYDHhL3SiM8EFo6@;<@RxQ|wF6hp-ZkUM3xf0<7PHew6QQK>xIm!%f;AnwUmCF?0f7 z7W+(5EgJ2v>2FsSF4V09J>){0hN>v$_0niGj}4n8Tp3e&s%tvtP$%NCK}uFGY=`Er ziSmz=>1AVJA=73zwT0#JO9!`Ie#C%=9~Lsiu;$Fd6Hm$2P8=Xdh&lGjg*#yo3pfOs zL()6(BRbfI5uos+ploM>O=(m}^Dw=TpbCK3nO2AhG}@8+=9~&o3ZF^Icnx7TdWf5Y zo$Tz!-@25;6mE_4i3R31e+d>Z4;l9E3MmFfMu*$CMu!72P*_y9?XZiYBFsY<%b#Zo z{5XSB)lJ{*7(mHibea9DRTpk&4W+=b8z5Sf9fsG9b@p0KArVlk#dd?m$gLO+Bw{Tf z;Tg!ytS<*zDsxkH2)&^kmPM#EZ1Lr6|2A;*~q6>I|(w|pOF!?7&7%wPmVJ%&UA#MeU_WfM`QpASi4zEQ4@Q7)t{2-MS9^>JT(QPQJ! zdYi&~Tn2cO>!ExOH|nTLBPH%W2izOJ{?E#Z#2eMWvpn$&?*|E6%PxDsSN=o5y!&D? zQ5n2TjQYf{haYxyB!n3B_Dt;0Hp5?&s@f#0&P~{K3 zte_FRzjCIhuLg7FU;pCr1L||*umAl*#Z*f0%59r*Ht1f?)#qP7{=o8_H^-luW&5;b zI4}uUEJGfG>F3Imnd}SNolu353g6s-!Og9F{C|-+N!lv?z;4w-nX^1QiRc1~8CH4f@F;cI8vP{m{15pp{j z3dqkKR*uJe4K67LIU*cMO{~|E%%(tk%r>q@SfgTzcDqDDhaX1TcfPY$xHZYv2N(Cp z_V$2*g4RTLwVP7z=_`7UeRUXlhINa3^p@zelCKM%jmFX#eywu3g=|PI8P&k}Ie3l2Wd=`={YQ{_o!~1;UP3G>R-)Jh z;?(WKxgSltg~Q9XV&@X+1GFHwZoCXR^wwc}ue)U&2UKP9jkXyB7Fvrc#Xze+)jWf$ zfA0HwhN?$L5}SQ>{eeL<3Uhe%tNw^197&I9VDX;~BP6MNg#gR2Syvy`Wp?#dROYG= zGMh!ELT97xX7q-PJQ(rK=Iv3%Jm=Jo`TIUn;zj=m(1u#K^VlRyz(Q-R6G4cZkD} zUh6BOgVR!g(cJ9kT94vgoOuKDi5jwWV0#!2dv-u7rLVrx2?wU;9Dk+!Yek{jcF$rwyx;uz6emcYg^*+ z5r_7^XiYoptdo@OneLYF<6p_`!Q;+V4CZ(1I^sDgyJnZo3kvBZgSOuL3f#2&HPVan z%DxBqrTXaryroI7xn1>hWLm!C2}MYYq(E(G5u8hYSf?^V{!45-eIbJ$7cVR4i2_03 z*_loC8^HPPpxLDmd*CEjwt5%6A%LY}7nulzy8@9?9;bL;6y9JG7y+^b5lp41A$%R zJE3A>A|;aZcH8{PlqDWZCIcgkf0IrVBms6v-+<-+JoTx^4d>3NcfG|PyW`V%*&pMD zcH6-Y_HW+Zbcv@ape)P&)S1@^f?DN~0FkpbJ?oArji*LmmOHH2h4Fm7AT zTSGLz+&O*xAULm3h9840!_~rBIHZpdC@CM^##3Ko^+=WJ(XF4^v2@N3KZzN~!?SM| zu^13cYb=w2xGCfJ&xc|B-zXm($^k^X(UF=r$M~dBg0zH=n_0*15 zFf(hfzRI52(+RQi%n6wUStE~})uI~{ncsKrnDpYsV< z<8Fe&w?zExT&w1L7F4XOr2y_;@yg^hx7laa@L5i|lxgFD;1Xu_6p@5&C7VI%7vi#6 z1tmoY&RNNN3DSH11pFS{bRV943xx^|>A^d!5=z8sHl)oYTdr}dSnz4eiML}>YU5X4 z{z-<>h``oFBi|I>Y$lUss5nqat72ZSr|l)#w$=ZyAOo6egN@(X4q=fK5zz4>&LQ_dYuf` zRpjNDo#6$*jg$CfAKb;Oj|6f!byBYUqC#Kl^e3(WdwDZ2;GK7MO=B#Jw&ai^?mH_g z&w%h26{%QI5She>-4iQ~15__qS0VBNcNHEeuim2wz@5i%5_styFU?0k<~yNi0(a-5 zF@AmXTe>y9^?n-V1(Aj|T@Xg6r}6#`?x2)@Y6&pB))5kbSVy(Q`EBxt zkot3Z9{X<`NK*1hwm$X)^7Bm(G$R8V%T@&*7Vu|%1A6~HL$mx25Zen}nj6~uC#b#f z?7Z@mNDt5oxw zQ1b)~Lj*`!H)OlGi^}%6UMSZ1qG&$RZS6p<8qK&xKnbPk)K)F45RgbyLm7W~zE07= zM7iXTX8T#R@2w~mP^@CY*dBpIIPcwk5To&=Z(zg8aGKFx`pM=OnWJ)=@Xe^L)`|M@ zr5{0dw4BK#DxGSd*ftz{PSbkAGtEH*%1n|+deJ1M-0VBUj@pgn%EU`#o9qIlO+*bN zDe{RY66_|oBc;iE+K2?rENL5LqK%GNBI3#AJfTM4Y)6X|d>?MY5jHk!AjbCzKsKm~!cJr_Jk-sU~C z9SudOqK~aqvbRiUmLg2C0YT0wAO@q(nNv0)@rrY>vEYJ$TRY%nHy_Z}LiU)46i!>B;mS_ttCN}y#H z{M#3Nz(Nu9pNVkg@K*yRD;cLfI>)vor1UIlqf(EAt|#MTVSo-?#+E&rmZnXq*k<@{ zcBcV9(-jzEwo_j*<0D!#rf58W&O)ilYI;qDNqX)`|H%B5>N!kv&SSPz7mo7jsp}TJ z0U!Z-+vR*fEZWth2Vmk%Tr_qE;XT&{g;9Ew?|TWDV^U|-X5ntxq$k;4*vo2DLk zerMSjnD&xj{(sZZa8(u-qFY&(OGXx!#iBrAiev0#_6Q`UPPGan+##Buv)3Bywnidu z8V&#}Yo>h$s_TAkF{n>_ZI|@jm6lUcmrR*~?1zXG01&Vy>Sl;DW4um~NgkR@kGR(9 zzQX#~FdR0GE<@3tOf9&8_NuC{9IBw9NgcODXgS-(7z;ioZzbT!rgFDXj>E=NxN0#F zUAA2_%kLfI@McwAULoyHm!cjuXN(Li%CQ6-r!{ugd$54ry3R(h&>>`;_f(ILs)=^; z>hLG^b%ox-w$V!*3B0klDH|VdUFv@C8Yu!iySqc>-896>q(cq!;2H)YkL73HUWsc| zOCCe<)lni1IMp@$uMv_3uqyx5A>&31B~iq90jQBCQbu3bEfSu%+va$jf=qj15(RSV zrW=+>xl%KF!XydM3eQovtcyp98aD9)5Q3!94W`jezq)F>IWXd5F+BzBaT3^*B&erA zbe_XDT9g_z`nt^`SaSQXk1OPe*o49;EdlVr*H}p>CHsqiAw#xl6x7>OkUHu`wc>I~ zf$f#sVhgmVLv26cd(c1wdrJ}{>$B1BY;DRW^@87lu2sOxD{RB;=XXDIsxdUcjKcpB z=-H|I*X~}(E@DeZF~R&X`m0F#*j-Ti?KZ4YEGbxBTG1{@TPyPQ&$Bu|TyH%9lcm$T?dYFBodZ|w1$ zg0Bw8*T?`39eA9+%)xfy^!d6NFM@F9Ks1RjK1Zp8s!VK7xtuL8=}SX9;A=+Bxy#GL zA*xsL%<)5R9o&M_K`!#0Ml*Z>pZZcIB zR#7!$s)uZZR?qhc|XiReG}^=Ht@+=~WYRG#uO9{3gJQ+esgbUa19?R~z z_S@zs-aH}=hheZ|sSynYVYIu(CfUtq?uKjFs)MgsYDYswHUIh=H$8crueCBpNj{|* z06tYDB}hs{VJf7x1#B2NDFi%=_jv)Y-`#W?i}fV6x>G%N$Wer{*ky$--N!6CeFMK6 zc>sZOgmU&g#3Imk9!2z9#(l)1iKN&C-Q$K_05`$*l2QvMm5WP$z^+o-Ey)eH{!)Yh z0^4rIn}^%2q&16hb;KauO!ixbDG@iZfGi%PYwD0#Ezj=*(%;1{gRVB+bPQm3PL@Se zC&6W>l=v*@3us_j{^I14=wJ9OCUc7yBexz@i6xz0|IEporWOx|`(grZi2V5z`QYCB zB;uy&y5cA5S6qje4Kfr%orNCQ5?OF}zt4ab`)B?%dyrzPA#f4VwO{NKkHm7Yd`*1Q=2Zyoqt4(0q_vIZtrnjD9=~`&Z`+NuAbUQ@rn zj#W6>k3G7{;*nEvvC<~9Ep0b0&dip5^z8~yh-V|Vaw9ssNe$DF-_8JB@~9^^MLbP? zSlcnNr)X_3vgWAiA7kvx?BLO2?Y(lJeMDGZKLmReFX&U&3BF!|b-yBP&{V4lvL-Ak zOI*iiX&VSkTPtQJo+tYg{P2v3RW8!Qg1-ed6<~uuI_q)u5!nYWQJNa*svlh@yfy}f zGo|h9whN-B@}!hRQii5yQ58a_5zdYh*X`8KHp1^;b&JzzTxI4IN8+s$MkS>3q`h4Y zu4%VYDo#}EIOCrqR@BbnS^*^Kzd)U{PLcvpnkHT#B_+W+7bB<5_*|ldyauYN>vlia zz#FI^`|JS9djRC7c)182`RVDc!BsYh3N^-K*}6gei7moYJqdoN1 zAnr`MEu)>)u4B}jWLQ7tOz^qOfU^_E=UKdyRo#=12nSocldbBmvEex9v_xV2hBj%oY|QMr}!%E&RMweM^mQl{ahyUuCO~C z&0OL~&q&-$-*tA`-UNh=>lqfMA$_mTU$7YYGTMMn;A|l5c}Xsk+p9F|j`ZQWg-BqB zONsA~v_X4pPeO6ODRN>7HO(x56iNs)5xZdxiwLO>8<;}rUbB-}nn2hKP^tx$$@#_OlQn74~ zz6%$hsV-&3|K<2wGQ*^@xt-FuQK+P)2zI+I6O%aqYBF7 zzlYxcuCzktq_XH^y_02Q?7tKCNYx!{l23;^5sz zMYZ3qh3^D7UDx*9&#n)KpDUsg4(%w9ON_U=-j~1I^r7UQM|5rY{KC; zl9@6}*Ds>krbjFdq(d0qj$OXIaGSE{etBJns{H9yw{|$#MY7(>8J~vsTNjz&iJ@w) zs%yh(d8^BDGA=D_u#PHQ3k87CRd;PTPTRW9U6uCQrDF~BmC%rK)vX;4c1@evrm%(j zfucU&E>fP`kXb=6AvYL5f%C9vE$0%0i#e*HPSn#8~RBb@1iC0H8td^R!qInWO%IlVAX{+4lm(j3iYb(KTUK~Cd8KEFR+~ug^iHR5WMafhygS#FTPov z=q0+3fp`8+Q!9d|X1~TI0^zSqH+H77{Stvyy7BGp*L|OM=mAOP{1BS!w0SKRbUpPr z)3s8h2c5(XTKAjLkOCGS;8iyTEHYF+LTE2Ea!njMS>qGVe%5AN<&ym%5nXr|#2WBy+VP_VRTh1l6hW#+HVXy4z=)mLu7JfC?|IZbPfru_DaT-?$kh^NPomI| zX=>&Pq>3Z}c!(m1OCh_s;~Nkb%Yu+ia|Zr2x9N6^W&pi)Kl5@|3#Sj^ZYdRL144B` zsN#qW`FW_Tt2iBp~I_^4f1{@{qL^DfIzvQ#_)37+*?LKAN5%Msym2n&y&)mqxK8|sCPBd zG#z6yK9zGb+evi7sSAH%1xx^q{2!$y{JnLH8w2s>k*_2(1pC=Zd?UHX#vidCXnF@% zG=@|O=xybm0@L$U&)9ts+9FxoaE<;J{N8_uG}>I~(N{dHV9F|PlxypjI8>1Z8qFMCt1>mBGq4(Iy7&B zuHYIwX>1?mXwY>9p<$aHi(<|e3W?URnVb~mkMlXJf`;8RD0bHpC#5F8zI=i3&OA6A zu1#jG)`f&_$Bp$einHS8{8k){5FSBaEdh*&zj3EKesk7&CkeQPp|hQs;NlHSEb?jr z2q&S6ckD%Ea<<~T@yzn4b!lcc6vNqTNRo6q#e8-ZI)6>Y3jO_!tksc{)(KTRDaP4{ z6KIKwYouNxSDqn3X_3RuZ@Jg*yupagqD=7-y{s1-^K0r2-2n~&cB0SjsqSC0mSW&^&dAsH@3ik5t(Qu+yRvY zas%pPrlaNwgk%sKWf#9R8?ub4_-3rOsPxo}k_m^62VDXg?x0!&}47Lu{i=8rB%fwEt6^!VnEVTsLgZ< zCnsYY?-l-HCectSf0av3J7%2?e6YA9if%T5zrr&K5LT+YGNNFaezkn9!#RCCG3}S=`4II)r zaQLOkG-6{kYX@UK1dA`Oq6+?2YTu>IF)cd(rKl#cxGW7s-F04PSXb&SGg%nz+cj^1 z*{i2F-6E{}#Sn`00HOUhw=qao821 zhypyN7268O@7iNx*V$u-C*+isj@b{t5|1dnyPnzDu7r7Eb7Zr+P?rCSf2VNfA3wS< zx!a1e^3*b{6P~)gea+C;$9M&u9_hf{QMKQgnN`Rn!3X&ek9nL$080(Yiw&%T0vG7I zqhyx8$~uAtGRJpgl_$nri!RA(4b0|-(>bm}4Mhf!_~!Uaj+FizIEB02c!vR}o@9XN z|MicQL-p$BW2@mT!fN+ooTuzZAVEon$hr7QooL`>b^3o&p}P7%wN}dJEVg9NfIqW! z;lVe2=jG+g&>hZiGWyUt?!hczY1d_f7toXkt1~h?wSoL-Ln!Dn62e94%7pV@(&_`juMFLS>)|6N1=@#JRF8|i{2zsn>vg_y-&9u4?Vlu@+i2_`^;GftF#Y*pE| z)^l70^0C;~(b#7gM7H+bylubkm2Toq&UqqDjDkZYdtZp2)$n9e(gl!x>X1oFc$p=l zVEepMP=?e4b8^=2PZt4eIf75Gv3E6v%XGX0(KzuuG868={S(lo0b2@Jwx!O*%jO`N z$zHydZ<4_4HOW}8Gd-j2eamSezsW3L9-hRrl)U#w{Xh%P_>Zl`?pPXo=WmDb2CH2o z7hiwn0FKcAPo+~5)9%z^T6trI{=1$l#pAIA)6=$BUl1gFai$!@D{ z8KRb4Sko{YQusei8hHa7KcfI>OjtU8^EMnBzBqOPqBm%J0cSM8-L8@U2EsG?n>6!c zY$ZgXeL)RO*M%Nqw#mzrQEJ#}mGs}>q14*W>}x%rQE1Z4d}F<&}W zb`0y7_btVDD-Z9hV=ZND?6L2i0KUdwIs_@`vq1Ap_~XlWo^0RYDt5tbyD=o}r%^*H zhz4qcIwljq`T5n(4zixTsbo|GV4uga5f9iepa(TT0U@iOe z{15DiSU=%RCE#UDo0pgV@sYniHX*iZsj!dmas7DivS~bOuNEkcc;saSp~X+XgaR}! zvi*d6>-ox2-yQ1sT}&Q3*vDkG+n74wxL6U}a0BRh>5CSh&Pk{(%*=pk5n}%^R!CgN za^+%2XDH(@@JltMdTA;_u%ZaQ1BEMRSx+=t)h56<8_(w7cabB3GG~nktMOXe=|l7B zZlzxT%`svYvtrA4tTXgR%V|XOj*MQ64MutiX;^w>{myV!=LQHti*>BI)*Tw54p0SQ zDy6tKx=WTXn0KX&Bx}dT|MV}f71#}^MSlC&exkTel&@qd@x`;@UF#`8^3-Ly&7rFr z+9;S1{tRM1P}nZ2&*sc;M|OX3gxcw{!gBP098Xaxk7YqHPNHI~&|8v()aeFardf|| z~MW<@u`dh8wRcH{K}IiR2VNz%&~7@FH~!^Qn# zf=}#QL?z4DnPWIMP(n?se#1C}!OKDto0X(vN9iZ9?he?m0_!|#%Pw=wr3JxikLfS4 zZY22V`94yZ%aNWPDqCK?-T&n6yy+m1A5y(xgS9=OnBJ|Z3Al$VRk7FdZm}Ap-8bko zmZ3$1`}_P_RIwpZnb)2`0^r}3R{{Ik8zfq}(=Z3By?Nm4;h(|XDq4SsQTqJt zpI=mdE3!7Z9cTDc56{GAVE7t(M<=S`R>QEo&?L$K$zPUmY|LgI8g7Qb5T?WMACJ3p zvNZVG&La4vhZ4SPOw$nxEI_E=R*MtItl#|~r7-_L@L*yw(Rx>Oh+tDKYL^cJXYb`1 zF`XxkK0OWCZk%1(1EMH&CpnvQqenbfO~It64-XFmkcZ7*n~_b-(iKA&zz$`X6LiE7 zWqKG>_D?{>W9y=ZW%d_m6Q2>M(_|rsN1Js``Lh<0cORWTFGzJa@6EcY<*JIONu1M1 z>_wu!=bc5WbVL^n%Bqu*#F;E5_F}rUDd%M_S_^lbSK<`)8XzB-} zLeoAtEzz|}jTt*a_7$e~Y|F+gTfGf)f5FE^#|nOc!3*H>qSH#|TGaf!e+k*J1Lc!G zqx53uhP!GnE;VyP$R3FME&xfkAZO*t%d!6peuqvzq(h#PHSxH&#mR;&`w!e1J1sLQ z4S>x!+qwN=-k|SA#mzBy{DzNpoOWjHVwgW{?#0L;@^nrZT!2(aY1s!n@gu zIjb*#zS8Go9IJfPJWHCjM4$U-)j1CnW^GcZUOtLWdGlfRA8vflALU(l;k9r#M#o;n z_r@^6D@4`j0ya0$+u$MCNsogCJ3cWT5uKcnoGG6i)A982gh@*2Z)5KP#Qb$77V|jH zb;?)ptC44I^L_qTU^f-Ir65KxL|P2WBN#DFne$hn?r+ zmm7SPQ(R%;uf@&3=NI#cAuq<3;_TA=2maCY7v}XwglBJ@G#B6{B>w$RT9R16Zi1AvK}1(k3k&>Zv*H-VxLI|J zsj!=l)QGb?EKY;|&5kd#rJuprhjpuMwX8MJBH-OAWhJ1nWHBi~Eb_HGS%wpmYYS^z zsl(?#x(*@s0a_scS>N}^CV)do|HKo9@0BJn|Iabaw%u3N@u78zv)+WG7eaztj~ag6 z)9lCOIH~5qZMMGrNE-bECxlm^n9n|5=dW-Ga%v&GHAgO~N^Ay#eZu4Lyl^+Yne;zB zfik-*RSM%KTWpa1GN>#+jI+!syXz6G~#B;j*6+ zIe)IUy?-`aq*z++uzECZaV|yN$j!ZK-woZxsb4K;9X_+QzwcP;3M*$tO6zWAqNcx# zn)Cc~41po>1Sc5oQmkZ{MX<_~I%m zv55^A?e9zBLup}MsgqtBF6^kpHgn~i(q|~E+=PGvY_i<`qoxsW`^m-UwqrHE%hoXe zIoHFtdVGd1q1C+QltE1i@M~r?y~KkCgDK?zNo@^S|+11kNtEr?itv#_riLQQ{50(k&0k3)IB1L9P;kTWt&1Ab<9 zB4pkznKs)${TOqBLtD;^IFX9cW}InWEv*qf78%C{EG`(DOja6xF-lxw?>{j=_!1{K z=5X7UW~Q#4meSY9U-l{k;-D%=6QRkIx^%Si+o;esyBdu0i1t%KAXjtgj&K_8wJ7g>gPl&y}Czn_`MT&ZFsG0JeS4+K(OcVJW;P|DpSU7IQOH%?reDwI1gp z9?lQg%O@z@XYaebzMMN@wR)HKn`d;}idp|@T-9+(OHQuS>7)V2NTIB}$UxU)2$Zzdr*Jr4sPVyrAlz9U%?U4N$oHsEY4Ux1x{@51t| zWiy&n#6Sfxd6NN6GXhkUvgeCs4zx{e;D7cX&5KHDr$~0Zg0KbF^RF4U*Pj#^dVn{p zUs{?o8oMyOoVJnM*syOe!j}3_%PXC5R!8Lo)Y1&bM)s>psOD4V;LLLWKJdyh@aI@Y zwuKRpw7sOFJ{n}{i_Zlwdm>fZURMO=PZFjU@l1Cw(uKan0gG?97I;xC<^8d8 zA0Q8UPXnBSd_dOYy(sOJ7rUyjyQsXpK**t+=cpHyidyw)=2BtLODJW{PjVr?G>6zn&dH3esXV?UkW z`_SO21OwJt2g>yV!mW1X5t#g?wbekau8? z%Iw6W-k_W>{^SzyD~1{9d};%|Da>j*&)CN934e(Vzz*XMJBrnn1R-K;7;F z7iE#O?XTP)5qHq$TK(xA-6YOR>dbryqI!N_E$do*F>JB*Qd63Mwl)YM8H;$={?SB1 z6w17spq0*OC0fz6Vr(2wPDnD5;XN)@P7ChzxWZHRpFj9FT;c!d{tAL+E6ZC>?Gs^5 zAnswR^#pt!zn{I*WT}7V)AGdup=f0wN=LF^*WY~Accve@IyKccUP(3B-F#u6uMzm| z9^IJzY4|Ss<{6VbSz_Rzku>N;?|04jBk70q9^E_6J8)6HK4fbS2+tEG51vRLY~(72 z8~0Dlc3Yw+!T^A8mThOE=0zsrrEg<56Vg7*(C*)0pf~#ucXDa;ptk__WsHGp|DoEh z#-l{-=ChqIeUnSN4z#=?{nBHjvMALPXfwIvTai~qo^N07 zNsnSXF%oO+t>RpqoD@e*#V0-r2O{b(f25L?Tmj|RBxt`vm=rHBt$e?1BB%apPlhvi z?pHX|yI5kvre`;wQYixC`uGW&TFNe^ql$J`54f1BZcED+&M%20rkR?oHt_3Z6O1Hp zOQKgFmQCl?UDE>-Br+99D!mT6A08Pa`@HJBmyr{r+{Z+HmgtPQ(s5lt!B4neVy}CM zqzhDS6o{clP;1YkF4`9MknV0~4eQ*Q6*y-ECVY2%_qEynAmeY7P}w_KfiQ@aoK?0Jg-AJs!C_f&+soeRG@_`r#+d zO|qxbvZ;}VUHoMk@Z7TW2emV zV)$K1+Rj6dc!mI&%MvY3fxGIljH}vq@vOO^1+I|7LoXB&)E^*Ux34?7@TX#{-o|fp zX|BEoQ2n0eM8$hPOw)%=jmQmYJr+%gYUOBoO>8=)oXGcC*-OQM2o)n-nzHVE@qWIB+X{^H}Ly=&U6V z(>HQ9ku7Mg)nU@DSMYZGEQh^3$k^Jjf^X@`f>YVu;#bQ`aD2~e+swfoE@}kT2R9hx zGx+R1Y`PfXAe~9v_chzh3%D`!x$H|qgj{!yDtQ4Vf!;O3cO7E9fELN9b^>P5D7`<4 zXwBXvc!Em!qWZ|(Kv;-D6RJ6SPbQ{qODaX+vPysy+$x*Vbi=*jZK>s9t z(}fic!Z@^H(b+KxbwukpMaE9$j^h2gn*7{?ZI$Suh{q%u|V#v`jn`f ziieYXbN!J`h?Q;Cpr|5T+czcqDuV=Cd!>?*VC@=1HBqA|BoLVu17~zS@VR;b@r;;t z_l@V7%v12(0;y4Ztzz~cR>RMIIQ4O19umEo&IrY%?@6mD#r&LJ0pSqjGM#41Gxir1e5)~PWn0D~CkBbPmT`@!Hq+#0j z49_q@^*ONGlBD^&MmJnO+Mf38T|KIxX5{#auP^|v}?Z~vxqsJvr5*m3OiYTal;x1W^oLD94?$B?Q3WBl| z<&K!HV;_#ec3t_`^b8OE`3!p1z3^Dn@L@iKe!9M)C?H~(t$s#jMP{9+I*n%=*0uY! z5$XRi?@6$(Ek^t<3z*Pl%YRm#U_%B`-0;rsWoGZ97YC<)Y~@ zH_w;o$k;<{9sETHpwVd(Qw>LMD-vNoMQ9aN!=gd1ZTa?LUPv|g2_#K&i|7pVm>7Mz zNJ1XzTwL?rdDB{F`(-yLO%IvT8h3RVBsxgi@(<4pwSEL`oh9N~V9hcn92AplH5}SO|)ojT!G^ z^^FavrJme4x3{Y!??hpn@OXOKlbhVPtMIZNBjIsbof^nh8hu)?DwXGx`)gC}QRudC z9WUpA+F%OJF*?Sb3K`q+z;XC~J03F&hDz$771o>~U_>+F(BqNEL-G}#Hq{Cdx>cR< z<7rd3kP-zUY$?v%v4EKv%Qo~>0b-a4j#QU!Y5$_rO}Z3CP?d-L2De?M*Dy(Jwt}7^ zWttF_qdk}gO$pdQ$$I9HytYAf`tujPcSFF^^(jz;WZ$YefdkM)^PmYMS+7)S$qtt>*=G7F>Xs!0F4k5Ir#$H*y!iDgx_0;V_=d8YS49a|Bc|rIKky&O;7fwXGd;gd zBX+bRJJ4S8jVI)eSA9QL?K$)+8s}3^>a^J^0W#u3+73&<6wI-;{BgMmhkF3{N4U{ zz1enb;o3Oxc-v5tMCq}iLC*oV=1y@BS;7_^vgNctiN{`pUvrPjwyU88F$xejBP4PW z9s+Fmq%Qz{dhJ(eZAY3mC=Oo)HWAa(r9Txy4motz8jCk|*I1<9Swy@r3`bs!5*>jJ zio_XF9-6>~^nrGsQz z{UQ^m36@Bt`aFxU`BI*b-!r-_yzPh+7v#P@i zd!GGVhdb|yUL2Cf{e5p#TN#(CLwby1I35vzUfc9D+i;iaI?{jYD;2mtxU_ftt8xwf zJ%9gTL;agf^?@Ia6S(h{y-@HteGViZzi!F6p=~APa6zpDYukA;`dl)1;CC2+UA*Bh6Pb@xUtf2{*8qdya!UC?Siyrbdh5w+#%O~R#|ib(vmgkK(xqLyD3w|T zQPpQktPi}}AzAxAe-_4Y2>w!Xbje$D-)_;dYj@f_OA2BprK(j6MgEM)L|#yS;xTIw z-@YC_$qCCbaPFF$VhqOy?%uaQz?`BUP6l$d@c(gm%}_E0htJyYDwCH}_DK+Ty+$i( zexAR4UXAu`*vcxoAd7jUHr`xa#a!?IIIN?8AkQZJ4HDb@;L!LhQVVwP9_JntNsfMG z+(5d7dW>~af}cA9yZ1xo!7=Ok#7ycjs=zzPc)INRF*ZH|@ToV-+f&!j>)9ehG}26{j~X zQ${UNPCzXmto>Mc4je}tC}mhRe@1cGF1%*#j-_1j(ACu=1MLBKz|^xa-BGvl-2=0F zQHL32m4NJmRzu2!McT-^1l7-76YUrH$wxEf^UX;!Mmqo$bG!}Q{bl{D5sBc7`B?2L z^gyG^zdOhu?NAjFbI%}MU!41ro!K}_fab1l(JJXjG}qHj**!r5haG zCL=W;`9CJNz)DqfF~ac#mVxGC*WyAalUd4GZk5cj=RLTi;M774#Uf(t2HfZtZbWL9 zA}GYH#(nT?jyc!Bin{jHunW1j_CX#MqGx@2=;1)u=bwYp``$qk2RRRFu@C)lb~min z#baNtG80p=OK%CGynPtKq8-WACeW`^5_LCsNFbwS2mh1lx~XW|@`a z0M2Grt10s@{=xe*Wf0QpBWR^9$z<&L1d~zWe@Y!d8|4`pNwt@YnM!bIjKbM$&8zOW z?LB4mt`GS1Jf@*zVC)Af!^$0KGOUJ`&;`_CZAB4RUI1>&<0=X@S}k;;sjDiLSlMt5 zz$7%DuyYnD34PgX|4*~wWt3eU zdUf~mIE9|@{J{neT+*(nCe}WZsI%|?Ms&oK?|z^`{cVb92a{Jk!;KE!&G-5aU^9H1 zsb}0**4j&@2&#-~svM!=m%}0^XUy#fcP@axyzRDaBKILIh3CA)o?7_JRLfM!HEs9v zhKru$-t1Bw_hXnnoToKM+Xm~t%c+ONOR^__#0aFb+_w{<&-9^2>&rOn%=E=$ud=1T z@C^LP{i^YpDj5mzL9tXomVG#fS&QV_Pgjh)zKzz|kN>1Xlf<|{ai1Q{)gZY2&geF$ zvUaYy09%P@IR@j&r6PE#8+sdhOOctu{Zde(ls#>=;}UHK>{aIE&LteNO54hwujU( zg@_gn!{1FmYyfEb-ch%RmFXNMIhjPF?b}{CSA;6OqO=Q7^1YY&!ejjPlSKTz9>jaa zHF6;TcBr{{w>ff%dWLT1w<5t}xqUWY848rtWJyo^X&#yy^?}9;L|NpM|}^!?oA0i zOBRUnOkjD12(Q?hf)>%HT z8P3RgzJ$-FT$64Poy3;kCwqx{Jq`9B5WvFf*8sfJJtU61|&#R{@>zs-baL z?{XXxuYcN@QLNlr`aWw8PJ*bWAj(4E$Kv704BA?kXVEp=ju+QoyoNsaaP>OFfV7!9 z6|?ow0{nwJ9n7DE28O9HVj135p-9ODiA#{XJBU_YZZ5z0`u!pK?X#=#f@9_9vvJNI z_xx$wW3=b}&C?Uc^N;V%4=^sSi4V2ix9a6q)dd~Pnw0KAP-&IoD~{uAIOkKHe_r*K zjMMUO2kKI?Lxh%Jt2x@2c>I##Uca4pSdzS6V#o6-U5Vrj z5kaf&6Q4?5I;OEwa&}1tABD+I_}gV<35@f|ErXpgP0H}Pk|1BHP>i}5pb_v&M%0%U zA591ldzcL<9%rK{+OvP`?5+4Pp30P>`mXr~PXlH|QY6r>1IdJFP|AHs;mAgwm3Kq) z>!xh(1!7q||I^pe+PP|o%g40pva6_j$FbDgEb2vtu!m?>fnV#8mYi+5Hqt|$6K4u2s(l$<>b*=V zVzArcrMhPJbr7(xuREF4{MErZx5@%=4fN>JeT6^{V31aeERoi=IKNeI{TK%Y>j{>h z^m>XMla=+_yRaiOr?rFww6Zb5qxFF%$l1k#YCOJ%NV}nSnGgH-vB}28JDOHi4$&*Q z!&ah!ZFNiJJh(y@NRsWf%Ch0(4G@G!q!=^{`~~xRsR3Y6z|$o_S~dxunTv!QJSu{m zE|Tm?DMGeeRth_UWo<1OPYMs=bJ03>F}W;BwhGQDr#Y_M;!3iE!5O$}6!pe*a9N)H z)TY*!OO5dm5EZLi*Cg@ABG;CG_wuS$#Z5y;%3wPb0Ih&~GR)d&9M0aNnDqM{KzK`> z!bIaWbVM4~dMb0t{3^GSNwST+0-w(72mdIq>-CRtdXwh=$Qi#!i&coOGFJ!cNe~ex z8TpRsaS-?Hh4R9>3yhHYyI~4=N!i7|&Af5AtLtbch28J@L-UJ+DbfBD?KiwXBjGJD z(Bj7uP4)SQa!Cq_d;IaaMT5{`O&jb=NCnLv*j+j+XZ0$__8NadoACJkNay!t_EsY5zliYs+MVc4z;W@W7wPUCTpL+nRZxI5J4uS$RYx_(IPdRMj3HGkUXn;7Il&obi*S*F zRB8g#?%bdx8q)HML`~jSsZX)xpoocdP3_4JQ8{;=ed+i#%8)#?fL`u+Y9DJ;4rwTe zhjW}X+z?Wn)O>R1O8GZ!;)@6MZoo5%;KA8>fCZ(F= zo-h^u=*8O1=x_+w5D48V29Ja#J+J^7(DepQ0B_WuVkTaT{tL7LAk3gCc)Hgi{eWsmof)Rddu7f>|8YeHnqydAm4uvjfzYfHWL~TTb6U_l`h2 zB>)>5Kxx3laf(E(O&eo*y3&UGThrP^ah?xh8XELQ%MYn|X|#GtTcVKJpo*)mugT=l z=%=3D{Y-t-pOfhuJyFsm`n}s%%w!o{u=d5xhk_PoLhgZ2l0Rac_|8vF7{!};5 z%DiZQOsshS#h%BF2jBZ_?~EId&A;v0QTX)m;O0wR>6>{v8^mI6>31iddXi)Mbg1y3 za;@CoteQ>Da>dE-RZaaSSL_}A-2O;;UOzSIM{Bhp;|kPfSH_A}N(Y&f`lDFJDh;uo%woYhc#n!Y~V# z)%?7^eIKR1CXZK@Ib-jU<@@%Q*mJRXVlj%VReuSOkE^_b*UZZ9NJn~K86v4$b+y~* zMAg$vwJdQTSa3cjt~=n!uZNNF@PJ*H(+j0D@P@%x%%~+9!+my?GgNXcFN-3Tk((ke z7r^L;l-IOg)RCl(ZQcdJ;rzYqUo@}h@!omO*Gru?^!Ww!#q;-q{mN4M6}0`ExWuJT zK~$13^;<{D2&R$Sm1!6IC$;t*+_cr`wSVejDQv# zoTjhIXP+8huRq7yq~R`>Y*LqvjYMs?yGezHrD zr*OWL(7G=&3Y#hEN)?e{nIRl);867z<#~u&T#WDkhC))t70Tm?(U6afuk=V`Co$15 z&lWfdaK`*J6(kL|=om>}I31TUOJj&xOZ6Il>s5*FCC1iWC9HsMwhbm@@U2kR3?J$u zC{Wj4(nYcx&DeD)Eg)A==`JK$5Q|!x#)G@UNq|zS$bw;G9LK3a^&Ij(Lw$jYj_6jx z3;YJyynWZJBt>%c*qu+nVHKHvF8MMMU#HV@V(3 zw>xpR_Xsd^puL{V5~qmi<$KlrTMYvRb6DRcMH|l>12X7oIeQEQv@?DHiHw zvnJ^%s7T*X#QRaXakcN)xZ&&X^8rM;xOaWL3)-*nkhu%x1HxmvM$^*B5fD2CB^5qHXDp zi#KRM*6GL=y25RVn(`7uhMjf>w5G8Za^4!xZy9WygYj(~`xz0C0=Z zO{cR!Obg1#&bKBIjjJZcg^?^yc~q3dWB1Se~bR8^o4*L5K1koH{$O zQSX^gg@=274cPq2)urG;U(W|31qXJfi~h|*bY$BUA}~in=Gr}&p{zX%i`|=u4xk@Z zf5UL6IJfUX_}XbauFM-1C=YQ+Q5Ho*G{|a?Xz0U@gk%@Ne(1zZSHUk)LTIbTfTc&n z5E)*Vg=8yUTpWNa2Pz~d8;-e4)Tuf!e*`$)ELZ$d_C zzbtYoQ2n_lokFKAWK;V_N16{k?|i=Dl-;Yql2F5u5pI}ls$i&6WVi;PZxlPjc-yHR z(BOGx%CO1gu%9jmNyu-~PoJmD?~YPTa`3phffuvRZq_qDZ(Pg4h3`ngsH-kQF_YJn z6RD#Lbflq?W}oUDh4291=-|Y^S;5UV@X}=31m{yx@9VbkB;h5>d2$^CqoK7YWc^Y- zx!?x&O>K-{Ii9`ZC3(w~Y-KLW?I%;`G;(6#NFh<@#f3IfaPCD%+OVL;X43?X_*CDZ~g$ zorG6duep;{1skiQ_d=mHCRq<%)hAM{o2)_MMS#Poc1a9#3rIoR#M&v=?hZ2Q*B7eN zF~viPk^wl3#HvD?B4n~qJrgO#GaQF1JHK2Cf8as>*|KoN_&HS;9nC1lv{aE)5+qR@ zu_D%(#WzF$iEgJp`y65bB!i!m(0pEyGXNKM))rv6=FofwXQele#jqm0nt62l= zdK#Z{j1e{v;KLIjgYfI$Z|{jc2|+yhze# zF@Q{8#(_FCat&&Fc9fMM1JJz~{#xz~p;;ND3&W^hMN)~pAiul6>7wqR^yV1DpB`yQ@=9jUlXN+#cGXF4$|+2U1bHuAS4Qt(}Blp_VxBcHHBCCM>!Q-WIu zE4ByC=7ej?R2a?ojn?pp8bRG+yI9D19%2=_`+NI0bT!St@p~M}AkZlnQwghjrRT>hQuTYfaS(n-C31_%#6zj!$Jbb;}z^Qm{p)*b2xfAgoxjR}?Q zpX%orQP%!05^0ip{3#Mw2#1JWtmjx13sUi6{D?f1*uhe13pgIE1p1FK&POs32?lBdwajJ?+d)W|{g8Yek-)(TCat?q}Co>A+(%8<~lQ!W<~q!rj%<^nuV} z@19rxp1LrPXX>d(c{~bwfqPyN0@0?jUd-+N=MZ$bef`yg#c4r22`?LFp4Sqz2X+?o zE&^vL8B?*gz6CwKh219C*o29m;~W0^G({T3PenJl4C>-Xl;r3n+t86fDfzoQHx}4Sn-YEIo zy1Hkyqm9iuxpPb51(Lk!*4S?FwRadhMfB}1Qt!sVjk9EhniXRj{Q8(TR?p4EP~Ur2 z9d+C&rNcS`(O}(Ii%pv?!8$5_MffQb2|Bn4ds5CLrC;xSBfBi$VfW{Vs!F1 zo{I0aP+6_?4sOMG*+f+#MvHVON)(5I{#{}b^|;XdP*N0ek}&(<5JyOh&%wR9T0lFE z_7q`uhOso-(fvLZH^3o5;&X^rMn#pBiC3rba-13lyw=XNc6SFz>O+N$xP(ZK0JqOz6sd!v@{`LU=hTzS#0e!$B`!teO zn-YGl3Z1~?&-IZ#z)U)hJ7nNcz3Rx*o9zr_j- zU?dFFL%`_Xd1ZrBOU#C>v?h%bLFKxm)6wZ}Y1E}Q(MkUD6c98x&z)LnCJ`xDnrmhp z*a>2b@H?)x#gaY2XW#Qcb+bsD*dbi2>w9-ljRW-wt7b_u;c7g2L7Vp>`GP&_0{XG( z+Lhs0TNw(yHcq6aqv?9H{>QY2EK}K>D*5);dR2FhngVJ(SK)Gv)EhNEzM0sZ^z-#q zHZS{5TTYLeE}Wbzpf8ClkPROTV)|Vanv};Xl`hSB+bJFq|0+9q(^Y=yjD|{>8!2%&M)g%#D*EZU|=;#`p`IFmEV>tC)1#Ls+R zyJX4}7f&uhD1zySJzlS<|3y)S#8#p~(V z^)ab(IznT)_SIPo@;P2wTRqp#wpj4R#;elYMt3n48?WRKtDQ4R?zmK`YYW#VT~#G0 ztA2!R(yez$JFn5Y}~D*prf6 ze|ACrh3}*!UPWZv&BcOno@Rg9QyVjCZr|_$OnBqISNQqW^1&(OP$oJL{?z_Vsn6b; zc|Z*)Tf1(sy8i47*RFD(SbVs@g-txVr*``GUrI!1JuDMT`bSYK%ETT4BZtjJ228pL zm~=1bnX{FOsx*aDLNyvatVYrV<|A$rDLNG&EvtAJtb&6TN z=@`om-MHGb@XIF-x8s3dP;6);a@j4f1)@j5a)R= zn(p?>N>EkJTrmMVw2dQh=%Nw~o2_k2_4B~NyQFjd=Q{QVitq)>LJ zqPb+gNGiE5E{?lvqu*Bv;W%~TxJ1@Sz`zxF$EF9Y|vU|rkvQx z7nl;4ZKOMAzRI zQ+y_RTS5X_J@PZZJT!0LiBT_+AY>^=0H6tFq763SetdQAFM~v#At8zHz5*Th<*QQT zNV|t$%gX7It2~?Sdu5s010{}{x>F*N^MWn|+M8sgezoK&v`ri7h4+e$EDz(_gbv?IBVg=Zn$mSHXKJK@tT_BKib7p9V+iTKT4Vhf zP!-K0vUuxD!FE6Z@|2htH0MF_0=i@`?PaOJC;6x*HU2Zn#0zN_vl%8N5MyR&$!WPL zi%qr{41i0A`T6cg!k>pwWSgGe4xk|hg3Mg@<^py#@;xY%nIdcTzx5yyQ0_eP&@!OC zN#@M87MZ-2K$<7+P^@Eti-1OS{Xn~G}KHr#|xXsYsVmr4Yb zJCAqm7669goUTS-$(}KOx+u)E;k{l{D%wJkZZ4eH69`Gcn<<_j!biu z5pBw|NTif#I_fTIRaagB+F6;t=Vvmp0m{y9x~rG4MGmvRQv&@A=B3U7Jihh$*vy?e^ zC!|^}rUS{cQHf2BwYp&db$O#;c+7~?V?2RO5^G)CDRoV>IC3+-VAjf@=k$sb zbPcC4@so3AZ9E>ORJDhk$mxMHB?F%aL`EeAmpauR`VLV#*(rN&!{r+~EG-Q}EG}pd zx@g$Es(Xc&gYSh;q(;@ELhqk{r6X=`Im2MDi~Ld%OPNaI!#x()B@|xJM8n6EeN=eL zd2-%A=S9O4?JMFQ6@IjgW9WeQ6abM?eW&^B0)^-D=9v~BFsO0$Y6aC~i+sNZpvOFe z77DfbQz!`<>Cy6=4XVN2i*_buDahoU?ZyY8ET`OhH~P^~h;#Q8&Tcsfs`p~~%0cTz zhpnbbk=Ujr$SLkGmc*J9iOKWUpa)@}J^Bmab`)l--ce~M5;(RbZqXr+jTiRY(G1lv{XHn*4&YfrA z=-w?RCFcW~cUl!co+swgCYagz%c!*0-*T|W7uD}{lv}^^Kf*AB2_@E|@2GgJOGGc$eV4zzr>m{pir8V=vC(w|jP8SD5emJtMRer zRqK5!StHf2eeCL~>0(b_pzl&~ZYCSO3h6OhCgf3)0#pG}rtjtXkzJioFS6FJ7EMTx zxI@CnRX^||O|QmBSpbkOQ<`_rD=kHlwuK<^JOBtp0#2n_22mm|9C2a*K&$((`XB&^ zz>Hj?il?mny8Ji>N`8c`SI|=T?S7>JKp)$fdIw&O^oTcs0YDm1%}jB-vP?2oXXE5f zs3NHn=cR%yP-r!-I?)u;6~j8mn>vE;fQt4YPMxIHHQ*Jga|_2Uh#MhS2qi`%SHqz) zhfe_a$G5Z7$Or}eq^~w%a(CE>S2B543DKIQOO^dBm=5+iOoUwcU9hmC@%VHv&y4ot|>% z&J!B9ed-j|4wkR%@B1~-dxv0NM=T-)*|<289|mo;tX-bD7-B@j>a6^5?BS5Zl3=01 z7?GYaY7lK%m%x?uXVuIilZTnwam?AtL&JxC!C(-adH?7=Vpj$m zQN4S3Q&@EfsLM^_`o>=JQ=%j?KuUt_EoQhy(w(q2J^+`CkEIs}{fPU6M;+JKdkfT?8Q?33BJN#WLyEw%_7$B0xDB}U zks^g9OgwwGHgXouW!Z=qb?gH`$pnj*KvF~VYQBM=&K+e5^m#;UB>QS`>yPuFZ>~Da zNmr>avO1B9umK>F$~qYsOP~F8yaIWHLMKUeC^5M6t0gH^V~HR4VBF42c>BPTpK@5C ziO2jmOBNFjDcFP(s#Q=0K6+6c_DETw$SoXHz!lwWcCv^WJkyo9q*4pwvr?BYHq2(R zOEsh;rzbv{hV;;1im(3h*g9|q`6vB?w+c}*ZatWur3B}&=^#XzI4RMYgJ4#{T4*X= z?qy>yM3s0WuZ@Fl2JLfb5?zi4t^+!$X3PheBnZkH>o&4~bcOTtLyIKQ#%R05^N(&J z95D|rQSqh&ypFH)CR5)@lWIE|a4`cE%~!B`7$48=C;Aiz!~s2DIOk97PYZG4v?!xV zE3#r(;$_z8Xe8TU%|!-gg5`&JeJegAP`)MDphdMHZ0sl_ks!wUb5VRxAG$lL4TR3~ z6!8aC06q25`6|5iL22j9e4u(od7~Y`TeBZKlHVHkyD14cWc%U=T9+ux49`0SfhTYx zd{3$=OUbT^mng`eOQ#W5D6A2cyprn6ulv({Q!l~buwFONRg&|IM!PrR=poencqm*j zN=}+=r|+S3iA*W5H%OU;=+(o%uzpa`aJvbS9{@=TsrZW>>!vM&(}{5moDAIIWI>oz zU}@*9DXvXZ!|6o3io5jEj;nVV_i{!IVoXTI)|UFKd$EXis*gH}&z znOJYPYbZ_7D|X92um1k9iP&u3jvo!7rwP-UH@52WN#iu#r4~Jtz7dsu7deiDB|17D zsH3Eg9(MqPLJUDPf)Q_sUmOI2=IRi%vBikxj&1^XapC(76{GtI$bR@4zW(PX@>=Bw z0N|)Hx{r)Lq9`(9BgQ%)bV%$!{< z^-2*_rm+smBaup(QmW!7%0OvI*J3B{hJM8=rk@KYhr^aPtljR#b14Y_1HACoi)SfgK{9ws`1D$80#8y) zJ}+AG5_v3$cbfZAfCs8WkhDum5t0m&c?v}P`I5(ae<)c9DtWAEwaM|*1;8Na3+r)2 zEJkbFufNT?!Z(0HYTs(HW&Dhzxf|bClV85=JUAIZ%k@LYK`B{GVTRQ&4!&Egh-|Wb zM#vj8G{(7g`M`!sm{hOTdRwGfib$*me3<>P8vF)&k~E7VeR{)Nzg!GFpF@*435 z5i_IR@#blLfNm7En$a-m%>*l}ecm=@3L=qRh}&;wkf)h&U-qGklnAZLw#D6^BC1BQ zI4|N3f=0B@3@pymr&E)ZX=l5=rcxBYSJ9iXTG89v#5vmLizs=SYhdo{atsy)nyDRC zMP=FUKwsZwf17Wm^^w2YuMJp>RTXE46*IGxv0W4i2hf)FE&j?6mSem2j-`C0b~#L=dbq>GQ=<2*dha%cmU-7(yEusGh!rAOeqd7O7p9 zJv1ScD2O0fAg68{5hR9CLl=sC`>0=_G08&NY?q59v1iWaMa)jVokrVy5y=ho-<%#P zYH6`Rmvt@v%7@1_))J2=FkoqkTzzib?ewKDw6XpEW{(vpn0zl{hyTt0lh{`G9bjTM zie^`riztnng9q9XVrSX3^_~|^_mu#<%8c%UztB$X;?yK-~OW5BR=4W@_1|WrEP+RAr z<5vZ88(9p=Ie4|;G_QJ8sIK7t-oxZb3m2)BKXL#U=H-oGFrEK2DX!RC=N5o3KMQ~N zu!$H9RmVQ>G9W$-rbMRf3(uH<>*a6_-PBqGP^BD9U6GUY*3us{<0lpgKMIQ)R}sU3 z;7ElOIJKuxG{*v{fBMz-U1^jj(*q-c-t@hW^{YKm++5k8E64l&gZ8KzK0ybHLt}!2 zrqS#ynPy{~l0V=sJM$-ehvgSSe&h}U96QO{lA;R?kh7%H8=E8>(_$ZPy9;Or{XMxm zMzppKLj$^tb7kX7scG=B6q9Bba$yBf#K@3UX_~SF?NtYe2ciU-aDf8ptg8uj(GY8x zzgPR2#bW6fQ;jLQ++WUg9GPQ3IlUHk0syq})^IFImkWn8aJ02y3@&{a5M;ZUjO!1J zB+gam%m|w^jcqA>sO1QH*2WsVk^p{Gyz!IQtVx4E^e^nSwJgw6~onLfn<)3qD;Jf zJyP%H05FDiGfJDG{zF?U}7%8Pe z31`qq=|1;lhr+}Jy$30tL4;rF9?IiI-(A%pa~M}szN<&4u3`v#&8j$dkRb!0oWT__Peolaxd#n+jDZ_FBToZGPbmoKxupS z&Aab40tbTL9$^q)iN;Jo16OObYh;NbksfO6ACrsU1|Pq8c6{B@MY1YQdg@>zGIV)DQ;(8{vtftNIiW}L@&Y?nc5*coRI?*?M%14;YzUpsQd33i zKdp{>0qr<*d;i8F4El+S)g#l5oJ}_O>(?h6f_F@8ecHh`>-d@d{n-}?^+sF}N#=;* z`2}qAecnc4N6qZ?m?x2V1led1!8vjTO*adyyBvWWz)Fsi?a15mXd%2#2SsAK208a; z>%MDX5SE;c?6$O8`FBZ4M1tC2CzV3LkT z0d`tkA34yGMs+7(;J^7@g4FJas!&bnPr1Q4+KwTSSut9+K!|8)vY`?2+(D^rN9Y0R z5*4$p{o<7{_y_nfCt9;3q@t7+ z&=DP!xIbutBs5uwDweKbc9Wjn*Oj?W0kAvSnwd0{Z_sTzM7n66Zu0O?4Xt_eC8tQB z7?S+9AF|lMWEYa!4dBt+&N!wD{i)=qvJo4_6jVdsGJOCT7L43rVoTsy2|Tc6z2D>fAxjDj^KZ2ZYZL%@-Q*3<5*kqx`V-%rLix zrWv(maXh%lbi;*D+G-n_^J*7}u$SaPu%Y?U<~ETv{#SOBZu)Ky=J>!gBKK;FQ$PgWG!0Lx zq6pYxmPx`?=324XBuH(TgYN{d`uv2rT8g0r0O>jv$6#v!iH6K#n+ZToH38hKz+oN9 z3MbL3cR4{w&>M>gB4bq!CkaKhmQ@&aSPbp?TPYQgIyV)NW}MT|BpgT&0dmHVYiel0u&j=&wDc&_qpuK-Pi^f*%8#&mF>hw_On_xI50gMc6Vl zU4hJWNC;=meNGLA#mOb8o@s7|?uMyU*lw+a%gA;W+EN4SM!$pzS*(j4I!nTv-7 z(I3^S-3V8On^5tN@$`HRshRQ6^W`Dyaq-v z{!}dxpv6oAzL17;f(J8C9$2rgSh%Rlrr}vF%?XatL)XAswbj9OTAea%v&I(SLiNqT zgya(gJEfEYjQezEw16y}TW)ausjU%?QDX^kVahbYbn3EJU~7(X<_PAo-;0 z$_&-jGC_6BS~i$ocna@5_Q_?4-l6mb=_p&PI}2^|X1-FxwzzCDxatDcG{J1rc-(hl z6q9xd3WvU^8l6h52QVH|=0UL|9u60nspXZnid5mzRSH8E^#-Tfk| znd{|vh8eUCFCeHhz37l|7N*1jUTp-7K6GW!$t~SHu($0x`xOiCAjY$iA11jSWz95h zX+gklbCGM@eHYTagIGhWi%l$?N{vOql}F1kBisu|X>x(iU%R^lyAwq_-)1;e%OBk5 z+5|k?Ttgh%jH<{Xn=MQiJV4YEQEbukF51BM_+jgN+l%ww_L8!<%Y*@npAWBbMjD4Gi>GDNP9@nTf0T{>TX~ zx9k;u$ZsXvuOR#y>G`}MC)%ylRw@#E=mR|u+%IQgmpruy=I?z`83lY&HtT&0paYH4COZ4r$QNRjf88r*tD&55lJqDJ@a##SY!cB&wiViR5KQ7=^?2QAR0 zOk1?KUnG6kS;X}&uLU%55-rr?cx{wpP>Ma?siydCMIsySrZlc;IlE+HtG20U6RD3+ zt3tz0lUxu*Bj(se?%@Ol{x>wkP2kTR#npGWW!c&MenuGo7)O!ekrJ;I%wNh zx)UP@HG?G>D8GvMxd+2u`4o@&lO7~Hl z+o~q+wZYtZSgZ;4 zR8> z0X9HT0%=Rs=7y@HlRa(kHBghLEX)#K;i8#cO;6n!ho*_{D;lcC7AcdP)e90nFx+n~ z3S)2eTW?P6B0mp3gbcb+*ziGbmySfC(O{}!&R zF!ukeZ=X6`2{Om-&z-Wy&OEdKP08$LXg-pupxhzf`R$1RjP_zc3)+YE{XH|JoyZ=cw&Ld^`jg`>5|Z!L{kNs!+-?(!I(a*XTfPTe z>1>?bL{}dI&D%Zi0q@^v?>SunO{Ch&q?#2N7DXl`4#uT7_KeVE#BR<=Xh_x!^c8wx z2(CeLz+dns;N%yNyan}NQ>M7n#}zh&Ne$X-6C)Hh38%08LxD@HEy>d&VT( z#+N7T$x|$A7rX?VUl|??w*WTa&PMftiv$i(us=7A*ZhDPT(EGMzxk<*35|PMXi4@$ zGh!q2No@{dQLp&X{-$alqISEQ+H1ftRn^3&_6=ZykeSj22MaVfbV!QQS!ZGW_%2Yt zINC-NBAkZ_XWY~!Jn?9c`0d$sMx^95dms4%xY3>$;C|KI0fwHZX^(a*!b+x<#mkb) z_CN&7&>oJAfPnWW=pX7B0Vn9@tbPI&4RW@N$9A=6?$Em>`{~sc#b*g}(A}V_9@uP; zxx?M>it?_Vse3Y7@<%Kbb+qT!ZF|d4EJesTW96qIZK@%V=j`Dk%Gay6z@U#N;X9l3 z$|q!K*Q+3h14e#XL|{9h@iG7|ZYfO@Vw(ojMAxn|`#~UFjz_6;%vF9|n*RNrBem9e0qW2!N<62LxPQP9-Ck3UEe>>Q`xVjb#gZU<~MdS7MWecDP z&QKLffv^W;+sT#Yabfu?PVAUymsClla2N|5(v>UhA3SkJIXcotGWffpkFJz1TyTfg zFxEV|tsIqm&GC0*8g4F`4qYSBad#Qov(^gOaikpC0FyG;sKR_8dR*)7iwQ+ex>+rt zf@=rQ-gq^Ekf+Udu0X^k@gB|n73wR)J|Aic3H)Vfd7Hwv6Vjhy z%)I;@FwI8q4AV9n6z=);;M{t-ZlKC3eO~6eU|5kHxH1?GrL}tRB}$8XEFWN@Hf+8Y zXO>c$KZiSxuKgt`IVt@fFHf1Kgeu131`d3y4mnKCIG{He8~pymyYDf1^8N?@U4+Dq z#kz$OPjR2ARbSs<+%SLZ>CGadF;~^4uo*Ho3pkO~I;u zzeSIQb{8wi-5h~zdZ9VvkJw3=ysR82MM}bVJg)3*Rc-mTcm-NQsi4OjSsPfkP&hoEc zz@v@pn%*|t-K?TNe13V#Xuvvk32}WN7RFV#LY57w1M$h>!{TR`v$N|bM_fR4gLbru zH9tVibW&@W|Ew~omHUsWaHLa-*CG~vkNuKLe7!#xo{l@AtN}u>H0fRZY=8OZ@;zrb zwBGHWKS{GtLU$4$kU~|L}TdV&&;6AYx_AOyAe9) zn)it@Q?D5RXziQVzhU5t^y?z;o3kr9KIER+cr%w*kHY{`Ze1Lt^|ps!sDZPs2YZ@I(2JZfO|U56N_S>VDc$%+q4-1A+<0g=2I?gHp}yy=t`O>TutojN@Wz zxl8{XWuO)jrjhNrEz`xJv989zB>lMyETV9w1LKq7 z%I7~G`a-&VWFmxrF7BYJ0qnZ?>HI?j3j=<^>6OBo%YgHeomKt*^Q-SYXOJ#2EZYmW zru||TsL*4pp5K1krg5IU7q{QPd4nTI|IpH!lxVJywlOTb7Z=vu*}=meI&;VcEIIhH zMzQA{$F*etY&v6k*g=8d49j@*6o!OURbh#kIR(BZ_Uo zYugl%OOqmlPJMr3-@_Nzod@t2H`~VH*jL%B=RDf+>hYTeCXdCXFgI@xz?~cx-5VoKbW!>1Ruk;D3A72#7uppeo2E38#M!P}A0q)gJhIGtWC{{C@slaaHDL{=&j}ExgNwO2ONb*!J9ESzO7Ye~Clbw~H zJRB&lLPm3Gjk_w}c{F2Hnv+wPVCHzxtm}Rc%1b^2)z>q3R;(Sbo#%W^(KB5^JUy9|#H&@w+Bm!u5djGdyyW%Ty)Mr_|BN(6zHU~lSgt2Si&Pl zz-}I=4DjI{NQPh5n2?z0xV=3rhnGc39%q7542C4#mXH+e!j@psss2nc#>VS~1(>eULbxD>Tm8K8 zX?Bt$_B6y%(;;OBekpxw?<~Ezzk0&1&8KUKbUI2e?mD00&exCpJ6`Dp_J}nC0OCPz z!l6%+-;Pw%WivroCqdJo1JmGD&gAUl^xa^hnQB_LbiOH1b_pG3p7*5Op@Cv0ZP;lN zgsk|8M@UV4@AbSjyh%9Jv%KS{+6sZHX_%@50jzUU(9QU{KD0EdDN#a{2Qv~X>q)Ux zd6p;Gcd&!}agrT=MdduX5l@n1=+&6NLQ%UO{awtMhaa2k_204mA`!_ufADRHD2-Ui zzasVr3q1S|D6*GH=L7F4iYHE1O9$zusbsL1%n0?WVUsZZ`z8~GJlFUEKg=gyE6IOI zw%+&@VpqRQN_NS%gqMO#2pSPtn_c}b%GmLOM_=4Cie>cKSNOf2MN;H8K1MEz>UARZd_}>04{~I>d3Rfbr-=h(bLftgYWEVWza}819p`<3s}2`J!>dx7!pf zt|#|7BU{Dc*mfEhPP0rW5wkgXYVPpo6$r$+=b>-8!L<{kkMYTsn76QrcayR(m6i}e z_+smbAp9Ay_p{OypUU4QDdei|wqg)3oMe`{Z=^pfh!zcB)aQ(IcitPM3`YjmEbMTU z$LQ@V*p{uVN4{Pn!SUJazWbWeVyc@jkU8}SHp6mHR~-^8NpsbK0wszBtqh>&7b=FN zC6Q1i80XfNK_!|ffpd*o_tYc;DD^W^tw_*Mb3xjLI`qN!DjLbdmHLrDa~P-oj{Tm( zuF3x9h{v{FU5{f948Hm1{zo-7zo*R@xH~l&M#Urr;=jLo>ku#{1)UT)%4#%M)_ewb zT{gT^ONaJyl+RY!+bwA#?@!1UzZmnPheSBWy!g3a%ZK#zZ?E3_hn;+Xg~($r^?sJG7xDR?_K>-3=|x&dtOkgcJ6Hm9KD$ zBp1$wbvHKOTP>hJPl6>)cta7gYf#it&inW*TY&fnIf`?H%M`UsLYV*GS@kwnW;8{{ zN-%0}FX>@24rQ!-YBN=U1Fj=x^_5UgslNO@CJS8&oqjV`EbH^vI*pz3J8$xk!{j7DJKzJsL>%EsYjkKB{|Jz>b(_B6ADo@JS3p= z=C&kWI9A%WNwwuyp`Olo(f+ktCEGQvc5NPUNQ%zOQ)vz9fi8=r%ryyiZ%O&+Nl-?=Dhh(>r1(c@$PH_s*G1esz zs8iAMr1fTG{jC1+*?>VULY393R5?UBSFxp1+Nw#q)Fxc4s3m%}?CGsIJ=-*N9Yr9! zX)2w*irx=enqjb}BMa5#qF!;tMiy&SDTSb|FM~AGy`4$Dr`TTiiFi}HZQ5WWYsfn9 zbT11OY$ewe=dc)EXN~iH+2o=g2%L9Ih+LC{wcC*YGoeI0*5P1B(&QCFCTa*+WqV>8 zv4O>GU2Bq?b7#Vwn86(e6~v?=4nc|J#4?I*ja5CD&el~4O{y#+)TYvyw?sk+0Xw^OR(K$-48&3 zN-u!PnY+GWF^Mryw`5eH3;$?Nd+`^`Z2noj*oSZbXU!l#c(bBK%gprRg5JdzXa(cR zo8R?-{vJ|{hM+GE zum`3F$J{aN7N&C|6QmV;)I`P+lW`oWCyIiDo=?273r_4V-|pS`p>qEGy&I-4RJfYB zl%Qd~ndxwX9?qNi8{5AI`XS9v1ACSm2Fe(0uj!I6!8v=hp$b`Sk2Y#fS$pM|^4BKW zDpS&)CKQq)P39g^rn5NA5sioho?9EZN0CBvv+jMPLpop3Glh(ZPWXX zqwq2EHv-Cp$Q84VeT(LUoQD(OSjw^b?U?9!WUs5lmczNmat{F(>sXC(0Ua8KP)LiRx4?%LG_LI~3ij7}S_*Jc(#gd0 z+;1PDnATuEEm2^0>A{R@Y(BnF{kLpdK*qTr;aWq#WnrvXMl&3F@_thzDF3yTVHEVY zS(B`Mv(6UcxVtjXw^(gV!p%Zn1neYAaBLT4Q7^VAe1%XH(WDvp-2^(iNSu;FZ_yO0cI`Qr%kVHbXu0(pTbH^H1Fk9}3TXsP|Exi9!#*bBS``2u z#iZ|+ovDID$)!DR1$3qljt;M?m@288-MZha4qyUHSH z21zNDIo|ke_7+hlM0JFOC#bxX5vCChBQBq5K(Uu}q5_a*SZE~jD1glF`o zpJQN{#@D~~=_i(r$gC!yyT04;HQp6Y*>zubb%8F!d}NOa2fg*EV6J1`Jutq-gsJl5 z-_Mk(=Tm8Otd2uttAEv`^kA|zrNB4$?uHvU-@-xRe;W9ko$0-XU+Ym-?%^8l1pL-D z?P#a_)ZZOmQ{P~?zI4Zv`&MWEl0GXZDnavs_1VpcyThI@enj;;Eaz8`x#!gSwK}6S z%s~fqjNkt7^?T5?Y;Og5!0fNjXAVmxazq6`R+!P>y+&){dHBeJ;YyXy#(0p$(UxjU^YQiTn@7~1esTUIs*N~59EVK(=V>H5(K_7r ze*WFU1=G<&gD$)pP1$BMkX^T4MrU7h!PmBbn4$u4xjg2M3%CbXrE{a?sC~*KL-yGJ z5bz6b)P}X$*aUP~IWY;^OIBykMm&}O?e%MF29NdKi0U>R&WTiCc)&qV(W7F6+gG;_ zs8zXD(gRGqV(jOUfhPr_w%TSaY&8e>9iSPlvF%`MVK9ZcNIM zxwfDIr=lGy&9I`Xx3&p%^mwEfjIfnt*Acb>dnth`8wmFDD+fe>?F0uSIwI72k{{sBUW-w zr3GTBRK*@{J~fZxYFO?uJVo`LDBTTuII$X|{?x&skO zforVYP@(Za9CLrlh8}9OYm+Kb?=#l%GtdCEWWaA$lv1&^lhQuOa9KRlyV%4m+RG}r z$ne7BC5rf(+j_Bo)j><$!=Os<)UF4;x<&!n#fc2w@*U@ZscyLmXkQ_h^p3f*gQLy( zyf?>Bnu$`HKP4>>L7A9dQ?#BYi>WQ8a+;Kz9~O(H2f}Zni~M_r9sK*CZs~R$b_iqM%+QB9Lgyi z{D;O!s&IOd**F@qt+3?xDXehxZhMm`sW63_`_lNODo444cw*P4Ds>t(afB_fOnE5! z9Bdp=IV~#u88epq07X3`AML zP7*p49jvg6{J;_i{h2$v;B0SAf8H@GajFB)G3|soyCBi`FQ*MRr;EZV)YHj!^2$q; z1*|;Lvw`IvIT%+Kq2mdQ)eVFZ623UUF#ZGSGorBVq2QRH9TEywcem}r0bSBJT%VKN z@h1w^s*SPF8nF8S0FX?H-e}CSK5ICl&V-yn}vRgB#`dJmve^K+!>1RXXNQ{hE9$G~LQ35i?fWgDGMnlp%gIyG3kOx>@ zguKao{x_gf#n^naF}JXDJ52;JbsVbdX-Qqc#VKC<;x0K1#T_-mC61oj%IH0Ml%Qvc z+0cDlYBC?$Z)$EmA|JlS=6GCYYRM;rg3uV0S<(DV!ej%2Gp{VzQY=E%UKy*9Oh#Ng zGpc79y2b6%(bfH1F!%+5APLixi`7iL@(u(^D8 zhtVVLJ`NWd9Ywua?{AQ12sP*Xbw)cZIM9)8gHPhiw(W@4IDSbN$Yi6T-x^au*ddb= z-4E5@zx@f`;`iITz@m8lXAwXg`^iX>5?Nb|#{*QRwc8_NWt-9l(wUGn zJkGL#F(Qa&_>5x+zh%UL0?f?N3MoT6OG?*az6#}ZIqIo#(d+{C55ZfWfYV5x3H3!X zwf$X#*@pTQyFK*Y+2?_uCO_22$y8^1#*9mrkrHQUOa5})3fnn|ViT&hMXNDc2BN=QqVQwVC!*TwJlMDI z(9;rz1V`VsUhf4xmzwxK&YuzHBsF|0k9JJ;;Kgo-Ee)j}_Q?-6^nPG!-C=4C8FhO|EiC4|Su=&C5Av_vSai`27Fmu{E4MJ!3wfH6j;YdMix+- zn9loKx+St#$NAWTUMd>EYA5lHAeq5i3Zt&qZl<}+3f1WfC=J&Lc2DOEVgxdi+K68Q zEy8ZXlbf5XErNbRGokMW`!9E-d(eR|LbOV@uIZ6Wxo`GB4sP?H4}e6$C<4xiK}`F_ zdGi>sF!jJ*+qhvaGeCP>r_ir%UZtmyiJP&Mf=QVCY>63*1QM5>GBF+XT~bw$T5pnmct41%iEM$dDtev!6M9Sr0sSVTNbq&|x}!MzE1n_Ur63-~S?_^X<{i z%ICt^sXQaj;r`Pmz6X2^J2$apgf7|#75;{{^RT%70ZYOC{PGG*OZ%_f-zaPT^Fb_p z5&)QO>0r!$G5ZKTvr{gT0&r=OLf(D2ND@{mO;=Z#toJ_#_7r_QHOdb)ed%*@w!FOm zgVG;S*$3J<-}H{cNrhGrpV*u@||G7(5ekvCFhLB6E&{l&Xo&M{A$#ifQ+5(@%c;n$Dz})&wJYjZ*O4?nppirj~nf zM}Z$^PTFOwO&Ri#n>IZy=7!dtKx`$fai8t=YKe{=3P^lo!3b zW%56v;cGT3gOEeS+k^iRs~R2PG|Vzvp!D{>)zzl1kF1`}3e-@RX5rvjO;t0fWj*Ci z8}??j~?w{Z}< zq^2cZ%SCGv&I9`{vMn`@;&f7tG%brn;$Z74K}XP3v5E@aZ;jZIRXq8IpKhG|ll&Vc ztzX>TbTAF-`Ipn(e(bF5Dc!P^wQm7BZu|-67`WqTig}EYV@jCepOJVZ_m39~K~}pfAYJ_WK2C z3F600TH3Jl?2FkaIsvD1y<*TAe}kbMk(e)Z)6vW-PB`g+A$aA1lv!J>g7qNmTvE~; zWo-<0hCWL^wnV&qmkrk!9~TRrtP-fm!s<^@Q0yRpKxlCn_2vcbY)F;hLZ@RJd^E-` z4|pHewn~*O0`JarjmB;DNOubv?sA=ZXwJmkftIy=5Gtc^E|aX#yr|doZo|2Hx{c+` zyku${PM;=CPsLQcqr@qn<^HA4A<(^S7ZT@8crU@8ZI(-eb9Gb>pnj|)ojXL^>fkEt zmv)KtS!^@GT~PP$7w}z1VPu6d&`#jMAjop?7QPo9Yrf3(LL zYMmQJ!@|Kcv$x#xDB)a(cMMpP7cCpJv0c_FHp(RM9_v?!~=_uh1!oy^;FFh5DbYk zk?hF>rq7?VsrjpbsS@3Ob@9=soT?H8_0*Zom3Q3U=*(i%UO-DC{0ZjhJJ?S_IKq01 zC<$w$8~`#Sa~vc7x|^C1$rWEZ*7ns~jXAs1H(<^!wC;-LXZc~sIyNI<*VBU&`QUF% z>#yTp2>;QLZ-{#Cf^Df=N>@r`LQaydc_4IAuU1;P^wdg=%zmtUr?|PWi5-_T-l{Hl z5Txr&+d9X9L^IFek=TQXs;>-d(>=TXsBsUJ(b=Q+yYI#Z7Sp=L-s;YxYqO}mQc@C( zmm>r-60Z;@8PsCNejRhm1nfDRzv`fsK`fKEqp?6kigPT8V+^dh2=9V(U zQhB?9zZ2_Q`(IbOI?gNpC!IxFh4@x1LAw0+Tz3L$+v1LGQw(6+e_o}OC4d0AJNiTY zUy~e2<+}J{w}@u8I6gRwY?8&vd9dVOEq-S~livQw^V&232c+xFqU#vdDoz7 znCXu`*_z=!Y~Y)@{qDQ5#cnaNTkOqrmMXD}+Yh9rN;QaJMq(CH56Ip&h#C8J%qZ4jd~n^6(RYo%}$9RmTSLf+xNb1IV*F8 zuoR15JZbIMZ``f3wx*Ic7f!{Tlh~vmN2p$`udQCA|JZ&U85!7}4sY3Wz&-06GVg$q zr1jxhiKDjNyQ91R#Jf_zJ8b|Vev&iGDDunreqvy-qTfq*rpWhq7AH?s7nZ;G_^x_z zEWZP%J<~dAea9y{XZ^x)qiA)cWrO0b_F?pd_|xzD@P*7WJh~9D zAM-%pOqIz|Q^1H5T3@2waMVb{!xJa|bszj5v2J6KYEw&7{EdxfZ0fRKUtR)hT?3a@ zD_#RVcFMONYn?q|$i7D?q>|=7UmlZ90>!jvV#hhK$xRr#ube_Rx6D>*sL&;y4|2e> zEBh1>&z_{cfj6JhQm#8-Q(l$a;uxx!tljX(SEHu)R|+hYfjwJSY*k$w(|nR5l0N4i zZxBZ%JOk$!m*#nGek#3sM6?`wZLh}8wvuzbu<|v>=10V?syaL_EcuiAR z_M01Q`v`ut2=5t9mc5T+SJ0uFT10XazGkNna1-GjV|fsU4Irw9{0qQ70xi=poUH;v zM-Kt9 zgmXRq%0Ts3OB$M^!}-pbimv-z+05^Ic{9U>&|OjV;7rI7zI4M4AH`H-b;iaa=B62O zbmekhonh2Am7q={uD+b6sCw#S&bPaiFKNHOxd9eZ3<&UhCMrx3PJ{Jh!K`a3nm0pM zc?!2wzPo8-H-y|E`?pu;Nj6@yd3BQCE*NU1qTeA{74R0+s_(0n_vpcMqaxyIr>8d5 zP9f12t6Mf*8ev$rvbJcYqz@KGcPZqn{>}R1Kw>yJ7kujc zBFRcVb-;M^bku@e%G(ELrT(GiX4CSjxA3=|8Z3#jlvGPi2Y=ipFUS;5386#=3| z#Yr(T(KwNyKxvQ>UU`lUvSdk;;f-BsY6MI&*ckKvy{-Q`@KHaVvBoML=E+)h;k;w6 zUln^U*8Yy7nzJaNrqFII-nZ9xeqiBUZ9$d`6=9cGX@c@4LITa+Wxm~iWWNQSOsBd? zJ`Llj7ykb2#fJ263pL6ql@JTxFr>D#3g(RpC|EBG~eIg8RXG>ay-Oc-1+y)1ntfrf&Xr^5H1cQ=V1jcnf@pYy}W zowm`Go!mhMkfECQX0is!bq}dO(`Wx~}0xL~{< zQCSgb>Qr43NtznwOa(q?jo#M+NMjdYEUs_Z7rhik=(PfNuA|h(SI1)yz`d@*CR_H} zQ$Uqy1PWc1u#i3B=~O*q_60`!W=c`@zi69hrZ>K;aT!jhn=g*) z|4F1#ozwcT6JC_MvQ^P{?P(&SuI^L4>IAKk|J|#BZyvc2(LFvGf7_n=+BGs)>~W3~Q|Hd@bpcq5TXGb8d>- z{md6+X5!2@mAfd)3{AR5(JqM}2{OPSIV$SJK+q_tPg@%SK_r@=#qA1BXaQp16lt5u zC}%`U+6X9f3tH#d>7hVT6`(F)5bUwmqewc=7PLc=OW%YrY(1t@m&qdmShr}x*fM*n zGII*B;PCYD0a15mX*m*Z86C#X$i6ogYoAI&a5#$bENqM>^)g9?65f&*b_3)M82+Md zE6lHms=-0aE9>QxViRtrZr2>H?53<%hDim+Wk0zwS<2#4XQK=2LNrRSF+?v|20A+X z002J`y#zqY`0;SdC?*!h;rMA=)YHY!1C@8{`!quHOpEd zUk^=Wp%m_(1yPi&G#ov^1ShDlAr+b9Ju^QCIDX>}#DfbpSey@rMl#Yru#0fSBY6CH zUr+WsYxg1J9ozYcKYwR3&Bqg;^-cuiFT1)9+Y3Jwe5UrkwSE#!UBgnd{zhYIWz>eA4ZQlt=`b>`ZHE_}4f{^YiPlmSsWipqv2- zW?oiHX;CcgE@}qZLr6|d9p=R3e`HoEs&&U}9^pA`i^?ak!b{rcaOndq@1 zO$SBSt%e8|SPxCg44p)!D5LP(nhBmV(sHzO_e~;dDGATJ`QiD+$Q0dg;kQO}3?iYV zuP|^@KaW<$p2D8oK*ys0-2D3@r-3Fo7K%A(uvQk{*3660?$bW2bBcV{aRA6#ea)Gh zSiGjLpsI_QykW@fH~Jh&0DYsNyecU0sS20r+RPOm_OG}lbpB=X@9j{AxeT-_`?V{w z@w?W!b~;US_V!$~SSbsht)H`R;Cj64vu4|LIi*j6=;*0TcYbJ8u?gyN)t*Q{vgg>- zz=06iy=6U;!Tk*+i)0>J0|hF#!k`xpM*i~DkcpuJ0IB=vyC+wr&OIh2a3o;_`4TB9 zTzCIDLH;c4n7P#X$3d@xiy@c`V@~p_u0hRIB(^A4t00sI=dR6HzDc_C-g&`u39`cs zNysgAdonD+x!rDRN|b2beplmwb<)CH9WlMV)@X$@rF{CG0tkro=$)qTp5+fWu{+>Ka6$6At|6LBHXo12t zakZaXz(NZuQDr4=vXQ{DG?9@=h_6dlt+dPnAEqUD7eR1wn9bC*ov>wCJOmp{)(Qxn z)!3&N&6C_-IZD#(gAWOo;|-I9>g(b{cKpp33+Rh*aJq;%MBdmIZv!Wq{RkJ$C+rXg_swMT(~dnjP9`5sk7cD=XLXWjq~eX$dK zLA*XsrhH;{@h#w&5d&>bS_?_ZqO6kDO#4qRV;V~sq95YfCwccQTqsv%o7UZ{@hwin zGHV4p{_G$n2J=0LV^m{?5B0?D&8bL2Usl*{^Jb`k94Nv$mHK!YPeq8pjAw4v_AagT zZqcf@6*xF&SZ#$&h2iEZFWArw<7GNV$nQEJZu|02;Q;Yd(>tSvpIg}f3=fF!lM#Mf z#FJWA1-H=smx+g)#pV`e!`nx)I1$rjGWNeozT+Rh*tcB`&@A9P&bnlojX2V%s6$CqyE~?sJT!}wgVFHuKe$vfjk{bZXP3&%T3cEFZ>EF z?1+wO>$NHSfGLu7zR<}M3;?8i$5e(j&)om#X5C65pfe;}U~JLp9rYm-D?Q%QOb>n0 z%kV(sA=e$)442%x*{|qVx(|i{*CaSX$Q09fHhNn&gYH5HG3zAr$e})}z;HH8zi=-k zX`Ws$sm5O-c*ZlHrA4DA%88L_DVZ!uN+!jS6mS=5KG>uHNW9hhMq9 z>(cC7^GaYKyi0Zh@G>fD$KhRta07(rOIPJhbL-c?TD@gmUUjDwe-b7ls75BTN(aVm ztb}!Y&nKd9pWSrGKP`NTyFZ{;(O^brZr&(_fQ!XD7*lTg>jmJManInmBboNk6BZ(xu~ph*T27XWS{o-EL3m z-?Ldui0+GNh4;}&^85cB;?VER03vGbn=#0XpL4^R-JhJ8TGmp zrf~UG=@W?c+f&{qCiz+?c%Nfsg#Yt+#e+E=ZFy1se*n{sKES4u%;gjX62hEV0fT3j zhTIu+h5yHk?$5^4v7jwmw~58t5MiHF(&W(vT$5^{Y{XSMe0Rho21cQUsa2fsa)m2H zqGMnp9GRPj^|nm`H{sLKA>XBNMRnFN@mr56DnUO~1{mw1$0lij8=iupZ0NWL+C$e{ zDA<^of5>ZHff>)A>xcIu7H0Kx3&6{&NNn3y;7!@YtUlq_Yr7FkPAIR0%;KW8o4koE zal)=c*G-2}7S?-pJ9?wEOV!6hPsjD4OWenz8pS(yGvGC*qD_TFn*SQH5^czCX-LY- zc1M9S3SI9aR#T$M3+Jp^yF+#a>)*eRaDLX@RbV};MpGq4I5IM)R%@e6l#huq4u@=- z<+aP{JIW=myT5du+E#4Z0;)gIx&1+SK!pRSsL6-jH46IyclUErd7-KJQWEmygibIy z3ab-H1Prez!AzTFvi^KOw_}$b9wqo90pSt-M_glkLh@YwhXri9m;gP z|CD_GVm@AnQ(X53?6{ zO)TcXOlA?|teIQfg66SxRIF<8>%5M0TmCt3UG9TpkGf!R0Q8 zdebXDTSTFYk%CO%Uh=K<9zs=d4=jo)Iy|EuEDm>|GmH__NA8^@U1?||JKFNKiV+Hy zGPD_rx|0O*q;GPNY%E+nrOJu(sk$oG?-CUZ8=;J96vQ8*r~YoX;&Lk-(Pk3Uddm+^ zmc~>_u_MfI&2?YzzG9#p=VT zVIGcA1Cz?(smr#8Q${NdCN)|LbeJYxX_SUXJl~oMNFyl+Ecoy2_hxyw>ON%}VHVLf zw1K9xY<<;40_MGbt0CkUwK{7!3#lzL z2#+j;rQnzgVGX*0x5@+@&$2=-;QElt?5Sp5dN9$IvL1y|8w9lqGRdUXR1&@q74tS4 zD0wqV+FD4BB8)QfHWA11_8RhO;rDBU;jzggM_g!=0E5klZt*V;!()Ci4SA8=_)_c9 z(2;MZo$DF)lI@#A+gJBCdmv&}fPKky0TIEJyAeO!mF~JK58k*7r(4PAsmiLtcP}Uy z#H-8T!Q_dMX6NZ@BDBTQJWdv{ld>gQlH;9p=B@ACbsOHW4bElVTV0pd)n|QG1*8tS z1~Y3E4XZ%G4lrPJcrExsNC3OKt_RlP{2%N~{#rsnN&Hc&DLeN%c4Z}4$8U72@R9HR-ZZ~uLfuH|HsmY2MbW7$^m_-!c&Z-@7j_aR$5x+{Evbcs$IVqQ&#$9r1*jI)8jO`6Y?kcj*;O{k!Dn zR4r1+1tpbBokr#j34+ z9oS5+>c(BV$9wj_Jv>^~Mqr{ct0eeO34SygBdw-|g5TX4mPuhLcyQpDKJzA$Ie%T; zfTX9B^<8Pcsteza4`?Y|3GFxS#pQaS~BiO z9ANh~T=dPe*~#$E@b?~OsEMz@3^)B{58EDon0aYt8YbAi18h71zQ;RzJb&)}c~=r=E)BpxhK4qEI<{ zI^+;L43!e73xfSx!j;Q$!Z{q2Mm@1ncs#qr(UoRJV)Bw>FJUZ*_X4nf0CxM5NVZb3 zvsGMxB4p~O)wKWmiCaVwNW{$}gp&0Jpx5!PZ=$7SR%I z&5<9o#(6t_clVBblK**8N9}&Kc%{++FAPkoL9NS@o0f{g(EbOfNM(7gKrXK+vmCkd zQFWRw&=`+y8n%|E>_E_N8u@1a6Y@OcT~N!mwaPMkdoRJH3BtrJc~z4I_fcIPJ<|B) z%7}3q;!V?tu^ZkTn-N#}7e+f@H`g!dC^T2J++s*YrqMkhIRyvkIc5J(@66dqH{Jb` z{&-=XD#FNKxPG7rM2+bBjJYuh+>0WSat$YSZ($BrdtHRUZ5RFaI z#l>_x-5>WU1t4>sqr!06=ufGs^dPlREvTr7DxlfVq0!<(5`d<;RkF1!)+1#DHO+pN zEuniR1dWzc@1g}1x2nBGGpvp$9#x83GF3;_ZqDvL?GYJ78=X#BfZ0_upMM92MQ$RO zXEs%nb{MDl7a4{~eP#b^S#zf9t}79{xvqPha&~C%;PQbo5X~tp?tv{+G*)r91!a{+ zi?d&f85M{2{SI>BNSBL|2%*)l*4u6_x@~<$*FSXEcwqjShIiyrRP$26P&u31$&zs! zJUFS3^i^7jRSGJ}{i1` zeBn?M<%$5mk?fx9yzl{KC%btb)mkEQy@Ep5 z>9rJ22AEjvJz4xchim0QxHvI;y|(9#yuAlGQ7Oz?^ z#AE$zd`^z*(zD;?ck{1*##NS!tu2fG^^xWzPt9y`tDnQ3IGPtn7=Mo@(>xv{k6^mL zkhjDhI)y(N*n1}=j?at^m+!=93}DqhQd1T`gF7!qZ|OgUzjHeZe}EQ6&3TufZN#N_ z;D$V;E%v>G-!~FlOW6Cy)kiJ>I!U^D_uZkcz^>rW&%9a3b-AE%@R!h&bU? zK~{y#m#Hy2XX2hTFp@}>fD|rbo8qz$Hu`|)%D58HI49~Hf3BtP9;l3yP9Y-J94x-R z#=;gXKCst_XwFtO`u^np_y|$exynO}a4kJHP2$od0h4RxAeq9&74B(9=Ql2MvPYi1 z1<$Iq>4twDjJ>SS6wAR#;e;9A zL9ZkF3YJ;5Sq&jpy{qre+(D=KkKo3M{>^8K>b5Bw$gwm;8qPA&5n=c233v>F#ovE)KWe{%M+u1Y-seDpo^&c10_0s1yH*gGsFh2Ea=K_R!75g0oZ;K} zcNfwD`g2aP>}_J4SFWOS-gn21L>j9`fU1N5I`o_r6_AcwPtly)bk7BEGrSeTJJr+rqR5eLI@z0!WU#em^Kc7{zQO%ua~7M z@U@ouICxDp%)RP8)38Od`YtA<$uGkJ*u;ZAko)5*3*%DO>hi=@SY_lRR&9FBig%V5 zxP-BI#%kyuYzNr^6(8w(4$i?E)?zd zE4?m06VjROhLg33t#&Bhw1M_x;ompF#pP%`i$S2b(C!GnMKrdn(9L$BW1fWEVWsBbI!){GfE280hmSS=J-!X5%qAu+cz& z5u#Lpt4(U%U;hFfE!56+k-@Z`KgY6Aa6*!k(#T_{5(bZ+1w4gmN}L4Hawca2PtNrt zdPu%vcNjFKV8aleykOu4Kcsf_wHe@V7sJ#fQzOhfYYffyQyDG0v!3SfTq=tsY0Lyn zMtpK+*jcpsFQIA$fOdD5j0$Ms+5&AxArEk6A9mV{eW*0$drz0uF)D$_H<;zbpOv=s zJp_He1U%an3#UMI3$X4aInzQgB!)Gu;CO%`&gq$tU#e=h|M%5pTgy3P)_C})7Z9=$ zz}VK|yFP*0pQh=isG0BD5TH{N0j;d{aWb5t?(Ch&emJ6zCJ#;Sp;nCn*?$Q*A6V0q zdx{mNQC}WJupRmo>$h`Oat@6Wn#a@lnfig%0s8%@-LbkIFWGJ$lQDq@^l3ETOGj@i zY<;&F3Plw!X?Njke^TF|a4{TKtP#xq)B|pAF92$&7X8{~qgixSnL@128<^A-x(OOr zd*}$`(Yigv&Ujs&H{$>yDSs;UluZ3)!s*ew_nU7KO%RV8KB|F#ddKVCf6@e9#oKHI z46Z>c;990-L}KQ*1Cjx+2<72pEuh*yT?$ z%ipf|>?~=rmn;Da&XnwdtR?O9MhCu0UHrwrD%?oqdvr&k67o>zKfcV+F+EAbW5?T> zbn_bZ>VNxqTcMRQ^Z(SGV%EQ|exi!0u>9rkzn-z}*d%e+Z}zt*%vAII!-^`R{Mg#$ zzhS!e@ca8OL2vsddX4uUnr^L^(8YMF0~~Ia&B9Z22mz*%QfM$d*VO_!9GgtouB;Nh z$^>B{sY1#VWX=siz>t!S9)_O%l;B!ZYYUtpE`EaU+T;T0$1cdK=J)@xk5D`KI9hic z<=rpM@2PoIIrrUPez}0adE%Y?{kLBZ=yUteo<>wfDi1C5;FnB=hX3IXpXe7MAcJ;L zbfxV8h3ChjfXj0?EBJErCBimpNgZ~;yWWA4aTzN}wO^EK;YS5Q9*Wt^7CeF#~bjS`~u?R6943i8IP^A6J)XL>W0hD1NTR)dJYK>JdGw4@Jyb# zN%tb(V>>2aclg&Nt9D>CSl0N>Spw)$3rL5;)8;=AJZ8FZy#5WpYGy^>7{yJ0K|_iy zglE~-Pp8t_R44x_b&W-{r9i17z zV-ISp!AZ^hzJr?u7I3Z^53yxv!@3R@{L{Twavp1F zWP9L$`TqCO#vSl17W}_62j1RkTyBOXrsM3cI5dL=N{+bJ#BzA8nBSlgxfBL{1<`Ms z7L-cYA;kgOeABt27ety}+usU0=oyiyb5dw#1`lWsuYYNe*tQi%Q?su-A0KJ{&vb1c zAUgZ{<|~FLb;0p&{eXv%9BxCJc7v`Jrc>ydY$*rGNUP6aG`LjWmMsAPslPy24}+Z| zKO3?DXE1(;L>rJ(ncvR2z~2nHaUkqX1T?4DEzOEE>&V;R;BN_G;g`J00U<((PE8u%{S~tl~V$%FU{)Umn2m7i)e_#_90eA(V zMdDDjWM^f+#?stzoz}vCbZD-{gO$0h`ovFT8~Eg8A|K690dHx2KseOZOONsR_st)v z%cw?=C+xCyaYzxemXdQ|1!UeUY89OCd-8yzd>KSL6>R^1tH0x&=Q9Zan|D*v_(-ym zukJV$R z12w1d8WyAC4b4vcA){gu8eY%$>N`9nhrX!LiH-A5uScGYw!7l_mS^WNn~R|1oX^j@ zh0~-Xh>(BC*cXg_BlC$8me^qTC5M!0I&i>9s3@xH%9PUC%bPFe5av%NQ5K&+^3SH4 zGPVgdMF>OV2d1zfHLFnuHQt1wE>h)4(g)^`jU(VX-%)2*6f}DF9*Y+pnV;dD3CsO9 zjNTGkKg@TAgZt3bzzcNV#z+x@lFvd}c^*nA^{(j_ZL(G`mKp-lDw{t!8LG7j^@nHm5ab&}Uj~QNuiTq0CqJ@5x9>urLW?7tlrW(CcTw zFZ{a#ftUD~NI}rr?bRaMlkW&GaSlXK;TcSwq)hW0%1eX**D|#ig}d3u|79~T%aiCF z2y!hQv?DCbtz#RwL_fa;{M00VUVy&7$&epVK85Dn9VQmr_im>&)?|S(BMSCp`yd0D;AsEqmZq$2Ym815e4Z`*9p|-$Z%~{G zOcUBG-)YDY&{4I0{w>qTzTdD&cZV;pJo1{XF>bSbT+96K>iwIStpkaw6x!!oV$p`Q z)v4+Xon3z{EpZ5qu7&+;b-TV@znQ<6iHnynqTmIS|5!5e$$8lamaqI{G;qm75pNJx zb6Wd*+-~VT-UAnRGjMlR6x`;rIEdGzA6jQwW^eYu{cpg4ld1D`R?1A5kQLJ_J$FZZ z&$$E)r^@~uu@3aL9Y9mt4t&wPO+0L&nT|4KcVsGtg8p0-(PFjkJyZ!@62F!wVR&ID z<6pe2T~rdHRah5ivLke(POblG`f)WObFIec#jD;`L~nBd6eQ@A+y(Fa33OdYd!dyP zE%|K35NpIJPiy>+8z`$jpUX&>y*CIM^jF}_u-2m_B8pu}vG6F_6-RDDRxpGBt`K%P zK7LfQ^PqKYI}3x3C&-J=dCisNWP9?&^x)%hK8S%RviNi48V(>gUgke(DVxC|apYNO z3SwTnin-=0F+cb;Iv<>mR2Val#`s_9Os{>6#je$N6JX3gmlQL?QSUPe(v~C?KHJN@ zeocEBG3izoa+<=IHi?gU8#%>q8c962jOA`Zd{)^CdFik8PaR=3Cr7a05u-uad zw>XT2cjXaO@w9WHsdiIW@F|>tn}Uc;{5&b3#*>25uM%c|4yAz7Fnw;*K@FF<{|hWc zE^tm~3yR(>-W?EgJy1<@n-hU-RjVtL@yo)Pb~9>-W3CD7jk7k}zzI($Hi{pP*5qwn zq|FDBrD7|kxtNu&6~oTa+}RV(xndk$!`4%lMufB_j6A**0@>)QD7&R9uUY%mCS5yX ze4muO?ifkdwbb^aB9eOTTE1NfcSb%aNw`fXhYyQ;+)hdjVK?-=yqRiJRh&%wXn2J| ze7?KCD;;%}Qj&m2b-pyvmV2AWk&?z7<+$ytvBKb2EWKIlYsNPy-801;Ep1zu`I)Bs z>RFZRZaNG+b?Zcqfez6fgz41HZhwVMrJyla%2_3g5OhwbH`57vLGViZURvL%9 zJL9cyg`$h}dhH%C1^(gxMtNy5@hR#YX&kv+wGkaJB#)vg>O5J22w$_cI5|(wa?ve? zHs*Ma##`aE6h^l~{bk?YwX`t&4P8_k(j0q|933Vd=1L$Xz6Fmx>a;UA4j z#udyeW190_Rnq2ca!XZkxvB8UF?2nik2Emi$q3SmK zUHc;pk}*jk8X-77;r5d@7T>>^v&AtS)e+K3aweWdnedtRKW&KRd|+1)nzcT5o21OGugq(s=(YBQ2>e1b+c=e}v`(KWN5YTboOB>G+#!W8O_p~w8LwcOYS5A4KNa&jjI=Gi|qZ->b z$K+**h6Cqbtwj89&8xeUOG@)Ufu*W-{P=G>+B-Qt=NTVF%gPr1p6KXy2}Txz&zZzc zb(U8Zp4WZriRKe+WlJes=vR2!ha6EQe2$JyWaK*X*J-nNGIff&r84Jtg{5D(CBEgF z_s!&oG{OHlQ(G|JN#8on-W-ja-7t{aQlTW(d;PMM>Y zLzeQIule#LYB?c&J%JAlJ(I~dSP*HST}?Ps@Lj51CAB~DL{f2**jyQmeUCfOKwZ2)8HwX5mE}A^=E`XKw8Kh$Z+~u}>}^EwQt%zpH%ba*M@T5T zTZpwuAlU%BIF9?p<_gdXE}kI;s$U*UChK=nm~f=qZ$=0!d}3(UXC|??fmK7^gM z@)98j4L6;Ae!0fX@Q)0B&7u0UH&=6n{1gh*I%r^)jPTvXD~S~+9%N8&yLI%w)%V0ksNywzqD=y`i6e98$Ll9v>pMeutt&NznKa5aLXU4S(z`vS0=IW z-H#X?T;JEP;Ul0@%7lz9B#cqs;;nqj$#3YDO&L2r6cbEqOS8-lEHliyar_qro8I{3 z^$$MOOPasCy|DelchfG6Cyn~4+E(jWON2mh z;4e>9FHYrN@N?lQ#!~fCFEu7RJY7M=sH9L3)2V_+Bhz551hp&`T%1-Ni{d_&W<;kt zYSipJYvTX%nMG}LD)f@bb}An>mr8-q@2OkR%fJFXw3EV+0q?==8ME8hcRSP#;BDsE z&KnMh!16$*HQqjjBj=%Wq3AOUD&48;&{j}tVe7YYD&GB*tkG;^gKUNM%|$HCl-oxI z_mz+IgQuJztG+@_hO*CqaAnv{5>!?{_X_+In4T#!>#T{t+gf1N!Ma{^`-ai=nE4jA z@X?S2QPU#ljaF#(0qlY(UxqrHe<%{`7u&~TV5`lSWxK>wtua6Zi?V73e*71?46X!K z!<+v%fgm?kMJ><8#E!Dy@f429^5D}xHx{nGiCo!y&(yOC+a*+qv+(mbjU9-&xh-NG z)!X{v4xm3#HZY1!NG0>IdNc!AbFr0nbS-bq0Cq-3$_wr$Q%udcg$Q16QX>O)d8hjfB( z-`?F24adPGC!?FDsZ;&N++}wMR1b^6q3aP4ed9;e@)ZJjD%=`Oao>Fq^~Cuo5>6*F zrXbG4AXZHgTTGl_FJDC_S1cS(ud}X&TsV8nf+^jV0s$_7>Rk662&*}9CW#YYMXwqc zUdqO(ohoO-5OnWnKDjy@voa%+yibYty{1`u8^-}tV@n~X5xzK^BgEK#_XWnE3JO`S zI@BpE=}jonUp?N`H`t|f%0DpD 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%0Ai)gwjO=cB; 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

RQ8>nj`CKVeT-q4=-mm5FVoreM@_}SbDu>5c(*9 zudF-FUEiQa4s&gKFM`-aQc)Lp|Es4yS1Z3gHH`jD*u&b~`7AI8EV88!wk7&4y(1_N z@zZDFgWVjk*j7H;%mMchOTXI($h@I;Eu{q0qL48Iy-|-C8`w_H$mp!iTAobX4*DVOByZo6VQlhMSUgKlkG#5 z9HB0Dte5R}*It_*=h=x(({|57duox^6T_FZzuX<(3>9qAy6^1(w9Z}!xb)+n7&T+r zZ$`#uMrI(^T{Tgk5Zw2s&@kM-p=~CfRTH$CscF||D!zl-diS-U<~tb%Lbi~^6N$qB zujXx*g;CY-0z%xms;sGUUR^*lO<^Vy^J>#!00!~e{iaS$cdF|bjICGE>6-rPnWGYD z{V5@d$4<8^iJOzVBM-0;dBK_ty^GzG%k%0E(6S!t9^IT_SOx8)1oLW4WFXh~i-=)? zMS+6wd(qf!S|Bom_+OaDs0cr%EB<+bjfI&l+pm|DhuYPm=Ny@CAfqrvM-E(ZeD=tA zsy_T5)9#yYEQ1UCWm+&d`qkV2Q=Jx-TldVQfoe3R(gKYq96nvP=~foxIdR42C@CfO z%6BWK84>_l{L%J~U!Q!T`jOhPH&ZH9IFg<~DuC^)XS}t?^toa73TaaIhVfj_s{fHb zFn|?6IIQxFSTph_>DmuPO^)+iu}{DB%WppU=L8MET$rh(j5zcs`k>wagU(c`BuZPe zXO}-{5cY7K(u+lV!G2pb2Er}~v$SQh^P;?U-2SVy9XWKQ{@u4+PpJe7$p}C=)E&{e z_w;66;|8ZMyI&bLl2&J3sAMKHA4$D~Xgc*=->nr7MKF||Hp@;yBL{g+k#aN*C)FXL zos(7SB&4e!6zh}z(6lza%r2YRrY2;_xQYR2be<&}gP6{>=IUfP7Wu_)i}C%4?41^AWuqeb7vDw$%ax!Z_L%T4t1jzss5<%dlK zl7dxLKt4Gm5Bu^!txj&;s?6Pd|M^k~f1Tq%VwtAiR6h8)!ndVS5#i2pr@wPB$y!SfY`>zYq>QC3s)b;o92>JQBgPE z<}Y{LNH4wFPxXD?FKCWxK)U5Net96g2LTVJ+zRpBR;a;T@!ULgBaWTmY5H3nJCgcq zph{|ICUXKBis^Jk*`3MW2b=DiPQ6R=wMVBfj!7Ob>_3+rynaP~W%_(_mKWPumBYx) z6nFBR5PdiE0GxnUZFRCG?SZMIy!_%7{qHWG{cf4ghl8Dbk`|8y9#ubw1$?@%oxj>H zt{MONLj`e3CIrj)a3eR1yQc&<@M#^hFs{HNo$HH?yIq_fDl$;|{;3vCk=#+IY-xeb z_K=r?wA)ghF%3S{Sn7xITRjNN`vVx$We)RJa;6mt+v;IjGE5g%>9ANnU=@MIhva)q zL@eSmX4A6ctSZ67h%ap@nxiiUcYgyj2snGLxUp+;Su#mwMnvFSWalU%#EL7)yI zLMq9j>*e+W?#U23QL&;S2N?{k0FlAgVxr*8Kn0S~C~7^FnyGay7sibLCA_wxHvzq} zX{cw)I|QOuteaBB^=lu{22d&FBkI-+f(k~lvcL(V2W6{7XCgZ^fv%IJR8|CN-+Q3% zBJz#vXrk7{m=_y5^x@rDv{z*#9J?YFg5bR%267C)Ff=PM>q23`j)`jd8eQ8fFJFh_ z^fq3O8>rC)hnO@dUKecbP3VCs&Fn?x6vp582FW)PJ14*81Dgn3c=_!kziDC?mp!$w zLrm3xne?L%^gA?wW1bFhd_S}qu{Mj$5OQfFf)SiGLM%8*9=xOTxwSi|F;Wd~tIrz6 zM_>!)as^<<{aldPx;$9O%VNnNNgExsQWfH}hm}`23r58iWMOxPK`4C6#DNfaUtvfB zWyNWRUU$AV%BPxWg>z3t7V?FzWjvRP0rp;3L6E}`G}fOMa?^IRdN>`5&d@WQS((#i zsFqS0PHB9$!LEQ<$5d6Efe$z zQ=pFK#lHCSRRMJA=jd;Tu@lfVh{hMy=09|Je|nr43J-%SK^!oYaYnhB6%==R!h0VP z$$-kNmU^$Ih9l!*mP-!h&cgx!O$6nnlwy*@%%|&o0z-y{3{t4^GoU_cc|%*9 zUTIQXc$Lry3Tx()nCgWM%w(%}PgijWUbaiIGv7nCU_c{p7?MUTFqfd*Y^SHSo!kTg zFYG3_Kr~#+I296OYM{k(u13gm)rgKv3-*U4CQ%_Fp7m~NO`BGyBb!os{C%a!nzcGI z;~nnlK-GeɄiA`Dx1lx{B(G=r8|!VpZa1 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

g*|G2 zV=BQSF8BISdTO+xVjPYcH`#3@(haJs+jNbse8&nTTC`wHTxA%^Y_|6f_2y!2uDQ&s z-^+H`qe0KnXYg8>ffo%VvoxGTl4YeCMub>*FUr`dD4LF1Z)QyorZI?FJ)9eaj3J{T-zEW|4JpBGoSb={8y1=E-khRM44mX|Srd7jUX$~70#G4}U1^03@O;R&c z_%zeoEuWSNHokx5)84oD8@nN-7GFF_`wOnbi(PPVaBri;`>S~WTzo`>8m<;Jj_|Js zJ_24XR3#xiL$|JnlkTO9xb-BJZ=f;SuyOc}V$R=&%h`LQ!`55*xP(aSOSfh78(cj} z;Ldj7xVoP8_{B_x}xxeY1pfx56W~j~uyd7qrU#N3i)ZILvu;__&d+SCIlc#{uWB@{LAV-1mAy z4E18r*mj&&`Y=Dd;P7X&$=9zZFvaH*`Tr{;apez|sQvc#XNwjvM- zxCag7M49I2n;&1RGXL?laCtZ%kugp^=oTkD#NB|NiO&QyDSbDAzpU-`@6!)c5qrOvkwQ9MmU zk3g6=m8PjV-6}NHg)a=Xr>~xhmI~%pXq2g|g`6-UOWb)pwNr^z|2R)cyKU4K<9|w- zu!&Br3azaT=H~o#Cj9xs>mAlx2Pf3MTvo>~?Zf;OKV&U+oW0FDyvy36<@tpGDT56`e@w_; z_J3zsAz$i`8_x0cboI-}?^k%3VC?^WUwVq*(2bs=zdp5Vvp3_u6}2z24mP-+Ah43Nlj>i63 zm#107uBZj<*9aRjmKDx}wJ&7RE_;O!EjE?5Cz->T`nTfgWPRPx`_m`9nqi8p>Ur+3 zRu_=>>hX)_IsXfNXRLoef8zb|3AS~&I{E&*O^WI*)ks>>3Oox8KJ^|Odb)HRT4&0f zwssxq3SVm%{U_Y_48Tn0IE`U5ds~#^t$sOGUo+Z|G&Cq6D%(Y9j@$LGPal56#%U-& zYPjMt>!v~zlo=9YFr`STl%aBDoNkZV+frauNNzzsFxv5PTb+`dI-U(X!)NX@66>G- z%IfQXSE$o_@D&l22I^Z*52-Mha0v;zQ(aVIQu9ey3r+OLB%JUns29j8YhHUeC~(Ey zYqW6@7j=hivjpe;GD_g6ZeZ`Wv-FkYRGRr%pBXycUVd>-G$kHd#iJ@dw0lsP;n?w%Sv{tCWKAYmUtxBUt(r9cD&q_le@U74h?Pcu)7WfiPZ<+9 zET7OY-PUIde(Ia?wZ1b}q_1&lU#1lakMNSwDsqEJfdp;(tSM^5IHQ zc^$LO286BH(OoAd9JaRL-0Ky(7J>NFc`AGqhfypxtFYop{>hynrvITnfeEoI*xcYC z8kt1^m#Wp&N;P|JuK@|CyfQo(oml}&wpSA(fw<|?*H|+KhbK!ksOf9Gw+=7vq0K?C zwaZoaO_JDnygwuzd4$_I%&0Bx&2;3Mf@aqR(aX}XYyvs>g!p&c5%}|AJ^@pc#uX2~ z<1VN*>ru?5?Qqq?>BGbOgECcOSqPPGZQPBx>jTUciLUN>J&&Swg9G~4wm=3(B5M|R zps?HT_m~ddo>U3vz6Vj3vJ~PCu0KcYSE?&nh3I7yvl*+?IkfS(D#75Fy`w*Zv?Iuz z4yWCY_S57$UR1kTKz?uh)FvZC)lZW~Sz*o?

Q=#H^9w%W$AK`j+1ks5qh9s}bA_IdS`?B@!1c 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

|a4R(JKAh`MNfQwvPb4|Yqd#dmsB(0+6{NwRM zhGQiQ^;vUtI>hvbX zMO`r}PULJrOE{ZjMk~mNHg=d($eGLGoQ_=6iJV5I41`LftAFg)Pr}&FdANp0*A6)( zLms`z?DESMw2yXY5uE7?f)^%*VbD#^Q_5NYAr%s>I;+_4>G*HjjRf0%NBiyA{L>>YoYlHK?F(uWrA_RnB`HMK7W+d<@VE{+_;G* zEpx_|F854%rtTzUSd&B{*tyn<#~BIvcxE)<09^mIdr5HndZ4r49h=eJ5sZ_xVEOf- z1z|1PfB68#i^LG$lIb2Wcd|eD8?QWpvu-N}CgE(#?6;d7u?f197J>ETJiypLyp{eL zXMAoGGP%?xDhXCiY_|X8CADi>zft=Gai@J^#3~!4Xt9zFvPuX(EQHF*BA{2e@Y zlPB>9(#PJcDfN2e{PpAuilID;SvYF8H`e5+`T72VU~)9SlA9I58W^WE`}#N_uE$%q z{KEcaPydU>=EL#u;ER?Rvw2shSUkMx9mhosUX}sKCgXUWt@+Eqdd;=5bY?cE4Jyd8 z4b}xq7W<|L5MefCTniINUiUAVmV^ZQ@_8VN$0WlAhe_j!Su%CVpm~H;Dy1W&z-^sx zduMB(JABaQ+@+06yTNFll8aOQE`+lfDIsNFMGKAVjBp4FdH+SO@g5E?#sTG=G<<8w zC8CWX<7Id5-`Q zMa3x7ux&eP{xV^1JjQpO@W}!nd~Hf2$`B})!+Kf)2X9Is3Uc?RICuP%D8Xi#9H^|| zXE0-_T{YnmYZ`L_$A#!Y=?#fFF?-3Ao- ze}DJ0aP$4ddV1E?KW84%|84a=pdP&U)G)Ex0IJOp+PtqN4zo3g|5c!|8G_ZZQP|r2 z+7&UDUccejLcoLYub+PZ%JCDYeuC5M>83>=Jr*mac4P2T|2S8DXGhnKOuSsY4Ms2Z zLncESlqWea1~{hh^C&wmg~#7gLjvlLS#DyNXt(tjq>``R9ULA-PY?a>b!ukjzJ~1% z0ptVS!ye_g>k3mO%VEhT-A;O52QM*^^IpUhYk~$i1!K3D3aW;ksh*yGVOj44xz=hI)Y6 zlDg&>y-oapEtOMzn{Lz2&G}gW|4Sp*zwB?a+c_11w`OcHZmm8q?0Im!oO8$wmvd;% zKtmk5gju@{VF3{)vm=Ka-GC`}wy=)pUd|p0Lx(aAk;E)2qqX2)`RpHNg`&X@N61!P z#i2Bs=Zg2*-fYFc1UE(Z%IR1pd0Y^m9AzB#@IblqSjG$`@Qm&5%Np~teC5se-py;j z-q>3*BQ%wR{FDXxfD3h4Wrc^EA71H|^v*=45q0%Wld>4yx$_ea8=`;>A}t8&e>58N zr4l9HFM2iHwv(|Hx?mh>343#Jg-(2Hvd3~hzw)>r>HlqiKrGAMPKoB}b-VSajYh2r9$(3Es<*MR0!_VV*RMYau{ztn zF?h#vS1Pp^6+2#7fSTY8bX{GiY^26M`{OcQ1@cXmb>EKCwkjcrP9+^kQg?vkLT z=fzzsA)-4L=0Q14J1-^yk~t;7o70JGE`pLvz=Wv1eZ8ms4YL9tOfoZRnv8L3GUx=; zx+WH%&^Nffjh=7<2_4=*nI1hWy?yFO^b5D;dI*|UALa+1i6=JAE6araZ2zw3spNOZ zE7!Do_IRVN$kZ9*Y|zpf&C{jM0Grsc$*eI*!I9gNGaHTG($W#He4ia1tJrU8p&Fxc zY2nhKo{_DG|6Iv~(tcJc$_RAPG3;*LI$+G-#BIir_|@k8g5#ylRkNp(h#SAA5OW)~ zq$@lKj7tZvEu~ZIOhl5?=`zF4Qk&>+b5b@-d&a7Pv>_kqHf$K!1_$x^2_)5}Mt^|8HG?#v*QBa-~!E|$nM2X;z$oJ5JCDz6oO!QUs z=E9RuA49o5k0yRz5bCSGMTL8i?d`Ku%zHd=k-i}pY+9QK&f~=8b89&LBH$Oonx!34 zbg`!lm!zPjFVNv7r@Ey>tcQ}zBh3<-_4c@=^-qNMkGjPg`$R~i286gIJo;w!+A%|c zI{#~ai&F?lh)3G2k2xI1L}YacuL(iGXA!;WYFfbm+^*>E1#QvQSd;OgtqxAxz7a9s zJwe)QY@BeEe)uH0kk{;*?hxSSoFJ5jAR&^Plu-KZKQ50cFbJ7J(3$oQob*&h&ja;G zX<$aQ&Wu#c2D9yBS!&x-g=kxy;bsvJ&XFzzu%n^=*{X9%9pycFXtS zLh)R+9}P{f!r8l92doZ{@K-P_ij%=$R;$h3t`WW zoCqqGtYoT|V`Lg$F9)2Kx~nAkX8~KrKyM?20OVNENJEg2RbQ2N=ROSsu!b^GR7@bN zauRLgN=-V$`GQ#;1A1Ad!f4x7CwJjrjqF9LHm97ERD)@NcWW{hqLc#$%I!0!`mz@x zCz)^-DXn@5R!z@pX?67LAg)#}m#ctkaV0!-dInn%;pdJk;J#^xus(3n$00I4Mwj(L zsV=_yl0_%jK|si&P=qAlr+ua5s@?M%FHHO{RW$~ZkOV}e$}0>OOep2P7L2>VO)z=7 zftjPTqSXy+x3<4gFp)-9blKo?bxRsR{taQN_Hr<%&VFq_qrt{2^$9QmpATUcoFD2z zs10!YM$#vw1?VzR8{wi({VwAd);9Ko2j)@Op6E!*R!h59Y+~sSOq}$u1@OAO=fPVV zkK6k-5Z&oz0C`h*WzcThaLr;u^uD|X{r$m`rRpTSTCJZE%^~auy!AT(cXJp4#ZFKI zcOm69dlQ-cF(g)6v}S1RF|asx`VnRMCsJOWwpqjBlXvgW`CF!c-2CQre#>~MP3wea zf8`by_dA})w{uby>g$8g%`?(EuabtvH0kBC zbfdB1>96OwfX{1q1z%fPQRY=j2i57CMw#68@}gz1ig+c^?ajQPqF{Dm_v@;LaTkN7 zJ0oq^m5!{6ebuv9lL>38Uc?27f+pyG~H(FvqVKNGxJoEe4@@4>^+{kaM& zQ!7?s6triWtNvF;+qo=PIUQ-aC@$#Qd$iGlUbi(L6!OQRTGDv{Y=5fVrDzfkte=7K zDG)d7aZW}80iPwjv_~r3xXEal<8%OX^bH;++DO5!D^>|=Ni;wdJM=it^nCLluHE~= zGV$9`@;ppIKBAc4Sk6A&H8V#%2TALv5b~qBsK^L-eu%pBg2~-RR?vME%xH;n5*~v7 zzpU6glhlzAMzPrL`m2lSA51&I273H>O3M>grNaaiMh^~Cg(_)PRRd99TMjSJ?L@Fu z0*D$7K>Y5yUp#|qg5j@q>k}ADUpItb;5wH)=xDr>N#?QJ*0{6yS}+m^dsg?Eh8k|Q znR+c$S}nX9zP}0+`lj{vHRpM+_0MMh)=97Cy76<{)`lsJm($zDKA*>vN(6S7|2(gRv0>GKHteR|3!#p$t=l1`qMP27`5E%U9i)JkP_ zC@@?!L-&1IwV zAdMp4xx2Z^ z%0IUM(tjM#E|frTw7jWXEks3ulyI6@1K=v!ad$?)=V|WcvlE^1Ey7c0x1~rTZWLgq zuZ7~?<`aX>JC+=xGyc=3*zv^%}wTWF@Dn02wQdT5g!1{@@s&69R7p?x9Jqui0=fThLV^_nja12k~= zA7D;Sb7;1vOE)FhU`zvY)B7qRLU!98kt#j{CX=}qE=p7 zJ0u?TiF;2MEolKh(T*i041j3=^?@d9vUE2D$7e?6+D?yo663Hud|qy$0fiiEu~fu4 zKdMs0;Xn_sWf{Ui_^e&yQouSRqwdFmLPPA#T6^;JR)MEVDcbvnpYjgn~$(T-$@y$&m^v8yzEKD9TqIHl2cN3S)xmhrW61K z%-%$}QVz9*yJmQwn@9*emgpJ}8L&cV^YIuq<1R#~XlNVK7REL4$rcO^ACI)VK&x8g z)jlg|gbzGg0KSCz9+Tz3+8k|b-me~h<~_Luy41t`G)$%UKH?{(=bc|=X8*-{xRt~o zpX%3pv+Q1cUfq1c7uEnXK+L~!vbtKF_O>mVGe?fP@WA=z^J}pTSUgO)_ad9SP}gmr z|BIVdR7OFOd7%FvK?+7$oH9Rkc5`#VV(wa2kEl?Yk?G{VmRxWy9aGeIv!oa^O;80q zM5d)1`Ox$-QC9OFd5oc(hoG?8LmHstQji5cH zd>Am`vY2bzeN?73Nx&s~cb_YEjY$qM>;K;;=2b=;CCNF+Xt8T?cebueVd7npS|`&i4$$oI{|< zGRanX=g6n$*P*Li^k07kQp3i-bP+`|(;5fL3muo3qiP11W}_t2=&pTuK3&pP9M#W+ z6-UEqL8VmjxMRh>O0Hf-CVi0U5zid)^vZkWh?cf`kDTEY6>&ua$C2A>N}q3c4BlPA z$&!SOFMpvjG7^MNv$4ql8tb=Ly;aNAwFmMiV?xF2y4Z4=)e6}PqOUXR5{)9`ORchE zfkXWfV)D;iK;$N;l;y={tTWlaSoaeG_?`%dU?*Flw6;a2mKN9Dh5?1fl)LQ*X!k&{ z@ko8~0@};0b_xfEw?H0{_&X9Z2h6|upz$Sq9vk8$%P){AI8K}>5sCmo5fcSAa1_w4 zG6Vuv!Y-+-tT-gth$=*H_b`Z@b#`$=1?~$(E+%;-yPM!411Klxcm_SazBC!&V>j^_ z9o^3_i{Ns)GGx#n2Z_%@pwB8Ei_q&Bu9$7@a!mJuNtIc`{k>I&Z&Qh}VvHK3%fVv-Q_#hSe}C4=cL0o)2DKRj)XO#x8uGA=`Rb zvG709$TdQm+&2Ur>vGoPNJGBPoD+nwkrl!XZo|5Pawg9q{<5xjw%rxMX)-cMIfZ+s z$FO_$ne6P_?PZ2GH6Cob^`$Nb7;p zXW)b~7xH~FM7astdPo%LuDszfxHDE_b+ z8cho}`tC7yq%}>+pG{$k68`5#Os`>;F6+h`fYU*-?md9sgE%^Pd!c)uKwp)PAW-RE zn%`DisLXaPJ1Q=r0#UYp3t*+-PO(McqHn{rSe~0-Ut#S0kLT#WdPrpd2^T@p-;b}? zlZa#wNO9SU|Bq;b~b=}jS`3&oSvIUs_HM?l|D>r&gYO!*$I5QU(RexYbuVS|sO z6P;0{VA(8Q&|g`r@8jD5SN~}#CC@|kQ*p^Mn6XT7C(K**JctSd`*sPJlH1_0VCWAhIHJkoPRO;Q{tbjpNH9F^iuOE-57m#T z{S<*UxhBeM2~dC0S^^C=aFQFur(c$`IwSzY=)=0;GMNZ7P@BC@KaV6e(|UOF&+;z& zzZEH^PNoky4NG%oaG3b83LsgrHKVYG5?g=A6|V{&&LJRcd@u@srBrUBR@e`W zER->Y&;%xFGxB~|l{!y_7HI6&qAOC?(r0FDRGe8#enEj$Wbbr$mvTi!RU!QFj z^s6aZAyYM#)c9>~y+!!KS<#N`#eC?Ux?z#NuB3IiHTm9R zJ9iJ6*g+Z_!<4I?4x36c35juRB}+dodNRs7R91vI$+g;LDnAIqALVrMR`q$XNM9=w znC@Lgb=&>fI^k@2XMM*4;3k^=kDiAnb##D4=L@2U1$gRDD{%CZ`hoNB5-CizY}S-I z6XdGsv!(inX35aH5I`6`!AZVtxHH>Du7%*hbfhvDZEFFA{$nMoS!awW)@g=~PW44pcaww1moS6%%oAd!JJQ4ZmsdS{X z4wh<#Qji3-4J=DWt?L12wCcDosA1J=2Y&v?(7Yey z*d|mB-L)NXq~|I_eeFi9VXp4FF{~O!MeQ^*!uSXzCYj0j7t@Gj1K!YLMJ3vn05kJ_ zQY!j?<{|rDZqU`*UCH@Q^RsajuKLxEd2E#H;8u3h1irteH)1u?Ivf%+m)T_)?3vz} zS=-o3A~Bu1s-y-m6D$k@FxIyWTnV-98TkBU@1=|&W?Zh_Htme1__ynk{fKBePi{TK zDaC&1@}!v%ODH95P)mAoy+DG$k!i&TuDt;lqHZ*>Emd^O>HPmUdb9=)069PiG7Ee4k zmY?7&@GPDQA{3C%|Al`gbU91;Omr2JK-&E+A3p|dRxAr{?F+Q4dWaU9td&Oi?so_N z#D}Eg#v;+Vu`Jj<_+zmCa*c%n=g0im-+`}d@gPK8^FnX%2oxfG3fAMp?~Si{=kz9V z+7SY6jXDo|O_7V-B%$Sc0CdH5y;S`CuzZ`^7#J5>b1OTJE&z<0#{ZwtL{h? z4#XkKl;;gpP5RWKJmjkTun_k7B}>F zzlTOE;E-Ox{(+ff_sK9Dx(M3(%c5*p!0Mk)F0HnQJQu`(j!~CjLvrTn;P)dDfBEvi z_nFLAN_WBirhc8BCnxW`!)sohV{-eY)2m`5T=;q|Q0>0#Y3m;dO)^6@sUV>QWJ>;Z zb^-5F+HV{yegtz}r)TBuw8jT*CKwFYrR_#_-0~$Mxk9f8v7$FLEW7|>45xJ1cAK=a zd|RfGt+uf+WrzMUga&+6c+X}&^SMjex;I>Z(w)p)x5&RB;n}mbu_>dn^1N`Rn+D)* zN6p0P9)UaJPdmCsskb{8LChW_t+n71)e(WWpqycGOT-)4*&Ly0$_ALy)aikeUYnPO z_S(<&dZY*fzP{8sf?vC|xy2DbHGn?@p_n%<1;6O42tg{Ussu~zwOB$HuBOiA$4#AB zUAncf1TwGzjctlA6_LKHM~ev7c4}eQiJK6*P6K0WZhF0Oua@4KaetgLdH{ww-mAHl zC>QWfLi6ri7{y(Fc9H@2`SA>Y$|&n8gLv!%?!DQ&FSBpY668}>jxaw|<$>pirfNL; zp{jyCNpkt96lMHLi_J)=M%#_GSz&a?#?ow4n_*a@o&tD&*s>s7P!0eKuC=kv&>+42 zHF*MGg!#hRUT{PhPI)gsAT z2OW?TpkTY`gTcB2aQvU&L@hQ~8HY?)_V$jNQSbop!%F%i*Jhu7@7oT`fKBXKE4!`o z0l({&2RI4MYP<3+EK7W}+KBAaT4w#}u$2>E5t13UGL|}?$Pxyk!?!;^ikmAByS%pl zzl`nq>@pH)*28JLvppL~i{^vwr=&6i8MODU8DEW8^KA-SyW?%6@TyP+e=e{886TgMzv}ey z5ssN6n>xeCE8y|8RPbZq0FFod07%%f$@p&(gxXk*4Aa0|F;buFAWeU`64#P2j*6o) zTToA%Egg4e1|6HUL(Ubss*ZQm^=*x-_{P&yRn!9U6@lq!j|4ulQQcwZ#M@~Ti_Ki| z?OfkKykIY<&&$-GFrx=PP(Lp+uuRX|OZ^w~%nb5jX(qh$t}jY!pvM%+i?&%(XIt6^ zHzD#e>6alo$=K=E+yz^>I?i( z+N?jAD5q@Q*M9 zvR9s-zUbf>v}8Zcr!#De=I58M?AL%x)?pv_X25P(ohAuYg$hNT+=WCkDbjIr+;=Q% zD5#a%45%nHnQPZ>$<$}*c^F$H@!&~map@5AB(EZDphKyi#nkJT(lIYN5pVQqe)}5` za#2Sv5DPXK3#;BUGEP!U=R#LnddD-zG5%+l;cHxmh=1(IPnQKtPHjuAbPGVB?J(%i zT9k2P>v83KcBKOmH8%CaSY)OP!9D=W6QQs8l`(L7#unf_xhKe0y(NGSmBLvXg+DKp*0KM5%6Y zT;{A;-6p5q>s!j(OqCvS0TIaUSnxlBSWp_6R7v*EDnOa0r1}Xmm^mf=@UM_<_BU&7 zT&p@K&9GR+dBUlE{}4M<-KFux-G4S3C9it8{Vx)9QNxzmllAi^eU68#wd*xej41%s zj~SB>%w+SFnZ}l_R+bIervlSTp{? z$^5y)Xvso9Au+K3*T9WkM9e~hdw$qko3Z_P{Gp29S?3&%XInD*Y*48yMem0q%+pED zvD{UERdFJ++ZDHr%q^du?U>6odpW<3nf5sR*k7}|d!4Lmn%(lGZ)j{y)?rAa(Zp^? zw7#p|=$K1rpN1M}#U2YBc<`u;cSo=09GZiAtbXCXpyS-lK|o;&0y6`vB{jq6*f*}a zQ}num)2hRGDB2(^IdK|NAPW+gIp4xw3B!OSv_TuPYY{JH{X+Nk*x~CwedZsjtd#EU zIy?ta7;_Faeej=0_&iixt*cFd7b=0?GvA*YB!RO-vEOaj4X&*$_K0?jz3c`>K^hHI zb@pc*#S5r{lRt5v5l7EZieRug2yhBK^x*x=<&KQZ|07sROeDP3k7$knx;lyM3JO4- zRmLh+at2Bb7XpatE-<*<>ayF;)ys-(pq^=`H$0%XmBfT(sp_B*gR@asCGjtA2qVSs z5pKoGyMmoj(&gi^Jew3aH3Cq-IiaYoQq_!}T+v$;E~nRI6~I5L6z%U(4WY}5q+cVSG7-FL4+x~oz%!J?F?~o15{msf5xSkLA$^t@W-ibe{Gc0*q zp+neG4ZjYORPVoyX9J(Ax=M;mE6gepAMwH?w-=`ggFLLpqSv>d&NfV|hhB5iH4aCf zN@;Fj_&P@m;cJR#W#=07axUGvy%bLCc`>!5eU+y0EKKgE=o);dC`uCi2pOKjp8puU zzXkH=p0;dv!1B&|UuIwMK-Jmtw&0gj@nWih{`z9NCq;Z|8O`nM2aIc!*w?w7%?bv2 zw!i#JTTUP3Ywk4NcxMUqc3i=a_I5p;e^t@HeZJi8s8k{&jiJj-9UKH)LPvZyXHlJ6 zR*gKqjnDY}`N)~=&$+4Zdg?QVTM^MzW$1=RHZXojM=;;hzBm5+TuuEFb!U4%T=N#2 z{Ph>?M!2{8SH?B>_<}xJKDWp87TmQd63AZ42an-sD`0`_B4WYEhbmr+%Lt?V;DAc0 zh%rqEGMk7}yyOLj+)AKWUFl#A{vu?t-W~cHYaQ)~DU4eIvnr0VatCB`x+C`5qo09{ z#{A&nrZ3Lt6WZ+v<#Poim_Pf-%YoH_ChoEK0=)jP^b0x$y4SCs@$k@p_n0$(=6@Az ze#@f8ggdrgtJMQ_Glv*M z$b9g+|C^z=%nyB^GRy^{>e+hcyRMNFNFfxU6pB~bVoPZ!=+#BG=xEM%5+|m$D%G?4e+$$+ z#>X3Le)I0s6w>$)}@Y=Mh(WO&M>O^p$UKOT7a2%vAiO>)5yN0(~ptG6Y&% zXIh^gU0jeI6--H-A?V+59ehzVEUgXana4wmg8+txz{x^L4!>K7fL|?}TQ<^Kdk;rx zt+Ji-Ra?P={vi{c^((>k1v@E@ZILs1&MG3yOn9~&Ah;P`r)Y{;5_zUmfmk2Gzz2a@GcW2&rOEYATB= zxmr6i;F(|M^ma3q48zb?UEKdw@M~~;Q>m=!E2E`ZZyA=sN)7tibv@Lh=+bFHXmjQ} zj-Am^rrJ^0c}^RA2i!3Z+GB|dvm0|~Yq_>HJCCqrUPrhNx4}BNy>S|46hrm5b=7eV z;RMiGFfqFMU7BE3QKcr-KDeq-W<#|wekhwnJKV>OrTo;zL{yP-DFTVXh)t4r{Cru6rw{wk_ zir*`TrRGe0O&?z4cnR3Dg0QZ1rzI6Nr347oG?=)0Bb*9UplMct67Am6-5sxYlZ3;2 zQ5jnAt3Erg){+IjB-A1Em2-2k-%SSEi44+*R3p|FQ!<$$&Fnx-#W1HGNWxZ}5A)N$ z+ih2>;l%X^_0ws6z;2kfwnuY*`VhY;TvFos%|;wI{Jwi6v*;N*34LndnQ77WkPqFT zH`^SDQpessYJ+N?bq4OxkC5r+uJ+T?sj4%@vlP~XHdVj?ynS8mQq-$p3QwtT-(sH> z43p;Ca5FB4zNS`H5}~ZBcrH(X%CrggTc&LvGYBWzhRLc?B?Kf+lk|;tymfvurE?l< z4Vip9xNB4WSlq~T2t^4deMd8fHCcnrc~HtJ@xrQ04J%qy-C6LTQkK`M)~OO5b%JQo zL}f*My<2xJWb(_3?Dz_`ADSM1{C0#|ovjUw{3*#Zmb5gJQ!7O(GZY1fo;@sHbhv zf7}kYr|X-1n9mH8W3o#EG> zP`+lfgY-sLBIjqLB~^FwE-x|9pCiB4Mrmy+>#=Rz9gzk<8F_RPe0r8Mru(w@(=&)+a65w?jc-@YQT{@ zYW0oRS%JQr&t5XIPj7o1<-d-vC(f7txQ)nC=z9<9#B9sdl|!}$u#KDGu+1Ov|a z`?Mc??-9MqAe_dg0#hMWy?BbojrpgsOOZqiN#9vp{Ok0wrO7^%=Kj>B87XirvuT)p z-{kmBSFsIl7SY(Rz-p7j*i&57SkxI09MQT)>jDX#-3~7nkvC-Bu{?qlJ=P)!bfSv^ zK0k}uB7r&N4Brd0odK>&vco<0-6TCAq!J_UQ}}i$tSun~60?i}uz{;m z(c_izXmx%1+W}CI>o9bDs?@td70Y%J`$4iTYxHQ#wd@#{ax#HZLlGz&u_5+PV=JLS#*bE_069yPuaS&;D# zf1J=@1v}+0v4oZ0nq)oS=bJPmv((mnT36KT=l){RgHyG;WxbYHQV^y_ab2@min~Y{ zoW;H!IHq|<5+{{Xi-ibk5x25$K!G;<5zoA}UVdeo}BYrUGB>8U-?kkvvhnsfJy??wv6hCZr zcB}U$XKi1NJ)2GxWKUbB0&P|oy0+PP=-;z>KR6NgO@qw~yxx6q)cOY^JsRIzT6k{< z-`S&Q2N!H}<#+mhIF4t1!shr|x=?kj{IE>~dmslXg7m8icnFc^88yRtw5w?h=Sd3J zz%F~g-7qeYfh-cDf%!lZM61DZ=iBu9{3tq?#S+AoeNcra2nB;JD_dgwP7uoCSMz|G z9cfJj;EUr{vjq4sFa)quX8WRp!e^Z|`RB#>>ON-9x=Zl9YkVg9Nio|q@Fr{!pbtfA zBIi(7Jhd0DyuaD zCi+cY9z%eM!+4BA$OGv-{+6lBGiQe0HLZq`lFTJ=KDZ352xl_T+u-&(RG1+dg)w@n zt$^F8KsOHont=o4*+@-Z=w~KIKw`TplC{aaBQit@&4}jK3@YYkKx`^c?NKSQxkvf? zF@E}#?BByvGmQ-@=~2^y>JYB&-NIE2C)PXM;XijDZ#=482gt%xEU~cL9i`G59DUb# zx8rZ4!L#{9E=Yc|4ZDC9Qlq9C#ckYOwec?QR9E&RhH9+3|Fn^(!0Dc}rDHc#``_$X zB%Ru`k%ENEq#+N~Hdy0VG+Xg!vag9|0w2d35c98AM8hu=em(s6Be}hvBKoW1J%Bp72GLc3I zuwb%EJ1CzYESDdKAK;CnV;wnbO88P+sLLu9oC8AHwABPfxjb^`Si0%Kup1^7%MQy` z46R|a7C=0x=Um0)^A6$itYy_X#{uHIN8-cMtiH0>SdDsinh%?XAk$hV_wQVK&9Om1B4kokly`Vo6b!bt59Kr zy{j}E6SCch0Y{fvRu%A8r$2c)ou}qd%`40$S6&_ueGP^P(f9kc@|vQjUVhzrgF&T| zOlMy6@{3n9b&;fTu##ScI zG2`h7w+q3Z>D=NdyBTqR>d9@+z!*Z=wJZ_iDH#<%kaRoasrp)P6KQ&yfW|dOMsOA~ z1Jz93dWXlpDI7FwGBEQJ18?OSz6GTN82Zd_u5W9?y`B8MDD{8fI@mI(>mj&&xY^JI zb&DlGLo=}{1@6W7ZkA{N45Vb_J|SL*m;ddDk7yZ;djC)}%W&{8S{&(BryQL$Wr;+J z6!lT^=?HAs%4$Ebs`_X7GqbsaLb;U6CS01!%DrVl0?YmBoRG6H*tS7PyW0t{I?VuC z18xMMPgoImLf#8GMY5v%E>XYC5!aF-nKbq{bv^b`$!SpsC)G$vmt5+)r1sHh%?Dwm z(KAUVLb;WzvSp%5w!9oFVAjhWgCHmPTXS6nsjQ#G!IhhcXA&8LaSN?0n^JEX0zUB} zmEO!_{N6u^II^^2?dFzfZC3-R3zxa)rrlyd9s`$WV;46>AUNgca@A#Bp7LyGljBLX zL?;AJO8aBk?I>Wk4Rs)0pUZF$7?~>GsBAwCP3kt71L1pn7I9|=i{qObl~Gv8{;`fO zM_Q!6Gg-mnu2artPY3)khnCa4zANP{xY1r=0vRiagZ(cSsIDAWm=u#Ak6x zT$pqVo2NBA?Ot|R5-`9Mk8U4-lHPCBY_E1XWfd;s%k4CLiB+PYA38exn_iymh0n#P|AYbs;OQ)Oe@-DecFtLN!{jgO-v_pBsloTLCde&CsgjF`J&pzj?)sKRWJcejM~RP~8hl@K?t8;;6OO?n#KVn#^cg1jgrP9|1egZUAWMovN8MoHg?wZGm~;Sb4noj!lN4uRmmvxL6kd-E`e4laulBc*{o2b#CSm8*5`d<6}3 zZ_+Gy6V6iPPz|TMMZgV@lkpp!9REFC*a&2xNc3k_eVClwK0ri4LSS#;nqu z5-oADn+#$VbfpzeAsQd=b%P6jw%!MUr;|YS78NHjxffe4o2b|h^AGk@J^|Q&7-C3A zfCQh0RNG6ooaBPw?@g#=3bi4VhpyJTRv0BS-G4|$r83jss~Q>*0@l2%C^)otaGTF` z>Q?P)52gp9DGv1!X-L@JMM|es;+nP0S#yY(!ngOak1u!enT`E`9o2NPVpcUDw>qZ) zZy}EV$~!tt^X)&s4wUvu=R(cmj<0cpkN@TpS8&egLMS$Gw^onGZ|0NJL}bN#wyYoo;}>zm`pD^}+pKaMA`o%DROo$zT357~ok>wLcc6 z$D_AF2h8T9_?0XfTz7W{5z3@?6Se9&~K*S%mBw#!+em=wh%Xo=j)1H`}>z$)O zC<5J8mUJQ`YNjR9<-2(u;Ag1Sa4m*=qiGKCX)>`KrO}c?*;O5sOK&$qhWo|7(LWEl zcsfKOJFIu0?Vf$@hlQyl2h88=6)_ec%nO?E8Zn;R*@*m^E(*}4^~CC9N=0@mI0c)WzhgYcK)GM~?g9P3g}jboncV+6TI-(uuYV?O z9sS1^AO)n*6Db!7t=|WyWnWvAjJfz@lSZ;$0zWyr+E6aXznR6xA_hey6T-`pHxM#v z5MPwZ-b9qgP}wB=mfX=%*M|cYlZ?h}!K6KFyZ8XOAeMpZ#p7_uHr&jn9d|Q4i_G9z zcV1wsXJU1vrRWe$pgTEOU}Z!~;|l6b_2Sm$&EMjCR?JZOnN<0OU$O*<|Lcp@>t6*W zd|4{U(%zuPzsgrLYDNa^;dl9}j7zV!w;Evo%ZwQ#(>n@*yOXwrdzJ8)x*1=jzrHEF ze@%qN-CT}>DY$wJ)Rg}}RSwa$`H0*gy29Ze*AuP9@R!tdE&+1Plz|2fshT%u?*RTU zJ~sy-P_d>SdhdPmFkm4NZ;X{%z(n{6bvyCeyUP0H4e1$I?6oI`YTRW{ng(>1teYYP za@ACb##I}Wy%1J9SCJON9jC&FZrUJA<2}D)U-z#D>DjyMidDr|TH_1s(OyGcPDfhR zM?leX*VPWNX7Y*A@-7&kn4!rc&RX@MEOr~MwW3IjP@#vlJf|&*!)rzhk z*PBsFQlU}yR}p=CrFR^P(TT%lZBNseSNy3H8k~5u%FDwDl*t}OsW7+KaRb_8AxCsB zBCA{hb&OKG%13ZZta_6WL!M6uzT;gn+-`8UR}8`JQzG~CUj%&lA=}eE6y#Z5Ph9fB zGX7{a(Cy&}n)acSWnQ4FY0myU!Z~878hzC`29fxY-yZ*Dx6)x zF7L@tqZ4`sJc_9D5 z5*V-XGc4;o_UMX*n{0oU3Vy@F8$Gm**`6j9a~#Sk{UZy@3P~cTB54iE-|?$lfcWq3 z_H#>MhhoCvWH1E)3n(XH+BOBq;CZqsg%r3aVG2`9h6EWREC5IWvat+rYXg}2Fl(~F z(xI6yDE(1zMlTn@?yf4*FDx3T4N=iS`yd(lIPxS+e<)tAs<$z2SALtZyN9G@$ZBRa zo7~PD%fRZq!$U$=vZo!0k^U%7G1>VaMO-&a~q0&j)a1j->=XlEp=P=XV`NlE*PX2 zoSt9hkvaYHpg}r0dUNSu|-*?y-%bUDWvr%2wtZ;^wl!CKMXvb z#IU5<7@uw`8G3&ZEZe`T_KrxKa$mf#a2X=jV5BMy(EtK*46!7`Z{e7c&!wlUt?Or# zC8-_MU9D#<)qnWYNBuWbTA$1xO;AGv(_@Ep&W(kov>{V0KcQ#*3Bv06RJl;$85(JM zVZD9uBakU#1vaoMr+Yh<+}Z+s`USf-1}_=8xb>qHHlR4qEdCrUE(q5+^f2Wm@i`dR ziQ*#}oj~fc(|Om-3v%dTT+98(I`{CS93cQPbj?Y3a07;9K%}Qh(dtNY?SL&UWs1Qi zj0u7_apwy<0X@~4h4?yy1!F62EGjY9m_O6P(qhxtal@dYE zKrP_>_mN{E&8s^MDS?unqU6~DtUZ$?Am}Cd%#*Snp)(OV|7MYd%pwY~RJ zet23RtiUx>n=D+Qy1uZyWf1MszJcMj3#MWL3(pcRLD|`anUSnbGwR{V#)!vLySbOo z$eM0OW@CS`uWbS&JGhbH{cz|IE)h={!QU0ICd$5}a1b&wK?Disd$Kj#NAa>`Mi%^m zK()vZZQ;^9w|BQ*=mw-T~IEr;(wzQvRJdl5xw-p7=0*4 zdb%Zp-S^!H^)7UH+l{f|c4T7g_^izgYRs`*1e`Kemvqx9*j6)Tlr^nV1tWJ@P#84! z@S}>sBiLut0DPZH%8NkPSXvL8O6&V`L^;5ZXK%#<#)hrF%|7Ww>2;Vh#BO9`vkR-) zJ($e|e7KDiZ^D1vX5_RZY#wWq+V)CybD*Tm;0mOy^9s~ z2iXQnJ z-{P52X2MOXn5pK!I0fwyp3-y8TrA^ev9wg|-ZYO{AY8L6B4VAKry5yZCP&_L_R_hW z3vCxQ)Q-!Tky{8Qw$@TA0SCsM*LVfR@kt>I=dudlW}u(aD-?6}Z6!XptYvX^WPN9d7~`aqgeTL=P>?1KWbLI!|o2_@pvJm6x~$b`;R$ z)|Ghj>l1Ec{#5TrY}FJGfzaW`VWc3;TTg(gguoiEW9{M;@Gb7~M2nAkofYp97lttv z8Z25=>U&*R*W8IYd8=nfb0shhOIJeU*I_C00e~*8Mw&id1)?FQaM9zkoBamzu-Gpu z?0K9U$?!~vW6=Em4<1qzeL}vv$854u0f^F;gANf|J{oO<7c-y^FgzXNcGZP3Iq?@{ zZBS>jXY8OzY`E~aZ`2^X4|a;jGztH7!qkX9CLQe2>U2?-GDX+Qnhp=h=E+8A;T2FW zQfVr;LUMz6tJr|6!|C{QrJF|;Zb0Wdz97wh<(p#2D;$7eyP9Dov=c)ilB z3z-Y4bfBI>@2+({TNrxwRj#iB3l&f&-K^CT%HHc#r~LuUGS0~CFn%(M-@Z+R(<@%v z57hroe=Dg}_AH&Gh=kqhBtHJ~AP+HSTkI_ip>d1*$vKo7^>xAo`m^vxbv>!Qa6Z02 zBk{HbATQ0p`4CD9*^eA32B8uix*eZL)Y8c9ZH5s1G6ka|W#x%Yd3lsif5iThUj^EjygONKru$ql4o3N-04TIko$OK&B;*n&p$ln#(Ijh;#9SyH=JK_nJ7u|wzJ^rYu4DnlA<~W ztn*-P*(*W7DAK%`&q4dyx&MrD5;{$I+MSPTPPbby!ZfZO=fp>+%bi1zFJpkzo`|gC zX8jr#`I`Af%Rb)!)EKwINtP?TkV{NCKwZZ10DMNdgh!bZCCv%S0l__tKDC%-<6*d5 zs=2i}2cZDn35JI%VeW)2LASxCX5_fg+p0Jf)oHH`srmM-_4b%!22%Rb6valA76b*V zNQXH{hyoL`RT$UwPJ1heE-l*XC{4H&1 zqZV%rPN7w}&c2HCWNU`nv1myBb#vvj`2}vn8h8-T{W^l@RF`t^rk8n6HcgwNuj~i{ zEzZ@!g^KA&0?xCu^Z(6{$UTK-@Ke?0pSVw(NkGt?VT_=DNXxGg-JRP74*m=)Z`po% z@;_b=XVF)EpCGL`33bn^Mn140lS=)yUci8j2Dv7@`LcY!QuSTV((u|V!4P1Pcg0o> zUh}P+H-z3YN$kZ4##PtO12X)>k&RTd*h%BBCZ!?9BIeM%|4#ZVn(N=gumf=lIqQec zM@Hn&F~bOJ<^LAEOPC6FpwXz8W`34#tl$(?wW2zdQ>mW#uHvYt@#?M|nr0Z}GFwFO z3Ts(#^TC3)QDqRFhc&kn^@pme1*$9=fnwfwNx3w~+$XuldZmVWhDpop8P9y39bC~i zkH-?quY^U~zezHi8yMgL54GyI{RH8{c|Xt&ew4o&*&v9w881N2+&;c}qNAJ5g%DgN zG+8RNi_?gs8KRLuSr|PoE#1Md+SxLndndC87B{$^JW5&LgCf6K`MA}(am}0yOHDzS z4-1b9b?hPDARZKD|u$l^Vb=kNk+`(9z^E3O4sbo3&lwnrr$9 zbdQYKEaW(!l+Hdo-m;)*GjH`=Sx09*4Bh5P3?5;QyOiGTPB#)EG}irnC}c3WydF)< z@RNW`dno=HSL^6aM(=s9lu&ksu>+*+NBwnHlp^yinX7?4-D58Eou5KQWYeDgo6vt8 zzUruw8lzY~h>L+=J&yz&sB*wOZv&~>L#B~iH{oEVGy^{3R$fWA zFr15;#P)OCUseM?{|v$*R`CmesC%xy*N=k0MUQ5Z!!Wk*G87l%v)LZ6 zAKdb1Qdh9m4=zjGS+Hs-i-;(BkyP{x_ApV5sUPm3qqOx%nM1*Oc-#jZ6?SPGlTGTo z;g*iUc3m~3ML2^xG=AROB|?Al%aQP*@+ukpV27h!aR&9wmUO!6$8APSzm8l|X=sq> z0-c5dN}#*qELprCW=M0;+M86zboA|GTM{3LMN#MeJLJlqyPMNSveyaJ%7g$+a+>mvP-~@?+fGTakOrm-o9c&Lj()sms1I2;DfU4z$I?~%4 z&Hxz+_6TVntTSk;TPS*_d_hX=LW=3(ZRP-kCcL!sNvd z5nZwtZXE2((}@OvQD*FNCb$9=#!&!xpb&ZUJvp0h@OU}+ro2pu${ zx;@}t&Gz0TE%Pfvf+z9ck19mi5h&!M)Dn)sve0*>vp&Vs-;2|$Z8eX#fPqhC-0BLM z!~G}Lf?3rI9feA=XzPZ0C3l*^pK+e8CUCiAH((|(j~2o-4sX*p1nvgfMWtv3icJ(q zZ0L57+Gj%Bl&^ogYN)zNwVU3^5T0gCRtQ3y038s2+C9^R%j9s+JUewJE^BUC|Il{> zNbw15!8K(r9hnimCz~jA6FSOKB38c#kqa8iv@+MG2@P-{E(5+p12ST5KB=GdO+p{E zF@eMm{H=iLL=pW8b?;dTMI&!M;1ObZPx<5H_iR4`^cR2g!*@+}F%A^j+fnd+xYC-giCB;q$s%T0Omis+i9xAtzG;PGBTEYe)k>mcP{9b+=>g?Ej8t1 ztMx1!rePgvhSumtw1*kVBE$!1ge`QN&!DGHR+4Eu>^Mqv+o)t%ZHyN5)Y1{6dNqpJ z8^*{dye@S;mVf$?*+-YbluuoQzy7jl2A{J=-W$t-A-wrL6<(|MRvd!qbo0Vt*-)`p zveAskt1fRCPKUK5gt5mnw5{p&V|jbsLRondf~siH?BFs~@+j%3M{$p{mnfLU-w1v4 z%hzciRx`7{bhv5TfjXu@;>vJ;@6JXl(uo`Ol8Go2}3@lo!M(&C;}v*h^94V2?NP}z7tyS!%GX+ZL}aS<`;ArjA7;%yM?eBwx8~o z)RAD^M(OSB8Ng;5{0+H*V(wRp3ci%DhRs?4nBgerNrn`gH*%NMoz3%EkVwGuj7X7e z+iKzl!&-NPI2}HA*ZW{0FX}&5l;uJUHxGc7vjZmuHOQERA;OV#|2#Dvb&_zjhxt1V zo0C$?RN*CUl#PZ+6oI8j&w_2!1UM3s0eJk=Ij=W*UY5HBlhH`$Kj5Sj!}_c4O86a3 zKlPp%ilIjP;@jmdt*Ig}z**6=F{MhQBcfvw#u#j2k%%b{t%E|7$82eNvAB`)mIP_BRQ?{1GBUtstgGn1`UEimp;*;Kc7Mx0YZbWF z-FEQc3<}sJbL}7an1V|xgG@8{_$RX;7ur=Am%(NUhmge92lJcmOC@)a=L48rs+HuW zgM2?6+`+n!i^|DSw*42fZnTE%=pFrRc3Xml9Adq&WeXrC&scK~WL;zEv=Dx4Ev&jADS;4L4z)D`k1Gw6jLdzk z#ugzfQ63a@h+i}n?ehk{B#f*7@w?mnaj<`Db#g?-(-hR}QPAoLd`JfrAO3#lil~kk*8n{0)Gt2|GcnYN0Rzwm|QP!K#PpJ5L@l zQPWY}6*(4(Bsxs!Rlls6+P`@3F5|>}`!cPuq2j!j0Dgy8_C?(vnemieLF?}=;hSf} z41zJIRSWLDEQJeT^cKV84Qz9#mk78v0A;*yS!GP>k@)*J6S>xB?bC1R%)>Z7Z#QGk z;^QW5|N3SVGMYzrTz~%AhF&MW$?miwQU|rBPUx_YT-AW$Ga>!>OWJ?m`)g0--u1H^ z2BTS=D9^oMzIiS99Fb#I>$7~tN1zmOyb0xXeRK1h@d5GCZ)a@Vxk=K zh=`v1j9jjdcpxe&_JU6t`+^E%G2V}|PV~Yb-Qh4!giUAj%yFpO5CeR? zVQowPI3uLsBtiaBQp|d(3O;VmuPU#X4t9PwVCn^;zcN~9&6gzc-JoxGAunPi7D*?V ziyO@N;4L6sWfMNwC(K9`r_o~Jn!Qp{*d4f*;q^|gWa4RL#l;-R$ z!RDN#LU?0XLf2Om5XtmU(gPa2&hg{6 zv$Rmx_!fyzAz7PAAX0MS?r2qEC{Fnr9?Imci#GC@u|WI`2q(iZc8HwSj0_1+v=`OV zpdMa5@xWNoa#DOkVrbSd!48LEacEdXm_wn4*JPWq@kH;TXecMzplX4_-5^KEQM0BI zenKW$S%$K8-N=f6_pL$kU`6Ti*ISoCFHjpcywdKKD(DhTC=aEn3<%4vh=f{&Mvc2I zUA=|*HY4Tdae0YBjcv7(D8I`sJ_VwxG<^&eX58O7icjQFx@KYix%nkh#cQU&h2+N2 zKdJc+G`_c5IR#jtFQk+YWq&F&1yW{IU6&&S5t_Qc93XH>!j}%PP(Bq;3kEFTpJWHe z%P2Q-^N)N?n!|vbKC))0{excKfNZw6$Hm`BEk*X#W2FkE!riuwNf>0+8L?nZ2wYkF zhTdI0hxCu4-v3-ww~M~?CDJ80jcl=+3>c66Y|H3Tq~8|NSt5r#^Cd#_fvl)6*e5V& zk$qb*k3!sM`{EO_wTi9vue#w&s~7ZIUqmRpwOr+Z%WG8)gx1aTYT=oqANg*Uus#2A z|J4`e`i2*zTL*YgmHWyMp-Sx_pag4M-5N{=xKzGIAB=r$yZ6#HeA!Ubts35~%4;k1 z>d>~3iQv4cfsmK~!W~V7WH60mHVAdMhZbI&geAJa7m-8ifq6b;Y!w*D;H}VJd`r*P zjv^_z%rd-FXMs#ANCel^o&r(%9F17*AQOu75Tg53vHwZG4U5xwn=Q}XNk@sPc0*tH zB0-3Vn;H9yYFz{dj}fzID#joQ-ky@GsH2X{E{^ps!PCXp>epT8B{q2Rp~_{bd8rqS zB_R`eAqepT>DO5Gpyli4e{yB+2huX-Pgb0OC`Ax_MX`ge!#UHiG*fCPK*dfEe==A5C2Vdj0g@qRE0*`sv?n%|bbZ3+jIH)q7*%6RI3~Eqp<&w18 zolL{};g$427j7e{e|KehSgHP`C@k|x0LnR_2)xd zKV-kjj1W3q5q-S#210m7gV@vZ6^#~nKQwRz@aoS#dA4Gg5!sZl)b%6P5j>xbmp}IM zfM7mVjiUfSV|a&9=5UwALe4f>bA3TxO54KZyQh)Y+~{$@3zfkdvL*jcI44tD^N) zax?Xd8O0;Os{$fQRxl6(h9T|x>f(1)cW197R>E7yW(FovmvK}Jk@Fp~wVS$O>m^Qw z_}sw4?6KzNmDI0Qd6=6Mjop?q+HXjLtL{^v^cR>DaC>@|Q?_TO=xDI2a!lDm0;n@Z~pA)RY;n1EFqpn|FCgFwUScN z3WN63M+;@z)SQd0UkqQc1q1O6o-V46*U}80o*ptvo=8u0s*Tmg&F}JO)Kw+3itrB1 zj`FW>5K8>o#V{$DwB049_(Ns??k=sc@<5bDIY+OR%Opd1nXPE+o!tOev0#6LGBo$- zDwzGqQ&l+uukE>P^#!Kegw4FSl*<=kz8-+Zt*8H=EwVpY;%BY1qgg(k9r;$?7z22L z_)2gp{_1ZA7j)FyTXV~F-=wdENm#XuSIo@RUzapoZ~UtcZxGytj6gi4ekpII&~3j3K>4D2B;Yr#CUvktWd!*8F1hsI=n06^%4 z0Y#qO;^p|Zg$MAuShR{JDi8ZLNQS1s(QsJxNjLy_a9!Jp>f8zIJu!+j(8TZ);44%w zWm&hf0)k(Si?HWRQfwp3c{rPi4_7DwKfte7PdewHIZZ-;w*U{?Umr=wF`VA11xht0 zjAva=0QeyY%rsJhnS{a`x|`)KKv-^fR=!jiOQ*JUz5OUd;$k53HOfAyQ+i7azlU-j zRgLx!H4iG}V9YuUJ=hxxV{==P<^)H4aHezjwnCi6jpz=XCrT`4oJhH*=1l(%ChkjS zqL8IDOhV!@o26F{j)HD4yfg-R`g?0~cxtoNIFMPnofRSxKl!4!q3 zW>^L3Ns8HoXLeJB>)P;;=^HtX|m$R=v@7Y!W`6)xTXi~ez9~pZA z_VU(@P1P2|GErN8yf;TkgeF>aLchn+43kHj&=J8oOpuY6yZgU9%9m~{t()Yn#+%#m zzfBcmv(&ZSjiYn$8efk+$Qhx#(Zt?h)S?d;fF+=lO;6aDo~vkv2JT5&Vrq>V+&*A| znz6adz3Dv%rL3}{E(EC~S_&?B=zt9how;O8sw0F7`DP9zgvyi#lHyTPX3}e(h|Ay* zd*ONMsZKu+WC(EwS?sep#3zcKv6opKYP%-&fhb|dmFY}4EY-OHOWY0Hdp6agRilL{ zu=fz?r1hNjV1f`a1KY)}Od?+D0w`k{VU)u`FlbP=GEo09{Z1#u~~9#wZ?QWqvZp9Y*%kEqU0&;2jh*L^vA;kL@_wE)w!L;Nk+BcQkHD>hQ z-(IxZxn-%rMe2?d89ZK6Zb#f+o$JxTM-4r1G5W*_BHlLABTznr=44h(2sVHzZ5l(7 z(OWC%-irZPblHmW1w^N=*0;i`G00n2Rv=K*9=a-lwt-c*m2gwli99MAoPYf7teRm# zgak6?d31=P_Ab@&xB@1n>HE%|A={qTm;*s-3847nyI=GRv-Q9M1c}(&+tZV;Yic=c zn4|PQkH~%YFf`-pfyrbwYI}Hq!meBHr-oN)*n25SoaUmkS>FqYY=3ez0^Wj?uXSKZ z!X`=kv+4#6&rJ&o48~MdVr>?)1&nRK0v=_~1#n%U1AI~dqIFg6YqXQdR`Q^Si4 z?sfXKm7rph#Ak@A5WF*sDsRDQ1*IBZ`xqAOtra{|05Z*$XX--7s<37X$vbmpBH_T4vV=dgA`ee>D z-6SGhr$p4fo8BRp;WuOOSrQ;a8K;Qu2m-m-m3vy||3q5mF2&H*hiKPida;BN(upoS z7renRK;%}>9eydb_>RlBFy(+Mt%l?|Qigz|fG2%6F!_|;?lrg`G&eMIH~txxTZj_B z6HKw+iEYk;%`I~vs!6s-CR5D$g0OHF2B#8b+YA=o^b~NLh3)JB5;YBONOSb0E>k#l za>d5~)KXv6$TVS>OuPM#6eia537}?@1;& z{AT&?H=I!*M=o(cVq9gHIwjahn0;geNU21)rGfKmU{$HVEGu7vx5*S;)5&C&ZnnFN zV}BkDe*5|Osh-Og8SV?Vx5MjoA%?iVCo>D-4?I3W>-HJu%0o4JpO`ssjLHN)h&o!* zZ2tZ4@9r2328ErI4QYuge3TR@;vHQ3oLCQampIR_8Gb)7*-DXpwO-4gk_ky@o$Pkg zH39xP8GVz9QgHRc(4UzPK_pBZ`A5W@hHZheFvpCAh zQK|m=6>_!1|DDb+QkU&C=f9+XvM}KtkK05saI)XIoL`-aJh0mua1+!57m)w%uKYSp zTem64?!qSV#Lx+Ru0ZApW4V<6nlfrs3+H7q6cRhUK;oMeY z+YGQCzE=puy%phd%RK)5+sO&-nODEyFHg@ibj)Yx)wq>ATu2NA4B#W2Hz?lgJQ?@h zZ+bv@Y{4-YkMmNo9L2{u&ikzc$Xc`UgyvC@?84j)x7n)l)y}|^zDhWswCiKZ7R9Q*Ohbn6l$~?y28xJ1oc?M zA-WPIRXz`SRqE2AuP=-`7qAUp98iC>40&|MaY4AblQ!Sf1kkLL`q=ZkE1`|kfO7P~ z;i!s}4eI=^@2adMcc3H=)=sxxNNi3MG6d;BckfB&*WRe60o*^ z5y005pt9#~xBrZbD^O zoM`#a50|I6)mc}(^Y9Dv1p#X1H${A*b@s&#pYDwOALczX2pLJq?V4cvl=-Dq+X|Dg zJY7zhX|7L$7bK(rYQ^Rk-5p}$E(qGF%qqG(nym|MkhkS4nr8IZMGb?Ztn<;qX5@um ze(MzPfyB&4q(3?o?M|;*1k2PN#d%y}R&tx-4BM>m*Vn620v zEk9+uoEiFFxWCT%#tAyo-BlfFD+)kT_0y0UNmg4|Ev>?uj*r+PS7=_H>K-7}h;9^L zOmJ4^p^92AvvB}j+eX|ct_Dao(Rw)zsWR+IH3HFa!!VTXS2Yj{IRDM|VTZgW*L$KdIKhCSm=(7?sLb_{k| z6cLL<>evmzs%&weLwckkTw#-HfHC@(fSuwhka{T70sr8iTvJnR_{r=39}QE~7xhq% zv#DMhcok)|yx#?y^-*b7SN+wZ0VJ*d!QK}>4%i3bC*y{vvv6xXi`rQ%9tInWP@25MxFHN=_bo4@bxC>VRE4u z1Wx77E;O0d;DIDI&w9cuzut7arYDa!2h6wo(%0v`Zw-z9-Sd6i(5?W_2a(rcnZeNQ zT68fDHJv%b@6~J0KQH4YOf|EB9zjrd6l@u=+M-s+4!r^n& z*Q^mgCG(#+K~!jAe5n=9G3s;-&{LCNF<^O^Tm-lnYq67h%;+wd@3JNBrUD6ppAlu- z5`K~Q?DJK17L6F6!#Bc{=V^@3*4XHeUw!BhQr&J+QNxyKenXJLT~rXI0?j`opL!iy z`?_x#!7SQx?+2N+v@R1ssA0bx9krp_9K4MgrpzSC3rXUo4InYT4@_pUhl$oqYVrE@ zip<07Xk}T(7#7LU1NIfoEYEa17s-qNS%4F$rHJ61J9}RMGME0WMGXOg>lZOV3hts# zfRof+(t!sk%G=v@w;p#)bMsN2i%T(fV#lR;ftTTOTJ5%Bx|9t2q*DR)dYdqO&A$g5 z>eC`QicF?$LqGt9tWGQ!c1)BVi?d}!n)MF#fh@TgC9ATKA(jTl$`8uUevsvU0XI_w z_+YXaOgA@@i?CDIgy4%8V`lQ*%<%w}Z7^Ie?=I{BGG=UBuzkBQJ()!3jW7@D*p@75 zq80|EkRgxUUvoC9)-jk|beC>7HOGl(Z17{Z({wiY{$V0b6N$VFtowT4xVO zzIg_a775p8h%_VHtcg8@Hc&!h=4Gij7 z9^(*>GLfJ%-Aro!YT{_?wV-5S!W09bMPP2`LT6b`P|}~qe_AZlV?6^TSE;huUG)-( z=HYzsA4p%gRTvIuVQ_Mlm|PhAR!ye$*b!|@%8MSJ?;Y0`C{a8+c;i3X z5(}S0;=&DJXN;8@LJ!F#&}L@)gKxxI(hU~Br7iO^JWa!DRSvX}%emx77#fiAyjHo3U+bki$e_yp+rBTUM-5# zQmnh^s{^kIjMs8Ouu%bFN-ri=uq3hkd6u3xCDBw3`A8di&28icIeM9$l3KcEH4qsS zkJpmYh-S_C685Dyf@azsNQOh6nqH(FHa6+gz(NN_@U>OnABeas?s zFUNuGEsi-dxTX84FIH1)(Wc&etyRDO2%jkxMqj&!-mJ%{2l{nJH%RWBjg`=F38nwr z<6qb7ZHNTAKv_)Da=tsxwOrq6FA=dJ6JOQ*t7k4+-1%ruVkONH9WG`F2!;ZlNUeC& z?zps>&SY#|>{3R=Dy#$U{+f`icDwsi>pacas&u-7I$^(J8AS2nPifRW880=Cx~}y* zi?Gltz#s7Sn3r#|eaS*-QdR|{k*JW2fKk|-bysLSV*0?orRGJNSDj6%3)Q8n`0vf0 z&3vERR9&R1KU2{y4IeM*6^!IYvKZE|G(I?c|E=k6wnG) zr6;tTE1N&Eg9u=ugPX@x5)WMk@$oe2cQt%Wgdr=Of^C?MUJ#}2=y8oSWzi2x?Px`Y zTMJy?TIe&@#t5N|R_T>Kl7>p}aAnQS!VQ#cyzm#?8jcZ!kpAb%Q3PCS3je#+X9PlR z*t1Iag4vIGocQ@GY0KK^JCCEN=MqBuIQQ_r-zddz(MHlN4%kifY$gBlb6@}5{%;LQ zDgL(qj-uZymXTr|PicCkQF~I6D>Ipfi^*(9M+WMp$<^76EeYg+I3r1k=MGhx_FXhL z5;o=_R6m;H=%0R2-j10X?bI%*t1kz`HA2kcJD0-Rw> zwOZ~daL6VX)hcB=kXDlJT?_Exne`}nS=p#^+>9%tkX2U6-(V@esMCZshj0qu2BlN6 zV7s18+74Uoba&Zc(vUOtigcV_SHVVK%m)5<@es*Ju)D@I{0%QfHRVtWGjdx$aJ`He zTV-L*+qe#VN;QCBOCLELCJ%EFui9U{-N_Y?0i0DxZ-_lt;G*E7YBmy*)$}d~qwfl* zrGczj(HY$4>o_Z_u?`unr`DNOZq4<07;_LCi1;^*z z&FhV0p1q#FUNbj_v3AavTc6ofKKL?bpF=55L(H!d?DeqwjZ78t{}nnibYG)$vr-m; z7J?&h^`Aj_y6>ZoFuUwTPcsxXV)nApcIrYmqx+Y!5oak%Ho=ENcniT5Va6Se zaQP?v1L!NmA8FIc9j_QqJ_ZS%5ZeDy9($csUp=S;3o0ghMyr`h69Y4=&7$z%#(P-3 zA_4eHO%~XEZf-}3Z=!b?j_1-JUNXC_+J@shtjzo3hwz)3ep96zaducYZsG6dY*t+H zv+B+G%Aeb5#dqn4bGaP*OX}pp3{_c!d(q-(^gjf@yi2YjDZ(6iCc*q&pJ__DKbLF* zyFa4Xf`wUSFbt0jiK7f(8YS@)EI{MhJ!UVJ1>`?nx(XU(9et9HAE1uNA>RkJc< zTy~Dvl!hzg6sNHJWsG2o-_FFr-du=}laPdT7n5Z=&#jM--ulBbG=E>M>m9Yhk0vgKlz-ff0wVgyUhW_^Z0|YK&{m zC8oT@b26Jvqi}IS_N==XKDeBu+!+Pyrw?iLI*4C+q?D|>ym@eT7Js^kI4s~f!#=&f z77W3}Y<>1-+R-!ytwWpAi$?1?5e~(j_+fIOT2N!U;h>s|FBBg@?F7#WL?g^H$k!|n zfn3ks9xTD>QbuDVW5YEz^d548MV$3Y_e~P81+gYy4rUCE3j8Z<)aEh{x+=7~ypg+S zt6C?vTMdUUbOh+r1=+)WOghHQqeNcNas`>uk7JByOFI*i%PP)w@3_87Gfi>?wV_NR z)o8rMK+n;xWS4f0dydKK{#aSLa$M)~AC+U3_*lrTv^owU?kQ}E;ZW7!a;Qx%ALWpP zv9BI^Kq%f8ri6T(sri6Q0Ht$uY6kf>$iptZ*BhjZw#f)fxNM=mg}hH5dH`iVx%1%h zri!s)Ex=C$}kLGrGg=>^1qn!R*EMO4l)i?PTk|j7go4)uZGL` zGShl~+W}~G3ee3ehyKV;0_@TnD@^$EW~K@ud#h3!6)6=)C}K^y9{80)ReE&}?D(mt z7)r+ah1K;oz;Mw;%;Ix{O{K?#Rv02XmYdM@a z%drlv0GyZRFa$z8cUKH*oz`gL6Hq)?71j;@;H;j5+ur3TD_oL=3Jph%NOcfzMhx_@64BV-Jq>2h+Go|)P*~RyV|3ar0}WOQAAg+BAQMz zDEQs<9Hm*u!73vTIkd>W>D~|6ZM6Nt5~Im?Mf66|uDPA<t+?p%5d%!0^K`VT(eA)FAn&6j2?8A!KH5!TGaL1EJe!zrYe|EO@`+#~22T z{LJpkqIM)}O13{W4Sx^LV-ko%kFI%^M*rV~3DEOLtUkb-xyPQLNdxr$2?uA^OW6Hy z?md%vy6$t!;@aSG=afhORuqtlBh{EQP zTbWW>8AF)Dy*Ye)`{hVL{RW$ecEeZxj5H=`e8ySg_+oql#K$rpnnnKEv(*MJIMqqUb!{v*7sVpZ;>8nOV z1R@23B?bH--BsnW@SBsx7VQo!9ED+Qp#&n4bi>SXD_lOOL)SFa4)@Tz)yznjAG0jW z0d_SW23vJ$5@N~m5{?e0UQWN_zp4rOGsD-Z<(iPc=xAoP5)gdL3I%zT(S9A# z_a0+ao^@0n{E$6`kg>kUVRkc`3I@Hj9(@a6$}|efk$oKYzKdF?z_`mMQ)=S}r|w*` zJ9P22<-#ZZ9jdDBrR7$hcdb;d*PznXQuDubO0(SIBUunkMmsXhJDNfgb%qYkUU4=5 zjWxT*-ncG+b0{%OyvkSbxCe;DGbuG+-%>>LB5I$Mm-MXH2lL~C0msa~FQ|*gXkp4g zIv2u}$GT-s3B{r=*(MGOGuq~$rH$@~ zx{^GNHqxBY%H4A5c?sm_cJA;B>hMTfp!(cPDsi+|(m9~H&6)N8e64VQh;4!WwD`w4 zyn2qo6WM;A!`a~5`NI=nl4Zb#F@&v3>B7xIvTTkVw`;#I9<*BylrbVzmrwtiGT9es z?ue~(TP%*;2l0#M?UqTxkmDf!)!|Guc|EN44=9=n1kxYSzbfQzPMic*-odgk$*Y!s z*-??QmL}cz7mNkW-rpe6T=JJ_(RYo(@o|#3Nn7_mqWLNHZJ2bRpwP=+N1}j#$9CM> zCuvd;Yx8B|Ub~!tKWZ>~&3#I}sPfhL>M|!0ipAkLq$mfms*4Tli$M=#d8t##AtYSa4(O$~1OiIaCBB*W0IjItK04NB=gGS0{ z1NU~qJtKpd7Sl)<8%9aW4#d}NW)=YYT>LFys!B1-Zo29lmgNXHyfndmdC9!CLfzFE zk$Bd0;`9Z3U9knX+!-=n5Wie^($)H{`&qe5Yjuikw{QRc`O>cfCsFrjkXel;EeS~T z3>{IGH4))e_{jFnc;|1K;G_8_?X9Pr0NQn~;C*rU%qV-n>=h)Nw)_b^A z4AJ(xyL~v5I`w0J$B?%BOFS-|Typ|PET@3z43qsz^B~6FH{H$Kn|`iRR_#DhPJ?G1 zVx64dlCm8}#l26FU0$_?IEf|)vIKH7Xgfm+ zK`wTJ6n5P+qIRfMJxasZPMs-ty^;O{3SPs1l*^u(re47Z+qh7#?R``v_oF(iMGHD{ z-Ey3E$DWw{OPtHmov!*?CL9gGI$JJa8b9|HpCV=L^VjX@J!Q|AhrWBi?eEAXo=zPg zc`MJF#h-A}!I&+}vGC{IXwU(Pl$kF9JxZh>#IvGXW=barv$TNqs2-MOb9NgU1U(-h z`|IN+biD4C%8q~Sk$S*Z!c&Az4L>MdgK|gdxlYzwXId;;cJ@E%UfelV{JKsM(^e^I z?TD;HlmkM~jCwA-_d zo9AT7@cS5=fu!2U+te1xCv|q@Q1GG}TL%7vvG@~lGc?ClK}6I;q)wRi*RYqdRe5tc z_6?%@OUZ{_P{lYfp4+MNv3>o-kV zb;rpYz;VRKg3)?{uPM?tfXbdbe+=x84Dg6sbxu<4EUnHLNLx zt1~_-!QBg<6g^4$tYW>(M6yTBoPW8z^e6p=f2H#NREt*e=M>F78phC32<_#I6e)Yn z7dhT={RB#YXu*?YiA`J{l0n3{{(HYNr1Nf#0miT#m(tTbGqVVsxkm=N6A={9d;>D8 zXL9Tm#4X3NOYifa^SN(rEI+-Dj z4YhWHB0v>8h#?--=NQy3?!|~q;)fAM8M#t+V_uUF7Nu@+)Fzk@|KU2gwE&>*M0|Sv zXp>h)@Q5@EhV@KzWjMCyq!#!G%_?bsj{{*Frzb^uny;|UJUMQT?(PJl`!fg|b2%b~ z;@_<)RK=ChIo?CbpR658w&>=YtbeamWB4qv^iC{G!Z(yUcdk>ethQcFET;_J2vUEYL8awZ?NQUuZv`2$mz zI6qVp0)#t!@r3->Qp?|5170b7TTZ9^-^a^1^G)*)ECFWcj9N%qfBKiys#m(|Bz8bG-9# zZ=N^X9O(I!9`wzVHkyNYKI!FQO8a@_qVRj<3V!EO@Y_Yjw1JG^Hk@rKUMw1~2$qOV zS5gXaKB`B-Dbv+obeEJL!u=IzxHk^srKpGDb_-D2sDPhVx8f*6;xb>n!8ZXuM=Rv0 z#&4`oA0rK^jEgKG?R@OUC+gJ!Ru#^z8O3@w!%&Qub5%!HbO(+n#+tlc@?T9ih`I#c zui+Jla$M~RFjBQZotBG($Y;$)ww{s_gRoIa`JI%1;j_g!A5pFXhMSMxhE>c#dO?84 zc_%tSBqy(yH!M`1#HAq*wZxvY1( z1C>-cJ(+3-9nIM8*xD{yVwtK1t}*0_BM(+4dVNy!Ikxhkme)d%kbry((oIF5Ox?J$}KkB^?+?<@VNqP-g$dv@KTaJa&xO z{y|Hx6ko=fOT_@ghwD`W&?CnWr*Qm8W?e32IZn3%^02hkhXLYPt!F17i81aV>~$Q85PHC=@vGzn3Ke$T> z6;4 z?Y0%A?HvQEoH&hJzKhHkG6He_3E(Sx#OtL&^2LJsV}}#xG@%oS$yqqcKU7ygV0uVB zHd?v?33!`1@A1lHVW9)Y@I+wh#!$mvY2lHOY(TsNM zFbpV*N6MU_TM;cm3t%hfLU;EO5_QZ0a)>xhBJB;sVWfWtuM#|6$AmPXmWND9Gl#I4 zN-!+})>rh=WeN6HtJ8G^C3mf_y@EBKNpK%H!1yMlaxq-)sk|o~#LJ7nl>tE<=tJka z<;cMUT)K^q{m%@0(yDv_-ieMWwR#Xw9Qge0;|Q5lN5sbvL|BqDZgyvbyNHWZ&?!a* zOU!0Fq0hO35&7*A5YWh{u*{r&dk9aJl?7+Z!h+|8iEa3ng7--zcOf5?nB&=lO5Ihprmp>orq9DD@{4 z+uAz5ISOfwj;k8MDxhjtqJD9TC8M`F0!zU2#MAR32h`Z$PKuvjMkp^Blsm+~$Ds|B zCA04um1k|06zu_=-hNPQ{&Qky2?N*FNwEG~2o^r`C-bpbChIRt5cs;d-Cl6RN(27in)%S~Z+*<-;J%Ekh$rzk^W7Cxt|m*aR`9Q<<5r+>hLgD}{-MX$;PapQPkDjc&297-<&>H67uCgMPTUve^7hG=T=~e>53H$epfXZk zKdS}5MY*||r}te1=cpx&aD&AU9D(fb%noVHl;lk#un+~OYy`v1HneBpdoEo8g2@a4^~Y@SfwNnO+7veS(th-{Qsa|jOUZ06VHad7cCmb=Hc+y zIy7{>r+qO+8piU?w{Po21MT`LXUw^P6cl2bB&HwtvP~}CyIz)WF@gZr!u*%|eNHC7 zjU%F$7a$HR<(8UH;eWmR=&pJ&u%@{(zqGlV8Z-kg>Izl_LQ+S#HH1bsRU z1UdA90{;je#p5QZ8+t!i>;>Cs?0 ztxJnyOrlUrS#ZfsF8hUTD#VF5h%=D@FjLhGKA-CU z?!MHrhVGOOu)~nukR`34b%Z(v94+bFcu8`>iKywq;v%dzEQ^J*+me*yDs1AIHxw`B z7=UsZE$hb!;vzk7*I~J5rRyhiCd;advasxjjG9D*zRDb1fHb@@)Zi77<>^w+$jskm zdwvHp@8gEhuos8&WK1Q(d#VA%z>@(u=a_QQ6n3-7ueA24e-^Ju6XPwS5=QPQ1Vu>wV0HgH=H-ph+^|-m%ZR ztLf~=kJaGZ*BPq==@7gC@C?qdK{Epllmb!+;uvW|NK1p*m^?x$f`Sl&JKLhw{DF&y zJKb0Oa>1j`2rCKX{}AB_$BJ;g;QS)B`ex+g^H3PGZ;){Xi4+eStIS@XJV8`~G=mEW zv#YpX&uS>%Sa;L!3QgDEkngG%zk69Dnu<~EYB%}BowsbPSzss!|4}SqNnaqMPykGA z+M?$cb`{KXKX62Fa>zZQFvM-$JaCATLRq=9%_%qhr0@ty$cw&xRe7lOu_553HZm+mxr4nz{Cy z_r4in+N-y+QaSea+et>iinFoF^_J;5tGRwbBz`bj488ok)~~eH6RD zwb_H6*jD~|I_N4<4u+q!TXqUvi!8RiQXDD6?B;ALyS7T1rWDB7sSwE$Hc(YC6n4&E z#}XJ+bazP6cri56r7#ZY-DcsnGpvj}lUSTxamSv*{7{`&3P0@{-J%w*+Zij>q}da; zS#puMwkMW^ooQWVDMP^sVGe1l(VR}i z3{qrip3+cH)7M1Osq_%w{B0h}hvd{UYjf5nnDF@B9~<bd7}Ynl)Tm-;on3A5KTLKSCg!IglmihEub!Zh<#8 ztfnDz8)dUO{v2e3__#MkCS$|MxX%PmvqwOYXHv=wasCd%A5tpL_+@FFOe)IQP>)&w z*og(XIznL*if-i>1?47IgpbQlEb_wPT~v|{`;;ap>@}KPMq5}{s?!g-$H!YN?0wr- zz}zJdm~$N7s*Sz##OlEE6$IN6xeciu1pe1*wZcdZyt8a{OCBY3I8a(l=Rg~}KJ3S7 z$?spRUQJ#{jaS?BSR+eJz2Z5AE$Z~@i*vdb{zKHbR32OGWE=QM7BlwVwv*TVoMt{L zdReotUSpXV5o^hg@}xr+G&iupf5&|Rq{o_ya*PA5om0?Q`xjB;z?@S;%JQel`9}|{ zN(jp=^}7teBQ->KK~d)f-)*i8B=}5+*}st9JwWWExEyd{HYFSj(~Z-`I(m%`5a*(< zXLTTXjN0ENE$0jc&+qw|l^WB z1rpi-4~q!@1ktp{#0@TyDLgN>&nTH2NJO!og#K2QZ0fGIz4|20#*lfiv~vKPvl*|+ zy2bVh^f(_T!}0%#*fYiW*ayfWfPvSfD1_$Yzewe!kCN9Jx`fT2(F_)|k>dNsLP6i) zv0~c9DVBWx#q>Yu`oUO;#3_wr+bN!})G3zCiE;!JUh^(e_=+@T#XK_>~7DRGp1kKT2H>glDyf=^%IutZFe?e z<-S8MlH=6fO9~5n=+)etIq|#1JmvB@?WLk`{0EWzy`wg*HvID$y%T>MJlx6o9ShyE z+t1k5^0H#=6o=FNt6ReO*k)hXr863ePGogQ7;ikAY~i2gf*PI`djj1CFV#Cmf}!mH zI6llLY-$750lUDya*%IsW-q$dX)91uu}6Qda-2x|eppk7q7YA5HzM`+i(~B8VNE%j z^I6EcvnU@_z6ORr!dajWjs@v!-_r30^tT`6K=TBjBqU&!(@f~_l!<(DE|1r# ztFgoIt~p-uXV)y#UTP%nVz;+goERY(m;EFHo$rpHL67fu7hlUu@DlEs+mYT|WHjlO zSw7*T_x-7!C9!;Nr(332siNwXYSnrgf<{B=FZzK@2iylPeLP}*#n1(&3+W!!1AS z(vp0jaano4?Sv!Nc>(mm371hS;Yu$z}oqSrBD~AVnM#0LA`KRuk(rz@CT%l>ZOyjCwvrYnxWDLy*&tDAg zm2U)?qyL6{SI{RJd*Dcc(x%W@2F6I;AwHNe&1udwTEg!oU#B@O5-D<`;g*7)jsJg| z^JNa%z|S6M-048T)x!l4!wEw5s0_6m0&|RyC5wupx8pj9pT=S@qGAXPhVslzV3FU{ zk0Wye^n6FG*2A&ZPOt7Y+!qnGCqS1z|#_X4)40f{<)EsfAQlw zdMhz9pi;IqmAWB%swWubSx$?Ep%N)i?aaXeawJB#B_ZU{wP#5jnn`yk^IMFFDO)BN zp;opJo#L>D_9OI4UGeXAWZ(n9BxGwR8|XlpR&Sc1PHQs!(mpA9lTDKz?!#Cbh5Vrz zhI+u8v5CnK?5-N2Vaiw-T=3Sn>ifrOV26-i==ol{MA)=h)*~Q5-Lx--v9gSrKS~p& znv*GQ(ZSSq<~&Bo?ai2BVM-6@Fau69wUs?S4HM%xo*gqg+zeHtx3-$w41x~VY@!q@ zcu#NhZk*1sW7}!yCcE(&J3@qpYg6J5Q5rQ6@h|$azGO1l!d%^^r_kXk{)`E=!baC0 z;|A?AXXddi)~f$v{dIGdYY=y=AT0VIEl2z;0X$gNLDuL+NRt55G|e?l6OJAs(LiCnipKlC$%p|My|6tBu@T!jz!sR85v{|){m)i zxEVfbXeF`-uc?C7u?0TlZ@-B^7VS(M(20z^gKAP%@d%PtS*D?)4D2bZtjD|okU~#n zGdR_EsLEgRw9gp!57af>MX6C;GwDN)zQ0UY1j?VZek2PcF1gk_7OuOxLUDx?@ zTE6cC*!Izt>0lp+7RGvB(I7f>bP1*thB3g#eU_fI<7pBMx9wwsg;TH=n%hkP&C#Qu zV3O7$iml8-CnSOZXxw9X%ZHaiQvy-f;kCifL6Sq(7=DWJ3Cim^6JwYu31o)VK!q(kR zv5+X$K-j(x!6E9v_$eFgkMpv;B4XM{^cjgO3nC!IXI5hHrq{*Wr>%oD#An9vkufZvhg9RSH5jfP|Hw8}WBOJM;YE7q89oqZ=`xke67W@Ol-w83xRw+SpkqqmR%e6b?Ax5s?$Ni4;3AeQxnlE6? zJ*X;!2CseiZN-0ZqMBNpPB>J≫HkLgmKF7NEsqYYT@_1tZ%^<;h;@xl_N+x&g)B5#QZQCXx3VLgdicUWki%gL31BpO2mB9f zBcd*rrjf805+fhb$C|cjv85-wcBfPU^(i+s=5Jl!mPBXkS?ijc3n5yH2o$+gguy5C zEMk=cpWhChn6F|Y>-WOPDN@_9C$Pb=y~{d2HA;#Z)U3gaXJ4&y5F5LAK3S}eU~Vw^ zab7G%iK6T~&TFbu)FZfrQ{Yd^ibIyeN9E0-PxOU z3qo1Wq5toEl1cN{dcbwk^&tH&xQKNP=3Jg5F`;8joSuWG=S+4Q4vFYUnUd!mq)aza zjq{~Y!q8HNqX>grDG5u+^(6TWkxG6BmE2so0G31J^Q?GcoQug=duidh4-9#2i(TRu zKf#VVP|+L2b$>svCTM^HtHN8$-#QZCNG(tGv#9yJ1Lo9)c@U6zKcs&(I#wcBLoFRJ zY4_!?+z*XRVr`+}J+1cDe>@*BN}oS-V^x3ljLGKS;?I68mqf*c)wtdwx@yTLDb>Qr zH3LXu#`fUUN(Pz{px!Uz-N0FpLh!a3xJ@k=3}RN&$Y9oW%E_qr13fV58aPt3FkUwT z4e7U1PICy5>srS1CggQtd*)t-)QH)Hd7`!~YcBf5<5*^elzej|QTud^fo2*zG5*?nkjaQ8-gpO^VC}Yfv1qr*Yrm}S#C4Py+M_d7%b~#N7a$XoM0=y3Q>lkp<+1xy+A_8Xj8y{6Yq)~8p-%z zoLXK;AzwDA-p#Gn|BqrVayn#nn=hLztAH?{lXZ>X6jEujMzZMFmb+^4IOs4yhD_<9 z>|MXOyvxAtQnmtQQ(h%g++>MWxxjckaoB=jP&=bKDRsDkD_HEVD~$WKMqF03eVF1q zH~gj@?2C%Fz);_XZ|A&SR2QydDoHhvxh$|Q>vV*Uf3d^y1j0mg?k(dIQk@>l&Z<1g zm1&kB7RD|*-F?CvCzlap09WS06tuXS0j}cQU{<07W2ovB*52>2nIGvQF;KpHoL2Wx zR*~VgI{=L=1R9fWmE&x5Y3WaPd?3~78)W)Ey&^@>X}ph*nH|wiL*P5O*rFE`0%J0FQ zHa?=@)rp&nio(#NivFx;A?*WM9Le~qf{(^ZMZ>0AGGj23^}c>`0qsT4fApMgA|Ma% z;>C?7RgUJ5^Cu5v020u>>d9ZLr|kO=-BZ?y<;ja3@@V_UX}x`1FD29uq{(#EqU|Y5 zf^mj?68_pijNls^@Fg@j6+MtM+fndYu6oGuCi?yeni5r$a`)ENd+w)Zt=RPD$;^I_ zI6CQJ!+P;-J}Eg^q$qi?!y8iT*sO(P#;Msu+p<_NuT`JBTgrghDKr>!6TNWV!-pLD zB>klY~_jl&8m z9o$Q77N^2Wj_;LOvHIA2=6=5vx?nmJ`EX>j)wZaVxPDx3Bz#V!}VK33$59{=+yWm<{eYw_H_V5MDHR@mj_U z8Cw^ho#a2<@#{$G7)qF;8nF>zK_nlNf05$V7RT8Qh}br;KumD(!RUgf3~8t4k>IBf z<6BQU$_XAKdG8XPprzDBduejR+&^`rgx#ts4aq@cwRN0Tfwp-O^)R~8656Z4dLrM~-14f_#D2t>Dc2vpu7 z=0O5WqoF_GLN$mSvx%Alwc^ThrYN;e$^U!pFw=l$N>gi8D$sPRT7~*d;!zm!57wbe zZmd5=k#u2PTYBhJqmb5Ks~TChN2 z!Rb~?JCk5V@NZGCEP8EP;A60!&6WyGeHjKY*B}*-2^cs!3?UTzvUfo;1ylR*W8hMz zKUlARuncwlw&gR0cA?c>Zy6CrURVsyfDFqx)q?npQPUHh-DYcG-bKTCD|C}K=E$_H z*DWed0RA=1)MPUTv+BvsL4)91=mqEu|L6`d%n=knuy^n z?ijaSXJh0h()#o&8I~^Tfb58)KRt^UR4hW{0pn-WV)r8z#)Dc%trW-=lZ9$G0uoKa9y0>&!h_TxN(>zmP#6m=3j=WSiFmirJM z1zs#4w$~ictUUZ@ddJ9f;UONN?gS(>O}~w@l$mM52jY+JpP$nmHv8z0pVFBzGea=w z(ND+8G|E5&%|CxJ{|}vNdPFeG(@&>S7Vt=JI?c~0mhmsD1;Y}LV4dZDaGXQ>+5xkC zgC6dGNC>Rpt**}p)|a-O_`lA0dAx+lf$FiKZ`#)a2=kt zha8B3BRk%3m>TICAxU!~FfxjZq(b{=KW5(%cZi3k-QSt^Kavvt1E;8kgeY$Y8uBYMim5K_N6uBngaCBT)m zx`?K!@-0;^biT>Ti!ZMOJk|Xdz z+pRMrLmBxIW{_E5)2&jub6_csATl^H)LT5PEWfS4D--f@rqCTGi5Bw#fy9Ue_tOK2>!ES<;{*bLd%%+m4J73ibwP2h- zSI}qKy8Pr%RnP3g=_N#foXn&C7~v|ShrNX*amrfvp#)%G3`VpE1Hw(lKI+|az@|VF2hyC4v1pD zCDABq!~0#Pqrs%^?rBfBjn!DZUa}m($QUX_U-bPxy-&HU z1BLo~7CIA1sgJ13Ne!#u&eco{$;5j5am@%BevJY`g~c;?**9ovmCAnsCl1(_3##c+ zMp-#pyh|`0o$~YA>M)}RuH6ra1!0g_7#v@u!2WC4Ce+Cv?dSeo_}%o}j!YjZanwz~ z=Y`7=1_|I`266h~J$g2-Uu6BYZ`TEgHCZ~rg!%$Qgs5;owLV*st(}o z2Y-am6b?Rum5Bz-5$VWw`{FS^j_xsd9L*U#i>fo#0~obyX&a%CQ-vKtSok)^4XOMu%_Zgso4Ds&#khxE*l@X z23KA{8yFWP9^12AyW%L>{@s17j`MWba63P>-rEA6sacXdntoc`2EZe-ZD5i!%N`1! z*9QN)JY5gHA~9a9rT zkQB=bsfTW#PhW)ZO6I6&=PG9{;$jT|9mI_7Q`ai$mfB1k?Ppc%MH{pyL< ziNA{(9YsUM(slJ7B755kb>#)}J1ib6=GKE+bM7I?Rl4Tt{0#ZY z3B|o|T4D)9PX19q#cLx9`|-OY@k8#e@nyK>@gw+4n>){HL=Q>+JZKDPuT5f91=N>M z``C7T$Fm)BBuE0?1u;a9`kVGE*-0 z>*N}zn|LcwrG-n9eNL-_MNLUbXuXl+`Uwl$!gdRaE5Ff<%p@@n-L`ZUcPWK@c5Y$S zTxWO>VBkj>BZ#}OL5#+qZmDn(Bno2=vlMpKFF08+#m4r#W}95%guAl8D`w`(6yqFQB-<)MK=%YNPO|` z%Ve+H@`itZG1+<|9A7 zy3T;as1(LszDz6^vP)vz-OpjMsun2t=bJkv;6jxdRdMzpB5cNEJeA`;e26Q-I`DoG z;8|nsVslR7vOoy5pPRkjvm>zLe&4pyz_vr!(UJooLv=LE{kV=u@C$m8e0y+MXw*oZ zmoo8G3Tj%n@jFAHtme3Lg(girp1r9xOZ*m$ERWoJcU4Nw7kF_$Sp1)Gk^XlAqTMK! zmJ01x6E{1%NZ=M9ao_nQ&}vv$o1kN!oc!HzlGM`8l6bQ17_gciW4EZsDeNry8DGg( z1+OC4{4r-l_INAvw3s%lAG}qzyw~*UJZ$`ta5DfuEQN5H^++?@dRGAhGOPaHN|XN= zt7O0B;IL{p<2-IHyco42kVJb5dmyksIfR%&Z-p9|(LKcZ6(vMW=7BpKgkSZDWR0;k zrCd}oLoiWYGv}c150IYC%^BCqkM3QUJD{bI7eSXGp6gIEvE_czDJG~pVfz+^eub!fw~Pzm*+RrqlIV1c}iM=eHAFID(q57 z_ZUFoNdZUF=lj7oe%B9>KHuX?>V+h@?Q|;&ia7_N_drr_SUB00y9d5|MEzOrW|6_l z*TQchEQXfzT#0Q4)QPW?A}sjKXd~E|jqt`o8#C?30)0*EjSD29r94-V9Q9M<-yS|I zwX%c#r*@zRcs>EamDg04y84;3+H=*ffW(MA5v3Uh*ZK}Yyc-bF6;gIHRJ%GmNkXNf zfk-nvH4DfTnilijgATfkEF*eTcCiE!F26V2%|Didpo_Vc>PivZ$7zj1Nz|vo!e`-O z=hutW^OPfqlk?VwT5L#{V0yXfF+7ydV1e)v1@Q!iEDS0wcf1nP54k1Vpt8@{PSh< zy_GhDw6p{p!d{ zy)0t=KXx6hKR0MU6TgeT!}Wi-au-G)FXOoW;S$F!2TD*vXJUYu?}e|qT#Nvw*C>3R zUTh~!22&0z@NaSym1|*fPOXr3QVRdl3bn)xTa%a*&zm(CWAs5Izsc*4DTLkAgaSKP zt6Rw)cVK6fmCe)wYMRqQ?V*z{C5M*NU&@^##zE}f4BE%rhVc%hwo}1&v-tEwF(JvC zRa+tb+vlmPn3&wU+}{_}OsaX6)!$QB>1P>Fqo7MuB2f#@pjS_OkLt&Fm7Xbt_>JoFHc9sx zG(oGmnKXZ5!+>aZ-}@J1?yluaH|wVXml!h6CSf(WfsrIKAwl2bp0m$-HH>c4;n(F& zF|t5O(RLlHMhpx1{1XK=db7?N{p>9PchckEq{IhpD%Y))hrfKCw=d(TCt&czZTQk5g3(SEoq`R8hmMndTFfrDZ1^rg9Q$jnQh8yj|<}d~^2=!DvW>|7XVi;^1V_ zU35*|A;IjeEbRh-VWNaBZcDET`WQF$Iz0W~vX(xJgJTmcg1mEmjg;;}<~wAK8=+P8 zAXa7Ci1(J5wH%4BLoYf4v7|d8q?X%&EDI3%?MI3SsM~%s!8AqGaw6HUHUZKs50r<< z4bouIiK-kUa@VkVnv;FP_JA@s)`8#VP# zE2nO07eo$etAgrjToaj)-FiK3p>|T9#P!#KSql8l4dP;# zPz4AMZ)6P>38_n@_*GJx9i%s~_1N?Qp3@KA3Olij%Fuk#sRoM4O(h`6RUvPwP@B*FbT-ju5N$~)i4c7W1JU|`MPKrxJ$N(%c|>wrhzX% zpTQ4jbC(D!;MV8~Hl?mhv8}C#Bzj!<4fhfENP3GreS0va;~Hba#0{gHp})Bmqx7{u zTgSxc_wQon1|}yCRbM4dlh``ph4-6diso^-VzctX$q(CKZ1n%dy>vzke}EZSGT>~5 z*KR27d;NT*E|n^HvrRgJVA7~d6ROiepWmeJ_Kj# z`h*q9Y9ogv8fj}lrV+-?v-pQp#Y!(M?&c>}uhJ7u;$^|SU1e>ySI3N|0D2=M0})5I zXE;o~>t$f+GkZCIUeF|CN(nA$I@fX<@G2(@5%iN>aUEc-%y=Au3^9@+?uN{4o zrmtT@$mS|qK$;s7*2BeKFmBWNFEan~FL1|6jc5UP{*L=4mw!n9n1usaTmx%?Z*RwT z>Re-NvX$#EnVBi?8Jm&v2YPQMsD&{Cg>GAK^$aZ6qEucX zVOg5m3}*~R(mf=X{tnfDT}seOAXTwn@c1v5Hv{emz%AngBZ0+ci_yophnpy&$8Y6+ zwcfc_76hQY(eAZRE`!f7L}_mY>G@u8h;f1LP-+#l%-SJ{6!DN5Bgb3n3nD5HS0Xsb1v4HKzeQ2nvSCGpMpgZj$=p#w8)Fn`lDOQJ7 ztFo_D!!48vp>i-wo7?)F#UZTA({4)(y4tsRyBEuF-gHop5=#1c z@pz$W;B6-Z}qVG=Ev<~%q`;7E5 ziB>32*>B}cKvl{LdDFc64P^AIhwP0+|E2TnBZ)71BJaa_a{;LQq#BY)P9EvjNwQ)< zk7mvU#OZ8)ha)ejUQxrN_zP@Q<3*fDZE4&+5^UI4P)(Ugd*Xbt5qe5D`Jj8aoVwIW7aTm%K608o*2%?=%p0C}fjXIoG?xyLX4Kz|*Vj6+8dD=b=q%&fmpA z4|{il>cwi2-^F{Cjy+#|xg(m^4Th>d3cU|^Rwna7$4V&cjq@&jE4rT_5bX7?_iP}3!JMrK$3*!17tkr- z5E#E``Guv)zjZdq0*{4$0sW7QYmrL|WmsbVO8Vw#oj-+0XOFt=Aw2;wp%hjj{RMHb zmnnM~-I`tP4;kj)7r@h6=Tfcn6>xPv4%33|(puj=Ce47N&0(tnvS7z>n4oAwnXLGA zO$^Lti-I5of>WgHBl-cwo@=q2=7cxX<(^Z3u9v~u9r%$I+|$Qx#<(VnB+hD0O3a^R z?Tr{f|3~a(-3Q^-jU+&bL>AC0u_o?ZK_)`-9#*pxed{ilJ`Kv!S*TcI(BK zXNjPep0u&_0px~CJW$pB66;x9rv(jp7UnH9K@2=%`kk@Baj>H;Fsb#IW z0GMpO-fgQ$}-uBDH}mkG9QM{~2HaaIPm`I=eR%Ge0`HmJQHa-&|;#&uzX_@EQz zT$!ke?*I7s?8%BwTQk%`BQ&{f8SP6#*%1ytIS&>i=aH>x2w%Do2AWIR7ZBo}q`mO; zf;L%(Z715|4sb=*uWz2FoE==hEW-9b_5GKN4V(M38`QVVXX2^2^`*QbynFv*5imh_ zPJhXkvVe4yl|lR%eu%hwJCeA#&tRV4( zje&fD46@;<3uqPe0=O(xBOhcUp%ISyuXGc>XbUn=D+K$xd;9`n)(JpiE0NZl)#VeCq3Ag)mH!47fD-_Lj1lQ!g7LJ|;W&ZkEXz-<*qXyqZaImgxVk1eW2FJu z%zc!_-c!R+*5KKSW^^~RM>o4QU$}^6EAjCG_J!0JZI`fs@%=tUE^~E}NN8Q3^fQ7K zc+Qp>{9Ggl%sR4YdZRraT|-B9!tjo2KuXbAY^#+ahp$7%=Ij;HLO|e2$Sl9(5l5be ziweF2xas-oDYz7~lA3T1k@WAIqE>xmS}robDxImfQ3pXv`()XP{j+Lkrp|c{YI}A1 zVeO*DZL!5^jcvam7JRxDjW;yiW+a}Nj<;|IlkXEyBJhJtAG%odSha%GAtJHb3fA$H zh#MgATI`b4?oY|sa@F1wi;fNZv>BdG-fNn=M^f}5Y`h(Op{UXPm+$5w4t94;7gUX7qI?_v5sdtQHiMmCG+zOB z;6a_U``69a<|2l8h!wGE6Oyrv{;=VA78C|!mYZ8Bq%(L^YEXW6>O-Cz_AEH~?SLwhx*Vs=^4g1zB>5Lw>f1yoDnv^1lO z8S~|9=t3vnsIK!`IWYU&KbqFwD|rnkr@M(F7xXhKoat)LERoN zZY*=!$DJL+OVv*~rxiwEP#uo^h(t36Pxv(Gb-F$7Y1R|7uA+Gd>nEH{wuFEB1D8g% zRQNJ?^A_e~iVl*x8XSF@tgP(8d3EjEfB55%(m>tPln#Xgshhe?V*~z}Rtu-Mcr6fUXtS_R%8xVF9~eKxxa?>bDvij^s?j?TKJQ8ntVkS zkynrDy=%PTNK4QNP3E#FFRGpBXcTi_|1K0TBCCF3?9KzEMB>xg2Kp_;2NzN~>@HEy zlF1FlABpraR81l9U=;9vN z&tOZxz+7Zz$13~-`j}FwO=Lzx1i8amKRuh0<<9=cRr)%FH1uCX`u+9XZSqpaOC=~w zN1V^GD_2WqlbckbeK(s)!0+X){_-I~(M)N@cM$(7*K~x`pLR4$g4Qss)tZkJ)vF;dq+> zznZm|;3K@k>SFhL@9}HHv=~7+_h}9b@EOo?8QIwZAijW;%)o{mq`?0ZJ z6`#J5!RkUK29-?r-|dOdFq+sJ@OlH0o|O7WsV|h zxA^EHfY`j)jMyzqn3#e_020OSguYBFVVn-FZ3Ld{K-p@2h5^5ABPe8cXi)UInq~8~ zgCIPbg@*SZzxXAj1?Z!lX4=|xw~++RY~LTD5;+<`8wV=8^+0-}b0W?cMI}eN9>~c; ziW{B@Qk;BdP}gEq*5n5lw60m?coS2!qs9gmTVuO@-Wpv-HPhF%EM9pj6=c$4Y0OPS*2 z1g~S{i)G1dv7V`Ve873oNuE!j^(}2%+IKxf7z)$f+{=Z$gBS9IuzlXVAMkR587+m! z_r)qpSYq?-+mL}ZxSyuoK*)9R#q1F`Oazp9#(#3m;GqY;3M!StTuE?UB`gi_FiEHub{$r_=UknH?Of1YDk(dPZkur zHvqN=NE_T<=Z^Tt^V0|UX5zf}!IDcU{j*Pb_v4&@?t{-N6s3EJhZIllAM115zTPk8 z{3A*<2-h5q61qz6%d>Oyan<2Bm>lZ)T_4tw;FN;*9i^2&?-eqiI3U*3(@p2 zi&IMdaUPn2Aw%#!>LMPta{1*$Hmw+o*U_5tV7QisAXA3;`vl^Ns$CaS!q?Ae=mj3{-&!rE4bkV(SKICLjbQoKw5e}EPG^UB zS?xnDA?KRll{D8f_zWAUFqO7&G(nS^hK?89A6!ZzYs-=vQAc;^g+p-OZ_YV5*5Ap~ttrKtV168=?CNiWZ0#4>G>gy3M6V}KGHMg3t|C4TbrvYKCCj}8kKMRVje9&G=f;S3g4YH8_5yb7n= zQ{4Rz&GF1em}OAm>-MW7>;)>d0p~?)QK8jrr;ubygwaBi4TNYnt!@&T_>pq))ah?L znI0JJd7I_FaboGE-29y?%f_$643tGmA7 z$)zxPuUrDSVKhS*JKNIAW4KXiiLTMiQowHl*+UnMz{eu(HSEXFAI%?sFX86fub2A6 zS>9il|HAzQ-eRejS7}!@^a3rbjdmDo;gaY*e*8LaI=%^C z7txbQ{ed^QY)yGvWv8KW$HN$d-W7tz!Wv7==@VBoS>t2sxD+dtNLOwk=i zA1u~~uH8HxDgvKw+{U5F`QTYmxt}F9D$-d~6?U}X^aV=}ucjxR4pdte@fMGzHD%N} z`2ub*wuMWu#JIzrNzlRIym%;x5)W zOC~Mp8*a|1L(w^+Zt<{PuEG4DusK(&E~8>$S#bu^H?I+{e^rT6s{_V&JZ4YsnW?!f zNuh!qW}p(4=4#dIRjWr1$R7yz0a#9lF9$+Vc> zkN4jt*F<*=;?(7$-wgp*rP^Z_FMD$Np5r2V`d0j->3$%60~x)7Fq@dxb=QAPQ3%EP zkc_xb`rc8(>iia`^0atZPft=>SLJ$_L&`Bib&kerv>NqiHJg?sHf+m0o>#Y48c6&ZCzs6Z^&}sbwQTQcRK#jk!H{kbpA_Q2l<)K><*TotR}f!Lz*rkyj?0XrfrPK@aabF&e{@+e4%7mR z+b#_{1k%TfQ|oKV>OAQ&BrwwdErcLh{kB3h6ZyvqPS`v*?3$^aJ2hY+xAP_ah&S28zGWyeZ!xX!~b zn&Uf>8l!6lNQ*7*Fa;J}O+&tW#24$iP{Fk`dFVyLvxI|?Q;%MmkUN;LHm<;vl$<(D zHDaAJ^{*2PQD{8I7L$iu+tLjAx@W>Xa`kB4!G-VZvZbX<;Y9&)CXFRLw`I3~Oj^q! zC&F$PeVnBTWqv>*&k~n|xWG5aCv&DP7M;CD$Li}~gB&AR zRl;lHaKO+%LZ^&Dtki>|Lb7yfUqa^i;xyGER_Z}fAu-L{%S2*hoRAF>>t4S4%23F~ z;v+PWg*|}Zdk=el^fzx-h_ERx{{^EMvR}~h)SK0hm*c4I9J?M8_oR?`i+>U^cuL|; z|FQmBKNsSyk-!$D@DBavKs~Nt#{9BA0Px1qp)CnsJe|(?w`J)3qzhIee!>B{WsuRC#&4xcWHl)?K6wrZd)1J_R|TJcVpJxxYUM{zG)Y z;CrXr!ixLHc)V0nvyP&(>4p0n9I(Rll}f@I4mt=UvZU zw&}?g(LCFs5&Il&XX=PSnm7I;D{(GL{pi=m{0dKQKJpFv=J68dQRy+AcYrm$xKV-m zcOiA1VV3u>*penDF~b$cqxOAJSIe;_K+Gh2VzfJgsw_$yE4S#<$x3VJc#E|+Jddcw zV<(Q;2NVmh!EK3iSo}w&Jjw$8F~%jTjTy{TO56z(U*eYC@fJgD zBMPG@ElkGC4aKV9sjFInCM3+Jraa#zb38(nVb2&E z=~-<^QK7KC&oyx`09nD1a#hB-HqDyC6BC;_QR2S_1+PyW8{#7jyJpZcl}QSgp6rsk zD4{`gKA^QlYBay#l0+bZjxCES*kg&R8@fIw`AHUOh2Y-klcSy7Vq^7v3|Qz2B^~6_ z*iP-{R8|%o=S8Nc(e?!2jC&m-c0oBK%5u5=PIt$#3a6o?W|vd z^A=s77JL43o<+QAHx)19*7g0G(QZiIkMGR>HYbn64}x#l2$;tXAH%@oBrpt0=N))VLFH%qcPxQJLgTy;m(TY3U&thFO>wb?d9gC|al$w^`B5;}Wt+ABv_ zu5E&1NvS9rhWam1GjLsRm)!AyoG!6AO!*Na{c;9vL-mzBC4{}g&Dr2vJlQ1!DLQpO zMZ}~|UpU#n*j=)A2^qn@zb8H-%|`}21(UCRilA-uPT^$N-d`G&G?m>cit}vl&H)$0 zNph#)Cz;KK;M;#9@N{~%NHc@UoX)6NXL2NkdglVxp7+>xMJv&6GY2qIZD4ytP$` z>j5tafmm9OO5jF82#%bFFK91Ar_YNcM|D`}^r!F#2SS+~VQw9E7DkDr4J@1p`IK-p zz=uJYHQ~;ByG*Hg5+kxbH-6?xNt)-(6|1x0oDc*IYunQm-`Vr@{UEMgX5Q~uMQ|)0 zWx(qi8@PZ#mZu`uj>E+JL=7N#Ivo&DeVb)Gz12Gtl8bd^xRX;Z=h9_@rz+wF^H7$fN^{zBbs$)6lHx5cfQd2Upvxw!x`q z9j)zf-ZnrC%$V3iAWH?QuEMqnn_yZ0O7ULk=^A6VKXVyE^y`!3;J~jn{xc5jl4n0# z5(n~_sprbGWK?7RCy7+0esN|I4I`MrG-2+eA^I6g+R$@tu3*1q# zn31v=HWA;JmA6yLe!F7LAn@p?#0x4ZRezw{hFVJ#7dgH1ER<3z!=6sowvNo>DyCXR zZWtccZ>jHP$L9QhGgb+C6hk8ND>YnKRL9rQ`7FaTNmFa0KdX6BK{IPww!}0ziP{>ZxqOX8y5E7X;xr-S;rms7>UKNZ>gtfAb5y}E5)t!Q>bTaVl#6qn~?E-a)fX-XR0$ZdwM423!CZd>@V-?)xW-@LHzB-mw~nt z&Q5Ztn)6&wXmP>nf{mcY9JE5WQ<3t*tjl7a;IZ#QK?@(*w6vMU?_yy)+=)!~Z-&bh z7-F=+AWD&A9O)Giv;P0~kI(p~SIvyy2yfT9lCw(Rf?;-S zzlH4@ZRVl6F1@KgyeY(m7WK56diZ-7>~LGig+&V}5R7G6eki)xXO%A4q@j{_3JK)% zBQarV;NX-72;#M1qu+yUtWnUkhCPg2G3I^^JBaLU;jk@KdKk`*saB56o(?2)RhI%% zislwwCA>&d8yx7ltD?loz+PBX5bjSlX#*qttFI)3dv=S0nyuJyE@B$0i}xk|0m*(NJPC>pcK)@5v9-?R;@b3RBJV>;+32>f`cg+47t9E9%*Nz z*2YfMdIeA%s`i`ouIzKNNnyh2Ru@?K8}|+3Da7WRen%`m2$6%thY}_||DrnR8Udm+ z)d3OBpXi>b;C%{%fYIgV5E0upqW{NGHZHJj486-R(MgZB=k2-y`~00+4C{BsL%IRqaEpdtYBTUh6gP3a^EO zl3085iPNokphy1N8sq;k9N{NGW24xHQj(kjq|Jl0y)eqyU+PWJ;{cZB)pYK9fv1kM zh#GA-j1FW4afTX^jJ^&EPxHDReG%f-lwLs&YdVOnJ3hdDpbja&>Pjnb?+VrN0bw%fr`%WZ)}DC z-;#S~ymj}lY!kMr)T>al;{6Li62=ivorWx-khzrQ6N+r)L^cC7VvS_3PgQXtNtxsV z|H;Edbv9j*)TS1Wh21_ht{_lg-R-F)8X2AVPYNZEe#SXRsTa< z%$`@5!VFC8-r&GUa~<3g6u|d$=VN`w189KRNf6OT;}uBc!OR9PR?_wI1L%uQ?ekLf zzR|Cnn)w1h*4K6A0rI}b&&1fhrS@5Ugp*BBxl;J9?=I<)>EGF3@~>rKVQC``9_~Z_ zUbFn-+$(cbIy+u1+0xpcy*Yo>{}%*5USBQulrpttRgmTJ_sr!-n-9qcC6kn~7p3#b z-Qmf;WC2li>iZkM*?9Fd`-qx?*xL)iY1bQ` z_*GguH>`No=Zotj5RjKq4#6JkzYOPnMnS zpH(|Ebj`5zB@us;~G{7Sao`>am)qG_|9HU z>9IlFMQp@#oSaX`Zte8vDbsV$ zf0NyC?E`G21W9vzZt&0@)sn>k4TnS>lQqN8ovZ)T?vTPKK+yJE3KNz{4$*h$Pz=Gogbml^xoFIL+vxe>cQt8836r*pgV*UZS<=4oPQ=-}tyCZ65|UU0zq z)2=V9EF}ClCHNe1?&M5^zZ{?hHHYla2w(-Op*~j(l@SIG!9eeQrFvG*Za!#xXBz+6 zT7{DT9Roal=PD?|?&Zsb?z6HYEJ58%J?9)|hXurIwdat1q8wT!dLpVvAZR*Hyrppu zF@o}%`NP_5*=K-K+il$k2!|o6Wdl|0HfIIr@R7P$r4GNaSDP*TcNblybx%zHzu-Ka zKc^4>alu2?HkTE_kk`e9mWP~AaYuYudAB~wyv!wyf{{)COQyYI)7(&;`p?#&N0ulm z*GRnY0YCg7rF>;+lI-UyOT|a~K{}An?Mn7hqci%JUo{;xyEj6{Xn&NV?CoAgU6<%B;BZ z-=YA_Mkgug>2l8DQ>46UT*{h9ri;x<4t2#@Az2JV!t$udMDtANjFoAFnXRpDfc#W- zvwZe6iJYk>$|vV{mpnwuqm1|d6l6RHV2NJN5jf9zl)NVyVl;~ePhZ9&_fOhAo+9FQ zOYt@%h6sqCuG!W!vSMckHDX1PrzNr=z2 z?^*KyK079_NbW1F23uq)SV=y39@a$DtZBG(yf-f{tXP5aa_tqTQrFAwh&B68 zO$Z%qO<`S<1g$&4jU`TfRvx5WL~xuVEcCLwBaKk6F0k)D1y-dsG*tjnt!#G4UCpXS zD<&pA?V)toA<9*f~AoA0O&e+f1Z zV?V}NDssYAB)+>kUtuL~zt)~^WV6!Odjc;_;!)!f*A@gjgIM@06G!941<*p?q=muTBVo~)Ruibab!=l!Ni~(yy^(Ya2 zz{#Yc%ZI+?(Owqh=m!A(ipF2Qroa!?RvpJo)K-{t;xuy#A$(rT;Ti5{KI8ZPX1t`lgXgk)={d-(?P5-!KONajI{V>Tzh1y+`6^v9YKqgk5Bb^CTwfn?#!Ja6HK4|Dz&`*C|2B05@Ce|8vky0 zfZ}m{)>Z5O^ktf}d`q_wOdVucMyWt-q#(Y*m_Z4fhL)DgYNQrsB~OH{gJ?t|dkHw1 z&*K5qILjox!%=c{YBT{GMNPQQ88!T9TS0R&5P56>N>c=WBNL zbRkTa6xjA)e)g)JoGRrjOB68)nn`3#pZ8kkA5}#K1++J+>rK@ z>06rLh=+xLeg+)!XqxCtaDL_7{V+9($VYFsiI^B$HG|q`>U!Pl zL(>f6f9X6->6#>FW>8Vl{MWJRiEKp?RbQZ;VnIspSUZrG?j-z1t8FL_pp(`x*j zNF7wYT}fIlD$&j;kx2`p<&)fuM)}p7P^>k~R#PoBREr~xjw5PkfU^05Cw|p`Sbf18 z9YcYQnMp849;}k7)eDZ)_l69OTJI#S_D>tp+c+K2P)Hu%mBa-YCU2L%G3HPf8zK0C zOlHzpqKVJD&9!IwEvwh>Pru(QLxW;b!<-g#M<>9ND_Zlx2{eEu;CZX0in=vzkb>MZ zV%6K7oU{L7>#-JmyKLiRqL(ZRNy&>03Spn`yU zINi{jb>hMe*&yt8`n!ua5z@Fa6%$=+SnSXOezd^id(pg<7I4EO;u{E~a(@py@!z5ONuEwAtQ*9qQq#Cs99l+NcfwZ=pt&SOPVl|cl&lV(8Ac7h z_H0{x62EOE!uxgP=&g=z=!uO__2}r_*76uXvY8&&LXJ!z8cIzq7^;m~Qv?0PFW?qx zzHME?&(v|N#}|fHT3@(+&Q$(U@~{J9rKtHyc>h%G-i~7CiJbMcGg>Lwdu79uuAWe= zV#wu@l6QL|Hp}OaCjjFMpoK+q=qy0Jp(fXW?g53?#ls9WC^U+D?|As@xm*KP>de_0 z)&=nBdaEsRc|>C(S<@RL!`eEn7y3FmGfo8C!?-*mp|)PC?p;wG=*060bZjtu?%o^R zs(Yz^Ykb-2%T+IZu&Y&l`>?K4K8MnZVv;awuG`Wu5^MT$!t_wFl(t!ICihqW`i8<{ zbYzpb!c;eR{C6aYZPJ zLct7f%A~4gPEy!Rl{6}ayH`}Tut8do`3xy?>ni03R8qh!JeTr-d)9ljy47#%EAcFj zf#foht&oqFk+b3GZf#gDRCd2H1Xi@zATF6n*Pz&^qExx4scV zAp++}<<2vn2icfS;EguQ>YU#DtRR~rDHeIlc>l88TgC;}^wJwz8{a=0!XN&O$u8aN3>jf`D z{Y5?z>ZZa$ZeDTFu+bfDX;W1SC++$VBb}|)6Q_H9JzB-HOA zyp7W1V#UW_DY(6kJ%tH8Ogz7WZ3H$r-VuCUD0W`G6#T}=KF6@afR;s8v;EY>qt9cG z?J+&NG;bvB)_tBA^z$IK1rUHk`2$ie`HDL>U&m`0Hf>LvAU%`4Wy-N0iZJu?yjNY6 zie~JQde1gt!+%0l3>&bL#k-)Z%J1QeYEz&UQd|11O18)jMCsir4Jk}TS^)jj@z^Kv zC>*NAf`fzAjdjib#$LPD2HbUkTO3jTy)n7M^I~$v2kot(UNIzHdYKY~%pHq0CeK5P z*&)yku#KhbZR1jLU@eiXih2q-MGP^l!~%vm&&W9((STwsjULKCKXP|MT&>+FBj|`-=o4Njl*UO8PW@~ZO_1t))%}x>Np=3fX zlV$kMZ{l7 z+2t&i^=Bu$VP|O6It$`F?vrcaw^k%!D30#0RHv09_Mx(oV80i_M4(L4^g^TiKJ6nN z7XKtVZTi9amq_=q1WUQYz^`ym1Qkex$%|aRXdUN;?l)00`uE@d?{Tg*WWUqCAqiw@ zSH#%T^|veC93<_2vcS_&(cf-*wDLYn!m&HP#R>1a=v?=;$% z^hKh!Oc@O{b~@%fMo*K^%99@nJBN}(mGo92q@yzWnW&#<+hxLbe$T4K&cIbzyK@Ux zsOfr2{8^O#MP7l8FQ|=W$`8pMX;09RJHh5%0Z+VSOMtWni}f$#jH;lO@CrF6E#NCf z0@r69S*%;&(_33$ovB87lZ;A6_3NVLng2eK?G5=0_nd{NaFQJl59oQL4|J? z#Z*W9B9@4}{yRmjEj+KWl@WL8mU>M!F*TZ?{HRfhWa2M1@4Xl=R5U4cpo`gcJ=&9m z?}M4in5QMsz8%;Mxp1Tla%9y^c^2wDCf4H}`n9(eie*HlSGct&jmKdD>)8h+^lI7f_%h-h>H_zylIeN*rlu zVFRltk65WmkoZhJr+!fVyaVx4XuvRLXzBYs^YptKqcQ!FHj0XVwID$8P~=fr*pR7# zo^JxqT=mdFP8476zE+(^Q-yLAx)K}j{3ZL-yV7sMmq*OGVt=}^-^uAYfS=Ji2ZJ=> zhYYve9yaUSNB^)8ikXD>n-T`W;KW;fsTH1i;0oEm{$v+n9JZ_IoF+j;RYJ!NwdN=M#clTQGbiE2-}|SW6Rygein4(D z_^bB4N?v((`=t;Nu^y(+AK$Tw-;7s7(mWdN6LsQ9SN~{v?g&IschH4HWY#;idym|B zy(ir=Xbt52h9lr;nkG2xz=u-P~@`2gL#_x~4Bgr<|`!JbcrL~+zGaXc?+mtQ=eHiQrN z25Hizyk9HsF&LQ+E}+B_;tl-~i8jhv$M7?k7O8z(a{{ra97yeaUW%Aeb?4xzUaWP= z;~YdQFC<`vj_qGE0X9n!%*OsJ)#SBO#;iPWz%lyy%~GAl3NeN=FX5A7j&zXYmgpq* z@Q3JU!nLrojXOI! zaA7q;!4W6HX$LNlNj=*{r^4l<^C;4qQ1H6U3qD2}^*AcqLZ|ikUQ!sMMRDM;`fj`h-%9p2a&S4oBY5j44{fu zE}{)G*K^umS4`b)3}WqS*yL-cNV|d~d49l5s@qte3inRU5SEGP7ucNSL^x?@FO{X} zFLFlAa`6&8?=>o1IQyO6aCxO8c@u^tnAW`9JX}&&+`MR3irc{#dHeY8X}m_D^ zn~i7Pjj$KiX^_z->8KBl%(h8WK^yQ-r!@|JyV;YY0 zEa92i^Y694N88{Dg;mBCDFZ6%;V$=-h^uIGM|}*0zC$*N@a@fpVXxVWmrlDo-F^DSZKy028%Ik&U5o(JOO2bRuLrb`{3eD@Wyo8#41P7M&XpG*ja6n#3 z`4=Rc7Yge<&d{JjzIu$HIw=tvQ6m)XBK;os_S+9rpXTOAn0(1oo6fbXWz?w~sk!=3{bpQ)D z1F?RMJ4vQ0WDk%`5Lf}_ftQ9!qMd1$pn*N*(D?pUBZVGQqEF*&fIQbvG*m5|#PMA>$fj`GA-Q*;;Bz!a--B+vF3EUfP&dC^DPIR6iR)KdB66Q+B3iTXV7wNHW5 zd8%W>3AgcpH(%k-FtuOG;AbkI-olu42G@BGbTGc*Aqlp~jc+v!OnOUD5OIR}hl6*6 zKr)UV-*-%jFm3>TW1$%N=cUvcl>_I4m4XI$RNGndrnX0RsJf7A?yt6!_ZXTv8pZ@! zh(L^%5)HCKYry$omyR}M#z?LqDOO?>BQ3U(P8E%1F@kH?m^}Yvzf^dYqf_`wk|OLm zs`aao9K6*l(416(s1b=^5;K@9kG6b}HI|=f9*UT40!N4*g&T$;12@S zOyz2wcaDOVx~-u(b~_U7$WT!|uw?t;OX30;|EtVTT6nbrZzSn6vN&Qf!&a&}NP|bUD4P-C z6W_S;1B8DINHuK%LhNxcIa^C0)bTM7Ow>Q$A1a2VA}C^O2HAd=T+5GTLq_TI%ann| zz*c55Qb7U$GqAcue>`sSWZ~B*M#Hnn+)!D{nj5JN-ex9JPt7}zfRG*jWxUOZ=mV>- zLq`0!$$56NBAL|Ent4RD@pGcaV4IaW6VbTng0W-HQFiIt9$^)je?Ql^NZ-~xY5a$* znd&1NRQWTmWENZ5641;&jeq%|1N9)$*I(PB?x_0zS4%vxmg>aCS+t27f@BF}wDk*S zFIToo@pnvqcvpa5#G@mw+r&OspFO5~RF0zAoUgs=ei_`v>1rjAn_HR7W#|7$4?hx5 zFVxlH&Rw%*MLbh4iX}|G7y2&27DLrl z@T-Xu%PaE|5T>u^)gaU`ztev)96x)9MiC)X>&Ei%f!F!hs{bFkf9OU5v!~x4+Dgn2 zOg>+Sq*>#hNURp2;@?=je@8@1mquBn?tl#$=Do17v*4Lo)tN=e3sV};|MHbN%8UK- z52h13jAhh)Der~am<2zJhZy;hV`h~qS;YoJ1nu%*L90N>Rqg@YlZ2Oz5|u8iML^Yk&hKYhQt z`B}*fuxy!>DCNOWuB;WCMHsp@#sDE>>IOLi9&crkD01VEii!pzON=}zJd=l~QgHT~vF&`}7>puno$9<{r8iDcf~e-OEql znGVsH37c*129K6YHX|`V@NNwYgVU$sGmt^ZsBLXfQ^BYz-jC2Rxj{yJF4!Uoq~qoA z(Mn^i1Ws0)*y7K@Enfpuj-^takRFu32;K(@g_QRfKihyGIL5r*M^pK}zmGqk5LjcW z3zUBT^zvOh@4wXi0oo;VoJfPvF9UbXaO1Iam21cQRMS;Njnu5L8$(kaJw04&oBa$Z zN{afo3arzY;w5^XdVebMN6Dzv$YuDzpSDz3F;XKO-EAhD*)O!J1RpeFDh6py#J!{k zr$CchWNI%>6V-fNV1dT)-$YS6-;|w8m;b}yU|VzwBh2-F>s7JqbWxMFtoo+-k&se= zIPT7Lo2B*L8WuRy(_+%HTUzV<4ohu^jsEWKhxvR&w{v-0uV~2si8SqqY$%iVi&O%P zs{-;(Jx)Ocl0poho(|0U&%tBFlNJvp>aeJpgILL>7LhO%LjjOe{@kTHS-ly{a8WPf zaW)%=OL&4q#ckM9U{tI1fLPP%E0_!`_$VZJ8fCgUL>eQ1)qk-gF)DoP%P5Ka_ zO=w!k1+Zw-1s!e?p)3UVM?((8AV>V~Z3{fT>>VyPQW=6K2shsnz4xtW@weGw(L314 zCfB@~eS}0^l`Vq-H@|nF_usax2>t@+&iDU2u4Clj&b=#8+LIK8AnI4liEv7NS03naI|%inag&Ht29tb*SaQ^1qIqUfHW%zWL>Q zJ{nVb2OtfMyTv{)``!w*i0iPpz9uQW%T|BNfw@n=9~JnC0-(bhi5~ zhiyPp>{Z+1YzEe3?->n{XZ5K(O#zWwf#Bxp-%K|MZ_b3+%+Rd=c!9hw z%~@=ojmqrN)gaA&Ghy~Hc2(Ioe-KQ18ybo;+P^DEI^)~kogHzNAka6dfeG~Rr+l4I zKv`vwqI2cO3Z&Y)zYEMh+Yt~}xoD9kUx{ppM%rreef}N4yL52JFXca3%aiy@2K@qr zmw&4)zq#1BpKr>|U^ZztV#@oY=TEX*atw6M-(II-^+`Z@+b-*7SQS3*axb6;yOvI2 z(Mm1HP-L}Gdej|JCDb2~bQ)YLXG4k5w%uH11&R?4r;Ej*9NC)YH=dkJ-{?QgKl!rx zC-VpVS5U^kJkPu8f33(Xos02B)r6%hXU>YdMB-nw#&4pC;7JdyB3TZ&0-m5r?t9%H z{|a))5BR%_I%b{{A}x}LZvyzM-{j1_-Ce z3J)DRk4vdU`f5bo3-2wwTt%1KWTUm1dpogG2b1o$d#!M_QFGJnV&Oq z8IrVa>6eW91@NFeTYpg?uI2Ut-%;Q6etf z6MOxGlaF$G7+rT%vhGk#bOtrO*-z?9FP!ghnlqpTrJIut>zNkujpF8O9T_SC=PioD z?I;%Sr-PA2iI(lpq9m~OS_kmFv3)i#ea z3n4ao|61+cZzTDBmko(LzGn*X{chZ~Vh4zXjNBLC;rr zz?l7*q^{?on(-@E7aa{@0;1!3bW0+Q`qM*1-#R$@Q-X3`MIEOwf=}PV5pTvy+tHom z%VgB=JOAk)zJ^0nq^_@*_l$EnL=gWeBlKWWY+r^Gim7pb6q4vJdw}*kp%ao=vy`JD z43aARv}-yJ8OHJ~pWEx9{dVX^toec>2`W3~=6GW)HOBR@$QYBeF!H$x5=k(SPt2aa z)KS)&{M{}X&hqVmWK~SuV+Mkb#|5f>yKS{Tw-0*4bOtvb%tWqb6l3QhQMUO}~{W75^yn?AE;Cg;ed{n!w?YEiJQ`dGJduLJX zIMIc*y;bdk_rX=yGEu5gF|v+~dZ26i!|jle0spgZm6&dmuMTAMTW~Jho2SHA0Bl0e zoNT<4#InBDD?b2ykOL(5t@U$KfBTz~FHY(i%>NK&{^3r{9FeOB!UzpF?Q49JPBaV4 zm;JK|YOoKUQulknVbyLE3ikx7{9_GUG z(aq*;PW=b5IWeQjxSW(9aD(^QrJH!2@&5kkt8d~&LcSf!N zdVX?uvF6pIgn~kXGqZ$N4`QmLXh?1^^$XgTK*z5E+4W4Gq)vSwy4xp&LZlMROPnn7XONvcr0Z3Ht!B>noU}SU!~{43Q&f9J4%N%N zWiTAxZA?1y?COZRL}jRoEJ#E^^|(xyu~-!=ZPUOKk(7FUh+Z+fFkG~FkQK{gh=e+`>1U+{J2xk$Mq?Y` z>f@)}PKWL3`TY6Y?+}GYJ8hXzt!x#F8n3+Po{!zNgcr3v#hi|wTX}yxeq@K!&b;R3 zt>fk0MTG||3U;lF9kn@|In-=Z{PxCv-gdH8#ezC6F{xT_ph!n`5AOm%DXxo_gI(~; zX&qGbGaYSA*-sWB41GIdF-^qk?3Yy07Qc%sE@lXm8>;d8e=xb3;HNs;JMowg7@Q!# z(H-pp@CKDm_h&#m*5t;?E|+{87olwwNrq1+`egR{i6Dz^#%Z*$?6(0GpllWWN`t&ySL(pbGzF;7cOQJDq)jj%_WkLL<%+m> zn64HbcxLAcbNs7)%;15G|!=@>imK46PvBzI2|~8Ys^q14@di>?UiBlYv1&|1glKm6>$s?SB;~}L8(HLl*sgYlByq+$ zE|6)mFa4GYw-);n3BRy~BXO6sWHkMCSOyr4X0>}j!|cosR3OWyAmyt}rKBXKDUB6g zj@6i`>b266d@7URF3$;!Z9)@LWgO!uLe^wyTBJkE2v2V6K$Es;Dt6OjHs_!Dr9{s^ z$5RI|Ok*udCyTZe7N9t-r_smrL-wUP%U}cTolAA!4!bPJZvloaf8rPIGA#<``O>H? zeu$!np5sW;Kx;g^a=)dP=vj?O@DEI55wcOM^CvacutGPx1r@gKwa#B)%<@BV7N%@4 zt*#XflLklHm*N1f_2X*l5VCR46kMiZkDy&Y|L~T`Acj`D)zoIJ+$`Blr>JS7MALOs z3K6oxc_ND+{&&^0mZzp|(Xi1!Ud|Wvde`G+Mb&RJ8S{}wVCVrU>agq12-y@<*L|~V z6=V8*{}(&d?OodS$T#v?v1FlJui6#)iqV>qC*G0%z#?6z9L#R3b<4TN)9K*>gSqqL z?h)0wa+9q&JD1GUp0m}Y%2LkGmT8+ZEqXm!)_-NrLOEkM#kQub>Se)hepd83{bt;S zwO~)-E`*MQ^!#|oWwos$&hMN)XUBFDXRGJm&NGrEet7?ma-HwWJ*v67C=2HEv8zpw z#^z4isF)55TltM4!y6CX5)R-ik<7&x0b*d50juN;c`1y}1J_et5}z@qg`}u?yb66L z%D(P7>i_=y7ZUT({>Z~?KQMau`)DM?$v!|qt)(2R<8cMturyz3;vou*q9e&YmZc-w ztvNvC43w%9>XV?L7!X7vhCFRG6U95`}XNIt!)%fED8<6 zq43Qu5LU{&22o{j+y%0}J~mUAc4Gmkr1g~Up)?#>rN^%V1~S3cr1_&f+p-)QYXiDz z{&a3_c7j)tadU$VzCnhTaTKN|Dm;ZGNHvl?)#R2Hu$sDXH2uMy(Aam->yxW~=H! z!59ni`k+)rvcSWjxhRGoG*x$xbH&%eu_E9A1~@D-1RxQ-Hy9Bs0xcJnjbUGAytu~OhUoZXZPNguOb;Rh z2Y<1jBMlcm5u`L$Q+JAw0WQQlbc{gQ=Bv+HEtZkbmUN_Fk`T{VI1S+e?1PTgxlOwuJVaN#q(HP z1rer59v?B+jhzT*wUp9$hY4T=s?fUUi=r=CvO-^Zb!=&dxv zFyY4ecAM;Bgc_x3@(A(F-G=GNT@q#JX81rx)xgvqrg?Jv>)4feg;nH->mv=coy>ft z4EnRZ`ZbfhjZyQk9y|2=F%B{T>AcFNv~artE&0p@Z>$=XnA`ki?=PWbor4yw+ z8RiZq7|}PQoXo7f#|5KI^cXh9<@GT^(h-CF5ts(s$gIis$1m;AQSpXeG`A{$Xg}zw z!Ts$Ul-EzLh4_)8azIHfYAr2@lH@GKm8n57(bah-K z5DYn&5?;)jM?lhEK+qEUcQdeT2PD*Q(DM7pw1I6@iiGcmuy!xk-b*R z9$DO$tO6+lI{72{f}^F06x&Yq)so57S_5Ao!@uutFFeo9N~%ns2U`+Pv>9;7LoJ69 z@I^Y^>^c`iUj8w1X$wz_j2%5S4GJ12Df>UyDO3N>6&8-}f<1i!bPqnh-tHL+Y45+2`-kT02K4AB&!SN<&4?FIb~~$w zaQKjD!EhA6NS>)^>^*hugon)}35i|L!yXIrUu`-h)lrGSseUgqHH!w*w4Ms~IszBh zY{*P!(<$qXr`R*q4AMoY5?}Ybe!A^D?VX3Ky5qYB^Nl;wXDXvX-hU$cU;;x&e!aJ+ zngNul-JN{L_a}HCp=dHinF$?W9BZ)M1e!C&3fP{3GiX91)Ic$oPxxC7<&M?V=f_dV zas-#0_=(H!_VHa00U_}si)AGe>sw-xXI#s6S*=EgZf<9ePCz5fD}TxA5*R@PQZw2Z zsU18qcl>G1^Xtox8?3M@smdsH`3v}^(xpPk34*b$@^3r{3Uiep=K7RZRM zPUthYqU>xpS9nM!k|34JV4taympL19hE8L zAq=JU;3yPuO9#A6{VoX%WE0&!1YjloRg$Dz}K=caFB14@xEC_`Kp)^;tNf&Ohh;oAF!K2_+MMOHdR5x6C(={q*csE)3dm88wU_hD0?v-L zx69fKo`2aA2WxBR4Yx}MN(a_2N6PQY- z-8Wsye$k%j^n;=+aF$qomNT=WZs_-NF=jlKDenZ9ZE)coChcAWRPv|xs(zxg zJ~~1*WVqg7cMcAT2A-({ZOiUSyk}l(@k2oJ-E`GXc5+74Mn>e+c0(7k%mh+vG6hgn z3(B!lHK#TUQnAr8rfd-#UdTNy>sEbnx?%S6SZSP4y(wJ)85n_0x79^`VrA}14C1G}9c*Lu#k(r!;_}L~Xs(IO*{;hDPA3>HU zhMGBtdtFNka$pb4qzGuc>VRHjCtxwNCe5p;R9dnG zZ6#-!bY4T$6wF2yPuED{N1{ThN@QJ^HfVg8%DY^Jtm+FwQ2%&5yD{++i8iWIxEE61IR3 zt}U*j#wFu*CD&g7+-oxtH6`N~r6NBwGlK`yzuVGg zr7UzSx9;7xO6htZwHQO`u2LxJAxby2DK3j-G6{P#vZF&Rh9qbY&=K*hSAfr&i%6?= zRW}9T?&dKvp;_Qb=5Ypr%1ny5q*7;dE5cq-8XqWTqD}w33sgW9Yed0A`U0rc5GCx}|CX`J{qscKr%U`kN4{#i7J>;U(hgg& z6||%J!*H$I?Cw7C^2RnAF1@n7p@u@0v26+# z^-QbyWlR)^A>e6#;bW*c?K|Im^3Mrc;K^4aM(RsdG+wx%ex&n|zU z=DW1^Ls2sgUK1#+W{nnB#as$oeQXlwmk%9IC|@@`917sDLdlB^RlOzq(CN+k(Fspq zcK=}P&m?a;&ZUpgcAwXzGbWTVR1{Oq1w<9(_1Xk8H=SurN#OL3<9%j=wVTx{VKKel zg+UegkZFDxa1;4+(PA_$E-g;o-{$Pb>QLD`T%U8GzbfrlR95Flb31hdqJ{X;eme6> zrqdF=mk!_VKez|`Zf&1hNAoxKTR<4fjY`U7EMR9bovvu}u4DX|-rPT(dY6O34XeWG@X9D)FR=JNg4jocNRgN?yQSt6ZL~F;MFZQ;DOFgxTs1 z|J1VOLqFRH=9R6}SROGhhr*Z^7qlxnk@|9EPo$lfz$@X}co@Kj!7admCn8^nM;ooo zB=$4SDfe)K3`A0P3|mBtjmP1WX#aKsl-<;}Bt<$Z;j0xTIE)t5U^u!YJj$u;H$J>#Jv&jVIC_e<#AKGFH*+B^ zACRc0u^NYdB~3G-0;%EaOo(+{<@5#oJV_`A3O_L!ipF)=lJXn>7M*lh#Xh0GR?+9v zd^1iULH_*ZA;3lM-U0drJW>zz~$ktz}G~kiKhDOO+98{?;G*c)0Aayi=11cxtD5neWZ>M7TugtsR&b}@4|MgCOkL~BhCcPJT%6-YdEx<{J;8H zeQy?pwA)nI>EwCvez=s=Qn&0GP4C=WM%Lto2eBc>bLbU`7J(1nfu=!|84Wkyx{}cu zMp4QL7NWTIUPt4zycpZiJ-B__ z1QuzP&jnxd-Q&E1;jyJ_mr_%S5OBpB=lye&Y@eLgr8X8(oe9sXTtd#j%1!0wn ziT^J+c;DxM1lz1WCq28B2A^TQ;B5SK5fhh5v^mKt^zr$LS$@;-XfAoYhjREudWo8D zsM~Tc4qftezw~9E{4mE{^7=xTa^~!Q`0FR8`VOL{C)$g}mKRpzaa!8ZZq#6A9(t$# z@a^9Z{gAqNxZzc#+u3r_-h_lo%2;Dso%=697)TUvyqU3&qmB~+2fL>@E7u|QktVNS+dD~47qw*nrG$e31DK* zY^-Z>4K>AmQ;2vaLOOCoA#|mc__M6}J=bu;S`)u`=UdJWekYKpZsjb!3g;0BV{tNf zRdhEk$q6yFWVMo!?abNaOgcBn%Xjf0gXj1b&Jo@~0AsN*ZZ{>GO9rzv`r%v|t1I=wg10=R6=BZV7~zt6+K*@i=izG6hjXzj&}18vj&LPc*$N=&igQTf z{jjmDa^*M|=AbOwl9f=``vl3=fkiGkRY%e9C!3Mjz%JOQ(8F)zZY{E6Y-hGUF?abzh_W$_T#_$p!Ygu)8g_EtTYpT!Dg#|dq#UWeK?-fG~ z!omAjiya60+l?$#g)wrry;^VBJeKWW`VO?3(TIxp}KQ!jLzOWx&_Ziih@6Bz2pN zJ}AZ6u_cHcu_zNC2Iy=o!`S0D_$`GGB8T`Z%~G!ci9a6AkEn>*m04UE@QcWD<|j56 z`u5hvhCQ=z;g8j5ycVwG;bw3(uzyeK+=1x0vHua^9Ax1>xR{Z25y`>_fo(x2+eio6 zQ856#Bu}!dQQY^`&Ef+{+3d=Xm9YD!Cb7{!!=8v*E5GbJZNHDYfDY`^P8Qr%1Wa@@ z2hnEnY~P;~mg zQ9y|{_~`lBhDJMT|4g%#4_`ppvjiW6&+5=uFQ@=$GM(i)&zh6o+>I5;(d=qjdvW=k zbtdsE&3Pl^AKL5uY|T9v5vt;?y3f4bedDeDlKSIiqIsz{B4?ANBIPK9tLeTQw*IXU zJd!(hjY9eM&J%$#D-jCdPeu-Erz?zZp~E|cxxyU`qevLUJTt*d>+UsnLp?BJ67%N? z6Ph=RhZZ`fB0S)egA$F69fsm+j>uDKS_XS{Fn~AN`UWNKTLVXa%=WHsy)20)E)?OovSyp-7kxiV|6G0ExHU=E?GJuAv}uPc{;X29n|e%L7rx9 z>=crYupChtS4crGvwZg0ux9uBLFr0MqA}K9{b^9s?@iuXjpNLw11^W7+PE47@3?wh z;xiWzd}v{}$5}?e^-mVZi|DLSe)Wfi(oND$2+XkoZR_Ss|Ak+i@`9A@!HXH?)x~i` z5)nNf-g@4$_vO|%z{eeIpy#FSN$_)+P@9`XL#aATkDG}yFBv4_~xB1KG1@}k23bU~xF31xOy8$eT#^k=`AqiapnW$&q0AQhEEOy*)(w)+ z!}Fh2Hkdcb?-O>DbsT;U^E$bxWm2J3finYB=0bSnW8`TlD({*IXO2ouEC3)MKlgxF zpz)#|Ii(o4$j(iF{dtkR``o{R&a2;PktAkfeddOdoj+#(SLly&>-#(4BKRl|vXJ^l zYbJBjk@<_8Ezcf8DxNa=F5$!yp*_djxa8_oXexUlH31X#LZ&3LmB|fU@$YTLI5;P@ zPS^fIVSGBFxxVZkK(q4u-N0lWtYuZqwhPR>|8<*{7l$1bMWe);PS02;>l&

>PooU;jFV7 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

y1^ELK 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[L!JD_-QV09h9CKa?`gI$~`TI(%r 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%0DrNkei9eGXK%usYz{87mp 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�!C;Ib!L=j=1Yul|s6wr)=jtG5gND;9UoeyIz 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

2U;G0Y>v04E!kE?+ z*mt>rIYPjXklJ->qFY&a!Xk4z#ic}wNr_}?x!{9RIhaMQ7=DFRbyq{Kp?*L-F+1NA zXMLQ8Ewema=Ge!i3o9k=jTx=)snwv}(hcr~fBk>2@5ONjo$;4OCPxolTVcoFFz^^}!vQRvwn+GUf z>N0i=^MY#lw)axT(H{)bM>I1o+}O9M7*81pk|t-<_#3$=;}iJ&6FAZ`Pm3poJw%(P zdu<8dk=)YDy6;cZk*EdQXv-w84d&|7&%wKkG{;9bq0lK0;7oeDku(gBny-#hXLL1F zOhXrE4SHSY!!XV?LcMz?-6$CHUQ_PeT#A!)d+Jk^`jG$Kb~sZTbVKaN#Y@kXlJ!=Y zAl@;)``4$tO;olUKXvjkZ32TXwwCVJzgAf_pHQY`-0kFIio;3jt>@d->ynsnE3-!% zDt?IE)2~|L#sdOwIL2j5w_VxBH+a9b3#c1mTzq4yJIBMb>k9`%?ab2JIm~vkOG5h6 zh=XE40zq90PgUGEB1ZZceDm|ZVU&OW1@JNG(Ic=!_9ST3Y3e9$#8CRk;|cj0Uqp&y z0~f&y#(8*keSU>%DG~IH+@Trj zV|?qE3;N;y@tFs_LEgs1ZcX!#$>+An)xGY)1NVRsU6#I)UyF~YYlR(h2OQ#3-k+bx-%;~zjMke`B@{N>V8IUnA8&FuKf8k^uLoe(igd+v~&T! zD0j}aN%u>0P)BGLLwndP!RM4`ww_faZ?#15!?QfIuhCkpBk+tG`*)*+njf){Uk&4SE*IN zgHouDMrRYD6|8_Iy!Yr;vii9pQT5#AuiQuzjUW~P!YdhZ;|reV8Z@?@HX#m0I0)|Te#0&$yuoV%YaL}H~D!lzY1dK^jN-En(+% zZSxRcx=9|fP+oIu{Ab>79)}5f9EZ`@DJXoKnGi%M(NvmAqf;0RQ_bye7lWdGs&jtn zgh<2A^+yu;ICf4H&gxd}n5wkr61rg1(e?4NK_WnbK*KfHAt&Go;Z|K+Aj9Yjq~v!v zNGK*odbXc}SEd7Lxyu_-c4

  • JFBwv}cT9remLO9Uoqu@IwQnLosJC_P!X_JLjH3 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

    P){-zQU-}}M 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ï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 A82|tP diff --git a/public/vendor/fontawesome/webfonts/fa-light-300.woff2 b/public/vendor/fontawesome/webfonts/fa-light-300.woff2 deleted file mode 100644 index 361c02eb5e618759e3c128a3f210c15715c70b5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357168 zcmV)IK)kU}2><{95YK)91#;*EfdK#j00000000000000000000 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 z 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 diff --git a/public/vendor/fontawesome/webfonts/fa-notdog-duo-solid-900.woff2 b/public/vendor/fontawesome/webfonts/fa-notdog-duo-solid-900.woff2 deleted file mode 100644 index cfbc09a5b2f4287b2ddff7512584e80fc4ff1ce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41112 zcmV(?K-a%_Pew9NR8&s@0HBxv3IG5A0peZ&0H8|)fdK#j00000000000000000000 z00001HUcCB1_odQjZ6iIM*y%$2OtfG<69hP z6$T^5{&eN#;Ue)2xLod@L88OMlcGh69|XL;hw=b5f*Pk#Ly-O+uR?l zT3f)^+C?pnp>9^tYn~IIlhQzqxY-+HBp8UV2Obm#V%Mm5onq;*iDX}zEAH+h34^0) zKFiZ;ViQr`ul$P3T08qLvb;ZaVb-lRk>#DwrVLYAWWV|>Ue5n<2owK$l(z_M%DAhO zO!g-E^1y5Be>am|e=^_H5EW@TRFv**f(}kZyY`Nv#G-(kL^FS2c!-DnCJ*kbgHJ5w zl@KxA9F_n1rrLk`9DnIg|GS))-Q@zQ-4aDXQXI!-*#a8P@Ey&t#1>e#Wk?ik94M#+ zODZqsZM@6rd+qMKI_G+Tw%K7JWd;s2aAOX$!DtMkHY-3duo|mbq_|9sT$U?V?e;%R zD26A}3n!lP0O5G>eO&skgCE}n7$a0_70cfZX3*X7H7QsH@$c8KmFiV>%C}Gv?qnpX z#1Yz97Ak805z#Cl&hjDu@xRpdU({76NEBv&jkn{O!3yMCEp!3NBP8$|Mhwq5mu_v4 zZjkR4uhTzaBoK&)I2j~^Fb`N-6Xrn|IB(!mge|^J>~q0EE{gxjDOk2q><2h*|YX6%@7fgp}*3;V$+cus$KCm*3 zs0e^5oRkEI(e3;HnU;l9^}h7iOJ4yr%SbOslkg-go5yAusZB5j*}hfRv{jQYY9y@kfD_)J@8AS(4>$sk44|uO>wq z4ppt6T>L3}Vpu2lq`cIGwAs&MJ-b=WayP44&Tc)6)zlyk4me9>7KkKp^JB5Cdf`FA z6bI^@&971=2Ngoi9nL?+VypX1Y|8gT2#13Kuy`b?l2i9fbHLc7fYM4}0gbVA5kzdO zOMts{?_-$NnzX&n^R`hyQA8kf@bp7hFRNF&+YG^&0>hLKXCkWhN}awsb}SB2A_-y~ zU^NVR zr)l^qpZMonLM6|`=*@F|d3HRX^>rD(qMOPo))$j{{Z=0F(^o0dNw}z<;k;s!d=&Cet&QlX<2?Tm zrcyc=HFm!@es{t)0c~ zY=X6!QRs`aL|cWoUE90XoI&mXdk)70c$%pTB6u z{G|)sM+eHC6YpVp3n@}{nrE^p$UD-`2f4X)60S4Ev*t-kpmF3DjkhcROoYgo@uAiS6om9xq<<+_;f>(2hbfIUbC zV}s4w4*g$+rvIJ=^Fm!quR(?wX0)*;m|~U%R$6PlPkm*}uKT)rhDOFhv5e+i;xbpd z+I4Ppt9w1`1#fY3^NCSa)Eqi?=C&AiI)fvi55<%vXYTyr5RlN+>ojKEaTi=75|UL? zQFBT&ebNM&rf8uGm}d|(itEyElYxm!?4xg%{imGw?L2$`b@|b@GjB~yCpABDQ$Fzf@b-t-EvE{nkNAYH4dGnw{pZ z`Dh_p;#I_?HKu1yOU_j-$=8H+qT70Z>1p2RSLif2{)Q1z)qFvpTn_V&f49qj=Knwc z`0SaJMKAt;*0=xPkP*u$57~_@MpBV#hGN5$4UX#`(WySYFhBMq-}fyhg93S?gG|%O z$|66UICiL_NL9!)Ss5uYA$~p{ZZ1wXdN*7vZPX>+H4m z8W5)u#}G{b1PhUmU?RK`mH@cKe(bBK3?2_#0y_xX4HE!h^{{FHj14P-<-_o>a9A(^ zdb2YFErn)6)1aQv+0Yq~@roa}5|IFCU60_~>TuF^q$TgL@LA{#P1^Ct1aD_6{R-aU zSLhVE$E3(!FK@A(Zx>Lva>w~)VWE7F4>$BT(>`ndj~YMzkwzJ3s#zZLn3ufaQ=j?V z7kXgeYd!60N=iYfqZu`2Jz!j7|c&M$}}Vigv>CMB!~Pk zoCHQuBa`4DKp0I@$5@gk#*wr!o@9UtBqS!1P^L8Lrfn}KpR{S1MzX`HOebMAC&?X; zGMD6~my&$&E%Ql1!$MLBxUz^8spUzDB$XAURIN%PZeq2GmPB7%pRtvK#MDMf>11i+ zq#W|f=A=SxmBe}6%|ct_;n`NTYTKz*YkLhE?4U`L9kpn+6TWu4=+x_P!Oh(1&WYaiOm(4dR<_k9}EqLkufkf4kl*6)MA*) zhq>KQH~`Vn@1gT2cj9Oi24I4&~D?qWk133ZX{OLsy7HPkab%(g}Ss3In0SP_`jM*f5f3 z7|S~(C@f5b4^u^lnb=`2ZdiyHmTC(vXd|p_8rH^#jfr9F>>Il^f4ainhr-3eaQ&SP zH%b4b0UiSq`2bG<3G@IM0VMFpV(F zUvO~$K|uJQI(7eO(j=ix+X@2)Rv{s+K|yKo830^B&=rE*;K3_URKPF=j*A4LMw04s zxrR!msa9)gwXW9dwG9Rxt5w%-*W+;LbvpIAT*#L)92^yqBB@H0NKKL?>QbfBKt!a8 zghUG&nKlXv9W*q$=;-t?hOxkN%waA_U%GS#GGs86DHBqbEJkwV*dkXhlstKi6)I$c zgToXTml+-&bJeO@s8!2Sg9cWbG_lsAg^gCNZ1M5gY1htPw{8xG4Ra(Uk|l0ld(EAgn1_!(^7PqfUcUOu+c)3% zShmd9AAiR0`Yo64;7^{s016ZY0s{-8NKrcoh+qf^Aylafr9(#;UAn^Q(SxH;A07%y z1XHFWS&robFF1aW?TPaH>-RGn(9mKya~8{;yEy**#lyi#KtPa)h$smO2>}&VG8&o` zHEN`)RVz)MIz;vAk#y=rHf9XPxN%g+9Y=G)1$38O!XP5Tbkj{cJ@LdYFTIrRwbwF; ziDmlYi!5J#l}$n-=e@dL0L=GBI)ZY6av3;_JYZn?^yn#ofl^skd%@8m>Pw=?;x#$!cQBQZqC(IquxG@ZqBs4o;gQMfi_&LOa0-Hb)aCW@3|@ z%$RYrTW-0<3oqu@Pbj2+e1SgnO>QG5cKho?dbH_BI_Y0>M`6UsolsEjVmr3W2X?TV z+|84xdw7rc@)9;-o7@Wz?>^C@-H(m!0bE=U;^BEn+q5nJ_eMHO9xiQq!XxnT9z{g- zm~7enQ60p`cSyT-hjr+1M5j(;x^xjbBYA9$q{% zc$M=$$A`tYh@U-wXMy1hW_Cm9oUlsaJ#ZxW6_FTG1kq?QnPSz%xr$GfAdtvHu#ucA z6)Nop5((J{1wiAYpT%I=X=K+e=?t0uvc_a>q?xJZptfH8869w)D!Pv8Nz&V*uijvW zA#=kXM$g$jXYU;cpbkEAc-yT!;_@k1(_JGF zt(o|1a@q8vSvPY(E%;e0h{&c&qEyp4q_u zY!-8ljP6rmOx3)>skwA_>X>?Hyrg-E z7G~O-=ig^KC#TCvLhs7-gZeN7|4z&>qn9%>tHu^>#wL$RmzhR0!_7Q5=`8A#vdo+n z^!!?5J;p|FwnlZ%&gDjX!+vBAD(8LUec)I=CuApv4r`5b%C>5hZ5sxLyzQ;caQV9( z1XCd@X3SC=R zfAX*?X`+-5n?6LEbU0Tc&6CWG%`T$kAV}X%FR9EZ@Ev z1%(PPEAqoC9~;|w#ogn;8^-Na!dBY2vTZG`T#y8>TScC#d#XjNInmqIUTArBrJYq@ zu?FYnG(ONo)f}aTyVl6=tj)1eeAe25=GQ@LR%fj)58WwxG}f!v+4TkWTL0z-)jMt| z%dn*p_C~iJr3nI@-5%QmlxlCdeRu57;3f2rpaZwsQvV+w?Jb1v)UGAq4n|q1g-xNS zWh@v-a(f6I%Tq!cn8`dyQhV^WY;6tvDCeB$6Iuf3jew+8Ed^5I(rX(~iW-7*sP_%< z@sTa3Gi?DnNn|x^TN=`AF>kFF&7T=&={Sv)&Kl|f_(ni3G_3*lc_SPMx#d8@K3bDi zah^g*ry?fM4n`?RU0y?QRO><_==XBN3Z^F9gpYy)A&3DuCp-b?kt}eIJir!?6KEa@ zuXi2{QwCwd>#58IeoU#c=d0A^FvXyZ!=IEIeQg_qwOcG~;Bi_N@FAG#9C1}(okyUX zvK9us&SWNV6S+g=6$5&uP=Dxu${ikEmxkB4^O=53()@krfY5yW2Y-M$A0NLX?YRzM zg}@qg6drx{_Vzu&23NPB5bU!!0ix++;0GUZt#(h_e?)DXCJhcU-Hh4O6VI2JuKD}z z7HFy&PtIi~`-WVc>%pr8N^OR+p(bk+Jw8LjpgOalW*-H-wzKnNL9cO#$kl&1CK)S` z(IG=~vpG^{wlT1;>>$hzd=J33(;Iw%2mClK0OOtp1t9gngSiEy;HSJ=mvb92ET>;6h|0vp?ES^x157?o0*}d%VCs>j>tB~J zd;Pi^XiG-#Ge!=am5FOb-*K>XNzc+He#BN74{kO)!o$3OpI(9w|K9XN`uqcts9-5b=kGKvaoBe2-`#hgauy;rH-(~y1IDa2?h#{F~Oj?NA7k!bXxF% zg1c#uoab&cc+Gxx-$R6?0?H~YRgh_$%TZmx%!E|0g7$bF8{ioXzoBiwS-&~l_9%*! zB#D6rAPbwO!wmU}xWw`xOn_h`_sI0grKy1L z$y$wB;e`wOA$GE26p2p2I*s?0mZR3ur!DAAJubkcX+3ko;-6Nx@n&|p!j{dk>v3#e z>6*5Ub(9JL%uGF)ePA9&D#lXk%!f?BAa`=Vr~9Ca1NP3Nu?igaaMWgBueK>Vc1o!ol(EL_Yj^SYq2l3$}7fH|Gv+tkbkiPB!g-dA-*sbUS4^>o9Nvhy0g?`@$ zPRcoP^q*6ywDas?WkOMLXk5W~$@_!SQy7fp1i^6-TL(P+ll{-RXmlME8YoxBm=a7~ za+6DLy7SIW+^O(Sj6_7G$KGeSk)YG6YpuZEOBM?k(FVJdafH7nNPLvY@P22y{ zyB8qQwHk-7o#ftJfm7o6eo?KZY!$BYsk1$Bf_OXNxLe($9wQ&(`UwgvJxD1@!~ z+Eo-rPA|4muc#3s1CcmNH#@+hpamNclz!g0lf@V-brPMWo4{>}=X2avYJcLWWi}9( zEMgC_ini3-s%*=aSZpzSm1UafkrOsWmpB_nq3<)aB6sJE5{(TATU0qqtV1At9T1Ty z^T0xpAgKc<{HvZm2TydoJq&kgp#Q@jRGEzFkLi6o7$d~X#uf9p{<^%Y^azHj{lhe7 z!tq3v>_GOh@}m-4!p&H6x>n_mT>{AwyOFM=gvjVLs(edyTcnRlqYx5rfG&5@HcXq$ z9UV$BqmD&bP53xWXe-Y)NoYC;RFFnvCMIH`07gkFHo@BBVI zMwq`C^Cv9_k)QE_G!Ra^S0n%=0%p>DR-=;Ms<{K6Asmj`35o#^Nl#ZXTfjrjsijqW zEIe;C$ShH%xq!&0QWzxS?hfLTx~{G*Y`vu*fVXa*Q{bUl4j)I;4LIOdm0V)|^{Sb9 zqJ88y111Qx!|fp~m?g)S&=!;Ood+S+Q*{7vVA|Y+DG` z_`+noV=}%lz5VpzX2D1)^9YB(Fym}=RCglw%Z!RHb;-ETCI$SILTv4aF{Km=v^$-o zZK4NQvZN{Sq=HGoI%KnvX#{fF40&JABZBEScIeP;U8e;v>&~2sCh7nyP{71Rn^GH5j{%34x>K2$7)2Qg2>d|03$Jp3ENB%aOi(vA-dln?R8A zT86(9(-sQvkbX|)>n();%*WODKfu$K?uL}27*3+9wX(m4x{b)c{( zp*l?)$l|#MM9NWEocJ-W0%)?lT#bKHchRL#_P&IM*$mPlFKfEzUug#eBaXYoBf3WifU9+$GnRXILIv3dFi28+;IsK zB^H;fSgQqEyYZ&t8|>%fV;_O*v%2l}&S2TNJExC05cs>n&%9vw1z=-Gsi1mOV_QO=RO*EKO+uCKC%W&`;LTL=9K*3`GhWXJ|3&$zD-*&q z{?Nn~e17Q9rNHMZg3c7xU--aLmSUZncY%kNG4?6k>+aGyo(rEES z21_k(!4niIhB?@rL>bzY98avz0s+(5*MRLwn86B~aoggi zhlv*prdih3z=@JpfpC23^9gSLRd6%pm)`Vqx~%xV9M82m_#IARay;2Z5C%8@Izsv8 z*cP_x+wnj^JNs<#whCGCExe!7=S%vE@lT`(|RIK51+KXmm zx}zuK_6s~xOfOS7>GB)(9QP02`N+T84`FfA!uWo*62YI}r$;X#XH)PxGD+HN$7SVkzLa2quEKrnb4{;V2}$W!!AH6i8;yGk%IPR?B8UbAa``z(%@R*O6CI2><|Ge0kk zhC6q8K6Eu%EqS=sUKiHs;_RV^}h9=O3ok;aSl z-FS}T{9S#1f@X|aVy&D-rMT^O0k&p6g`HNR1tF1|9E*uD!Jz$qpl7?dJ4@= ziJNiHpu>8e&5WYt3L#GFMghwuc_Km7s~@7Qj=pP<&yMx%fZp9X-4Q6#?awLb3?#0! z-JF3-dMaySiJ{UCx>ZimZRSeA_)|5DT4?mVGnuLDkUNMLt9Z`5t-QobP6DW*X2J%jh3aW9_Dv*~wQi>;H;JUX+jR1N> z;SJAfS#i7BtboNXQ_5V2SN+zKsqB-~5=C|PmbR~e%rr_dKQTGjnP!oB_-P`zALRrr zbgo^4$#A}mF~t6ya}0u*G#jurdzeQc6OGOsW}LTFr6Bxg#Ii+fVrZN%d<9E0q41ge zn?fM#Am30yb${5mqmRqtK;Dwq)pxPGh_(P~V}&=3Io6oF4a~gjl;%QR3TC{Py}W1|VR{+9`{w=}7T=Qh z$mgSC>0mYt)pY-gvf+mTMdu%cJgYZgtL89`aNWqZWtTdHT^?`((FHw))`;4nGAFdTuu?1nrzZJre@do>pd>M9$(2d z-VAHXtbO6fGrs#Q55so{XZIlRDvA&Uu$O($TKhatn(_y*%vO1Uv&UbkS00};wxaxm zW*fzQqn!UlWQw$G;m+0NE@;b9&R=&70q7ic7Ky)Ex~*|faAeTv{;fom~kR< zU$$Xy6q`!O8pVU9<&5x}f-*EU@~JF)WbeUZYn@&FRT>UA&v0_H>QcvvRf}+I_eTgG zx4<-Knmz##TLQKab0Q0vJ6Z4$j24CS*bd-}m%(AsKLpbes@^J0LYV-ErlJ@FWyqG- zF%ZC!GtxPrk{?(szg=lkd|Mm|!BaegYrtZe(+(YU z?S%WyrRI$Xv8sAQxsy_0>udYKlWCmSC>W#B|3Bt7-zHd0R@DvR6g+ju21Rr9V?fz$ zRE`QeZpZFtEoerFDz@~y{Vi$cOvHW z2wMh>*U_+!wPXV$B2)0n# z!BeF2_R`0aNNRY;TZlkY?V7Dh$7Xsq&>4=v@sA!I(L{DBW89qfFNd%Y-`fzl zTrI*iz<8PljXWegbMx84l}V&%#o5vVnB|TW+su$;y#lzxP+4iP!h_ZZ4q7~ zruZhwfh-gPrB^2i4-=P)#aU*?fML1WEr~qHlvM^Rhz-j;4Vsz&dTWL7|YrH&o9i7 z&d;f?yDi}Y-GkA824DDwR;L(!hJ<8nGYj51wG1Qh8%UDncYN?q{XsGDv{n-;MKxA(te-NDvrr+S=y@Sj66wh}_=` zq_G6e2GK+;Qwx2;AqHHXTZ4D+M=7_fqEFhpcoa7#%+sE_NP?dFccaIbE1(Y!-stUE z;CFA-ML6hc0Ua->H&=HcZN!oZJiVJZffd{a+^le(`%}$BZ@L=q+z(3%mG;oAGH~r# zAC=T#um-cG*;0y)PR*!a8$U(jRQpi@Jku%qD= zrqGbHPuAScj(QNF`+X5&rkU7xH@gs+NWU$jCEOo0xnfo*wdD;Ntb>zv15KwH#7WM` zBzcNSAj3u>nf5&qsq!fEfy&KB3MQrvqze=j)N#*1;dk5pQBflJ!>i~}r=L+n$BW7g zRwJA=gs&MlKKSmHg(?%jw0Xnpq1EWvRL@IVug=ngCy*DIIbT!|pt`9}bYDCv&-D;2WL|lI$McL_XsS8@oj+Nv zk(ox2_IwKvNV`yBNZKYiyD&*n!sFha5inm!mvRj6I-V#M6=%vy>90mJh(qUBCFv+<^<2ahv$vwZWi#2ROP4 z*`75#d)C3=l<;R+jljH~2nNsA((Bnq3XYjpnZvtwj7vosxY56NPh=K!kg zU@+Cu;u5SGx0?fGS=wsm>Vlqed(!Q~&t(Tr%z1hqwQjmladvWA0@t`M9Im52`lS?+ zGQA;ynNzdNu;w5T9ns`stY6r1Yua$7x!SH*_0|tAW%xeja8VDjVHBK6Y=_Z^VT_?V}4RhF9GHW+@v zomeLwdTkFx_1yiQewJrkSu*-r8*=xo0GT(5|eP!qt+daLN(C@xb`erv{BC5H#W#(3xrr-RQ);dfsgV%QVFJN zu*hk8OluGkiL`U#Y?gR>x2ANlAxGK@{7ko2PTWwzlh3Q?Q*#G%R&QyGZ&68bpQ%XH zGGdtK3K2m%xo@M@RYh+cR@~`aop+}~t5ffEu=20@!0mm!V3I(*eJ}!d?J&smD7=lV6o-(9~0wTb~6F|FTB`JnprxgwgmD1k>?n}MUS4FDs zF@-!SO0cHFlwyNPL{>*i#4$8YU08fprQ0 z-!_S0VlvO$2Ou1<+Qw}_d|pC(C@`*Z5tE}!QW&UOCaym@a56kDU9Y+Gw*5=7&)^&L zG{3s0EN0N;*5NM=+^V7aNN>M!;~JrXV6x_D-wi)6YuGQ6iTLBY?f!%sZ4`>Xl;@X0EadM$Vg^L zic3JLDI1`Dr-H?bikxh{$bM}KiJ>s<5;KF{OI?~OB{7m@qAxkqWVkA~b{uuL>549D zuj-C)WY^&9whu;a3U?}IbROu~P9nF>9aunII@;eA3QyF5$jH6kX&!*^qrYCOb0&B} zmr!dmH%A zei+5)`;0F5bN#vxT153hA9O&j1&T&LVCy=|5-cU&$@1@_nBxR{n`G%LBX9)57lWVJ z1=o`lZtO_8BWm1#`JJob=J=&8{>u4AfPx^DhJ%kYK34au5ketK*Is2QA##ltEJKuq zhT8-gu3)^N8KJyC3cCb{graqOmF$>Bi4a@oF#`BS|SXg&idX|hPerA zn1x7p8{ZPH6}6Sc!klXi*Ko)|x$8@4KMoJPxvoEUW*mp1eZr zf2BRSDMxMkmJM4hUeMG2y==a9c z*_qlHe>s8IygpNQ(Yd92N|W{bomQ*2QnTeZW#PXb-B$|&TF zrls-1QwRS&c*FG)%GyfwOJIjPq8u45HIC$T;u0Ts&Te@=dx%g|ZL4cYS?Y9)jHzAa zV3&q=WzZUwIFsqLL|Wk@XOQ_aD|5)6NMEU$?NwbFZDH`!Mi7P(%N#Py8CPKy*KdHV zDTf&!4?ffVCAN#ZKzbC{BbwAcLQS+4hSDn$@A@VPjRl?4Y?`_7b5)QL01D%}}a zx0Nt~A8i@yByl5!4Z-7BAxyZoC-TQTdIz`)pjf)ilL{BE2TP_wKSt>d7K`g^x^KV> zumJmSya+{dhRRvtN?`Rx)MTf>wIhh*^*mx9UZ`Sa7`-`H{E zMZSdK^~NEaou8j_b2uIvoGC@NX1oj#FGPyNd(}-$HH_x24M9geP+fwC{XGCWRz(J1}*7zMkMZbrV|XhIF~bq4UXGdiYk5!FWOjQ>MlnF*3M* zurISXH$D0M=BB1+zv@Fb_Jy4myDc4&LJ1vAo!8C428 zTG&)-ZXI-?aqYxd?^J&7phb2`-2-+$@k88famrvvbLOX<5tfABrtr`>OQ84ws81fZ26MI$>Zz+ zvZyRqJhdDK)SVs+w9jKSYwDDd?_6>tT|$o|^Yrh2J-7Yv>sFv|sNhbz>r|m%AC07x z+a-6J=o3FVz?0r=KBQNtg|qk_&)Ts`Qt*6~W=tFy4vFvGOJgojaXUV=)MDt5p_+>t z1Yt9#lwd4|Tn{-bUVh2nr{ZUP{FDC# zp83B21}6zYoi>GTAxAKN0ZhPhyyVEQ{9~zi=JQC`{vk_UOvyrCWr#i3JGvDjm~?TF zz?@vF(xU*Q8Z=DRmo`H_kyk5@#nesTUc#yrn|J`{mV>V`yV%{)BcPsd(+yNuZ0Bs| z7K|4DGxl3EU$R)k#r71NL!?-q63XQpS2 zQW0E-$(wt=4(NF+Y(qC?4Y}mzt^<(sYMwXyY>JAs(T_Z%i5IC@jbEYt;I8as)jkzl zU^^#thu7^`y_dA5?K~^(CMTq7ZHt|d> znY$Uh9((Nbnh#(4j2T~Ow75Qm4PG)ADM)ypK;jH@rJAWbCS(Bbes$miAv*p$Ci8na zdcLF*w_yjqG6ZxJBMtb_HQk$|?JI?COwh`k0zhL*nsNez|Gxg}#oSFJ8scF-=`Nn* zz$L~|dw)-w@M~yH9L{~FkvBt-kmF5T1&y!>oa$}_Xh|X~d|a#${wyWRY1_|gDzFWq zuHqF@V6cO?-)T7B(Cr`7 zq*{3?^h^pYEtJ|8VwE=gUYzocC*n1-Tm)Gu?7>07l+lI-IIXM=*sF!g7br73)AvMF z;JBk|nL6`3dMdwuQ(q`5NHiw&lRxL(6RZq1P?y{&%1ss;n#lB-LM<-fC^glz|1DKb zsAMZ>%+lYM(AJ24vDO|2(6$HNV1!Isr4_>p2Jq|qLigdSTQLpt z@Fw1Q{JM6hd_0!dkX{yF#Uo@}hSEc-y)C#>(R!dP{B}uYN|=$fycUpInU*Q|0Pi~Y z@INYs02yTx3NLxd!4KLe&V48p+^x_9URBYqxG(M=s$11)F{_3)T0_&cG77dDC@2GU z^_hx!|6oy9&^v8<{|v42dSY}uJ9xaGe}(jL8SOn*AX>#jj4b)s4Iptm;~HEh_mxNP z!twd`8m1A*;$UPdu&7fEN^1;wBOC%6g81}#fZ0bM?|&Lc#q??@R^U#HZ}T6~59hrr zZR$G2=lBfZS4xG{`EL}@kjisEqZzrwMNa>Q$uJ(^*j_TSY%qD<>>xFW1Vv<%0;HUrE&+TGik z;5;@0R7Io!zhSnBjfA9eq@#Kqta_;-4>~ik2piUTbql;z9(qgPRSzoCg@V+BIy-zr zDS&K&P-VJ6JHRZiBk$2}N19gIwE)=uRMr?b+km=#;KOU2+r}1;=Eu|pND=JpbY>%L zev;zRhEoQV)W2BP+4i)+=J#T#t)BYt0JI3!#?O}zIQMc?s2tpmBRwvq^rh3LIJk`_ zhV8)j!6qKO+TL!DIBP?*GgN1+S$W_UaKm!OIm?mDk&<{!@mX~z?Q&AX)1G0eaV<$( zV^wdG&xbXwJ6?H?Tt%j#Lgv&kT9_yHGl=s-uRxj3jH6hRFJOCI#MHeCKEKtQX*d_a zj?G4C3vB~+tz2PKxI<@5aq&MehXRmzX#`&e*yh%e1EO8+K|MGbwzO_f5Pyk@FYxlz zt$Va%eC|TPFwW+!Wz+Zfur$?V4osd;wDRhCf+2|X=m6BYpoVgY^N!g^kwk!9!M$P_ zzEoB?5Dw4$p|$FH!KvNN?SMwM-Rc>5cs+BPY^*~z@9HFg!at9hNM;tgD0x<5G-VHe zvVc9~aZ1aOA_e2g27j3DdfoRS$3qz)f7bdVk`&RzMGa1p;M7aKIm5SrlkJw^5tJ_% zC4;_aQH~>(C+HG=Ce5BbrYz@P;qJTNkGKWN#;>e;D>%P?r{4$pIiRvXE$Pym&vIPS z(8%ggDP4OzJ9zNH^r6gc+e_fEIUWP`bm^8=Q9&I%?3OAwL764Vp-1cNEbh^L_}6R3 zfEo}C)(Z-}2Ys+xStj#2RI&PJICS_8I)Po` zxTE6G-|zc1x_kOyw}V!DeUh>>CTDgk7Odf&yjN5err>q{iS7~^{aQ%qE|Jk)AR&ZW zi%D*Sz3>wlYd3nZRzwsN-X{RHVK3{Wt!%r0);OdYq_P_wComn8chBxt+pz}ac(EET zGXy>AdV_f4*ZrF{rTAl_P%BIY&D>A;h>K#rJ*;Pxi+)RcctD)O@XB(%0t{7en=)Ry z#pke*&C;3KBF#p;$R)3kFp6Q}%!T=FS#3$ANvmRyocdxTGR=m(0D`6X4BdRV-ea~= zLOmRj@E_J?7WH)iPUpL6R^NZKMyN3vrY%sKv)%Fu35U@J33?fngKDWj-n8ASJdD+W zg435hCvi+*0J8+S*Vj`ktY&HRl;+x9bw?$NOb=5ZPFXvP&52 zO{L{CnK5~%0K-N}rr?DOPT{Tzz$O(OH54~9$Bwd&?WoVirls%MIkjRTu!!N|j>qx-JdABFvh=-!EbND#&+&%nwkLmNm_R%) zY+^w$Vag8@eJ_lnP306A`ce`S1mr#m^Z7incHs*X7sM5^2V+uJ^0nmU22_*tM1BfU zLkw!k*$Pa7n%UJugZl+`YN(#gK7N(n^f&>R`*4Gd3ZLpByvpB8FY2s@e?8Kr*GaB? zrga!bFhagbn0V?4z*ygdMMFXDFYIQKSzKLW{G^m(USbLeGtGLE0RKUrH#aq5x)hcz zW0U9=+?RU|6M75}7O7kJHT!3z;?NnJqs8?;blKGn+b}E)=f4x2MFRGWNMr;0_(kpj zE=$=Z_t* z`t2w?YdIwdjxxz&6)!+JWuvSVau`Uf!_ID+gmFu&+Ba>ZcRdqLJHI8Y5Kb$C8~Az~ zD`A-?ff0`fMN|L@8B_K^Z?W7@gqpYfd_`;~^As0f_)jTE^6{0q4eob(b8tLh=s8U>zpxQs&?lbx@62Y!G0_i) zdvne#>!tN3%191SnZu8zo_y;A7p=c%$5S^FKeU9x1XfF6(vrTKJfB86tdPih21Lyw zl{)2ya2(?8!yDwWB~+J%RDqIq_DyHhq+NrZHQQkXQbi)09o$G*YrkiI4!;gg+Ai{4 z!*RWDi7(!2WlloHVv?pH+uZUJuPs%TD5o5iZG#xL$QH#p<*V~BFv&^hE(?Sge?V6^ zx-NtEFv%USV$fo|WI{v51c{N^zb2)q%xx%Fl4{hw-SNAGQX6E&QQGI zcf$Y`7C+tBWTn3T@{`*gT@<2U#P1RquP{s*X-8soj38p3cC2~?y3$%>WtpcgXjZ)G z3Ie7;j$9fJHLy<{`-QX|HG7|rZ?RtVXhgh;*#`#tV$pQXBh1*=!Azt=ws{j3Q{+&i z0jOlu`}L+qZM$`=R@~C$h8JK&4smo09U-rfr~yLeIm3b{)lg!tW8_=ag@_t2VKY~W zFmnBQWL`W&@_S=?%ZXO*c~?r^kfT0!Lcz1S2&5*~NXEPzax6!nI(#YD8?f!RYI3~V z&x@gn-J3%1aS$=3#qtktVhZp)*3fMN%s(g-O`@L$4KaF$b9l)i6&3KenN5o_3Q^0p zDV>y?Jg^@zR$56&Fr^fQ6}s))3#9WD#wNH^Kjp>oGvJFXFEBVxp?I147_jfw_>l+x z#&{7P9_SOGxm@QH49=6N6_y+c_cN|P`Q5R-*aSIU$|;Sv3mlsuUd%Z$0mV^EVeA^5 zXhvDvbKlCsAEVK7$EJ1g<+N@c_#9nR#2&eh&BKh+n2p_%+5^ICceyDCLqbf(sxCW& ztEWwt35VB;?92HV}4!iyZZW`#46Lz{kVNnFrG|b(NSEKGj25lL4 z^Ev8koG0mlq}8Wbmg(`kkDv~=X@O3;4y|jQgHPzDhHQ{1LhsrJ^+xkyKB55un@3iS zN$3#l3o+jTS+{qi1dqkCX>u~^WTL7647C^S+*6Fk-GW(I`EfYPHcV2R(IA+Kl!uLF z_hB^ZX&^H((cPw4SOYz2{~LBScOp^`G^>dkD{U!I<3@-}qP1Iud*{Z@RujO!!F#v? zkjEyDPE;lsV2m#iSHf@R>d-k2c`d0`!Hbeki0Hs0&0k%J!ubeZk3f__c31qNLo9)C_yszR zPduKqUIMu_Dfx$GTsp!%DtS6UbSx}KzcE5sk+}g_NucNmMQol){?5V9nIg@Gv&`eC zVFq&`H@fV1KWzWNf7As0Wx#R@{9ze$TU|@JKs3t`1Wzt8>DU3E{Q>LJ#3nG(lvs%G zf7)N5FdyIjb%u~Dd`_4KVdpx=5^g$KB0qM+oe$76Mj1k2jmf2vldn}Z4R)FiWEzV%)k{FtvYY zIRUrz^@z#KEa(zziKSLi4K{Y&Xf#YJKBZ=%=%-#Zqiv-+M(r z%?N1UgcvK#G<%A-$(E#9ZV2|+l51E}#R{{q|D9xzuvU}rVdiJobIg&a#v4iZp9b1A z&=XLIs01DbnV$E8POn#nEq=g5M<&i7GnA;jhAG&CUH6_3T*$Poa~4IXQO?Xh$yT;~ zyBGF8?Rvqhp{M?W7Ze+c_CxWakkwm^THtJRM~U#f;D5ZIx2!siCan1oy!E) z57r0ugAi1~6TJ1}i-7a4Rq?_2tnbqLwex!{(40`UL(%}x{id^rtUPNf76`OS(y}VU zs&7q+mqj6vZ=RWnT=aeX^Kkgo|BS#Ot1K39PT(It1ov=iQfhdT64svb?)Mt)oAXBk zj)h(U<5hRS=|9^07^gX*uppZxY~?jd1y{;fvx49!>Mn5;lLu z1Nb)N5JpZ!@Dw9Pe)Z%U-6V(6x?Epp5XPj~qe8zpJ#>`JRyFK5+foq7Y^bg|W>x`| z1+{v>!FJ5&BaCC+9F>_JW!geMq*jX#pJwR-`q!&l|6Bs6u9H+3F=PCWg$YEe_{mT! z#ZP1P#*+$-d(gODopc$~(^w2`NSD9psTZY~mzn~kH04MK8#aA_pel-Xi+xxeikVrV zKt=cT1uZ?l+(T*f+g**GEG4Qu6cj}h!=q6)89J4!qC`p*F~v}szM9%#J^7>|6&g1Q z-4=Dic!b-~7VD4-7W8OF{Yn+dFkT26Qg}|Fa4Nr)-+cI$n?}IOf)N8S!;R+FTzIB& zQ|saX@jlhZs=7T^r^!Q0{`iqE-?+Ww*Qr{Z2ojbg;#;nzD|3=-+=vlivOQ)fh$1(5 z=52rPwR_3&P=QEETkzGor4$vG` zQ`6AIe-Tc5%*yngj@8m=16FZ|#I;BBo>0p4J*~h+DMWqKYzpMs{ znohRt?hP75|Kd2TYattz)dsp|m6b4LovRG0D6>3=BxN#F5Hf|41~_aAV5S6bH^N3f zgGE=UHi+aj!xrL-PrK)l8()3`&EuEJ+@Ks=%8kbyY*+J$YVmkD-r(i;&1XV- zGN_*|c=QfXx3{y5szZ1nhZ-uIaYj;eycBV{BGt7>{LqFD6hVMCP$95B77;H?8Rm}U zqQqO{)5}vv|(Y2p2;q4;W-4pS4vm;Se)gyR}l1Mg*hQ{E^ z0o=u&svkelSHQ1cJ3S&kdUtttCxa=O^*6LEqJ-KwhhydV%G`pYYh!3v9;{s+7X&+0 zZ1ft)<@fT~(ReXcNb$?a_W*1OA7&vS5c5j?lL=ZAeLl*X3EM>V3IA6SePv25C6DOUHPTMr=^kw?AKtQQdJTkX z-`DLvuT#*MP6?$08a5~I6fE{8>`*P9HDx)ON#0#TqvC&QqIR^R zR*gpEJW52n0Xmp_#HW0e+a2{97>FsM7sF!7fuo7ZG6(UL2Kdnq=*q<6Rr^3K#=5!w zMle0o;=Og|Qf5ZC4E@#lu1#U=*{H%ba1Y^l{**Ktw0zr5j+sm z$H5E37C$289d#8rVvCb<&qgd%@{$M_Ub0_Un&4N#5Y@hWQ*=g$=)a$73SO=Yg=XrB z%>0{j8DQLsdR2_%FeOJsyi`cBEH0K%1j(f6r2PssaDMfR@O*E-qKG*Gncpd1BMKnk zRBP43{a@>)%gmMyFF6#BWxOik>4_eSCgT*oNq!XBrVbX%wf)s_kK9sZe3?vFyuXRC>`H2-Px&&Sq3Nh;> z1`vfGVOxDxa|a}#A_qE)Zu?FJ)F-k!~`+GBF;aT4;yIy?_SjlOgbj4(_$-m#P4l!C~|J;5b}sG~?C zQ-7!|w5q8vt8aLJid>q;D?0j(@7+TVTuGYOXO-JA4CzwN)=B~*xDqf-}b_uxf0Fgeomn%qS*2TqqAkKJ%~$sb_y63NU+A~)CE zPNs2&TMiv&!*%cxz4-9*Z^rJJ>G|`KuDgP=5FTb^IBjyA-#=Dn_+Ja&Fipsqzw}u2 z4-E%dZ5#~CcoWdL6crZY+rQ30%e(=~lWGc*1?Fj))C`-T?8q})!>^Y#)nBLi_V_)_ zU5c#yBtn~bBXx!-QY075cyW^#hR)~xD$DOj>xAC!Fav5xS^TENC+;ZsL0fWr`su2f z${Y)^qGlH@Y{Mh@4NxsM`+r3`kH5c#Mp9S3wWIZ?v&ciuOBH_qeR5^1wP-3Up+l6D z{V8{tK0=CA%7Wm#IOSt{?H!4*P6DAm-7JKpj1hl<*pXRSwP>+dD}S~8oK-IsbJ8P~ zKZ%qH+8a_|0_xFsc2inL}E*wRTVhajl*fx5_&30Dt%=Rd44#^G;6x7zgh0{*uZ z3R5Imis{3YnrS#L(3FclXU{?BT#MT2NHZ${(};D0;8ymvL%nF*JjwPxRy*%>6_J8P zWd=NPjE!i?M%7Czu&Dus*P!YSv)PTx2BTbMl+H7Z!EI$M=!4rp2+=+T{jejf>!X$9HO>uy{A*KE%S}CNoyt57ROW}?lfEXbcg^yGiJ=|Z} z=`K7(Aq=s=86TkhV8<_%FWNs1FGAm#0p~D3^lTG40-b$~S4oIMFLCU^-Dt0l+g*WA z`^yKIyzWXV$9aio zH%^o(I%HQV-{?K}Z%0&d8q4^D)VL4;aH&jWS)$rImak0<6&6@=MnR^!oNM3_Z9nA2 z9R?SXU7oZCOK`qw&+(a4e@U&{4S%lxM1_@S{!N08To-tGV*(XnZN?6TeC`Cp*-{y90uvAulP?*OLbJhvz$=j)Zl+1$tQfp88!viD2Sh~{Bztd9H< zfGhE6udIJKw~nQ=pRT^kiv?cCe%21d=wdm>6Sxpu>n~@ai4jg7Uxldnm^D(#>IyAu zb;Yg_?#9*x%WxUv5**y!Y+|t<1_L|eGc@TX8LwS0_$V8>3fpanuy59UhDsN9>va`| z;KwD4;}K+8j>q#81a2u>VXVhozcl5g4AajH%bzV$s(PyfmcO#@JpFJUSe=h%KKxBO z!18zcw2)*NIq{guuHY>giIt{{#G0i-R$D!?bT@~Vk0-#yRJ|N~U>o~#Ps|VmH25d7{W9JE<82z>f%XC_zI%Cv>ZlpXeW@*?<}K`w3`UWzthKu+E%F4rL4f^ zw!Ut%!g^>(U<{8j3#9=smH|`*N>{^LzTeXkw7wN;v?Vlh#{tHwGZb^UATp-t7;Qru zzg5nc_`HVg-1$Ad$A(nirx!MVm%0Pnlb+ykH_JM z8GGSB5-d*JVK}P!943$1ZPL8^=nSY|*Zt7vfr^+=SS|sRPEJX}DTM9J-(-0hvE*v20*ve6e`) zFA+|{k6QFA%sY<-V^u$6qcXQ8;t5%6j=|(<+a>IUlW;Od)KqbiA)eDqe|ZwEuWr@O zfk!rrq9`%g!VHHNhX@+xX*LeZqOKIjM@=P*YhGgO%wS6DHt3+Fk1xAlu!J(fJ@z%-8)p?Y_GMA!vgwVz=ub~&uWiOS18;oE2j zCo-M83sRZE$=UbqCkY?UEc59>2dFv-m>R@|&S#EB@b-i80`)UpwW}?kWOor;91YU? zS;eE#%hUWFnEeC#6cVcv6PwRHOHCD!u`8=JK7Ip6xMGi`CH7;=$8IxSh^Ysot-+b# zlk%CzCHT_4+hL)o9{*vD2S18vX*tMLl2cen6f2T(@sM3Qi;v!frr9b~urm#{XNpX) z6C@`;qF17CbVQl@zw_yXiD_1@@ZXUrNc2r_gKtjK1h48oKB8(kmPL&svni*b>eWr6 z>dO>;m4dJ~KD;?KDOutTqK=aqN@Da0;7`Fe8VUul+~)vB+Tpk99id%XR?52U7+h=1!W-!y{W&;Ll`QxA?Zz? zVzlybB1ln_i}~O5MCE-iNx?$USA2@yyKz-uaDLw?BcQw@1g~)=3f#J#5}bdXwfNh` zFeR^?M!}lR%rO2WH$(S9`$JO9!U+wMUJPF2QWS`DN+^c1!E8oXHo<)050$)h8t6E# zscEMitXFq8f1LkTYTD}6F#iQrUjzqWa(Lc{95;(z1Ij$LZV<&UN2&dx^uZ+ zfD1AqVU>EtlaKMH%Hih{jglyeGE?AyD{hCpksRN3_Xz{1;CLpBymSClIb%>NNl`Gz z5PdL@L%lX#G*__d(f$`Xj)(;nmL0WVJ!;BLtGU)lBxI}N#{8Cap*0~OpRY%^f>n!* z;^@a5RCAm+swo=HS}}y63d$^y<+jRTRv{;mR|eBG73HZL!+aI6(OsD#7qGPjH<-vy z%>#w-jev|mP`suxw^yqPJaL(nbRk4IOpPKlQ`E8GgmuQ+RIr=7TEsLZ2#)nW;{>5G zk21EpHzDgWKqkie`qW+&p^uDZD%Tdil({^sA5f=#;J5yBY81cutq;}k^y$TW&zBZT zf;=ks4h(+z1pxA0y-A(dr=#R_1J0lSgV_F8>{606eFH!Fqx1RWpY)$O)EWe2N!Dd6 zZMVO>{th8>y}na%zWcLr9RL5MJ6rd1hJI9H5N6bS6G={z)t?9~`@k>rN!V?g_SYp1)7yo;(-Z@3TB1F-7{2St=A48-vS(8vq(^OhT}Zjw{61S z9Rjj0xY4$HSaW@H^t0Y$y|olEqVF7v0t2FvvCHIUuJj{=(k}Iu)9q_N0MVQt13BpX z37VQXVV7$Pdmi~<_bWjrJ>#F1Ty&R8*{xb77~jS4bP#$6c<<8(&c4_LXO#TaiqE!; zrR2JsLUqq!gFwz!k2^9&>_#^>DJR!}>9ePgF{SPZzGL9WCTna>7Y5WZS7Rkl9~EmH zrpX{GxxU&(M?KmH&W54Ln6gjCLStmBd|))mFqeQKwp@FW%(3xI+{Ju~E2%zBcUvD= zSLp3Dnz{K%SGAggi1XAhTUd3xSV)JuKq&&n%b|94HY{RnLk5bn?8Lc>a_)Bq?vDLE zo?@=tcx*oV>2;Jr)G~@gf>A4eyTD;eiIdRhTEZ6FDhOv!F$5F>;j0K@Ca0oAm=(5o z&f+^_{XQWh2#^)|^Eoq#AipZY=EBJtX5%_++!6j%JB%r@FI1BsVCTDfG(e@=R~eH; zHK$yHloD|Y&k7EauTt-6cxc>`1OFu@V`YIW(1;Bbs_pC#R82lAC6XjVf)7#+Yojpf z!z=<VS*yK-aBy zgf)l^aD~os@o83>ym`J~VXk8DUT?rV5pP$m_o!C8i$(#BBCoWFo=pDnxB&`vMb$EB z?3CkHp?N2}T<%))frk1oN+FBKM>Z@GaoR%h&6|YQj29dEBZ}LRHJwN5c%V1oKE>TZ z?DRlLRQ~mZpIB_38c>}cM8tlaOuxhbx{7{6& zwnoIRmpcjYHuQN*4lv#bgXpl_?b;V5ep{~3f$MYNg$Kyr<^9|nxh^yyW~4a`>c8p% z2ThG&9#gWUYwm!gc%hu}F%9LMsJs*`>PRj$fvX!j&zNdDwA zpew47eQ#E|d4g$CBRr0u3ZJ@P6J(02Buy?Hs-wJCBsOUQE8UZ;kuB7tpJ8Ovc1hR? zl!Q9AaqKw@rQ(LM6ogbAcZAErv_PBna^-aNz4Z!lmei)83Vp-o(l@}^h}_O_hJafH zc_F~g=t|LGQ)k=~JYp@v8f@!fjeNOV*E^8i=^kOf4@u<-Pcb|gpH_R2Vv5spwoj@B zhpoMY^YZ@b;ug8Qn`s7Sx)_S(RV$!a-(+1R4Z;IiU@KHP1y48S2Y|XTlN-#Bor_Kn z;H_{HmO1$wmHTgKt&81tftIxUYbQX6)JTwY)NLfO{|VSGyH9ZE@4Uf$W=EaS=)}g_musKR@g9&lATjsr7jNjkt|2?Yu2m)HiaqU=?(M4{1y(8FMTf zkLRtN9Uh;9*3>oLcrx_eOjRy>&r&2@HPQmUFirBR z;p2;Snvuw44tZwICyQXdG2Z* z(J19W%riZfvl{I%E2lSVM2baV5F@wiSC?}cBjA;sR1H-q9z{D>1jxIO-w51UEP_SQ z1Y)+3uH*_aM!0HYejp+Oul9*&gA%JJ#4>PM>C7ySdMU9k19b3tjzUtuSRhPVC^6q8 z4%yToFsJ*9FgPvv9y`i05AXqb@$Xg(&W&PRdg7h!29abGihLdBg!+jU)Iu$E?Z9Gj z6oH<@U9=A{av2~m$oT{Rq7cR^+;!vdsiM{~Y~(8FGz+jJ)8MMX8}pHqx}q(Rm3^Ei z*h1YAhoZYiOAGPsi+@Y0L1cmd@|MM0p?c7wGhMSQE8yu!u4~&0IjyZagE#h~Wq&#^ zw)Gc9XyW-O9Y~(8P6+$pG&mdM`4Vw@HyV43%%K(@FmiE|rWeOB>6yl!*R(rv z)EQBX8N83TzVw4SL?Irknv8R1lG@l4eIjNn29X*!e6-F$%ySjvyuLc@+j2v{xBb@mv zqJ1q4WELkpZj`IA5l>E4Co@))t+ObX+dZ8d?wLB)=RcmNQw39yF)I*em1+tEr%bd8 zAq3NO;j|CndHvlJc&@;em;)Av=Y>kSt5WuXsul&&CiyA2k!e^pSY)r~aE07jq#D|o3iW)H zv&NK80TT>_GAjxkJEqz{AnUf&Bp<0(uhIQKEHSi7VzjAXq4}H&W8HDo6HJ#)t}^8I zFzb6p{l+Wpc^0wYn!%uD&7)}J;$O}_`aMY!l#FtXV2+ZOUv(b!T%>E3ti)Q9x$#qV zyY*%lhKTE{#ta{6tNwHGT%nC8_YmmGta*uGf|8tx{ZOmN8kIE~E2~kR>1xcwFfqjq zLLp`fl){x8a%A=qq>8v051`p{Z7xev=)U>nq+m?bgtL^_ILy9cGSE2I^+rNSHL5y9 zia&G8z_5FL6-*qXm6bnVeMP#Mb^{ zX+ADu8A`s9e3hkc0jFn}kBW{TX&m2ND;q@ck<^&p40^=*!g$PH(sHlMce2y4G+%xB zu|h&VR0(*!3?2rz_c+_w4N}Q1Scftgc43Z9D4DZ7X#zW2$q!(TX^sYJSG5 z9;v3X^6@b6a2i0+r;&b#Yqz+#hnZYMZgn>2*y@dJZn?@cOqN&o^8w}Nojbn4#bejE zXbZ5reX^K=i3HdkQSeG8Q)%RPAaE z38!1s2Hy^tt+$tSgN=m`v6{2bM(l*G#h9NMCi%d3^acK#S?f2OfW;w6wT~bfZa=ZD z40Z#8ij7;Cx-XWiDFNzx3*dlioy}lAx#6Dy9|B$-H9b9HX{nXHrnk3V&4!0*Xh@#; z4&brkF^^wxW_-N3C~>#qmIEBok)>mxK120nfq#^u>>b&(AeJ816Ke& zm)g!e*Em{KYxc9dH0|TJ6$KzXy7TGN6peSST14B^QNt zfd`A2595u9ji*cg(m4bq00~o~$sOX&2`r%|Z&A)ibLIPN^>-*w+LLpMaFTeTNHv2w z?PZjPt2f)1;nLwG=_>gwcawWJ3LM6m4D#btgnpju1KYf&alKU5xNCan zWB;1W_2d7O*?(4e*ypx$+&sWzzk0tDuWF}i~!37zvcVRmA^ zuztLO>xZ>)fOynVlL}el($WIN!x)!w%*Skv-pv&6#*Zti7cly%+S z_RFM{X~<2}P08b4;?MO_nuS3BQ@Gys!E8MnJW`Uv=ssUGTLnn=W}PP zUh6n#|Bjv4ZS2j^K4<--jBi0n}H35%z%AsNe*aV1{p>$zH-BKF`Dm$e$ro{1*1p!S6;#B4l{D}C0BOTt(yw8 zKYhpG3I9u3eN7h2YK@9&N9x@Kg)Vd?}2C58RpXc{g@}L=wrt%WUwvsGXnI({>+qn^!>k0#=ZZF=% zv{@FIC^dJ}IaXhZGJ0tRY#IS=6oE?8S>YUFU$#nP83BL?0=u(B%73okLQS-z@Mu1TbIqBNfafNpF z%{=0j`=v@a1$V_pk-nxdrtu-iE{tOR47Hf*T$sF{GexHza~gz~g=!(U3&VCFZNA#V zug|`K*iQQ%SQm6|Cd`1DqbmV0Q5JjIZH*U?y^g=ZI0Musc__y7tW*K zqWOG`HBcdc#3!q6_fm7MDs2sYB9rd z;0O=mpb!ac)1bt){fGu0ai5Q+kg5nN12ODgt81Fdfewfi6~tPxBoKxY#HG4p@u!y` zg~3w71@60dwzhg4I>C(oy@Qxpu^*~p6w({s6Z1JCgc z>T@;7~=Et!fR&xC{txED*|@oJohMy zBx!;Iv^xpu@mQVypuF$-+m>UMem8XQ7yRW~!so=siXrhWvFMGm-obu%JqUXC5Uxvm zf7!FgCDx9sB+nx@0~6Li&IjbTEg)6IB1L3k+Qw6iSLX4IFwq&%aL`-Ns33sn&E%{m zN_U3k?c)%oRIoIj8BGOIeTe2t!4%cCFwYCO`yZ@yik4acP6brLJhiyc`oZ+Wg$ev4 zV?q=raQWFf4lU$+?-0z5Wg8RG=~Go=4d21Z#>f66AxCrUg2P@v0xRT7D7sVchkrDl z>Q0HFJ?gBYAyD5aF0s6wc$t_WzpyP4qD+8wEfIZk~T{O z{KPS_SQ3)p9B&Zl1e>ENbZB>AxvlF6fC_#@DKQIkm*&Y*Rhh8)qn(GGh*!Z8@Fu(t z-mxF#LyN2OAvZv%pATIX%UBEw+VQ*Mt?QkFDl1IfpN!a2H<>IOnOK3GtYt7{4*ntTLtj$ zrgE5u7h`SpXXAE3FT&%=Wrd~Wv|STU!Sj5(M#Y)0|nm_oGKI|0b`A_PkWG z(gy;;Q+aaCqR8KKU52mg4@cZaeOMgZ2Im~s7wsJJm~4bwD+ON1zB(4vL$_L^*=!%^ zv9FY8-G-W>YSGIq#%VWO}?6?KikxsFug&FjR=MS{RbbknP6f9cHuLmbPeU)s!R$ zcDK&21;GSsIAdvJf~MJ`nrmHmO~;8f#=m@VVMieEb)nTY{59U$!pEXs)8~-HQYeAS zJ$+hKDBXfd$gQq5{Ai1U4yztaKA-i3%I8o`>2iaiv-vCkW9r<)D|~b7?yLv8RY`WY zdxKhltGzJFy?ziX){K=@32zXmz=RImXhGw?8U+V4beN2Gfp6%;?eGayU>{V=63;+| z^6`y;w>ycL+!<^;>Tn3M1|>6`_IomrA#M$RGZ zP|sP;S0bL0JSQ*^#i1OP0XU5jFOcL*r}*4o+(ICOB88%sN=k&&l;TgElCT>_cl;MX z$xd~Tey1zV;i$m$)nIdWoO_5>HA9JE!d z;c5*v1+r3GcAtyqq1XO1=E0Xh(e|~J{oi%^)E#@jlXd>mHE>6=N!rrdAFkBylh$hB z&Wp@T8_KdFE_ZWf`j=RTUA6U~4Kzmm&Qc&D+J508rns0+%;u_;)JabkXj_{=qb~z+ zs{}~)bd`|z-YRU=8k0uUjbxT5^$Xh$en&cuGFa0~v-VgCj$s?DZwI^&EA-|L_yLzV z;ipO@?}(r8S4Zx8GsQAs0Plf|6JIWQAHG9QLCo_QsiC8+@e(dg<9hsv1WM8d2iJ;R z9PlAL;L$XQ&Hi@1--mpx*=>IS7-zs{oRxTBn!-ZSJiaw5Z zh1$o+=&Hi}gI}j*_wF6Gj@=IrP|@5*KghM1tD)H_H|EORwB{WNb>E-m;uj1x7V{c4 zh}uhV&CF2YqZ?2)`V;&k=Oehh{(658vA((>@Wxy@J> zbiuhqzY;?(bt6gNMN1*Sl;pOumlj<@j-2l<)YSVSaxW?PPT!Bv>zu}jUQE2g!jfZ$ z4m4TsiS!||v-jLKHrNfTb+x);z(tpkrf8~?VNqYpzIv?<+t&`mc10n#bqCWcVeN<| zbDkA%wR7yTF*c`=S;K?gF_|k<-?lJ&NHhv1w!WYz{29_qNK^`$mzFHkOAuz(df30y zcd8+>GEAW!&^$MMhrS>7>91~Yn;e#BaN9p}S%K>c*dBM{Ugy}_*0tgws7OPf`H*L6$?7M4+~x_}nt`gbRc zC7PSz0FllheVPrJgJgOlK8X$_L6kQWuBq4};S7;q&bnj{2W%R;L z`B?oB&U22MIV&!21UqCu1;I=NDOYrxwSb;V=YW?sk>`R`@6FBv$8^HQVG1Lh*c_jt>yAv_jBj0Jy?aMrHXml_%?ef{IsQWiV$m&>=bg9<6*2@%qOvPXtXQaU4x}mw zJ)98Vrmw8CLEAMJ=3!7DmEug~t@1!IN%G6XKi#}X9vPe#W{~weUWT5>xb@yl^M^Xu z`A?eMW7xt2o4mo)WP7++T}*vXDL~LlLq7Cg4k=~1vQ_rgbjkS}zY^p{KKkw4TQ(;A z??fuT4#p*9WLKZ*G3Uo6`Ie;*w*$(2>3qUN|7^+Hl?*88ignRxvTAk_TWzY(f!a4s zK)>jIATkreu>_(}2DP)}w%25?d5MJrmrtT;T(98rl@I+T$LcawTf4z2c(|m``u)*7 zfn-=I^#;txC*qvTgs~NA$35L)#>-9EzOAA63j;ug&}LqqZ+)vzlCm-*+yi}^O8E26 zsx(^c;4oOd&%T)heMC)k(p88KYwbbUljWCG&U{Cc>3^G zXNrkPyHRZ-b5HLNGiLMMjt(X%*yl0~0(A^wk#Lk~mKd^xMxn0St&vNx+Bk8y<$axC zDdQA?3F=(^)izjd?4Icpxp&K(9Z$X=yE{<%H>7g5KFcuD8qJ3>M75~O3gh#X%KFtP z@%BpBPo-mU_B!5h-39+8JORAStIS~cMV&9r)D?1LF8g1DV7;%jCD=+8TK2WME?Fl> zArjHa3;XnM{&WprT`O1lXby-=J^xJWNEL%rHw42+h6eyyLa2+iE151)f!J{5Ebf#d znJ3X6C3@0LU70^g5xR~>Kyf)XgzgVNEWpSR&XN}?UoatWJaT~}rFuRi`5QfEK{?WJ zdtjW={!EubneUJL0ge16?a$DNXR*74IIM}QpD zUi5{Hy^Q+PPtKsSOmKrht>dJB1rsrHF2KzQ(H9W++zKDAVJkWj8IF&-<7$F@tSF`y z<>ahdF`SRw{nPvm&2C9Eln&oZ9{d`!_NtjXl=I`zk61bpfBv&8@P=uE!a4onD*pnd znr*}eT$Qck8B=GvqfrB#n7S&!Irrw_ae|P+hnzsjI^;9k=lcy#R6o-FH#jk~7`T0? zhnjIQ+fGn20N?-@-K~TrE zXqNeCKO3*QlRfAORC=AB12@PnmN-Bj{82a)$D1luAS;0*SD~9jcb+RVL&LmOm0;| zmuFNXmh2W_`GUzD3TqA=%zSnHOwM&(3&%38Y@9_sH+qZ2F%P?~I*0u6Cv;Xk3RUCkI6cBD?ri_%GSv;_4)j1i_^6q_IU(ZYsHt<@CCT9%yQgK zIYIUsREOQ9Rh-^r*m1a0_O~R{TkZ5Wq^4W(%?YT3Fn-TJAx!Y>i0L6z>KFYbp$Ug% z^%`dmbvV;~&XYP*OWAVtB(at+rUhj=;yJa9R(NrcAPO#&uT2rDPk;poo6WJz+k zOGfUp`CyKjE$7j~^%2c^<eqKAbShE}Z6h<%<7k0H$2 zNh^v~Wuy2rhk?`xZEu3hR+N;1bCn8=F`dsazqfCwN6{}b5S#J0#Z%}&9jb#|LB04^ z9J>njA+OkLQhLsY>i{VK-J!NoAq38+jHg)W>e;Nu$LF0__`~G0HAmdzg=SH?6%&;r z6vSOr?zj)_{tP=I{GGb8E${Sp^cF{FL$TiUDP>ZhHqgWhwXc#DFZRTEb57fOT)|{Y zWEc-l?C=1w?mlmC^vVY^Ku9^srW-o@hcUJOu(NY)%1ujtdB7YDv-jEZZX zDIyfIDD)?nlvJnK07(zYnv2F(0x^^bpCO*Mgw_DRAg3b?VT>t+d=w!BOI*Ie0-Yxv zM!de~0*;}Fl}<;^VgIbsjb_K#B;1pP`gOPgN<@33X-0^1;y{Kwx?{sRL*z z@p=WMsi5k$4jaHfJKCqBGebi)Mfrd~u%xrOE{oqr)(iUmbB=CbtHH019dOcldi?uz zc#1ltK&J=fhh2OaBZM(>pgE^o*jNN}4s##SWUk!o4dlX@6QA|J7UbfK#N!CuAt+as zd|gp~0&d&yA=v$q|Lm*_Z%79rL9};I|6N%z3N5sjr^sxajd4nljAg2O8m^5ee?<_1`Ir_BwOsYdCRJ3N<=$ z?`2ggv2b{=<{vo@b-^v#aD8qcVgKSxW$agMWf;>7I1bUpdJb+I6Q^1_^SE&@z7{WU z*ZsZj&&EE$#;lTR(?(eCHO*yZ>mbply+}ucVt}?w!H%0gRtV6j8>s$OI4f$j z)0@{ws77ent? zij^b03hM~@ol*6d^%VU_<{KXK%~2%c_$3MfO+GSqt!v<2(t&y*XZ}X?Yv8mYqHM4A zuGx3oF+eY#<5Ji6mJ2VRf?%Fl=hF<@2A%5*H#!dzKL|Yj+N|W;rUjOz8Q|j+FJbcf z^=M!!YJ!?ku?hofHwpv@GY{3UD)#(D)&FE8+Jn6VZWgHT4~b46#!axR69u%SW~aFX z7u{w9#|fS5kukMb9%|hwhOEPJ)pc;6$laQC?G&jek#;O|Dif%Fl&4; zjt2{SSWrZeEbEOd;R0r=`D6a|RpGI;utY~%h<3e1$h}H{Z}1ADBMe9G0wo>>@tF@o zUL`HJJAeljI4L#|A2IeJT4#XD+C!<&?eH+BRTx7TZ;_CZz~u0T?Z^Dn&ESQcp&M_1X2}_ZlDx7*$0Qv}HNq~f0FlNR zamfKfAiduNnQ~g1P0EBcE+Oll^6qTl17x$d5b!OMR=>pB= zKPaTVr&MShpjCyh-Ln2u5sZ<(`Ji)@f$zO_h*nGY0&$HNlt2Zm7o10(!zC029;|Rk z_m~)T*eM|K)Cj+20~QZDmU(e7W7O>JVFX~jifqFNqHm>_gjkK1Se}ICOyWMtIiVUR zy-}NkbiGI(M;KvI!8rDp#&G79R_qz%U8@M2vLX_Cm9z}h{AuFK> zo&T@vBUXQdsYuqF9Xj7qh$QMSNY(!ML;yW20K3W%ysjh-IVcKE2svvO!k?8Sb31MM z#6mtIiuwu_ZwzDiVvC_$$oQGO+&oA{Uz*~^jeo^SB)L&ron zp)TSiRIM!o)N%nXr|ueNAu30L2)S~20v~5=s8gwuK#||{+C@+I>tih#c?jFnUME#* z+41@ly0H$`*%_itBur8GLgYEnY{5lboV{)NOC-DBgFH-(McXx1Mt?;ALbndeBVf4E4oW!J&S{s)Ua7TS4FYRW#>l7G_yWT-st z3J$|!bwPqko`ljOrs`WqqYG69p0r*2=ykm>jKrF#@&D4EO0W}{e1_0cw&`5C zdn5Eij=+pBbolbci#=Wpg>yU*Y$d3mQMXrHy4bAa#dNo{Au5^7-CZBb!_v)yKvlr0 z+OzGp?Jww;Nk0zgH$bjZHz;e_sKMp&p0|Kh)d|^Zi7XZ3m-0_cIXqPGp!U36{@$$l z;g>pE>S3YFi|~cdk32a@Dz1=w^ogQQc3SF(wgJ?1Y2Hi%z|*Dal4%Kl74x9)b8ZA) zkEj_#xoN{aD|ifE)71G)4;nZ7*gSDn{gR411NmhZN#LHdr3dxy>QN?(h=pW{GZgEx zsz=l(8d=Wj-{ig|-Y12u{d-3A%nI`7Sbg19Mw1FLW#I#lw|sWaaU(qNm4CaxL8aCA zAoGc>ubYOA+yd;VB#5slcV?ZcSMV~LBx~ReJreRj9y%;Ff7tHB|C@h4k|H&rf44gJ zzhoZk-rk-e#f#;r1SpFNGRjIss%<7MxzqQ=XMXiyxjK)Grt|da{X*?vDpZFtq^h!6 zD`@Qj-BLOl<5TVORv>WXX#h{96Tq4unwWpArcK+!e+rO$H2ES5`NZt5f+NE0spZVR zTNq9EYUgk+<+GL73QzpssehQz=<);+$0hqgLG)va#&NaxC0-K@TsCg&HCAK2 zMu19$w1iZSzFcFdx(uciZ(ZT1A&tFb`&RVkv+WiqPAEIIs$NfF?6+>6FgOlKB(k+i zMkhw8scQL9_^~$xQRI#;GCiDnxdAd~dilLl3fp8)Zy&DD&r8(2YxEL^hT}nb44a&4 z8Z8L-Bn;sYMs_L7j4wy(W4c;3T@?5E4(Es!ue6`itja5g0ZV%m>>X*uBt#`IqMox( zuCOJO3HYP@*tw4!wT4pasfbnm9v$_>iy!Ci-X$3fHEaN5oM>upW-aV+&= zSrPPDng2ig$pg{$qqyl%C}rxC)AyCZHkSgXPZ_(fM5dPqQb1+&z=O-s2nhQ)9KWeC zx}AXt%8>=JE;3+MNWSc#_EB1xrFzgs0}>5M$4aBGIDhAXYNlv;;4MYNQ(MYBkbq#B!`i)1UQd|2@480WcT}Y^xPHl2W`GWTUhNvjk+Y{XMYe(jpPq z`Ck{r5)*9lVHD-v8ZDUSIifo!40uCh?{u1E2|xZ#B@%^-@p3^~y=$C<#&2y^ zXl_&J#H#@yN6Ovs<%xpS8QvLI0$eT*g|50H zg;Xeh2|iF|K4QGRQV^NCPE}%bYnbyrfBA2<&taFN#f7L|cG}Q!lBKezA#=#~Oe<_D zc0h4^9Q#+C<`8F@6IwI-=WsK3Mgf~PWyENgq-Q1#kt&7J}@gr@rH z*zsUHlL;jG=;=Ev#BnVI^`QZF2Z6F&=U}@HOt}olS;QufjD@oT3)h}wVesi?7_2s< zN}&}o_Pm2nWQSc$R-rW*oS-DroR9`8?wGYA)BrX|#2N(xv@az9uvSCjrIg>Oh(aZn z9lQ@vV^(81&KL)5*swCh?PX|6?!dZd-~Q7xUJZV2(4Oy7a%QO+^6~Md9zwlw-O4q=KAhL#lNoyJ?w|lX&9RH+qUk+B~5Xfp@ z|2dPHtIRge|0K^_NcOAVpb2aB|H&^0MU48Q(wy1pmawqTRSRPx!L8ng7ORwLSiiy# zYo+eHu6x};$sgMOl}5fHI7ONI-Hf@ZXbY}zN`7mW^?&4w=HcLXt-9xd5F>0JwMcD( z<#?{!x}e;5|bTRJKBW+D5ai&1#iKPLWJlnzvj01vh()UPOyaul5t=dnuSx zV%>A+>X>Qiza-Se*WwT!7XKS#C1nLjX==>4+e?}x|5YqxjM3>yromEYuWtSAYscp! z9B>#4a?&GWnL^*3V)AMHhUxr>-JpXO>*IgLYqc;p31z_ACRYz*Bp^5HCQr+6D}ir> z0+gPn>d8c2=SJC|+f?n1954TZ3-)m zF{G2gJ0LX3hZ1J~0N82)a!Iaeg|}~>h6qRscFV5XRZN6e0;aYy|$iZMb5a2{n3L3v_ao$w__B*#wxbFX4bv`;_SBYW-yPhf28u_ZULf*XyciyhAF*H6xo>tCf=5R|WAYHqe-ACKX7 zTU}`~P)S8B^^d{|$af2pL%=pS5vJNQJrDf{J64naRP8Aus_oR8D1_QJ3pXg#LYmD3 zb1A7*ATO%s6zXOx&Yn}lo=1uD7tUQ7u zvIw=7bK1;2JU5YL20UNP#NE@G7)F?O|2slc-ag2OYY0@Mu1DpL#z*p&hAAf-7x&XU z7?;6a`T$EwXx2JkBE3|L52oRqLzIiWiP76+>67iP=jgD(*%4nt0#gW`;&A z_$+Ab7$ItWKhCELfJxDt#8q&-)}%oHvcf@gQC~ak7cojWG@GI$GNTmw`qa_%WDvJ)j?85~rK0dp=R;#B1Oiya9 zqJU5$1@ib5X7VAutFynLxl3(Nsf3J_A@4r1?e2Wv zpr^~c*D;n>kt^B6V$oOE6X##D-=O*8?gQMM8B}kH3Jo*c@XT%%Rffxq z9z99#E3x-h^EJ{oqJ^4{Ao})mI48r9SHMK1j0eQHQknhVW!~Z)_zkOjnU-->E$hpO zFnD0yme32IqCn^jeWLU){TN6goRCG7_*8DNOyp>hpx9BSo>=uu-%^ALhu{+v)qm_I zln_NO-4O$c1t)pS$Sn|+GW>SUTJUu?S1LCKS{XR;Jb&Zrb2WvF^S2idm~TJsp8W&< zfM^Gt90xrNAIfk0+W>XZO{JQ*Vj(a>A(!i)PIjd$K3!#00AAymUKr~Wgng9W^I!|v zr)0>d<84H&blCGxz`tN#SxIWL0PaqZ>jScvU?nkW5V(;L6DDMdQ(;|(I@%}W+!9u~x>Do#4CgmM1B>H_+E}lR z;?WJ%ArHoglo%xA$>9x5%!6i~6}hN8dLKG8h>KrYcDek}Jnxik_d!n^w{Qtf3K$!X zN>9jvP}bHO8R8~WkPzzxFa%dx`GXG-Ms$XevR5`b%x18O5VDR39>gL?w5OBb%2GnH zlOB0{J2egmG!q^7Hfjk)IC9P5_4(Ge?FU|gz2xeOt_+=;!kTK#S^2KFFF8 zZuF{X${~op63ISpfq=wJ`Hm>`pRy-sUv2~>zA{yQ52o1WtWWWE{j$p|AEysf%1$_J z4Tt54N&olMzlzzsa6MRp=;Bv{+d!{GTCNQpp)>FXww7X;u|vn%)FZlw=5#8iSwpBF zg)a)+C7r0|Ezf|v?$q1Ky^P%>eXufkAM`Y$`=s7`g@3t_dEV9e-%-@AL)G)89$v)x z?6hRCoF`sR9*?^Z5GjYdoY;Ljs7X^tkY~{<1TIm8c;~fn+<8&fbhbH&O+D+l>$o*K zSE8A`EHzV1 zJIWS~C`&*f{n`cTGT{k0Hp09|wh3s9>%sDW;_0wGS$j#y5tR_Wa<4`s$>oup^#D(~ z)Z*zy{LoB`b`0f*4fIY<74mr#g$>tFb(X)lr%1}-7-X9hPdnty&JwhCDXePu5@+wt zM-Xbqo479{9%&iofKsj+|5bfLtitZ7FCB7d@&m;bt32+P%M}X=DZ1dMH&|WJ z)YEb8{_OBEZ5{3>E)L!i(v`~piJ?prSU7oh*H5-z1j6PTs~j^&3n-=c1xa~Md(ONS z3A*e_eo7)KHL(We7_-V^vCNtKJB@SHtg_9|Z&{&7s>s$m1c8EWo03Y;c!9H5ykwC2 zTGYDdqjq?c4vJ}UD7DK|y6LG<)y@Md|6THZqZhC5v}Q!l7=!94kZBC8iW_sSi5GcL z_KNo*1m|{5{z@JtXbPx2lwZEKkUy@aO4G2M6@~aMm*HFg6$+ZicR>p2GJ6x%p6<-GPL1gh6z)>0h391wP#NU+R0n5K%`fVK8@C*Bar< zbx0I8lGEG|g%m@RAq~0H&}W;~IKp+?&{;II?JmTIFY~d$7fXtt^;U>+g<%zhLuIx~ z@GC9Lg1TbXl(_3uiHez>YIuI;R8Ll3u0cjEOsjn61cn-&&hFnO&ybDC{`gAy@cn$n z`ot@s$|R|THQ7s&7J?FeZVn&}DHfT0^SGI>AHhdDV%o+&2dInJdU_RzlpO=Ncu?4% zl9+7Vv=~kjS>OTeB>YRrpoozQi}^oA5P-V2w(gC$n9FxZI@td`DrT8(jbNgv%66l~ zx@K+{H98IV*Ypw4jApkcY63aAhDjoab36eF7&up$U>{*e;R3J`maQT@a7Q7pH!oja zGAT-%<;D~L(3ytg7!T|#DKqPGZDDOD7H@=ZDhHK| z>bBxQ6@hvM*cELUzjF#7O8^4r&s9eXRss>8vg=O31@pO+xSoQ{z;7K(YZGT4r_;3*_+y7 zif8}iRrF%t1e1d)9L-v}ew24F{5TrIR9lnJtf)#YpGVygl`l5Cpou?g@3<~haro@- z;47$wpB2EgpiDbU2cz)Tn;ekRmd8hv6=b$Va%<_WgApB2l!X@!5|O}X1HKuRcWYKu zS;W3+&ddWw@0!r5;j2>5 z9@KpP?&V;+M`Gg$sZm{Kb#HU1mB%rqsod04&R;q-Cgep@?T%N1w!W&0SL!|;)=SOP zf2mi8c`=5^$={yf5cV@=zNy}SbJfD5DS|k$^O4>zA{^+PE}jB;;v}FR95A1nw2TcD zF+@9bp7;dCH{0h9Z1!|ia)?pW#eU%~_nD{RjeNH^*hM$L<2vv*ze8A1se3D=3dL4S z;MoKClmLJ}2{?E)BllDS|D+m|V<=4?V-u@R**b{^uAZd~RtBtd*fkvY>DwI;8r-&+8bZ$lIqV5F>$kMX<{zR~?Ggr$~h!`-oUU!WaUSUi38 z?&=waSq7D>(`Ow$9QMNj*wm?2lu0f2>FN>?#?TEj;U7y`g3EC}GFVpZ7VU~=tH@NR zG#!%R+Yf?Nr0IC|Cc=|){oUHz@lK%^ys6AWnI)vkUfkooD;=`Il#|nbqzBMZl7J@o zp04MyDw%5+34rC0Ji&z|&n#5dwg{sc0$Szinr>uguZEz;8zs_0TqHk(Yv^CeCVIsL zS3+Imo@tfm(3qTfjijgx?74#d=8B|lL)L(|V6A3KzQj%Pafg|cTe><3=vMlVb^+Nj zG}_}F)Z@5cs8gPN_#bYD&%lIy(v$@f>tw89=Dd}4=P-_9mdEM0sT=r;O5BSxSW*E@ zZTC*fpoe_@HysyQ?cm;@$LN677nQ=-UaM)?|XMYTogO0G3ip5fB%|h6ksK zRc|d8zVda0H;#$zUV8v!NQQo^{@k>vLKiwDHgxXc^YhNtg+}+QfmCCl|CL2ETJ;KF z??0(*yf)YNWJMmDR*j0hLx|b&UpUUt+iouQ`Xyo9Xm=|YQF9_v`_bQoN;9?7<&b_P z=(a&AZe`=%C2;gdfcy1)xGyxIqMYpk` z&`q|&=$)03aoTB^y0gw9n+-EhAEA>Y3v+EF+4W+2rQtf85 zIN#D#C%Kr4@}HFhZ8k6XBCnHv-Yo$y@)FI^XQ){7_>ge%u<=6A2Q-|NG7g=HgA;Fd zPNK?*8RuAyqgj@c$~s^>|H_2|yS4MS9sjV|;jSuOh2aZ}Yu|R6yS~L|+S-o^!+@{< ziY*=?GxYuYbgML|?I$@V%0y1r-T_ zGbG;ftEUJe-r`Pltn$Q86l)h>&I4GG0mYxhLtAZb=PT%jR$4w`dKI5Pr6hta5gIB- zn<1`HS^bYxSOQkP@>N}j;7~01m7Igylb!X+RVI&9j$~@J?3d_jn>pK$$R%fY%^o4U zm9Gp`O>3)A(&uU-6rbnI`%)kw);vqVr=;@WqBdp}sm{U48PgmJEIxIr{?lF7p}uMo zc=m`wY{c@MD_IwJpyq;3v5lZCtr|nU(3idBWTtSe1wj-tGk?)j)SHCYx3S<^TZG^( z1*mSlzFT2s_PhO09@KYV&%o{8faA!tT3%!Ty076)%88<`S~M-JP^}N{D+_2~Q@#KD zQ8Zsd3Y$sW&6t{4`<_Zgk}yiKSUrCq{y;w_rRtWcUPwU4cq@ft4m{;JL(NT~uuxDO zbL8O%nkSz;e=zu?I9cJdeHz{0=lFkpgO(89@JT!_vSVdzjy+KjkHpjQYMhVn#?RxA zF~vV3;CPCtMxmQ;IH1dz7{fWO^fSpayVwbmrost#T-BXkORcv})h+LO=3K5*XQ#u? zx~@^TQS4FxX4s8i!KOz95Ez9(b7sEdk}IK5q^@CIO2xa&CguHT3ej$ci#5I zsj1eD9S(WG<6d;yuvu%KsqR6OgJcQKO@JNu^@Vb^fz;Bq2VVIiPIchQthYYnY{TT$ zHyzY%T%74Vzr3q-b~aJ|l9kr~-_Q6z*Wo@-^S+srG((tB#)VYc*pBP@ zK^VnJn&m}V)lJ*=!#K^$y6wk#-Ou~|-afv5{sDnO!6Bhx;W&ImWYl7w&X?=${&>FL zpYQK)*^cY^K^VnJn&nuORo%2*|Gni>X;awJB`M<~%ZpNysb!3~MT|p$c1Su%ixp8gSqaj@-kE2RQQx7oOnC zGu(JVWJy#u2ovlAD4XXt@u!jbCMCRxMTjDEX zO>U?yy<_(51Lw#+@y`5<;3~X{?&62!DSgS_@{i)H{Hgxx6<##EG3>{37{_rurwPy# zIZv`R!M4dTQ*58gWtts{ut{8#xutMV<&nlSomU3$Og?w=y^G&;{xby36gW%JY{7Gc z%oRFM*nHs&;1{4xp4CFV(5fv{5YDk-a_u93DDaUIfn z3z!XSN;IrgDM_U`LL=-R3B4QsP?$JN7X;3;c<;mXnIofQ(B(Z`i!<` z@t@QFyp9)izNqUZ-7o8TMenQnUejM>;Do`GhE5qiZRCv6vjpetK5x$jdoSAey8UlB z@TP-rIrO%}?>O?VvG)kyH~xX6A3FAt;~zWmiIbjUQ<*;iC>W&>{11dQ00RI30LX>2 AX#fBK diff --git a/public/vendor/fontawesome/webfonts/fa-notdog-solid-900.woff2 b/public/vendor/fontawesome/webfonts/fa-notdog-solid-900.woff2 deleted file mode 100644 index d6b92eda03f6c8256d6d2f20faf036702ae8c659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30696 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�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

    jI98L?}TC3od7gLs4t>d98gM$->L@XdK4Ymd?r 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⩔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

    7>ATVbuUW!^f@ytH0Wl~Z}@V( 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 O8*KaMw-+%00{{T2UbKk- diff --git a/public/vendor/fontawesome/webfonts/fa-sharp-duotone-light-300.woff2 b/public/vendor/fontawesome/webfonts/fa-sharp-duotone-light-300.woff2 deleted file mode 100644 index 3d7a139ca5a8a2a279788c2b9748acfb3337f887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418624 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�z0$=NilcW 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

    D2j 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 z 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�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

    kV~8m=n7bZ=YMo;JVHkL3f5Z?O=w9g8{Xx1 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\LoLy*{dnv+Y6b^IN7n(yNBqNe2W*z!D9}M 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∈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

    pAHdC=p7xr6^o`j98tqHoknbJfFtBOqzn1v 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

    hA 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…}tK#*ez0 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 z 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 n;;FOO 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%0AL%lVW!JOu5#fc0sFuc7@j2cWl5=H$Y!Dhy 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 C4fGBlD~p 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 GlK%@l-pV@w diff --git a/public/vendor/fontawesome/webfonts/fa-sharp-duotone-thin-100.woff2 b/public/vendor/fontawesome/webfonts/fa-sharp-duotone-thin-100.woff2 deleted file mode 100644 index a8e88b2f2410ff688adb2637de7ee7d6b0615fb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447692 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 z ziaXszw84fq3BXh6rod5?<=o1qUAd`p;i{X>V6vC4M!m+aHcMFY=FQsP0wN?rtXRwJ zVv80^I@=N?S$3^$8M)f6P?x<`MA4mWjZ<vKoK zLJb==Zpy3$%huZ5F$6wt@=f-&6VjS?DqR20{`Ix<9J%ss^|1>)3Y4f)rhTw(h6sh4EPIKy49P%B zlS77JWToq&fWXE?oDtJjhbqN_pIT!*3=INzB|`^hr@r^Y@ERs0XdYra85X(3j)o0K zoQsAQhJ#OAl$AaXw`_Rg9S)zcqa&z2!rl?_>F;>NP#Rkr3AT_nM#?I$pOI1ty!+7r^OoN8XmyNqJ~~=_t>@;-gGgRKoIPef4 zLV}Ejme$9K&s0?p}Yv3F?%d>nz}s)k2wNCXTrO~ISI2+qNn>gQ_84rF1U^_3V%_Kb~r?SQ2QIgQg;t`2TZ)OR=w54{lL^3IDE(scsXd8VkS%I@kOL@N3?b3J+ zUpnk%{9I;3S&{6M>*}aHp1CY{`I|IdzVJjnT>;e<5>f>w zDgjbeDek;1R7SM{caztW=FhnsTo;G%98&9oWnDLe#p~I+ z-l6Mjzy60C$h^Vr8#-x(*7uDr+*ozvT6&rwTJV~DH<@PVrm}9@w;4;%H(S&ktI6hx ztirdAEr76Xb&K(JZV3)86?v^}nV3jRTOmWy{Z^Y?c71DkTc@vL8|a)H-zGXX4t?HM z+P2{#Cc7PAmZIb-?Co~#Zh!O+E_NtT!;UaY*f9~ls_%q#r=V=q_H$>IJE!r#)m^}g z?r@hPZR`q;zWOeA%`Bv`-N=d3)%R}s7%&pt*Y4a}-aR6jruTrsRBj)83}QRk zvr-p(L8^PNLNt_{?`dz^J?))`dguG#W8B3)F^Ed4d0!|3>CN1C!Tki@uhIJx8UXR! ztOdlmOrHlF5eT!>KpCVQ7-ZmZGn5?!is&H0_ysLAFRcfIbFgl~kVT>>a&x z3>m&+RPuLBi!p23kHvObZezt4bZiQ-6VGvB8snhR8K=jF93GcY+~6bN7Z1|f?Zrzv zD`)-l^c){1>EmZS0l*3JCsb+vg!L1_o`;r1ITx^Mr-_$&Ov2Drl5%pBQZtu~g8F1h z=evN_xIa11vDH<k_kg>YzGZD)addi&7EIo6I8ClIj$!M0)b1|3|qU@}@ z^<)DlGF#&LsL77ZX!e-1(wzg1-gAt~NnnYNb7mKwip_`2YKg}}|+LZO(`*Hswi+$Jj%LQHFnmk@!dim_$D`20@9E@Dy z(iI(CaaScYi&>qMO6lgKzA~1j`MC1fD(o#?B~Vo;%avbsuCJ?^supr`Q}j|@tg7lI zoYz1>`x+~1f}fSPnjx09jAdG{1#9-}b8)S9wW+ScU+oe~>cF1J($v-IX{9b~hIL~o zxt`j3QKz^7Y4sTysvq4_1Ez)=l$pDphGbS~zu`!WHv-$JsO`qk?2eU8fg2~~TE!-$ zM4RnvlhXcov?;zyHVsC<+0DRbyjfy_4Q>uVN|50CH;=@C5&y=wKp~>5E%G&SOVL}# zXkjZX^=_50z^%d2QPa}asX5kh8|Sy#y)8)i*sIw#aar487FNV|p~)~}?5vC1XWIc6 zZoK~CCrDkiI0NnP5SN^I_dV`NN0Abx%9N{Atwyb--gk^gl)Vf?-Ry)09R{_aV-OyyRTNI{h+qt{c-J>yYW)D0{b+)=kT0V8} z39q3&D|UD<)c1Gu8SB#41W{Cj-`PWuSC~`PDx##~uc*Tje0=Fklp1^&lC#8x*=w+06}_Ur%3y zVX8>vn4S$Xl{-uohKATG_61mzHtoA)8*&$H$QHyNq@}^^7e+X5=n{}9Nzjm3gE&-P zrXPYQ3Z8IBe8Z(NOC!=wyC5|rtbknI5Eb|>NKSBQ!&kl&CD|I}CQ3lYvQRaw0S`0+ zd}DE;gM_@SfOkeI0`@8*pBe|H7}{?krm#{F44Ql391#^p+TCIhiNe6?E99)s;NCHk`v|d;?V?+6lKayNJ z9Xz9sN&HbL4v#Z1@>E)iw~$Z>n@ogYkc^L{fkg&^Z=7LN2%#Z>02+h~aS|a0*brcd z3=22N{6sobzTbw#0%T>m(;n#XB09J7QFgNHcO@4;4-&2^$iCtUA--mf%m#VQ;eQu= z`&-l&FToIF22<#Z5ya;sXrTN}zfRCJhJ)dVzVNw`E62lUwc3_s*+JIqoK1Zui6b{J zhVN515q{sdB-2i$k7gRHgStb$e+b1CvTOx27uU0XAQ|`Q@I99cIt?e6D&4jPzPYf>a4NtGt7Uq97$J*oiI)t!e$bT7~luW(= z`==AvQM1p8B1kxfGgs@=Ig>N1!qm`y03P}W74-nLB2jFNk-KUn3a@AshgujVjA9V{ z1xM$l13ZycQ9|8vSe_i1w=UU@6+Ot8fDJ5xs077r>{EO>@{;dfwt@SA+f+ZvL^<6% zT_;1-O)W4*lrJ$NkO?>+NRrA#R628v7qU*UmSX(fD{Ck(pmCHYj(B;%W&$JN1f+x# zaF!%MTB%fg|M_V2$>)Z_Nx>MQzJNpu1c&nG-RL(lrYgRBy1M4nja8g`Y&4A{6>)Ko zX(|x+Tfb(Ce-s>~C{F#NzhNnI-FNI?qll>8olYcQIL5DO9J;jUV=Pxj5bw3|QU;Z) zfOxzZ6}WQBHu66U?2ze1@uwb>%)eZzjz!PWm^(knc~UY91hX)`n~;l#Di3>t=UVn{ zY)^eda^{WQq>DoqaPV;};*pkj5GbGPGK%;7x#RL@#klju6j*$M1=PRi8fFkJ(F3e=(L4AOpn6Wtcfp1C} z$M%ozjvu?az&-S4xet<|U*G=Vss!(1=jdi>L_Fy(`7qf}Z*-PU5DW(TC(-eA??YEt zlI&0Y!*F3ieM8!>U@vPp(MMzqEanl_;3Lx<)&rcHT>gstU|_b|D|t=wGpi3Hvxmjq zzNRfLr+ioTigi!sQc`KZqN7`f3%@7YYSW&XP=4AH7XCDixC&qr(oSgysa0`Cq?y;aS;_mlLyb7G3nzymjVW3>pkBXd2na2u{8NEbmzYHNg|%`gv5^u zGY2iE+fs7h$l3g%UVH^;-De%E6e_cyL4M;1@KV zwEZ^G8=H(=M}J_kD2Ih9uwzyRz-8h>g%HXn|0p;dHtN*9z8eW?NF#=ZwZ5B>HtfL+ zVU6p^W*nXZYpil^RjSSQY(=PGqZ}ctPGO~j0U@hxv1Zt#Xv5;WF224$ZY`wQoTBL$ zj#7aJjYe2Q2Er8N4!Wv1zi;x4EhB<-$E~^*>0gSUX@oQ=@3h#+a~Z1n`(QXsP|+sG z6jPFI;P$^Wf8{36qyi(r0<@;SD}fCI$otfm)Z1m(dr1D+qmuU?Bwx5XWUJTORA$Mn zyW{#ANDpUZ)f#KFY?x)W)@o+WgjuoHnk<{NASQl+$yU?B@wjIYExfQ;JaV0t#W6pW z%s5s&bj?6<;g94{dHM#H-wV5@J~j)d0pPvnGy%l|yG9?Hflq+5hIGszI?sXVK8Hga z8u9fu1>OQYv|L$PPE>Wct-tFBO$DS{NR{_@f%-2ZcwnKA0izMm#d^#Yl=ET#aWYy# z&+hgf%7-<7XLigReL%;inR8Lm(~joRu*rD(RH+cw_L_~KM?bK5%#wUbQz6 zij$@Ycx`kFr~l|fb2bTO!cbo0ziln3vXsRx1mvw@^m_ZvX9&eX)eZf&jp4}gFA z{tX{7liXB*Efzm9Im_kx{6X)W+5YgyWNogXk&&q?8KTik&|qQdVJFe2UNJyukYVP5 z>?a`ea9|l!XVvh@wqUC$ilSi=6-=hVux6fB_5I&lz~j8>rXSQX1<{r1?k4oK4-wGQ z2U!P5a+qE+0cJTWS~gztPv+8lv=PT{0<`^0)!A@z6%ZvEn^k37*5%12Qq8t)X-Z;Z z@x6NR0xbg9^d)Uu9W4^ak*XrQG-T)2Bj7*NcAHg0az?};zVJVT2AiwOS~jUkithG; zRTi*XcJ2A#8TA1MGu*Od@K?8%*WF?v$<8iRWu>J`HWSKKt>Ex6Rsl2+{VJ#T*WI+Ih#%bwcU~4~H z1V)E)JHP&%Gb5kQ>3r%6xSd!PU<$d~$e>E#l7?e{aIoo80bE~DvllOD697slN|TbA zn}rA81lOx@X?ga?9+!*@%s?a3N7)bjspHIvy<}mz>%Ew~X_w~DuAJsqfyKi~dr`TKQ9T3QI7 zpcyUhHf{mXlv|wm!p*>@&C`kwx6H7MVvY-o7 zNdSgFDmFTxUv2f2=S;!zzt6o6uqi{fSzWjmEJWsp+XueMIF1A7=t+gNI}fn+kmZ1U zV6O?g`vAgu^P<2!Vu=+D=g%xY;;!4SpW9P1ofNY$A2&3@W8v zH{PdDxB)ae{l`89++c3n8r4uZU=2p3p?KLgY-`%k_<6*K2jNhq5iE(tlhq=O+nWc->XO~3T|A%-*}HRZVTc7L$;vrirdt^z}e*^b7C@> zZ$xysF=H@pRN(6M_GCJ2M;l1gFkNqaM^20iu4>fI&&zrl5QG`b*lYr-BNFkr$0Rcr zMR){5Ac+$9l&6KOS(2Tn*Ax&}jo1(yaJ{BZG8OHsnl=dqI9LSdQ`K<^%GApFDKAK> zPc`!T)HLS4C+V2a_goIkLWAi&_fhO;WW=#Z^jN|nT!3IMj6KYCABby`mE$V1|KgzO z^5-4WuINt@1$N%P+L(PSttCShi5V%jtIHBvEA4dki#Q7^l$t_N5U zWIpyBlF3=GN>&5MpSk;Q*gWhngk803k!KtoB_!-1F9`a{qgFj$a4Zhy6r)?2K4Vz$ zw4~x`+`O9%vyoHFd#%ZMGYyi@nBUJZpy^CFjXVpPa*#cAb$4+1p8n(>JB)$7C7+?Z z7d0LEe9`5|hddyEC=?i`TYkKn!P{K9OjL0Laig9r-kEKZN9LpA1``Kl6|1*`Q^lg( z?ax(k_cE~RF2SLyXG7#uM}BJLlcW7>$C^Ml zu3-;wEt-lN?3T~B2>7SJQ*cu9fE5xfbhT?%6S{}?D3M#tc1c~jB5Suro;SJ{)CVBj z&azHdwdU~DE(N!ZzhAH0<%SVD;Ua_Hc<)YKGCE+6jyS7!ObyO|==Y;S{>*mM?o_iO z9p9thflu*NL=dt}=_f(ri^=j$_0swD+w}{{2>6FT(t{bUpP1fFiS!=i-sPdD(RVxP zE@)MM9LyAT+!5=0^pEnb@SSf){yjc>2ZN)>Uz@*fbdXf?cGaRg$=mEA>UspW$)-ay zcxA;;jkqmIe)w>$vGjcG`VSI~k9y-3+lGVY;Zd3upJbn#-K%1@4`pfF=<}c^H~Q-! zRw={m{o>kzTyVz zz=xIsK_i-Qs4+{;l;8c0W|Af%smLyDynXz++kU5y0W|(cE&Na_bg~Zy#<#^;Lof5! ze^k4cT5Rvy4RIRZ+zNNlvvxxE9{F^)JSXG0aWjzR@avboTt^PS=jfb+u?K{l!%X(2B&&aW)!nWSH&~oC8gacP$Y{ zxEXEHuje;cm0cZ2qxNnRzMSTX_h|XFha2RAb=#An=Xh>Si&^f=(pYRU@7m0EOyd{_srDJ3`Ws{(}J5G#; z013zv>9}1OlHIUJ*@m)-1R`hA2o&%~+8nsdZlzA)axy>B8mOQs+flS|{sTIA1OnSE zTUqE|g8BcH`Cx5oCmlJ{C37*+3|Vc;5uZT!+(hcaRh5nyNf}L5DA4b z=T~}Q95T1pboe4m`>=$d+xiFW61#NX`W}NaIvn2{R%7{CsoUX$G(?u>qkC zs^lDjO~akX3)8<~6XSluAP(y>xUiY28FL2gJZ>sZEEc{W6Y~=^alk9FFgLr-?qyWT z3rKN^7aPBin1ANC4Q41Y%=KN1`$1J1A%JUmb6bc=@k~U07e613?;50()Cw`L-i$|N z>%LhW@EGB{Z%2QLSp%cmXfUy>x*w6wI-eF?17D6`{nkCPxsi@?z#{u_weL|&*Ul#3 z8t`TP)xGhJ6lAI;N{gF^;~w=|Q#*^tKrcpb%P*2)48zki%09`)^{{^eT_#z+zCP?x zq{)zn>*oV}|IA|te%^rgX>E-h-i6H^KHYPrIs=Dg1*584H$npyh=qV20QCZ3BUB(T z5Yu=C)Nbdh9SWI(r5oG3EMeYdLKPJ~{h`*DZlcsjL9x(hIkp za|33Z?VUgm)9FS`Ls*J>1%l=kPw=ryiRpC4&=brRP_{(PxgI6fZ<#h2Grhn`Gc!tr zNL^O)?rh*Bi+-+MPirn_muT0W7mK9gp3w8t8%w5=Y2mkqr{~+2^R1plQ|N)B6C27d zu%O}r)n%T-B&w^$ep6dkv1?H+=UIs>Tazq8I&LkxGp*mps>9QLKac=)m`Ix3bmW6_ zrPI>>nQUKDDSA;dHYD6Ug2SuZ*QQ!}k~O7g3tvcX-t7pjzn15XBz_!xXbi|xLf-sK zsFXcfBIQ!IBjKx9*buzR?hi?Z$Ycm6S#TIZ6;42g(c1=kyI9m$iego~0%&GyXh2W| z$0sP4kWWxRD{mE`-`HXE)F@QI_s=AC@E}GKUxr|a#ZzEjo8&v_*W$@JUnS!unItbX z|D{bc!c{;BVALTt@Wl10H6;EXUyI8K8u)w|K@ff3Q+~oO=`1f_6;Dr;OWT1}SU(7s zmC_kn)Ad}ggqiL3+BAasL6Inv!8_!S9OE`v-R0PAW6PV|OZNcf7rRZfK)hqTD z_16Oj;mpHkm;AFCz-A%2QU>V8Qk!@Nji5JcRvQg+Q znxYm(xCA)}00f6A+z+%JmdKJ|sXct?To}#($KjFCK_;jc(HIZkLPt+Gw}n6^babR? zl2DSs6L$)bls0$Ec-_JAcy3zEunE`=s}O!HZB552 zJeB%Rv0B-wf~bh^zm&5S&pr!|tJiBa*+Nks?a8MpxyL83U&*%7jIfBu%KPB@Q6*%V z)>ag0B%1Jj-nfLJqnY@t2o|#53Y&qV*nD?&*l`6}B&{F9)Z@653Q^zGozzQNk3UjO zc)uTIj|Xlxq!Uaq%mZ7KNYz3UM4EBREI9jxX9*+$B>fp`NeYk}g0mOYtNrVXSg?7LmQ+AEt& zhLC%JO#XiHdF6EQId#jsn$s`Lh0ko`1ytZZY$6i>EcmP*dnpib528SJaQc1_0|h!7 z7q2*$<;zX^(g@73;q#w5HZfUDK!Rsc8nP$^4J^3vvc78W=*v#hgtg6@Udah+^CpEp4h=t)vx;3{kf>~d7lIQa(v=wW{4lQg)F0qyrnUs?y_~EIH5P@7i5e- zyaEhI(G}{ceDK>U2*jojv`W4+p{#f55E={1aW0iTjl15vq>gIhS_fn^)tKQ9qnZO~ z<9SD^+3mai9?shFF3Xe|W0+i{jE8D;O)`cGw;F1IlR~5gHfYc|GQMBfTuY(fOyc2z zf4+A|ao)n4O%vj_{jLc%YQkQ9T^cvTjwqtVnBQ-NPYequGq zx#podn(c@Uh8UhpW|ci~2@RDqWY1i&TEPg)2)h+AWgC`*A)nZE!CajarBApuu{^$gGD+}H--7NBM#;_P^y zfm)#`P?jYLMDHjxXQ5+JHR?|OwD(gg?<70)yhYLvVPUmrSg2N=0a#eAl_IRPLQsTi z=m1lULtWA|q~szvVBe&pe37o|*^!u33O$&^b69v!E@TrR1Q%KIQe~u{I2G7n&b#6x zMz?Yd5(2dtK#>vlm|;Y(C2`kV7#p_%3k7PSeoEJ5V!-9etDh2G7xK_C{t*Z%mP)dpRK$;qyQ7E~) zNuPzWY2iWCU6->7)(V1y=lF9`KS@Emg6WwWT4jz*nHpR-<`z0L$A|HZ$r&RJqK4lNKO z>*1}{>Te7ojN^=<@9gqSnp4x)ihfG(WDSWsyXf6Yf6JfemEm?eW$ar5TER^mh2367$ddS&lq#=T%h&>}q#A zex}nP@k4}qr`xkZpZq~pLdbD=8+-%EcGTw;1^@H!EHBEUT$@B#mAHs9vBn<_UeD;S zCd)9BpXN7B#hpoOgoxxBsK5!hNFvx+BWq#XK@2Hl$Bm#06wuDFHn5}rfUkhG@X3`8A*D*tt9OE>!@%C_HJ zvm59&)ia2gg#SSjnq!|zzXF%j+w54?bK~C7RKxhFKUZ)#du`um@SXfghYRKpk{-A zICt3(e|Bvz8wVgl2>*N@jQy$0PR5VX2Ym)O+qX!daPiXqcWMF{UT5At*T;bi-SLnQJCX~;E$jTG&AmX=K7vOtgZYuy3*_2u4#M(XS}`kucOOJy@$>Xw=_0Di^K6H z&Aph)Qzh{}j=zeF!&R)SH>q3$mYu;@7uz7^Ra{ATOo#9<5>`S2!w<`8Efb_@m`GcC5a2o!h%B$VT#sGf| z`%#zL$Uip*+6t-Rc}97~xu=xwN4gdxLMekx7=ef{gfjyn?Fe@x5=jW|{#4Yso(!fK z%=s3usK3)kx}4`u;~`6c)4-Nr8;?^gMatnS1t((_1%U+{nF)sE2)aSFX^Er`djzJIp}cCpCim9;q8Xgc0d&R4QYhjormTa2Asi&A4{kcDCGK!bxWuqQ@l(w_ z!lO(WDC^CW?_g)@b;#y?>rwweS4#T+Qc&qxsmPhA05?F$zn1o2*}l(NGgHqJ6SIHI z-F$;&&6+hN-7u+3F#T9cFH7s zwy)2$c3$#*_=W6#eX}Jg2jP7Iked_ntruZ1B84CSs3bnuue5Dz?YtS4x^C(VmnMjg zv?OcEh7$XWo9&i%?!4oJi`x02=P!1Y@mh1UKRGqi($Ky)PHFb2Kl~{vk^fgNyQg`_ zibSFE)EuXmS1Db5_F2SIg7OCbX6ynooLqZ7_}C zsVa)$P}OL)xbm&-O!6R%3wbNdO}ERXDnY-h_4o@=!mVScJv42B*k*m9j2rOCa+ zp2vY3$Z_rlvjmH`S~u$GjkjT|aVu`B6}y)MW~(-=pW1Mwh*j#OOksZ1%VhC57A3og zx~3D@yz7}#I9!!Eel`&DR%VT9Z32_M>71E7e#)+w5IYjj-n#d2o0tERd6yNw1Ada;iH7D{UdEWIlDM zoB7gtACvGBiyk@P-=oQ%G)Jhx!=?>YNbFcyZED%@H(<#DyF@Gmnx>*S>|;Mysjz4H z>+ugQz0s-03huI+dx?J|6ATO6|7b1)T$PFw``E9g+bzz{Ez-&pvRdVKOtT?OaUrv8 z>hvSWpo3q45&mdBJ_*v{FO(=&tpbP5!nTkn4N%=J2`W4MITVQDxX4d6RgTdI)pr=H z^W)Wsbp62U5}C~Nrk5Bz%Ae(rr3;>&6}+0K29lK)X^Fw&;kai=8hp0nV)wJtC)~>J zxVBXeDc>TK&WDXcJ^hq7BgV$o_ctSEPxrs#-x^_twY#tt)eMFtcN}B3{G^}7Cf>jM zZqK`W+|J6Us#GSf=cp7|%sq+)kzIpAIZsUk@{@MSJ2Fs%iiHjZ zG`3=V-0_Y|adYYn%1JYD2gvKN(>RFT0$fh1+TmfAaH1hD#rIrl3|qlh;@ciPXp}^W z5Tv7DEW0@E=}ZYY97V)rRrewP&ir>9b-5lrsP5VDgPC!|Y{PBE2A(;K+e(cj2j%{| z?V@-?e))q;mW-FjO|eOZirHj>e%q+;(Z3zgU~u`eSjB8G=-U)NFTN~&ZEP?Be}{yx zzlRORSM9Q@tx9@Ha)EC&{rIn5)0c~NKF9Lc%wN$AUjBraTVO5t^TuDv>QuQ8{wFuC z{8b#%BgbSzR*S`NSgz^K&i`(RPB6iSEO?7Gh1bvy334DS-hdXuCp6PSQKH}T^Co8T zxrWYooi&o?O+?nlPNZcLRj(*H$)0W6PtILmVqY8Y(}xW|iPA{_hmn5qb?OUScIA&c z2gCW+!eU|8l4IQxfh;`p)^>*Wc!bj ze2MsE@PQc{3?AM?NiTC!UM?Cig~|0fmaEG#1smx51rJ7_du(gG>gpDh1&B%kWD~cG zpW+%?QbI&}&rUX}ycSN55idYG!|f9CzE!#5ZHb)R-bVLD!IfgUxs4~-*6u65;{&(R zY6^n@^v6|UTMW$e_xdxm7`TO&Blrcd<$)JSZ{1fS_aFi*6bK}4UyZZ91Z2Il4$^Uu zgOq{g+>khO9X}?)2qBCn_Hlq{@(q4`j%;Rj+`}J6lj7p0$(_3HPN4SzYE!Aw;bD*> zz4Q{&z?~jGe*JLaYhSiY9|DoDb#0AMznK1BY$ZqTI%+rZ?0Gyh7`4lZZ)GbuIz+Ky z3tQtL@?B-;|K{G>M!J@>jOO*7d-gkKc@Tl7pZ4q`+)I7U+9vohO!_r{3{dx#JHv7R zF3)T|8k>-9OrDYD7~E05+<2ksRYGgmX)^bnXSH!h6fms8TIv ziBv-EP+WLc#pNazkdo@AFe$sI^2!HJI;KJfOlpn?oKlEeFcPMY@&_nw3KMYiYZkSZ z%T>zmsVSg)DaE@9rT&f>2o_T^rc9+)dN?1Zrmm!aDf!&_K*Y9@E8xcE);wcM$C>*5 zl)!Dd4+=t)+eveWB)Cx!?^EB+&vV&XbyS$RK1RFs+avSyE`;4ed>`rE^xK6GYhu|o z*C@nZ??lya9t3SzX>HPfw;)q_Z9a@msk%2LX1pG$Nn)mN9U;T&As6^=2cZq|iH{{} zYLcA@B^gi$BZqqp2mG48iK0Yo3+c+~iE8h<}N5!_lR9Trz z8Oi%z0BneDxN3!{R&s;p_4>>-9qW(GlH;Smk{mr)%QI1;g{|+L$)rdUDhtmn_~&r8 zeWFUOLfqG7(r=iVuxouyA5?5(q8LJpe7)BK4ME@a80!iBi&1zQ5$7KU2Q-5Ij=XV{ zEjx49pbDqW=_Cs(PIf#yxl5mkB3*)~;iRWv9!}RY%#q;At)(q*7Xl!cU7KvZ33t!3 zvm{(mnc5Oq`Wz;U(`cJ15$KfiT0zEdAdd=3=<*khRD!hZ-YMPboJ)!kt9Y@2FA#VP zTwpl@l%*qW@=^Fy(vq&%V4J{TeBA3!^tr6u0dVpUAk+<1=RbcqUyU(&8J$kf-}^S< zgc~sPVbgDm*K`e{h$WKu!jxEKMp=^~G&O8S4F=?IOgFA|L~rLBrio-_?n-l3z%_@oC5Co6RWPzxO*Gq8O&)84mWC$GV zQ^*=H*-1(3;4k?VA%nGJtf2v1>%06H;PL2KUrmbECWDj1$wIS_9qYD=mvxGb z{X%dS8r|)Vy{$HFq*HzpHPLtaKT6F2=zeb_x(o;Uk{52x{#i?A;?0?`vcn>uUrmpC(pU~ z$F*X~&E@hsItop)M@1Me#d*z5<M$W=_Qb7<3Vy79XD6tX2`h&+`Q~$@A0$msZ-0+I5>gh z?JT|o&SjnSLJ4;j10%leYHAHPyam5L^AF1OO1Y&YTX~z=EY&e+xW;kUq0*6e??IN& z9+W&Q(eIommUml22_A$VMlT;bm{#PYc*oWD)HJJJRAk~Gh8=20tQ>1?jr)?J%+*4U zn%K179pZx}?6Cc6FSu+KP9FwLvcd;GOsa*9KsO$bME--fdq$ zY+O6LP;`twy1~&0zMLfi(AZl*=E&w~%!=PUUoH#lH#8MMpOI)c>6MUnG4rv>}+`#V?Q&gaCLlhR?Z!d?CwAr+?>2ag$@?#A7JB zo0SK;jRIn#8MS?JqCp80mNFd;F%H1Bpu|Jevs8f*R$9#p(f0BW9|SJAmAM^c3v-Hn z;BAqm$X5K~j&R`mfc&o^ED5V?ayD4`S%FSSiPqGxkBRpBbDLGGt5L77tQ84zQih7 zJ~CZ7Qp9A>I3h80J;{oJ>g=?wL>T$LXyUF3OHvUGx%)~{RulnJaiIvRP_1K@HDJ9oyBT2!i|@S`yp{kF(fad9Rg4E6lb%6Ly<`TYU5gBnx5vZK_zbt8z3jl+#;V7t_#>V`l5XS z-?$f#wx8}Xi<31P6qO_kAmwDw zsAhNe&g0e0czWu(fptxzQ8VRT+YJaqH}V8D!ttg@t~Rx8jhv&jDnY%s(Rhb%Jb>1J z;1^LE|H@$S&!bR^UX;&>S80MBcWzPSb*xgDO1V}F*Xwb%xe};`6?eKBuagwAvWoKrTsb^Z`>6Q+-39V`zr%^{k&&Sg)utieGH?$-T`h|P zkw=hH{QkFS`XT-kj4<*xfD0ksD-OkM7OoO;L0D%p7vSBw-BfhoRSGe4W#e!?-4Vt3 z=epGEb9lfV3t z%9ulQ)X*O5UNexYqSv#5c0gg{bh;nCsb1IANs$b`X7>P8o~fDfdKaold95X_iC(_%(Cs?YX?D;M+g=MYqQw8bQ9ST zTD~YNUa`hKY#CJc4dq3-4}P@X6m0Z$HCv1G2r^{r@7hGf#Nr+EZ&9!N(X^L`my4vj zZLckmI&$DmG&dyXIuR@{><(R&sA66={o;tv3(QLdD;iI7P8R_ADrAA04_TBb%{dMEN z>NqO@YsQ$nkA9${fe+~VxLG8o=jPub5CpLsRPLGjF+?}k8A;OZ-3@rzP`6?p8l?*k zvVql}$h@uEnuAI>@;X7mXI>JDGvPQ~E{-Bw9(9E9vQZ24km8b1hl$Z`$0AD~tEu?sL0PaY zvy@T?3Tg*Ig{`nvm5x=TrdP}yim?F!3wLs&n0GVOOi014nwgvdP>%U`g5!F6w?h~l z;2n2}!1B%HuId-5lI_Xly1C*XAsnH)GKzkNlBc!G;nSqZQU)Oc%E(+|5(J7yKuTK3 z8N*|>%u~=b$-2~`!wWA^$+3|Km6xl`bdwq|Ow4pA1Dy7vPn1Y`^Ca2BR5s(2{mc;Ve6JsM#N%p2-tB@a8EI z7UG%a2lIyZFMaIunE(S}4*{|V`MfC2+jM$vbe8V6YOAGWFS6Qglq!zaNer&7meM?+ z_&GbtQVtz>^K?NjI7o{7PMwQO+f!ngu>jqoy~z=97N?XX1HJ*nP`AS%BTb;FC=-Er`J>4Z2V6ak5coJw(|Y>t+Azw}XiTK<)598ISa5<6 z1d}aSXjqf)d-xtz3TDkS_&zDRF!KhloO8S`(WKhguj_z~dNKyg<@pp={ZvetsU%DM_ z6^Q_OsVON$i(+S}5rLGE(3n`J9ffhn9J-WMUO**6Fu1U9pEnlO(pCAL>n?cwH+l@L z8&9Dn4vE(zX=ovkG;Rbu6tl*QTIDTjZ!gNsfy=w1EGp^B!S6^rkZ16UI53sW+b*|n z1AzjncYYoAT?sIPRWj=e?KB4?H!y~Q6CYQzXXMIMesR&kAJa6sa1qPG6zOlDrn5w# zOXLBvFkKcVkOL6P(<77~w>R2<+~cH_i7QY$$2@O}m3XmG;(>$#Rn4NXo>XfEeCV`6 z-Q&KZ>zR;4B|T8y`Z}e|$7{7D?IiO<#Um}#y{e+K9?00W{dATvZ7ZnQUcYjs zsYtTdY&5hfYk%c^19E^wS${)^!8-EHBxV84vDMRlt)Z0%W9nuQ`-z6yPx~_yH5*va zB+2ovh((%C4}$NPR?d(xc>4hDCvnF(yxgQ;%1=Vnn%0n{%d1^q(5EZB-P*tNo&NhA zaf4Wdp|u!cA~JhB!3B8g3g!GRcy{OyjeYa^4(t~Q=sqy-!3v8esQx8+-y^#O4*GVx zBl?My9NuCEKM1lpx=Dwj3yF} z#-cHexXITqfWu{{my(EJ#OaQZG-zri5Tbv7%sGe_gBMIhqka+3{KtiBq>8FQtjmUW zW!x1Ywphi*8Tsu{M~{KR7P4pxk#Hm$4vB>+;)+&^WFeSx9`904%;Ob+t!dMW6Cfq} z1z^cHrmmAp5lAr`IQChx{yKDRbY&kS8oI`<9>{DeflQ?LTm&^_3h5|43NqA=1@b=y ze{-kCczPpb7yq6m8AC3k3&?F~I%96rP>-+b5ilYI1x*lPwt-zcZ;dp_63~5@@7@80 z;b7o^_Rs^`p%931ncTzdTsCduScFs*`7c;vU`Z}(!3{JW z(eeE;@@4NGW)(zMCL;OG2X7ct)ytfp1a@W@mzZp~PY8h*lI3_+b{;H$8kpJx zmygNs$_EAxXb(LwU8!IB5GmD`!-Ul){8BSFLAE7$8;|f#z$^=Cvb!iBiE^8UZ{^ph z#s6WnU+71To?*l+@~9wjh+pLb5uKSwS}!~@7};sMH1X{D>{;`Q)8FIQjlB{M5`sre z3z;;;+v$Sf?Nrz`mD zYtz-AYP}Ls4t(daPKd(oF*+ogbnqZGN2$ch+j&N;XFib%^i7zMNYMFqYEF<>>LkyB z7;U0R8&!JkLNrHpMdli95?j)J!&vWE-ss!_i_{h?P$mz9 zBE(%|e>}UVTghHA|qkKv?cC#KkNKtJ1yXwqmt-JtT z>=RV3t=DHSN_f%Yz0wTYm&*}FpC(}Qi~jV>Zz>5|apiyIH(Jg%5Le)S8oJQ2khmp_x~{GfX0 zzGGb`A45>`4O{T%8_Xh_#hV4TBMOPTKj2$MT)}kYq%!$SGtFootQpO^J6n0YaYh*oBtoduhOuu@00)Xk1-=2 zgCiXN$Eo@sf=zTWnnM7z(D&|>s|+QmYo5jKAHS%e&TIPf3%_~CR{&_cbw_4hsHBGL zYONF+joDkx2m#B+ymM&ZE+)vv^2nlAJIi#kgVR!_k<{C7{4nW98#f#w47}M1a~Xy% zt(#1?4y6RgNtvcdrGDEyWW)w)Ta^Z2|Mwq}wF+gkA;_VWc<`c9jm<3Ahzp@@Ud;V( zD=r|*?|>+RstfEyzFc|NmUP54l8o*YmaR5a1G;c$Jogio07|Uos8O_<2vv{n>bh{B zpu(n+9t*{DKXH`xstKwadnre<5{Xc5Rpc1f_R)8kGKcMtDA5mzW_ZBOtG`Hkf&v(H@Lwr;u)SvVCv&KV=>r^ zD6(~;I?EYFnQ)_X&M<*Jxb-7ZYG;K2Yg7SQKqL47rFaE$*N%i#E})@V@cVK=b5YsH zFbPl&dk#Cj@-ztQ47gCWgIq%A>>@fbVgf0|6}hoLA&-(`arOqg$=o?_^LsDP{#b*+|7(>maTI35gyD8IL-qbMOOY4e?m zqwft(j((hX^#4EoN!JF#SZ!Jwldc^N+8&FArs@h6GrQDsZRL^Cs?s8C1+wa1NJ(f6 zdRzVZyU!WhasKirmK$C{(D`0f!ta`~JlDU)#TCKBGa;+4f)4$?`0Gi#h*oXlw?KVwO^KH4{juHR423w1YpoScYgI{f|dh$8Ei&%Z5=36w># z!W0>yn1o}8nu>G3B#gqedEqcr;6n@`Sztw#}yWeqm8{FHJyIn zwNu($622bJhrb4WCW_F>Jr+CmT%_JU8^6W|%qre^D>hZDbw@cROg@KTn0(s}xQHhV z#}%k&#Io4;}XrG=GOvAcZ~b@ zN@`WW{vmdgQtklg;l1kU@rBbMg21DEMQ5@}!n>d)D%JK;^Q)B_*U%dq>7mR$2@*VOw521_i==CziIfu)6VW6IwcJFv!K3eR zDB+Tu3-cdf!Cn8G`?oqn`Io#N1_v?F{}(q;q|O4gU>9&0;yeH7Xuh9ayC7JMOrd}N z`k`D1M`;0Y8l3&k%z2OLRNuEvf<@Z~L>p*%KAmWO{^4f}<52)Na2%Y)?6dc_Ox63` zd|5Ud8`w6QnpY-|G~fT(U)p2gG&cZ_f+L?L+kaHOk>|e27TGw6C9vy+vUMvuI$r<1 z{MulOHUPumx&PK%{WsHfbatYiX079c*JqN$0NR)Wuj7aR_WLWQ(^&1KUT1CX+YRna z7-j=t3cUXKhwS%NPqVs8x{i*uzyJ1z(-go4ao{<)zxkh>noT-SAW~bwVBP(-5z5iP z3G`#@lO0Y#8fnWXRcrm|4TdJ^pP%wyU)rRdqFEX-;>1TmIG!`?u{Z)bDMjhhzdB zNB`l?R}W!U87@Em-|k#E@)i8{>1BHbt#0K+@6E7@Utp5Y-zOsD(4-Igt| z(RPj_S{74N%+G)Jz?Q90yfN0?VzM;l1H^^o6KPeewaq^12Ng2VNveJE``<=!76g?w za2yqs=>Ua+?*69ldEbP8+#MMWe|)`#&FASydHt6&HHCv;CYjv)p**E?gTH*=4=eGP z9Q~)9U_5c4IrGkA_``>SqoXAWwu$Dh&Fg)0Hpl$+aQ>h)fipi(VgjS>N^T{w#mfhB z2D|_CbN^s&zxz+Q%)-KhFVa8HIn2LYdq8@w#lA28(LH5z2gkuLdk6ny@uB#S*%$k( z%cnovK_vh1pDdLJL)v$Udj2bWXkvt+UX%@`r^aH^YNxI;Jt?nD(-;@sLavi$ajyRY z5G~=teO6r5U0Q-Z?02E*T=)neOZWniWpiZ{akm}?(JF}702$%HN2od=y>tL=S!H`x zRBk1E5Dn`AuWKvUxs|BlT{4A0)QhTc;65N4i6gR#yZI=OVST}%>XR2ZAgb0|po$0J zZ%eX6ZMLI7B#$jYdTaa_=nU{++&E-K-potf(5&G<*e=i^{Tn_sK?TEIrgKQ

    git<&ib6y!R)pe^4= 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%0Dnv!m>OY-f$Y@ap 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
    ;08 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%0AT8n6wt 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 ^D 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�fJQt_@H(9PN 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 LMGgOZ^NI`uGUWoy diff --git a/public/vendor/fontawesome/webfonts/fa-sharp-regular-400.woff2 b/public/vendor/fontawesome/webfonts/fa-sharp-regular-400.woff2 deleted file mode 100644 index 18ea13b1fec4196be67d584099269dfefc1e7c8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275860 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 z 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�%l_u5{lAuBz6O4gvI?U9D*WwXv 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 diff --git a/public/vendor/fontawesome/webfonts/fa-sharp-solid-900.woff2 b/public/vendor/fontawesome/webfonts/fa-sharp-solid-900.woff2 deleted file mode 100644 index 56de541d1f6b315bf7a9522863799e6ecb49a55f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209804 zcmV)TK(W7fPew9NR8&s@12c>O2><{92&PN`12aPdfdK#j00000000000000000000 z00001HUcCB1_odQ^E3sB4gi6cOa~whptxS8|NoOn;UwDZ3;H0SaA~7DMO3=3HA$ct z+ia>hAlsZl((krS+4BR$=FQe9w@(yxC%vx|&3yzK|NsC0|Nrkw79wunS~Y2CDhJ7em?S9*W{qH9)|1?HPpz=wc6A}nbxzB}AE~Fk zu4`Lm9ZTS%&7gM4lQrzpM|D+PP!dOE#RQWc3MS-lDw7_c)N+cpVG$v#q@<*zsI}gn zTM>(_vZXQMt~!S}V-h`!oG(WV@G_>u;qFWFBuqO7HHF+O10FbsB#v83Q}5JmEU!u= zHHyg+v;H>Jci}3vrP}F-X6ZiEPf*+Nt~EnlmR-hJwhbReP8Vu#ztoi~IVQ)vCjB1I zi&}5XzBhE#(QRv=u@YHKY^`KvHJbQDhi4EEAWS2O^^eT;EF$HKjK9+G&nPY1JGa|s zi0ba{c#ROHVC{Cp`twaqFX?L|kloWC(|F3H`+1|7YBL z-vFf#V$O5>0#cihpb&TZ)|U43yt(z0nfqoY$;(X2nba53Zu$^XZW17q$_e#7e*4|uL<7x&wftFN1v1RQowzu|zuxjtqU%56Qe{gQy-#X8 z;G!Fa2FOqz0W}$sFFamsvx!Mtf+avFZvWl6Z(lPz+Q2IzlmWypeq$ibUm4BEZf5bBn& zDXr1l>gzwr&0J7Ie@N4V-M24M5hhVYW(EKyRn-~%xJ00?paH3CEBBh!z&cC)Q$r1d za4=^ct|_7xlV)B$LlKe-m68(8s_8EDTY3?eL1L^*-T$711x4Lb__%HcLQLTQdvo?5 zt*RX)CyjoP|JVhI%Z$C_eU07>!bn2U!Zpx`2RdQ?f;9l^2J~NGvmq3B=}x z?8J6t_qfVb0Y-=}i6VhYMcNW76;(iVA;2_)Wn*mYxX2}mor+UEB?;3#Ge>V7J)izl zwg3N8mA~}o|2yN8ImzSW$eEGH8e6s@S+b}Mk`f6qf*C0`(CBXT0=m%+G*To9l3)}` zF)35FWmC4tmg8{Z@nqVQJo7fIwqC)ok8?hs^5u10XqGM9KAXKm|NBwfu^iS2R~N#Si^CDj^gWkOT-&*!8Vb?ro+b(=W6N4*Y7) zuYAHp`I1tZsP>G=76=Y!V?=>%YXlk#|M$jNIzKBu-}(QgDu10n{|7m*6Nr3lV{7+Ba~7r<)eUf1QINgfJ2a2z<>ybHBrt78?e9zuQT@TeKq^w`Txh? z{QsI`?63E?{^Ru~nvkx>D2fHFM~#9adIUsla8Oz~(51*yDNO_c!G=d;!A@*JljuoP z(hO;8Iw|ia_hvK3#?qysNCOaBV5iip$THk?%P9H(v@3l>@I!b$y}z

    qH#GNyl1X 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�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

    -kpD5-Mj3cz_iQf>T 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 C(_0+? diff --git a/public/vendor/fontawesome/webfonts/fa-sharp-thin-100.woff2 b/public/vendor/fontawesome/webfonts/fa-sharp-thin-100.woff2 deleted file mode 100644 index 68d57f499269dcdb02082236596d00345aa5660a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312212 zcmV)AK*YayPew9NR8&s@1jCd72><{948o)U1j9@NfdK#j00000000000000000000 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

    Mh>w0zq{Pm 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

    !!5Xb{OB#6{eDODh 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 ACjbBd diff --git a/public/vendor/fontawesome/webfonts/fa-slab-press-regular-400.woff2 b/public/vendor/fontawesome/webfonts/fa-slab-press-regular-400.woff2 deleted file mode 100644 index 4f11cf8b2b34d62bb5a6ff702a65cb144436d02d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28148 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 diff --git a/public/vendor/fontawesome/webfonts/fa-slab-regular-400.woff2 b/public/vendor/fontawesome/webfonts/fa-slab-regular-400.woff2 deleted file mode 100644 index 1a6bea845935145aa5249f27bfbc9c02db58fd55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28992 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

    b-IJnypqH)RQpIL)^8)&}Nlm$DhsL!NWP9 zANL&PcOaxJP>-DikF8PsCV?|XBeaKLX<*My642g&Mc6Go7(;Bc0Q|XT8Nspn#(g- z(RqD-KukBf(~wGeR%j!qC2s2BO5*sh`3y-TpYjsn7tO`i3*@q+?mEmU5AZ+dn5C>7 z{|#lHd+`c=R@wGAgT@5Ypb_?+mM_vU$&@=a*%e7*)$3T8 z^Eb&g#TESHz7>v2da~{s36e!o#2MypeslXXb%&Y%IGmuE6uRLeY3Q+=A$no8oiff~ z^;x@uLnCk3>0x3yw`lKKva}?w1qclRDXXR$tpbt9z7l;L@xOirqU+V}-=POANDcg5hP*;g{L9(nthT4tsY?uArS}j+rzzSWsU716gsleYK1GX9Qq_FmKIwEWP6w&XdCq+K#;|ThxF)IP4y@IfM0i&;9PG5 z*RQkEBZP-T;y=B>>!nDeW}IM~<*=shvMmrwPHKkuV&#JW$*rlucvlO9VnqrEj&d_JXHp)$(Y?}QL8ria`(7vr0 zm^&r%4AZY5sXKGlfKQ+Cnn%jXBpZYyol2>1hH(_*3wn8b-E!lvLB;u_9hLE#2V_Cb zd~A-pvw7ba;iLURB0EA2BmAnXkSZ9>VOGeHW*Bqh7KYdU%0v&3XMlO{uygRPXarjA z6$}qmSf{u!{U_%eh8-Ir%uX>^CIcqQCCfROOabLz4Q$I)B%L_^`oyppQMJ#R6Zb+Q^hZR zpqk{Rlv?~C)JCksRP1o}gw-}UT+&@L#!^%S@eBD#I+TdvVJOZsu+R1$gj1-dEx1cT zIAF=`_k0O7*SdZu;?E9Se9x0`7aMb{M}D0eT4AiJ^2aLyoLMbz1aO4TS4iLdc)RHn z?h+vq*2(3rnce3})UIBHzzsLYkI`4*lG#!oz z(I*e0NYn3*vT4^79srt3`g4}Rc%ixh$WkF2dw~E1Dv(>0X9wR;tfe1HNzx){a#Y-O z;r2*w(Bdprykuc_Flytn4bW8}X^ph$i?U@zp|rh%+)JHlie@|QvV}e+o7!P@Wg-See9alQz zvIx;JPkPa0+eOC+eS4SE1wY~#-c`!kUh2f?T%iN)l96)7D2y4`3S@J&E2l4$I-)3M z#6=<$$YLa++Wnkmf27N_mWINky*h!Jo!n^|P920A(_A;=;3^ErVNR-(IULIauDu1P zQdVt>w+`{$^-jtkN5&pEN=@0eYfhh87o#rsa1*VlWr=c%QpT$MFVqS|tLNaq?BWHQ zr4aOitPE+wD$%>jJVmBsU^zK)o<2~VO{)#NELrD0$dPUIDgTJ+egVHEY}zPVuf^8!zD4=M5)!buDHm^jyl%)I7%q6 zF3JAe7;w{v3&(Wn?J`6q30yI~4A!^$^D`+g?-tivhYb;ApRo+Ld2E>!O%qmIYM!69 zi15|nscw^QERL>V^@UVJlCeD9$|Y2XQbjir31p?Sx9q$qGif7x%fc-_MZH)q+y#t9GUlv7Uu_5luSls} z(Py)76>|yI^om%aV1<(93kEVf?xA0IVFV&@kvAeI7O+)X9PYw&19OP@8aJ>l72?B_ zEKt6)6qc`xfiZ`*UY%jKpF)%7ii6pXVd;q#nC!6ZOgzw2c>jN*a40^q~vwi zFrlhK3p|_?l+%RexM&}sq-N`^1G4Nh3l|5-N=24$K|MhkCDzmkM=jkV#0`h+Tq

    -SuWW=M+msExSyX%FSbi` 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

    T9ht=N~YVP4_4=9#-Kc8_Auz* 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 V-Z`eLlQ+?EN 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%0AD&5d#}~ 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 diff --git a/public/vendor/fontawesome/webfonts/fa-etch-solid-900.woff2 b/public/vendor/fontawesome/webfonts/fa-etch-solid-900.woff2 deleted file mode 100644 index 84e1748414f71b4fcf415d8e1aa4eaa81527c446..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14512 zcmV;hI8VoSPew9NR8&s@064G!2><{90Dz4E061p@fdK#j00000000000000000000 z00001HUcCB1_odQhCl^~0symq2OtfByln+WKsC&>KEUk&OMUTdGBOb8&IaX@pcNyM zQBo@L|DTea$WVw5lC)Lp|D8pKqm-e*a+$lUhUc1zZmQ1KbtkH)@4}N_NlkZE1qnsM z@X>wRen)dnPTj~+c)HQendBeJ#8qoHnwDQ7H^20|UrFI#G_QJ+8yyKnCd0@`=X^hD zAfN3+|1-4i?s{o_oWGDD2<8dLI-X}w>_{Yq(pu(Jrm4!&73s(s*f#PfIeC3}ew%;Z z0~-W0uoq?bs@fTytjnrDS^RY$^!tw1njc)|M{P;|H@i?-H-1P3)YSXDIIOG6bnVXSc(R` zc)YSJiB|?v+My{$G!*fRwv-`bLFZ0+(9zKGeP^Bfrrv4(+F4nO6|gsGN0!!cY$;@i ze9`4LQKmk0;Yf3{Nx_FIkglVmiY}0*r=pACc2uJD%Dz@bc=Yx3&<~-I0Rjkb%I@1B zP-2BF|G5DOwN0Qb9;4molCA@X|NUHF>Qo(JMvc&;P<;Supfsk_L;-w(k9U9;jali} zm|g#0o&A5MwRX{@XkPo8=2OuTK<18#jzO|yTMjrpkYV_l4?s-=?0>BdX_WL5_}@Lz zhECUhB9XYA7m#; zKC+Qw1+i+`vxDXC&eAME@(JJ^d6qmwf^Trkr(VF~Dcs;Kj(^_pP7d-s8QL>E$0Of) zSs%TzCX$VnE67~smnsMqs&WO1%W?&wQiYj_vXdw28m(E44&KhbR3g^`Z5CQ50waWr z>a!K6)5PY`CX1?`WC(`oe^4@V}1hy5oAx&wUMLQ44 zWScQsoQJY|$`DiXp`pgX_FX6;Lj=s8K9P#2?Ub1uxLHz`icA?;0;*GA6RGTFqZC2D z<{<6N&SY~<5>M~dK3y!~XH7s>l^1oIW0WA>Bx$kKVu-{t0DlZ;6S`Y0G7_R&y5 zxQ_!1^wYU!J|#FZ*{2MB;8VwNntU2C;H^)H4lW1RLJ3teL2=apIJdv}C^&|1LJfWmRe2l&E^F@sL`=V$@?&IY%-ton(!)T6MWjMZ8G<+Vs3+Z;+eS;I8UTKO6 zCPrasnB?J8I%y;jw_qOt$L{M@>qhMzYVcr~6&yP}k<`-ktpqAgpkV7KX`K8c8tObY$b-xAk}I#=~|t8Uk? z`fZq6kLP{5uq!O~ULW&uzY0QwTJbt{r9T51%tBTbva*?Kv1m#sY$n#;{q^1_i1$VG zRegV@kF@K}_V5nIEI;mMc39f!_cDQVGl8OG*TJegE!(q+h$ zC0BtGrOMRU=cF^bT_SPS9nbZWdh4C{KKeqYMtqP_!D-c|U7RixW<;#naNxv8h;wBP z9Z#eKM^4>&uyMm{^%2us+7lW+utgW#Wk1%^Nb{|f#QWc>`m2jBSGKA-x)`w-moj<>z( zHM{KsAn1Ug-8Nfo>d3kA9B`jS7FuAw8O9lHRC4>>?sBJFg4&XyEp}xWI2VHHWD=S1 z|APSC9pezqG;+az-=2>?eE;?Tzr5uco_KJ5v9;Xd<#fNc_U4HpceRq2Ll6F^dISDz z0Q{cntk!C*^L3&QR}%P}Yke&#kFo?j!prV&_ec8$0K6&r02<<~%nE2EWDGR6=H}dx z;Tf8NP?vOZU)g7Ow{Ei;thWHDrrZHsh}I7GSQIm8jzbI$yI@Xy_y%namJv7_K=Tr< zH^qvW(*B}6d5Uq&Yj8I*t*}0%S+K8>ap`H9Yfm8Y1@Xc(sezEtNz@?koZ*hCQ^muF ze$r1@t?M|h`7#FuH>4f=8ug=ULqw)-BhmepKW9%q_at^jON`FED#IzR+{d0B7P&- zvSQlqVN`~p5J5MY0c>Du5ZFA218_ z7w$_8dvyX{>l{2+JxqhT1y^+&#zFl$ss0A`47f7|+t!0Wd%%rXLN9O;+`0mWfyJ=o zy>Q}VaOL9{>?`0PfSu4sxWC-00Y}k*ZUpcd9T)`BJ)#%A3{{__e!zc%;US?%CvYyE z4zx4l`mO+aK{&XFfX4m^crmOMti!NnphIsZP^R}fP@(q;P^B*dsL@vf)am;RG?0!0 zJfznEpEuiqChrRt1Q2RyAcSxp79hu^M4K{YI#j6A#lxqsTpfTRL=PB2^g#rO0WgM` z0uzY&hv%< zsSA#fxifFU39@9CFStNf&MM#mSq*5&nguV&`q{ML4cRi=fIrC2g&>f~i2}hO$siOY z6@-DLfhdr45Dk(6!a*|cXi8+sGFFaUJp z37F#`5pxnGVa|YLOcO}Kw18AhCrHEG0O^>=AOrK{f_=s{U0(t+F})xQBYnt5KILC$zbzAHMRs$u$7<&TMe9GFMwKX3#h}k9&H1NvF%4Y0lKiy!CtHs?8CkX z`>|iZ0WAA)5c!$kb7;wEGER=x0dSnm5!fR00Vl`;!AY`7;1t;|aGES1oFNkfJ!DI%{mMX>ep^the-)_LF9i+y-+@|kL(oWW0h-7~pqYF);2`$| zE#!Wnl{^4Y$R~g{^2wl`d^+eLj{uz@j{;pFj|bf#&jXgo|A7Bszy@4`fh7+;$mVR0 zB>5@M;=%Ge0 zy)?-?@6;oR91OC#A-DJO%%FWB}XJT85 z0+$Qw92h)1im9Vs`u`dVfl`>!3UiLaf@}W$5cA$evEQeC#KL^~h(IZ;%mBp`+(q>9 zOAVCq{483ntq^!H|2j#)JkOn=qEIc~47Q2e z-oB+DO1{Rryti-Lzm#X4ISh}O1?NP8~YfNIcr^tsDUXK%NE zcXW4CcYn`Fy<@#Ide`+n=(937*6(3h-LFWjO}t3D8OIDbo1_gK9*_w>ru8Y>>?QSH z^p~tGVx=bRB@&5h2Ysxr4!+7P%v{WT9~xy-HgqK$nr+UF&$Y@t`)hfRd|G~^m^;)d zcZTCfMh(3-dSOgBeCY5y;~U2hjWhXWc~VF&{5LUrbnV2u$&q7jO}RRjO^0j-r^mHu~ za_dBuh=eljDv0Xc=%Ns{cH?nphRP7}>a-h$Z^TFw4{mR4$OQDzj8=Jo zTZJRBc1pPEl=HN;h*)hkx zDG41kGgTB)AuJ{cP(lbLT0&q=Hm_3DAjVN9(V7N%AmdUJdPAuuU^E1zgsypb95Rb` zIZ3UdEuhg$#ZF=)KUcM+HfoT}P=lmcSIbN>5-ITR;oI$gIIF5-iU}653yHo*C5?V~ zXu@*qUl-{JUw1lhdo&wU2e43a$E%=lZ&2}ys|um{q*=JU|6KdUq!Ay7v)qhBViAf@ z@{>T4;mQ#McSQDTACx=fc%!{2LUrrI3zm=WPqifAoi=TW;-_O;SL*=>!{YVuT+oi? zxL!g@&}&W>EedRmP$o#0uT~Q)=Vqwjcbb7JAP0VABvxZpgJF@-?f5nyP0bwK6vdAJ z&9o~9L!%*Bd&=TVS!i@RtH^%^`e@=nyUot!6;KI{$*7a@!V;y*l;`R~u;GTd@_a8V zVW~YF&LWAN*Mr&8*w%gLOfx(zZpI2W;`D#9V$c7d`XLuPb(~#@M_((lM*hAZH z3XjL2L_+@KW@h2$q-jqhF8s|8+=5Bq)=k)vD+g;3yfcj}kp;n+hXo|>Jmqyk<`YT* zWIHcqH$BVF5n{uVQPfJQ5G$2t3B;8$@hcBkNghEd88Z&b>d76f5Nxc>dS&&n!#_X; zxJnZEzj_xA>ac1as0)*LakDVLIZxLS?+p6(j8QV=icP*m@x+%hhXpNpmvZ3HNIp>( z2lhC)(VGz7QKY3>IJV@pAsyx7W03J0V_gp^LIfUV68P>Bq^$*EWS zH0*6r$y9keexJvdyj(HjZ^UXv6V)h>HT|52Smx@;*$x*Ulb^ixCXOBdiQfDe+SbaB z-Gh?hV@=FcUT)3G#P_i4TjX7!WYpXngSXf1@OIx$d;92;u7Ibz&KsgAL9;&|Q@G+d z`rjknVQQ7c{Rb%QchKtjeH{b$p8}bw366=0EdRpP(wZEliA;L}nlIx8k3q5Pf`io2 z{qAJOAD7P9Olt&e%y7h@g6G4R%^Qe=_J`$05eicenip&-`t5v9$3FK&E`i^!B(hD- z^@X?em<8zi+5{`3SH!b^g6)M?tJ{Pw#Cy**CB;;s&um0vtUkY1RlAb;uf;(YZ|JAH zt`5-d@Vk8XY)Ly!2~=y^Wus>Z_qEjx{$-W~3;vb}Ur~=_(JdBrV_74{H-pa{`Qddq zVUH#y5e`%9O3dp7Lk^Wd-TIXb)ZZw&Ozr2{ zn8v{FcpMFJ`!crQ$X~Z0<|xnaLTIUs-E?wW!O z^m+Nk;Wu-{f=wvw;u2SA*r!tLe5k*N{tz^{wmj6TLV{?4#G!R3U6A9nnsR~B+>T~l zOO?nEAK<05eKB(TD6fk-34k()scN)Fn=G(6=x=8W3q3%)@kh$tut$U-q9VYx51}m7 z455h5Di0BFW_U5I7Rvp8C$HV=}Q?6Rrm6MXAHIPiPMIajN;8;U9f@g9hgvGnqQYJG~ z$trF|zXe8`GJ^iAt@BaSx!_}P^KG0hd%k~C_^}ZffSm2jbQeUWV`+mfItjt!={RVx zz7z}HK}l#)^hs&($!h}zfj;R|fq?MeO?{X_Xpg1UEf)(m-AablCR1+I9aPDvO;42v zy<2d;JP2Y$MN;Q>_FO>7TF*u2Ozyzmv$H!wPiG&eDh7zQe5=ckFk8Zdsxh;Z)}3t# zVD4Xeckgu|pdn4#Mw(uIJqF16@BeR-&XYo6{#~IDmXprrf$?33OMD68a7#uxA{lOi zg$u#CngjZGK%isJPdsjBj)^&t#ZNxLH*qoq9yNIJCuvq%(A;=syDQi!F+@C4p5A!K z!auWPX`Q7D&s^+78b8Zi-g{@Eg9^T=QN%vxZy14KXj<2@l~>Pc!!@rfXoL@5pQ|vc zXvelGu!cUUrB=$TXL`6!w(*;0!U}=r6$alPXFh&bC0c-|SP9|!h9k;$K(Q#O=Aw|z za^!5nSqG$_FM2bO@cg7UJd5$!Glyqa4T1^{$Q3c*E8JR6uqHwB-L`uKEfD_Ug)^ms z(Gu*S6Q|m61X$IHS!X%9kU?4#q2V{eED3jVF>oLYPvUX4Y@-lsUAmF^qFRBX4kWk( zb1Is>g6SM`62sGr60haf8hAV)5xyxKyO-7iqxRox+a?wr&|dVjQS6$3mL?v?Lml$+ z?3WH`2N0>4f+dmFJlNZ>Uz$C3M5JUh=*=3sXvZ&qSn-R!05{*$+)#3eeJJf)14aY6 z+X`UI_VSwlU}B7SEz#KJ01fo#Ah3&mOYJY>y0q=Ni{UKj?JCwrNvNItY@<8nVR-rV z=IDAeEnV|qMl8~dNfuq2uyMqOb5=Mhw|%J<7zN^DLdWd&^f~l>C~F^FOsLIXT`UkI zkukBD8#r;*4xm&xXRm$IFPwVF&_0p9p&>rJIvfaksWlDY<+Ep)Rmx#&$+JBATi~i( z$%Fmy^Es(_7N!ajcIu`7^+gPfo`>B!<5gL<;4N33J48R|70TV2`rO#CHJ6{}rlzgB zc*|{Qq)U6CL~-uE$RO&p9N3#+Le!H$ln_8Hxjh5w8mZ`NYwd$eD&lsHI6QYonSb^>hM4!j2lx6w+A*W2Cv2h}&giaiPlIp;6A#f7Jc7&3hp@vVa(DY43X*!0345v;`t_jVU zxPw=?HDR}|OnaM$vOALLk|f#HmO_w6edaE1?L z6u-*|W05KicdnNa?54yJQWBMSPwO?E1Ab-|y}NiOz$S~_7W=_qG!8q>mGlSie4_Xt zJ~(>ZZjpuRQ^GY!apA|K`xHF8^Ui+14uFq7zVH!SLEq<4qI5qT8H+c(e*7WiJiJ#5 zKREgm`+3|qS9A2fFIu|u9>wC1-@GvbvIK8&y7Nw7spaVVLu&=Kx+PI#0%m*${XP4w zj)%c7iSeCaV2G^#ZT|?+U6$dEZBHIv^B`YpaFfnp7HA54b9jC8V+dXk8gC?M{xQ#7 znUD`8iA!{!d7Q`F`i;??xDIANTY%+2gR0WtHVP?d$t>!Ex}roOaL&#Z7$YlPP!%y2 zW2pOo{cVfI2S{jzFfvdd)LBx!0CPXysiq5bVu?>;W|n8c&Lh1uQb7h9Qf-RP7zJUl zGP&XUk&8Kksc;HYK+7xNPl^cr2*DyQMqMWCcjSXKr=P!)xo~AR{<$~}*#D4?Ra{_G zZVDT+t9At`49&xzJjqHA!xN@fO5_VWK3vMKTq$`{Ubw*a_@>d60N$OaYW@`&=04FY z0|OEVUgTi*o&-Gy?!ai&n6Y{%E=EW!+HxR7cD|k1W{`j-Bw19+&Dsbz`V9ma@aPfTS-T<} z34@9iokB?@BY50?L7jqZq=2G8qXuh}t*eWKH_x7p;ZMe>+*mf(rjkl!zaR}ICCD*! zW__Od>(7Af$1w9A%wiORiR&~c3A-N7A-wN%ieuB>wLa6DJugRm0zv8%gY9G)a&2=RZ4eCf(_+tJb z@30+T<>nfFE+dM!o~YrrJqMf9{2Z^YN}S*HnmpQ9vvzT#cYOq0k!jz<(bujS(pH4EB-5D*X# zhF+r=osa38x<$E!2B|>JryDm;7?q#0;X}01ZEyPygJp$DCiHgJ5AMy4wP#*_{WV9A zPM>HKU}%eH71Ds|D11ZLIe0MNeoWX+MzU=WSD2kUQit;3(Hsme1bZ-+twu`=3rAWi zjUep#wQX3Bjhn{NXcvBp3(xY?!2V`$I>WEOF!2V12eWjkS&%#+p-k+~J`C|?DUVok}Ve{7CC)Y!D?0+-h{%~#|H0q3~ z*!xYhJB{_N;h`J>_j(iND$HQLt89aTN7vkbPqPDu^x#kd+FP?f_F@HjcOWe z6tRjr+0lefcCn3B@WbwNhU!IDFG)CI1++k09D|VAY>>;(BNoW-cGrUq@<;(LSR_T? z`$b6QSXRy%EaXTix`{GZ9LnwyzR=F3mnErU)((9JyN1V3QvUTPsR78jSYU)1HUaJ6 z{-PdN{AloE(FJmH6$#uZlcmY4f+Km@|X#3?9@**4_2>VWs8l3zFYAI=7vz$&>E zo^><~Feq@GA5tB6D=WjU>e!7sw04!L zsXQK!y#WR45GZ;o{zP#bqr%T45uSium&}{lKE09jE8hP|NGH<8!6l13eTEm{@wT8A+0eKaA17PJL5NHpOs z-5doy_)VNy$W=NItVmz^?Wp1eoB}$mgrL9;4 zNeouOC!$I6Q$C@NBM)9C64A;~MzI5Q^DYqW+Do!zQpC-baZY=aN1#yEt0B>SkTw2(CKwN0AImWU6`_PdT-&*6;Mw$^5`B zkNSuPi2oP3vZOS<5!z7P8C}sE&2&{F64Y_&T=CW2nAcuq#7PNPDAuJyN9u9+dkPh! zzPR5&$PFoUc^|DSZ0OLZ4PpuOZ!Cw;+=aK5t}bZ5)z#QU#O1sQ)ptL?rr0m_=J_Ao zb>evUf}n?GI)URa$`;b{4~q0-C6dCg_O)=rF0PW=V-;lKp5a{;z%46uFvpzMl9$k- z-B*}o$$rXv%N6$jGf4YiK~~OiR`)d<%!PQt&&FeZC%0OGY_IKbb8V(%D1ROc)y5Er zHM|ZG^>Z^&m?#2|N5JjgjvVF9ocxK`&mig`gC7v?37aB(i-OhSwrezquNW-qj9f*k zMvyn7+p8P2w^1-{zk0oJ=CCX3hS@l59qk`!&TZi4yOTngOs&ye`0;4^WB6pS;eM-u)1aEK2{qD5wRpR97Ia{;foeMoV=F8s)Gg1UW-hKy@o*aIH z%hRCC&p+t~EhqFnJ=MN68^e`nW7$E}MAM2YfVBTRb1s@+pBrSdl8nsoDL&;cTD2y@ z^)=ZJ@%D;H0Albd4nl%o#D=C0>9bVMS~KkxZi6eb>ny`qVqt|lND0=hRXNcTasXQ! z%J(bz>SME0x`eBNm^0%JEr9KvxK+l(=oLns z`F9u2?09C{(yxMrz$7#UJlLb5b@IFKIVB&^wX^e7)L?N{giI}~Rl8b-eHAG+A-h$g z(ia4N3@LTtt#C45z!ywpCUJ^9b+JZZos^{*=g5b#0Xn^%dMdSzloX(vyJst{aM8gdKFTyt(R zzT)+8xy-L@_O%8S`^(l$3b*`lTD%U+lQv8KPF|K@@n7M!*1`r5JVt_@C|CsV(31Rp z0|2{*If>)_@&cW_o3vjE2@=>;VL@V`L&TaskI_A!FIz4FVKWx-fFsx1Om1e5T;UM; zQFe=raGROvv@J)C>C%0|(MQfLUqm>S``jc$E+;G>14*jh&3msej35@BB+PMs>*!8i z81ya0pRZ~Qh=GQ1?zBQz937ue59t)#{N|<8{@R`4cXYgM%gqkm_l+tvlbvV%jkp$z zXyI}D@mg%St%s@WVM_PqwPBQzTCyKb`8r2a~&iW{>B|s z&s2wXrce*%P^WC{J|C)lnWZl6B>h}YTH#cQ27#=%$Zkx%f!Coj3l-=Uxh`Sf&R z?YrHYa1w`~p(ZevjRmYi;E}>B;vs|L%)!Iw`iD^ycWbZp*cvtHj^Vp^-(MdUh$zH} zXtK*s$%9d|<~$pvL#XtTSNN#&l~GAxn@kZ%o-3pXsf+sBD&VR!{6`CRGamw#3h{&M z*)ieEWmDy<3zZIa_zVay9Cem`_z_Y-0JZ_PzKDnRa*hn_$}BT;m7;ojj3XeYDue3> zmZ@kc%NEqdX>Qt4yM)W2rXg*q1=P#XRWP&8%SMF-%eg8or1cz>!E8Jc5XbZlEMmW% z+cn64M+bRT{0ow5kzP^m{+yvE=laJ2xsNSn@r%Bmb39}UM3BwA6$ zHQ_SeyQWPb#?WT3zC9s$FXrPwMtK)IVb7sOF0{9jrH@Xvhh$yT^Emas9Cxuk2mUAH ziN#zP0g^zjsS9p7z&InoXNF0Dok?6rKC|i&k{DJlCzlpZZ2I06QxzT9%Xb7~ zHMN(UsBwCh8FRI_AN7f2aH=Z{ZVS70&=7;phT)To{&o-qi%Z^~P26-5eM_d&(%cuc2r%9?JT@I#+Klo}jpf zv5&mJhwJb>V)B0h+dD@aO$c1OcD2GHoag zs+n`3GAaF~5k-sIOVc`FpYLq~O7DF>hm37S$R|7!AW*nq(-*^`Va78HeWAUWh*1sp z*=pi>Q#7b^45^Wd&j-Q3Blamk&BUkDj}(3C8>1aGv@Sb)QRllJ<#yTn_s9zx=he#&RM^}UzJZB&svNlsoeaU|oF^QNQNALLe42HpiTnTysNw6Pq2q*D>=RCJ4I!#abm93G_)UgpA;0 zzm2hPKl;7s%k^hpj4%Dmi01-=zE27$=0NNBC**N;oWol5pdZvVT}%YSGVPBO7%~6{ zcX9kWCpIKa>4~QpS}RdK=UQV)Lm+6kb!nL(?MK#%8=`^PuR`m2reKvIk%B|dQe91y zCg9-N#4GDEYfuw2!>VOa_xh@R@((RTXHiu}l%$aOli+Nui4nm)eltG|bMIUP)NRRZ zvdOu?q?AThI)H*Wq4LzPky%R~*4>^+ZSrPf33G>wzbI9lpc2cE&7gl&CIg04Td$@; z7H-qC4Sf6z@+CkM6FB*!mIWj+fWJDVAVKLaI4gX!P~h=5ew`y3Wpq1C5sg??6;%&CM^P4=}+orebT~3%;rwHm?;TIWbpdVqn<*KmOW1O7|>I<+_%TLFB6e z2UU8y#eOzUeRC8S_C&kS$aCmjPBcNX%oQ?|Nm!d)aNOkWOu?;!5WjhKsB`F?gP-R4 z=SO2114GbE!ic)U|aP9xmV`j%O`Nz*rj)k)vHf26}hf)Oc{3< zU-k0*Biq5#(Im?l3mGdZ5`}np@|=eu2TKJupcwolG)!$sBo-j(U05?-YPKhTAXn{`)$1HD_~L8Rz$B zt+zByHaHuz3K4Qef?kvgo|scv5<6n>gyNbjM4DK*fsbfxw~ulQcV&RcHWqNlmg`}M z6L!Z^g_60%nZPWh2QIZuS?ny6uzQ;BOOhZP>p{+E65;kTK@zZ_)1W{LHLe|~vdX6B zrmq0vCM!E@rl~3PG8lIZxbdJu%q$a_;LYYQGcK_^T3Fs59wkX4cYZ_~e5A-|qI6PXS+lq`U1`=G;<39a!;uej?Zx5myhkg*yk zyxi-4bIhamZtG@VpoxqlUN48)5Ow?9oo{uNlv5D`qyM9ly{TqmYyWPvj0rr;vaYJl z&#;}}zFVC0!UgAc*cmghp>bMIO5zZJ#HZCNpldJVwRzlIj zbF1EOC6nx=OyFI3hlDuW{{R*?xkja}Kiibd)N;RHgc!vW>OJeY$%ECBJ zy@ka~1>6;sH;>s}=1X6dM?W*Yk!LwLatdePT8%KrrG3K~(d~(^G#qlb`-?Q6KKA`5 zCOK3yd*==4JBo}u97(hzVc%b$mMiYtf7V?Q9$>089eBo4*oFcY)!pOg z%#n<{^P{|15f=}Rrb?5tQXQJ(Cr4GD%ZitI{^n1PYSrf5h~z{*F*UQW+vtQF!F8B$v*C2_4vYCS#U1M?MMZfJmf9 zni+$eCWpIpu&FaL>9^wr8?98PW3n^F8dNPFVfvF^5OIiTZ)EzV?7_G1^0}9OrTGDh z#n{t>a*H_Pr|W~wA(7?g)Oocv4EF&DZ+i)%FwW>r@eLbNWaQt)YHgPeAX3u0%Bs@^uAS@OzZ2b^ zDV?WmTAO-hxH^R$c^4tAnHI`3WP~gXe6Boc$s%?dZiz(6kz(6pGVE!ImawwNLB1pB zz*u;8wt8wwBV>I~D=bR_d{W{T93+=VJc*S}J!uey&F=%I|%Zrz$TL%poQG=oFPqxdgPvOD8uEH%{ja#pIG4 zr29VMIJfIWqdd~|kg%(~ba*~-6btRN+*iU9U^~>P)M!qzaMO(BRuIFoYtlw6q_)ng zS%e18C)^EJCJ$y8q6C%=%Sm6 zpkMtR9zS%6v(Y|%yay`+t-axplX+)9{`0IVW-BwHv&ykj3mx(^H$JX|KchP4)M=z( z59}ls{Il3Qt8nn-zOD9M;04lG{$uQZ^|Hp#_P@XM-&cJ49;MT>lgSmNeMb{vze$Zs zkHB`$Z~fkFBNnhd#b-*e44*OE=$8p%F?Q`5hhO}4>tP@LGa+hbEYYAp&#NFb z`?C9(L?H~V0iicNLal^0*0sfD0vBtObR`OsL=NRSSWSRtGmZkP6qhm)dwOnh3E9VMQj2 zWeHv)X6!Z{W&A63eZ1);Wi`@Keri6Q_t8jr1xF-yg4BOj_etvk{Pe9nn0Nv%YF*zf z%ET+r2t3VNo9ZFmKSTg501@XQF3e;+e=LQzB|YF_CZ`KN1X);k%eA7Cnm`Y1mHOX0fS)HqHLGR17%!Ls6X3pCz;X9XST^0Wo zlkb~by-bqnS~O@GJsz?rxVoYl#XmhCh3ipCqMqRz?yl^p{`vGJ;qh>uJh?ybT;9w- zb%P7o5qm1T=PF-iBuF{t8Tl4s3viSuTQ18;Mcq-#-2n@KT)MoYH6#5n-RoqF4bQIQ z79NJC%+&J8yGlGk|NA=h<7QKHRHme5t4VHitXKr~BwCJ6_fOVf;T(d{5Lm|;|ed|cf?eFcjd86m8vZq)4V*)CxqtRgO z-rY~Ej<{*;KfAv;FKVlDT3%FE#!(y=PWf}KcXV8>mfio(_oHUc${(-+7Js~P<;vDiXkm^yT=-KlrOy$ix~1R z4{l=xz@d38;FY2Boh+D-#;n4qT8y_Hof~I1yqlM{bZj^aF9L{>GVXL_+CtOgjNrn*~njoSo9BSN-F3*tmHV4K@mr`^Rwm{n0pJ^-^02OtfG!9^UJU?m>va0k_~_F;r@LA5isR$C6_L5^$0 z+x|#EZl(rG_xroDDugi(z<9{D!2kdMe|FLsV{NFrI{?fwt1|6BDKqxS&R*n>B2>AX z)C4aUeQr^*(Pg=MbV0VG82LH}0-s`g!07deKzvaYfkfWq71D-kkhu;y=9m!47%C@O0nrmjdOSb7aby-0?jV z_DYIsx}Ktg934xctdgr!l$_^A8)^-s8CStZxy&c3vCvwfj9WxdAR>ZtLBve83#y~^ z+b|>H+Ti4H!AMX_rQ5(`qx+M7{73r)_vvqJtjR6|Y}Xm#G)s|14te_UxM}aliGJ`} zfQgy1Go6~=0W)izb`mgkl2;8>NpIE&M1%O*vjo8W^V|Fd82=x28M@R}@O6!1VGWxY z^5|joiVEWjR$wd|tYKkP9oHPUX8Zr+4?ME%=iU5wI_(*jyLA}1H%$L~8z+i-1U!%s zC;G%HN{O%EeTY(5S{Jezd*$6V{`cQhzwXTa%HNy+0=i{8fMmsO<&YgzWCAG`EohGx z#Fh*k1;I&?;Av(%Ft0)y!1EwKR8pq@UoG?bALUwmFwu1M2ct)PFZ$kr{D< zlBg=PP$leEqwTiadP@dz7_f=oYht4Q zG@cQC@kbOtqTjEw(&ztwsr~;~#^|s5%l`pN8ZfOUavbQS?Wog+m}HVIt5hnLig&>V zoSSPG>|HD>mCz&u14L_Upg=msw&(|OYD}pLTlX|-h&MUbsftT>>ex{nd9XS9nvch~L zkGOvT@NwJ@SlIKk2NnL}u}iw{vV))CyY^jgE%L-JNy1r+?35%?KA%ndFY0q{kSNF& zc>d={G~)q}Jto^xR@z=kVrLEGPF2uYq#5e)q{UPQG*(3S#d~qY%38XI&K>=ybk9McMo1C+;&~+J+ zicd-BlKsChQ?YXypm4?Wm2AYwR=5Xr&#vH`%Qv($50GG#;6tVUu4>t`x2B;34Bg@} zu*JK<;S+Y6Wl8A(crdiDou>VmWJOdIn~*Ct zm1&jfN>}W(qA9IW&a~#NY)vhz($^`=nZDa+mRV*urEPO&HH+Q!RcY(xSpB_fN+nne zfc&zvDPT=7<5%8q7)lW05QcOD3n&mlRN?f6*$G1wZlv8oaY_dvM8Z=+i6O0dwD7c; z1JySgkggF(0D=g>|38PS?439z*t>oW??%iJ*C7z z=f8XF7-qA*_qB+wXb8*=aIRZX_6#0=mp$Lf2_ng1t<7Y({(G!^JFyi?*%nDAlW@@6 z(67p~dm($0L;4tlkeYW8GFnz{+ZR1&#YqBW2m%4vnb)!}`|WO2$v`tDFzF@M&YZ4k zWzEA{vo-)!0t4WYI`VFmAZ8`7ep~gwhDAQ|1hn|+s2r1rgy46fgmzoKFdy+D5up zW5(hqY172Y?XvjfAkxE#`<=1&QyjjHUg^?t9MmC__F(ASl7~00W%~fkhM2032#C0r2R<`~v|M2!)IeU7#xg@1 zE$nq-`BiW34MKEZj1e>(?tH6>@}(c^pc6N^ff4c(%r!hKjVeLK=f1S(XGgra!MFAb z`3)=Vr%S2P>)U`Wf3B5}t`y=Tyi~-5H%R?xG8j*)twvT1HdWAa(RHW3m%&?EgQr_CLEvo$2erfwJZW6Mj$T=qbh39y|gf` zN~?!=hpWT2;pdTBkyNA{QAK{0_k447H2QM%`s)?RU*Jh}l#`oRB2!R)g_TxGH8psJ zB&6k4bYTQFHn(zcwPwRM(lx+XQVZ80jFAkkSgzC=%mVqx!Ga|#t8Hax4|^w_hvdo^ z9)u>DO1UapP1=o^^M=kmy+xnDFMk3g7PV5F_c7OwbKn2Mvj1}ZU??>bPtWPtwYd8} zS6ppu(O&jJ05lAZNfa1$XJPF?lb5f|JZYX*Ci&02_xt}zjXI46&-ZU7)`z|No=qRV z`#2(X1i2Mem8S^Tn-sO6fdkW__k%k6+&t^@;3)AHlQV@IeWmCSg@Km zo}4r$IJobO4fK{{)-#<6_-_vWA^u>0fd80zF)Q0_H_7Izq_DHosY+Urt3Y4QPg<+X(G%(T)#^5xu+5kL;)1X9-P2Ae8OiWMkYjx6rlhBOHKhNLneY;xrj=X2%}bxq)HXCcAY4?b))Omi=p2DrXj;v zCQOJhYgVLJUWuZk6K&qS7@vF+>x(bq=zSA!!9Pjd4X`qpyUv1z9+oVzS+T;g+G<>z zY{g^Cj>sN+NZ7LnbIeIn=be`V2`QB;SAZ{HY4GsmNFWMSG#R9lWl>SdQ?6XTDpd+- zX%%YHq)5AVN+U)Tn=_}x8*h}-(J3=;-fds$-LYuVJxi9r=T8k+SPP`0Gif6L#1Kjl zGRD|MCZ?2{GbU9OnX1Y)&4P1FU3cFw?3yNSSqj^>Cxm^+ap1ZRJ&!sL`Sa(nM3y6O zT1m<;j?>q75(E{8Ag8EQrxC;%9CwyZcaFo6;OOYQtE&rQv5W5AyEH#FxSU?>Tv1aK zk72HgM6P-9;`;p1U{8k7xd8xfYG}A+Xy~@FF_uJfheAPM*j*HL&z(E>Ei62+w)W7$ z!6OWGFa!z06e0vms8DQJSR6PwTqGns5C|U`nE(Za z5Dkq89i12>j9T^=W|*~HB3wAB2oYo=MUsmWMIlBErC704;>1x)lt|;2TeR5N00IIa z2?>ad3@k+o1OTAqL!Hk(CbLLVkSomkjQkoSj8LO?9waF$qn{Af2#TEryZB=B;R*4-uWqa&V zVITWiW^n9$cBIO%8B$}|45>40hP%Oe=QSZAwYYNC=F3+H9$ps-Ne=|lM@2P2Lo*~L zH6kN3mL$nUvSd>#Dl_HE%~h$gpry6cq{&LVc55R>Y|NRn^~M`JIy!sv<{fB7*V;V)#s;W-Y^qgDj>2>cv zBctxGOw(XlM%%U)!p3oIUDwX@>}mARpO!?TEtTrXWT93igRZi&p1!_52>JjiMZP?zk2f#@5y*4i2U?8X}ixw%#`IP?T?KDljt> z(&-`wL(F7KSS%@kAUMq>YVhe6Blhn@BiD1C2p~#J!T#;|7pHGZkdsR>+0XS>H2r-ZU!_O z&M(gPcR8z3267MHQV4khS@}7dD1NG4Fkj9#RMsr8(o#87hIj7B-U5DmOstxNC!}=K zp>t)tvTue?zYi|Hj3rO*3|4F94d&$I1_6P;#zabrXDde@`=JyC)R{mp3mBJxL)0d5 z?&aFZ{fJlQn=Ed-gn&d{QW<6~epz6Y;B2{@%OlI1BHt_dcPO+*;d_cKRWwC{Jfd>6 z&v7Rw%$!6xb<}AZM2J7qI7T_M&DnyT-`I=`0WKbKDHU>wvzALC)LX7ExygAr@H_#1 zm{%Nc=lQJZIp5Fx##~Mw2GuYA4FZV^Hg85~9xMb$g7-vlb;SYkrZ6PZ4iEyFgmM#A zjOKuj!a!gOTvcNA3x6o$m#BlHSz-|4;Nn+Hu#|Y&HRP_N`@WkteZ!XEqVe|N69_gE znonfi67dhxeUsVtWJ$-p~jLAfV$f2RjRj~;of^Rz-aTICs4UaAqE{io)4wQBXY8i=%dO`A0@ z*CN%5(yr0*Qx{W@onA;^v;OY}<%Y5hhZ|`&T5asB@&6!p`)_yNy1&3fd5^eOd3@ND z6P}*)Y?uE-!b=y8@3H59c=6e*9$x?Gt=+qT_rrXc;bVE9=Se;&<$q~)FP#nSPnl6! zZ)NLpCi~jfx2e9LdaN!8)&dj6j>cagP9&|KEcYj6H1%hCQN{}NKlUFvW^qo&`Kg;- zUve|xc69gtjd&Q_V@a>l_ouC1Fy2Hy_uTZ0ql5hVwVqGE*~9uhh}=JHQ2e=DK7aQ0 z@b6;&?#F*xARnfqNtt0s@yvZ9Ntktl2eY?xcg}vQ=Z5n>o*=&4f=enbp={w+h89^; zy7&~$OE&O+DT{?<$;&sRN^xQ(jEYro320XTW+dZl9Ql}*K49(v!_Wsd4ISpz@bA=) zT=pJ+jjoYrA)LI@6?IvEx|rPzctQ5 zOxq4gFpZ_{8I0!0&WX*nWA{zj^61}Vr8D_^Ep+E+zUuvC-X2))ZUM%ExD zMKQ(h7jHcgL|e&Mr8uWo(O2fuSqgW~tuU3k@~st0D+XM0vxI*y-{NPLn5%n~Gf{1@ zx_u4Ln{Y`=nZC6N?(OAB@4(Ds?rt|9?^)1ZU;1DrT@BHX*6N9{aaR-0(_oYN(d_zj zdpcTVwbZ@}{?Iw7LJ$Y(9Y1bH`pQ;go(Qz$9l!0sIjmx*mIkgKE31$P_N`qz zk)q%hb*V_fYN;LFs&gKzd>1YOLr7Af6#AQPGaO7?(ZiM zGIKuXm_D_-ef~LzAd5OcpVL!Mc)vzkhNe`{?J@Z&N?9Z70V5?@Ua){sEIDS?A#7bV zxng1+HbYL1%f)5^DLrqeGqSvd5011-;wmuOPu!u#Lh%A@`eHakR&sJexkkbwW7lHo z!PUcoZ=g2Cn)Zn3EKMP1h=~;G@~Bx4sZKrhxcoowz&5a(Mbl@fdxP01w2V<62A#33^o1(M8zlx}pPU0(&o%Q&{aqUDLA+Gjlk07gpix8?H7W52A$yxc(WyuYP zqm#lbgvJytXRdcZ>K6DpU~7nP!E!d7`fpS@iO=1Yv5?OQDa^v>kTouN2t|x$oDmwuf1PTRk`#D}Hir!@Vau;LezSGL!NetF ztCk5mZd+vo+=d)z0NOP89r(_qk`yWTuKp@~OIKmK&g1Hxn~wxvr>j87kdT5%Qye_k z)iB^pu7!r;h=K;7D|3~=Fr`X0%2uzg6h7)6Q7YJ1d!C0VDT>Poh9DR87)Xc_1<({8 zxewnJ9H_AXrbwgjAAb)V6rO{0n;frfqHh_)`S_1N!vnbGSV6s z*B{SYWCKo#5E&Ab)3GtI{HiMm6(o@kVaYn6IZ%xJFoG-x(VS33phE-23S%ljp<~o! zeYai%^satKpm!H*!c|-Uq%XjPr?Z9vQ-*s;3m#UEj2cu34084v08?f2i8gv#X*7(D z-53BvqoMAE=wf9?1weO6-(_G{j;w2fKNyv)9T?1Vq^|+kYNcx^fufKxA6=yu@&~)o z@>~540Ls5zY*9_SZq0#1Fs#KC`MK5(Yao}uT{auw$gjy48jf&{MrQzxe#Q|!InK{C zw6y#b9|_+ef2EJmjE$eu2LM+9L0`}BG-5%m`-Xr5x9_$ldXgaPqJWY+ zOe+{ASxBJ7Ra4NGPzailN`VgTfk20>s_^B8Y@h=|-WuX}K|ZY99O?GOAD0awn7;A| z0zB?Vcxd$ERYAeA;gl*M)@8dRy7CM5fdiCic()}8(JkYJ9S!EJZcQ6d-@mqJ{qG;f z3{&!w-4ceew247y=8G@CJb;YO8BnY$L1aooE(B=|h5K-63~3mAU2&E4C<#Td4B^CR z0`~@AR~aV>+)`YaC4`s|TGETYabSyCv<_OQuF6+E`r>{t2Uz|18$7U3#nIa6X&()K zfTO&3R#?c69T#*53_C=e2uxS2!w8d3m30lc7Q3Ra83V$z4wWrY^2>Z5!PaD}7@9cA`%P8$Rbe$jB7UH}+o_5GI^DK@rW&3JJ7y^mJ zeiOb7sayt$@8;wACAn*0t{2Mgdr&pBQpV z&lrOwgUJiUVft2ML?bJDh*0P<}3Px31)T}tR z8C<`MD<8fPpZOAnSRs-QF+Sk-=o~^O8uX*JSE;f)->fzje79rC1;mC=75pYzQM6L~ zOK5wf z(wt3{hG`^rD?9xh5~ev!#rX7bQN&c(M-ddo4?ixujr-h)O1Dj>>^*27IyUVvdtD4> zQBDZ8Eiz4e5eXw*Mn}ipYWi)Tzi?vdNw^cE^=Q*F)Vw z1s~`eN(+w@|6Hd18*FiBl~w^n+pC)*a7TWyGb#gLBsL@=3WOH@wZDeAe}; zz-ShFg6hNSj9vl{@w3@0D9of03XIt_szK#tD?-3{MGr#(>o}35L>z48VGSA#jm|c? zIQnMEo|>S%`n!vP_3k+E?!pcoeafUq>{EeFU`=JDEzv*qMfY0+yI9wD2Wu|=K>t@# z{qNdm!!4xwM|DnkOdEOrkC07wge8!sctEz7!1+2+q1Hqhb{R>gYKWzv2$xV=d`mZ7 z^sK0@c1+q47jcT3zs-Iy(Tv#%{qvx~ei49{$d0=@3@nA&Dclto$xc&)ht`4TL*Rq? z7}@xs$;OW;^4WlF=0S)w<&p{Gr$*gd;>hYl%5#A?J!`P%*Y(Itn(kd4gLFm)d#Fm0 z+NsezZ`8AD;5cqF+r@kvA-94eAnzyHJDx#Gj2+D+=!Zb(E8DlvxVaCiuYKQ5Bi_~b z9>zf7M zef@IZZsWr7lb)VDiz3{90u~n5V_Cv5$Z&Pd-bblMNSuQ@{ zdng!PF6kTdf1S^Yx_IOTQdr~OBC3iSAedIdmu5T{o~N~5?$PuW$CQ@??6s3cHsS2- z=jUXzd7m+jJmJaIJEvpw;=-{LO^b@PZ%&pRN5xtjEFDupC5l6nW?=sBqA&z~F=0xj zhx#3%iy>V4SX*;+gS3!%{FWhEKCuWt*>B{z(sU)bn(3<)@7#b&sWvsCjy9+kcyTY( zis>1ZKsFHb8qugxE#xBMcpq>HcR!*9APQdunEZQEnDbT`FlO7D2J`=8Jij)tF9?sp zfJ7lN;Lyb;3=xTJk#DtK53_2gY z$XvPra<)x{kq-Ox+f4wX!cj&8xfG}>8UGDam;O)M*?73G<}^>tf%o`vw-(+QFtcM~;> zD|cp+ITth@-L7TlzPq88MgJbuENw<00;`r~FdA|w`5d;@HX!78OQpr!Zpar6Ya{_; zKag013*@j>fSDsMztpW-;EPUWNulQlFcdoxGmUP@M|2CQs*~8kg=Z;*QQe!F&`j*H z4GJ}j6r}&qx)XOfyn#00Vl~N8#tHUQm)c<9=y-DHqBy$2l`g)Z5~#0n+vPV}*TjLz zr(g{eZdBBj0W(*jWxN72Wf5A@tztouti9!4PcK&wAY&(+h~hfe*M)}YvdQl14CGe# zTZAGMtwZ-9S_jDwkHt8@{!z`mcmhARp7%rO8j&R2RyA+OFe`PZ34xmk)AJJPq_vyb z&_IF&8c!x;9l?mr^HYU%EB{0UDq z_GmLNWl%KEMFdrrk>Y5iubo#O+Dw}G8JKhv^@+%YGI(6k>V0l_AI@Zh#_yg5t*Ch zWi>)IxC#j&N!B5DVK+@;M5okFuYqILZWm*2>RyFBgem}HtHL3U>3wiSc~`9oLoNZO zYzS63hb(j7?B@sg($v0kw8I6kw8K#IEz&6s$mDC z%C`xeXqNX3jr7>=0yLB*9|TOzkS3H+OzgDzS3{7)-JnEAU#d>~O|4|iLJd|dc!KL|`rCsH4xbwIc8PQ%@c1vTzF1r!9%ivs(+vU_ zEP@4u;@qEdMxAYio2GeZ5T3DlOH@M?-9;b;8e;HE}p8p`L+HPt6tiOmPu(5}j8C&17Y% zqm+~u7=-k!wuXEzdfAZ_Oj(MQ>$P;q`rh#hiKLfkNMx+}h7@mH6J(sIvO> zZJ0qWyY=}JnKrM_mrmoCV;2|4b+_|Y4x(3$M6;E? z103dxeVkITD@rg?0Cu} z=0QUJwqUy(J0deXa}-fWL1h&Z{D)J70JW$DW|jWbGN8(kLKu0i@f&Q_L^gt>bV+Gp z8Cq(Ij=S-jXDAiZS<>O=;~poxc5>EASPs@GA&azhWiWZnA9~7`oO* zqv~}PC4fnq4B(vAJ%emUiYsJ;ZIh3%Ye|_@aI0yV7Vul!Wbk2VMi`E&)cLW7Wm;_& z98<4k1>GVe73^-`Z!|QV7`F)4G0nO{)*>EpzS@YAtXdR<200%uPdK1)P>Pak1e$4Z8~~ABnY(8-akYF08>j;#Aa<3PRb$LZN)g zv07E#rZ9D_j6%)rOvkX1bJh+6zb>4zO@ouGQ@*;l)Q$&Hq*qsu+p5IbRYxjgaF9bR zZ=)0=`6(k6ohcL}RFMQzYSrr!>}98@&*h9z#7qnUu6-YNGBlaKz9FF>4%Tna2Qhi~ zp^%g}$U+O}^K>md493^PE2eL9GCT@#0NNmgV?SKxCayW~_d}+u!PiVzry%j~Y{u;x zDqa(}ggTm_bkU3b$1AG%wLjB%F7&iE5gcRz=?5 zZY$`tn><;mhPPdUR+ZlrA`E$0+TSYs!R$#jh9pL`MF+_oCiEkUl6BVAk)De z-izg?@4jrhoe`sv#1}fHc@Xay)ETmB!HGajP3Ph%xV$3@Ug%zP-O0f-ECE|{n08vE z3JJYXTp{z=0JhbJ&`<`x7Vxw*Gy%$ar=HkWJB>j)$+M(vN0h6M<)kK)n9&E-X;`ok zg+RusYTt`RFiJL+Dh!@w;8#V6O-aFvL)y(XmRH`detZ6I_WXE?>8T>_YlwWbpan2F z<_8UuQui!j8!CTLPEqw9j}d{zBJu)o; z{5}0Ws1o$+6+v}Bw6N<*Cv%+>7BD`h5TGfl@sATvgQnCy5#*!Z17)4ZDco{1u0}+< zb~7XV3iFAV;>=WTwT}U(EVH|-cS_ou8(d!bW*`K<4CT>tA2XeGnvV=b7)v^4PYoAEp<0U{!BHGhlo8@LRW5x7zyp=6Qz2(%bxwu!ftnox&0` z)&rq|K@SGcRNT6|E7tV$$I(ZQ*^`m#4)UB5ikJ!+fl+0CYM};s-D(6z zs~Xv>@8NlRnWAi@IhBngz1e)$yb{t*zavGNFW2m@=g2TNUR9C(hoE&zFr1 zJvL389wU#3ci3v*co1_I4eZ7Ejru)r zx7Q%CDqh&&(_Rgk^TZkzU>GK)K`W(Bm~sWxVCGpPo#C;dfFTrAt)SqbD_5q2*+^Pa z>H^xhGYG6st_aV6kRiy|ZKWG-9%Uv<$Me_pea6?rE4>Z4lRwFJ8d(@oBqblQ>jO%H zNnwyNc|u-wZ{J28Ig-ZMLdEse#7`2N>NOR zbY2q`Brd68WD;H}@@?NmCAky&el@A!YC<%b7@<=q788*3M3KEF~Jt#)cx?+IOuNnfK=zq!18Br-u6l5*+E3*>TL8B$0|kx>MEmwvO0boaFbjli!7 z^Rm}9Oy9)D!nR^lYxrg_cZ6SO_L+6MEIiK6r~-`Q$j!JN5Cj%MZuBJlJ5N{%Lk1xqPkpT_&pl_k&&K`q_43T z%h&o#fE-DFf+OB!$5x)^3^vIzcn>O@>GoLaTCcdk;78!H1uF?{bRDf^%MDIq$0a|_ z#sF0tXupbo3w#M2TQkf{?ITKoc-H8?q_|g1II`L<=i=a7!xzXQjt(X;z5bvWFQrBBfT4aMF)y0`e%>dgLu&VfUE zTLo})ZQmsDow)OB2#s)0?|@g+jk<#Cmhn=bv2f=kc+ah}l=k@fG^W?Up)m3pgj~$( z+u!AMvBzK3FQjGYWySc>HB!wujV&JE7?@!-BLR9x83Gct$z$AzX>Fe{HE%n!Eu3WY+Qgj!c z*W+YWysn!#VaTE%`U0mVIqxQ5)6Aory!cr$r{>^_I1NkOKQ#4=9Mi1VHO?YRm*dIF zBGhcMF80Z&1SJp7+oVHov#-W?9sM*Z@iy&{m$D^w_+JQEN%Gu4XgL1}>I}q-fbmTl zA0j$C_WY!#-1}d3;_js$9Bexjfiaj)jCUpr$ zbrM+EaPh(=Pj)oZkh?770nzH&GUVB(C{yU`IVzh;{e(uz@y5vxus@tslQP;Ii{KWw?7BI|+{}`6=n9g97*JTBsp|@*_pzFONse63gjd-A8d9!VJ>3qK zpTWCO^qzb|Lm2ebeQ=8vqIGMM53Cb`E4&Ctb4E_;CRV^^ny#_9=sT`akzBw`X-Dnb z?M_6Yax>}`j`{{;3-2(2#H6A=;9|}xDVfL!OSoRz=dfn*+gyOdjPioY#rA~R^r$voI&i98LW6xC0%>+Ie?FoRK~NH_DER7j%{3A zd-?sr6VQesOF*w3dmb|)7IKL#$0K5e_59gli2l^z_WI|mF^=sg^1Ckm@$ly57#H_{cQ6a%W%2o~eg$j8{uOVGzp8VMhpwN@?G>3s z;j91YF>^-$O242j57(cTbMw6`@kD91^`B$>Z26`B9pmKz=n6w@u}2>7~8}7h-D|!^4dtdyDM(zFJ2bB1ugdhxc)!Jx={hd;aib)a5<-;6z|CSk zg^&-}=5P&nu4UWtBc9;>Yq|mmDz6|?1~cpb1XCL*Fx_C<9)CPh@whQxx~{~tV~OoZ z0Vu|ZsPZtL{F|koe`Ja0NdJqhTW+s2pg9l%nw0a|={ zkrr^$CX*5DpV61>8)%U*4@&T|ckslzxg~HC+SkUXF zhuf;^Ws179lpWz3O~sgqnlOXvMv6;FhAU4AX>@{dC>rOH4~2^+Jchi3zA-OgM77W@ zOkN2sV5_O<2~A|uDj2#}DuLzcM($w0iCoQUk~<9bb4rG_AMG3zito?z3YB6niX1Eb z>#@mTTSXlWtPUbF=WOdTo;x~66v|B0bFc+jmJQa&ZnLgNMW~{Ru!zfLasy{6{RH+F zbrlMN5OmF~6q27Mc>V6<%iIp8k3*iLbR$dLIMi~N1xjZAvizj?GT50VlmJt1@~lK8 zax?yM4S(x_rRk=@Bp=zVLd-8V`%CcW=6}Hx<8Q?xOT(G#S3`wPb!T@z&K3XGa;m}2 z{ccSwL}cdx`7rYnOwA2H`(%>8cXjz_=irRFSOj22-{UU0Qx|9Y8RHw-6{!WIn9fTd z6`>S`#+vts(d`xd@TzsKzJ=?UoJxcsq*dBLM9GGry=WeUxFn0Y2jSb8nwrVRxQ#Q4 za-xw#ho&%yfzZJq`vh&TYLfwOOK;^B%-`UoA6Q$8w*C@AXWG&XX_rVsc$nHTkD1=) zusow{$Vj{C|n>DA}hx7d) zWezLhuwODxG*W~K1k3)$atqr6a~imExg1BdD#aaLPX4b$pZ!N0ush*m&;2(o zIY4v6RJ@#S;Uv2wT!@$TmOXI@T`1Bnwf?J@#Umg7_@0*!wkoH>ugePgjYBm|VK{0W zvfw;Vig+aLu~bFB05h>xT#7mJJiL# zZ%DJ0ZH!i_tW$W{wlbqUz&M`(3cBpY|xDdE-F2yPDl;i={q@Hy)kLMz*oM%@{;Bm~#bQ%Gf;3%aTr}@~N-N-pgrh%lRzC*~ zT&>E1zzkDJ;~!C9L%t&{Em6|K>e^fVDU7B4<~jmtI@Ty@NlY2=KEd;2Pk=Vh8710` zCj76m+i-+t1b<#3!qM-~@K*7a2fm(htg-O&^fN^?wxmD*-+is8RZ`|z$iBbc@s*E4 zMOZ-?(bEHREHI;>)uX26JLgpp%mcA$u*diGC<|Tll|b&Y+X!{(qm3K1!fSr5lq6{o zmX-ZRVP3Vj=0n|1q>0dv{%12L8;2gKoZVR4KdGJ{ThBiq#dTqVZcpq>PH+SJHFr-P>%;)jO zV98$X>4@Fdz}C6X1md#IrV+-~^rN4-2xyaZKJZ<_4?!G)M5YKxlg#B$_MXB))3&*R zr1QjR%=iDpuP+k*_E35Mgb#OR6JTOq5&r%i728sFxs_*lwDPBh4pr7rLw~iuvRKdK z&vcOL#p^r&C|m_ac^+&+q}4~{OUB{}lUTN$YK(OMv+E$$Qjpk}UQo__5_wN3Hp@da z?wg45|FH5)FIUR18q~XPEQlp{!*QqbJ?3J~YD+gkGjk@P4baj>PN$KeaV@72!09(L z(^k&Zz|>pSCIfYhO33R#`Val374Vcu4P*HR=N;7#7*EfPj75i#7RP$wSgSHuL<`;}SRaiga`G3hpgqR_80~joK%rkMw#Sg2c zXF{=T5Q+v9$G}Ya&(`TAb0Udgltx1CcM4nt<9+_}=p7bLnu9y zV-M?O{&I2Q<4y%e?$Y_RO1KKa$|4dRiYONJ7>LV82hdd+Bx_h!8{WmlsGgHH}heq6jDeAv=j6{=U_~ps_&=(P23?KqJnR7>=Ericm++Yyd~J z3tNq`k>SDE<0*Io^&I#q8e{c8%YggOMD<%mjj*dJN4k?l}=#Gt`PB~{Lqne@wP zeeM8UK%>8g-4p(b=n>}M;&X2o-tar)vj5^&TTIPwlR4pEQ4w6U#gC4UU+aHn98I>R z4Tov_+9Gh0mepVvf@``1ks=|%&=-_aV1FI^rf;*CDi4mQ52QA=4cgCNw6BP&jW)-A zDv~2zeI)eJUBtOA1+iis$XeDQe|>qlC+xxMmvXWLz9Ry;$;icR6x>Hz9RG=-cxlT;%I>Kz_K<%Rgb{n!^HM2KDgB8#W? zOWX9fgkc)b31`2m_m~mdCzPlWHM`4*tir9UyIsq^+fYaybE1IgAZhZlz|!9T+BLhb zSTEb}rTLCqsJ6^VE5LEk4#(LN<2Rp4OX`a0-I++~>c8{H<(Z0`(g!z}9)iv31x<5Z zQ$DJhhseRtZg!J^D$V_4&f}20D5vW8=GSy?GlcSfcQ=V(@SpKVsQc6P%KG7Dvn}1V z>d$e1woLJ(_lP7VnUj4lig(5Q%xFFyn`;j=YOed|ifo>D^Bje8DViCwsjBQ$Z9Na2 z!$yx5ftfW?10|T`JVaV9IN9+4w~{w?H^Hj=i?`HwNyH=}zQ_)FxTw$T%P0m1x7mg; zhppQ`Lof2h&F4Sn8$)A@^DW#ci)RFd1TEt|POx82{t0|P7B<@)QHS=`fPCk$OLnN7 z+x+d}6W`c;#4WXO;rK~Y({wofgb#kNb$Me$O4jM>fK~1z{pE`Xi$7v2&oYZj@GR<7e!g{W$Ai*O2-iWO?rzU^z2T$A%0{Kot*NEt6? zyc7=-oJ|BA;kJ=G8pqi_=u$gIVf;nj!AS;wO^@q_gBg zKL-wE^KpmH=ymYAgi!R)i2)~${tFI~jj~mNkKcrkt#DL$gUgrt?-4WZws{W-fcu-_ zncM^-4|UJ=3%5tC^uHZC0XN~c_kFB{y9K=ih9^ruKsY=mUz||XW?|#u+e=ANLlF@K zFiQzwNNZylrZUQ)6!0!6AygOH%wo(>2eAV)-`&tlgo6JSqS`C|Djt54PH~Q|l$B^i ze?nh+!@dIE0UeJPo{=WD!t2B>!4oRyXZgi2sQ0fIL^M!b8+8cIrvy z_m~uyK|^^7F}04xp^|sszs7O0Qc81D7owY`CuEp%YA!f=YA1=!RjZ+kT)QPj1pnCrOf#}mLdJ9mcUMkW4c;U?Y#gEYGloVKVyhVb+|&r6&~n$1D3A;^m%YknTeZHz;|>nK z*nX<ko{M-DrMf^qn}i^Su5w@I$blEFF~c-Jwe1mrUo?7#pl=eGj}7!*kQY$uTj}_rR0g_@#{s z+pD}pci&sFwz|@9K%Tnt`?C|w{!oLm{UX9Oz8S73wph|$HGpqnfMS^|+ETa;ka6PY#0it6m=1bR_< zDuAv=f-CI3YzXecxP)ICR!vq&wCiIl`cG#>ZxxK6ZX-ela@I-YW67)-Vptt}5yP}p zp7sPn!lrGBX7YCTsg2B&`-dok5-ajvp_$(vha8t$uhuUP2+CW^y&FTvD4z{eVWoZ9*7f|Ovn*^V<(S9jP- zK_@)$FVV$2A0S<8+_Dd5fIUBU8^V8IUl;%55AU-9a*QqL78tfmlVYax<@>{j7E$On z{vGMEp~_{T|qoQz>?XXB<)Amur)HSTlpze8dbx_p4+G6p#-j&KS`U5GbY*YYbmp zeb2k^)R}w(*%mP+K&R~nf{TO_flsHQF88L&F-SgoDfrO;D^3GAcIe5IDKN2I`R1Rv z9dOW_YG(&UPNn3*G5VwQ+Xqfs-=8i1tBLJr;<1NOHChcHfXjyeHHyO0V%R}s_!of{ z2oI+g=psW;x%+|_`6d_PxyeUC;#GcK)Z2T~j{_DDZ4dsx&LBthytB^+ns5m>d=ufK zwEq!pfeGhTzy@x9LQ7!Rug1F>*uvRUl_Ot%-(@9wYvXhJ6sUOVobU(?e4DWUeBpbD zO*z6m06%fgs}JFWk3h*MTu``r50|DfbJ)~rF!vCgmY*7^+^sJo&$%zng96^6leW{O zTZ}J>H~KyB5j_lph3C;6I5?UI3toY0oqqMS%!Uq5U-Ud zP{=Rio?yJBc7j`bowZZh)xTO|;`DU>#zcL58FlaLyQfzIXJ5G@-(F&4{rkw^U*Xn1 zC*UuC`I8FDnLujVNKCrI*2u!3VqJe>{=dmTes9-5_gNgF?qIdO-VK;-Ib`lIg9|-x z`}c%8oCex7uh5!tN)>7s8TQ^X(#=GQDJG)Zt#b!D(=&PUB=cf>iCQ4Gr%UX;X>jFp zYCObJMxO1?i2+#$`;&RO#tn!Y66ptkWu-5!PdHr>sZ$V4VE9&0EC@ain4xz>I3<4& zy$<~Mn4aEi0MI|A%tyzg%9hpJfh~;C(4L`juPW$2Wi&;E6yhDO(3ik>P*}?hhPW#q zVECnL(w_(M#N+aFEJV~Knro!ZQZuJj%-K~2+WZ&}A==6|I!3T}H&@3A9%)Wr=ijp! zoF_8Cu0lM+g@5{KU1cfOZu|Lp_OGN10>8b8!Pwm2Um(6~x_n)tf1~-%nedXi(JO zJfx^Y()i=puW^7eM3sqv5J5H^_ehWd(ma-W248!UrUJg#N8q}HS-V~KXf}3cOCTSP ziThze0-aT~JD}6;k&TEBu< z!S+X}WMgVFm~mMNaU%o(>Us{A#U|>ZG{Yi{A(W@dOeS_Mb_mMv7m&qp9-Tr-i!_t% zB@bqVITNpn7UbeXJpq5UK>n4VEMSS4RV$q3CnjRWM8qMY@=UOryQbDweSHQG!U!#? z54DOPk(W)7=Z|Npf|u`(RSMthY)80>R~FB{*djY)bHW`@Rwk1*DPbR0uk;tdY`*R~ zbUIp+jYuSn$p|;~2KdgaD-OW(c-|ZiATq00uh%@M2jDj=;+bH|#)I83&%S3R*Yt%f`c@_BDsZkzs9Am5;=ImG6Xsq*1*^?y_z_cWt&J{;qnb_`Y9Nw-xy#l5U zO*oufz$Sa-M4s$x6ld9aSLK<0`Q`@l?}&WbeFeOZHy76-mM2$hJB6;vNDDk2xxAxS zz{t$bV#KF>?zI@sp6Po62bUIvJvgJA7UQ1Z=37k9SGW2#@WwIc=_dMa8zdKS^8vf) zF_tB^9s%PSEhTEqvflc*p8Ekd&_hZY;aNk3xa~c8Ht!C$TcyZX;p_8Dl~0z}?RmC91=(j55ay_@EpW9t2u@)Sdx2?>?$s$sNU-0L?e zHKYe_U+aNr$f^PXk=82S0q*ONiL;Nyh(BWkAv`)dF|)wtC;}twpY*=%h{9 zKnfJAF_#1_?PNi%|sq#ZMO>T2D=wbi&lhV`xhjaD&)SY;!9OW$Wa(+DesU7g1Col3b`8jR&yx zSUf_1PyYz>nhgVjbXUI9=#_U@{5298n`tu?C~d`O^d{Q_AKEe`a5`7vP`q zYQJQ$ZWJ|dpavI(5cqQVF70mcE-aF;M$TfQ!m3Qfu!RYd$$YD;{Y z;}9q~mo&~s0qh5^a1R!SBzrlaWGU%Zk$K+L79b%V9|+Fx!nggP#3;a(hH+vB7fpm{KnE zqW4m*nP&|xVPSZ*$=|Hr?L?AttfzKd!$WjA$4X(yD;JgU%r~2@lCb<`0-+CNs6iiw zj@f`zvpW9nh}!Zn-jwK9Ug*zi+&&i7c4-`hA5jk(u~`IXP-W>S0otjX@Oh4N z@t6ET!|2QQ#R&D+ht(3UBNJ{QHWv9=jAY5zQ$pG#jEmR<86y{MvD~oD6+(QAq+N6A z*vfeImL9}*?$ep6Wt`+Wyq@iG4pg2gIma=TMj2>HTuxV&8;f7{%}`%LGX~7IxsXrJ zXY|ma^Yjb)PndCa7Zqx8SF?$PQh(PE^%vkv&{pJ+{OZEdeb6zK^#cB9a4|StQ$Yxg zjXsI>&s-PBX|_n*QTHrLUwW~mdYwsCz=*@4g zu|_Q7rA07zF_jMDFv3J64vPeA-mjSpL`u(_hZWC8E9^VwU+%wxGB$=+JQ!I>p2j?aS~DPFt~M*!zbKEe-4! z$He<1$mTmw#-gi5dx5jz&D>r9GLJ%mj2ts7gz`!x@r^l8J7_XO;Ss_JWg=m{kjzdQ zsJ5!KCitkl>KRt{CeQUHbev4P z4Emndz*}_GhU#glfhYSp%4+AUj=)+tqq7z|a_g=3t<{VEO<_i>rauwTvsKmp1jKyt zC%@cPFsj$u++7@wUAP{2vdNRx+HsU{X!pubZf2J|%uMWk+6atL`=@-UK8GE+?Zkkw z7$j~j#?PcL0)i~7wEghn9wxrQ=IU3+(X z^IJAul~MwfcoHQTd)eEg6e(gHBYE( zbs-xVZDW*#ZI=2t2D-QEql|0>Lo=az3WKTYRw6KpO0-bs{Ou<#lC@9;gb^4M2sxc1 zmhF=$0WHj0ur40mI#@mPRczjTD!mCS)xXB-O8f;+UJHu;;~Sh_9wsju>NGnrbe*5z z^w?gC+)X4m7WUdjQWs$SZco2q+)lTe29?S(y)#gwd__0Fuv)4Z1C_+b`0LDjjLEAF zNKKIuQ%kx8e!-VK1+6I}(VI^~p=Z7o!kAaD>08Di&hs7Ce6=Zf z*=k=QRDkfY=t2lpKE_etsBxA-$PRyFTN-?zdaVR@p_#4@K(3o#`Aq|~ZhX{sa8(G< z)Gt#*!(-e^hV2H<4iwUQoX&8M$VYq$HDeZ-971jNA3On{^gWXcQ(?1sJ*RPPfeDiI z*E8hS8ZUc}tL(!(#HujO2n9gdkVGiCOPkM8Lpr!i?tNr#_2`iK-D&|!*w*3-QOyHW zIUCP&XlnUcaESPZ_33&atV(yx4CG$Xci2-s%U)?Z0_%McPt@~!|6t2}oVdRRl>4!9 zlq`Cdf{gIuaoVNZX@Lv_)Ul3MrR1H1mR^aX&D5Lc(<=&VtIO<@= z%@qDqwJtNCVk^&}^5ZH({(!pxFiF=F^5+Nzf&J?^NC+_P1LROMbjS({b(8@h4A4~dg-l^7@F)P?XHa**nXSV0ercMdcqZ4 zb^Q*dT5n1hH0WgcRNUdy<&+MHkb31$M7qPNR?6eiu@P(BVXYSoELgNiU-?>(Z_&wQ zdjy-;D6mY{1=8)X+7QwZkz!yZo*rsQLDDuBZFe+l!qa$rdgXw=(%cK@*n%~M;<*qZ7 zS*MX%w`)GQo>+Bj+x*(8t=e8oF*ta@^YKG^Y3JpfQ7W)^#YCotc^H znr?tH<-EWVvP|5~fA!`r!*Ta!9Nlxu*A!<{UnL{ptFV-jj|F*nWPMzs%cKkBlMkf* za$1399Z_&2k5I(I1}XNuN!e~>bB2OaMqXIz6I>$8WcP=0ZxLJ87!%&eEJCjK*QEJm0h)Wu>?$n`d)y%X)!3~X%{d#4 zlwf70D!e^iQ(@@2YJ7hxW;Rmt(=zngY5o}BSVb+ps+dn|g(p7>`=wQqHxW2xB?TK{ zlUA?S6ILhOo(8JOreXPOi_@N^M7ky_2v0O&w9G4hQdVjBG52+P$w^R+HeDFAuBJPE z!(tn=epy8~4OPDXFl||A7w`>yadI=FJ6~)t>{mVgbQ&4qr1amCNHXL5VF;xJ3!fkU zgz=5X9Bk(^KmH=l4^|l|@uljYK}>Uu4-+g*vR zDvwZi&&mH)86inYQd2a{auCBeSRaW_kyc8bDUmE*8<-bp@C9A&o?IEos_pH;^LpUL7CL__xKF#0|3eP#P^ zsES6IulAc7*B3wZUlp-!kMWAo!4Rw%o@LDPvjDS96;lk*qMdH_tis+$ufnJSBXSZk zsHcaZ=%G(8K(ijGy0jISp8Px;Iv7aT06L}5*KfY&jc3kZP-Ttag-M`sc;T@%bENFT zP>rNggayM%_VIik6*eVpwKh5vc19J?%g-=d&l!F|pb=YxlNt%k&EI~RcX~<}6dwFy{zO0E zsQhK{G59-J7_SV>Tlr8IsFb?+ps{7h132yQ++v0uXYGJA>dLQLXu39(I(o7OH%y!Z zE$-W7?BSMn#F330p!M2sZR+E+`n$2uW2aMRF9e-#54r8FQUvQyp zRy>NLn;dC>%_sa#jx;>DX;epTvjYa}F|qcD(OLEK_yyE%(>5^zr)a1L8uNA%gKgD|gtKHA-4+2QlFF<8CkFg%B)@B4FKH*{yMyw@x9Zwgc*&`5}bDl%qH(l>i zjKwF1OX1|^Qm5bIMEBs(7C7<5aXG9LIjJTW7yB;ecr7W!#YPr>6Y0pXy%U*3)>}wvFI>csa)D$G#6q~o zqy_}xECBn=8W80|w`8!JRmwZqeq7lCPSwN?d0t(NO&OzNS8;6-CqYUzK^+bIcwGh@ zFNpWT@&b+AKEDjnn;4^-AxOm;<$wws0GU4yK!JwxNUjCo<4b#@#qd>vtr;5)}hmTHc_& ze%HKB5E#u|SP!7R*Hw>lqy9hn8`Is`$^4Y}WNAJGLe?`Xf%mZOBypV;cr0#D& z1R&FWdlI6b0UICLHo%ee!=AA4Jwn~NnD!rb&}@{mjCL1)UN+3LJVm${($U3Pl~ax{ zXhEl&WWT4%K77gdNvXh;$~@04B^1=yn@$gQnk}v2AA0ESwk+~wFC>PU!L9pm9&dja zoOXK<?Ik8b-lZS%YS3|Fj{r;ml&MmP>eLQ>qeX zg(|86GF0%XiVCRJuyk{zTcJt`Nf_aW2MLFim9X_hmKiy!@BrSjtr3?Dx+p!GZdoxe zIuSsVh%@0tT$o)Q1$h2$S<*=f3(XNJRad^|$WsaAL6>6{%QWkv?h9NoN0KJ$$tf=m zV2f#(68;_Fq2zi2I~zx|0G@odmIM;-vYEiJa;fe*Fc$ZY7eq1J`o&bL2R6t$AA<%GX|Bs7-!M&>0$AS0HP-e|cRWOV6F%VJ_RSRLYs7R-xr!*yoNR^;mnU#DvwIYbD z6g8^0%*xOH^yD`pJIU!_C)-*gek+w0oDFg~-H}A3!mHV&s(rLCFGMgwHR6K#MB&lY zC$g%`oPt?)Y9OqizF)rwTRoLgDctwGKg}zw9IMxH0O$14daZF8w-4T1rrH3|6)|>S_mw0Zz>*-Mq?0b_uMHp`6s!!w!UUG<{7rBI( zmP9E7tGbMHX^qU~3rMjj5h-ep@PYsvUmU4c&U(NCV6|&q_=&b?OE{wT$b}x$iA`a! z)=hl4LdJ5AS!o+>1U#fs9H5z9@{-2)8{mjEjnTL`3VHqwF`xq zo#<48gQtU756INDl^Ps9PFLZnFNmhlR$YNcv7I&zb!J#bLPuNiRR}AoL@M0kLerMd zR8bTZGt+1l4DrBGwFK8tq3G$=6Nk71{0!wH%Rr_QRjrW?Bx6ES7o`Sro3F$GbloAY zsm^CRI#e1}TQ>;m*+3)owi?U|ZEH{~2{r@18QN~YEz?FWU?ec`Q{k2V3RcwwsJvtb zw?N@Gh{d{nbkadItBps1)BM!c8L7yXl5b_E?LQ`-2ye*;Z6T>`cPcgHPZ zE5#{OyG-Aq)wCPh0&NGgZ2PQdJ=2YE2{&TUdFu#gj)Rb+O8 zB$Zp!n$euocL{a;HfiVzvkMac_WcCy#I?vpGaY;7niOeIv#x7QIZU!oDFVW|KM)i% z0i_&B*diC0h{>%sfzeV_UNIB9t|Ocz<$CRyDZD5toV|DvY)}sDG73UZu$p&9X5>i6 zwif)&WQE3@IlW?uJEJF@KNWiers0-bJq5$2q6ybUjA-|Md6ZP68!VstJM{}ps30m)rvd6%(T#W z7gOk~$wmH@Cml}rxo*mfC&IZMG2);TZI1cjsnvJEq8Nxe#nV-cJo4H8 zd*B@?AB|%;xkA+y=3-!T(Jnrbmw%gy4h_|s}@yU zgIKQ@yOEq#G1%#|f^ihs?v#>1P0Ji`4T%-!fv$rUP7{yb^fiNXUO&r`sk3FXMqxhb zHiXaQlQ+0Oed%_S+wS+q4jX``r}EjZ7J~R6_Hm}-DO))5G1V?Szj~`MYaFH1aP>#A z;kc|m|5>%h!gr~xWGoG^9!=ux$;?S+JxZX(LMKWfjr=Qbr4fU13f8)RfD-VIdMGhw zOmh|qXd-7n+~JO%1DBJR_d9q_W^)Yt*7#Q^GNFo>Qbd&3agXEl|WHUjCl@7WlLjDuPd#WECE5lT`SE<>~xD1HBx z4lt>OVY=S%cxBrr`vqS%de*!>v(zAIl04*#IE|3}G|YO2JlCJo8aQov)?lk(4WSqT z_XW}l<*5MjQfUdD&%BZ_1II_1%L<0C8d-zBdJ<_)P*rLOdY}RcJ*R{!di{La)a@!G zwK@TGDM`Vs$(kzubQ1D`-YkT*TVlF@_8;A8^U-Zz+_vn479Y4mC`ken%kZklviNQE z0{ku9bT`J5yFAb(cDn;hrG+mrDcyVDwy-*hVhB3r+M=`YyZ1{0KROc38*TvoA_+uA ztIcLB)wfU->DxD;tKy#`5A+X+GyUyg>naH~1aDUH7Tn@3)H9VxTU3gcl%70|ywf}; zUV0zLAvX%&HP@$hjId42pM8OCiUM~%u4%h$9U%qzTIJgQ{^c4%zs?0fYKPcIsMzo5 z(WbP@fsc0U44`-QIf334>ovU5z5Xl({N*-j2vmbZUA&}wZ!hz^FxPTP^`G3 zL+7hsHi*>cMYK%M%jfg(9OT(lu+x8~UT8dst7>%sjyhR+E;>}7f=Bk!@T~ECuhrhg zOk|E0O6y}g7e3cUc@5huUGJT#?BWgKICgVaA;I$Xt>o{MzcqZ7<1~?w? z3YXpE^_m!d7uVqC*^zF56?@Ef*y_A?pcc;)!H|=>b1UIRtxpax#(Y=UUdTkuB~>fS z@jX32nit&9uR$;5ecyZD<>Gx{Yva9-uM5ptc3_gtU!cz%!WeuTXQ0;hhN%+rxBIE< z?~|h!iKF}D1^)Ioc$yuY=X(F`j1B5K2wNJZj)t>Bh!y$TH-79Qybg%5Y<2ggi!>S`W~A;Z>WV z9^utGQ+a^>f!EWrF`hRHsv;ta0NH^UhgPEP{6`b_XYfk%-Rk9li{0yCHNY?^<_gKS zJFZ3?>&#ZO9$z~%eY`z^qz54dxnOutJ8*8SsHE7}n_ZXZM@e$#2D_K4DIy2YBl~3>OU6z^3 zKoeiTCo%2T-fO}M8}cpTdOkcdR`4qOO}*zn!I$r6na(@e7FP&~1v5ZER;q?x!*7_Z z7a=A*Jkm4f$X&!E>6g9;Uy?J3GI=t%Palobe;v0N^;V% zH}0?B5J(2OBf0;no$4HNW(>wSPb%xVItL`6o1XB)$UJo(_=lM1%+HWD>RL50>UGg_ zbd@z8m$ltg3t?j|$?3qxrK!4h*nknUvEZ)a=#2NuHij-i^oI zRKoK^J#CqXq$UOM$&XBYg=VCc*G;h=E+6$<=;2>^yI&z~m5Iy|%Lbj-ex*vY_K_`Q zSmqZYMuqt5Cr6ks<(2y*8nsorvA`d;mB|4`*24443o!XAJ>4R($|TKTJE=|yF4D*b zsO5&n-}dqv@~VFR5_nwUHzAbgLbdY>Y2QnrKdvkXE(zS=ZPybm;2dtPdy3`Mr^j#3 zIkf}G=6Z?sc6%4Ug%K?3a}CDe?r2dOoy$p!H0!bJY`1h6t}SygUQ@GsgdlJB9QIqu zFSQTQ@xdD17m$J!s*`we8V^{%zWfbx#s@7)t%gH4&W~TjQ0Z16$LS?e{p4ncl@qIb zdI{{BOrjlVzVl-{S_w^dGb8+F(74?m{U^BHU^H@P1ERPXe-Oj7%g@@d>t(QJ5PuXz zTr_UK7ybs&lZb_@(3g0WX)cdR@r&yRj_1DcsoW1=5kf1ZneAI84`&5Y!xeLZlkzAc zH+Tv+GNuNrFQg}d6F3|=cQ-i@IL61Y>%;sqJSQJ9)#+-1wF%Le1eyA|zBj;~l9>ek zI!`0P_=-Rts~oy54OtZQS}hbZmar;?&PrFh(6tl!aS<~sGnpgDOU6R5>YUF6AjwcN z5lYbZIOh@2rP@G+G#Bk?3(V=A-N3BZSwI=xn_Wa4a)ReXfVd(ihsn6|{D}V_ZoF3y zTr@%>YqpJUV0G0%BhckTI6$dq;q8Q4^+KP+j_KKkZz_seVoBvveCKR}$(ONDER->a ze32ea83nm>#xd=9HLjKuYR+mhh2n~L6YfFWPvD`;j5vKnwk2iKb>1h~hG2NoCkXI_&+%Bwzz3t97AWL87bA({<|q47Q)?0# z&*#~RAz{o2Gqhry;jHaE1=HD}a~}!Qv5Jo${nt~?GlvoN$D9zJ1Big70^a$1we+$ga6bdGnS=*>I4KAt( z1@#ab@;wql#%I`)@*P@~=bHaD*7cvgd&qFueU*M6{B^AG=05gv-aph6;P139$joIT zlv4NtL5%g$ksCR?ecEB@+JQ0SV6N#0gA4BOQfJ^0?e1~)oPQb;6RbN1MKf2)x2 z|CHuZyFgiDQ5fRVX{XAnvxOpz4tel7ipi1i+MIObh-7B);4h85kqwl(n(C^%&c>=E zTTF+R=3Y9&n2~9xxeDkhFQS)1%_H5otw52s)2c?&WS?xJ8<;krMr*nY`U`!jTT=&` z{FwZQfnPjsHPL$NA$K~VRt-iH8Pi%&$I0`gg%_DQyoW*B8`05SL9Ea7C$V{FPGi&r zP1=N5D{i0GHfrN~P2<>gIa#;j8vF2 z_I(f!E-hMbC{_{to)B9~yzeYrdfB>6X#eT8fNqa{>V0>NO8b(N++QWCFYWWpiPp@xLZ>FQ&C|X(Wre6kMmp7dEII}iN-pKU{ zFd%2`SG1;EP2dXt@hX!lA*YrnkMSf5=IpnUJQKBV1PHI*xkyCzt?%UG*MTU47^UM8 zjc*}T<&aD)fzY&Q1n9CG7+gDXsXnOzi`dG+0(6-+4QRTw1H5uemlKjIi(a8#QV^QBc&Zs7VXY&T8LJ_WWV}E*Hq@(%Zq^;A`tjZ2 zTfU&YkG>$>#C!cxLq2@wWeFnV+kBA#aE?sPV%x;nXf`{&HEr`-2xQed4ov2Txe(r$FC!SPDqE&E!s#g|h>%Us%84r#>d3c4noAyl^;8 z6|Q}Yu6*zF2OfZBIBqGCdZCAs)jfi!|nPsNvEaEEesncrci^mun|1 z@Z+b!^`GqQ00}8#NrQzylni8UN$Or?-Pvgp&_=cq;sFSi_m(3F_{hlt{+(G8S6GRL# znLRz_h|+dJBt`-7_}~v?4~7v`gupuM&f(eII`g zrkKr)%NEUApU0Lsm!leNLd?+?q39s;lq4sNDN8;f9Kb?38dD}6^Z}^&4wPdEbeQ)2 zwQ>0>Nx}k%Sq?Qpl=H>FU1U%nK-1?Hk)FU1HgPUpuib9l)Qm=8AZ3nn3ESP_+{ zy;d~tKy8|!`V_%awE1KYgs6hp{6)?VIYBRewizRG6c5g zTFu=es#-;yXL8x{dY(Xjn(6a%km{jMbParO=W%sK4<6RIWqfWUUUs)vwf^Uueg0=x z8v>1xuR$bz32{Ikpooa`fad&|qz)Sz4V~LirN*^_4+4+K)x<+mcQzxNeR!C2gT;3# za<$CwEV{gdV+QGXEfS`${2?CIi&ho=lHv=b59~0(a;Ax5 z8zxFOH>=9d%3Uv?C16UCeIz^u;{YNiJQRd(5k7`+jZ>PY(phcx*M53k(OxI(H_c7# zC!I)F!6?dFSQ?3v2`j_d1b^f3eqMiI42aZa6RI%f7+Wg zs#SlMUck+>yw)VEED9qmrJY*iJTC7^G2RRTT@&~-GbP?5dmgsGf!2_%YVlOh;Dot1 z^N|;-pb2-XY9Q8r?V^L>WX;o~${-s|Ggb*+N;pM~4`&@&DS$cF)T}DF%1|pcNgW^l z=~-(Qs{{qNPTgdu0?e%Bg0nKK=05?0s?sfBlcgAEQbwLPQ~{xN`pK1bP^jkzWD`_z(OMFOCQxa z{{BDXv~w{hD$~FmqTnPQt0DSWt(N1QIBzou37$}}gr6W;7zQgHJ94%}&^WLcOZc9? zM43@$q0%hD1hU+Msztuw23f?OKMiUT2ZN7uPj#k%Su!Tk2+^}LnDV&eD+4#lfj3q6 zz44&aF$P_0;KirejG^N1jNa-=hNaIeOs>Z;^7D=}0*igjIwRvps6z|HoiWWa2nWKy z>qMk53Mp3S7e90R4c#gbF8t(XO_)MDRVk7uR^P{cuH}__a3;u$q>AI*1ah7gis;mR z@15QZjhe^Z(#%$Tk7H=oCH%9Adtc2Ke^#5GugV+@BKjE>A?Br>*b(NjlRJyRT6P7q z_n45Bh+q_dH}AUidU6|Mb`HdM&QmdC>1caT?|>bTFBc04z099$gj|k`HyF8;fk-y< z?&$22fU{@67`{&;W}F0wq83MJPY(J@kO=8#SF}I=uKb?ffz%&!m-@ZIu46kT?}+fy ztiK}c#_ZJhKnKyi`KUN`LLF$DPMl;Me6w6p&x9bE z!b1Z#?ZHVw0GF=d8Ce2Wb99+m3|Kb{8*|aUt5_>_b6ZJlGPt!au6_7|UFuIR74bNq zTQ%vBBylM)jwK8I?H?3%9pV6jY08mcXvqX**~w(Ps7g^yu7Ya^D`zh0s={o3|LeAc zX*u;qziI~5XRAxP2HsmYn}3I2(l-1@__k?bnohIcHGPRztxGz>W!(LU=0L`0(*lLG zV7!E)IN5U2MhDQ`V?{1U9V+ni!h;Xqze*kCGaU^Hq?5C?Hi7UaJ!+i8L-9OD$66&_ zg_XHKK0bc~D`imO<@34AqBBQR0ktPCv|l+h{@QM8J6g_^(F0q`RMZT3W=6yEW+@80^=su3Z_-qH&hhN zg!aVnvBFfi=MiLO&cbG})oSRwdKl9d5h~;8#z!c@_3Fo=Fz5pxBvv@HeuDao`!lSZ zG9C?G4<|b8fm!#AP33;BA9NS7aK0AXUm$ztxY$Gt?FKQW(}c-2LMj)z%g=~bxhH5VVJH8o^U2$u_uJyuxQ0=++2yp~3_%-`h!@tJ{sQ6+?D2AB6HkDzV`By-^xdTOYk#R#pNO43T@u7| zrmi>pAQZ1*jj+n&Qkvx^$+L@xpSYbvm)Y%Md0=1mo7au_&-RS=e%K>6XkkWrsOUqr6>ssAzBBQ(eNy+Hj*cXL#}o z=bHyS?}=X24}tqD;doNJN2SRH2 zF(}-WG{dWW>nu;z$xJ*y&ZdF&A?{&;|Xmrf1c$YlOf|5FSc$mV9I3bgbX@ zrjIk8J5Yt6((nD7gu7lrena<1*MX~jb&xSe^6|6K*ef`ZnF#-izbC7f(=}IBhzd&G zY88&_;kOKM_30x$DPiAYI8SscNfmN<)=81Ta6mKX8+#szVnM|?V#KLYP4PvS$&sf4 zg*tl0$y)*6J5EnZ;XWII`_kk8)(E#eag4ktep-e({3&?DXEF`@5m6-9lEL#}sbUg9 zHd`0Pd>|shu->6L5+)%QeAG$3CI<99{{N7dOr)A|+F6ix?(*rlH;NMhIRk9xmFiba z&eY7|Y|31`ptNzJw2{^%`b?(ID`GXLi28g2$00X3pK~+ZZd_DUX(<&J!TOaqt-Mp0y-4^^Vjd61S6pyBM<7Cy%*49-7h6!6rx7V>)x7Q25 z`yD*?&i;2)iO~i`65~M4O1z>?iLLa0hO0kH9|8VCv7Cz7gvlefKIV7x z(eE3YH9&WD)L1N3zCU98o~7s#IWd{-lO1~B(y(9Wh&!3hG|oIefO~x?7j#`O6rB#$ zkB*X&5tCi3cF-eFPBKDOaN;yknyeQ$A9-dsF-h!qz5mUilQRHcaD$&%<`<$z;iOP? zyfet;J6$dCm!H93-hx`WV+7~&j}2NJI&I8q1Mfqdqq;yeH5Q938RyBhYttIlM&jVA zQSeS(Uf~03Lr@W!CD(xmxGR&s<8FbFuK4baniW~DG{G%7|Fj16q0_fd(0qpB2P zzTm&p&h;RpD6KmN5sHJt)dp9XhqDMpbt82iG5o@dJe!s+w%+wiy0T zR3iMT8)s06;E=T&~4s#?Q4feqzbtuIk>ZC<0H zH>#9AsUo4Oo`Kxy-Gq$`_Qxq@87)MWv9qEOWSRLL&Jlg7Ee%FjvX*%EGjRPXs}yF< zTl1Q*f!lBsp{AB@dVy!|gMu{N{*x?`yIvp~jt6A1+y9L0k5Flr^*+b%xnY=ht~%j} zCMJCLTv-{2JMI}9GT|5gv#`TD{mIvP1Y9|npHF2Ws1hLcsTY0LB^2ZNBoa_kJS7)! z+`=7DwlCn9I(4;%oxWqq>G7J-(6MFGjXRhPMbskR>bfhkWfzl67kQw7k`cbLddSf( z$I>-d5lmAlt+BN5A^&$=eSD_$Gz}2!z5F)m0-8R0o%vPbY5WKebMG8ku5p7oNUO_m zb|B;H9_qx(B0JA8UVkXQAdDm4{`49aNuNfNuDXTN;;z3W{5#CW)kmOp2Z>-!_^ogT zO&I;*g@i|_^Yy%#p;E1jHpQix-{f{ci6k6A;*Yxy&5AT5`~U~$Vu}KLJRdEE4cyrP z=$XN=o#kL^Zt)pdLKKM*zLk7Anu8j07@z-^ck|pdjd(ENr|!<3FYoeejHynRZV;Pk zZ`BRXbgX_`qxpc(=Czy?84tKB|zbhXkthO~$xbGUZaS&cGkX`wn`d+JZR!}4sh?ogu!81SYvCgVY zw7j;gYxsWIW=qgDuE2ztnmK{lzk(Pl3+(|B90n8XLr`R2ZI9^q5uepDcF}AdSTc(4 z%&3qN)cng|udzYHvcqG1-C>RUZ78M^;^&6{X4O(@+}R^8k+9qgKYP9+6rjS|$H8&q z7bIK7`CoM*A^*t0bgYR94s4_XyhFXR_&7*8N@^w(i+68;YiEJ*Fhavpi@xu1j0xBC zGr~i-E}R6s;U~Pn2nkCq<#EjL-hObURHO}G{2)&=1^%O4Am?)MF>tuh+9E`(;87&a7>FEUT|2` zt&A4@yNfQvf)^Sa^ElK-^o6UPboS@`k9@Jj-YYazujFuA2JA4{)4XZ*uwhiGVeI!J z%oHVE@)l{IRLqxEq@XijAh*7x;lG+!{LmX#Z=~R<*0@E4HWj_9aK3&1Y)rF-b*79C z4D;FNr#A&tTEJSaEZSC|HXUnAd%J?wmTTH`nOMw8cC@G{BMBuJ?n4HaJ>yaU^Uf>X z5hp?oAew>8$rxm6*BRh#KMxPk9BxB{Gv|sA`VagW%+nGeuTirjGRPqd>;itov3Qy@ zj{sX(KqOVNa4kzAd6b(Je$TPXSzNftZoa`b!!6hKRm>=@U;D-LvIkSA8P%Auu4C7h zo=t%tdVuLAm!Bh@4ov;%OgL}}*Tt|#zLrN6hGcKPfvq&d1=m1q531>Tb$3~OXPQh7SDec8VvYy>#+&R zIvivS&?MEkh?fX4z@-CdYmL8!u|J-&#eWT;Sx&q1%3Z#5sh*J}oq;i35`*3VeXA zzTlXvfdkygD#?jOc_DG5emTGC!=YVXh)=DZe*f2z*JC;4TxFL6VYpG?AtD4*LJ*CL zb+dsm5jxxl2amfPNy#|QML*JOfK_w5Kq)<#ua~$qa!>jW6)ERA;R5dV*#qphV|p^B z3`@qfxlC}r{Ic2Y(CJi{$pNKBeN9K`FGMD48*=xo%MIwshl+9e^5lU*N5)0S1DWx#ZnTPZarS)pxGzfVs(38mIqkfv9;FVE3 z#gG4yCJaZJgfC)=Yx)?M=ttTI7%Pej^Wp#OuAe*zDr%V@aXFb3z7DxMj`5dU*B=@k zR3Pb_-G93GELdZzgu>th*se@5x+N1UvFiLOL&irU{lKoN@z$$W(eV!}tGxWc;r=g)cHEhr}q1x3bPaI2B2GaAkb~L&XL(&vuSW+@zdL(fnP~G>VSsVT@*+J)7$YS zVnN(wIi|}=Mkee%*~d`v-SwxJnDIB&Dnqy2n2g||3C9K6+-AC#xHj?DT?r(ax%(Jk zI+rTiBF>7iC2*LSJV(+?tE|Ss#o0A&ur)E69Ie7^=`c_^N&?tr*?@oT@8`4j*Pm$u zP-R(ys_rtY`bz>QdO;A@OEuB*VmF?NBoGs}6d;#~UmCjLK7mZ$A!PrLS4#YpYoP7< z$mxS?BJyl?|5XC~w%=3z06i?+|2VwE_}Su1{RjRFZD;V2x5q^Tgi1eOj&UlnsG>Zr zSd{iK8n?KBt?OW^9*w2&N@14Yw}U!U;UUs;_<4bRelMXz&WMf;*tD1wDW+HBI zuf#f{B@76Q@3y-RR+#q9#qDdMmhrez19q7K?YGF1Exhp9sf53ko!T2MRSgf z?BvwWiTb)K%OD(JP&AkZ@+d_yFQHULOY2f6CFh)v^38%Ax<-`40JNY~!EujkaO0e> zI;i#3_770+uXdbiV<1W2vXQ?M$+39?*eUTN|1>SEs)y)GTX7s+S^GB_2Xw8W>u@k! z`fa&$@PWBFoFMO)L$f2NsJl%z;Eb0)<4(vbqA&vi^GOLN6Om8|J1cM&amYTH%l2d0 zHSFPyBNo(3U%}6|*=^A!Im*5n79&n4xvxE_!C9ybwEY5*5g3@8lhidSsO2-{_6)de zQQ+)&;(S*Ubd6K+O_29d5VT9c+r^Hk2Jhq*JlBUBz9I88Mo7Zhb|Ttk-HIA5wQ6ya zW0woWBWOX%rFQ8>h)x5_i(m8$teu9&Eb}-P(O0>{|X~_lB+E>#6sT_ja zs}(AJ8KngMWw$IV4N9ec`IgI+L?M~J>Q)GSL)?tY)J}s5Glx$0S}R|6Io4TqVDEei!(! z3H2^WzaJbx_MigIRgLGRJv2lpVXP=%V5mR=pO3ejEtTJ6I|xste$d&&T3Vp8LMWXo zmw~~pWkMBQ2bdm~)#YrqT*TKN<#88JoUFo24~uz=EwoEtxj4C!FC&(cxV@-U`o7pe zT63Q%BUc5*wBk`opSA0zLxPr323h+7Pp>+zIfDb_@f{krKTlMZ&_5=ADGOywvd+Of zkUV`B>}ZEp!*UzFjRV!ZQ9x-Zser+XMj`F1CrkN6aX>dHee!S&*IYfSk;$1XqZ#*Q z^-)S5Cnkp9GP-+`Fh0A>^4ubrNAPq1{{>cgiwzCrKiNi--S?24x^Ue2{LdoX%SaBY zvpD5!4iTOEDh;?fbm>#8z$=m;dE8Tj0hmaNMd=?u@mZRhD{WPtSuJRMD)>}P7d(2G z;%xh{yF2oM=B3LA?{tj7W4c=}A35U9UhjnY-uy zr%ji&`Xp*?^Ik$*Wm~d_Z)`wUwm#~Nj>c?v`1-mN5(6PyN1yT5BhNDy8$-WB4fUjV zq@8_sdFiqYlI`xk3#|TfcF^fLM{`a1Jyw3Fx?&HO7x?nP3m2Quzzp)I1w8XBxTU;3yYYfFc=#%C z+?3ZAM2V+k(0isMn+A7CM)!*nT(t>vC$bGP)IFW#3n6t4{U!x%@^*w*<(x&h)@o?V z70HKJhU|4@AX^cwhOTB}`&wTiNOmtmE1st!1S5CnMxYdR43-vr0Y2);OvdXY0=Z31 z19#qW+B60$2=fksdiR}sdmDgsXydS|1XWW}%NbO{2j^;x(oVGKW!430w5?@cEKzCd zf!5L%z|-v1?Axa98GyroT*W4bjgQs}N1a)UD@iC8AAQy-@|x6Ic_OuLo!8^qkONIS%u#aa$X_J4ZU>=CKu`=@(obLyBK z;4QY>c7>VVO?DN)T3TM-l$b3a0(+>s^fwEv6qbSUK*wJ{2x-1+JQu8Grr;H#GP<9e zW4Z)#>r9hMqG&8a&qY2{6+MNRBf0GU7K;m#Q}`eEZ7_pOY>xb zO1fcPg+_kW4FRf3uG17=DXyr+^U7E@QE3N{&!bYKMZ1d4 z+*@CHP{EcHA-m1k19wK(*i_}}T}a86&f=!rY~iFG%P%kkMc^~xtAt3Tlj2XyKc4cW z(VP=UvYN&*VFwlCH+GzoIfQ!7dvG5>hnK+}_cm+`m6>SGkyAIyv!u^Evi`>ZW^ZP! z*N}d^$TD<)N8<&)uSBCI=OI>EciXXdh3-Q7ak=7Z4@K2d9#fUB?i8-RDbyp* zRl?o~sajeG|L>P8)u{&GBlS$i%pQ!s4;}mpekG1Fctp#dOSmK&Q*o&0WtKX}9T(xw zl;GE=*`bQbE}-rh#6mljhe({H-v81g`6)o$(r>vs@fEw^+rR4j=wD1Lgv6pPfSItogdrbHl%$g>4|yOojJMVSx-zAUP?3!o@}W{noZv9E?Wd%x1 z+3o{a3-&{8+h>MVGu&fRtlVw_F2y{$L&%{vsq}SjY#s8EK$eo|$X;?<*s5DCDo9_# zi$3^l{>5RruSG?m5j@r63W!9an20Is7)9wutOGw_8M3e7e)T0WMDjo2#83(sRFE5s z$s%HwU<8lpY;O`tJ7Oe@2OhGRFN{Ie%h!XTRr-kH!Tfgp4*Q?onPADh2RuUgH<(4| zi7pWvT5Loj+Qu?t+lyEn0$u2$s_`t%I9O^gSFa5bWjAmh^Gnq`rV?#Y)>a*RsO7fp z4{ng5pZZG1yy-CR2?qkS|a!(0t!Vc%A2NmI!zex!xDc zh4g+}=zC%5sr#ZEJWAxF2v?qhy})E&&F-;9mQQkKja(5z?qk!_tm)=ORZpK5$k@9u zt&F~a5HS`m0uLTsk}JQ1Y}p=GLeSr$5(Lu@0x^#2<@mDkR;u{y|F(U;J7XuVgtL9bOV0Fr2%dsQX)?pR6s#my0!qvy+ZU_kF&FVOcFo4jPdgq=+$#8SQ zJ92U92A0F5!+L)=!USx9@f%D(<|!nc3LH@sTKMu)D+x@JQp)6j9|}%AvPuFP)W{0D zD`SeG8>C4O28}^rb3ySL>kad_bGE{u&4r)hlda;7&??#?b(4(L&>d-&g;j~uIH9*V zRJn{Qh;EREIaFIPjoVE+T6X9wuzbiHzv0El`_f%MkDizvTF3d6ix$SYIFFWKc(RZc z%ypx!0*O8ksa6vOr@L`Q?@WO)IyQwo8cpZ{Azqao9Pa*US_=^p&coxXu#%`5MUoWg zNPcOOLD%Ybcoycq_8+)O*<8>uPhcYT|bVviLVk(7p}u#zSWw zV;_2h2(9tb+UAx28AU!>>zbpkHt@vl&Z?Vv^AzPgl;_NLgVR-RDR zD)>enl>t$#~^@LrB;Qay!OzuTz#;XRVq6=BE9A_~wCh%W9{`!gmCFwpj&XS-8kAgOZhm3NoF~e|8JR9QMMpOvbrJa`HJgdeAEukBxooJkCH`adO5e zEugkO4AY{2o|ZHX?$t0%1$NG6w@8BF0tC4|UK6DZb|Dn=4t{>w9m4IGlPTmbX9IoybeBvgwrg=mCJX59b%$|mHjSI z#z`b-+o&66s+g#%aIO#1_riwjC4GR5dyL*eXM8N9`KyyOj=G0BA`-dwN{gdyK@1p2wMJ#Jr z7tEjV%J{REYAm$cJaGk{;AbEECdN;e5Bhu$RabJJjEu&lW$dF9*Q^&g;tZJ!&LW}j z(}cAR9_>$Mq{p5C2prMlN9}V?($tWX^H4y{Ac!Oo&T1|0B!znvJ)ch#SE50-u6DZd z09MEy`62+sQ9>-fe94Ac#pLwwR&@$Ea;{_oXCe7O{~_a}m=PSHxeFOY2q(X@+WW!G zwqB_z0L6_%?J>y4XHF8`#2V`Ck_v$!*%lo`xzfvGftB!e-n4zo>m^?fG=u&6&lL;7 zaPDKrN0B|1O@T~?mx45BM3fMNql7KIxgp+_?-84W8L2sJgiUE1Se%LC2qmQyu)svd zn(A8Vj8=3nujq#;^&MS``mms0q#~JT&Lt6DM3pcKU7l@(F;yUspL3$m#tdsV8{?`p zHO!_StAL{vLn5V2sbd;#tTv|TBb*P=A!W--KkQi!*$Z``!JD%WQj0)Pf(~+#e>dRm zq1l?lPpane^{1<3iHaR+>1skWJS<>BYIRlMDZDg)vNO&c2CK`Xrq#kSx3}8HVHr zs1CA(Sf+hPrTrr~cfRr{=B-8QZVtv!_yuur4JIa8Hxy&XE-@S{*Y5-3N-tC$SV(We zmSE=G=YM^I$Ew%y7CqCl*;W`nH2hJp8GL@)OF|AR=?k#INB6-Bh0?Ll%2A1pFM+8D zyy!4$1~;X(mE4 zSaECXDU9)bdi^u-*MO3q_~g;R?w#`kPlCG7m=S%onnTPA2{g&)kw$po`=5F*y>=`o z4oQNPBXrr^f1(VpbGEk0p-Txj2L1W}>{AH_S6}(5uL0Tgg;6a_E#y0L8}8XCcja65X@n(p^HJo2vQ}z*;-~bi`8>plNP#FT%iH~x!WHw*4#tZc zh?FP$AAVgm$=~!&zrWGf>m->VvBsFO6=#IKtO#=?XhiRj{(*=1%xnBo@&_xE3-sBl zKr6W}8+cZX)R1jeUQ~xqB}rJ)lyu)p$#Iq*{`^6Yk1t!FCCNbh4tr=o$hRee*2xh$ zhrjKnk%@2+R401eT!Tm&XdvMT~yKR@sZB__PR_az5uhP zIyof&7*l6w_Qq}=!Or<&x`)eTDzDJ)jl1<4c$;B6Y8JlgW5n~g3{l}LzYbvgO;U%L z;}7AH@HUjYtM7UF#li(|j0=A6=HR?%$(rzaR0Y?$*fnlF>aP(pnbk$aijQqQM<(st z$sALM>4Uy4$J_URHXEef*t(Iz2rT>biL@XU=l)Ehpf_n$f_bh(Q%68M@w)$WHnp=e%(}8gYfx`;+(RPhM!s&fR8e z>Tx)$HfX`gzRRUTsdtcwm^r>!@RVT{g=x^@4P|bTFPlYJ^D-QDfgk7+Xh`Ul zH@nn)znOS7@W=(J$V?{Ucf4i={!V_>cD~Bmq6Y7Vxhhb)SO7-x#hS#_2C8#==W3mq^6~WRJ~L{M*!N6@{W@O+l#$pt0WPmhaCx3; z)p-s!BW)(9!sd0V&P$Jc=)N+R(lYi)5+gao(r-DuYlCD;{d;+Po!}TTBSH9{?+i&MH4_ZBH!y0*!+rC6D89_W*1$v24?pFKJ*zag! z5?GD%jThtH79i(Tc=8Y1uqBujL^bjZ1N0Mk$s`omxNs0T)a4PQpQAAu78~ z5PZ-ML<0Ow6Wx-wl`z~rhQNm^#fZk1hR}A7a%)N8htL(1U_xs@ERIdmKDJ~2BrHypm*`0)k0yFOk1p%cS5#CPh1 z$IVnz15WppE5R9_ay7{CI|n1ix>CE0t>q}8{kCmiV`Bdv^086H<`XCBmBYJ-70zEA zen>~0&@!@;-iVBd1nK3&oLgIeo>+)EbI`3u)8xTj3{$T~&;njZ6++RL*GRnlpmeqb zwg>Xcfc$#=ft^~D)(lo%x2i{TOP^HI$crHDo?Q8pr5t#Hpzg|ljxAN5RSnu&h+kjX zB}WMcEgp77CL}e}=O@HY0zueqkXd$zuI@T7E*Ql3RR$P$e;6r7&m~}6?+CgT+JYzu zTz#+Yx`YRZjSG;t++z z7k@ZB;B%F@(%^iW0}vJJW&(AbJY7zsEO$P7p@_e(C1JczB@SKYyQv7KpqXV^O#&o2 zVv)bGfWY3R5geo=qevK?6>jDGbY8&HHNK%!402JMit?4HJhZfW0W0`@Xf+gTLO*ECs3 zE+g2vAYtP-mLZNF9Y7RB&nJaMC2}kGGYUGC4H;UJ*_EtP^m0eBr~f&%{{pHxLj^|~ zA%Q#epO5m=@$f`&99J6;Pjee*7>|1#s8m&kCymjj$w*3beIQ=7+W7YmGQbntq)wa% z8&1+7HY%cCx=rsT5i-7Is}XNiOKeZ!QHnja+vB5vjGlIqh#F?XcaQlFC=(~40IY9U zwK>lqLb#ZAF(xO4ke-*1QqsOs%Pm`9%V`^6k;N+vlv=4qbJ*%YJUbbh!1$v#Mo8wYVDEa4!x67ma5 zw$DJmrBVU!##EkqhSPiZ&%;ZQ;qIX5&%M}%nN|FH3_4E$`6x03;GE?|WIo>btyw$U znY>b3P3ff`8tWWbatvRQ8`Jaj2wk#npJL47CM_0!qtXh@T9O&3S>yYATKq3g5 zCwzgdrpov2PTgUcpFi$8?yT-vXk4J&^_bTiI(ua=eyl|M6a8BnL)`# z3C&;%(dODTY9uPfrGFPfo#*^B#N-q`B^O>@jbXZwuB}m~ty4>ta@06y6yaTg#4lui1cXE9kC|-CY*Fn z=Vb>88kQd1l9Fa0oX=Y7WT({-iH0!l!bw-CCyD=LbHs=c#~6#6_^Dh4;)`q;m{kbz zk~D$hA{*KT<816<`noRNdk2?}y1u7&;^MpNx^kNp~2(COm>+VEUMp$)kf$5MtBpTgKfbW6n;%PYPeld$2jj z=W=>;d-+ao!HITUId>UnWZTKerw2`aw(Wl!X&N$Vom20|*$a0tV37`qaM}aD)R(9hc7BOK%{-c`B z3M03Q_w>Y}4U}7p;i7<==6oce=$@NY15vlTn8$!(ubtPt6H!=Dd&m`=C(*+^Ts;0Z zr3>*#JyDK@8y>6pzet35UfvIN03B>-a*O_Gf$X|G`dQdP+$1%eYEttY z%uuIg4Bu(E3`@66^cF39#i|SVd8^DIrQJXC6GSG6AR!jK#*g5+@OmJ^Hr{eDzFnLl zC8^CCx!SR^OQYr3atq)iF|dM1w4zZ8=*%K<3EY3^dEFc-K?ER83xL>66|gh?+EvI> zN3Kk#Txk9LW(ya4CVspOyPHA4429oUvGZ|V-&wxGt2fzB&Y6H%zxL4kKUb7oR~2r)kNdDsi%OkT_&*Jd}+sI*m6qaF;|Na$ed%D`&(4i7*#8=4k=P_;#eVq@C2 z224|y5UtIJaD^mryBBdtcm{QTRHZ zZc2TJF_dzr)>^uXzGNi0*N4ZoL^eDxdu|M)mns66;Mq#j81pc$_i2KO!NjZnaMV!B zQUeDaE#+d@brS>Ff2TLDI)p4Hdi%`Qi>bHI_sjtLm;x#Z^M^KG-U$(v6qDhp#9QA6 zo<$6xBJ(3pD{&3uq6P5D6NRe>2UWg>3E^>&9zdQ=U7?m{7a7I7g7Y76)5!86ZV#Iz zM+$7h36eJ$TdGAU8@WU@FBdsC24#1%5sBp~3sET-8VdA_8=A^z%XSR?>Ll=fDrSkt z68G7k2|W38t`Tf_@j9CW*-YY%rDRGs0sj*F1!9_7KM}VjV+dr6J@>XWQuku=$+_*D zOSI-+EMnweSUScSr~5ih^>SFE-Ql2~cUmXx)Jsp|+`WQ)!HHJWV9&KqHyl<{DPn6x zF1FxZWBT{lMDi$tJ*ui|U{UX+3Kdn#664Ay8WHwkqdg6B_6?CrP#zg1dT;;j>6gh;&wjcK z<<5I)5%qkF1-(@R7Q0|1ksNB|1m#sOG@Ri7Lh_Nyt9>|rlhh3J+>vookF&e1&Ubab zTct&Y$%XL1)ez5xeLw;YSu?&hoyb{7A&3tCc!<1eS|xSQ1GJ4T_vS4aHDO2h+$BG0 z>KH=JtK1Tkkx)!ADeYD`nR68x9;SSstX)7LnTC}0%0+p;`y|0LBI)5qCU&Qz^o0KG zS9*mL8on@=-oyyE_(1aF0@YECt)F~+8)%b}>AF`Z2`dSjNbnBfI786OCIr-pdNm9; zUg{|?m+QCz5H7607qGxZ0NStZ=ZK7Yn%n@}?@jpyypf z*!LPiFNeCmiOqS0Mg5#D2Ujfs6x%3b$^#St$uU}LMvl!j_*64Xid-R`tZ^SM&kM7? z+Jr$o*~jCpK4f}*-`kKJ_0FB2c1ge?NM7hhkTnJZ1w8){hi!-nkX+V~9AA3`9)1)A z$md8C5Mn4}l|!t%gSUoj##YBLOle31uPW@wQQ@njm_A&0amBrf_JDTsnRLHgB0-2f zJSh@>Js+4iwQ>Wk=62_D=?|$ZQ0^|{nBW1I9IRGx?AL~D_WBqYPC3_DQd43MXzCQw zM$R>GR{kRT3OK9k=D9{$hmZo9#tehTUZeKy<2HUMy6MlJ5=|q^S8_EHM3ut)V90UP zlj+JzLe9!&CfJ%&%e+al9I;11;7tA7M&KE3Q!Ks^<-aDQ$zd9mMMEo}wP3%(?PLD$ zR9kBzH5Z9!Z&3izRNxM8Ay^TRk{Fq~_FzG^Hw8r_Q)t>WNftwh5`-y3vOGJvG8T~$ zqo#!jmrBR{Eu5GaO&l3UXqL5z@w9s{SnoAg=6OUfBS=p_zI6|Xn$bemFo{US5hR&W zCNMq4yyG0pZ-L!DlP4c43=DZXLKZ_hNlG!m_P37GuhecLu<&T+*_q z+0y@wWQ>#<57)m%Ymfh-E(4a~w0;Q3B%7(Blnk)4wW5|4r3TwLEy<+%wK7e?Cr|?A ztYN4s*_@^rj_5hXiZ~|m*UOA_ilgU-Aa)}hlgb_IV0Q*Jqf&)pon+gIn_N@CCy~z( zk<3m*XSTv(|CGulto6~NXJ5rDLu2Vn$RUgGea4;Ve3NWbF!dO9fmm9ki>%1@gcaot z|ICh%yjC}3=glPwWXKe0QOugerQDA#CqWv5f6O~~&+8svO8w`D5RZ-c@VRuz%7EYO z?%Q6X3hy`q$73WhrPLIfE7+uMeP~v&Y4+phK`Drbl1MuK>i+>4n#zUXV7YlP3t^!Z zWiH2tfA(3Xqp_dm=vEdM6sE+84)()^<7DQij(rHEWOdWLOc0dz_Hqt(u3^s_57mYl z!sAj?P#bV!dQ#nL{1T7lW{pn>C&$j)znz(2y4qUflN~+3822gAOktP+#wejT3;#1a zo6FYRj96m)NumMb1HdC^y#M51BK75{5*$4N*(XlaeqcV|s_uAx0}uLO0lxB^J&VjT z{PSpChv>5id^<_ByO=k;!rQ~`r}|-z9e>wr z0Vq+M103*L-Q{0cF|DGDeR;MCW*DgCM#P@AEq1w)YpbeKi=}{fZT<4*5*Jp#8khmG zl=(PVDnkgfrCf#K3q#0dEs0JA^1d%YZYF4>BG8*ni}cv0&4?$)jFS@`{M0?8Q41ytNJ^XOyYn#VXoyERQu^B`-sTo9yMaz0{#OHyB%*YT&dftAgxcfg~Y2xZrevzpi*z(oh(LA zw9F}?COr@=)^YdPBR?&oyCA$%;ha=4ckxz_NJn=vQJ)P6SFOd*1QwT@<8?^J@`y#7 zKxtDjCTfTS&-xEz07`VKc>8Q(vG&5mx{s3-$z zJuW|r%CA#F6PyW*C^w-WTopHFsgcozswB$KiL6ogy5OXh*U=lH<*MtF{sw{B9_R$| zD)HoJB>2-zDa1_MED0m9LkVP$QMug(esv!;V!y|BrA`wgh;GP@L{-Y&WCka%xF?{> z+`b5sC>TY6Xjwwg;h1>V7yzilM{hvcD@{Ro&(enDCHnowvR~m&m*^aEx_`5BW*xNY zspI2xm^F`Ia3a@%t+&r6!8@vVgl~iV69qaTbaVQHA3)Wyfbp>60y?4wyHv>CvFjY_ zSmsdSDBrX<3f(ikRd0~&$AZ{fFO%NxWY8JZSjfoQFXWte% zxeXuqD_w{ICDXk9iMG&$jCbm}W94#qZNicjlL5?$v`raYxrjOr%v+@%XU|wwIqLX& ztBM?!ZDO%MOJ)BC`VcZHGDe{myK4H}woqGl%Mk_dsZA@)tks{=H;lJhoO&83&fR+Z zYB+iLapputngI7pbWmZIg_JnqF-d7tF2pg6u!Qmr2cbkm8U)7jmD?{PlbHezk$)r^ zaU_+Etq1WvH#Aq!LntJ!l9kMhS_a^&<@@>4tUzE?;NWo6yf~pn9>a2`flP)h>mXiN zU<&fz*#m{4jtf8hR|M_Et##1wQRTXV-Eqva$axN>q%xbpc2ko|oYP<0yA*4sebqFm zR#6LbH+^DK@aj%V! z&QKt9Vz_$BV+KbyzVu+mqck88(~IIvAjPDuPxuwAJ=vlV)SbTsiMPkbyF*Vg6nN); z8ek^3QL7eRwh7Tgh#7P0ZK`!m7vEm58XC;6A1|q&Ry4~i3q!(uLAi9A$&WWNbE!yN z&`0XD-m{PQ|46i9*(^5D*97y&hur0}y?jr94TmeU0uA5Toa7zw*~YMsB(jk+1imxI z&@>1mrd1*JN0|yYvfN?RAo8T5cd+O1!h*t-=mtgWhxlc5vKpF|-0yo6mWLBaytX2AQ%=g1Bm0D(pOyq?Ab zV7nC&LP0`ox5pMY%FgkLHnc))*KCuH^8q03E2wLl(?JS)ux?`N3)nb~=)McMf<*w5 zy1r9;hb|m*h!0p)0@-K)_D*kHgpdS28!_4M*K>*pup5By1VvauJ;}tf3%gVut0j<- zC<~>oqU`EAEMV%I3}F@H<2X(^BCHh6fC6{BE)nsS?X%QPf{<)2}HpbFq*kqF#IcZcfJQoz-J&>aepWtbiy zg_r~zA4eRgJ>cfngW(WoG31gy9iAj`^SRV@6Z86o9XpTXjgP_OFfIuMc^l9JBNb4m z-G(tFgoR_-G@tHh6iVX6M0}oWFYh?PF>1=Ng>6PUZ?!@LH?_4H?x2LMd!u0Jqp%@O z54Awgt0}NEc>u{hF;EIgyqJc77iL*=g)eO88b*zTV!vmsDj)!41S*jsU&}GK!C|Cj z&>8_VzW3D;L~;K_Hr5Hx*`|1M1+fspWJDTDLkF;9Hjv!5JroX+{6;*JOn zUgH)sSV$mnfQGR`JJinP&FNheFWm|J-$lWdah)-mDgBzeQ!y2G~Z@Bo%PTc{m`rSnsnV-d)?~A zKHoR``PMt^y4U`PQB=h<@?0mFYL>a4$1x`wHvO1Wo0(aeOY_X|u_v8=&iT56N|#-I ztxdMu^BwMDoy}J5Y29t?!k*o0dwbROx7>MO#5*7VceVZDr9dRHkttLfoq@8DN*n8Z zh$)xa`j~4a$S_am%k_4DShnMOeh@}+l4f~PR&@h_5R9N0PLMji!DupDtTwyD>2iC# zK7Sw>3P+-`cp{lfXR^6`p;#(csOG}WRC?iQ`Hd)DH zDY8@Lr1_HWYld%8-?Ovk_%1nJbGhYq@<3k9N5ygRQi3W`mt-<+e)j_2+L8(=6`Tf1 zhi1Ss;hhkjkzG(-(cLiJu|05E_-sNBF_)A_&ZiVm3u#64VnzwG)Tzw5+@->`(yhw9 z+M|Y5%dX?pa~pV#{3b!Outn4=Zj-c2J7hh{dsg(K>{Zp9x_3<<+CFuC>HF9Vd=>dC z2~-xWB2-nlnn-og8e%oYYf03WtRq!dx}Ho(HY^vBk1E6z>nk--Zm7~owXs?g^`;ul zG@EO+&~B;IO1HIM8>lVZ4rz~ez&h%8GU#mB#i*-sH<}PFrp} zrS`lI%3Z2-RP9QwUvJlkdOp_ose#W8eQD%tv~MxK$ND+WFY#&#>WLajn#o!z+NnBe zsC3;7y-fWqgKWbbqg-@jOcQKVTr+$gA)i=4DkK+Cim4^EQhIYn8MB<#g58o+!EI&S z+N6zXTeEh&_WTZlN?}J)Cvj&<7im}XZnEy>Jy`T;*^{DYt6r>owdu{acRRll*t3xK M2Xk)9c+49E0BqcG3jhEB diff --git a/public/vendor/fontawesome/webfonts/fa-jelly-fill-regular-400.woff2 b/public/vendor/fontawesome/webfonts/fa-jelly-fill-regular-400.woff2 deleted file mode 100644 index 9e66b6c998a3f853d218e9fac965667b2abd3d1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29000 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 diff --git a/public/vendor/fontawesome/webfonts/fa-jelly-regular-400.woff2 b/public/vendor/fontawesome/webfonts/fa-jelly-regular-400.woff2 deleted file mode 100644 index efcde53de730b30dbdd2c24934e352e72539a406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37524 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