p-dev-harness 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -5
- package/dist/github/client.d.ts +88 -1
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +98 -7
- package/dist/github/client.js.map +1 -1
- package/dist/github/rate-limit-metadata.d.ts +16 -0
- package/dist/github/rate-limit-metadata.d.ts.map +1 -0
- package/dist/github/rate-limit-metadata.js +73 -0
- package/dist/github/rate-limit-metadata.js.map +1 -0
- package/dist/p-dev/git-object-plumbing.d.ts +19 -0
- package/dist/p-dev/git-object-plumbing.d.ts.map +1 -0
- package/dist/p-dev/git-object-plumbing.js +196 -0
- package/dist/p-dev/git-object-plumbing.js.map +1 -0
- package/dist/p-dev/package-paths.d.ts +1 -0
- package/dist/p-dev/package-paths.d.ts.map +1 -1
- package/dist/p-dev/package-paths.js +3 -0
- package/dist/p-dev/package-paths.js.map +1 -1
- package/dist/p-dev/workspace-snapshot-digest.d.ts +12 -0
- package/dist/p-dev/workspace-snapshot-digest.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-digest.js +34 -0
- package/dist/p-dev/workspace-snapshot-digest.js.map +1 -0
- package/dist/p-dev/workspace-snapshot-generator.d.ts +15 -0
- package/dist/p-dev/workspace-snapshot-generator.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-generator.js +69 -0
- package/dist/p-dev/workspace-snapshot-generator.js.map +1 -0
- package/dist/p-dev/workspace-snapshot-git.d.ts +26 -0
- package/dist/p-dev/workspace-snapshot-git.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-git.js +151 -0
- package/dist/p-dev/workspace-snapshot-git.js.map +1 -0
- package/dist/p-dev/workspace-snapshot-manifest.d.ts +18 -0
- package/dist/p-dev/workspace-snapshot-manifest.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-manifest.js +292 -0
- package/dist/p-dev/workspace-snapshot-manifest.js.map +1 -0
- package/dist/p-dev/workspace-snapshot-policy.d.ts +16 -0
- package/dist/p-dev/workspace-snapshot-policy.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-policy.js +168 -0
- package/dist/p-dev/workspace-snapshot-policy.js.map +1 -0
- package/dist/p-dev/workspace-snapshot-types.d.ts +54 -0
- package/dist/p-dev/workspace-snapshot-types.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-types.js +7 -0
- package/dist/p-dev/workspace-snapshot-types.js.map +1 -0
- package/dist/p-dev/workspace-snapshot-validation.d.ts +17 -0
- package/dist/p-dev/workspace-snapshot-validation.d.ts.map +1 -0
- package/dist/p-dev/workspace-snapshot-validation.js +115 -0
- package/dist/p-dev/workspace-snapshot-validation.js.map +1 -0
- package/dist/setup/github-remote-provider.d.ts +129 -0
- package/dist/setup/github-remote-provider.d.ts.map +1 -1
- package/dist/setup/github-remote-provider.js +214 -3
- package/dist/setup/github-remote-provider.js.map +1 -1
- package/dist/setup/github-remote-setup-live.d.ts +46 -1
- package/dist/setup/github-remote-setup-live.d.ts.map +1 -1
- package/dist/setup/github-remote-setup-live.js +121 -4
- package/dist/setup/github-remote-setup-live.js.map +1 -1
- package/dist/setup/github-secret-encryption.d.ts.map +1 -1
- package/dist/setup/github-secret-encryption.js +3 -1
- package/dist/setup/github-secret-encryption.js.map +1 -1
- package/dist/setup/github-upload-rate-limit-gate.d.ts +17 -0
- package/dist/setup/github-upload-rate-limit-gate.d.ts.map +1 -0
- package/dist/setup/github-upload-rate-limit-gate.js +42 -0
- package/dist/setup/github-upload-rate-limit-gate.js.map +1 -0
- package/dist/setup/harness-managed-repo-marker.d.ts +28 -1
- package/dist/setup/harness-managed-repo-marker.d.ts.map +1 -1
- package/dist/setup/harness-managed-repo-marker.js +165 -2
- package/dist/setup/harness-managed-repo-marker.js.map +1 -1
- package/dist/setup/harness-provisioning-context.d.ts +14 -12
- package/dist/setup/harness-provisioning-context.d.ts.map +1 -1
- package/dist/setup/harness-provisioning-context.js +54 -42
- package/dist/setup/harness-provisioning-context.js.map +1 -1
- package/dist/setup/harness-provisioning-pending-state.d.ts +33 -22
- package/dist/setup/harness-provisioning-pending-state.d.ts.map +1 -1
- package/dist/setup/harness-provisioning-pending-state.js +49 -30
- package/dist/setup/harness-provisioning-pending-state.js.map +1 -1
- package/dist/setup/harness-repo-provisioning.d.ts +10 -5
- package/dist/setup/harness-repo-provisioning.d.ts.map +1 -1
- package/dist/setup/harness-repo-provisioning.js +403 -335
- package/dist/setup/harness-repo-provisioning.js.map +1 -1
- package/dist/setup/harness-snapshot-provisioning-helpers.d.ts +21 -0
- package/dist/setup/harness-snapshot-provisioning-helpers.d.ts.map +1 -0
- package/dist/setup/harness-snapshot-provisioning-helpers.js +55 -0
- package/dist/setup/harness-snapshot-provisioning-helpers.js.map +1 -0
- package/dist/setup/harness-snapshot-provisioning.d.ts +111 -0
- package/dist/setup/harness-snapshot-provisioning.d.ts.map +1 -0
- package/dist/setup/harness-snapshot-provisioning.js +684 -0
- package/dist/setup/harness-snapshot-provisioning.js.map +1 -0
- package/dist/setup/harness-workspace-snapshot-loader.d.ts +15 -0
- package/dist/setup/harness-workspace-snapshot-loader.d.ts.map +1 -0
- package/dist/setup/harness-workspace-snapshot-loader.js +80 -0
- package/dist/setup/harness-workspace-snapshot-loader.js.map +1 -0
- package/dist/setup/mock-git-repository-store.d.ts +43 -0
- package/dist/setup/mock-git-repository-store.d.ts.map +1 -0
- package/dist/setup/mock-git-repository-store.js +232 -0
- package/dist/setup/mock-git-repository-store.js.map +1 -0
- package/gui/.next/BUILD_ID +1 -1
- package/gui/.next/app-build-manifest.json +49 -49
- package/gui/.next/app-path-routes-manifest.json +15 -15
- package/gui/.next/build-manifest.json +2 -2
- package/gui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/_not-found.html +1 -1
- package/gui/.next/server/app/_not-found.rsc +2 -2
- package/gui/.next/server/app/api/setup/apply-connect-services/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-connect-services/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-connect-services/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/apply-harness-repo-provisioning/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-harness-repo-provisioning/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-harness-repo-provisioning/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/apply-harness-secrets/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-harness-secrets/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-harness-secrets/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/apply-linear-setup/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-linear-setup/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-linear-setup/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/apply-local-files/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-local-files/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-local-files/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/apply-target-workflow/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-target-workflow/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-target-workflow/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/apply-vercel-bridge/route.js +1 -1
- package/gui/.next/server/app/api/setup/apply-vercel-bridge/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/apply-vercel-bridge/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/finalize-target-workflow/route.js +1 -1
- package/gui/.next/server/app/api/setup/finalize-target-workflow/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/finalize-target-workflow/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/harness-provisioning-summary/route.js +1 -1
- package/gui/.next/server/app/api/setup/harness-provisioning-summary/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/harness-provisioning-summary/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/linear-options/route.js +1 -1
- package/gui/.next/server/app/api/setup/linear-options/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/linear-options/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/linear-summary/route.js +1 -1
- package/gui/.next/server/app/api/setup/linear-summary/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/linear-summary/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/local-readiness/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/manual-harness-secret-values/route.js +1 -1
- package/gui/.next/server/app/api/setup/manual-harness-secret-values/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/manual-harness-secret-values/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-connect-services/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-connect-services/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-connect-services/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-harness-repo-provisioning/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-harness-repo-provisioning/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-harness-repo-provisioning/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-harness-secrets/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-harness-secrets/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-harness-secrets/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-linear-setup/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-linear-setup/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-linear-setup/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-local-files/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-local-files/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-local-files/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-target-workflow/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-target-workflow/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-target-workflow/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/preview-vercel-bridge/route.js +1 -1
- package/gui/.next/server/app/api/setup/preview-vercel-bridge/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/preview-vercel-bridge/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/remote-summary/route.js +1 -1
- package/gui/.next/server/app/api/setup/remote-summary/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/remote-summary/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/summary/route.js +1 -1
- package/gui/.next/server/app/api/setup/summary/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/summary/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/vercel-bridge-options/route.js +1 -1
- package/gui/.next/server/app/api/setup/vercel-bridge-options/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/vercel-bridge-options/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/vercel-bridge-redeploy-status/route.js +1 -1
- package/gui/.next/server/app/api/setup/vercel-bridge-redeploy-status/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/vercel-bridge-redeploy-status/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/vercel-summary/route.js +1 -1
- package/gui/.next/server/app/api/setup/vercel-summary/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/vercel-summary/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/verify-harness-repo/route.js +1 -1
- package/gui/.next/server/app/api/setup/verify-harness-repo/route.js.nft.json +1 -1
- package/gui/.next/server/app/api/setup/verify-harness-repo/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/verify-service/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/api/setup/verify-target-repo/route_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/index.html +1 -1
- package/gui/.next/server/app/index.rsc +2 -2
- package/gui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/gui/.next/server/app/settings/configure/page.js +2 -2
- package/gui/.next/server/app/settings/configure/page.js.nft.json +1 -1
- package/gui/.next/server/app/settings/configure/page_client-reference-manifest.js +1 -1
- package/gui/.next/server/app-paths-manifest.json +15 -15
- package/gui/.next/server/chunks/477.js +2 -2
- package/gui/.next/server/chunks/647.js +82 -0
- package/gui/.next/server/chunks/900.js +1 -1
- package/gui/.next/server/pages/404.html +1 -1
- package/gui/.next/server/pages/500.html +1 -1
- package/gui/.next/static/css/781f3c93b6d7425a.css +3 -0
- package/gui/.next/trace +4 -4
- package/package.json +2 -1
- package/workspace-snapshot/files/.agents/skills/architecture-evolution-audit/SKILL.md +282 -0
- package/workspace-snapshot/files/.agents/skills/code-health-audit/SKILL.md +188 -0
- package/workspace-snapshot/files/.agents/skills/implementation/SKILL.md +279 -0
- package/workspace-snapshot/files/.agents/skills/issue-intake/SKILL.md +163 -0
- package/workspace-snapshot/files/.agents/skills/issue-intake/examples.md +112 -0
- package/workspace-snapshot/files/.agents/skills/planner/SKILL.md +253 -0
- package/workspace-snapshot/files/.agents/skills/security-audit/SKILL.md +270 -0
- package/workspace-snapshot/files/.env.example +37 -0
- package/workspace-snapshot/files/.github/CODEOWNERS +4 -0
- package/workspace-snapshot/files/.github/dependabot.yml +12 -0
- package/workspace-snapshot/files/.github/workflows/ci.yml +32 -0
- package/workspace-snapshot/files/.github/workflows/codeql.yml +35 -0
- package/workspace-snapshot/files/.github/workflows/harness-auto-runner.yml +561 -0
- package/workspace-snapshot/files/.harness/config.example.json +83 -0
- package/workspace-snapshot/files/AGENTS.md +130 -0
- package/workspace-snapshot/files/ARCHITECTURE.md +385 -0
- package/workspace-snapshot/files/CHANGELOG.md +166 -0
- package/workspace-snapshot/files/LICENSE +21 -0
- package/workspace-snapshot/files/README.md +110 -0
- package/workspace-snapshot/files/ROADMAP.md +50 -0
- package/workspace-snapshot/files/api/linear-webhook.ts +41 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-connect-services/route.ts +21 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-harness-repo-provisioning/route.ts +35 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-harness-secrets/route.ts +42 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-linear-setup/route.ts +23 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-local-files/route.ts +42 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-target-workflow/route.ts +49 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/apply-vercel-bridge/route.ts +26 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/finalize-target-workflow/route.ts +32 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/harness-provisioning-summary/route.ts +17 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/linear-options/route.ts +17 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/linear-summary/route.ts +15 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/local-readiness/route.ts +18 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/manual-harness-secret-values/route.ts +33 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-connect-services/route.ts +17 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-harness-repo-provisioning/route.ts +22 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-harness-secrets/route.ts +19 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-linear-setup/route.ts +20 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-local-files/route.ts +17 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-target-workflow/route.ts +25 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/preview-vercel-bridge/route.ts +23 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/remote-summary/route.ts +15 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/summary/route.ts +10 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/vercel-bridge-options/route.ts +29 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/vercel-bridge-redeploy-status/route.ts +22 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/vercel-summary/route.ts +15 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/verify-harness-repo/route.ts +31 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/verify-service/route.ts +41 -0
- package/workspace-snapshot/files/apps/gui/app/api/setup/verify-target-repo/route.ts +33 -0
- package/workspace-snapshot/files/apps/gui/app/layout.tsx +28 -0
- package/workspace-snapshot/files/apps/gui/app/page.tsx +5 -0
- package/workspace-snapshot/files/apps/gui/app/settings/configure/page.tsx +34 -0
- package/workspace-snapshot/files/apps/gui/components/custom/app-shell.tsx +39 -0
- package/workspace-snapshot/files/apps/gui/components/custom/configure-experience.tsx +671 -0
- package/workspace-snapshot/files/apps/gui/components/custom/configure-page-content.tsx +45 -0
- package/workspace-snapshot/files/apps/gui/components/custom/configure-workflow.tsx +1284 -0
- package/workspace-snapshot/files/apps/gui/components/custom/connected-status.tsx +30 -0
- package/workspace-snapshot/files/apps/gui/components/custom/environment-config-form.tsx +400 -0
- package/workspace-snapshot/files/apps/gui/components/custom/first-run-stepper.tsx +199 -0
- package/workspace-snapshot/files/apps/gui/components/custom/github-token-help-disclosure.tsx +142 -0
- package/workspace-snapshot/files/apps/gui/components/custom/guided-cloud-secrets-card.tsx +993 -0
- package/workspace-snapshot/files/apps/gui/components/custom/guided-linear-workspace-card.tsx +526 -0
- package/workspace-snapshot/files/apps/gui/components/custom/guided-local-readiness-card.tsx +132 -0
- package/workspace-snapshot/files/apps/gui/components/custom/guided-step-transition.tsx +60 -0
- package/workspace-snapshot/files/apps/gui/components/custom/guided-target-workflow-card.tsx +396 -0
- package/workspace-snapshot/files/apps/gui/components/custom/guided-vercel-bridge-card.tsx +861 -0
- package/workspace-snapshot/files/apps/gui/components/custom/local-write-confirmation.tsx +91 -0
- package/workspace-snapshot/files/apps/gui/components/custom/local-write-preview.tsx +52 -0
- package/workspace-snapshot/files/apps/gui/components/custom/preview-panel.tsx +19 -0
- package/workspace-snapshot/files/apps/gui/components/custom/primary-setup-task-card.tsx +65 -0
- package/workspace-snapshot/files/apps/gui/components/custom/readiness-banner.tsx +91 -0
- package/workspace-snapshot/files/apps/gui/components/custom/remote-action-confirmation.tsx +155 -0
- package/workspace-snapshot/files/apps/gui/components/custom/remote-action-preview.tsx +84 -0
- package/workspace-snapshot/files/apps/gui/components/custom/remote-secret-form.tsx +123 -0
- package/workspace-snapshot/files/apps/gui/components/custom/remote-setup-section.tsx +354 -0
- package/workspace-snapshot/files/apps/gui/components/custom/review-cloud-secrets-disclosure.tsx +59 -0
- package/workspace-snapshot/files/apps/gui/components/custom/review-generated-files-disclosure.tsx +67 -0
- package/workspace-snapshot/files/apps/gui/components/custom/section-card.tsx +33 -0
- package/workspace-snapshot/files/apps/gui/components/custom/service-icons.tsx +30 -0
- package/workspace-snapshot/files/apps/gui/components/custom/setup-apply-result.tsx +52 -0
- package/workspace-snapshot/files/apps/gui/components/custom/setup-checklist.tsx +206 -0
- package/workspace-snapshot/files/apps/gui/components/custom/setup-dashboard.tsx +124 -0
- package/workspace-snapshot/files/apps/gui/components/custom/setup-readonly-sections.tsx +210 -0
- package/workspace-snapshot/files/apps/gui/components/custom/status-badge.tsx +22 -0
- package/workspace-snapshot/files/apps/gui/components/custom/target-repo-config-form.tsx +647 -0
- package/workspace-snapshot/files/apps/gui/components/custom/target-workflow-pr-card.tsx +283 -0
- package/workspace-snapshot/files/apps/gui/components/custom/theme-provider.tsx +11 -0
- package/workspace-snapshot/files/apps/gui/components/custom/theme-toggle.tsx +44 -0
- package/workspace-snapshot/files/apps/gui/components/custom/workflow-install-pending-panel.tsx +116 -0
- package/workspace-snapshot/files/apps/gui/components/ui/badge.tsx +40 -0
- package/workspace-snapshot/files/apps/gui/components/ui/button.tsx +52 -0
- package/workspace-snapshot/files/apps/gui/components/ui/card.tsx +64 -0
- package/workspace-snapshot/files/apps/gui/components/ui/checkbox.tsx +21 -0
- package/workspace-snapshot/files/apps/gui/components/ui/input.tsx +22 -0
- package/workspace-snapshot/files/apps/gui/components/ui/label.tsx +20 -0
- package/workspace-snapshot/files/apps/gui/components/ui/separator.tsx +23 -0
- package/workspace-snapshot/files/apps/gui/components/ui/skeleton.tsx +13 -0
- package/workspace-snapshot/files/apps/gui/components/ui/textarea.tsx +22 -0
- package/workspace-snapshot/files/apps/gui/components.json +21 -0
- package/workspace-snapshot/files/apps/gui/lib/constants/breakpoints.ts +13 -0
- package/workspace-snapshot/files/apps/gui/lib/constants/form.ts +8 -0
- package/workspace-snapshot/files/apps/gui/lib/constants/index.ts +4 -0
- package/workspace-snapshot/files/apps/gui/lib/constants/layout.ts +9 -0
- package/workspace-snapshot/files/apps/gui/lib/constants/spacing.ts +8 -0
- package/workspace-snapshot/files/apps/gui/lib/guided-setup.ts +216 -0
- package/workspace-snapshot/files/apps/gui/lib/setup-json-response.ts +19 -0
- package/workspace-snapshot/files/apps/gui/lib/setup-server.ts +836 -0
- package/workspace-snapshot/files/apps/gui/lib/step6-remote-state.ts +43 -0
- package/workspace-snapshot/files/apps/gui/lib/utils.ts +6 -0
- package/workspace-snapshot/files/apps/gui/lib/vercel-bridge-polling-ui.ts +16 -0
- package/workspace-snapshot/files/apps/gui/lib/verification-state.ts +170 -0
- package/workspace-snapshot/files/apps/gui/next-env.d.ts +6 -0
- package/workspace-snapshot/files/apps/gui/next.config.ts +34 -0
- package/workspace-snapshot/files/apps/gui/postcss.config.mjs +8 -0
- package/workspace-snapshot/files/apps/gui/public/setup/github-token/github-pat-generate-classic.png +0 -0
- package/workspace-snapshot/files/apps/gui/public/setup/github-token/github-pat-generate-new-token.png +0 -0
- package/workspace-snapshot/files/apps/gui/public/setup/github-token/github-pat-verify-email.png +0 -0
- package/workspace-snapshot/files/apps/gui/styles/globals.css +86 -0
- package/workspace-snapshot/files/apps/gui/tsconfig.json +24 -0
- package/workspace-snapshot/files/apps/gui/tweetsodium.d.ts +14 -0
- package/workspace-snapshot/files/docs/architecture/linear-automation-state-machine.md +267 -0
- package/workspace-snapshot/files/docs/decisions/0001-cursor-first-v0.1.md +59 -0
- package/workspace-snapshot/files/docs/decisions/0003-automation-state-machine-and-auto-model-policy.md +65 -0
- package/workspace-snapshot/files/docs/decisions/0004-agent-provider-boundary.md +109 -0
- package/workspace-snapshot/files/docs/design/product-development-harness-gui.md +1024 -0
- package/workspace-snapshot/files/docs/getting-started.md +123 -0
- package/workspace-snapshot/files/docs/gui-local.md +151 -0
- package/workspace-snapshot/files/docs/gui-remote-setup.md +106 -0
- package/workspace-snapshot/files/docs/integration-repair.md +82 -0
- package/workspace-snapshot/files/docs/issue-intake.md +124 -0
- package/workspace-snapshot/files/docs/linear-watcher-setup.md +184 -0
- package/workspace-snapshot/files/docs/milestones/m1-runner-foundation.md +51 -0
- package/workspace-snapshot/files/docs/milestones/m2-planning-phase.md +129 -0
- package/workspace-snapshot/files/docs/milestones/m3-implementation-phase.md +158 -0
- package/workspace-snapshot/files/docs/milestones/m4-handoff-phase.md +122 -0
- package/workspace-snapshot/files/docs/milestones/m5-revision-phase.md +101 -0
- package/workspace-snapshot/files/docs/milestones/m6-merge-phase.md +143 -0
- package/workspace-snapshot/files/docs/milestones/m7-issue-intake.md +72 -0
- package/workspace-snapshot/files/docs/milestones/m8-linear-watcher.md +80 -0
- package/workspace-snapshot/files/docs/npm-packaging-spike.md +52 -0
- package/workspace-snapshot/files/docs/operator-config.md +187 -0
- package/workspace-snapshot/files/docs/p-dev.md +213 -0
- package/workspace-snapshot/files/docs/production-sync-automation.md +176 -0
- package/workspace-snapshot/files/docs/provider-portability.md +131 -0
- package/workspace-snapshot/files/docs/releases/release-process.md +272 -0
- package/workspace-snapshot/files/docs/releases/v0.2.0.md +193 -0
- package/workspace-snapshot/files/docs/releases/v0.3.0.md +188 -0
- package/workspace-snapshot/files/docs/releases/v0.3.1.md +102 -0
- package/workspace-snapshot/files/docs/research/001-manual-run-retrospective.md +64 -0
- package/workspace-snapshot/files/docs/research/002-linear-cursor-integration-smoke-test.md +64 -0
- package/workspace-snapshot/files/docs/research/003-cursor-automation-planning-router-spike.md +104 -0
- package/workspace-snapshot/files/docs/research/README.md +26 -0
- package/workspace-snapshot/files/docs/security.md +190 -0
- package/workspace-snapshot/files/docs/skills/README.md +7 -0
- package/workspace-snapshot/files/docs/skills/skill-architecture.md +197 -0
- package/workspace-snapshot/files/docs/target-repo-branch-setup.md +80 -0
- package/workspace-snapshot/files/evals/README.md +31 -0
- package/workspace-snapshot/files/examples/README.md +32 -0
- package/workspace-snapshot/files/examples/runs/001-target-app-github-link/README.md +49 -0
- package/workspace-snapshot/files/examples/runs/001-target-app-github-link/eval-scorecard.md +63 -0
- package/workspace-snapshot/files/examples/runs/001-target-app-github-link/implementation-plan.md +79 -0
- package/workspace-snapshot/files/examples/runs/001-target-app-github-link/linear-issue.md +74 -0
- package/workspace-snapshot/files/examples/runs/001-target-app-github-link/pr-readiness-report.md +92 -0
- package/workspace-snapshot/files/examples/runs/m5.5-live-sandbox-smoke/README.md +73 -0
- package/workspace-snapshot/files/gpt/issue-intake/custom-gpt-instructions.md +112 -0
- package/workspace-snapshot/files/gpt/issue-intake/knowledge.md +278 -0
- package/workspace-snapshot/files/gpt/issue-intake/setup-guide.md +115 -0
- package/workspace-snapshot/files/gpt/issue-intake/smoke-test.md +119 -0
- package/workspace-snapshot/files/harness.config.json +92 -0
- package/workspace-snapshot/files/harness.config.schema.json +352 -0
- package/workspace-snapshot/files/package-lock.json +3716 -0
- package/workspace-snapshot/files/package.json +60 -0
- package/workspace-snapshot/files/packages/p-dev/LICENSE +21 -0
- package/workspace-snapshot/files/packages/p-dev/README.md +64 -0
- package/workspace-snapshot/files/packages/p-dev/gui.next.config.mjs +13 -0
- package/workspace-snapshot/files/packages/p-dev/package.json +63 -0
- package/workspace-snapshot/files/prompts/issue-intake-chatgpt.md +264 -0
- package/workspace-snapshot/files/scripts/generate-config-schema.ts +16 -0
- package/workspace-snapshot/files/scripts/prepare-p-dev-package.ts +155 -0
- package/workspace-snapshot/files/skills/README.md +7 -0
- package/workspace-snapshot/files/skills/issue-intake/README.md +5 -0
- package/workspace-snapshot/files/src/agents/cursor-provider.ts +109 -0
- package/workspace-snapshot/files/src/agents/index.ts +68 -0
- package/workspace-snapshot/files/src/agents/provider.ts +7 -0
- package/workspace-snapshot/files/src/agents/types.ts +85 -0
- package/workspace-snapshot/files/src/artifacts/events.ts +31 -0
- package/workspace-snapshot/files/src/artifacts/manifest-fields.ts +9 -0
- package/workspace-snapshot/files/src/artifacts/manifest.ts +20 -0
- package/workspace-snapshot/files/src/artifacts/paths.ts +145 -0
- package/workspace-snapshot/files/src/artifacts/redact.ts +50 -0
- package/workspace-snapshot/files/src/artifacts/run-id.ts +4 -0
- package/workspace-snapshot/files/src/artifacts/snapshot.ts +13 -0
- package/workspace-snapshot/files/src/artifacts/summary.ts +116 -0
- package/workspace-snapshot/files/src/cli/commands/diagnose-vercel-bridge.ts +25 -0
- package/workspace-snapshot/files/src/cli/commands/doctor.ts +205 -0
- package/workspace-snapshot/files/src/cli/commands/inspect.ts +46 -0
- package/workspace-snapshot/files/src/cli/commands/operator-init.ts +39 -0
- package/workspace-snapshot/files/src/cli/commands/redact-output.ts +19 -0
- package/workspace-snapshot/files/src/cli/commands/resolve-route.ts +81 -0
- package/workspace-snapshot/files/src/cli/commands/run.ts +53 -0
- package/workspace-snapshot/files/src/cli/commands/sync-production.ts +207 -0
- package/workspace-snapshot/files/src/cli/commands/validate-issue.ts +72 -0
- package/workspace-snapshot/files/src/cli/exit-codes.ts +4 -0
- package/workspace-snapshot/files/src/cli/finalize-exit.ts +9 -0
- package/workspace-snapshot/files/src/cli/program.ts +200 -0
- package/workspace-snapshot/files/src/config/defaults.ts +33 -0
- package/workspace-snapshot/files/src/config/load-config.ts +80 -0
- package/workspace-snapshot/files/src/config/load-dotenv.ts +11 -0
- package/workspace-snapshot/files/src/config/resolve-config.ts +127 -0
- package/workspace-snapshot/files/src/config/schema.ts +129 -0
- package/workspace-snapshot/files/src/config/status-names.ts +63 -0
- package/workspace-snapshot/files/src/config/types.ts +1 -0
- package/workspace-snapshot/files/src/cursor/agent-factory.ts +126 -0
- package/workspace-snapshot/files/src/cursor/errors.ts +18 -0
- package/workspace-snapshot/files/src/cursor/git-result.ts +87 -0
- package/workspace-snapshot/files/src/cursor/model.ts +47 -0
- package/workspace-snapshot/files/src/cursor/revision-git-result.ts +80 -0
- package/workspace-snapshot/files/src/cursor/run-cleanup.ts +30 -0
- package/workspace-snapshot/files/src/cursor/run-observer.ts +367 -0
- package/workspace-snapshot/files/src/cursor/urls.ts +19 -0
- package/workspace-snapshot/files/src/fixture/frontmatter.ts +56 -0
- package/workspace-snapshot/files/src/github/actions-url.ts +13 -0
- package/workspace-snapshot/files/src/github/base-branch.ts +120 -0
- package/workspace-snapshot/files/src/github/check-policy.ts +108 -0
- package/workspace-snapshot/files/src/github/client.ts +796 -0
- package/workspace-snapshot/files/src/github/commit-reachability.ts +184 -0
- package/workspace-snapshot/files/src/github/links.ts +23 -0
- package/workspace-snapshot/files/src/github/merge-result.ts +31 -0
- package/workspace-snapshot/files/src/github/pr-discovery.ts +55 -0
- package/workspace-snapshot/files/src/github/pr-inspector.ts +297 -0
- package/workspace-snapshot/files/src/github/pr-url.ts +23 -0
- package/workspace-snapshot/files/src/github/rate-limit-metadata.ts +105 -0
- package/workspace-snapshot/files/src/gui/configure-health.ts +160 -0
- package/workspace-snapshot/files/src/gui/dev-server-process.ts +213 -0
- package/workspace-snapshot/files/src/gui/port.ts +78 -0
- package/workspace-snapshot/files/src/gui/repo-root.ts +61 -0
- package/workspace-snapshot/files/src/gui/start-configure-stable.ts +139 -0
- package/workspace-snapshot/files/src/gui/start-gui.ts +126 -0
- package/workspace-snapshot/files/src/index.ts +10 -0
- package/workspace-snapshot/files/src/linear/client.ts +49 -0
- package/workspace-snapshot/files/src/linear/comment-card.ts +74 -0
- package/workspace-snapshot/files/src/linear/comments.ts +891 -0
- package/workspace-snapshot/files/src/linear/handoff-comment.ts +19 -0
- package/workspace-snapshot/files/src/linear/issue-query.ts +70 -0
- package/workspace-snapshot/files/src/linear/markers.ts +238 -0
- package/workspace-snapshot/files/src/linear/merge-source-comment.ts +46 -0
- package/workspace-snapshot/files/src/linear/parser.ts +101 -0
- package/workspace-snapshot/files/src/linear/phase-labels.ts +58 -0
- package/workspace-snapshot/files/src/linear/planning-comment.ts +19 -0
- package/workspace-snapshot/files/src/linear/pm-feedback-comment.ts +41 -0
- package/workspace-snapshot/files/src/linear/revision-comment.ts +19 -0
- package/workspace-snapshot/files/src/linear/states.ts +20 -0
- package/workspace-snapshot/files/src/linear/writer.ts +216 -0
- package/workspace-snapshot/files/src/p-dev/browser.ts +26 -0
- package/workspace-snapshot/files/src/p-dev/cli.ts +93 -0
- package/workspace-snapshot/files/src/p-dev/git-object-plumbing.ts +271 -0
- package/workspace-snapshot/files/src/p-dev/launch.ts +173 -0
- package/workspace-snapshot/files/src/p-dev/main.ts +10 -0
- package/workspace-snapshot/files/src/p-dev/next-bin.ts +8 -0
- package/workspace-snapshot/files/src/p-dev/node-version.ts +46 -0
- package/workspace-snapshot/files/src/p-dev/package-paths.ts +47 -0
- package/workspace-snapshot/files/src/p-dev/package-version.ts +63 -0
- package/workspace-snapshot/files/src/p-dev/runtime-mode.ts +28 -0
- package/workspace-snapshot/files/src/p-dev/shutdown.ts +66 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-digest.ts +50 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-generator.ts +112 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-git.ts +221 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-manifest.ts +336 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-policy.ts +198 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-types.ts +59 -0
- package/workspace-snapshot/files/src/p-dev/workspace-snapshot-validation.ts +137 -0
- package/workspace-snapshot/files/src/p-dev/workspace.ts +114 -0
- package/workspace-snapshot/files/src/preview/production-from-merge.ts +143 -0
- package/workspace-snapshot/files/src/preview/urls.ts +28 -0
- package/workspace-snapshot/files/src/preview/vercel-from-pr.ts +123 -0
- package/workspace-snapshot/files/src/prompts/branch-name.ts +22 -0
- package/workspace-snapshot/files/src/prompts/builder.ts +88 -0
- package/workspace-snapshot/files/src/prompts/implementation.md +77 -0
- package/workspace-snapshot/files/src/prompts/integration-repair-builder.ts +65 -0
- package/workspace-snapshot/files/src/prompts/integration-repair.md +111 -0
- package/workspace-snapshot/files/src/prompts/planning.md +64 -0
- package/workspace-snapshot/files/src/prompts/revision-builder.ts +61 -0
- package/workspace-snapshot/files/src/prompts/revision.md +71 -0
- package/workspace-snapshot/files/src/resolver/allowed-repos.ts +18 -0
- package/workspace-snapshot/files/src/resolver/errors.ts +14 -0
- package/workspace-snapshot/files/src/resolver/normalize-repo.ts +32 -0
- package/workspace-snapshot/files/src/resolver/target-repo.ts +118 -0
- package/workspace-snapshot/files/src/runner/building-recovery.ts +26 -0
- package/workspace-snapshot/files/src/runner/dry-run.ts +137 -0
- package/workspace-snapshot/files/src/runner/errors.ts +70 -0
- package/workspace-snapshot/files/src/runner/execution-environment.ts +179 -0
- package/workspace-snapshot/files/src/runner/fixture.ts +25 -0
- package/workspace-snapshot/files/src/runner/idempotency.ts +507 -0
- package/workspace-snapshot/files/src/runner/orchestrator.ts +182 -0
- package/workspace-snapshot/files/src/runner/phase-args.ts +49 -0
- package/workspace-snapshot/files/src/runner/phase-infer.ts +67 -0
- package/workspace-snapshot/files/src/runner/phases/handoff.ts +615 -0
- package/workspace-snapshot/files/src/runner/phases/implementation.ts +617 -0
- package/workspace-snapshot/files/src/runner/phases/integration-repair.ts +613 -0
- package/workspace-snapshot/files/src/runner/phases/merge.ts +1202 -0
- package/workspace-snapshot/files/src/runner/phases/planning.ts +456 -0
- package/workspace-snapshot/files/src/runner/phases/production-sync.ts +308 -0
- package/workspace-snapshot/files/src/runner/phases/revision.ts +795 -0
- package/workspace-snapshot/files/src/runner/preflight.ts +218 -0
- package/workspace-snapshot/files/src/runner/resolve-route.ts +154 -0
- package/workspace-snapshot/files/src/setup/config-builder.ts +117 -0
- package/workspace-snapshot/files/src/setup/config-local-editor.ts +260 -0
- package/workspace-snapshot/files/src/setup/config-writer.ts +173 -0
- package/workspace-snapshot/files/src/setup/control-plane-readiness-server.ts +16 -0
- package/workspace-snapshot/files/src/setup/control-plane-readiness.ts +291 -0
- package/workspace-snapshot/files/src/setup/control-plane-setup-state.ts +60 -0
- package/workspace-snapshot/files/src/setup/control-plane-types.ts +121 -0
- package/workspace-snapshot/files/src/setup/doctor-summary.ts +96 -0
- package/workspace-snapshot/files/src/setup/env-merge.ts +266 -0
- package/workspace-snapshot/files/src/setup/env-writer.ts +179 -0
- package/workspace-snapshot/files/src/setup/first-run-readiness.ts +1431 -0
- package/workspace-snapshot/files/src/setup/generated-instructions.ts +96 -0
- package/workspace-snapshot/files/src/setup/github-dispatch-token.ts +88 -0
- package/workspace-snapshot/files/src/setup/github-remote-provider.ts +983 -0
- package/workspace-snapshot/files/src/setup/github-remote-setup-live.ts +775 -0
- package/workspace-snapshot/files/src/setup/github-repo-slug.ts +31 -0
- package/workspace-snapshot/files/src/setup/github-secret-encryption.ts +16 -0
- package/workspace-snapshot/files/src/setup/github-upload-rate-limit-gate.ts +58 -0
- package/workspace-snapshot/files/src/setup/github-workflow-permissions.ts +174 -0
- package/workspace-snapshot/files/src/setup/gui-view-model.ts +566 -0
- package/workspace-snapshot/files/src/setup/guided-config-form.ts +52 -0
- package/workspace-snapshot/files/src/setup/harness-dispatch-repo.ts +158 -0
- package/workspace-snapshot/files/src/setup/harness-managed-repo-marker.ts +653 -0
- package/workspace-snapshot/files/src/setup/harness-provisioning-context.ts +331 -0
- package/workspace-snapshot/files/src/setup/harness-provisioning-pending-state.ts +282 -0
- package/workspace-snapshot/files/src/setup/harness-repo-provisioning.ts +1656 -0
- package/workspace-snapshot/files/src/setup/harness-secret-fingerprint.ts +51 -0
- package/workspace-snapshot/files/src/setup/harness-secret-setup.ts +439 -0
- package/workspace-snapshot/files/src/setup/harness-snapshot-provisioning-helpers.ts +92 -0
- package/workspace-snapshot/files/src/setup/harness-snapshot-provisioning.ts +1007 -0
- package/workspace-snapshot/files/src/setup/harness-template-identity.ts +151 -0
- package/workspace-snapshot/files/src/setup/harness-workspace-snapshot-loader.ts +105 -0
- package/workspace-snapshot/files/src/setup/linear-setup-apply.ts +270 -0
- package/workspace-snapshot/files/src/setup/linear-setup-client.ts +276 -0
- package/workspace-snapshot/files/src/setup/linear-setup-plan.ts +353 -0
- package/workspace-snapshot/files/src/setup/linear-setup-summary.ts +33 -0
- package/workspace-snapshot/files/src/setup/linear-status-contract.ts +110 -0
- package/workspace-snapshot/files/src/setup/linear-webhook-env-local.ts +104 -0
- package/workspace-snapshot/files/src/setup/linear-webhook-secret.ts +441 -0
- package/workspace-snapshot/files/src/setup/local-apply-actions.ts +524 -0
- package/workspace-snapshot/files/src/setup/local-readiness-checks.ts +334 -0
- package/workspace-snapshot/files/src/setup/mock-git-repository-store.ts +291 -0
- package/workspace-snapshot/files/src/setup/mock-target-workflow-finalization.ts +445 -0
- package/workspace-snapshot/files/src/setup/model-settings.ts +73 -0
- package/workspace-snapshot/files/src/setup/permission-model.ts +79 -0
- package/workspace-snapshot/files/src/setup/redact-secrets.ts +85 -0
- package/workspace-snapshot/files/src/setup/remote-actions.ts +214 -0
- package/workspace-snapshot/files/src/setup/remote-apply-actions.ts +390 -0
- package/workspace-snapshot/files/src/setup/remote-preview-fingerprint.ts +37 -0
- package/workspace-snapshot/files/src/setup/remote-setup-summary.ts +143 -0
- package/workspace-snapshot/files/src/setup/secret-change-token.ts +14 -0
- package/workspace-snapshot/files/src/setup/service-verification.ts +549 -0
- package/workspace-snapshot/files/src/setup/setup-actions.ts +183 -0
- package/workspace-snapshot/files/src/setup/setup-github-auth.ts +15 -0
- package/workspace-snapshot/files/src/setup/setup-state.ts +74 -0
- package/workspace-snapshot/files/src/setup/stale-smoke-repo.ts +141 -0
- package/workspace-snapshot/files/src/setup/sync-downstream-summaries.ts +105 -0
- package/workspace-snapshot/files/src/setup/target-workflow-finalization-lock.ts +95 -0
- package/workspace-snapshot/files/src/setup/target-workflow-finalization-types.ts +55 -0
- package/workspace-snapshot/files/src/setup/target-workflow-finalization.ts +897 -0
- package/workspace-snapshot/files/src/setup/target-workflow-setup.ts +247 -0
- package/workspace-snapshot/files/src/setup/test-only-provisioning-provider.ts +51 -0
- package/workspace-snapshot/files/src/setup/test-only-remote-setup-provider.ts +51 -0
- package/workspace-snapshot/files/src/setup/tweetsodium.d.ts +14 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-diagnostics.ts +510 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-options.ts +160 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-readiness.ts +150 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-redeploy-poll.ts +744 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-redeploy-state.ts +46 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-structured-log.ts +86 -0
- package/workspace-snapshot/files/src/setup/vercel-bridge-verification.ts +63 -0
- package/workspace-snapshot/files/src/setup/vercel-production-redeploy.ts +298 -0
- package/workspace-snapshot/files/src/setup/vercel-setup-apply.ts +1058 -0
- package/workspace-snapshot/files/src/setup/vercel-setup-client.ts +695 -0
- package/workspace-snapshot/files/src/setup/vercel-setup-plan.ts +672 -0
- package/workspace-snapshot/files/src/setup/vercel-setup-summary.ts +42 -0
- package/workspace-snapshot/files/src/setup/vercel-webhook-probe.ts +161 -0
- package/workspace-snapshot/files/src/setup/workflow-install-merge-errors.ts +166 -0
- package/workspace-snapshot/files/src/types/parsed-issue.ts +8 -0
- package/workspace-snapshot/files/src/types/run.ts +157 -0
- package/workspace-snapshot/files/src/validate/constants.ts +2 -0
- package/workspace-snapshot/files/src/validate/issue.ts +286 -0
- package/workspace-snapshot/files/src/validate/report.ts +68 -0
- package/workspace-snapshot/files/src/validate/types.ts +29 -0
- package/workspace-snapshot/files/src/webhook/dispatch-github.ts +44 -0
- package/workspace-snapshot/files/src/webhook/dispatch-statuses.ts +26 -0
- package/workspace-snapshot/files/src/webhook/extract-issue-key.ts +49 -0
- package/workspace-snapshot/files/src/webhook/filter.ts +41 -0
- package/workspace-snapshot/files/src/webhook/handle-linear-webhook.ts +201 -0
- package/workspace-snapshot/files/src/webhook/parse-linear-issue-event.ts +105 -0
- package/workspace-snapshot/files/src/webhook/redact-log.ts +26 -0
- package/workspace-snapshot/files/src/webhook/types.ts +75 -0
- package/workspace-snapshot/files/src/webhook/verify.ts +68 -0
- package/workspace-snapshot/files/src/webhook/workflow-command.ts +10 -0
- package/workspace-snapshot/files/src/workflow/dispatch-metadata.ts +59 -0
- package/workspace-snapshot/files/src/workflow/manifest-summary.ts +57 -0
- package/workspace-snapshot/files/src/workflow/production-sync-dispatch.ts +65 -0
- package/workspace-snapshot/files/src/workflow/summarize-manifest.ts +20 -0
- package/workspace-snapshot/files/src/workflow/validate.ts +43 -0
- package/workspace-snapshot/files/src/workflow/write-dispatch-metadata.ts +8 -0
- package/workspace-snapshot/files/templates/eval-scorecard.md +54 -0
- package/workspace-snapshot/files/templates/implementation-plan.md +59 -0
- package/workspace-snapshot/files/templates/linear-issue.md +53 -0
- package/workspace-snapshot/files/templates/pr-readiness-report.md +57 -0
- package/workspace-snapshot/files/tests/agents/cursor-provider.test.ts +238 -0
- package/workspace-snapshot/files/tests/artifacts/manifest.test.ts +54 -0
- package/workspace-snapshot/files/tests/artifacts/redact.test.ts +47 -0
- package/workspace-snapshot/files/tests/cli/doctor.test.ts +120 -0
- package/workspace-snapshot/files/tests/cli/finalize-exit.test.ts +28 -0
- package/workspace-snapshot/files/tests/cli/operator-init.test.ts +146 -0
- package/workspace-snapshot/files/tests/cli/sync-production-dispatch.test.ts +103 -0
- package/workspace-snapshot/files/tests/cli/validate-issue.test.ts +99 -0
- package/workspace-snapshot/files/tests/config/load-dotenv.test.ts +64 -0
- package/workspace-snapshot/files/tests/config/resolve-config.test.ts +273 -0
- package/workspace-snapshot/files/tests/config/schema.test.ts +107 -0
- package/workspace-snapshot/files/tests/cursor/agent-factory.test.ts +217 -0
- package/workspace-snapshot/files/tests/cursor/git-result.test.ts +77 -0
- package/workspace-snapshot/files/tests/cursor/model.test.ts +108 -0
- package/workspace-snapshot/files/tests/cursor/revision-git-result.test.ts +68 -0
- package/workspace-snapshot/files/tests/cursor/run-cleanup.test.ts +52 -0
- package/workspace-snapshot/files/tests/cursor/run-observer.test.ts +280 -0
- package/workspace-snapshot/files/tests/cursor/urls.test.ts +27 -0
- package/workspace-snapshot/files/tests/fixtures/config/minimal.json +16 -0
- package/workspace-snapshot/files/tests/fixtures/github/pr-4-vercel-comment.json +10 -0
- package/workspace-snapshot/files/tests/fixtures/issues/broad-for-direct-impl.md +28 -0
- package/workspace-snapshot/files/tests/fixtures/issues/context-target-repo.md +21 -0
- package/workspace-snapshot/files/tests/fixtures/issues/explicit-target-repo.md +21 -0
- package/workspace-snapshot/files/tests/fixtures/issues/gpt-broad-example.md +35 -0
- package/workspace-snapshot/files/tests/fixtures/issues/gpt-narrow-example.md +30 -0
- package/workspace-snapshot/files/tests/fixtures/issues/invalid-missing-task.md +16 -0
- package/workspace-snapshot/files/tests/fixtures/issues/invalid-no-ac-bullets.md +20 -0
- package/workspace-snapshot/files/tests/fixtures/issues/missing-acceptance-criteria.md +17 -0
- package/workspace-snapshot/files/tests/fixtures/issues/unknown-repo.md +20 -0
- package/workspace-snapshot/files/tests/fixtures/issues/valid-minimal.md +20 -0
- package/workspace-snapshot/files/tests/fixtures/issues/valid-project-only.md +17 -0
- package/workspace-snapshot/files/tests/fixtures/issues/valid-target-app.md +31 -0
- package/workspace-snapshot/files/tests/fixtures/linear/implementation-comment-wes-13.md +16 -0
- package/workspace-snapshot/files/tests/fixtures/linear/pm-feedback-wes-13.md +3 -0
- package/workspace-snapshot/files/tests/fixtures/webhook/issue-building-to-pr-open.json +27 -0
- package/workspace-snapshot/files/tests/fixtures/webhook/issue-pm-review.json +27 -0
- package/workspace-snapshot/files/tests/fixtures/webhook/issue-ready-for-planning.json +27 -0
- package/workspace-snapshot/files/tests/fixtures/webhook/issue-title-only-update.json +25 -0
- package/workspace-snapshot/files/tests/fixtures/workflows/harness-auto-runner-with-production-sync.yml +561 -0
- package/workspace-snapshot/files/tests/fixtures/workflows/trigger-harness-production-sync.yml +31 -0
- package/workspace-snapshot/files/tests/github/actions-url.test.ts +45 -0
- package/workspace-snapshot/files/tests/github/base-branch.test.ts +156 -0
- package/workspace-snapshot/files/tests/github/check-policy.test.ts +59 -0
- package/workspace-snapshot/files/tests/github/client.test.ts +226 -0
- package/workspace-snapshot/files/tests/github/commit-reachability.test.ts +148 -0
- package/workspace-snapshot/files/tests/github/merge-result.test.ts +26 -0
- package/workspace-snapshot/files/tests/github/pr-discovery.test.ts +55 -0
- package/workspace-snapshot/files/tests/github/pr-inspector.test.ts +393 -0
- package/workspace-snapshot/files/tests/github/pr-url.test.ts +30 -0
- package/workspace-snapshot/files/tests/github/rate-limit-metadata.test.ts +92 -0
- package/workspace-snapshot/files/tests/gui/configure-fix-loop.test.ts +460 -0
- package/workspace-snapshot/files/tests/gui/configure-health.test.ts +67 -0
- package/workspace-snapshot/files/tests/gui/design-system.test.ts +86 -0
- package/workspace-snapshot/files/tests/gui/dev-server-process.test.ts +22 -0
- package/workspace-snapshot/files/tests/gui/guided-setup.test.ts +186 -0
- package/workspace-snapshot/files/tests/gui/m6-configure-boundaries.test.ts +884 -0
- package/workspace-snapshot/files/tests/gui/packaged-harness-cloud-secrets-routes.test.ts +287 -0
- package/workspace-snapshot/files/tests/gui/packaged-harness-provisioning-routes.test.ts +212 -0
- package/workspace-snapshot/files/tests/gui/packaged-harness-target-workflow-routes.test.ts +227 -0
- package/workspace-snapshot/files/tests/gui/port.test.ts +74 -0
- package/workspace-snapshot/files/tests/gui/repo-root.test.ts +60 -0
- package/workspace-snapshot/files/tests/gui/setup-api.test.ts +181 -0
- package/workspace-snapshot/files/tests/gui/setup-json-response.test.ts +34 -0
- package/workspace-snapshot/files/tests/gui/step6-remote-state.test.ts +75 -0
- package/workspace-snapshot/files/tests/gui/sync-downstream-summaries.test.ts +198 -0
- package/workspace-snapshot/files/tests/gui/vercel-bridge-polling-ui.test.ts +25 -0
- package/workspace-snapshot/files/tests/gui/verification-state.test.ts +172 -0
- package/workspace-snapshot/files/tests/linear/comment-assertions.ts +24 -0
- package/workspace-snapshot/files/tests/linear/comment-card.test.ts +73 -0
- package/workspace-snapshot/files/tests/linear/comments.test.ts +185 -0
- package/workspace-snapshot/files/tests/linear/handoff-comment.test.ts +34 -0
- package/workspace-snapshot/files/tests/linear/markers.test.ts +97 -0
- package/workspace-snapshot/files/tests/linear/merge-comment.test.ts +61 -0
- package/workspace-snapshot/files/tests/linear/merge-source-comment.test.ts +49 -0
- package/workspace-snapshot/files/tests/linear/parser.test.ts +83 -0
- package/workspace-snapshot/files/tests/linear/planning-comment.test.ts +29 -0
- package/workspace-snapshot/files/tests/linear/pm-feedback-comment.test.ts +63 -0
- package/workspace-snapshot/files/tests/p-dev/browser.test.ts +38 -0
- package/workspace-snapshot/files/tests/p-dev/cli.test.ts +39 -0
- package/workspace-snapshot/files/tests/p-dev/git-object-plumbing.test.ts +139 -0
- package/workspace-snapshot/files/tests/p-dev/launch.test.ts +110 -0
- package/workspace-snapshot/files/tests/p-dev/next-bin.test.ts +16 -0
- package/workspace-snapshot/files/tests/p-dev/node-version.test.ts +20 -0
- package/workspace-snapshot/files/tests/p-dev/package-manifest.test.ts +47 -0
- package/workspace-snapshot/files/tests/p-dev/package-packed-artifact.test.ts +130 -0
- package/workspace-snapshot/files/tests/p-dev/package-paths.test.ts +43 -0
- package/workspace-snapshot/files/tests/p-dev/package-version.test.ts +55 -0
- package/workspace-snapshot/files/tests/p-dev/packaged-workspace-setup.test.ts +87 -0
- package/workspace-snapshot/files/tests/p-dev/runtime-mode.test.ts +18 -0
- package/workspace-snapshot/files/tests/p-dev/workspace-snapshot-digest.test.ts +61 -0
- package/workspace-snapshot/files/tests/p-dev/workspace-snapshot-generator.test.ts +76 -0
- package/workspace-snapshot/files/tests/p-dev/workspace-snapshot-policy.test.ts +35 -0
- package/workspace-snapshot/files/tests/p-dev/workspace-snapshot-validation.test.ts +158 -0
- package/workspace-snapshot/files/tests/p-dev/workspace.test.ts +80 -0
- package/workspace-snapshot/files/tests/preview/production-from-merge.test.ts +39 -0
- package/workspace-snapshot/files/tests/preview/vercel-from-pr.test.ts +120 -0
- package/workspace-snapshot/files/tests/prompts/builder.test.ts +58 -0
- package/workspace-snapshot/files/tests/prompts/implementation-builder.test.ts +76 -0
- package/workspace-snapshot/files/tests/prompts/issue-intake-chatgpt.test.ts +105 -0
- package/workspace-snapshot/files/tests/resolver/allowed-repos.test.ts +44 -0
- package/workspace-snapshot/files/tests/resolver/normalize-repo.test.ts +44 -0
- package/workspace-snapshot/files/tests/resolver/target-repo.test.ts +91 -0
- package/workspace-snapshot/files/tests/runner/building-recovery.test.ts +30 -0
- package/workspace-snapshot/files/tests/runner/dry-run.test.ts +128 -0
- package/workspace-snapshot/files/tests/runner/execution-environment.test.ts +114 -0
- package/workspace-snapshot/files/tests/runner/handoff.test.ts +312 -0
- package/workspace-snapshot/files/tests/runner/idempotency-handoff.test.ts +170 -0
- package/workspace-snapshot/files/tests/runner/idempotency-implementation.test.ts +143 -0
- package/workspace-snapshot/files/tests/runner/idempotency-merge.test.ts +118 -0
- package/workspace-snapshot/files/tests/runner/idempotency-revision.test.ts +111 -0
- package/workspace-snapshot/files/tests/runner/idempotency.test.ts +83 -0
- package/workspace-snapshot/files/tests/runner/implementation.test.ts +196 -0
- package/workspace-snapshot/files/tests/runner/integration-repair.test.ts +263 -0
- package/workspace-snapshot/files/tests/runner/merge.test.ts +760 -0
- package/workspace-snapshot/files/tests/runner/orchestrator.test.ts +301 -0
- package/workspace-snapshot/files/tests/runner/phase-args.test.ts +38 -0
- package/workspace-snapshot/files/tests/runner/planning.test.ts +160 -0
- package/workspace-snapshot/files/tests/runner/resolve-route.test.ts +249 -0
- package/workspace-snapshot/files/tests/runner/revision.test.ts +326 -0
- package/workspace-snapshot/files/tests/setup/config-builder.test.ts +136 -0
- package/workspace-snapshot/files/tests/setup/config-local-editor.test.ts +164 -0
- package/workspace-snapshot/files/tests/setup/connect-services-credential-availability.test.ts +151 -0
- package/workspace-snapshot/files/tests/setup/connect-services-env.test.ts +84 -0
- package/workspace-snapshot/files/tests/setup/control-plane-readiness.test.ts +59 -0
- package/workspace-snapshot/files/tests/setup/doctor-summary.test.ts +48 -0
- package/workspace-snapshot/files/tests/setup/env-merge.test.ts +177 -0
- package/workspace-snapshot/files/tests/setup/env-writer.test.ts +97 -0
- package/workspace-snapshot/files/tests/setup/first-run-readiness.test.ts +1099 -0
- package/workspace-snapshot/files/tests/setup/generated-instructions.test.ts +48 -0
- package/workspace-snapshot/files/tests/setup/github-dispatch-token.test.ts +111 -0
- package/workspace-snapshot/files/tests/setup/github-remote-provider.test.ts +66 -0
- package/workspace-snapshot/files/tests/setup/github-remote-setup-live.test.ts +59 -0
- package/workspace-snapshot/files/tests/setup/github-workflow-permissions.test.ts +71 -0
- package/workspace-snapshot/files/tests/setup/gui-remote-storage.test.ts +43 -0
- package/workspace-snapshot/files/tests/setup/gui-view-model.test.ts +251 -0
- package/workspace-snapshot/files/tests/setup/guided-config-form.test.ts +54 -0
- package/workspace-snapshot/files/tests/setup/harness-dispatch-repo.test.ts +105 -0
- package/workspace-snapshot/files/tests/setup/harness-managed-repo-marker.test.ts +141 -0
- package/workspace-snapshot/files/tests/setup/harness-provisioning-context.test.ts +89 -0
- package/workspace-snapshot/files/tests/setup/harness-provisioning-pending-state.test.ts +88 -0
- package/workspace-snapshot/files/tests/setup/harness-repo-provisioning.test.ts +897 -0
- package/workspace-snapshot/files/tests/setup/harness-secret-setup.test.ts +255 -0
- package/workspace-snapshot/files/tests/setup/harness-snapshot-default-branch.test.ts +73 -0
- package/workspace-snapshot/files/tests/setup/harness-snapshot-description-finalization.test.ts +136 -0
- package/workspace-snapshot/files/tests/setup/harness-snapshot-marker-tree.test.ts +61 -0
- package/workspace-snapshot/files/tests/setup/harness-snapshot-reconciliation.test.ts +132 -0
- package/workspace-snapshot/files/tests/setup/harness-snapshot-structured-errors.test.ts +137 -0
- package/workspace-snapshot/files/tests/setup/harness-snapshot-upload-rate-limit.test.ts +105 -0
- package/workspace-snapshot/files/tests/setup/linear-setup-apply.test.ts +131 -0
- package/workspace-snapshot/files/tests/setup/linear-setup-plan.test.ts +106 -0
- package/workspace-snapshot/files/tests/setup/linear-webhook-env-local.test.ts +95 -0
- package/workspace-snapshot/files/tests/setup/linear-webhook-secret.test.ts +256 -0
- package/workspace-snapshot/files/tests/setup/live-provisioning-error-preservation.test.ts +98 -0
- package/workspace-snapshot/files/tests/setup/local-apply-actions.test.ts +352 -0
- package/workspace-snapshot/files/tests/setup/local-readiness-checks.test.ts +175 -0
- package/workspace-snapshot/files/tests/setup/model-settings.test.ts +52 -0
- package/workspace-snapshot/files/tests/setup/packaged-provisioning-permissions.test.ts +41 -0
- package/workspace-snapshot/files/tests/setup/permission-model.test.ts +38 -0
- package/workspace-snapshot/files/tests/setup/redact-secrets.test.ts +78 -0
- package/workspace-snapshot/files/tests/setup/remote-actions.test.ts +45 -0
- package/workspace-snapshot/files/tests/setup/remote-apply-actions.test.ts +302 -0
- package/workspace-snapshot/files/tests/setup/remote-preview-fingerprint.test.ts +121 -0
- package/workspace-snapshot/files/tests/setup/service-verification.test.ts +312 -0
- package/workspace-snapshot/files/tests/setup/setup-actions.test.ts +96 -0
- package/workspace-snapshot/files/tests/setup/setup-form-defaults.test.ts +35 -0
- package/workspace-snapshot/files/tests/setup/setup-server-remote.test.ts +90 -0
- package/workspace-snapshot/files/tests/setup/stale-smoke-repo.test.ts +84 -0
- package/workspace-snapshot/files/tests/setup/step6-automatic-apply-outcome.test.ts +303 -0
- package/workspace-snapshot/files/tests/setup/target-workflow-finalization-lock.test.ts +51 -0
- package/workspace-snapshot/files/tests/setup/target-workflow-finalization-step-github.test.ts +435 -0
- package/workspace-snapshot/files/tests/setup/target-workflow-finalization.test.ts +222 -0
- package/workspace-snapshot/files/tests/setup/target-workflow-setup.test.ts +62 -0
- package/workspace-snapshot/files/tests/setup/test-workspace-snapshot-fixture.ts +100 -0
- package/workspace-snapshot/files/tests/setup/vercel-bridge-diagnostics.test.ts +429 -0
- package/workspace-snapshot/files/tests/setup/vercel-bridge-options.test.ts +135 -0
- package/workspace-snapshot/files/tests/setup/vercel-bridge-preview-fingerprint.test.ts +52 -0
- package/workspace-snapshot/files/tests/setup/vercel-bridge-redeploy-poll.test.ts +582 -0
- package/workspace-snapshot/files/tests/setup/vercel-bridge-structured-log.test.ts +45 -0
- package/workspace-snapshot/files/tests/setup/vercel-bridge-verification.test.ts +39 -0
- package/workspace-snapshot/files/tests/setup/vercel-endpoint-reachability.test.ts +60 -0
- package/workspace-snapshot/files/tests/setup/vercel-production-redeploy.test.ts +184 -0
- package/workspace-snapshot/files/tests/setup/vercel-setup-apply.test.ts +1282 -0
- package/workspace-snapshot/files/tests/setup/vercel-setup-client.test.ts +395 -0
- package/workspace-snapshot/files/tests/setup/vercel-setup-plan.test.ts +261 -0
- package/workspace-snapshot/files/tests/setup/vercel-webhook-probe.test.ts +78 -0
- package/workspace-snapshot/files/tests/setup/workflow-install-merge-errors.test.ts +38 -0
- package/workspace-snapshot/files/tests/validate-issue/report.test.ts +56 -0
- package/workspace-snapshot/files/tests/validate-issue/validate-issue.test.ts +202 -0
- package/workspace-snapshot/files/tests/webhook/dispatch-github.test.ts +193 -0
- package/workspace-snapshot/files/tests/webhook/extract-issue-key.test.ts +65 -0
- package/workspace-snapshot/files/tests/webhook/filter.test.ts +132 -0
- package/workspace-snapshot/files/tests/webhook/harness-auto-runner-workflow.test.ts +169 -0
- package/workspace-snapshot/files/tests/webhook/parse-linear-issue-event.test.ts +89 -0
- package/workspace-snapshot/files/tests/webhook/verify.test.ts +125 -0
- package/workspace-snapshot/files/tests/workflow/dispatch-metadata.test.ts +38 -0
- package/workspace-snapshot/files/tests/workflow/manifest-summary.test.ts +58 -0
- package/workspace-snapshot/files/tests/workflow/production-sync-dispatch.test.ts +101 -0
- package/workspace-snapshot/files/tests/workflow/validate.test.ts +70 -0
- package/workspace-snapshot/files/tests/workflow/workflow-shell-safety.test.ts +92 -0
- package/workspace-snapshot/files/tsconfig.json +22 -0
- package/workspace-snapshot/files/vercel.json +10 -0
- package/workspace-snapshot/files/vitest.config.ts +15 -0
- package/workspace-snapshot/manifest.json +4911 -0
- package/gui/.next/server/chunks/120.js +0 -81
- package/gui/.next/static/css/cc2acc71c03f3b4b.css +0 -3
- /package/gui/.next/static/{7x8X_k4tESvkyqRnNCC9E → ZGJuemeaiW4yT7CTlmjdG}/_buildManifest.js +0 -0
- /package/gui/.next/static/{7x8X_k4tESvkyqRnNCC9E → ZGJuemeaiW4yT7CTlmjdG}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var a={};a.id=217,a.ids=[217],a.modules={44:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{GracefulDegradeBoundary:function(){return f},default:function(){return g}});let d=c(78157),e=c(31768);class f extends e.Component{static getDerivedStateFromError(a){return{hasError:!0}}componentDidMount(){let a=this.htmlRef.current;this.state.hasError&&a&&Object.entries(this.htmlAttributes).forEach(b=>{let[c,d]=b;a.setAttribute(c,d)})}render(){let{hasError:a}=this.state;return a?(0,d.jsx)("html",{ref:this.htmlRef,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:this.rootHtml}}):this.props.children}constructor(a){super(a),this.state={hasError:!1},this.rootHtml="",this.htmlAttributes={},this.htmlRef=(0,e.createRef)()}}let g=f;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1067:(a,b,c)=>{"use strict";c.d(b,{ThemeToggle:()=>k});var d=c(78157),e=c(81744);let f=(0,e.A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),g=(0,e.A)("moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);var h=c(26556),i=c(31768),j=c(80678);function k(){let{resolvedTheme:a,setTheme:b}=(0,h.D)(),[c,e]=(0,i.useState)(!1);if(!c)return(0,d.jsx)(j.$,{type:"button",variant:"ghost",size:"sm",className:"h-8 w-8 px-0",disabled:!0,children:(0,d.jsx)("span",{className:"sr-only",children:"Toggle theme"})});let k="dark"===a;return(0,d.jsxs)(j.$,{type:"button",variant:"ghost",size:"sm",className:"inline-flex h-8 items-center gap-2 px-2",onClick:()=>b(k?"light":"dark"),children:[k?(0,d.jsx)(f,{className:"h-4 w-4","aria-hidden":!0}):(0,d.jsx)(g,{className:"h-4 w-4","aria-hidden":!0}),(0,d.jsx)("span",{className:"text-sm",children:k?"Light":"Dark"}),(0,d.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}},1667:a=>{"use strict";a.exports=JSON.parse('{"name":"dotenv","version":"16.6.1","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')},2173:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{addSearchParamsToPageSegments:function(){return m},handleAliasedPrefetchEntry:function(){return l}});let d=c(44859),e=c(25918),f=c(24848),g=c(75497),h=c(82521),i=c(68360),j=c(26613),k=c(15426);function l(a,b,c,l,n){let o,p=b.tree,q=b.cache,r=(0,g.createHrefFromUrl)(l),s=[];if("string"==typeof c)return!1;for(let b of c){if(!function a(b){if(!b)return!1;let c=b[2];if(b[3])return!0;for(let b in c)if(a(c[b]))return!0;return!1}(b.seedData))continue;let c=b.tree;c=m(c,Object.fromEntries(l.searchParams));let{seedData:g,isRootRender:j,pathToSegment:n}=b,t=["",...n];c=m(c,Object.fromEntries(l.searchParams));let u=(0,f.applyRouterStatePatchToTree)(t,p,c,r),v=(0,e.createEmptyCacheNode)();if(j&&g){let b=g[1];v.loading=g[3],v.rsc=b,function a(b,c,e,f,g){if(0!==Object.keys(f[1]).length)for(let i in f[1]){let j,k=f[1][i],l=k[0],m=(0,h.createRouterCacheKey)(l),n=null!==g&&void 0!==g[2][i]?g[2][i]:null;if(null!==n){let a=n[1],c=n[3];j={lazyData:null,rsc:l.includes(d.PAGE_SEGMENT_KEY)?null:a,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:c,navigatedAt:b}}else j={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};let o=c.parallelRoutes.get(i);o?o.set(m,j):c.parallelRoutes.set(i,new Map([[m,j]])),a(b,j,e,k,n)}}(a,v,q,c,g)}else v.rsc=q.rsc,v.prefetchRsc=q.prefetchRsc,v.loading=q.loading,v.parallelRoutes=new Map(q.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(a,v,q,b);for(let a of(u&&(p=u,q=v,o=!0),(0,k.generateSegmentsFromPatch)(c))){let c=[...b.pathToSegment,...a];c[c.length-1]!==d.DEFAULT_SEGMENT_KEY&&s.push(c)}}return!!o&&(n.patchedTree=p,n.cache=q,n.canonicalUrl=r,n.hashFragment=l.hash,n.scrollableSegments=s,(0,j.handleMutable)(b,n))}function m(a,b){let[c,e,...f]=a;if(c.includes(d.PAGE_SEGMENT_KEY))return[(0,d.addSearchParamsIfPageSegment)(c,b),e,...f];let g={};for(let[a,c]of Object.entries(e))g[a]=m(c,b);return[c,g,...f]}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3498:(a,b,c)=>{let{createProxy:d}=c(38898);a.exports=d("/Users/weston/Code/agentic-product-development-harness/node_modules/next/dist/client/app-dir/link.js")},3615:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>ay,dynamic:()=>ax});var d=c(5939),e=c(3498),f=c.n(e),g=c(64788);let h={shell:"min-h-screen bg-background",header:"border-b border-border bg-card",headerInner:"mx-auto flex w-full max-w-5xl items-center justify-between px-4 py-4 md:px-6",main:"mx-auto w-full max-w-5xl px-4 py-8 md:px-6 md:py-10"},i=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),j=[],k=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=k(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},l=(a,b)=>{let c=i();for(let d in a)m(a[d],c,d,b);return c},m=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)n(a[f],b,c,d)},n=(a,b,c,d)=>"string"==typeof a?void o(a,b,c):"function"==typeof a?void p(a,b,c,d):void q(a,b,c,d),o=(a,b,c)=>{(""===a?b:r(b,a)).classGroupId=c},p=(a,b,c,d)=>{if(s(a))return void m(a(d),b,c,d);null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a})},q=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];m(g,r(b,f),c,d)}},r=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=i(),c.nextPart.set(b,e)),c=e}return c},s=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,t=[],u=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),v=/\s+/,w=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=w(a[d]))&&(c&&(c+=" "),c+=b);return c},x=[],y=a=>{let b=b=>b[a]||x;return b.isThemeGetter=!0,b},z=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,A=/^\((?:(\w[\w-]*):)?(.+)\)$/i,B=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,C=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,D=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,E=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,G=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,H=a=>B.test(a),I=a=>!!a&&!Number.isNaN(Number(a)),J=a=>!!a&&Number.isInteger(Number(a)),K=a=>a.endsWith("%")&&I(a.slice(0,-1)),L=a=>C.test(a),M=()=>!0,N=a=>D.test(a)&&!E.test(a),O=()=>!1,P=a=>F.test(a),Q=a=>G.test(a),R=a=>!U(a)&&!aa(a),S=a=>a.startsWith("@container")&&("/"===a[10]&&void 0!==a[11]||"s"===a[11]&&void 0!==a[16]&&a.startsWith("-size/",10)||"n"===a[11]&&void 0!==a[18]&&a.startsWith("-normal/",10)),T=a=>ai(a,am,O),U=a=>z.test(a),V=a=>ai(a,an,N),W=a=>ai(a,ao,I),X=a=>ai(a,aq,M),Y=a=>ai(a,ap,O),Z=a=>ai(a,ak,O),$=a=>ai(a,al,Q),_=a=>ai(a,ar,P),aa=a=>A.test(a),ab=a=>aj(a,an),ac=a=>aj(a,ap),ad=a=>aj(a,ak),ae=a=>aj(a,am),af=a=>aj(a,al),ag=a=>aj(a,ar,!0),ah=a=>aj(a,aq,!0),ai=(a,b,c)=>{let d=z.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},aj=(a,b,c=!1)=>{let d=A.exec(a);return!!d&&(d[1]?b(d[1]):c)},ak=a=>"position"===a||"percentage"===a,al=a=>"image"===a||"url"===a,am=a=>"length"===a||"size"===a||"bg-size"===a,an=a=>"length"===a,ao=a=>"number"===a,ap=a=>"family-name"===a,aq=a=>"number"===a||"weight"===a,ar=a=>"shadow"===a;Symbol.toStringTag;let as=((a,...b)=>{let c,d,e,f,g=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f,postfixLookupClassGroupIds:g}=b,h=[],i=a.trim().split(v),j="";for(let a=i.length-1;a>=0;a-=1){let b,k=i[a],{isExternal:l,modifiers:m,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:p}=c(k);if(l){j=k+(j.length>0?" "+j:j);continue}let q=!!p;if(q){let a=(b=d(o.substring(0,p)))&&g[b]?d(o):void 0;a&&a!==b&&(b=a,q=!1)}else b=d(o);if(!b){if(!q||!(b=d(o))){j=k+(j.length>0?" "+j:j);continue}q=!1}let r=0===m.length?"":1===m.length?m[0]:f(m).join(":"),s=n?r+"!":r,t=s+b;if(h.indexOf(t)>-1)continue;h.push(t);let u=e(b,q);for(let a=0;a<u.length;++a){let b=u[a];h.push(s+b)}j=k+(j.length>0?" "+j:j)}return j})(a,c);return e(a,f),f};return f=h=>(d=(c=(a=>({cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})(a.cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),u(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):u(t,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(a),sortModifiers:(a=>{let b=new Map;return a.orderSensitiveModifiers.forEach((a,c)=>{b.set(a,1e6+c)}),a=>{let c=[],d=[];for(let e=0;e<a.length;e++){let f=a[e],g="["===f[0],h=b.has(f);g||h?(d.length>0&&(d.sort(),c.push(...d),d=[]),c.push(f)):d.push(f)}return d.length>0&&(d.sort(),c.push(...d)),c}})(a),postfixLookupClassGroupIds:(a=>{let b=Object.create(null),c=a.postfixLookupClassGroups;if(c)for(let a=0;a<c.length;a++)b[c[a]]=!0;return b})(a),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return l(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return(a=>-1===a.slice(1,-1).indexOf(":")?void 0:(()=>{let b=a.slice(1,-1),c=b.indexOf(":"),d=b.slice(0,c);return d?"arbitrary.."+d:void 0})())(a);let c=a.split("-"),d=+(""===c[0]&&c.length>1);return k(c,d,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];return b?e?((a,b)=>{let c=Array(a.length+b.length);for(let b=0;b<a.length;b++)c[b]=a[b];for(let d=0;d<b.length;d++)c[a.length+d]=b[d];return c})(e,b):b:e||j}return c[a]||j}}})(a)}))(b.reduce((a,b)=>b(a),a()))).cache.get,e=c.cache.set,f=g,g(h)),(...a)=>f(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=w(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=y("color"),b=y("font"),c=y("text"),d=y("font-weight"),e=y("tracking"),f=y("leading"),g=y("breakpoint"),h=y("container"),i=y("spacing"),j=y("radius"),k=y("shadow"),l=y("inset-shadow"),m=y("text-shadow"),n=y("drop-shadow"),o=y("blur"),p=y("perspective"),q=y("aspect"),r=y("ease"),s=y("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),aa,U],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],z=()=>[aa,U,i],A=()=>[H,"full","auto",...z()],B=()=>[J,"none","subgrid",aa,U],C=()=>["auto",{span:["full",J,aa,U]},J,aa,U],D=()=>[J,"auto",aa,U],E=()=>["auto","min","max","fr",aa,U],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...z()],O=()=>[H,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],P=()=>[H,"screen","full","dvw","lvw","svw","min","max","fit",...z()],Q=()=>[H,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],ai=()=>[a,aa,U],aj=()=>[...u(),ad,Z,{position:[aa,U]}],ak=()=>["no-repeat",{repeat:["","x","y","space","round"]}],al=()=>["auto","cover","contain",ae,T,{size:[aa,U]}],am=()=>[K,ab,V],an=()=>["","none","full",j,aa,U],ao=()=>["",I,ab,V],ap=()=>["solid","dashed","dotted","double"],aq=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ar=()=>[I,K,ad,Z],as=()=>["","none",o,aa,U],at=()=>["none",I,aa,U],au=()=>["none",I,aa,U],av=()=>[I,aa,U],aw=()=>[H,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[L],breakpoint:[L],color:[M],container:[L],"drop-shadow":[L],ease:["in","out","in-out"],font:[R],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[L],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[L],shadow:[L],spacing:["px",I],text:[L],"text-shadow":[L],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",H,U,aa,q]}],container:["container"],"container-type":[{"@container":["","normal","size",aa,U]}],"container-named":[S],columns:[{columns:[I,U,aa,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[J,"auto",aa,U]}],basis:[{basis:[H,"full","auto",h,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,H,"auto","initial","none",U]}],grow:[{grow:["",I,aa,U]}],shrink:[{shrink:["",I,aa,U]}],order:[{order:[J,"first","last","none",aa,U]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":E()}],"auto-rows":[{"auto-rows":E()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...P()]}],"min-inline-size":[{"min-inline":["auto",...P()]}],"max-inline-size":[{"max-inline":["none",...P()]}],"block-size":[{block:["auto",...Q()]}],"min-block-size":[{"min-block":["auto",...Q()]}],"max-block-size":[{"max-block":["none",...Q()]}],w:[{w:[h,"screen",...O()]}],"min-w":[{"min-w":[h,"screen","none",...O()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",c,ab,V]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,ah,X]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",K,U]}],"font-family":[{font:[ac,Y,b]}],"font-features":[{"font-features":[U]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,aa,U]}],"line-clamp":[{"line-clamp":[I,"none",aa,W]}],leading:[{leading:[f,...z()]}],"list-image":[{"list-image":["none",aa,U]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",aa,U]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ai()}],"text-color":[{text:ai()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ap(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",aa,V]}],"text-decoration-color":[{decoration:ai()}],"underline-offset":[{"underline-offset":[I,"auto",aa,U]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"tab-size":[{tab:[J,aa,U]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",aa,U]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",aa,U]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:aj()}],"bg-repeat":[{bg:ak()}],"bg-size":[{bg:al()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},J,aa,U],radial:["",aa,U],conic:[J,aa,U]},af,$]}],"bg-color":[{bg:ai()}],"gradient-from-pos":[{from:am()}],"gradient-via-pos":[{via:am()}],"gradient-to-pos":[{to:am()}],"gradient-from":[{from:ai()}],"gradient-via":[{via:ai()}],"gradient-to":[{to:ai()}],rounded:[{rounded:an()}],"rounded-s":[{"rounded-s":an()}],"rounded-e":[{"rounded-e":an()}],"rounded-t":[{"rounded-t":an()}],"rounded-r":[{"rounded-r":an()}],"rounded-b":[{"rounded-b":an()}],"rounded-l":[{"rounded-l":an()}],"rounded-ss":[{"rounded-ss":an()}],"rounded-se":[{"rounded-se":an()}],"rounded-ee":[{"rounded-ee":an()}],"rounded-es":[{"rounded-es":an()}],"rounded-tl":[{"rounded-tl":an()}],"rounded-tr":[{"rounded-tr":an()}],"rounded-br":[{"rounded-br":an()}],"rounded-bl":[{"rounded-bl":an()}],"border-w":[{border:ao()}],"border-w-x":[{"border-x":ao()}],"border-w-y":[{"border-y":ao()}],"border-w-s":[{"border-s":ao()}],"border-w-e":[{"border-e":ao()}],"border-w-bs":[{"border-bs":ao()}],"border-w-be":[{"border-be":ao()}],"border-w-t":[{"border-t":ao()}],"border-w-r":[{"border-r":ao()}],"border-w-b":[{"border-b":ao()}],"border-w-l":[{"border-l":ao()}],"divide-x":[{"divide-x":ao()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ao()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ap(),"hidden","none"]}],"divide-style":[{divide:[...ap(),"hidden","none"]}],"border-color":[{border:ai()}],"border-color-x":[{"border-x":ai()}],"border-color-y":[{"border-y":ai()}],"border-color-s":[{"border-s":ai()}],"border-color-e":[{"border-e":ai()}],"border-color-bs":[{"border-bs":ai()}],"border-color-be":[{"border-be":ai()}],"border-color-t":[{"border-t":ai()}],"border-color-r":[{"border-r":ai()}],"border-color-b":[{"border-b":ai()}],"border-color-l":[{"border-l":ai()}],"divide-color":[{divide:ai()}],"outline-style":[{outline:[...ap(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,aa,U]}],"outline-w":[{outline:["",I,ab,V]}],"outline-color":[{outline:ai()}],shadow:[{shadow:["","none",k,ag,_]}],"shadow-color":[{shadow:ai()}],"inset-shadow":[{"inset-shadow":["none",l,ag,_]}],"inset-shadow-color":[{"inset-shadow":ai()}],"ring-w":[{ring:ao()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ai()}],"ring-offset-w":[{"ring-offset":[I,V]}],"ring-offset-color":[{"ring-offset":ai()}],"inset-ring-w":[{"inset-ring":ao()}],"inset-ring-color":[{"inset-ring":ai()}],"text-shadow":[{"text-shadow":["none",m,ag,_]}],"text-shadow-color":[{"text-shadow":ai()}],opacity:[{opacity:[I,aa,U]}],"mix-blend":[{"mix-blend":[...aq(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":aq()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":ar()}],"mask-image-linear-to-pos":[{"mask-linear-to":ar()}],"mask-image-linear-from-color":[{"mask-linear-from":ai()}],"mask-image-linear-to-color":[{"mask-linear-to":ai()}],"mask-image-t-from-pos":[{"mask-t-from":ar()}],"mask-image-t-to-pos":[{"mask-t-to":ar()}],"mask-image-t-from-color":[{"mask-t-from":ai()}],"mask-image-t-to-color":[{"mask-t-to":ai()}],"mask-image-r-from-pos":[{"mask-r-from":ar()}],"mask-image-r-to-pos":[{"mask-r-to":ar()}],"mask-image-r-from-color":[{"mask-r-from":ai()}],"mask-image-r-to-color":[{"mask-r-to":ai()}],"mask-image-b-from-pos":[{"mask-b-from":ar()}],"mask-image-b-to-pos":[{"mask-b-to":ar()}],"mask-image-b-from-color":[{"mask-b-from":ai()}],"mask-image-b-to-color":[{"mask-b-to":ai()}],"mask-image-l-from-pos":[{"mask-l-from":ar()}],"mask-image-l-to-pos":[{"mask-l-to":ar()}],"mask-image-l-from-color":[{"mask-l-from":ai()}],"mask-image-l-to-color":[{"mask-l-to":ai()}],"mask-image-x-from-pos":[{"mask-x-from":ar()}],"mask-image-x-to-pos":[{"mask-x-to":ar()}],"mask-image-x-from-color":[{"mask-x-from":ai()}],"mask-image-x-to-color":[{"mask-x-to":ai()}],"mask-image-y-from-pos":[{"mask-y-from":ar()}],"mask-image-y-to-pos":[{"mask-y-to":ar()}],"mask-image-y-from-color":[{"mask-y-from":ai()}],"mask-image-y-to-color":[{"mask-y-to":ai()}],"mask-image-radial":[{"mask-radial":[aa,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":ar()}],"mask-image-radial-to-pos":[{"mask-radial-to":ar()}],"mask-image-radial-from-color":[{"mask-radial-from":ai()}],"mask-image-radial-to-color":[{"mask-radial-to":ai()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":u()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":ar()}],"mask-image-conic-to-pos":[{"mask-conic-to":ar()}],"mask-image-conic-from-color":[{"mask-conic-from":ai()}],"mask-image-conic-to-color":[{"mask-conic-to":ai()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:aj()}],"mask-repeat":[{mask:ak()}],"mask-size":[{mask:al()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",aa,U]}],filter:[{filter:["","none",aa,U]}],blur:[{blur:as()}],brightness:[{brightness:[I,aa,U]}],contrast:[{contrast:[I,aa,U]}],"drop-shadow":[{"drop-shadow":["","none",n,ag,_]}],"drop-shadow-color":[{"drop-shadow":ai()}],grayscale:[{grayscale:["",I,aa,U]}],"hue-rotate":[{"hue-rotate":[I,aa,U]}],invert:[{invert:["",I,aa,U]}],saturate:[{saturate:[I,aa,U]}],sepia:[{sepia:["",I,aa,U]}],"backdrop-filter":[{"backdrop-filter":["","none",aa,U]}],"backdrop-blur":[{"backdrop-blur":as()}],"backdrop-brightness":[{"backdrop-brightness":[I,aa,U]}],"backdrop-contrast":[{"backdrop-contrast":[I,aa,U]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,aa,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,aa,U]}],"backdrop-invert":[{"backdrop-invert":["",I,aa,U]}],"backdrop-opacity":[{"backdrop-opacity":[I,aa,U]}],"backdrop-saturate":[{"backdrop-saturate":[I,aa,U]}],"backdrop-sepia":[{"backdrop-sepia":["",I,aa,U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",aa,U]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",aa,U]}],ease:[{ease:["linear","initial",r,aa,U]}],delay:[{delay:[I,aa,U]}],animate:[{animate:["none",s,aa,U]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,aa,U]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:at()}],"rotate-x":[{"rotate-x":at()}],"rotate-y":[{"rotate-y":at()}],"rotate-z":[{"rotate-z":at()}],scale:[{scale:au()}],"scale-x":[{"scale-x":au()}],"scale-y":[{"scale-y":au()}],"scale-z":[{"scale-z":au()}],"scale-3d":["scale-3d"],skew:[{skew:av()}],"skew-x":[{"skew-x":av()}],"skew-y":[{"skew-y":av()}],transform:[{transform:[aa,U,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:aw()}],"translate-x":[{"translate-x":aw()}],"translate-y":[{"translate-y":aw()}],"translate-z":[{"translate-z":aw()}],"translate-none":["translate-none"],zoom:[{zoom:[J,aa,U]}],accent:[{accent:ai()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ai()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",aa,U]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ai()}],"scrollbar-track-color":[{"scrollbar-track":ai()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",aa,U]}],fill:[{fill:["none",...ai()]}],"stroke-w":[{stroke:[I,ab,V,W]}],stroke:[{stroke:["none",...ai()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function at({children:a,className:b}){return(0,d.jsxs)("div",{className:function(...a){return as(function(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}(a))}(h.shell,b),children:[(0,d.jsx)("header",{className:h.header,children:(0,d.jsxs)("div",{className:h.headerInner,children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Product Development Harness"}),(0,d.jsx)("h1",{className:"text-lg font-semibold tracking-tight",children:"Local operator GUI"})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-4 text-sm",children:[(0,d.jsx)(g.ThemeToggle,{}),(0,d.jsx)(f(),{href:"/settings/configure",className:"font-medium text-foreground hover:text-primary",children:"Settings"})]})]})}),(0,d.jsx)("main",{className:h.main,children:a})]})}var au=c(51337);function av({summary:a,remoteSummary:b,linearSummary:c,vercelSummary:e,formDefaults:f}){return(0,d.jsx)(au.ConfigureExperience,{initialSummary:a,initialRemoteSummary:b,initialLinearSummary:c,initialVercelSummary:e,formDefaults:f})}var aw=c(60120);let ax="force-dynamic";async function ay(){let[a,b,c,e,f]=await Promise.all([(0,aw.al)(),(0,aw.CP)(),(0,aw.W8)(),(0,aw.VP)(),(0,aw.bT)()]);return(0,d.jsx)(at,{children:(0,d.jsx)(av,{summary:a,remoteSummary:c,linearSummary:e,vercelSummary:f,formDefaults:b})})}},4306:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});var d=c(79390);let e=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,f=d.$,g=(a,b)=>c=>{var d;if((null==b?void 0:b.variants)==null)return f(a,null==c?void 0:c.class,null==c?void 0:c.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==c?void 0:c[a],d=null==h?void 0:h[a];if(null===b)return null;let f=e(b)||e(d);return g[a][f]}),j=c&&Object.entries(c).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return f(a,i,null==b||null==(d=b.compoundVariants)?void 0:d.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==c?void 0:c.class,null==c?void 0:c.className)}},4335:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"assignLocation",{enumerable:!0,get:function(){return e}});let d=c(61725);function e(a,b){if(a.startsWith(".")){let c=b.origin+b.pathname;return new URL((c.endsWith("/")?c:c+"/")+a)}return new URL((0,d.addBasePath)(a),b.href)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},5162:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PromiseQueue",{enumerable:!0,get:function(){return j}});let d=c(17400),e=c(64402);var f=e._("_maxConcurrency"),g=e._("_runningCount"),h=e._("_queue"),i=e._("_processNext");class j{enqueue(a){let b,c,e=new Promise((a,d)=>{b=a,c=d}),f=async()=>{try{d._(this,g)[g]++;let c=await a();b(c)}catch(a){c(a)}finally{d._(this,g)[g]--,d._(this,i)[i]()}};return d._(this,h)[h].push({promiseFn:e,task:f}),d._(this,i)[i](),e}bump(a){let b=d._(this,h)[h].findIndex(b=>b.promiseFn===a);if(b>-1){let a=d._(this,h)[h].splice(b,1)[0];d._(this,h)[h].unshift(a),d._(this,i)[i](!0)}}constructor(a=5){Object.defineProperty(this,i,{value:k}),Object.defineProperty(this,f,{writable:!0,value:void 0}),Object.defineProperty(this,g,{writable:!0,value:void 0}),Object.defineProperty(this,h,{writable:!0,value:void 0}),d._(this,f)[f]=a,d._(this,g)[g]=0,d._(this,h)[h]=[]}}function k(a){if(void 0===a&&(a=!1),(d._(this,g)[g]<d._(this,f)[f]||a)&&d._(this,h)[h].length>0){var b;null==(b=d._(this,h)[h].shift())||b.task()}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},7342:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return e}});let d=c(82521);function e(a,b,c){for(let e in c[1]){let f=c[1][e][0],g=(0,d.createRouterCacheKey)(f),h=b.parallelRoutes.get(e);if(h){let b=new Map(h);b.delete(g),a.parallelRoutes.set(e,b)}}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11505:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"shouldHardNavigate",{enumerable:!0,get:function(){return function a(b,c){let[f,g]=c,[h,i]=b;return(0,e.matchSegment)(h,f)?!(b.length<=2)&&a((0,d.getNextFlightSegmentPath)(b),g[i]):!!Array.isArray(h)}}});let d=c(89909),e=c(58395);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},11966:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"applyFlightData",{enumerable:!0,get:function(){return f}});let d=c(63102),e=c(68360);function f(a,b,c,f,g){let{tree:h,seedData:i,head:j,isRootRender:k}=f;if(null===i)return!1;if(k){let e=i[1];c.loading=i[3],c.rsc=e,c.prefetchRsc=null,(0,d.fillLazyItemsTillLeafWithHead)(a,c,b,h,i,j,g)}else c.rsc=b.rsc,c.prefetchRsc=b.prefetchRsc,c.parallelRoutes=new Map(b.parallelRoutes),c.loading=b.loading,(0,e.fillCacheWithNewSubTreeData)(a,c,b,f,g);return!0}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},13355:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"handleSegmentMismatch",{enumerable:!0,get:function(){return e}});let d=c(15426);function e(a,b,c){return(0,d.handleExternalUrl)(a,{},a.canonicalUrl,!0)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},14329:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.AmpContext},15252:(a,b,c)=>{"use strict";function d(a){return a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeBasePath",{enumerable:!0,get:function(){return d}}),c(94650),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},15426:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{generateSegmentsFromPatch:function(){return u},handleExternalUrl:function(){return t},navigateReducer:function(){return function a(b,c){let{url:v,isExternalUrl:w,navigateType:x,shouldScroll:y,allowAliasing:z}=c,A={},{hash:B}=v,C=(0,e.createHrefFromUrl)(v),D="push"===x;if((0,q.prunePrefetchCache)(b.prefetchCache),A.preserveCustomHistoryState=!1,A.pendingPush=D,w)return t(b,A,v.toString(),D);if(document.getElementById("__next-page-redirect"))return t(b,A,C,D);let E=(0,q.getOrCreatePrefetchCacheEntry)({url:v,nextUrl:b.nextUrl,tree:b.tree,prefetchCache:b.prefetchCache,allowAliasing:z}),{treeAtTimeOfPrefetch:F,data:G}=E;return m.prefetchQueue.bump(G),G.then(m=>{let{flightData:q,canonicalUrl:w,postponed:x}=m,z=Date.now(),G=!1;if(E.lastUsedTime||(E.lastUsedTime=z,G=!0),E.aliased){let d=new URL(v.href);w&&(d.pathname=w.pathname);let e=(0,s.handleAliasedPrefetchEntry)(z,b,q,d,A);return!1===e?a(b,{...c,allowAliasing:!1}):e}if("string"==typeof q)return t(b,A,q,D);let H=w?(0,e.createHrefFromUrl)(w):C;if(B&&b.canonicalUrl.split("#",1)[0]===H.split("#",1)[0])return A.onlyHashChange=!0,A.canonicalUrl=H,A.shouldScroll=y,A.hashFragment=B,A.scrollableSegments=[],(0,k.handleMutable)(b,A);let I=b.tree,J=b.cache,K=[];for(let a of q){let{pathToSegment:c,seedData:e,head:k,isHeadPartial:m,isRootRender:q}=a,s=a.tree,w=["",...c],y=(0,g.applyRouterStatePatchToTree)(w,I,s,C);if(null===y&&(y=(0,g.applyRouterStatePatchToTree)(w,F,s,C)),null!==y){if(e&&q&&x){let a=(0,p.startPPRNavigation)(z,J,I,s,e,k,m,!1,K);if(null!==a){if(null===a.route)return t(b,A,C,D);y=a.route;let c=a.node;null!==c&&(A.cache=c);let e=a.dynamicRequestTree;if(null!==e){let c=(0,d.fetchServerResponse)(new URL(H,v.origin),{flightRouterState:e,nextUrl:b.nextUrl});(0,p.listenForDynamicRequest)(a,c)}}else y=s}else{if((0,i.isNavigatingToNewRootLayout)(I,y))return t(b,A,C,D);let d=(0,n.createEmptyCacheNode)(),e=!1;for(let b of(E.status!==j.PrefetchCacheEntryStatus.stale||G?e=(0,l.applyFlightData)(z,J,d,a,E):(e=function(a,b,c,d){let e=!1;for(let f of(a.rsc=b.rsc,a.prefetchRsc=b.prefetchRsc,a.loading=b.loading,a.parallelRoutes=new Map(b.parallelRoutes),u(d).map(a=>[...c,...a])))(0,r.clearCacheNodeDataForSegmentPath)(a,b,f),e=!0;return e}(d,J,c,s),E.lastUsedTime=z),(0,h.shouldHardNavigate)(w,I)?(d.rsc=J.rsc,d.prefetchRsc=J.prefetchRsc,(0,f.invalidateCacheBelowFlightSegmentPath)(d,J,c),A.cache=d):e&&(A.cache=d,J=d),u(s))){let a=[...c,...b];a[a.length-1]!==o.DEFAULT_SEGMENT_KEY&&K.push(a)}}I=y}}return A.patchedTree=I,A.canonicalUrl=H,A.scrollableSegments=K,A.hashFragment=B,A.shouldScroll=y,(0,k.handleMutable)(b,A)},()=>b)}}});let d=c(94082),e=c(75497),f=c(57162),g=c(24848),h=c(11505),i=c(77692),j=c(13136),k=c(26613),l=c(11966),m=c(37446),n=c(25918),o=c(44859),p=c(82582),q=c(81288),r=c(50202),s=c(2173);function t(a,b,c,d){return b.mpaNavigation=!0,b.canonicalUrl=c,b.pendingPush=d,b.scrollableSegments=void 0,(0,k.handleMutable)(a,b)}function u(a){let b=[],[c,d]=a;if(0===Object.keys(d).length)return[[c]];for(let[a,e]of Object.entries(d))for(let d of u(e))""===c?b.push([a,...d]):b.push([c,a,...d]);return b}c(68459),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},17400:(a,b,c)=>{"use strict";function d(a,b){if(!Object.prototype.hasOwnProperty.call(a,b))throw TypeError("attempted to use private field on non-instance");return a}c.r(b),c.d(b,{_:()=>d})},18226:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{addRefreshMarkerToActiveParallelSegments:function(){return function a(b,c){let[d,e,,g]=b;for(let h in d.includes(f.PAGE_SEGMENT_KEY)&&"refresh"!==g&&(b[2]=c,b[3]="refresh"),e)a(e[h],c)}},refreshInactiveParallelSegments:function(){return g}});let d=c(11966),e=c(94082),f=c(44859);async function g(a){let b=new Set;await h({...a,rootTree:a.updatedTree,fetchedSegments:b})}async function h(a){let{navigatedAt:b,state:c,updatedTree:f,updatedCache:g,includeNextUrl:i,fetchedSegments:j,rootTree:k=f,canonicalUrl:l}=a,[,m,n,o]=f,p=[];if(n&&n!==l&&"refresh"===o&&!j.has(n)){j.add(n);let a=(0,e.fetchServerResponse)(new URL(n,location.origin),{flightRouterState:[k[0],k[1],k[2],"refetch"],nextUrl:i?c.nextUrl:null}).then(a=>{let{flightData:c}=a;if("string"!=typeof c)for(let a of c)(0,d.applyFlightData)(b,g,g,a)});p.push(a)}for(let a in m){let d=h({navigatedAt:b,state:c,updatedTree:m[a],updatedCache:g,includeNextUrl:i,fetchedSegments:j,rootTree:k,canonicalUrl:l});p.push(d)}await Promise.all(p)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},18996:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,48365,23)),Promise.resolve().then(c.t.bind(c,64596,23)),Promise.resolve().then(c.t.bind(c,56186,23)),Promise.resolve().then(c.t.bind(c,67805,23)),Promise.resolve().then(c.t.bind(c,27561,23)),Promise.resolve().then(c.t.bind(c,47569,23)),Promise.resolve().then(c.t.bind(c,42747,23)),Promise.resolve().then(c.t.bind(c,56676,23)),Promise.resolve().then(c.bind(c,97225))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},22345:(a,b)=>{"use strict";function c(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function d(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function e(a){let b=new URLSearchParams;for(let[c,e]of Object.entries(a))if(Array.isArray(e))for(let a of e)b.append(c,d(a));else b.set(c,d(e));return b}function f(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];for(let b of c){for(let c of b.keys())a.delete(c);for(let[c,d]of b.entries())a.append(c,d)}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{assign:function(){return f},searchParamsToUrlQuery:function(){return c},urlQueryToSearchParams:function(){return e}})},22772:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(73653),e=c(97714),f=c(85250),g=c(37587),h=c(22369),i=c(1889),j=c(96232),k=c(22841),l=c(46537),m=c(46027),n=c(30905),o=c(78559),p=c(75928),q=c(19374),r=c(65971),s=c(261),t=c(79898),u=c(32967),v=c(26713),w=c(40139),x=c(14248),y=c(59580),z=c(57749),A=c(53123),B=c(89745),C=c(86439),D=c(58671),E=c.n(D),F=c(18283),G=c(39818),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["settings",{children:["configure",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,3615)),"/Users/weston/Code/agentic-product-development-harness/apps/gui/app/settings/configure/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,56035)),"/Users/weston/Code/agentic-product-development-harness/apps/gui/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,58671,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,17983,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,15034,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,54693,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["/Users/weston/Code/agentic-product-development-harness/apps/gui/app/settings/configure/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/settings/configure/page",pathname:"/settings/configure",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:"apps/gui"});async function M(a,b,d){var D;let H="/settings/configure/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
1
|
+
(()=>{var a={};a.id=217,a.ids=[217],a.modules={44:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{GracefulDegradeBoundary:function(){return f},default:function(){return g}});let d=c(78157),e=c(31768);class f extends e.Component{static getDerivedStateFromError(a){return{hasError:!0}}componentDidMount(){let a=this.htmlRef.current;this.state.hasError&&a&&Object.entries(this.htmlAttributes).forEach(b=>{let[c,d]=b;a.setAttribute(c,d)})}render(){let{hasError:a}=this.state;return a?(0,d.jsx)("html",{ref:this.htmlRef,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:this.rootHtml}}):this.props.children}constructor(a){super(a),this.state={hasError:!1},this.rootHtml="",this.htmlAttributes={},this.htmlRef=(0,e.createRef)()}}let g=f;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1067:(a,b,c)=>{"use strict";c.d(b,{ThemeToggle:()=>k});var d=c(78157),e=c(81744);let f=(0,e.A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),g=(0,e.A)("moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);var h=c(26556),i=c(31768),j=c(80678);function k(){let{resolvedTheme:a,setTheme:b}=(0,h.D)(),[c,e]=(0,i.useState)(!1);if(!c)return(0,d.jsx)(j.$,{type:"button",variant:"ghost",size:"sm",className:"h-8 w-8 px-0",disabled:!0,children:(0,d.jsx)("span",{className:"sr-only",children:"Toggle theme"})});let k="dark"===a;return(0,d.jsxs)(j.$,{type:"button",variant:"ghost",size:"sm",className:"inline-flex h-8 items-center gap-2 px-2",onClick:()=>b(k?"light":"dark"),children:[k?(0,d.jsx)(f,{className:"h-4 w-4","aria-hidden":!0}):(0,d.jsx)(g,{className:"h-4 w-4","aria-hidden":!0}),(0,d.jsx)("span",{className:"text-sm",children:k?"Light":"Dark"}),(0,d.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}},1667:a=>{"use strict";a.exports=JSON.parse('{"name":"dotenv","version":"16.6.1","description":"Loads environment variables from .env file","main":"lib/main.js","types":"lib/main.d.ts","exports":{".":{"types":"./lib/main.d.ts","require":"./lib/main.js","default":"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},"scripts":{"dts-check":"tsc --project tests/types/tsconfig.json","lint":"standard","pretest":"npm run lint && npm run dts-check","test":"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov","prerelease":"npm test","release":"standard-version"},"repository":{"type":"git","url":"git://github.com/motdotla/dotenv.git"},"homepage":"https://github.com/motdotla/dotenv#readme","funding":"https://dotenvx.com","keywords":["dotenv","env",".env","environment","variables","config","settings"],"readmeFilename":"README.md","license":"BSD-2-Clause","devDependencies":{"@types/node":"^18.11.3","decache":"^4.6.2","sinon":"^14.0.1","standard":"^17.0.0","standard-version":"^9.5.0","tap":"^19.2.0","typescript":"^4.8.4"},"engines":{"node":">=12"},"browser":{"fs":false}}')},2173:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{addSearchParamsToPageSegments:function(){return m},handleAliasedPrefetchEntry:function(){return l}});let d=c(44859),e=c(25918),f=c(24848),g=c(75497),h=c(82521),i=c(68360),j=c(26613),k=c(15426);function l(a,b,c,l,n){let o,p=b.tree,q=b.cache,r=(0,g.createHrefFromUrl)(l),s=[];if("string"==typeof c)return!1;for(let b of c){if(!function a(b){if(!b)return!1;let c=b[2];if(b[3])return!0;for(let b in c)if(a(c[b]))return!0;return!1}(b.seedData))continue;let c=b.tree;c=m(c,Object.fromEntries(l.searchParams));let{seedData:g,isRootRender:j,pathToSegment:n}=b,t=["",...n];c=m(c,Object.fromEntries(l.searchParams));let u=(0,f.applyRouterStatePatchToTree)(t,p,c,r),v=(0,e.createEmptyCacheNode)();if(j&&g){let b=g[1];v.loading=g[3],v.rsc=b,function a(b,c,e,f,g){if(0!==Object.keys(f[1]).length)for(let i in f[1]){let j,k=f[1][i],l=k[0],m=(0,h.createRouterCacheKey)(l),n=null!==g&&void 0!==g[2][i]?g[2][i]:null;if(null!==n){let a=n[1],c=n[3];j={lazyData:null,rsc:l.includes(d.PAGE_SEGMENT_KEY)?null:a,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:c,navigatedAt:b}}else j={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1};let o=c.parallelRoutes.get(i);o?o.set(m,j):c.parallelRoutes.set(i,new Map([[m,j]])),a(b,j,e,k,n)}}(a,v,q,c,g)}else v.rsc=q.rsc,v.prefetchRsc=q.prefetchRsc,v.loading=q.loading,v.parallelRoutes=new Map(q.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(a,v,q,b);for(let a of(u&&(p=u,q=v,o=!0),(0,k.generateSegmentsFromPatch)(c))){let c=[...b.pathToSegment,...a];c[c.length-1]!==d.DEFAULT_SEGMENT_KEY&&s.push(c)}}return!!o&&(n.patchedTree=p,n.cache=q,n.canonicalUrl=r,n.hashFragment=l.hash,n.scrollableSegments=s,(0,j.handleMutable)(b,n))}function m(a,b){let[c,e,...f]=a;if(c.includes(d.PAGE_SEGMENT_KEY))return[(0,d.addSearchParamsIfPageSegment)(c,b),e,...f];let g={};for(let[a,c]of Object.entries(e))g[a]=m(c,b);return[c,g,...f]}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3498:(a,b,c)=>{let{createProxy:d}=c(38898);a.exports=d("/Users/weston/Code/agentic-product-development-harness/node_modules/next/dist/client/app-dir/link.js")},3615:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>ay,dynamic:()=>ax});var d=c(5939),e=c(3498),f=c.n(e),g=c(64788);let h={shell:"min-h-screen bg-background",header:"border-b border-border bg-card",headerInner:"mx-auto flex w-full max-w-5xl items-center justify-between px-4 py-4 md:px-6",main:"mx-auto w-full max-w-5xl px-4 py-8 md:px-6 md:py-10"},i=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),j=[],k=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=k(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let g=0===b?a.join("-"):a.slice(b).join("-"),h=f.length;for(let a=0;a<h;a++){let b=f[a];if(b.validator(g))return b.classGroupId}},l=(a,b)=>{let c=i();for(let d in a)m(a[d],c,d,b);return c},m=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)n(a[f],b,c,d)},n=(a,b,c,d)=>"string"==typeof a?void o(a,b,c):"function"==typeof a?void p(a,b,c,d):void q(a,b,c,d),o=(a,b,c)=>{(""===a?b:r(b,a)).classGroupId=c},p=(a,b,c,d)=>{if(s(a))return void m(a(d),b,c,d);null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a})},q=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];m(g,r(b,f),c,d)}},r=(a,b)=>{let c=a,d=b.split("-"),e=d.length;for(let a=0;a<e;a++){let b=d[a],e=c.nextPart.get(b);e||(e=i(),c.nextPart.set(b,e)),c=e}return c},s=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,t=[],u=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),v=/\s+/,w=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=w(a[d]))&&(c&&(c+=" "),c+=b);return c},x=[],y=a=>{let b=b=>b[a]||x;return b.isThemeGetter=!0,b},z=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,A=/^\((?:(\w[\w-]*):)?(.+)\)$/i,B=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,C=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,D=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,E=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,G=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,H=a=>B.test(a),I=a=>!!a&&!Number.isNaN(Number(a)),J=a=>!!a&&Number.isInteger(Number(a)),K=a=>a.endsWith("%")&&I(a.slice(0,-1)),L=a=>C.test(a),M=()=>!0,N=a=>D.test(a)&&!E.test(a),O=()=>!1,P=a=>F.test(a),Q=a=>G.test(a),R=a=>!U(a)&&!aa(a),S=a=>a.startsWith("@container")&&("/"===a[10]&&void 0!==a[11]||"s"===a[11]&&void 0!==a[16]&&a.startsWith("-size/",10)||"n"===a[11]&&void 0!==a[18]&&a.startsWith("-normal/",10)),T=a=>ai(a,am,O),U=a=>z.test(a),V=a=>ai(a,an,N),W=a=>ai(a,ao,I),X=a=>ai(a,aq,M),Y=a=>ai(a,ap,O),Z=a=>ai(a,ak,O),$=a=>ai(a,al,Q),_=a=>ai(a,ar,P),aa=a=>A.test(a),ab=a=>aj(a,an),ac=a=>aj(a,ap),ad=a=>aj(a,ak),ae=a=>aj(a,am),af=a=>aj(a,al),ag=a=>aj(a,ar,!0),ah=a=>aj(a,aq,!0),ai=(a,b,c)=>{let d=z.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},aj=(a,b,c=!1)=>{let d=A.exec(a);return!!d&&(d[1]?b(d[1]):c)},ak=a=>"position"===a||"percentage"===a,al=a=>"image"===a||"url"===a,am=a=>"length"===a||"size"===a||"bg-size"===a,an=a=>"length"===a,ao=a=>"number"===a,ap=a=>"family-name"===a,aq=a=>"number"===a||"weight"===a,ar=a=>"shadow"===a;Symbol.toStringTag;let as=((a,...b)=>{let c,d,e,f,g=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f,postfixLookupClassGroupIds:g}=b,h=[],i=a.trim().split(v),j="";for(let a=i.length-1;a>=0;a-=1){let b,k=i[a],{isExternal:l,modifiers:m,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:p}=c(k);if(l){j=k+(j.length>0?" "+j:j);continue}let q=!!p;if(q){let a=(b=d(o.substring(0,p)))&&g[b]?d(o):void 0;a&&a!==b&&(b=a,q=!1)}else b=d(o);if(!b){if(!q||!(b=d(o))){j=k+(j.length>0?" "+j:j);continue}q=!1}let r=0===m.length?"":1===m.length?m[0]:f(m).join(":"),s=n?r+"!":r,t=s+b;if(h.indexOf(t)>-1)continue;h.push(t);let u=e(b,q);for(let a=0;a<u.length;++a){let b=u[a];h.push(s+b)}j=k+(j.length>0?" "+j:j)}return j})(a,c);return e(a,f),f};return f=h=>(d=(c=(a=>({cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})(a.cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),u(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):u(t,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(a),sortModifiers:(a=>{let b=new Map;return a.orderSensitiveModifiers.forEach((a,c)=>{b.set(a,1e6+c)}),a=>{let c=[],d=[];for(let e=0;e<a.length;e++){let f=a[e],g="["===f[0],h=b.has(f);g||h?(d.length>0&&(d.sort(),c.push(...d),d=[]),c.push(f)):d.push(f)}return d.length>0&&(d.sort(),c.push(...d)),c}})(a),postfixLookupClassGroupIds:(a=>{let b=Object.create(null),c=a.postfixLookupClassGroups;if(c)for(let a=0;a<c.length;a++)b[c[a]]=!0;return b})(a),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return l(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return(a=>-1===a.slice(1,-1).indexOf(":")?void 0:(()=>{let b=a.slice(1,-1),c=b.indexOf(":"),d=b.slice(0,c);return d?"arbitrary.."+d:void 0})())(a);let c=a.split("-"),d=+(""===c[0]&&c.length>1);return k(c,d,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];return b?e?((a,b)=>{let c=Array(a.length+b.length);for(let b=0;b<a.length;b++)c[b]=a[b];for(let d=0;d<b.length;d++)c[a.length+d]=b[d];return c})(e,b):b:e||j}return c[a]||j}}})(a)}))(b.reduce((a,b)=>b(a),a()))).cache.get,e=c.cache.set,f=g,g(h)),(...a)=>f(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=w(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=y("color"),b=y("font"),c=y("text"),d=y("font-weight"),e=y("tracking"),f=y("leading"),g=y("breakpoint"),h=y("container"),i=y("spacing"),j=y("radius"),k=y("shadow"),l=y("inset-shadow"),m=y("text-shadow"),n=y("drop-shadow"),o=y("blur"),p=y("perspective"),q=y("aspect"),r=y("ease"),s=y("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],u=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...u(),aa,U],w=()=>["auto","hidden","clip","visible","scroll"],x=()=>["auto","contain","none"],z=()=>[aa,U,i],A=()=>[H,"full","auto",...z()],B=()=>[J,"none","subgrid",aa,U],C=()=>["auto",{span:["full",J,aa,U]},J,aa,U],D=()=>[J,"auto",aa,U],E=()=>["auto","min","max","fr",aa,U],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...z()],O=()=>[H,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],P=()=>[H,"screen","full","dvw","lvw","svw","min","max","fit",...z()],Q=()=>[H,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],ai=()=>[a,aa,U],aj=()=>[...u(),ad,Z,{position:[aa,U]}],ak=()=>["no-repeat",{repeat:["","x","y","space","round"]}],al=()=>["auto","cover","contain",ae,T,{size:[aa,U]}],am=()=>[K,ab,V],an=()=>["","none","full",j,aa,U],ao=()=>["",I,ab,V],ap=()=>["solid","dashed","dotted","double"],aq=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ar=()=>[I,K,ad,Z],as=()=>["","none",o,aa,U],at=()=>["none",I,aa,U],au=()=>["none",I,aa,U],av=()=>[I,aa,U],aw=()=>[H,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[L],breakpoint:[L],color:[M],container:[L],"drop-shadow":[L],ease:["in","out","in-out"],font:[R],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[L],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[L],shadow:[L],spacing:["px",I],text:[L],"text-shadow":[L],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",H,U,aa,q]}],container:["container"],"container-type":[{"@container":["","normal","size",aa,U]}],"container-named":[S],columns:[{columns:[I,U,aa,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[J,"auto",aa,U]}],basis:[{basis:[H,"full","auto",h,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,H,"auto","initial","none",U]}],grow:[{grow:["",I,aa,U]}],shrink:[{shrink:["",I,aa,U]}],order:[{order:[J,"first","last","none",aa,U]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":E()}],"auto-rows":[{"auto-rows":E()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...P()]}],"min-inline-size":[{"min-inline":["auto",...P()]}],"max-inline-size":[{"max-inline":["none",...P()]}],"block-size":[{block:["auto",...Q()]}],"min-block-size":[{"min-block":["auto",...Q()]}],"max-block-size":[{"max-block":["none",...Q()]}],w:[{w:[h,"screen",...O()]}],"min-w":[{"min-w":[h,"screen","none",...O()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",c,ab,V]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,ah,X]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",K,U]}],"font-family":[{font:[ac,Y,b]}],"font-features":[{"font-features":[U]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,aa,U]}],"line-clamp":[{"line-clamp":[I,"none",aa,W]}],leading:[{leading:[f,...z()]}],"list-image":[{"list-image":["none",aa,U]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",aa,U]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ai()}],"text-color":[{text:ai()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ap(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",aa,V]}],"text-decoration-color":[{decoration:ai()}],"underline-offset":[{"underline-offset":[I,"auto",aa,U]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"tab-size":[{tab:[J,aa,U]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",aa,U]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",aa,U]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:aj()}],"bg-repeat":[{bg:ak()}],"bg-size":[{bg:al()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},J,aa,U],radial:["",aa,U],conic:[J,aa,U]},af,$]}],"bg-color":[{bg:ai()}],"gradient-from-pos":[{from:am()}],"gradient-via-pos":[{via:am()}],"gradient-to-pos":[{to:am()}],"gradient-from":[{from:ai()}],"gradient-via":[{via:ai()}],"gradient-to":[{to:ai()}],rounded:[{rounded:an()}],"rounded-s":[{"rounded-s":an()}],"rounded-e":[{"rounded-e":an()}],"rounded-t":[{"rounded-t":an()}],"rounded-r":[{"rounded-r":an()}],"rounded-b":[{"rounded-b":an()}],"rounded-l":[{"rounded-l":an()}],"rounded-ss":[{"rounded-ss":an()}],"rounded-se":[{"rounded-se":an()}],"rounded-ee":[{"rounded-ee":an()}],"rounded-es":[{"rounded-es":an()}],"rounded-tl":[{"rounded-tl":an()}],"rounded-tr":[{"rounded-tr":an()}],"rounded-br":[{"rounded-br":an()}],"rounded-bl":[{"rounded-bl":an()}],"border-w":[{border:ao()}],"border-w-x":[{"border-x":ao()}],"border-w-y":[{"border-y":ao()}],"border-w-s":[{"border-s":ao()}],"border-w-e":[{"border-e":ao()}],"border-w-bs":[{"border-bs":ao()}],"border-w-be":[{"border-be":ao()}],"border-w-t":[{"border-t":ao()}],"border-w-r":[{"border-r":ao()}],"border-w-b":[{"border-b":ao()}],"border-w-l":[{"border-l":ao()}],"divide-x":[{"divide-x":ao()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ao()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ap(),"hidden","none"]}],"divide-style":[{divide:[...ap(),"hidden","none"]}],"border-color":[{border:ai()}],"border-color-x":[{"border-x":ai()}],"border-color-y":[{"border-y":ai()}],"border-color-s":[{"border-s":ai()}],"border-color-e":[{"border-e":ai()}],"border-color-bs":[{"border-bs":ai()}],"border-color-be":[{"border-be":ai()}],"border-color-t":[{"border-t":ai()}],"border-color-r":[{"border-r":ai()}],"border-color-b":[{"border-b":ai()}],"border-color-l":[{"border-l":ai()}],"divide-color":[{divide:ai()}],"outline-style":[{outline:[...ap(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,aa,U]}],"outline-w":[{outline:["",I,ab,V]}],"outline-color":[{outline:ai()}],shadow:[{shadow:["","none",k,ag,_]}],"shadow-color":[{shadow:ai()}],"inset-shadow":[{"inset-shadow":["none",l,ag,_]}],"inset-shadow-color":[{"inset-shadow":ai()}],"ring-w":[{ring:ao()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ai()}],"ring-offset-w":[{"ring-offset":[I,V]}],"ring-offset-color":[{"ring-offset":ai()}],"inset-ring-w":[{"inset-ring":ao()}],"inset-ring-color":[{"inset-ring":ai()}],"text-shadow":[{"text-shadow":["none",m,ag,_]}],"text-shadow-color":[{"text-shadow":ai()}],opacity:[{opacity:[I,aa,U]}],"mix-blend":[{"mix-blend":[...aq(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":aq()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":ar()}],"mask-image-linear-to-pos":[{"mask-linear-to":ar()}],"mask-image-linear-from-color":[{"mask-linear-from":ai()}],"mask-image-linear-to-color":[{"mask-linear-to":ai()}],"mask-image-t-from-pos":[{"mask-t-from":ar()}],"mask-image-t-to-pos":[{"mask-t-to":ar()}],"mask-image-t-from-color":[{"mask-t-from":ai()}],"mask-image-t-to-color":[{"mask-t-to":ai()}],"mask-image-r-from-pos":[{"mask-r-from":ar()}],"mask-image-r-to-pos":[{"mask-r-to":ar()}],"mask-image-r-from-color":[{"mask-r-from":ai()}],"mask-image-r-to-color":[{"mask-r-to":ai()}],"mask-image-b-from-pos":[{"mask-b-from":ar()}],"mask-image-b-to-pos":[{"mask-b-to":ar()}],"mask-image-b-from-color":[{"mask-b-from":ai()}],"mask-image-b-to-color":[{"mask-b-to":ai()}],"mask-image-l-from-pos":[{"mask-l-from":ar()}],"mask-image-l-to-pos":[{"mask-l-to":ar()}],"mask-image-l-from-color":[{"mask-l-from":ai()}],"mask-image-l-to-color":[{"mask-l-to":ai()}],"mask-image-x-from-pos":[{"mask-x-from":ar()}],"mask-image-x-to-pos":[{"mask-x-to":ar()}],"mask-image-x-from-color":[{"mask-x-from":ai()}],"mask-image-x-to-color":[{"mask-x-to":ai()}],"mask-image-y-from-pos":[{"mask-y-from":ar()}],"mask-image-y-to-pos":[{"mask-y-to":ar()}],"mask-image-y-from-color":[{"mask-y-from":ai()}],"mask-image-y-to-color":[{"mask-y-to":ai()}],"mask-image-radial":[{"mask-radial":[aa,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":ar()}],"mask-image-radial-to-pos":[{"mask-radial-to":ar()}],"mask-image-radial-from-color":[{"mask-radial-from":ai()}],"mask-image-radial-to-color":[{"mask-radial-to":ai()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":u()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":ar()}],"mask-image-conic-to-pos":[{"mask-conic-to":ar()}],"mask-image-conic-from-color":[{"mask-conic-from":ai()}],"mask-image-conic-to-color":[{"mask-conic-to":ai()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:aj()}],"mask-repeat":[{mask:ak()}],"mask-size":[{mask:al()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",aa,U]}],filter:[{filter:["","none",aa,U]}],blur:[{blur:as()}],brightness:[{brightness:[I,aa,U]}],contrast:[{contrast:[I,aa,U]}],"drop-shadow":[{"drop-shadow":["","none",n,ag,_]}],"drop-shadow-color":[{"drop-shadow":ai()}],grayscale:[{grayscale:["",I,aa,U]}],"hue-rotate":[{"hue-rotate":[I,aa,U]}],invert:[{invert:["",I,aa,U]}],saturate:[{saturate:[I,aa,U]}],sepia:[{sepia:["",I,aa,U]}],"backdrop-filter":[{"backdrop-filter":["","none",aa,U]}],"backdrop-blur":[{"backdrop-blur":as()}],"backdrop-brightness":[{"backdrop-brightness":[I,aa,U]}],"backdrop-contrast":[{"backdrop-contrast":[I,aa,U]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,aa,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,aa,U]}],"backdrop-invert":[{"backdrop-invert":["",I,aa,U]}],"backdrop-opacity":[{"backdrop-opacity":[I,aa,U]}],"backdrop-saturate":[{"backdrop-saturate":[I,aa,U]}],"backdrop-sepia":[{"backdrop-sepia":["",I,aa,U]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",aa,U]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",aa,U]}],ease:[{ease:["linear","initial",r,aa,U]}],delay:[{delay:[I,aa,U]}],animate:[{animate:["none",s,aa,U]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,aa,U]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:at()}],"rotate-x":[{"rotate-x":at()}],"rotate-y":[{"rotate-y":at()}],"rotate-z":[{"rotate-z":at()}],scale:[{scale:au()}],"scale-x":[{"scale-x":au()}],"scale-y":[{"scale-y":au()}],"scale-z":[{"scale-z":au()}],"scale-3d":["scale-3d"],skew:[{skew:av()}],"skew-x":[{"skew-x":av()}],"skew-y":[{"skew-y":av()}],transform:[{transform:[aa,U,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:aw()}],"translate-x":[{"translate-x":aw()}],"translate-y":[{"translate-y":aw()}],"translate-z":[{"translate-z":aw()}],"translate-none":["translate-none"],zoom:[{zoom:[J,aa,U]}],accent:[{accent:ai()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ai()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",aa,U]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ai()}],"scrollbar-track-color":[{"scrollbar-track":ai()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",aa,U]}],fill:[{fill:["none",...ai()]}],"stroke-w":[{stroke:[I,ab,V,W]}],stroke:[{stroke:["none",...ai()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function at({children:a,className:b}){return(0,d.jsxs)("div",{className:function(...a){return as(function(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}(a))}(h.shell,b),children:[(0,d.jsx)("header",{className:h.header,children:(0,d.jsxs)("div",{className:h.headerInner,children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:"Product Development Harness"}),(0,d.jsx)("h1",{className:"text-lg font-semibold tracking-tight",children:"Local operator GUI"})]}),(0,d.jsxs)("nav",{className:"flex items-center gap-4 text-sm",children:[(0,d.jsx)(g.ThemeToggle,{}),(0,d.jsx)(f(),{href:"/settings/configure",className:"font-medium text-foreground hover:text-primary",children:"Settings"})]})]})}),(0,d.jsx)("main",{className:h.main,children:a})]})}var au=c(51337);function av({summary:a,remoteSummary:b,linearSummary:c,vercelSummary:e,formDefaults:f}){return(0,d.jsx)(au.ConfigureExperience,{initialSummary:a,initialRemoteSummary:b,initialLinearSummary:c,initialVercelSummary:e,formDefaults:f})}var aw=c(4647);let ax="force-dynamic";async function ay(){let[a,b,c,e,f]=await Promise.all([(0,aw.al)(),(0,aw.CP)(),(0,aw.W8)(),(0,aw.VP)(),(0,aw.bT)()]);return(0,d.jsx)(at,{children:(0,d.jsx)(av,{summary:a,remoteSummary:c,linearSummary:e,vercelSummary:f,formDefaults:b})})}},4306:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});var d=c(79390);let e=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,f=d.$,g=(a,b)=>c=>{var d;if((null==b?void 0:b.variants)==null)return f(a,null==c?void 0:c.class,null==c?void 0:c.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==c?void 0:c[a],d=null==h?void 0:h[a];if(null===b)return null;let f=e(b)||e(d);return g[a][f]}),j=c&&Object.entries(c).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return f(a,i,null==b||null==(d=b.compoundVariants)?void 0:d.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==c?void 0:c.class,null==c?void 0:c.className)}},4335:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"assignLocation",{enumerable:!0,get:function(){return e}});let d=c(61725);function e(a,b){if(a.startsWith(".")){let c=b.origin+b.pathname;return new URL((c.endsWith("/")?c:c+"/")+a)}return new URL((0,d.addBasePath)(a),b.href)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},5162:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PromiseQueue",{enumerable:!0,get:function(){return j}});let d=c(17400),e=c(64402);var f=e._("_maxConcurrency"),g=e._("_runningCount"),h=e._("_queue"),i=e._("_processNext");class j{enqueue(a){let b,c,e=new Promise((a,d)=>{b=a,c=d}),f=async()=>{try{d._(this,g)[g]++;let c=await a();b(c)}catch(a){c(a)}finally{d._(this,g)[g]--,d._(this,i)[i]()}};return d._(this,h)[h].push({promiseFn:e,task:f}),d._(this,i)[i](),e}bump(a){let b=d._(this,h)[h].findIndex(b=>b.promiseFn===a);if(b>-1){let a=d._(this,h)[h].splice(b,1)[0];d._(this,h)[h].unshift(a),d._(this,i)[i](!0)}}constructor(a=5){Object.defineProperty(this,i,{value:k}),Object.defineProperty(this,f,{writable:!0,value:void 0}),Object.defineProperty(this,g,{writable:!0,value:void 0}),Object.defineProperty(this,h,{writable:!0,value:void 0}),d._(this,f)[f]=a,d._(this,g)[g]=0,d._(this,h)[h]=[]}}function k(a){if(void 0===a&&(a=!1),(d._(this,g)[g]<d._(this,f)[f]||a)&&d._(this,h)[h].length>0){var b;null==(b=d._(this,h)[h].shift())||b.task()}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},7342:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return e}});let d=c(82521);function e(a,b,c){for(let e in c[1]){let f=c[1][e][0],g=(0,d.createRouterCacheKey)(f),h=b.parallelRoutes.get(e);if(h){let b=new Map(h);b.delete(g),a.parallelRoutes.set(e,b)}}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11505:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"shouldHardNavigate",{enumerable:!0,get:function(){return function a(b,c){let[f,g]=c,[h,i]=b;return(0,e.matchSegment)(h,f)?!(b.length<=2)&&a((0,d.getNextFlightSegmentPath)(b),g[i]):!!Array.isArray(h)}}});let d=c(89909),e=c(58395);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},11966:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"applyFlightData",{enumerable:!0,get:function(){return f}});let d=c(63102),e=c(68360);function f(a,b,c,f,g){let{tree:h,seedData:i,head:j,isRootRender:k}=f;if(null===i)return!1;if(k){let e=i[1];c.loading=i[3],c.rsc=e,c.prefetchRsc=null,(0,d.fillLazyItemsTillLeafWithHead)(a,c,b,h,i,j,g)}else c.rsc=b.rsc,c.prefetchRsc=b.prefetchRsc,c.parallelRoutes=new Map(b.parallelRoutes),c.loading=b.loading,(0,e.fillCacheWithNewSubTreeData)(a,c,b,f,g);return!0}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},13355:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"handleSegmentMismatch",{enumerable:!0,get:function(){return e}});let d=c(15426);function e(a,b,c){return(0,d.handleExternalUrl)(a,{},a.canonicalUrl,!0)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},14329:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.AmpContext},15252:(a,b,c)=>{"use strict";function d(a){return a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeBasePath",{enumerable:!0,get:function(){return d}}),c(94650),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},15426:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{generateSegmentsFromPatch:function(){return u},handleExternalUrl:function(){return t},navigateReducer:function(){return function a(b,c){let{url:v,isExternalUrl:w,navigateType:x,shouldScroll:y,allowAliasing:z}=c,A={},{hash:B}=v,C=(0,e.createHrefFromUrl)(v),D="push"===x;if((0,q.prunePrefetchCache)(b.prefetchCache),A.preserveCustomHistoryState=!1,A.pendingPush=D,w)return t(b,A,v.toString(),D);if(document.getElementById("__next-page-redirect"))return t(b,A,C,D);let E=(0,q.getOrCreatePrefetchCacheEntry)({url:v,nextUrl:b.nextUrl,tree:b.tree,prefetchCache:b.prefetchCache,allowAliasing:z}),{treeAtTimeOfPrefetch:F,data:G}=E;return m.prefetchQueue.bump(G),G.then(m=>{let{flightData:q,canonicalUrl:w,postponed:x}=m,z=Date.now(),G=!1;if(E.lastUsedTime||(E.lastUsedTime=z,G=!0),E.aliased){let d=new URL(v.href);w&&(d.pathname=w.pathname);let e=(0,s.handleAliasedPrefetchEntry)(z,b,q,d,A);return!1===e?a(b,{...c,allowAliasing:!1}):e}if("string"==typeof q)return t(b,A,q,D);let H=w?(0,e.createHrefFromUrl)(w):C;if(B&&b.canonicalUrl.split("#",1)[0]===H.split("#",1)[0])return A.onlyHashChange=!0,A.canonicalUrl=H,A.shouldScroll=y,A.hashFragment=B,A.scrollableSegments=[],(0,k.handleMutable)(b,A);let I=b.tree,J=b.cache,K=[];for(let a of q){let{pathToSegment:c,seedData:e,head:k,isHeadPartial:m,isRootRender:q}=a,s=a.tree,w=["",...c],y=(0,g.applyRouterStatePatchToTree)(w,I,s,C);if(null===y&&(y=(0,g.applyRouterStatePatchToTree)(w,F,s,C)),null!==y){if(e&&q&&x){let a=(0,p.startPPRNavigation)(z,J,I,s,e,k,m,!1,K);if(null!==a){if(null===a.route)return t(b,A,C,D);y=a.route;let c=a.node;null!==c&&(A.cache=c);let e=a.dynamicRequestTree;if(null!==e){let c=(0,d.fetchServerResponse)(new URL(H,v.origin),{flightRouterState:e,nextUrl:b.nextUrl});(0,p.listenForDynamicRequest)(a,c)}}else y=s}else{if((0,i.isNavigatingToNewRootLayout)(I,y))return t(b,A,C,D);let d=(0,n.createEmptyCacheNode)(),e=!1;for(let b of(E.status!==j.PrefetchCacheEntryStatus.stale||G?e=(0,l.applyFlightData)(z,J,d,a,E):(e=function(a,b,c,d){let e=!1;for(let f of(a.rsc=b.rsc,a.prefetchRsc=b.prefetchRsc,a.loading=b.loading,a.parallelRoutes=new Map(b.parallelRoutes),u(d).map(a=>[...c,...a])))(0,r.clearCacheNodeDataForSegmentPath)(a,b,f),e=!0;return e}(d,J,c,s),E.lastUsedTime=z),(0,h.shouldHardNavigate)(w,I)?(d.rsc=J.rsc,d.prefetchRsc=J.prefetchRsc,(0,f.invalidateCacheBelowFlightSegmentPath)(d,J,c),A.cache=d):e&&(A.cache=d,J=d),u(s))){let a=[...c,...b];a[a.length-1]!==o.DEFAULT_SEGMENT_KEY&&K.push(a)}}I=y}}return A.patchedTree=I,A.canonicalUrl=H,A.scrollableSegments=K,A.hashFragment=B,A.shouldScroll=y,(0,k.handleMutable)(b,A)},()=>b)}}});let d=c(94082),e=c(75497),f=c(57162),g=c(24848),h=c(11505),i=c(77692),j=c(13136),k=c(26613),l=c(11966),m=c(37446),n=c(25918),o=c(44859),p=c(82582),q=c(81288),r=c(50202),s=c(2173);function t(a,b,c,d){return b.mpaNavigation=!0,b.canonicalUrl=c,b.pendingPush=d,b.scrollableSegments=void 0,(0,k.handleMutable)(a,b)}function u(a){let b=[],[c,d]=a;if(0===Object.keys(d).length)return[[c]];for(let[a,e]of Object.entries(d))for(let d of u(e))""===c?b.push([a,...d]):b.push([c,a,...d]);return b}c(68459),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},17400:(a,b,c)=>{"use strict";function d(a,b){if(!Object.prototype.hasOwnProperty.call(a,b))throw TypeError("attempted to use private field on non-instance");return a}c.r(b),c.d(b,{_:()=>d})},18226:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{addRefreshMarkerToActiveParallelSegments:function(){return function a(b,c){let[d,e,,g]=b;for(let h in d.includes(f.PAGE_SEGMENT_KEY)&&"refresh"!==g&&(b[2]=c,b[3]="refresh"),e)a(e[h],c)}},refreshInactiveParallelSegments:function(){return g}});let d=c(11966),e=c(94082),f=c(44859);async function g(a){let b=new Set;await h({...a,rootTree:a.updatedTree,fetchedSegments:b})}async function h(a){let{navigatedAt:b,state:c,updatedTree:f,updatedCache:g,includeNextUrl:i,fetchedSegments:j,rootTree:k=f,canonicalUrl:l}=a,[,m,n,o]=f,p=[];if(n&&n!==l&&"refresh"===o&&!j.has(n)){j.add(n);let a=(0,e.fetchServerResponse)(new URL(n,location.origin),{flightRouterState:[k[0],k[1],k[2],"refetch"],nextUrl:i?c.nextUrl:null}).then(a=>{let{flightData:c}=a;if("string"!=typeof c)for(let a of c)(0,d.applyFlightData)(b,g,g,a)});p.push(a)}for(let a in m){let d=h({navigatedAt:b,state:c,updatedTree:m[a],updatedCache:g,includeNextUrl:i,fetchedSegments:j,rootTree:k,canonicalUrl:l});p.push(d)}await Promise.all(p)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},18996:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,48365,23)),Promise.resolve().then(c.t.bind(c,64596,23)),Promise.resolve().then(c.t.bind(c,56186,23)),Promise.resolve().then(c.t.bind(c,67805,23)),Promise.resolve().then(c.t.bind(c,27561,23)),Promise.resolve().then(c.t.bind(c,47569,23)),Promise.resolve().then(c.t.bind(c,42747,23)),Promise.resolve().then(c.t.bind(c,56676,23)),Promise.resolve().then(c.bind(c,97225))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},22345:(a,b)=>{"use strict";function c(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function d(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function e(a){let b=new URLSearchParams;for(let[c,e]of Object.entries(a))if(Array.isArray(e))for(let a of e)b.append(c,d(a));else b.set(c,d(e));return b}function f(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];for(let b of c){for(let c of b.keys())a.delete(c);for(let[c,d]of b.entries())a.append(c,d)}return a}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{assign:function(){return f},searchParamsToUrlQuery:function(){return c},urlQueryToSearchParams:function(){return e}})},22772:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(73653),e=c(97714),f=c(85250),g=c(37587),h=c(22369),i=c(1889),j=c(96232),k=c(22841),l=c(46537),m=c(46027),n=c(30905),o=c(78559),p=c(75928),q=c(19374),r=c(65971),s=c(261),t=c(79898),u=c(32967),v=c(26713),w=c(40139),x=c(14248),y=c(59580),z=c(57749),A=c(53123),B=c(89745),C=c(86439),D=c(58671),E=c.n(D),F=c(18283),G=c(39818),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["settings",{children:["configure",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,3615)),"/Users/weston/Code/agentic-product-development-harness/apps/gui/app/settings/configure/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,56035)),"/Users/weston/Code/agentic-product-development-harness/apps/gui/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,58671,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,17983,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,15034,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,54693,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=["/Users/weston/Code/agentic-product-development-harness/apps/gui/app/settings/configure/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/settings/configure/page",pathname:"/settings/configure",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:"apps/gui"});async function M(a,b,d){var D;let H="/settings/configure/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
2
|
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},23197:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(15915),e=c(78157);c(31768),c(44);let f=c(92810);function g(a){let{children:b,errorComponent:c,errorStyles:d,errorScripts:g}=a;return(0,e.jsx)(f.ErrorBoundary,{errorComponent:c,errorStyles:d,errorScripts:g,children:b})}c(87058),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24381:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"restoreReducer",{enumerable:!0,get:function(){return f}});let d=c(75497),e=c(62176);function f(a,b){var c;let{url:f,tree:g}=b,h=(0,d.createHrefFromUrl)(f),i=g||a.tree,j=a.cache;return{canonicalUrl:h,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:a.focusAndScrollRef,cache:j,prefetchCache:a.prefetchCache,tree:i,nextUrl:null!=(c=(0,e.extractPathFromFlightRouterState)(i))?c:f.pathname}}c(82582),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24848:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function a(b,c,d,i){let j,[k,l,m,n,o]=c;if(1===b.length){let a=h(c,d);return(0,g.addRefreshMarkerToActiveParallelSegments)(a,i),a}let[p,q]=b;if(!(0,f.matchSegment)(p,k))return null;if(2===b.length)j=h(l[q],d);else if(null===(j=a((0,e.getNextFlightSegmentPath)(b),l[q],d,i)))return null;let r=[b[0],{...l,[q]:j},m,n];return o&&(r[4]=!0),(0,g.addRefreshMarkerToActiveParallelSegments)(r,i),r}}});let d=c(44859),e=c(89909),f=c(58395),g=c(18226);function h(a,b){let[c,e]=a,[g,i]=b;if(g===d.DEFAULT_SEGMENT_KEY&&c!==d.DEFAULT_SEGMENT_KEY)return a;if((0,f.matchSegment)(c,g)){let b={};for(let a in e)void 0!==i[a]?b[a]=h(e[a],i[a]):b[a]=e[a];for(let a in i)b[a]||(b[a]=i[a]);let d=[c,b];return a[2]&&(d[2]=a[2]),a[3]&&(d[3]=a[3]),a[4]&&(d[4]=a[4]),d}return b}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},25248:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"reducer",{enumerable:!0,get:function(){return d}}),c(13136),c(15426),c(41573),c(24381),c(86556),c(37446),c(84254),c(51939);let d=function(a,b){return a};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},25918:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{createEmptyCacheNode:function(){return G},createPrefetchURL:function(){return E},default:function(){return K},isExternalURL:function(){return D}});let d=c(15915),e=c(86274),f=c(78157),g=e._(c(31768)),h=c(9344),i=c(13136),j=c(75497),k=c(66351),l=c(46259),m=c(87058),n=c(61725),o=c(76692),p=c(97944),q=c(82787),r=c(43508),s=c(15252),t=c(94650),u=c(62176),v=c(69374),w=c(99500),x=c(4873),y=c(79650);c(37384);let z=d._(c(23197)),A=d._(c(48365)),B=c(56676),C={};function D(a){return a.origin!==window.location.origin}function E(a){let b;if((0,m.isBot)(window.navigator.userAgent))return null;try{b=new URL((0,n.addBasePath)(a),window.location.href)}catch(b){throw Object.defineProperty(Error("Cannot prefetch '"+a+"' because it cannot be converted to a URL."),"__NEXT_ERROR_CODE",{value:"E234",enumerable:!1,configurable:!0})}return D(b)?null:b}function F(a){let{appRouterState:b}=a;return(0,g.useInsertionEffect)(()=>{let{tree:a,pushRef:c,canonicalUrl:d}=b,e={...c.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:a};c.pendingPush&&(0,j.createHrefFromUrl)(new URL(window.location.href))!==d?(c.pendingPush=!1,window.history.pushState(e,"",d)):window.history.replaceState(e,"",d)},[b]),(0,g.useEffect)(()=>{},[b.nextUrl,b.tree]),null}function G(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1}}function H(a){null==a&&(a={});let b=window.history.state,c=null==b?void 0:b.__NA;c&&(a.__NA=c);let d=null==b?void 0:b.__PRIVATE_NEXTJS_INTERNALS_TREE;return d&&(a.__PRIVATE_NEXTJS_INTERNALS_TREE=d),a}function I(a){let{headCacheNode:b}=a,c=null!==b?b.head:null,d=null!==b?b.prefetchHead:null,e=null!==d?d:c;return(0,g.useDeferredValue)(c,e)}function J(a){let b,{actionQueue:c,assetPrefix:d,globalError:e}=a,j=(0,l.useActionQueue)(c),{canonicalUrl:m}=j,{searchParams:n,pathname:v}=(0,g.useMemo)(()=>{let a=new URL(m,"http://n");return{searchParams:a.searchParams,pathname:(0,t.hasBasePath)(a.pathname)?(0,s.removeBasePath)(a.pathname):a.pathname}},[m]);(0,g.useEffect)(()=>{function a(a){var b;a.persisted&&(null==(b=window.history.state)?void 0:b.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(C.pendingMpaPath=void 0,(0,l.dispatchAppRouterAction)({type:i.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",a),()=>{window.removeEventListener("pageshow",a)}},[]),(0,g.useEffect)(()=>{function a(a){let b="reason"in a?a.reason:a.error;if((0,y.isRedirectError)(b)){a.preventDefault();let c=(0,x.getURLFromRedirectError)(b);(0,x.getRedirectTypeFromError)(b)===y.RedirectType.push?w.publicAppRouterInstance.push(c,{}):w.publicAppRouterInstance.replace(c,{})}}return window.addEventListener("error",a),window.addEventListener("unhandledrejection",a),()=>{window.removeEventListener("error",a),window.removeEventListener("unhandledrejection",a)}},[]);let{pushRef:A}=j;if(A.mpaNavigation){if(C.pendingMpaPath!==m){let a=window.location;A.pendingPush?a.assign(m):a.replace(m),C.pendingMpaPath=m}throw r.unresolvedThenable}(0,g.useEffect)(()=>{let a=window.history.pushState.bind(window.history),b=window.history.replaceState.bind(window.history),c=a=>{var b;let c=window.location.href,d=null==(b=window.history.state)?void 0:b.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,g.startTransition)(()=>{(0,l.dispatchAppRouterAction)({type:i.ACTION_RESTORE,url:new URL(null!=a?a:c,c),tree:d})})};window.history.pushState=function(b,d,e){return(null==b?void 0:b.__NA)||(null==b?void 0:b._N)||(b=H(b),e&&c(e)),a(b,d,e)},window.history.replaceState=function(a,d,e){return(null==a?void 0:a.__NA)||(null==a?void 0:a._N)||(a=H(a),e&&c(e)),b(a,d,e)};let d=a=>{if(a.state){if(!a.state.__NA)return void window.location.reload();(0,g.startTransition)(()=>{(0,w.dispatchTraverseAction)(window.location.href,a.state.__PRIVATE_NEXTJS_INTERNALS_TREE)})}};return window.addEventListener("popstate",d),()=>{window.history.pushState=a,window.history.replaceState=b,window.removeEventListener("popstate",d)}},[]);let{cache:D,tree:E,nextUrl:G,focusAndScrollRef:J}=j,K=(0,g.useMemo)(()=>(0,q.findHeadInCache)(D,E[1]),[D,E]),L=(0,g.useMemo)(()=>(0,u.getSelectedParams)(E),[E]),M=(0,g.useMemo)(()=>({parentTree:E,parentCacheNode:D,parentSegmentPath:null,url:m}),[E,D,m]),O=(0,g.useMemo)(()=>({tree:E,focusAndScrollRef:J,nextUrl:G}),[E,J,G]);if(null!==K){let[a,c,d]=K;b=(0,f.jsx)(I,{headCacheNode:a},d)}else b=null;let P=(0,f.jsxs)(p.RedirectBoundary,{children:[b,(0,f.jsx)(B.RootLayoutBoundary,{children:D.rsc}),(0,f.jsx)(o.AppRouterAnnouncer,{tree:E})]});return P=(0,f.jsx)(z.default,{errorComponent:e[0],errorStyles:e[1],children:P}),(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(F,{appRouterState:j}),(0,f.jsx)(N,{}),(0,f.jsx)(k.PathParamsContext.Provider,{value:L,children:(0,f.jsx)(k.PathnameContext.Provider,{value:v,children:(0,f.jsx)(k.SearchParamsContext.Provider,{value:n,children:(0,f.jsx)(h.GlobalLayoutRouterContext.Provider,{value:O,children:(0,f.jsx)(h.AppRouterContext.Provider,{value:w.publicAppRouterInstance,children:(0,f.jsx)(h.LayoutRouterContext.Provider,{value:M,children:P})})})})})})]})}function K(a){let{actionQueue:b,globalErrorState:c,assetPrefix:d}=a;(0,v.useNavFailureHandler)();let e=(0,f.jsx)(J,{actionQueue:b,assetPrefix:d,globalError:c});return(0,f.jsx)(z.default,{errorComponent:A.default,children:e})}let L=new Set,M=new Set;function N(){let[,a]=g.default.useState(0),b=L.size;return(0,g.useEffect)(()=>{let c=()=>a(a=>a+1);return M.add(c),b!==L.size&&c(),()=>{M.delete(c)}},[b,a]),[...L].map((a,b)=>(0,f.jsx)("link",{rel:"stylesheet",href:""+a,precedence:"next"},b))}globalThis._N_E_STYLE_LOAD=function(a){let b=L.size;return L.add(a),L.size!==b&&M.forEach(a=>a()),Promise.resolve()},("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},26577:(a,b,c)=>{Promise.resolve().then(c.bind(c,27785)),Promise.resolve().then(c.bind(c,1067)),Promise.resolve().then(c.t.bind(c,94496,23))},26613:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"handleMutable",{enumerable:!0,get:function(){return f}});let d=c(62176);function e(a){return void 0!==a}function f(a,b){var c,f;let g=null==(c=b.shouldScroll)||c,h=a.nextUrl;if(e(b.patchedTree)){let c=(0,d.computeChangedPath)(a.tree,b.patchedTree);c?h=c:h||(h=a.canonicalUrl)}return{canonicalUrl:e(b.canonicalUrl)?b.canonicalUrl===a.canonicalUrl?a.canonicalUrl:b.canonicalUrl:a.canonicalUrl,pushRef:{pendingPush:e(b.pendingPush)?b.pendingPush:a.pushRef.pendingPush,mpaNavigation:e(b.mpaNavigation)?b.mpaNavigation:a.pushRef.mpaNavigation,preserveCustomHistoryState:e(b.preserveCustomHistoryState)?b.preserveCustomHistoryState:a.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!g&&(!!e(null==b?void 0:b.scrollableSegments)||a.focusAndScrollRef.apply),onlyHashChange:b.onlyHashChange||!1,hashFragment:g?b.hashFragment&&""!==b.hashFragment?decodeURIComponent(b.hashFragment.slice(1)):a.focusAndScrollRef.hashFragment:null,segmentPaths:g?null!=(f=null==b?void 0:b.scrollableSegments)?f:a.focusAndScrollRef.segmentPaths:[]},cache:b.cache?b.cache:a.cache,prefetchCache:b.prefetchCache?b.prefetchCache:a.prefetchCache,tree:e(b.patchedTree)?b.patchedTree:a.tree,nextUrl:h}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27785:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{ConfigureExperience:()=>h_});var g=c(78157),h=c(31768);let i={remoteRead:{scope:"remote-read",confirmation:"standard",manualAlternative:!0},remoteSecretWrite:{scope:"remote-secret-write",confirmation:"strong",manualAlternative:!0},remoteRepoWrite:{scope:"remote-repo-write",confirmation:"strong",manualAlternative:!0}},j=["HARNESS_CONFIG_JSON_B64","LINEAR_API_KEY","CURSOR_API_KEY","HARNESS_GITHUB_TOKEN"];function k(a){let b=new Map(a.map(a=>[a.name,a.status])),c=[],d=[];for(let a of j){let e=b.get(a);if("present"!==e){if("unknown"===e){d.push(a);continue}c.push(a)}}return{allPresent:0===c.length&&0===d.length,missing:c,unknown:d}}function l(a,b){return a.hasStaleConfig&&(void 0!==a.staleHarnessDispatchRepo||"denied"===b)}function m(a,b){a.push({blocking:!0,tone:b.tone??"setup_needed",...b})}function n(a){return JSON.stringify(function(a){let b=a.setupSummary.configSummary;return{configResolved:a.setupSummary.overview.configResolved,operatorConfigResolved:a.setupSummary.overview.operatorConfigResolved,linearTeamKeyFromConfig:a.controlPlaneContext?.linearTeamKeyFromConfig??null,linearTeamKeyFromControlPlane:a.controlPlaneContext?.state?.linear?.teamKey??null,repoIds:(b?.repos??[]).map(a=>a.id).sort((a,b)=>a.localeCompare(b)),repoTargets:(b?.repos??[]).map(a=>({id:a.id,targetRepo:a.targetRepo})).sort((a,b)=>a.id.localeCompare(b.id)),allowedTargetRepos:[...b?.allowedTargetRepos??[]].sort((a,b)=>a.localeCompare(b))}}(a))}i.remoteRead,i.remoteSecretWrite,i.remoteRead,i.remoteRepoWrite,["Ready for Planning","Ready for Build","PR Open","Needs Revision","Ready to Merge"].map(a=>a.toLowerCase());let o=["connect-services","linear-workspace","vercel-bridge","local-setup","local-readiness","cloud-secrets","target-workflow","ready-for-first-run"],p={"connect-services":"Connect services","linear-workspace":"Set up Linear workspace","vercel-bridge":"Set up Vercel webhook bridge","local-setup":"Choose target repo(s)","local-readiness":"Check local readiness","cloud-secrets":"Connect cloud secrets","target-workflow":"Install target repo workflow","ready-for-first-run":"Ready for first run"};function q(a,b){return a.localFiles.find(a=>a.label===b)?.exists??!1}let r=new Set(["missing-env-local","missing-config-local","missing-harness-config-path","missing-linear-key","missing-cursor-key","missing-github-token","missing-vercel-token","config-unresolved","linear-workspace-not-applied","vercel-bridge-not-applied"]);function s(a,b){a.push({blocking:!0,tone:b.tone??(r.has(b.id)?"setup_needed":"error"),...b})}function t(a,b){a.push({...b,blocking:!1})}function u(a,b,c,d,e){let f=[],g=[];if(d&&l(d,b.harnessRepoAccess))return{blockers:f,warnings:g};for(let a of(b.githubTokenConfigured||s(f,{id:"missing-github-token-remote",stepId:"cloud-secrets",message:"Blocked: GITHUB_TOKEN is required for cloud secrets setup.",action:"Next: Add GITHUB_TOKEN in local setup, then return to Connect cloud secrets.",priority:300}),b.harnessDispatchRepoResolved||s(f,{id:"harness-dispatch-repo-unresolved",stepId:"cloud-secrets",message:"Blocked: Harness dispatch repo could not be resolved.",action:"Next: Return to Step 4, enter your harness repo, and use Verify and use harness repo.",priority:301}),"denied"===b.harnessRepoAccess?s(f,{id:"harness-repo-access-denied",stepId:"cloud-secrets",message:`Blocked: I tried to check ${b.harnessDispatchRepo} and GitHub denied access.`,action:"Next: Return to Step 4 to correct the harness repo, or update GITHUB_TOKEN permissions in Step 1 and verify again.",priority:302}):"unknown"===b.harnessRepoAccess&&b.harnessDispatchRepoResolved&&s(f,{id:"harness-repo-access-unknown",stepId:"cloud-secrets",message:"Blocked: Harness repo access could not be verified yet.",action:"Next: Return to Step 4 and use Verify and use harness repo, or refresh after saving GITHUB_TOKEN in Step 1.",priority:303}),function(a){let b=new Map(a.harnessSecretStatuses.map(a=>[a.name,a.status]));return j.filter(a=>"missing"===b.get(a))}(b)))s(f,{id:`missing-harness-secret-${a}`,stepId:"cloud-secrets",message:`Blocked: Required cloud secret ${a} is missing.`,action:"Next: Review generated secrets, confirm, then create or update encrypted GitHub Actions secrets.",priority:303});for(let a of b.harnessSecretStatuses)"unknown"===a.status&&b.githubTokenConfigured&&t(g,{id:`harness-secret-unknown-${a.name}`,stepId:"cloud-secrets",message:`Cloud secret ${a.name} status is unknown.`,action:"Refresh cloud secrets setup to re-check secret presence.",priority:591});return c?.remoteSecretPreviewStale&&s(f,{id:"remote-secret-preview-stale",stepId:"cloud-secrets",message:"Blocked: Cloud secrets preview is out of date.",action:"Next: Regenerate the secrets preview, then confirm and create or update secrets.",priority:307}),e&&function(a){let b=a.state?.linear?.teamKey,c=a.linearTeamKeyFromConfig;return!!b&&!!c&&b!==c}(e)&&s(f,{id:"cloud-secrets-stale-linear-config",stepId:"cloud-secrets",message:"Blocked: HARNESS_CONFIG_JSON_B64 is stale after Linear workspace changes.",action:"Next: Regenerate cloud secrets preview after updating local config, then apply.",priority:308,tone:"error"}),{blockers:f.sort((a,b)=>a.priority-b.priority),warnings:g.sort((a,b)=>a.priority-b.priority)}}function v(a){let b=k(a.harnessSecretStatuses);return a.harnessDispatchRepoResolved&&"denied"!==a.harnessRepoAccess&&b.allPresent}function w(a){return!!a.evidence&&(!!a.evidence.harnessDispatchRepo&&!!a.harnessDispatchRepo&&a.evidence.harnessDispatchRepo!==a.harnessDispatchRepo||a.evidence.configStateFingerprint!==a.currentConfigStateFingerprint)}function x(a){return!(!a.evidence||w(a))&&y({evidence:a.evidence,currentConfigStateFingerprint:a.currentConfigStateFingerprint})}function y(a){return!!a.evidence&&"automatic"===a.evidence.path&&!!a.evidence.harnessConfigJsonB64Written&&a.evidence.configStateFingerprint===a.currentConfigStateFingerprint}function z(a){return a.blockers.filter(b=>"remote-secret-preview-stale"===b.id?!(a.previewStaleCleared&&a.postApplyVerificationReady):"cloud-secrets-stale-linear-config"!==b.id||!y({evidence:a.evidence,currentConfigStateFingerprint:a.currentConfigStateFingerprint}))}function A(a){return a.replace(/^Blocked:\s*/,"").replace(/^Setup needed:\s*/,"")}function B(a){let b=a.staleSmokeDiagnostics??{hasStaleConfig:!1,findings:[],staleTargetRepos:[]},c=a.controlPlaneContext??{state:null},d=function(a){let b=[];return a.envKeyPresence.LINEAR_API_KEY||m(b,{id:"missing-linear-key",stepId:"connect-services",message:"Setup needed: LINEAR_API_KEY is not configured yet.",action:"Add it in Step 1 \xb7 Connect services.",priority:103}),a.envKeyPresence.CURSOR_API_KEY||m(b,{id:"missing-cursor-key",stepId:"connect-services",message:"Setup needed: CURSOR_API_KEY is not configured yet.",action:"Add it in Step 1 \xb7 Connect services.",priority:104}),a.envKeyPresence.GITHUB_TOKEN||m(b,{id:"missing-github-token",stepId:"connect-services",message:"Setup needed: GITHUB_TOKEN is not configured yet.",action:"Add it in Step 1 \xb7 Connect services.",priority:105}),a.envKeyPresence.VERCEL_TOKEN||m(b,{id:"missing-vercel-token",stepId:"connect-services",message:"Setup needed: VERCEL_TOKEN is not configured yet.",action:"Add it in Step 1 \xb7 Connect services.",priority:106}),b.sort((a,b)=>a.priority-b.priority)}(a.summary),e=function(a,b){let c=[],d=a.state?.linear;return d?.teamKey?d.statusCoverageComplete||d.manualComplete||m(c,{id:"linear-status-coverage-incomplete",stepId:"linear-workspace",message:"Blocked: Required Linear workflow statuses are still missing.",action:"Next: Complete Linear workspace setup or confirm manual status coverage.",priority:151}):m(c,{id:"linear-workspace-not-applied",stepId:"linear-workspace",message:"Setup needed: Linear workspace setup is not complete yet.",action:"Next: Preview and apply Linear team, project, and workflow statuses.",priority:150}),b?.linearPreviewStale&&m(c,{id:"linear-preview-stale",stepId:"linear-workspace",message:"Blocked: Linear setup preview is out of date.",action:"Next: Regenerate the Linear setup preview, then confirm and apply.",priority:152,tone:"error"}),c.sort((a,b)=>a.priority-b.priority)}(c,a.uiState),f=function(a,b){let c=[],d=a.state?.vercel,e=a.state?.linear?.teamKey;if(d?.projectId){var f;for(let[a,b]of(d.endpointReachable||m(c,{id:"vercel-endpoint-unreachable",stepId:"vercel-bridge",message:"Blocked: Vercel /api/linear-webhook endpoint is not reachable yet.",action:"Next: Deploy the bridge project and confirm the public webhook route is reachable.",priority:161,tone:"error"}),Object.entries(d.envVarPresence??{})))"missing"===b&&m(c,{id:`vercel-env-missing-${a}`,stepId:"vercel-bridge",message:`Blocked: Vercel production env var ${a} is missing.`,action:"Next: Apply Vercel bridge env vars or set them manually.",priority:162,tone:"error"});d.linearWebhookVerified||m(c,{id:"linear-webhook-unverified",stepId:"vercel-bridge",message:"Blocked: Linear Issue webhook is not verified for the Vercel bridge URL.",action:"Next: Create or verify the Linear webhook, then refresh bridge readiness.",priority:163,tone:"error"}),d.signedProbeVerified||m(c,{id:"signed-probe-unverified",stepId:"vercel-bridge",message:"Blocked: Signed webhook delivery verification has not passed against production.",action:"Next: Apply Vercel bridge settings and wait for signed probe verification to pass.",priority:164,tone:"error"}),d.deploymentRedeployRequired&&m(c,{id:"vercel-redeploy-required",stepId:"vercel-bridge",message:"Blocked: Vercel production must be redeployed after env var changes before signed verification can pass.",action:"Next: Redeploy production, then retry Vercel bridge apply.",priority:165,tone:"error"}),e&&d.envVarPresence?.HARNESS_TEAM_KEY==="present"&&a.state?.linear?.teamKey&&((f={configuredTeamKey:a.state.linear.teamKey,selectedTeamKey:e}).configuredTeamKey&&f.selectedTeamKey&&f.configuredTeamKey!==f.selectedTeamKey||f.configuredProjectId&&f.selectedProjectId&&f.configuredProjectId!==f.selectedProjectId||f.configuredProductionUrl&&f.selectedProductionUrl&&f.configuredProductionUrl!==f.selectedProductionUrl||0)&&m(c,{id:"vercel-team-key-stale",stepId:"vercel-bridge",message:"Blocked: Vercel HARNESS_TEAM_KEY may be stale after Linear team changes.",action:"Next: Re-apply Vercel bridge setup with the current team key.",priority:166,tone:"error"})}else m(c,{id:"vercel-bridge-not-applied",stepId:"vercel-bridge",message:"Setup needed: Vercel webhook bridge setup is not complete yet.",action:"Next: Preview and apply Vercel bridge env vars and webhook readiness.",priority:160});return b?.vercelPreviewStale&&m(c,{id:"vercel-preview-stale",stepId:"vercel-bridge",message:"Blocked: Vercel bridge preview is out of date.",action:"Next: Regenerate the Vercel bridge preview, then confirm and apply.",priority:167,tone:"error"}),c.sort((a,b)=>a.priority-b.priority)}(c,a.uiState),g=function(a,b,c){let d=[];return q(a,".env.local")||s(d,{id:"missing-env-local",stepId:"local-setup",message:"Setup needed: create .env.local on this machine.",action:"Add your target repo in Step 4, then preview setup files.",priority:100}),q(a,".harness/config.local.json")||s(d,{id:"missing-config-local",stepId:"local-setup",message:"Setup needed: create .harness/config.local.json.",action:"Choose your target repo in Step 4, then preview setup files.",priority:101}),a.envKeyPresence.HARNESS_CONFIG_PATH||s(d,{id:"missing-harness-config-path",stepId:"local-setup",message:"Setup needed: HARNESS_CONFIG_PATH is not configured yet.",action:"This is set automatically when you create local setup files.",priority:102}),a.overview.configResolved||a.configSource.parseError||s(d,{id:"config-unresolved",stepId:"local-setup",message:"Setup needed: harness config is not configured locally yet.",action:"Complete Step 4 to create local setup files.",priority:106}),b?.localPreviewStale&&s(d,{id:"local-preview-stale",stepId:"local-setup",message:"Blocked: Local preview is out of date.",action:"Next: Regenerate preview after your latest edits, then confirm and apply.",priority:107}),c?.hasStaleConfig&&(c.staleHarnessDispatchRepo&&s(d,{id:"stale-smoke-dispatch-repo",stepId:"local-setup",message:"Blocked: Your setup points at an old disposable smoke-test harness repo.",action:"Next: Reset GITHUB_DISPATCH_REPOSITORY to your current harness repo, preview local setup, then apply.",priority:108}),c.staleTargetRepos.length>0&&s(d,{id:"stale-smoke-target-repo",stepId:"local-setup",message:"Blocked: Target repo config still points at an old disposable smoke-test repo.",action:"Next: Enter your intended target repo in Local setup, preview local setup, then apply.",priority:109})),d.sort((a,b)=>a.priority-b.priority)}(a.summary,a.uiState,b),h=function(a){let b=[];return a.configSource.parseError&&s(b,{id:"config-parse-error",stepId:"local-readiness",message:"Blocked: Harness config does not parse.",action:"Next: Fix .harness/config.local.json validation errors in Local setup.",priority:200}),a.configSummary&&!a.configSummary.closureValid&&s(b,{id:"allowed-target-repos-closure",stepId:"local-readiness",message:"Blocked: allowedTargetRepos does not cover every configured target repo.",action:"Next: Update target repo config so allowedTargetRepos includes each mapping.",priority:201}),{blockers:b.sort((a,b)=>a.priority-b.priority),warnings:[].sort((a,b)=>a.priority-b.priority)}}(a.summary),i=u(a.summary,a.remoteSummary,a.uiState,b,c),j=n({setupSummary:a.summary,controlPlaneContext:c}),k={blockers:z({blockers:i.blockers,evidence:a.uiState?.cloudSecretsApplyEvidence,currentConfigStateFingerprint:j}),warnings:i.warnings},r=function(a,b,c){let d=[],e=[];if(c&&l(c,b.harnessRepoAccess))return{blockers:d,warnings:e};for(let c of(b.githubTokenConfigured||s(d,{id:"missing-github-token-remote-workflow",stepId:"target-workflow",message:"Blocked: GITHUB_TOKEN is required for workflow install.",action:"Next: Add GITHUB_TOKEN in local setup, then return to workflow install.",priority:310}),0===b.targetRepos.length&&a.overview.configResolved&&s(d,{id:"missing-target-repos",stepId:"target-workflow",message:"Blocked: No target repos are configured for workflow install.",action:"Next: Add at least one target repo mapping in local setup.",priority:304}),b.targetRepos)){if("denied"===c.repoAccess&&s(d,{id:`target-repo-access-denied-${c.repoConfigId}`,stepId:"target-workflow",message:`Blocked: GitHub access to ${c.targetRepo} was denied.`,action:"Next: Grant workflow and PR permissions for this target repo, then refresh.",priority:305}),"missing"===c.workflowStatus||"differs"===c.workflowStatus){let a="missing"===c.workflowStatus?"missing":"outdated";s(d,{id:`target-workflow-${c.workflowStatus}-${c.repoConfigId}`,stepId:"target-workflow",message:`Blocked: Target workflow is ${a} for ${c.repoConfigId}.`,action:"Next: Preview the workflow install PR, confirm, then create or update the install PR.",priority:306})}"unknown"===c.workflowStatus&&b.githubTokenConfigured&&t(e,{id:`target-workflow-unknown-${c.repoConfigId}`,stepId:"target-workflow",message:`Target workflow status is unknown for ${c.repoConfigId}.`,action:"Refresh workflow install setup to re-check workflow presence.",priority:592})}return{blockers:d.sort((a,b)=>a.priority-b.priority),warnings:e.sort((a,b)=>a.priority-b.priority)}}(a.summary,a.remoteSummary,b),v=0===d.length,w=0===e.length,x=0===f.length,y=x&&0===g.length,B=y&&0===h.blockers.length&&a.summary.overview.readyForLocalDoctor,C=a.uiState?.localReadinessReviewed??!1,D=B&&C,E=D&&0===k.blockers.length,F=a.uiState?.cloudSecretsReviewed??!1,G=E&&F,H=G&&0===r.blockers.length,I=[...d,...e,...f,...g,...h.blockers,...k.blockers,...r.blockers].sort((a,b)=>a.priority-b.priority),J=[...h.warnings,...k.warnings,...r.warnings].sort((a,b)=>a.priority-b.priority),K=v?w?x?y?D?G?H?"ready-for-first-run":"target-workflow":"cloud-secrets":"local-readiness":"local-setup":"vercel-bridge":"linear-workspace":"connect-services",L={"connect-services":d,"linear-workspace":e,"vercel-bridge":f,"local-setup":g,"local-readiness":h.blockers,"cloud-secrets":k.blockers,"target-workflow":r.blockers,"ready-for-first-run":H?[]:[{id:"not-ready-for-first-run",stepId:"ready-for-first-run",message:"Blocked: Harness setup is not ready for a first run yet.",action:"Next: Complete the earlier setup steps first.",priority:400,blocking:!0}]},M=o.map(a=>{let b=function(a,b,c,d,e,f,g,h){switch(a){case"connect-services":return!0;case"linear-workspace":return b;case"vercel-bridge":return c;case"local-setup":return d;case"local-readiness":return e;case"cloud-secrets":return f;case"target-workflow":return g;case"ready-for-first-run":return h}}(a,v,w,x,y,D,G,H),c=L[a],d="local-readiness"===a?h.warnings:"cloud-secrets"===a?k.warnings:"target-workflow"===a?r.warnings:[],e="connect-services"===a?v:"linear-workspace"===a?w:"vercel-bridge"===a?x:"local-setup"===a?y:"local-readiness"===a?D:"cloud-secrets"===a?G:H,f=a===K;return{id:a,label:p[a],status:function(a){if(!a.prerequisitesMet)return"not_started";if(a.complete)return"complete";if(a.blockers.length>0){var b;return a.isCurrent&&(b=a.blockers).length>0&&b.every(a=>"setup_needed"===a.tone)?"in_progress":"blocked"}return a.isCurrent?"in_progress":"ready"}({stepId:a,prerequisitesMet:b,blockers:c,complete:e,isCurrent:f}),summary:"ready-for-first-run"===a&&H?"Harness setup is ready for a future first run.":c[0]?.message??`Continue ${p[a].toLowerCase()}.`,blockers:c,warnings:d,primaryAction:function(a,b){let c=b.find(b=>b.stepId===a);if(c)return{id:c.id,label:c.action.replace(/^Next:\s*/,""),stepId:a};switch(a){case"connect-services":return{id:"preview-connect-services",label:"Connect services",stepId:a};case"linear-workspace":return{id:"complete-linear-workspace",label:"Set up Linear workspace",stepId:a};case"vercel-bridge":return{id:"complete-vercel-bridge",label:"Set up Vercel webhook bridge",stepId:a};case"local-setup":return{id:"preview-local-files",label:"Preview setup files",stepId:a};case"local-readiness":return{id:"review-local-readiness",label:"Review local readiness checks",stepId:a};case"cloud-secrets":return{id:"complete-cloud-secrets",label:"Connect cloud secrets",stepId:a};case"target-workflow":return{id:"complete-target-workflow",label:"Install target repo workflow",stepId:a};case"ready-for-first-run":return{id:"review-first-run-readiness",label:"Review final readiness state",stepId:a}}}(a,I),inspectable:!0,actionable:b&&(f||c.length>0)}}),N=I[0],O=N?{id:N.id,label:N.action.replace(/^Next:\s*/,""),stepId:N.stepId}:M.find(a=>a.id===K)?.primaryAction,P=function(a){if(a.staleSmokeDiagnostics.hasStaleConfig){let b=a.staleSmokeDiagnostics.staleTargetRepos.length>0,c=a.staleSmokeDiagnostics.suggestedHarnessDispatchRepo;return{id:"fix-stale-smoke-config",stepId:"local-setup",title:"I need this from you now",problem:"Your setup points at an old disposable smoke-test repo.",whyItMatters:"That repo may have been deleted after the M5.5 smoke test, so GitHub access checks fail.",neededFromYou:b?c?`Reset GITHUB_DISPATCH_REPOSITORY to ${c}, and enter the target repo you actually intend to use.`:"Reset the stale harness dispatch repo and enter the target repo you actually intend to use.":c?`Reset GITHUB_DISPATCH_REPOSITORY to ${c}.`:"Reset the stale harness dispatch repo to your current harness repo.",primaryCtaLabel:"Preview setup files",secondaryCtaLabel:"Show technical details",tone:"error"}}if(a.highestPriorityBlocker?.id==="harness-repo-access-denied")return{id:"confirm-harness-repo-access",stepId:"cloud-secrets",title:"I need this from you now",problem:A(a.highestPriorityBlocker.message),whyItMatters:"Cloud secrets setup cannot continue until the harness dispatch repo is reachable with your GitHub token.",neededFromYou:"Confirm the harness dispatch repo is the one you intend to use, or fix local setup if it is wrong.",primaryCtaLabel:"Connect cloud secrets",secondaryCtaLabel:"Show technical details",tone:"error"};if(a.highestPriorityBlocker){let b="setup_needed"===a.highestPriorityBlocker.tone,c="missing-config-local"===a.highestPriorityBlocker.id||"config-unresolved"===a.highestPriorityBlocker.id?"Step 4 of 7 \xb7 Choose target repo":"connect-services"===a.highestPriorityBlocker.stepId?"Step 1 of 7 \xb7 Connect services":"linear-workspace"===a.highestPriorityBlocker.stepId?"Step 2 of 7 \xb7 Set up Linear workspace":"vercel-bridge"===a.highestPriorityBlocker.stepId?"Step 3 of 7 \xb7 Set up Vercel webhook bridge":"Step 1 of 7 \xb7 Connect services";return{id:a.highestPriorityBlocker.id,stepId:a.highestPriorityBlocker.stepId,title:b?c:"I need this from you now",problem:A(a.highestPriorityBlocker.message),whyItMatters:b?"This is normal for a first-time setup. Nothing is broken yet.":"Setup cannot continue until this blocker is resolved.",neededFromYou:a.highestPriorityBlocker.action.replace(/^Next:\s*/,""),primaryCtaLabel:b?"cloud-secrets"===a.highestPriorityBlocker.stepId||"target-workflow"===a.highestPriorityBlocker.stepId?"cloud-secrets"===a.highestPriorityBlocker.stepId?"Connect cloud secrets":"Install target repo workflow":("missing-config-local"===a.highestPriorityBlocker.id||a.highestPriorityBlocker.id,"Continue"):a.highestPriorityBlocker.action.replace(/^Next:\s*/,""),secondaryCtaLabel:"Show technical details",tone:b?"setup_needed":"error"}}}({highestPriorityBlocker:N,staleSmokeDiagnostics:b});return{steps:M,currentStepId:K,highestPriorityBlocker:N,nextRecommendedAction:O,primaryTask:P,staleSmokeDiagnostics:b,remoteSetupBlockedByUpstream:b.hasStaleConfig,readyForFirstRun:H,localReadinessBlockersCleared:B,localReadinessReviewed:C,localReadinessComplete:D,cloudSecretsBlockersCleared:E,cloudSecretsReviewed:F,nonBlockingWarnings:J,prohibitedActionsNote:"M6 confirms setup readiness only. It does not trigger harness phases, Linear automation, cloud workflow dispatch, implementation branches, or issue-work PRs. A later milestone may add a safe first-issue dry run."}}let C={sectionStack:"flex flex-col gap-6"},D={section:"space-y-6",cardHeader:"space-y-1.5 pb-4",list:"space-y-3",inline:"flex flex-wrap items-center gap-2",stackSm:"space-y-2"},E={pageTitle:"text-2xl font-semibold tracking-tight md:text-3xl",pageDescription:"text-sm text-muted-foreground md:text-base",twoColumnGrid:"grid grid-cols-1 gap-4 md:grid-cols-2",previewPanel:"overflow-x-auto rounded-md border border-border bg-muted/40 p-4 text-xs md:text-sm"},F={fieldStack:"space-y-2",fieldGrid:"grid grid-cols-1 gap-4 md:grid-cols-2",actions:"flex flex-wrap items-center gap-3",confirmationBox:"rounded-md border border-border bg-muted/20 p-4 space-y-3",secretHint:"text-xs text-muted-foreground"},G=["connect-services","linear-workspace","vercel-bridge","choose-target-repos","local-readiness","cloud-secrets","target-workflow","ready-for-first-run"];function H(a){return G.indexOf(a)}function I(a){let b=H(a);return b<=0?null:G[b-1]??null}function J(a){return a.overview.localFilesPresent}var K=c(80678),L=c(4306),M=c(84655);let N=(0,L.F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"text-foreground",success:"border-transparent bg-emerald-100 text-emerald-800 dark:bg-emerald-950 dark:text-emerald-200",warning:"border-transparent bg-amber-100 text-amber-800 dark:bg-amber-950 dark:text-amber-200",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80"}},defaultVariants:{variant:"default"}});function O({className:a,variant:b,...c}){return(0,g.jsx)("div",{className:(0,M.cn)(N({variant:b}),a),...c})}function P({label:a,variant:b="secondary",className:c}){return(0,g.jsx)(O,{variant:b,className:(0,M.cn)(c),children:a})}var Q=c(81744);let R=(0,Q.A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),S=(0,Q.A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),T=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("div",{ref:c,className:(0,M.cn)("rounded-xl border border-border bg-card text-card-foreground shadow-sm",a),...b}));T.displayName="Card";let U=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("div",{ref:c,className:(0,M.cn)("flex flex-col space-y-1.5 p-6",a),...b}));U.displayName="CardHeader";let V=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("div",{ref:c,className:(0,M.cn)("font-semibold leading-none tracking-tight",a),...b}));V.displayName="CardTitle";let W=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("div",{ref:c,className:(0,M.cn)("text-sm text-muted-foreground",a),...b}));W.displayName="CardDescription";let X=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("div",{ref:c,className:(0,M.cn)("p-6 pt-0",a),...b}));function Y({title:a,description:b,children:c,className:d}){return(0,g.jsxs)(T,{className:d,children:[(0,g.jsxs)(U,{className:D.cardHeader,children:[(0,g.jsx)(V,{children:a}),b?(0,g.jsx)(W,{children:b}):null]}),(0,g.jsx)(X,{className:(0,M.cn)(D.stackSm),children:c})]})}function Z({readiness:a}){let b=a.steps.find(b=>b.id===a.currentStepId);return(0,g.jsx)(Y,{title:"Setup readiness",description:"One recommended next action at a time.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsxs)("div",{className:D.inline,children:[(0,g.jsx)(P,{label:a.readyForFirstRun?"Ready for first run":"Setup in progress",variant:a.readyForFirstRun?"success":"warning"}),b?(0,g.jsx)(P,{label:`Current step: ${b.label}`,variant:"secondary"}):null]}),a.highestPriorityBlocker?(0,g.jsxs)("div",{className:"setup_needed"===a.highestPriorityBlocker.tone?"flex items-start gap-3 rounded-md border border-border bg-muted/30 p-3":"flex items-start gap-3 rounded-md border border-destructive/30 bg-destructive/5 p-3",children:["setup_needed"===a.highestPriorityBlocker.tone?(0,g.jsx)(R,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}):(0,g.jsx)(S,{className:"mt-0.5 size-4 shrink-0 text-destructive"}),(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.highestPriorityBlocker.message.replace(/^Blocked:\s*/,"").replace(/^Setup needed:\s*/,"")}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.highestPriorityBlocker.action})]})]}):a.nextRecommendedAction?(0,g.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border bg-muted/30 p-3",children:[(0,g.jsx)(R,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:"Next recommended action"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.nextRecommendedAction.label})]})]}):null,a.nonBlockingWarnings.length>0&&!a.remoteSetupBlockedByUpstream?(0,g.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:a.nonBlockingWarnings.map(a=>(0,g.jsx)("li",{children:a.message},a.id))}):a.remoteSetupBlockedByUpstream?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Remote setup details stay collapsed until harness repo access is fixed."}):null]})})}X.displayName="CardContent";let $={current:null},_={current:!1},aa="undefined"!=typeof window;function ab(){if(_.current=!0,aa)if(window.matchMedia){let a=window.matchMedia("(prefers-reduced-motion)"),b=()=>$.current=a.matches;a.addEventListener("change",b),b()}else $.current=!1}function ac(){_.current||ab();let[a]=(0,h.useState)($.current);return a}let ad=h.forwardRef(({className:a,orientation:b="horizontal",...c},d)=>(0,g.jsx)("div",{ref:d,className:(0,M.cn)("shrink-0 bg-border","horizontal"===b?"h-px w-full":"h-full w-px",a),...c}));ad.displayName="Separator";let ae=h.forwardRef(({className:a,type:b,...c},d)=>(0,g.jsx)("input",{type:b,className:(0,M.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:d,...c}));ae.displayName="Input";let af=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("label",{ref:c,className:(0,M.cn)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",a),...b}));af.displayName="Label";var ag={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ah=h.createContext&&h.createContext(ag),ai=["attr","size","title"];function aj(){return(aj=Object.assign?Object.assign.bind():function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)({}).hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a}).apply(null,arguments)}function ak(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function al(a){for(var b=1;b<arguments.length;b++){var c=null!=arguments[b]?arguments[b]:{};b%2?ak(Object(c),!0).forEach(function(b){var d,e,f;d=a,e=b,f=c[b],(e=function(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}(a,"string");return"symbol"==typeof b?b:b+""}(e))in d?Object.defineProperty(d,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):d[e]=f}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(c)):ak(Object(c)).forEach(function(b){Object.defineProperty(a,b,Object.getOwnPropertyDescriptor(c,b))})}return a}function am(a){return b=>h.createElement(an,aj({attr:al({},a.attr)},b),function a(b){return b&&b.map((b,c)=>h.createElement(b.tag,al({key:c},b.attr),a(b.child)))}(a.child))}function an(a){var b=b=>{var c,d=a.attr,e=a.size,f=a.title,g=function(a,b){if(null==a)return{};var c,d,e=function(a,b){if(null==a)return{};var c={};for(var d in a)if(({}).hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&({}).propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}(a,ai),i=e||b.size||"1em";return b.className&&(c=b.className),a.className&&(c=(c?c+" ":"")+a.className),h.createElement("svg",aj({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},b.attr,d,g,{className:c,style:al(al({color:a.color||b.color},b.style),a.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),f&&h.createElement("title",null,f),a.children)};return void 0!==ah?h.createElement(ah.Consumer,null,a=>b(a)):b(ag)}function ao(a){return am({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"m12 1.608 12 20.784H0Z"},child:[]}]})(a)}function ap(a){return am({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z"},child:[]}]})(a)}function aq(a){return am({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},child:[]}]})(a)}function ar(a){return am({tag:"svg",attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M11.503.131 1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23"},child:[]}]})(a)}let as="size-4 shrink-0 text-muted-foreground";function at({serviceKey:a,className:b}){let c=(0,M.cn)(as,b);switch(a){case"LINEAR_API_KEY":return(0,g.jsx)(ap,{className:c,"aria-hidden":"true"});case"CURSOR_API_KEY":return(0,g.jsx)(ar,{className:c,"aria-hidden":"true"});case"GITHUB_TOKEN":return(0,g.jsx)(aq,{className:c,"aria-hidden":"true"});case"VERCEL_TOKEN":return(0,g.jsx)(ao,{className:c,"aria-hidden":"true"})}}function au({className:a}){return(0,g.jsx)(aq,{className:(0,M.cn)(as,a),"aria-hidden":"true"})}function av(a){return am({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"},child:[]}]})(a)}function aw({message:a,failed:b=!1,className:c}){return(0,g.jsxs)("p",{className:(0,M.cn)("flex items-center gap-2 text-sm",b?"text-destructive":"text-muted-foreground",c),children:[b?null:(0,g.jsx)(av,{className:"size-4 shrink-0 text-green-600","aria-hidden":"true"}),(0,g.jsx)("span",{children:a})]})}function ax(a){let b=a.trim(),c=0;for(let a=0;a<b.length;a++)c=(c<<5)-c+b.charCodeAt(a)|0;return`fp:${c}:${b.length}`}function ay(a,b){return"connected"===a.state&&!!b.trim()&&a.verifiedValueFingerprint===ax(b)}function az(a){let b=a.typedToken.trim();return b?{tokenForRequest:b,source:"typed",fingerprint:ax(b)}:a.hasSavedToken?{source:"saved",fingerprint:"saved-local"}:null}function aA(a,b,c){return!!c&&!!function(a,b){if(!a||"connected"!==a.state)return!1;let c=b.trim();return!!c&&a.verifiedTargetRepo===c}(a,b)&&a?.verifiedGithubTokenFingerprint===c}function aB(a){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`guided-repo-${a}`}let aC="https://github.com/settings/tokens",aD=[{id:"repo",description:"read and write repository contents, including private target repos and harness repo secrets"},{id:"workflow",description:"update GitHub Actions workflow files when the harness opens workflow install PRs"}];var aE=c(67283),aF=c.n(aE);let aG={generateNewToken:"/setup/github-token/github-pat-generate-new-token.png",generateClassic:"/setup/github-token/github-pat-generate-classic.png",verifyEmail:"/setup/github-token/github-pat-verify-email.png"};function aH({src:a,alt:b}){return(0,g.jsx)("div",{className:"overflow-hidden rounded-md border border-border bg-muted/20",children:(0,g.jsx)(aF(),{src:a,alt:b,width:640,height:360,className:"h-auto w-full max-w-sm",sizes:"(max-width: 640px) 100vw, 320px"})})}function aI(){return(0,g.jsxs)("details",{className:"rounded-md border border-border/80 bg-muted/10 p-3",children:[(0,g.jsx)("summary",{className:"cursor-pointer text-sm text-muted-foreground hover:text-foreground",children:"How do I get a GitHub token?"}),(0,g.jsxs)("ol",{className:"mt-3 list-decimal space-y-4 pl-5 text-sm text-muted-foreground",children:[(0,g.jsxs)("li",{className:"space-y-1",children:[(0,g.jsxs)("p",{children:["Go to"," ",(0,g.jsx)("a",{href:aC,target:"_blank",rel:"noopener noreferrer",className:"text-foreground underline underline-offset-2",children:aC}),"."]}),(0,g.jsxs)("p",{className:F.secretHint,children:["Open ",(0,g.jsx)("strong",{className:"font-medium text-foreground",children:"Personal access tokens"})," ","and choose the ",(0,g.jsx)("strong",{className:"font-medium text-foreground",children:"Tokens (classic)"})," ","tab if GitHub shows both classic and fine-grained options."]})]}),(0,g.jsxs)("li",{className:"space-y-2",children:[(0,g.jsxs)("p",{children:["Click ",(0,g.jsx)("strong",{className:"font-medium text-foreground",children:"Generate new token"}),"."]}),(0,g.jsx)(aH,{src:aG.generateNewToken,alt:"GitHub Personal access tokens page with Generate new token button"})]}),(0,g.jsxs)("li",{className:"space-y-2",children:[(0,g.jsxs)("p",{children:["Choose"," ",(0,g.jsx)("strong",{className:"font-medium text-foreground",children:"Generate new token (classic)"}),"."]}),(0,g.jsx)("p",{className:F.secretHint,children:"Use classic for the guided happy path. Fine-grained tokens can work, but they require repo-specific permissions and are better for advanced setup."}),(0,g.jsx)(aH,{src:aG.generateClassic,alt:"GitHub dropdown showing Generate new token classic for general use"})]}),(0,g.jsxs)("li",{className:"space-y-2",children:[(0,g.jsx)("p",{children:"If GitHub asks you to verify your email, complete that step before continuing."}),(0,g.jsx)(aH,{src:aG.verifyEmail,alt:"GitHub email verification prompt with Verify via email button"})]}),(0,g.jsxs)("li",{children:["Give the token a clear name, for example"," ",(0,g.jsx)("strong",{className:"font-medium text-foreground",children:"Product Development Harness"}),"."]}),(0,g.jsxs)("li",{className:"space-y-1",children:[(0,g.jsx)("p",{children:"Select these scopes:"}),(0,g.jsx)("ul",{className:"list-disc space-y-1 pl-5",children:aD.map(a=>(0,g.jsxs)("li",{children:[(0,g.jsx)("strong",{className:"font-medium text-foreground",children:a.id})," — ",a.description]},a.id))})]}),(0,g.jsxs)("li",{children:["Click ",(0,g.jsx)("strong",{className:"font-medium text-foreground",children:"Generate token"})," ","at the bottom of the page."]}),(0,g.jsxs)("li",{className:"space-y-1",children:[(0,g.jsx)("p",{children:"Copy the token immediately and store it somewhere safe. GitHub only shows it once."}),(0,g.jsx)("p",{className:F.secretHint,children:"Paste the copied token into the field above, then click Verify."})]})]}),(0,g.jsxs)("div",{className:"mt-4 rounded-md border border-dashed border-border/80 bg-background/50 p-3 text-xs text-muted-foreground",children:[(0,g.jsx)("p",{className:"font-medium text-foreground",children:"Advanced option"}),(0,g.jsx)("p",{className:"mt-1",children:"Fine-grained tokens can also work if they have access to each target repo and include Contents write plus Workflows write permissions. Use this only if you want repo-specific access control."})]})]})}let aJ={LINEAR_API_KEY:{state:"unchecked"},CURSOR_API_KEY:{state:"unchecked"},GITHUB_TOKEN:{state:"unchecked"},VERCEL_TOKEN:{state:"unchecked"}},aK=[{key:"LINEAR_API_KEY",id:"linear-api-key",displayName:"Linear",valueKey:"linearApiKey",helperText:"Lets the harness read and update Linear issues.",inputLabel:"Go to Linear, create or copy your API key, then paste it here."},{key:"CURSOR_API_KEY",id:"cursor-api-key",displayName:"Cursor",valueKey:"cursorApiKey",helperText:"Used to spin up Cursor agents that do the planning and development work.",inputLabel:"Go to Cursor, create or copy your API key, then paste it here."},{key:"GITHUB_TOKEN",id:"github-token",displayName:"GitHub",valueKey:"githubToken",helperText:"Use a classic GitHub personal access token with repo and workflow access. This lets the harness check your repos, save encrypted setup secrets, and open workflow install PRs later.",inputLabel:"Paste your GitHub token"},{key:"VERCEL_TOKEN",id:"vercel-token",displayName:"Vercel",valueKey:"vercelToken",helperText:"Used to create or access Vercel previews so implementation work can be verified before code is merged.",inputLabel:"Go to Vercel, create or copy your token, then paste it here."}];function aL({values:a,presence:b,highlightDispatchRepo:c=!1,variant:d="advanced",verification:e=aJ,verifyingKey:f=null,onChange:h,onVerifyService:i,onServiceBlur:j}){let k=b=>{h({...a,...b})};return"guided-services"===d?(0,g.jsx)("div",{className:"space-y-4",children:aK.map(c=>(0,g.jsx)(aM,{id:c.id,serviceKey:c.key,displayName:c.displayName,envKey:c.key,helperText:c.helperText,inputLabel:c.inputLabel,present:b[c.key],value:a[c.valueKey],verification:e[c.key],verifying:f===c.key,onChange:a=>k({[c.valueKey]:a}),onVerify:i?()=>i(c.key):void 0,onBlur:j?()=>j(c.key):void 0},c.key))}):(0,g.jsxs)("div",{className:F.fieldGrid,children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"harness-config-path",children:"HARNESS_CONFIG_PATH"}),(0,g.jsx)(ae,{id:"harness-config-path",value:a.harnessConfigPath,onChange:a=>k({harnessConfigPath:a.target.value}),autoComplete:"off"}),(0,g.jsx)("p",{className:F.secretHint,children:"Recommended: .harness/config.local.json"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"github-dispatch-repository",children:"GITHUB_DISPATCH_REPOSITORY"}),(0,g.jsx)(ae,{id:"github-dispatch-repository",value:a.githubDispatchRepository,onChange:a=>k({githubDispatchRepository:a.target.value}),autoComplete:"off",className:c?"border-destructive/60":void 0}),(0,g.jsxs)("p",{className:F.secretHint,children:["Harness repo used for remote setup checks and Actions secret writes.",c?" This value still points at an old disposable smoke-test repo.":" Defaults to git remote origin when unset."]})]}),aK.map(c=>(0,g.jsx)(aN,{id:c.id,label:c.key,present:b[c.key],value:a[c.valueKey],onChange:a=>k({[c.valueKey]:a})},c.key))]})}function aM({id:a,serviceKey:b,displayName:c,envKey:d,helperText:e,inputLabel:f,present:h,value:i,verification:j,verifying:k,onChange:l,onVerify:m,onBlur:n}){let o=function(a){switch(a){case"checking":return{label:"Checking",variant:"secondary"};case"connected":return{label:"Connected",variant:"success"};case"failed":return{label:"Failed",variant:"destructive"};default:return{label:"Not connected yet",variant:"secondary"}}}(j.state),p=i.trim(),q="connected"===j.state&&(p?ay(j,p):h),r="failed"===j.state&&(p?"failed"===j.state&&!!p.trim()&&j.attemptedValueFingerprint===ax(p):h),s=q&&!!j.message,t=r&&!!j.message,u=k||q||!p&&!h;return(0,g.jsxs)("div",{className:"rounded-lg border border-border bg-card p-4 space-y-3",children:[(0,g.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,g.jsxs)("div",{className:"space-y-1",children:[(0,g.jsxs)("p",{className:"inline-flex items-center gap-2 text-sm font-medium",children:[(0,g.jsx)(at,{serviceKey:b}),(0,g.jsx)("span",{children:c})]}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:d})]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[h?(0,g.jsx)(P,{label:"Saved locally",variant:"secondary"}):null,(0,g.jsx)(P,{label:o.label,variant:o.variant})]})]}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:e}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:a,children:f??d}),(0,g.jsx)(ae,{id:a,type:"password",value:i,onChange:a=>l(a.target.value),onBlur:n,placeholder:h?"Leave blank to keep existing value":"Enter value",autoComplete:"off"})]}),"GITHUB_TOKEN"===b?(0,g.jsx)(aI,{}):null,(0,g.jsxs)("div",{className:"flex flex-col items-start gap-2",children:[s?(0,g.jsx)(aw,{message:j.message}):t?(0,g.jsx)(aw,{message:j.message,failed:!0}):h&&"unchecked"===j.state&&!p?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"A key is already saved in `.env.local`. Verify it if you want to confirm it still works."}):null,j.limitation&&(q||r)?(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:j.limitation}):null,m?(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:m,disabled:u,children:k?"Verifying and saving…":q?"Verified":"Verify and save"}):null]})]})}function aN({id:a,label:b,present:c,value:d,helperText:e,onChange:f}){return(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)(af,{htmlFor:a,children:b}),(0,g.jsx)(P,{label:c?"Set":"Not configured yet",variant:c?"success":"secondary"})]}),(0,g.jsx)(ae,{id:a,type:"password",value:d,onChange:a=>f(a.target.value),placeholder:c?"Leave blank to keep existing value":"Enter value",autoComplete:"off"}),e?(0,g.jsx)("p",{className:F.secretHint,children:e}):c?(0,g.jsx)("p",{className:F.secretHint,children:"Existing values are never shown. Leave blank to preserve a set key."}):null]})}let aO=h.forwardRef(({className:a,...b},c)=>(0,g.jsx)("textarea",{className:(0,M.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:c,...b}));aO.displayName="Textarea";let aP=/^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/?$/;function aQ({values:a,highlightStaleTarget:b=!1,variant:c="advanced",suggestedHarnessDispatchRepo:d,savedHarnessDispatchRepository:e="",harnessRepoVerification:f={state:"unchecked"},verifyingHarnessRepo:i=!1,guidedRepos:j,repoVerification:k={},verifyingRepoRowId:l=null,onChange:m,onGuidedReposChange:n,onVerifyRepo:o,onRepoBlur:p,onAddRepo:q,onRemoveRepo:r,harnessDispatchRepository:s="",onHarnessDispatchRepositoryChange:t,onVerifyAndUseHarnessRepo:u,harnessConnectedAutomatically:v=!1,githubTokenSourceHint:w,activeGithubTokenFingerprint:x=null}){let[y,z]=(0,h.useState)({}),[A,B]=(0,h.useState)(!1),[C,D]=(0,h.useState)(s),E=s.trim()||e.trim()||d?.trim()||"",G=e.trim()?"Saved in .env.local":d?.trim()?"Detected from git remote":"Not detected yet",H=s.trim(),I="connected"===f.state&&f.verifiedRepo===H&&(!x||f.verifiedGithubTokenFingerprint===x),J=(b,c)=>{let d=[...a.repos];d[b]={...d[b]??{id:"",targetRepo:""},...c},m({...a,repos:d})},L=(a,b)=>{j&&n&&n(j.map(c=>c.rowId===a?{...c,...b}:c))};if("guided-minimal"===c){let a=j&&j.length>0?j:[{rowId:"fallback-repo",id:"",targetRepo:""}];return(0,g.jsxs)("div",{className:"space-y-6",children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"harness-dispatch-repository-guided",children:"Harness workspace"}),A?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ae,{id:"harness-dispatch-repository-guided",value:C,onChange:a=>D(a.target.value),autoComplete:"off"}),(0,g.jsx)("p",{className:F.secretHint,children:"Enter the harness repo slug or GitHub URL. Saving to `.env.local` happens when you verify and use this repo, then create or update local setup files."}),"failed"===f.state&&f.message?(0,g.jsx)(aw,{message:f.message,failed:!0}):null,f.limitation?(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:f.limitation}):null,(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[u?(0,g.jsx)(K.$,{type:"button",size:"sm",onClick:()=>u(C),disabled:i||!C.trim(),children:i?"Verifying harness repo…":"Verify and use harness repo"}):null,(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{D(H||E),B(!1)},children:"Cancel"})]})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("p",{className:"text-sm font-medium break-all",children:H||E||"Not connected yet"}),(0,g.jsx)("p",{className:F.secretHint,children:"This is the private GitHub repo where harness GitHub Actions secrets and future dispatch/workflow setup are configured. It is not your target app repo."}),v?(0,g.jsx)("p",{className:F.secretHint,children:"Connected automatically during Step 1."}):(0,g.jsx)("p",{className:F.secretHint,children:G}),e.trim()&&d?.trim()&&e.trim()!==d.trim()?(0,g.jsxs)("p",{className:F.secretHint,children:["Detected git remote: ",d,". Your saved override in `.env.local` takes precedence."]}):null,!e.trim()&&d?.trim()&&E===d?(0,g.jsx)("p",{className:F.secretHint,children:"If this detected repo is correct, you do not need to change it."}):null,I&&f.message?(0,g.jsx)(aw,{message:f.message}):null,v||I||!H?null:(0,g.jsx)("p",{className:F.secretHint,children:"Verify and use this harness repo before creating local setup files."}),(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{D(H||E),B(!0)},children:v?"Use a different or existing harness repo":H?"Update harness repo":"Enter harness repo"})]})]}),(0,g.jsx)("div",{className:"space-y-4",children:a.map((a,c)=>{let d=k[a.rowId]??{state:"unchecked"},e=function(a){switch(a){case"checking":return{label:"Checking",variant:"secondary"};case"connected":return{label:"Connected",variant:"success"};case"failed":return{label:"Failed",variant:"destructive"};default:return{label:"Not connected yet",variant:"secondary"}}}(d.state),f=a.targetRepo.trim(),h=aA(d,f,x),i=function(a,b,c){if(!c||!a||"failed"!==a.state)return!1;let d=b.trim();return!!d&&a.attemptedTargetRepo===d&&a.attemptedGithubTokenFingerprint===c}(d,f,x),j=l===a.rowId?"Checking repo + workflow access…":h?"Verified":"Verify repo + workflow access",m=l===a.rowId||h||!aP.test(f);return(0,g.jsxs)("div",{className:"rounded-lg border border-border bg-card p-4 space-y-3",children:[(0,g.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,g.jsxs)("p",{className:"inline-flex items-center gap-2 text-sm font-medium",children:[(0,g.jsx)(au,{}),(0,g.jsxs)("span",{children:["Target repo ",c+1]})]}),(0,g.jsx)(P,{label:e.label,variant:e.variant})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:`target-repo-${a.rowId}`,children:"Target repo URL"}),(0,g.jsx)(ae,{id:`target-repo-${a.rowId}`,value:a.targetRepo,onChange:b=>L(a.rowId,{targetRepo:b.target.value}),onBlur:()=>p?.(a.rowId),placeholder:"https://github.com/acme/my-product",className:b&&0===c?"border-destructive/60":void 0,autoComplete:"off"}),(0,g.jsx)("p",{className:F.secretHint,children:"Copy-paste the main repo URL."}),b&&0===c?(0,g.jsx)("p",{className:F.secretHint,children:"Enter the target repo you actually intend to use. The app will not guess or invent a replacement repo for you."}):null]}),h?(0,g.jsx)(aw,{message:"Connected"}):i&&d.message?(0,g.jsx)(aw,{message:d.message,failed:!0}):null,d.limitation&&(h||i)?(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:d.limitation}):null,(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[o?(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>o(a.rowId),disabled:m,children:j}):null,c>0&&r?(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>r(a.rowId),children:"Remove repo"}):null]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>z(b=>({...b,[a.rowId]:!b[a.rowId]})),children:y[a.rowId]?"Hide advanced branch settings":"Advanced branch settings"}),y[a.rowId]?(0,g.jsxs)("div",{className:F.fieldGrid,children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:`guided-base-branch-${a.rowId}`,children:"Base branch"}),(0,g.jsx)(ae,{id:`guided-base-branch-${a.rowId}`,value:a.baseBranch??"",onChange:b=>L(a.rowId,{baseBranch:b.target.value}),placeholder:"dev",autoComplete:"off"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:`guided-production-branch-${a.rowId}`,children:"Production branch"}),(0,g.jsx)(ae,{id:`guided-production-branch-${a.rowId}`,value:a.productionBranch??"",onChange:b=>L(a.rowId,{productionBranch:b.target.value}),placeholder:"main",autoComplete:"off"})]}),(0,g.jsx)("p",{className:F.secretHint,children:"Leave blank to use defaults: dev for base branch and main for production branch."})]}):null]})]},a.rowId)})}),q?(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:q,children:"Add additional repo"}):null]})}let M=a.repos[0]??{id:"",targetRepo:""};return(0,g.jsxs)("div",{className:"space-y-6",children:[(0,g.jsxs)("div",{className:F.fieldGrid,children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"linear-team-key",children:"Linear team key"}),(0,g.jsx)(ae,{id:"linear-team-key",value:a.linearTeamKey??"",onChange:b=>m({...a,linearTeamKey:b.target.value})})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"model-id",children:"Model ID"}),(0,g.jsx)(ae,{id:"model-id",value:a.modelId??"",onChange:b=>m({...a,modelId:b.target.value})}),(0,g.jsx)("p",{className:F.secretHint,children:"Local setup only. Harness runs use standard Composer 2.5 policy."})]})]}),(0,g.jsxs)("div",{className:F.fieldGrid,children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"repo-id",children:"Repo config ID"}),(0,g.jsx)(ae,{id:"repo-id",value:M.id,onChange:a=>J(0,{id:a.target.value})})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"target-repo",children:"Target repo URL"}),(0,g.jsx)(ae,{id:"target-repo",value:M.targetRepo,onChange:a=>J(0,{targetRepo:a.target.value}),className:b?"border-destructive/60":void 0}),b?(0,g.jsx)("p",{className:F.secretHint,children:"Enter the target repo you actually intend to use. The app will not guess or invent a replacement repo for you."}):null]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"linear-projects",children:"Linear projects"}),(0,g.jsx)(ae,{id:"linear-projects",value:M.linearProjects??"",onChange:a=>J(0,{linearProjects:a.target.value}),placeholder:"Comma-separated"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"linear-teams",children:"Linear teams"}),(0,g.jsx)(ae,{id:"linear-teams",value:M.linearTeams??"",onChange:a=>J(0,{linearTeams:a.target.value}),placeholder:"Comma-separated"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"base-branch",children:"Base branch"}),(0,g.jsx)(ae,{id:"base-branch",value:M.baseBranch??"",onChange:a=>J(0,{baseBranch:a.target.value}),placeholder:"dev"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"production-branch",children:"Production branch"}),(0,g.jsx)(ae,{id:"production-branch",value:M.productionBranch??"",onChange:a=>J(0,{productionBranch:a.target.value}),placeholder:"main"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"preview-provider",children:"Preview provider"}),(0,g.jsx)(ae,{id:"preview-provider",value:M.previewProvider??"",onChange:a=>J(0,{previewProvider:a.target.value}),placeholder:"vercel"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"integration-preview-url",children:"Integration preview URL"}),(0,g.jsx)(ae,{id:"integration-preview-url",value:M.integrationPreviewUrl??"",onChange:a=>J(0,{integrationPreviewUrl:a.target.value})})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"production-url",children:"Production URL"}),(0,g.jsx)(ae,{id:"production-url",value:M.productionUrl??"",onChange:a=>J(0,{productionUrl:a.target.value})})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"integration-success-status",children:"Integration success status"}),(0,g.jsx)(ae,{id:"integration-success-status",value:M.integrationSuccessStatus??"",onChange:a=>J(0,{integrationSuccessStatus:a.target.value}),placeholder:"Merged to Dev"})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"production-success-status",children:"Production success status"}),(0,g.jsx)(ae,{id:"production-success-status",value:M.productionSuccessStatus??"",onChange:a=>J(0,{productionSuccessStatus:a.target.value}),placeholder:"Merged / Deployed"})]})]}),(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{htmlFor:"validation-commands",children:"Validation commands"}),(0,g.jsx)(aO,{id:"validation-commands",value:M.validationCommands??"",onChange:a=>J(0,{validationCommands:a.target.value}),placeholder:"One command per line",rows:4})]})]})}function aR({title:a,content:b,className:c}){return(0,g.jsxs)("div",{className:(0,M.cn)(D.stackSm,c),children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a}),(0,g.jsx)("pre",{className:(0,M.cn)(E.previewPanel,"font-mono whitespace-pre-wrap"),children:b??"No preview available."})]})}function aS({envPreview:a,configPreview:b,validationError:c,variant:d="advanced",isLoading:e=!1}){return e?null:a||b||c?(0,g.jsxs)("div",{className:"space-y-4",children:[c?(0,g.jsx)("p",{className:"text-sm text-destructive",children:c}):null,a?(0,g.jsx)(aR,{title:".env.local preview (redacted)",content:a}):null,b?(0,g.jsx)(aR,{title:".harness/config.local.json preview",content:b}):null]}):"guided"===d?null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a preview to review redacted local file changes before applying."})}let aT=h.forwardRef(({className:a,type:b="checkbox",...c},d)=>(0,g.jsx)("input",{type:b,className:(0,M.cn)("h-4 w-4 shrink-0 cursor-pointer rounded border border-input accent-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",a),ref:d,...c}));function aU({plan:a,confirmed:b,onConfirmedChange:c,disabled:d=!1,disabledReason:e,variant:f="advanced",intent:h="create"}){return"guided"===f?(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsxs)("div",{className:"flex items-start gap-3",children:[(0,g.jsx)(aT,{id:"confirm-local-write-guided",checked:b,disabled:d,onChange:a=>c(a.target.checked)}),(0,g.jsx)(af,{htmlFor:"confirm-local-write-guided",className:"cursor-pointer text-sm leading-snug",children:"update"===h?"I understand this will update local setup files on this machine.":"I understand this will create local setup files on this machine."})]}),d&&e&&e.includes("validation")?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:e}):null]}):(0,g.jsxs)("div",{className:F.confirmationBox,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:"Confirm local file writes"}),(0,g.jsxs)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:[(0,g.jsxs)("li",{children:[".env.local — ",a?.envAction==="update"?"update":"create"]}),(0,g.jsxs)("li",{children:[".harness/config.local.json —"," ",a?.configAction==="update"?"update":"create"]}),(0,g.jsx)("li",{children:"Files are local, gitignored, and written only on this machine."}),(0,g.jsx)("li",{children:"No GitHub Actions secrets, target repo workflows, Linear writes, cloud workflow dispatch, tags, releases, settings, or live harness phases will run."})]}),(0,g.jsxs)("div",{className:"flex items-start gap-3",children:[(0,g.jsx)(aT,{id:"confirm-local-write",checked:b,disabled:d,onChange:a=>c(a.target.checked)}),(0,g.jsx)(af,{htmlFor:"confirm-local-write",className:"cursor-pointer text-sm leading-snug",children:"I reviewed the redacted preview and want to write these local setup files."})]}),d&&e?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:e}):null]})}function aV({className:a,...b}){return(0,g.jsx)("div",{className:(0,M.cn)("animate-pulse rounded-md bg-muted",a),...b})}function aW({open:a,onOpenChange:b,isLoading:c,previewError:d,envPreview:e,configPreview:f,validationError:h,previewIsCurrent:i}){return(0,g.jsxs)("details",{open:a,className:"rounded-md border border-border bg-background p-3",children:[(0,g.jsx)("summary",{className:"cursor-pointer text-sm font-medium",onClick:c=>{c.preventDefault(),b(!a)},children:"Review generated files"}),(0,g.jsx)("div",{className:"mt-3 space-y-3",children:c?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generating redacted local file changes…"}),(0,g.jsxs)("div",{className:"space-y-2","aria-hidden":"true",children:[(0,g.jsx)(aV,{className:"h-4 w-[60%]"}),(0,g.jsx)(aV,{className:"h-24 w-full"}),(0,g.jsx)(aV,{className:"h-4 w-[40%]"}),(0,g.jsx)(aV,{className:"h-32 w-full"})]})]}):d?(0,g.jsx)("p",{className:"text-sm text-destructive",children:d}):(0,g.jsx)(aS,{variant:"guided",envPreview:i?e:void 0,configPreview:i?f:void 0,validationError:i?h:void 0})})]})}function aX({success:a,message:b,summary:c}){return(0,g.jsxs)("div",{className:"space-y-3 rounded-md border border-border p-4",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)(P,{label:a?"Applied":"Failed",variant:a?"success":"destructive"}),(0,g.jsx)("p",{className:"text-sm font-medium",children:b})]}),a&&c?(0,g.jsxs)("dl",{className:"grid grid-cols-1 gap-3 text-sm md:grid-cols-2",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Local files present"}),(0,g.jsx)("dd",{children:c.overview.localFilesPresent?"Yes":"No"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Config resolved"}),(0,g.jsx)("dd",{children:c.overview.configResolved?"Yes":"No"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"LINEAR_API_KEY"}),(0,g.jsx)("dd",{children:c.envKeyPresence.LINEAR_API_KEY?"Set":"Missing"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"CURSOR_API_KEY"}),(0,g.jsx)("dd",{children:c.envKeyPresence.CURSOR_API_KEY?"Set":"Missing"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"GITHUB_TOKEN"}),(0,g.jsx)("dd",{children:c.envKeyPresence.GITHUB_TOKEN?"Set":"Missing"})]})]}):null]})}aT.displayName="Checkbox";let aY=(0,h.createContext)({});function aZ(a){let b=(0,h.useRef)(null);return null===b.current&&(b.current=a()),b.current}let a$="undefined"!=typeof window?h.useLayoutEffect:h.useEffect,a_=(0,h.createContext)(null),a0=a=>"object"==typeof a&&null!==a;function a1(a){return a0(a)&&"offsetHeight"in a&&!("ownerSVGElement"in a)}let a2=(0,h.createContext)({transformPagePoint:a=>a,isStatic:!1,reducedMotion:"never"});function a3(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}class a4 extends h.Component{getSnapshotBeforeUpdate(a){let b=this.props.childRef.current;if(a1(b)&&a.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let a=b.offsetParent,c=a1(a)&&a.offsetWidth||0,d=a1(a)&&a.offsetHeight||0,e=getComputedStyle(b),f=this.props.sizeRef.current;f.height=parseFloat(e.height),f.width=parseFloat(e.width),f.top=b.offsetTop,f.left=b.offsetLeft,f.right=c-f.width-f.left,f.bottom=d-f.height-f.top,f.direction=e.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function a5({children:a,isPresent:b,anchorX:c,anchorY:d,root:e,pop:f}){let i=(0,h.useId)(),j=(0,h.useRef)(null),k=(0,h.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:l}=(0,h.useContext)(a2),m=function(...a){return h.useCallback(function(...a){return b=>{let c=!1,d=a.map(a=>{let d=a3(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():a3(a[b],null)}}}}(...a),a)}(j,a.props?.ref??a?.ref);return(0,h.useInsertionEffect)(()=>{let{width:a,height:g,top:h,left:m,right:n,bottom:o,direction:p}=k.current;if(b||!1===f||!j.current||!a||!g)return;let q="rtl"===p,r="left"===c?q?`right: ${n}`:`left: ${m}`:q?`left: ${m}`:`right: ${n}`,s="bottom"===d?`bottom: ${o}`:`top: ${h}`;j.current.dataset.motionPopId=i;let t=document.createElement("style");l&&(t.nonce=l);let u=e??document.head;return u.appendChild(t),t.sheet&&t.sheet.insertRule(`
|
|
3
3
|
[data-motion-pop-id="${i}"] {
|
|
4
4
|
position: absolute !important;
|
|
@@ -7,4 +7,4 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
|
|
|
7
7
|
${r}px !important;
|
|
8
8
|
${s}px !important;
|
|
9
9
|
}
|
|
10
|
-
`),()=>{j.current?.removeAttribute("data-motion-pop-id"),u.contains(t)&&u.removeChild(t)}},[b]),(0,g.jsx)(a4,{isPresent:b,childRef:j,sizeRef:k,pop:f,children:!1===f?a:h.cloneElement(a,{ref:m})})}let a6=({children:a,initial:b,isPresent:c,onExitComplete:d,custom:e,presenceAffectsLayout:f,mode:i,anchorX:j,anchorY:k,root:l})=>{let m=aZ(a7),n=(0,h.useId)(),o=(0,h.useRef)(c),p=(0,h.useRef)(d);a$(()=>{o.current=c,p.current=d});let q=!0,r=(0,h.useMemo)(()=>(q=!1,{id:n,initial:b,isPresent:c,custom:e,onExitComplete:a=>{for(let b of(m.set(a,!0),m.values()))if(!b)return;d&&d()},register:a=>(m.set(a,!1),()=>{m.delete(a),o.current||m.size||p.current?.()})}),[c,m,d]);return f&&q&&(r={...r}),(0,h.useMemo)(()=>{m.forEach((a,b)=>m.set(b,!1))},[c]),h.useEffect(()=>{c||m.size||!d||d()},[c]),a=(0,g.jsx)(a5,{pop:"popLayout"===i,isPresent:c,anchorX:j,anchorY:k,root:l,children:a}),(0,g.jsx)(a_.Provider,{value:r,children:a})};function a7(){return new Map}function a8(a=!0){let b=(0,h.useContext)(a_);if(null===b)return[!0,null];let{isPresent:c,onExitComplete:d,register:e}=b,f=(0,h.useId)(),g=(0,h.useCallback)(()=>a&&d&&d(f),[f,d,a]);return!c&&d?[!1,g]:[!0]}let a9=a=>a.key||"";function ba(a){let b=[];return h.Children.forEach(a,a=>{(0,h.isValidElement)(a)&&b.push(a)}),b}let bb=({children:a,custom:b,initial:c=!0,onExitComplete:d,presenceAffectsLayout:e=!0,mode:f="sync",propagate:i=!1,anchorX:j="left",anchorY:k="top",root:l})=>{let[m,n]=a8(i),o=(0,h.useMemo)(()=>ba(a),[a]),p=i&&!m?[]:o.map(a9),q=(0,h.useRef)(!0),r=(0,h.useRef)(o),s=aZ(()=>new Map),t=(0,h.useRef)(new Set),[u,v]=(0,h.useState)(o),[w,x]=(0,h.useState)(o);a$(()=>{q.current=!1,r.current=o;for(let a=0;a<w.length;a++){let b=a9(w[a]);p.includes(b)?(s.delete(b),t.current.delete(b)):!0!==s.get(b)&&s.set(b,!1)}},[w,p.length,p.join("-")]);let y=[];if(o!==u){let a=[...o];for(let b=0;b<w.length;b++){let c=w[b],d=a9(c);p.includes(d)||(a.splice(b,0,c),y.push(c))}return"wait"===f&&y.length&&(a=y),x(ba(a)),v(o),null}let{forceRender:z}=(0,h.useContext)(aY);return(0,g.jsx)(g.Fragment,{children:w.map(a=>{let h=a9(a),u=(!i||!!m)&&(o===w||p.includes(h));return(0,g.jsx)(a6,{isPresent:u,initial:(!q.current||!!c)&&void 0,custom:b,presenceAffectsLayout:e,mode:f,root:l,onExitComplete:u?void 0:()=>{if(t.current.has(h)||!s.has(h))return;t.current.add(h),s.set(h,!0);let a=!0;s.forEach(b=>{b||(a=!1)}),a&&(z?.(),x(r.current),i&&n?.(),d&&d())},anchorX:j,anchorY:k,children:a},h)})})},bc=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],bd=new Set([...bc,"pathRotation"]),be=(a,b,c)=>c>b?b:c<a?a:c,bf={test:a=>"number"==typeof a,parse:parseFloat,transform:a=>a},bg={...bf,transform:a=>be(0,1,a)},bh={...bf,default:1},bi=a=>Math.round(1e5*a)/1e5,bj=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,bk=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,bl=(a,b)=>c=>!!("string"==typeof c&&bk.test(c)&&c.startsWith(a)||b&&null!=c&&Object.prototype.hasOwnProperty.call(c,b)),bm=(a,b,c)=>d=>{if("string"!=typeof d)return d;let[e,f,g,h]=d.match(bj);return{[a]:parseFloat(e),[b]:parseFloat(f),[c]:parseFloat(g),alpha:void 0!==h?parseFloat(h):1}},bn={...bf,transform:a=>Math.round(be(0,255,a))},bo={test:bl("rgb","red"),parse:bm("red","green","blue"),transform:({red:a,green:b,blue:c,alpha:d=1})=>"rgba("+bn.transform(a)+", "+bn.transform(b)+", "+bn.transform(c)+", "+bi(bg.transform(d))+")"},bp={test:bl("#"),parse:function(a){let b="",c="",d="",e="";return a.length>5?(b=a.substring(1,3),c=a.substring(3,5),d=a.substring(5,7),e=a.substring(7,9)):(b=a.substring(1,2),c=a.substring(2,3),d=a.substring(3,4),e=a.substring(4,5),b+=b,c+=c,d+=d,e+=e),{red:parseInt(b,16),green:parseInt(c,16),blue:parseInt(d,16),alpha:e?parseInt(e,16)/255:1}},transform:bo.transform},bq=a=>({test:b=>"string"==typeof b&&b.endsWith(a)&&1===b.split(" ").length,parse:parseFloat,transform:b=>`${b}${a}`}),br=bq("deg"),bs=bq("%"),bt=bq("px"),bu=bq("vh"),bv=bq("vw"),bw={...bs,parse:a=>bs.parse(a)/100,transform:a=>bs.transform(100*a)},bx={test:bl("hsl","hue"),parse:bm("hue","saturation","lightness"),transform:({hue:a,saturation:b,lightness:c,alpha:d=1})=>"hsla("+Math.round(a)+", "+bs.transform(bi(b))+", "+bs.transform(bi(c))+", "+bi(bg.transform(d))+")"},by={test:a=>bo.test(a)||bp.test(a)||bx.test(a),parse:a=>bo.test(a)?bo.parse(a):bx.test(a)?bx.parse(a):bp.parse(a),transform:a=>"string"==typeof a?a:a.hasOwnProperty("red")?bo.transform(a):bx.transform(a),getAnimatableNone:a=>{let b=by.parse(a);return b.alpha=0,by.transform(b)}},bz=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,bA="number",bB="color",bC=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function bD(a){let b=a.toString(),c=[],d={color:[],number:[],var:[]},e=[],f=0,g=b.replace(bC,a=>(by.test(a)?(d.color.push(f),e.push(bB),c.push(by.parse(a))):a.startsWith("var(")?(d.var.push(f),e.push("var"),c.push(a)):(d.number.push(f),e.push(bA),c.push(parseFloat(a))),++f,"${}")).split("${}");return{values:c,split:g,indexes:d,types:e}}function bE({split:a,types:b}){let c=a.length;return d=>{let e="";for(let f=0;f<c;f++)if(e+=a[f],void 0!==d[f]){let a=b[f];a===bA?e+=bi(d[f]):a===bB?e+=by.transform(d[f]):e+=d[f]}return e}}let bF={test:function(a){return isNaN(a)&&"string"==typeof a&&(a.match(bj)?.length||0)+(a.match(bz)?.length||0)>0},parse:function(a){return bD(a).values},createTransformer:function(a){return bE(bD(a))},getAnimatableNone:function(a){let b=bD(a);return bE(b)(b.values.map((a,c)=>{var d;let e;return d=b.split[c],"number"==typeof a?d?.trim().endsWith("/")?a:0:"number"==typeof(e=a)?0:by.test(e)?by.getAnimatableNone(e):e}))}},bG=new Set(["brightness","contrast","saturate","opacity"]);function bH(a){let[b,c]=a.slice(0,-1).split("(");if("drop-shadow"===b)return a;let[d]=c.match(bj)||[];if(!d)return a;let e=c.replace(d,""),f=+!!bG.has(b);return d!==c&&(f*=100),b+"("+f+e+")"}let bI=/\b([a-z-]*)\(.*?\)/gu,bJ={...bF,getAnimatableNone:a=>{let b=a.match(bI);return b?b.map(bH).join(" "):a}},bK={...bF,getAnimatableNone:a=>{let b=bF.parse(a);return bF.createTransformer(a)(b.map(a=>"number"==typeof a?0:"object"==typeof a?{...a,alpha:1}:a))}},bL={...bf,transform:Math.round},bM={borderWidth:bt,borderTopWidth:bt,borderRightWidth:bt,borderBottomWidth:bt,borderLeftWidth:bt,borderRadius:bt,borderTopLeftRadius:bt,borderTopRightRadius:bt,borderBottomRightRadius:bt,borderBottomLeftRadius:bt,width:bt,maxWidth:bt,height:bt,maxHeight:bt,top:bt,right:bt,bottom:bt,left:bt,inset:bt,insetBlock:bt,insetBlockStart:bt,insetBlockEnd:bt,insetInline:bt,insetInlineStart:bt,insetInlineEnd:bt,padding:bt,paddingTop:bt,paddingRight:bt,paddingBottom:bt,paddingLeft:bt,paddingBlock:bt,paddingBlockStart:bt,paddingBlockEnd:bt,paddingInline:bt,paddingInlineStart:bt,paddingInlineEnd:bt,margin:bt,marginTop:bt,marginRight:bt,marginBottom:bt,marginLeft:bt,marginBlock:bt,marginBlockStart:bt,marginBlockEnd:bt,marginInline:bt,marginInlineStart:bt,marginInlineEnd:bt,fontSize:bt,backgroundPositionX:bt,backgroundPositionY:bt,rotate:br,pathRotation:br,rotateX:br,rotateY:br,rotateZ:br,scale:bh,scaleX:bh,scaleY:bh,scaleZ:bh,skew:br,skewX:br,skewY:br,distance:bt,translateX:bt,translateY:bt,translateZ:bt,x:bt,y:bt,z:bt,perspective:bt,transformPerspective:bt,opacity:bg,originX:bw,originY:bw,originZ:bt,zIndex:bL,fillOpacity:bg,strokeOpacity:bg,numOctaves:bL},bN={...bM,color:by,backgroundColor:by,outlineColor:by,fill:by,stroke:by,borderColor:by,borderTopColor:by,borderRightColor:by,borderBottomColor:by,borderLeftColor:by,filter:bJ,WebkitFilter:bJ,mask:bK,WebkitMask:bK},bO=a=>bN[a],bP=()=>({translate:0,scale:1,origin:0,originPoint:0}),bQ=()=>({x:bP(),y:bP()}),bR=()=>({min:0,max:0}),bS=()=>({x:bR(),y:bR()}),bT=a=>!!(a&&a.getVelocity),bU=new Set(["width","height","top","left","right","bottom",...bc]),bV=a=>b=>b.test(a),bW=[bf,bt,bs,br,bv,bu,{test:a=>"auto"===a,parse:a=>a}],bX=a=>bW.find(bV(a)),bY=()=>{},bZ=()=>{},b$=a=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(a),b_=a=>b=>"string"==typeof b&&b.startsWith(a),b0=b_("--"),b1=b_("var(--"),b2=a=>!!b1(a)&&b3.test(a.split("/*")[0].trim()),b3=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function b4(a){return"string"==typeof a&&a.split("/*")[0].includes("var(--")}let b5=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,b6=a=>180*a/Math.PI,b7=a=>b9(b6(Math.atan2(a[1],a[0]))),b8={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:a=>(Math.abs(a[0])+Math.abs(a[3]))/2,rotate:b7,rotateZ:b7,skewX:a=>b6(Math.atan(a[1])),skewY:a=>b6(Math.atan(a[2])),skew:a=>(Math.abs(a[1])+Math.abs(a[2]))/2},b9=a=>((a%=360)<0&&(a+=360),a),ca=a=>Math.sqrt(a[0]*a[0]+a[1]*a[1]),cb=a=>Math.sqrt(a[4]*a[4]+a[5]*a[5]),cc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:ca,scaleY:cb,scale:a=>(ca(a)+cb(a))/2,rotateX:a=>b9(b6(Math.atan2(a[6],a[5]))),rotateY:a=>b9(b6(Math.atan2(-a[2],a[0]))),rotateZ:b7,rotate:b7,skewX:a=>b6(Math.atan(a[4])),skewY:a=>b6(Math.atan(a[1])),skew:a=>(Math.abs(a[1])+Math.abs(a[4]))/2};function cd(a){return+!!a.includes("scale")}function ce(a,b){let c,d;if(!a||"none"===a)return cd(b);let e=a.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(e)c=cc,d=e;else{let b=a.match(/^matrix\(([-\d.e\s,]+)\)$/u);c=b8,d=b}if(!d)return cd(b);let f=c[b],g=d[1].split(",").map(cf);return"function"==typeof f?f(g):g[f]}function cf(a){return parseFloat(a.trim())}let cg=a=>a===bf||a===bt,ch=new Set(["x","y","z"]),ci=bc.filter(a=>!ch.has(a)),cj={width:({x:a},{paddingLeft:b="0",paddingRight:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},height:({y:a},{paddingTop:b="0",paddingBottom:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},top:(a,{top:b})=>parseFloat(b),left:(a,{left:b})=>parseFloat(b),bottom:({y:a},{top:b})=>parseFloat(b)+(a.max-a.min),right:({x:a},{left:b})=>parseFloat(b)+(a.max-a.min),x:(a,{transform:b})=>ce(b,"x"),y:(a,{transform:b})=>ce(b,"y")};cj.translateX=cj.x,cj.translateY=cj.y;let ck=a=>a,cl={},cm=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function cn(a,b){let c=!1,d=!0,e={delta:0,timestamp:0,isProcessing:!1},f=()=>c=!0,g=cm.reduce((a,b)=>(a[b]=function(a){let b=new Set,c=new Set,d=!1,e=!1,f=new WeakSet,g={delta:0,timestamp:0,isProcessing:!1};function h(b){f.has(b)&&(i.schedule(b),a()),b(g)}let i={schedule:(a,e=!1,g=!1)=>{let h=g&&d?b:c;return e&&f.add(a),h.add(a),a},cancel:a=>{c.delete(a),f.delete(a)},process:a=>{if(g=a,d){e=!0;return}d=!0;let f=b;b=c,c=f,b.forEach(h),b.clear(),d=!1,e&&(e=!1,i.process(a))}};return i}(f),a),{}),{setup:h,read:i,resolveKeyframes:j,preUpdate:k,update:l,preRender:m,render:n,postRender:o}=g,p=()=>{let f=cl.useManualTiming,g=f?e.timestamp:performance.now();c=!1,f||(e.delta=d?1e3/60:Math.max(Math.min(g-e.timestamp,40),1)),e.timestamp=g,e.isProcessing=!0,h.process(e),i.process(e),j.process(e),k.process(e),l.process(e),m.process(e),n.process(e),o.process(e),e.isProcessing=!1,c&&b&&(d=!1,a(p))};return{schedule:cm.reduce((b,f)=>{let h=g[f];return b[f]=(b,f=!1,g=!1)=>(!c&&(c=!0,d=!0,e.isProcessing||a(p)),h.schedule(b,f,g)),b},{}),cancel:a=>{for(let b=0;b<cm.length;b++)g[cm[b]].cancel(a)},state:e,steps:g}}let{schedule:co,cancel:cp,state:cq,steps:cr}=cn("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:ck,!0),cs=new Set,ct=!1,cu=!1,cv=!1;function cw(){if(cu){let a=Array.from(cs).filter(a=>a.needsMeasurement),b=new Set(a.map(a=>a.element)),c=new Map;b.forEach(a=>{let b=function(a){let b=[];return ci.forEach(c=>{let d=a.getValue(c);void 0!==d&&(b.push([c,d.get()]),d.set(+!!c.startsWith("scale")))}),b}(a);b.length&&(c.set(a,b),a.render())}),a.forEach(a=>a.measureInitialState()),b.forEach(a=>{a.render();let b=c.get(a);b&&b.forEach(([b,c])=>{a.getValue(b)?.set(c)})}),a.forEach(a=>a.measureEndState()),a.forEach(a=>{void 0!==a.suspendedScrollY&&window.scrollTo(0,a.suspendedScrollY)})}cu=!1,ct=!1,cs.forEach(a=>a.complete(cv)),cs.clear()}function cx(){cs.forEach(a=>{a.readKeyframes(),a.needsMeasurement&&(cu=!0)})}class cy{constructor(a,b,c,d,e,f=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...a],this.onComplete=b,this.name=c,this.motionValue=d,this.element=e,this.isAsync=f}scheduleResolve(){this.state="scheduled",this.isAsync?(cs.add(this),ct||(ct=!0,co.read(cx),co.resolveKeyframes(cw))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:a,name:b,element:c,motionValue:d}=this;if(null===a[0]){let e=d?.get(),f=a[a.length-1];if(void 0!==e)a[0]=e;else if(c&&b){let d=c.readValue(b,f);null!=d&&(a[0]=d)}void 0===a[0]&&(a[0]=f),d&&void 0===e&&d.set(a[0])}for(let b=1;b<a.length;b++)a[b]??(a[b]=a[b-1])}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(a=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,a),cs.delete(this)}cancel(){"scheduled"===this.state&&(cs.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}let cz=a=>/^0[^.\s]+$/u.test(a),cA=new Set([bJ,bK]);function cB(a,b){let c=bO(a);return cA.has(c)||(c=bF),c.getAnimatableNone?c.getAnimatableNone(b):void 0}let cC=new Set(["auto","none","0"]);class cD extends cy{constructor(a,b,c,d,e){super(a,b,c,d,e,!0)}readKeyframes(){let{unresolvedKeyframes:a,element:b,name:c}=this;if(!b||!b.current)return;super.readKeyframes();for(let c=0;c<a.length;c++){let d=a[c];if("string"==typeof d&&b2(d=d.trim())){let e=function a(b,c,d=1){bZ(d<=4,`Max CSS variable fallback depth detected in property "${b}". This may indicate a circular fallback dependency.`,"max-css-var-depth");let[e,f]=function(a){let b=b5.exec(a);if(!b)return[,];let[,c,d,e]=b;return[`--${c??d}`,e]}(b);if(!e)return;let g=window.getComputedStyle(c).getPropertyValue(e);if(g){let a=g.trim();return b$(a)?parseFloat(a):a}return b2(f)?a(f,c,d+1):f}(d,b.current);void 0!==e&&(a[c]=e),c===a.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!bU.has(c)||2!==a.length)return;let[d,e]=a,f=bX(d),g=bX(e);if(b4(d)!==b4(e)&&cj[c]){this.needsMeasurement=!0;return}if(f!==g)if(cg(f)&&cg(g))for(let b=0;b<a.length;b++){let c=a[b];"string"==typeof c&&(a[b]=parseFloat(c))}else cj[c]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:a,name:b}=this,c=[];for(let b=0;b<a.length;b++){var d;(null===a[b]||("number"==typeof(d=a[b])?0===d:null===d||"none"===d||"0"===d||cz(d)))&&c.push(b)}c.length&&function(a,b,c){let d,e=0;for(;e<a.length&&!d;){let b=a[e];"string"==typeof b&&!cC.has(b)&&bD(b).values.length&&(d=a[e]),e++}if(d&&c)for(let e of b)a[e]=cB(c,d)}(a,c,b)}measureInitialState(){let{element:a,unresolvedKeyframes:b,name:c}=this;if(!a||!a.current)return;"height"===c&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=cj[c](a.measureViewportBox(),window.getComputedStyle(a.current)),b[0]=this.measuredOrigin;let d=b[b.length-1];void 0!==d&&a.getValue(c,d).jump(d,!1)}measureEndState(){let{element:a,name:b,unresolvedKeyframes:c}=this;if(!a||!a.current)return;let d=a.getValue(b);d&&d.jump(this.measuredOrigin,!1);let e=c.length-1,f=c[e];c[e]=cj[b](a.measureViewportBox(),window.getComputedStyle(a.current)),null!==f&&void 0===this.finalKeyframe&&(this.finalKeyframe=f),this.removedTransforms?.length&&this.removedTransforms.forEach(([b,c])=>{a.getValue(b).set(c)}),this.resolveNoneKeyframes()}}let cE=a=>1e3*a;function cF(a,b){-1===a.indexOf(b)&&a.push(b)}function cG(a,b){let c=a.indexOf(b);c>-1&&a.splice(c,1)}class cH{constructor(){this.subscriptions=[]}add(a){return cF(this.subscriptions,a),()=>cG(this.subscriptions,a)}notify(a,b,c){let d=this.subscriptions.length;if(d)if(1===d)this.subscriptions[0](a,b,c);else for(let e=0;e<d;e++){let d=this.subscriptions[e];d&&d(a,b,c)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function cI(a,b,c){b.startsWith("--")?a.style.setProperty(b,c):a.style[b]=c}function cJ(a){let b;return()=>(void 0===b&&(b=a()),b)}let cK={};function cL(a,b){let c=cJ(a);return()=>cK[b]??c()}let cM=cL(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),cN=a=>null!==a;function cO(a,{repeat:b,repeatType:c="loop"},d,e=1){let f=a.filter(cN),g=e<0||b&&"loop"!==c&&b%2==1?0:f.length-1;return g&&void 0!==d?d:f[g]}class cP{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(a=>{this.resolve=a})}notifyFinished(){this.resolve()}then(a,b){return this.finished.then(a,b)}}let cQ=a=>Array.isArray(a)&&"number"==typeof a[0],cR=cL(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(a){return!1}return!0},"linearEasing"),cS=(a,b,c=10)=>{let d="",e=Math.max(Math.round(b/c),2);for(let b=0;b<e;b++)d+=Math.round(1e4*a(b/(e-1)))/1e4+", ";return`linear(${d.substring(0,d.length-2)})`},cT=([a,b,c,d])=>`cubic-bezier(${a}, ${b}, ${c}, ${d})`,cU={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:cT([0,.65,.55,1]),circOut:cT([.55,0,1,.45]),backIn:cT([.31,.01,.66,-.59]),backOut:cT([.33,1.53,.69,.99])};function cV(a){return"function"==typeof a&&"applyToOptions"in a}class cW extends cP{constructor(a){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!a)return;let{element:b,name:c,keyframes:d,pseudoElement:e,allowFlatten:f=!1,finalKeyframe:g,onComplete:h}=a;this.isPseudoElement=!!e,this.allowFlatten=f,this.options=a,bZ("string"!=typeof a.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");let i=function({type:a,...b}){return cV(a)&&cR()?a.applyToOptions(b):(b.duration??(b.duration=300),b.ease??(b.ease="easeOut"),b)}(a);this.animation=function(a,b,c,{delay:d=0,duration:e=300,repeat:f=0,repeatType:g="loop",ease:h="easeOut",times:i}={},j){let k={[b]:c};i&&(k.offset=i);let l=function a(b,c){if(b)return"function"==typeof b?cR()?cS(b,c):"ease-out":cQ(b)?cT(b):Array.isArray(b)?b.map(b=>a(b,c)||cU.easeOut):cU[b]}(h,e);Array.isArray(l)&&(k.easing=l);let m={delay:d,duration:e,easing:Array.isArray(l)?"linear":l,fill:"both",iterations:f+1,direction:"reverse"===g?"alternate":"normal"};return j&&(m.pseudoElement=j),a.animate(k,m)}(b,c,d,i,e),!1===i.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!e){let a=cO(d,this.options,g,this.speed);this.updateMotionValue&&this.updateMotionValue(a),cI(b,c,a),this.animation.cancel()}h?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(a){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:a}=this;"idle"!==a&&"finished"!==a&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let a=this.options?.element;!this.isPseudoElement&&a?.isConnected&&this.animation.commitStyles?.()}get duration(){return Number(this.animation.effect?.getComputedTiming?.().duration||0)/1e3}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+a/1e3}get time(){return(Number(this.animation.currentTime)||0)/1e3}set time(a){let b=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=cE(a),b&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(a){a<0&&(this.finishedTime=null),this.animation.playbackRate=a}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(a){this.manualStartTime=this.animation.startTime=a}attachTimeline({timeline:a,rangeStart:b,rangeEnd:c,observe:d}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,a&&cM())?(this.animation.timeline=a,b&&(this.animation.rangeStart=b),c&&(this.animation.rangeEnd=c),ck):d(this)}}let cX=new Set(["opacity","clipPath","filter","transform"]),{schedule:cY}=cn(queueMicrotask,!1);function cZ(){d=void 0}let c$={now:()=>(void 0===d&&c$.set(cq.isProcessing||cl.useManualTiming?cq.timestamp:performance.now()),d),set:a=>{d=a,queueMicrotask(cZ)}},c_=(a,b)=>b?1e3/b*a:0,c0={current:void 0};class c1{constructor(a,b={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{let b=c$.now();if(this.updatedAt!==b&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let a of this.dependents)a.dirty()},this.hasAnimated=!1,this.setCurrent(a),this.owner=b.owner}setCurrent(a){this.current=a,this.updatedAt=c$.now(),null===this.canTrackVelocity&&void 0!==a&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(a=this.current){this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt}onChange(a){return this.on("change",a)}on(a,b){this.events[a]||(this.events[a]=new cH);let c=this.events[a].add(b);return"change"===a?()=>{c(),co.read(()=>{this.events.change.getSize()||this.stop()})}:c}clearListeners(){for(let a in this.events)this.events[a].clear()}attach(a,b){this.passiveEffect=a,this.stopPassiveEffect=b}set(a){this.passiveEffect?this.passiveEffect(a,this.updateAndNotify):this.updateAndNotify(a)}setWithVelocity(a,b,c){this.set(b),this.prev=void 0,this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt-c}jump(a,b=!0){this.updateAndNotify(a),this.prev=a,this.prevUpdatedAt=this.prevFrameValue=void 0,b&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(a){this.dependents||(this.dependents=new Set),this.dependents.add(a)}removeDependent(a){this.dependents&&this.dependents.delete(a)}get(){return c0.current&&c0.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let a=c$.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||a-this.updatedAt>30)return 0;let b=Math.min(this.updatedAt-this.prevUpdatedAt,30);return c_(parseFloat(this.current)-parseFloat(this.prevFrameValue),b)}start(a){return this.stop(),new Promise(b=>{this.hasAnimated=!0,this.animation=a(b),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function c2(a,b){return new c1(a,b)}let c3=[...bW,by,bF],c4=new WeakMap;function c5(a){return null!==a&&"object"==typeof a&&"function"==typeof a.start}function c6(a){return"string"==typeof a||Array.isArray(a)}let c7=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],c8=["initial",...c7];function c9(a){return c5(a.animate)||c8.some(b=>c6(a[b]))}function da(a){return!!(c9(a)||a.variants)}function db(a){let b=[{},{}];return a?.values.forEach((a,c)=>{b[0][c]=a.get(),b[1][c]=a.getVelocity()}),b}function dc(a,b,c,d){if("function"==typeof b){let[e,f]=db(d);b=b(void 0!==c?c:a.custom,e,f)}if("string"==typeof b&&(b=a.variants&&a.variants[b]),"function"==typeof b){let[e,f]=db(d);b=b(void 0!==c?c:a.custom,e,f)}return b}let dd=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],de={};class df{scrapeMotionValuesFromProps(a,b,c){return{}}constructor({parent:a,props:b,presenceContext:c,reducedMotionConfig:d,skipAnimations:e,blockInitialAnimation:f,visualState:g},h={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=cy,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let a=c$.now();this.renderScheduledAt<a&&(this.renderScheduledAt=a,co.render(this.render,!1,!0))};let{latestValues:i,renderState:j}=g;this.latestValues=i,this.baseTarget={...i},this.initialValues=b.initial?{...i}:{},this.renderState=j,this.parent=a,this.props=b,this.presenceContext=c,this.depth=a?a.depth+1:0,this.reducedMotionConfig=d,this.skipAnimationsConfig=e,this.options=h,this.blockInitialAnimation=!!f,this.isControllingVariants=c9(b),this.isVariantNode=da(b),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(a&&a.current);let{willChange:k,...l}=this.scrapeMotionValuesFromProps(b,{},this);for(let a in l){let b=l[a];void 0!==i[a]&&bT(b)&&b.set(i[a])}}mount(a){if(this.hasBeenMounted)for(let a in this.initialValues)this.values.get(a)?.jump(this.initialValues[a]),this.latestValues[a]=this.initialValues[a];this.current=a,c4.set(a,this),this.projection&&!this.projection.instance&&this.projection.mount(a),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((a,b)=>this.bindToMotionValue(b,a)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(_.current||ab(),this.shouldReduceMotion=$.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let a in this.projection&&this.projection.unmount(),cp(this.notifyUpdate),cp(this.render),this.valueSubscriptions.forEach(a=>a()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[a].clear();for(let a in this.features){let b=this.features[a];b&&(b.unmount(),b.isMounted=!1)}this.current=null}addChild(a){this.children.add(a),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(a)}removeChild(a){this.children.delete(a),this.enteringChildren&&this.enteringChildren.delete(a)}bindToMotionValue(a,b){let c;if(this.valueSubscriptions.has(a)&&this.valueSubscriptions.get(a)(),b.accelerate&&cX.has(a)&&this.current instanceof HTMLElement){let{factory:c,keyframes:d,times:e,ease:f,duration:g}=b.accelerate,h=new cW({element:this.current,name:a,keyframes:d,times:e,ease:f,duration:cE(g)}),i=c(h);this.valueSubscriptions.set(a,()=>{i(),h.cancel()});return}let d=bd.has(a);d&&this.onBindTransform&&this.onBindTransform();let e=b.on("change",b=>{this.latestValues[a]=b,this.props.onUpdate&&co.preRender(this.notifyUpdate),d&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"undefined"!=typeof window&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,a,b)),this.valueSubscriptions.set(a,()=>{e(),c&&c()})}sortNodePosition(a){return this.current&&this.sortInstanceNodePosition&&this.type===a.type?this.sortInstanceNodePosition(this.current,a.current):0}updateFeatures(){let a="animation";for(a in de){let b=de[a];if(!b)continue;let{isEnabled:c,Feature:d}=b;if(!this.features[a]&&d&&c(this.props)&&(this.features[a]=new d(this)),this.features[a]){let b=this.features[a];b.isMounted?b.update():(b.mount(),b.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):bS()}getStaticValue(a){return this.latestValues[a]}setStaticValue(a,b){this.latestValues[a]=b}update(a,b){(a.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=a,this.prevPresenceContext=this.presenceContext,this.presenceContext=b;for(let b=0;b<dd.length;b++){let c=dd[b];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);let d=a["on"+c];d&&(this.propEventSubscriptions[c]=this.on(c,d))}this.prevMotionValues=function(a,b,c){for(let d in b){let e=b[d],f=c[d];if(bT(e))a.addValue(d,e);else if(bT(f))a.addValue(d,c2(e,{owner:a}));else if(f!==e)if(a.hasValue(d)){let b=a.getValue(d);!0===b.liveStyle?b.jump(e):b.hasAnimated||b.set(e)}else{let b=a.getStaticValue(d);a.addValue(d,c2(void 0!==b?b:e,{owner:a}))}}for(let d in c)void 0===b[d]&&a.removeValue(d);return b}(this,this.scrapeMotionValuesFromProps(a,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(a){return this.props.variants?this.props.variants[a]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(a){let b=this.getClosestVariantNode();if(b)return b.variantChildren&&b.variantChildren.add(a),()=>b.variantChildren.delete(a)}addValue(a,b){let c=this.values.get(a);b!==c&&(c&&this.removeValue(a),this.bindToMotionValue(a,b),this.values.set(a,b),this.latestValues[a]=b.get())}removeValue(a){this.values.delete(a);let b=this.valueSubscriptions.get(a);b&&(b(),this.valueSubscriptions.delete(a)),delete this.latestValues[a],this.removeValueFromRenderState(a,this.renderState)}hasValue(a){return this.values.has(a)}getValue(a,b){if(this.props.values&&this.props.values[a])return this.props.values[a];let c=this.values.get(a);return void 0===c&&void 0!==b&&(c=c2(null===b?void 0:b,{owner:this}),this.addValue(a,c)),c}readValue(a,b){let c=void 0===this.latestValues[a]&&this.current?this.getBaseTargetFromProps(this.props,a)??this.readValueFromInstance(this.current,a,this.options):this.latestValues[a];if(null!=c){if("string"==typeof c&&(b$(c)||cz(c)))c=parseFloat(c);else{let d;d=c,!c3.find(bV(d))&&bF.test(b)&&(c=cB(a,b))}this.setBaseTarget(a,bT(c)?c.get():c)}return bT(c)?c.get():c}setBaseTarget(a,b){this.baseTarget[a]=b}getBaseTarget(a){let b,{initial:c}=this.props;if("string"==typeof c||"object"==typeof c){let d=dc(this.props,c,this.presenceContext?.custom);d&&(b=d[a])}if(c&&void 0!==b)return b;let d=this.getBaseTargetFromProps(this.props,a);return void 0===d||bT(d)?void 0!==this.initialValues[a]&&void 0===b?void 0:this.baseTarget[a]:d}on(a,b){return this.events[a]||(this.events[a]=new cH),this.events[a].add(b)}notify(a,...b){this.events[a]&&this.events[a].notify(...b)}scheduleRenderMicrotask(){cY.render(this.render)}}class dg extends df{constructor(){super(...arguments),this.KeyframeResolver=cD}sortInstanceNodePosition(a,b){return 2&a.compareDocumentPosition(b)?1:-1}getBaseTargetFromProps(a,b){let c=a.style;return c?c[b]:void 0}removeValueFromRenderState(a,{vars:b,style:c}){delete b[a],delete c[a]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:a}=this.props;bT(a)&&(this.childSubscription=a.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}function dh(a){return a.replace(/([A-Z])/g,a=>`-${a.toLowerCase()}`)}let di=(a,b)=>b&&"number"==typeof a?b.transform(a):a,dj={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},dk=bc.length;function dl(a,b,c){let{style:d,vars:e,transformOrigin:f}=a,g=!1,h=!1;for(let a in b){let c=b[a];if(bd.has(a)){g=!0;continue}if(b0(a)){e[a]=c;continue}{let b=di(c,bM[a]);a.startsWith("origin")?(h=!0,f[a]=b):d[a]=b}}if(!b.transform&&(g||c?d.transform=function(a,b,c){let d="",e=!0;for(let f=0;f<dk;f++){let g=bc[f],h=a[g];if(void 0===h)continue;let i=!0;if("number"==typeof h)i=h===+!!g.startsWith("scale");else{let a=parseFloat(h);i=g.startsWith("scale")?1===a:0===a}if(!i||c){let a=di(h,bM[g]);if(!i){e=!1;let b=dj[g]||g;d+=`${b}(${a}) `}c&&(b[g]=a)}}let f=a.pathRotation;return f&&(e=!1,d+=`rotate(${di(f,bM.pathRotation)}) `),d=d.trim(),c?d=c(b,e?"":d):e&&(d="none"),d}(b,a.transform,c):d.transform&&(d.transform="none")),h){let{originX:a="50%",originY:b="50%",originZ:c=0}=f;d.transformOrigin=`${a} ${b} ${c}`}}let dm={offset:"stroke-dashoffset",array:"stroke-dasharray"},dn={offset:"strokeDashoffset",array:"strokeDasharray"},dp=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function dq(a,{attrX:b,attrY:c,attrScale:d,pathLength:e,pathSpacing:f=1,pathOffset:g=0,...h},i,j,k){if(dl(a,h,j),i){a.style.viewBox&&(a.attrs.viewBox=a.style.viewBox);return}a.attrs=a.style,a.style={};let{attrs:l,style:m}=a;for(let a of(l.transform&&(m.transform=l.transform,delete l.transform),(m.transform||l.transformOrigin)&&(m.transformOrigin=l.transformOrigin??"50% 50%",delete l.transformOrigin),m.transform&&(m.transformBox=k?.transformBox??"fill-box",delete l.transformBox),dp))void 0!==l[a]&&(m[a]=l[a],delete l[a]);void 0!==b&&(l.x=b),void 0!==c&&(l.y=c),void 0!==d&&(l.scale=d),void 0!==e&&function(a,b,c=1,d=0,e=!0){a.pathLength=1;let f=e?dm:dn;a[f.offset]=`${-d}`,a[f.array]=`${b} ${c}`}(l,e,f,g,!1)}let dr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),ds=a=>"string"==typeof a&&"svg"===a.toLowerCase();function dt(a,{style:b,vars:c},d,e){let f,g=a.style;for(f in b)g[f]=b[f];for(f in e?.applyProjectionStyles(g,d),c)g.setProperty(f,c[f])}let du=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function dv(a,b){return b.max===b.min?0:a/(b.max-b.min)*100}let dw={correct:(a,b)=>{if(!b.target)return a;if("string"==typeof a)if(!bt.test(a))return a;else a=parseFloat(a);let c=dv(a,b.target.x),d=dv(a,b.target.y);return`${c}% ${d}%`}},dx=(a,b,c)=>a+(b-a)*c,dy={borderRadius:{...dw,applyTo:[...du]},borderTopLeftRadius:dw,borderTopRightRadius:dw,borderBottomLeftRadius:dw,borderBottomRightRadius:dw,boxShadow:{correct:(a,{treeScale:b,projectionDelta:c})=>{let d=bF.parse(a);if(d.length>5)return a;let e=bF.createTransformer(a),f=+("number"!=typeof d[0]),g=c.x.scale*b.x,h=c.y.scale*b.y;d[0+f]/=g,d[1+f]/=h;let i=dx(g,h,.5);return"number"==typeof d[2+f]&&(d[2+f]/=i),"number"==typeof d[3+f]&&(d[3+f]/=i),e(d)}}};function dz(a,{layout:b,layoutId:c}){return bd.has(a)||a.startsWith("origin")||(b||void 0!==c)&&(!!dy[a]||"opacity"===a)}function dA(a,b,c){let d=a.style,e=b?.style,f={};if(!d)return f;for(let b in d)(bT(d[b])||e&&bT(e[b])||dz(b,a)||c?.getValue(b)?.liveStyle!==void 0)&&(f[b]=d[b]);return f}function dB(a,b,c){let d=dA(a,b,c);for(let c in a)(bT(a[c])||bT(b[c]))&&(d[-1!==bc.indexOf(c)?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c]=a[c]);return d}class dC extends dg{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=bS}getBaseTargetFromProps(a,b){return a[b]}readValueFromInstance(a,b){if(bd.has(b)){let a=bO(b);return a&&a.default||0}return b=dr.has(b)?b:dh(b),a.getAttribute(b)}scrapeMotionValuesFromProps(a,b,c){return dB(a,b,c)}build(a,b,c){dq(a,b,this.isSVGTag,c.transformTemplate,c.style)}renderInstance(a,b,c,d){for(let c in dt(a,b,void 0,d),b.attrs)a.setAttribute(dr.has(c)?c:dh(c),b.attrs[c])}mount(a){this.isSVGTag=ds(a.tagName),super.mount(a)}}function dD({top:a,left:b,right:c,bottom:d}){return{x:{min:b,max:c},y:{min:a,max:d}}}function dE(a){return void 0===a||1===a}function dF({scale:a,scaleX:b,scaleY:c}){return!dE(a)||!dE(b)||!dE(c)}function dG(a){return dF(a)||dH(a)||a.z||a.rotate||a.rotateX||a.rotateY||a.skewX||a.skewY}function dH(a){var b,c;return(b=a.x)&&"0%"!==b||(c=a.y)&&"0%"!==c}function dI(a,b,c,d,e){return void 0!==e&&(a=d+e*(a-d)),d+c*(a-d)+b}function dJ(a,b=0,c=1,d,e){a.min=dI(a.min,b,c,d,e),a.max=dI(a.max,b,c,d,e)}function dK(a,{x:b,y:c}){dJ(a.x,b.translate,b.scale,b.originPoint),dJ(a.y,c.translate,c.scale,c.originPoint)}function dL(a,b){a.min+=b,a.max+=b}function dM(a,b,c,d,e=.5){let f=dx(a.min,a.max,e);dJ(a,b,c,f,d)}function dN(a,b){return"string"==typeof a?parseFloat(a)/100*(b.max-b.min):a}function dO(a,b,c){let d=c??a;dM(a.x,dN(b.x,d.x),b.scaleX,b.scale,b.originX),dM(a.y,dN(b.y,d.y),b.scaleY,b.scale,b.originY)}function dP(a,b){return dD(function(a,b){if(!b)return a;let c=b({x:a.left,y:a.top}),d=b({x:a.right,y:a.bottom});return{top:c.y,left:c.x,bottom:d.y,right:d.x}}(a.getBoundingClientRect(),b))}class dQ extends dg{constructor(){super(...arguments),this.type="html",this.renderInstance=dt}readValueFromInstance(a,b){if(bd.has(b))return this.projection?.isProjecting?cd(b):((a,b)=>{let{transform:c="none"}=getComputedStyle(a);return ce(c,b)})(a,b);{let c=window.getComputedStyle(a),d=(b0(b)?c.getPropertyValue(b):c[b])||0;return"string"==typeof d?d.trim():d}}measureInstanceViewportBox(a,{transformPagePoint:b}){return dP(a,b)}build(a,b,c){dl(a,b,c.transformTemplate)}scrapeMotionValuesFromProps(a,b,c){return dA(a,b,c)}}let dR=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function dS(a){if("string"!=typeof a||a.includes("-"));else if(dR.indexOf(a)>-1||/[A-Z]/u.test(a))return!0;return!1}let dT=(0,h.createContext)({});function dU(a){return Array.isArray(a)?a.join(" "):a}let dV=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function dW(a,b,c){for(let d in b)bT(b[d])||dz(d,c)||(a[d]=b[d])}let dX=()=>({...dV(),attrs:{}}),dY=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function dZ(a){return a.startsWith("while")||a.startsWith("drag")&&"draggable"!==a||a.startsWith("layout")||a.startsWith("onTap")||a.startsWith("onPan")||a.startsWith("onLayout")||dY.has(a)}let d$=a=>!dZ(a);try{!function(a){"function"==typeof a&&(d$=b=>b.startsWith("on")?!dZ(b):a(b))}(require("@emotion/is-prop-valid").default)}catch{}function d_(a){return bT(a)?a.get():a}let d0=a=>(b,c)=>{let d=(0,h.useContext)(dT),e=(0,h.useContext)(a_),f=()=>(function({scrapeMotionValuesFromProps:a,createRenderState:b},c,d,e){return{latestValues:function(a,b,c,d){let e={},f=d(a,{});for(let a in f)e[a]=d_(f[a]);let{initial:g,animate:h}=a,i=c9(a),j=da(a);b&&j&&!i&&!1!==a.inherit&&(void 0===g&&(g=b.initial),void 0===h&&(h=b.animate));let k=!!c&&!1===c.initial,l=(k=k||!1===g)?h:g;if(l&&"boolean"!=typeof l&&!c5(l)){let b=Array.isArray(l)?l:[l];for(let c=0;c<b.length;c++){let d=dc(a,b[c]);if(d){let{transitionEnd:a,transition:b,...c}=d;for(let a in c){let b=c[a];if(Array.isArray(b)){let a=k?b.length-1:0;b=b[a]}null!==b&&(e[a]=b)}for(let b in a)e[b]=a[b]}}}return e}(c,d,e,a),renderState:b()}})(a,b,d,e);return c?f():aZ(f)},d1=d0({scrapeMotionValuesFromProps:dA,createRenderState:dV}),d2=d0({scrapeMotionValuesFromProps:dB,createRenderState:dX}),d3={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},d4=!1,d5=Symbol.for("motionComponentSymbol");function d6(a,{forwardMotionProps:b=!1,type:c}={},d,e){d&&function(a){let b=(!function(){if(d4)return;let a={};for(let b in d3)a[b]={isEnabled:a=>d3[b].some(b=>!!a[b])};de=a,d4=!0}(),de);for(let c in a)b[c]={...b[c],...a[c]};de=b}(d);let f=c?"svg"===c:dS(a),i=f?d2:d1;function j(c,d){let e,j={...(0,h.useContext)(a2),...c,layoutId:function({layoutId:a}){let b=(0,h.useContext)(aY).id;return b&&void 0!==a?b+"-"+a:a}(c)},{isStatic:k}=j,l=function(a){let{initial:b,animate:c}=function(a,b){if(c9(a)){let{initial:b,animate:c}=a;return{initial:!1===b||c6(b)?b:void 0,animate:c6(c)?c:void 0}}return!1!==a.inherit?b:{}}(a,(0,h.useContext)(dT));return(0,h.useMemo)(()=>({initial:b,animate:c}),[dU(b),dU(c)])}(c),m=i(c,k);return(0,g.jsxs)(dT.Provider,{value:l,children:[e&&l.visualElement?(0,g.jsx)(e,{visualElement:l.visualElement,...j}):null,function(a,b,c,{latestValues:d},e,f=!1,g){let i=(g??dS(a)?function(a,b,c,d){let e=(0,h.useMemo)(()=>{let c=dX();return dq(c,b,ds(d),a.transformTemplate,a.style),{...c.attrs,style:{...c.style}}},[b]);if(a.style){let b={};dW(b,a.style,a),e.style={...b,...e.style}}return e}:function(a,b){let c={},d=function(a,b){let c=a.style||{},d={};return dW(d,c,a),Object.assign(d,function({transformTemplate:a},b){return(0,h.useMemo)(()=>{let c=dV();return dl(c,b,a),Object.assign({},c.vars,c.style)},[b])}(a,b)),d}(a,b);return a.drag&&!1!==a.dragListener&&(c.draggable=!1,d.userSelect=d.WebkitUserSelect=d.WebkitTouchCallout="none",d.touchAction=!0===a.drag?"none":`pan-${"x"===a.drag?"y":"x"}`),void 0===a.tabIndex&&(a.onTap||a.onTapStart||a.whileTap)&&(c.tabIndex=0),c.style=d,c})(b,d,e,a),j=function(a,b,c){let d={};for(let e in a)("values"!==e||"object"!=typeof a.values)&&!bT(a[e])&&(d$(e)||!0===c&&dZ(e)||!b&&!dZ(e)||a.draggable&&e.startsWith("onDrag"))&&(d[e]=a[e]);return d}(b,"string"==typeof a,f),k=a!==h.Fragment?{...j,...i,ref:c}:{},{children:l}=b,m=(0,h.useMemo)(()=>bT(l)?l.get():l,[l]);return(0,h.createElement)(a,{...k,children:m})}(a,c,function(a,b,c){let d=(0,h.useRef)(c);(0,h.useInsertionEffect)(()=>{d.current=c});let e=(0,h.useRef)(null);return(0,h.useCallback)(c=>{c&&a.onMount?.(c),b&&(c?b.mount(c):b.unmount());let f=d.current;if("function"==typeof f)if(c){let a=f(c);"function"==typeof a&&(e.current=a)}else e.current?(e.current(),e.current=null):f(c);else f&&(f.current=c)},[b])}(m,l.visualElement,d),m,k,b,f)]})}j.displayName=`motion.${"string"==typeof a?a:`create(${a.displayName??a.name??""})`}`;let k=(0,h.forwardRef)(j);return k[d5]=a,k}class d7{constructor(a){this.isMounted=!1,this.node=a}update(){}}function d8(a,b,c){let d=a.getProps();return dc(d,b,void 0!==c?c:d.custom,a)}function d9(a,b){if(a?.inherit&&b){let{inherit:c,...d}=a;return{...b,...d}}return a}function ea(a,b){let c=a?.[b]??a?.default??a;return c!==a?d9(c,a):c}let eb=a=>Array.isArray(a);function ec(a,b){let c=a.getValue("willChange");if(bT(c)&&c.add)return c.add(b);if(!c&&cl.WillChange){let c=new cl.WillChange("auto");a.addValue("willChange",c),c.add(b)}}let ed="data-"+dh("framerAppearId"),ee=(...a)=>a.reduce((a,b)=>c=>b(a(c)));function ef(a,b,c){return(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}function eg(a,b){return c=>c>0?b:a}let eh=(a,b,c)=>{let d=a*a,e=c*(b*b-d)+d;return e<0?0:Math.sqrt(e)},ei=[bp,bo,bx];function ej(a){let b=ei.find(b=>b.test(a));if(bY(!!b,`'${a}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!b)return!1;let c=b.parse(a);return b===bx&&(c=function({hue:a,saturation:b,lightness:c,alpha:d}){a/=360,c/=100;let e=0,f=0,g=0;if(b/=100){let d=c<.5?c*(1+b):c+b-c*b,h=2*c-d;e=ef(h,d,a+1/3),f=ef(h,d,a),g=ef(h,d,a-1/3)}else e=f=g=c;return{red:Math.round(255*e),green:Math.round(255*f),blue:Math.round(255*g),alpha:d}}(c)),c}let ek=(a,b)=>{let c=ej(a),d=ej(b);if(!c||!d)return eg(a,b);let e={...c};return a=>(e.red=eh(c.red,d.red,a),e.green=eh(c.green,d.green,a),e.blue=eh(c.blue,d.blue,a),e.alpha=dx(c.alpha,d.alpha,a),bo.transform(e))},el=new Set(["none","hidden"]);function em(a,b){return c=>dx(a,b,c)}function en(a){return"number"==typeof a?em:"string"==typeof a?b2(a)?eg:by.test(a)?ek:eq:Array.isArray(a)?eo:"object"==typeof a?by.test(a)?ek:ep:eg}function eo(a,b){let c=[...a],d=c.length,e=a.map((a,c)=>en(a)(a,b[c]));return a=>{for(let b=0;b<d;b++)c[b]=e[b](a);return c}}function ep(a,b){let c={...a,...b},d={};for(let e in c)void 0!==a[e]&&void 0!==b[e]&&(d[e]=en(a[e])(a[e],b[e]));return a=>{for(let b in d)c[b]=d[b](a);return c}}let eq=(a,b)=>{let c=bF.createTransformer(b),d=bD(a),e=bD(b);return d.indexes.var.length===e.indexes.var.length&&d.indexes.color.length===e.indexes.color.length&&d.indexes.number.length>=e.indexes.number.length?el.has(a)&&!e.values.length||el.has(b)&&!d.values.length?function(a,b){return el.has(a)?c=>c<=0?a:b:c=>c>=1?b:a}(a,b):ee(eo(function(a,b){let c=[],d={color:0,var:0,number:0};for(let e=0;e<b.values.length;e++){let f=b.types[e],g=a.indexes[f][d[f]],h=a.values[g]??0;c[e]=h,d[f]++}return c}(d,e),e.values),c):(bY(!0,`Complex values '${a}' and '${b}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),eg(a,b))};function er(a,b,c){return"number"==typeof a&&"number"==typeof b&&"number"==typeof c?dx(a,b,c):en(a)(a,b)}let es=a=>{let b=({timestamp:b})=>a(b);return{start:(a=!0)=>co.update(b,a),stop:()=>cp(b),now:()=>cq.isProcessing?cq.timestamp:c$.now()}};function et(a){let b=0,c=a.next(b);for(;!c.done&&b<2e4;)b+=50,c=a.next(b);return b>=2e4?1/0:b}let eu={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function ev(a,b){return a*Math.sqrt(1-b*b)}let ew=["duration","bounce"],ex=["stiffness","damping","mass"];function ey(a,b){return b.some(b=>void 0!==a[b])}function ez(a=eu.visualDuration,b=eu.bounce){let c,d,e,f,g,h,i="object"!=typeof a?{visualDuration:a,keyframes:[0,1],bounce:b}:a,{restSpeed:j,restDelta:k}=i,l=i.keyframes[0],m=i.keyframes[i.keyframes.length-1],n={done:!1,value:l},{stiffness:o,damping:p,mass:q,duration:r,velocity:s,isResolvedFromDuration:t}=function(a){let b={velocity:eu.velocity,stiffness:eu.stiffness,damping:eu.damping,mass:eu.mass,isResolvedFromDuration:!1,...a};if(!ey(a,ex)&&ey(a,ew))if(b.velocity=0,a.visualDuration){let c=2*Math.PI/(1.2*a.visualDuration),d=c*c,e=2*be(.05,1,1-(a.bounce||0))*Math.sqrt(d);b={...b,mass:eu.mass,stiffness:d,damping:e}}else{let c=function({duration:a=eu.duration,bounce:b=eu.bounce,velocity:c=eu.velocity,mass:d=eu.mass}){let e,f;bY(a<=cE(eu.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let g=1-b;g=be(eu.minDamping,eu.maxDamping,g),a=be(eu.minDuration,eu.maxDuration,a/1e3),g<1?(e=b=>{let d=b*g,e=d*a;return .001-(d-c)/ev(b,g)*Math.exp(-e)},f=b=>{let d=b*g*a,f=Math.pow(g,2)*Math.pow(b,2)*a,h=Math.exp(-d),i=ev(Math.pow(b,2),g);return(d*c+c-f)*h*(-e(b)+.001>0?-1:1)/i}):(e=b=>-.001+Math.exp(-b*a)*((b-c)*a+1),f=b=>a*a*(c-b)*Math.exp(-b*a));let h=function(a,b,c){let d=c;for(let c=1;c<12;c++)d-=a(d)/b(d);return d}(e,f,5/a);if(a=cE(a),isNaN(h))return{stiffness:eu.stiffness,damping:eu.damping,duration:a};{let b=Math.pow(h,2)*d;return{stiffness:b,damping:2*g*Math.sqrt(d*b),duration:a}}}({...a,velocity:0});(b={...b,...c,mass:eu.mass}).isResolvedFromDuration=!0}return b}({...i,velocity:-((i.velocity||0)/1e3)}),u=s||0,v=p/(2*Math.sqrt(o*q)),w=m-l,x=Math.sqrt(o/q)/1e3,y=5>Math.abs(w);if(j||(j=y?eu.restSpeed.granular:eu.restSpeed.default),k||(k=y?eu.restDelta.granular:eu.restDelta.default),v<1)e=ev(x,v),f=(u+v*x*w)/e,c=a=>m-Math.exp(-v*x*a)*(f*Math.sin(e*a)+w*Math.cos(e*a)),g=v*x*f+w*e,h=v*x*w-f*e,d=a=>Math.exp(-v*x*a)*(g*Math.sin(e*a)+h*Math.cos(e*a));else if(1===v){c=a=>m-Math.exp(-x*a)*(w+(u+x*w)*a);let a=u+x*w;d=b=>Math.exp(-x*b)*(x*a*b-u)}else{let a=x*Math.sqrt(v*v-1);c=b=>{let c=Math.exp(-v*x*b),d=Math.min(a*b,300);return m-c*((u+v*x*w)*Math.sinh(d)+a*w*Math.cosh(d))/a};let b=(u+v*x*w)/a,e=v*x*b-w*a,f=v*x*w-b*a;d=b=>{let c=Math.exp(-v*x*b),d=Math.min(a*b,300);return c*(e*Math.sinh(d)+f*Math.cosh(d))}}let z={calculatedDuration:t&&r||null,velocity:a=>cE(d(a)),next:a=>{if(!t&&v<1){let b=Math.exp(-v*x*a),c=Math.sin(e*a),d=Math.cos(e*a),i=m-b*(f*c+w*d);return n.done=Math.abs(cE(b*(g*c+h*d)))<=j&&Math.abs(m-i)<=k,n.value=n.done?m:i,n}let b=c(a);return t?n.done=a>=r:n.done=Math.abs(cE(d(a)))<=j&&Math.abs(m-b)<=k,n.value=n.done?m:b,n},toString:()=>{let a=Math.min(et(z),2e4),b=cS(b=>z.next(a*b).value,a,30);return a+"ms "+b},toTransition:()=>{}};return z}function eA(a,b,c){let d=Math.max(b-5,0);return c_(c-a(d),b-d)}function eB({keyframes:a,velocity:b=0,power:c=.8,timeConstant:d=325,bounceDamping:e=10,bounceStiffness:f=500,modifyTarget:g,min:h,max:i,restDelta:j=.5,restSpeed:k}){let l,m,n=a[0],o={done:!1,value:n},p=c*b,q=n+p,r=void 0===g?q:g(q);r!==q&&(p=r-n);let s=a=>-p*Math.exp(-a/d),t=a=>r+s(a),u=a=>{let b=s(a),c=t(a);o.done=Math.abs(b)<=j,o.value=o.done?r:c},v=a=>{let b;if(b=o.value,void 0!==h&&b<h||void 0!==i&&b>i){var c;l=a,m=ez({keyframes:[o.value,(c=o.value,void 0===h?i:void 0===i||Math.abs(h-c)<Math.abs(i-c)?h:i)],velocity:eA(t,a,o.value),damping:e,stiffness:f,restDelta:j,restSpeed:k})}};return v(0),{calculatedDuration:null,next:a=>{let b=!1;return(m||void 0!==l||(b=!0,u(a),v(a)),void 0!==l&&a>=l)?m.next(a-l):(b||u(a),o)}}}ez.applyToOptions=a=>{let b=function(a,b=100,c){let d=c({...a,keyframes:[0,b]}),e=Math.min(et(d),2e4);return{type:"keyframes",ease:a=>d.next(e*a).value/b,duration:e/1e3}}(a,100,ez);return a.ease=b.ease,a.duration=cE(b.duration),a.type="keyframes",a};let eC=(a,b,c)=>(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a;function eD(a,b,c,d){return a===b&&c===d?ck:e=>0===e||1===e?e:eC(function(a,b,c,d,e){let f,g,h=0;do(f=eC(g=b+(c-b)/2,d,e)-a)>0?c=g:b=g;while(Math.abs(f)>1e-7&&++h<12);return g}(e,0,1,a,c),b,d)}let eE=eD(.42,0,1,1),eF=eD(0,0,.58,1),eG=eD(.42,0,.58,1),eH=a=>b=>b<=.5?a(2*b)/2:(2-a(2*(1-b)))/2,eI=a=>b=>1-a(1-b),eJ=eD(.33,1.53,.69,.99),eK=eI(eJ),eL=eH(eK),eM=a=>a>=1?1:(a*=2)<1?.5*eK(a):.5*(2-Math.pow(2,-10*(a-1))),eN=a=>1-Math.sin(Math.acos(a)),eO=eI(eN),eP=eH(eN),eQ={linear:ck,easeIn:eE,easeInOut:eG,easeOut:eF,circIn:eN,circInOut:eP,circOut:eO,backIn:eK,backInOut:eL,backOut:eJ,anticipate:eM},eR=a=>{if(cQ(a)){bZ(4===a.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[b,c,d,e]=a;return eD(b,c,d,e)}return"string"==typeof a?(bZ(void 0!==eQ[a],`Invalid easing type '${a}'`,"invalid-easing-type"),eQ[a]):a},eS=(a,b,c)=>{let d=b-a;return d?(c-a)/d:1};function eT({duration:a=300,keyframes:b,times:c,ease:d="easeInOut"}){var e;let f=Array.isArray(d)&&"number"!=typeof d[0]?d.map(eR):eR(d),g={done:!1,value:b[0]},h=function(a,b,{clamp:c=!0,ease:d,mixer:e}={}){let f=a.length;if(bZ(f===b.length,"Both input and output ranges must be the same length","range-length"),1===f)return()=>b[0];if(2===f&&b[0]===b[1])return()=>b[1];let g=a[0]===a[1];a[0]>a[f-1]&&(a=[...a].reverse(),b=[...b].reverse());let h=function(a,b,c){let d=[],e=c||cl.mix||er,f=a.length-1;for(let c=0;c<f;c++){let f=e(a[c],a[c+1]);b&&(f=ee(Array.isArray(b)?b[c]||ck:b,f)),d.push(f)}return d}(b,d,e),i=h.length,j=c=>{if(g&&c<a[0])return b[0];let d=0;if(i>1)for(;d<a.length-2&&!(c<a[d+1]);d++);let e=eS(a[d],a[d+1],c);return h[d](e)};return c?b=>j(be(a[0],a[f-1],b)):j}((e=c&&c.length===b.length?c:function(a){let b=[0];return!function(a,b){let c=a[a.length-1];for(let d=1;d<=b;d++){let e=eS(0,b,d);a.push(dx(c,1,e))}}(b,a.length-1),b}(b),e.map(b=>b*a)),b,{ease:Array.isArray(f)?f:b.map(()=>f||eG).splice(0,b.length-1)});return{calculatedDuration:a,next:b=>(g.value=h(b),g.done=b>=a,g)}}let eU={decay:eB,inertia:eB,tween:eT,keyframes:eT,spring:ez};function eV(a){"string"==typeof a.type&&(a.type=eU[a.type])}let eW=a=>a/100;class eX extends cP{constructor(a){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:a}=this.options;a&&a.updatedAt!==c$.now()&&this.tick(c$.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},this.options=a,this.initAnimation(),this.play(),!1===a.autoplay&&this.pause()}initAnimation(){let{options:a}=this;eV(a);let{type:b=eT,repeat:c=0,repeatDelay:d=0,repeatType:e,velocity:f=0}=a,{keyframes:g}=a,h=b||eT;h!==eT&&"number"!=typeof g[0]&&(this.mixKeyframes=ee(eW,er(g[0],g[1])),g=[0,100]);let i=h({...a,keyframes:g});"mirror"===e&&(this.mirroredGenerator=h({...a,keyframes:[...g].reverse(),velocity:-f})),null===i.calculatedDuration&&(i.calculatedDuration=et(i));let{calculatedDuration:j}=i;this.calculatedDuration=j,this.resolvedDuration=j+d,this.totalDuration=this.resolvedDuration*(c+1)-d,this.generator=i}updateTime(a){let b=Math.round(a-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=b}tick(a,b=!1){let c,{generator:d,totalDuration:e,mixKeyframes:f,mirroredGenerator:g,resolvedDuration:h,calculatedDuration:i}=this;if(null===this.startTime)return d.next(0);let{delay:j=0,keyframes:k,repeat:l,repeatType:m,repeatDelay:n,type:o,onUpdate:p,finalKeyframe:q}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,a):this.speed<0&&(this.startTime=Math.min(a-e/this.speed,this.startTime)),b?this.currentTime=a:this.updateTime(a);let r=this.currentTime-j*(this.playbackSpeed>=0?1:-1),s=this.playbackSpeed>=0?r<0:r>e;this.currentTime=Math.max(r,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=e);let t=this.currentTime,u=d;if(l){let a=Math.min(this.currentTime,e)/h,b=Math.floor(a),c=a%1;!c&&a>=1&&(c=1),1===c&&b--,(b=Math.min(b,l+1))%2&&("reverse"===m?(c=1-c,n&&(c-=n/h)):"mirror"===m&&(u=g)),t=be(0,1,c)*h}s?(this.delayState.value=k[0],c=this.delayState):c=u.next(t),f&&!s&&(c.value=f(c.value));let{done:v}=c;s||null===i||(v=this.playbackSpeed>=0?this.currentTime>=e:this.currentTime<=0);let w=null===this.holdTime&&("finished"===this.state||"running"===this.state&&v);return w&&o!==eB&&(c.value=cO(k,this.options,q,this.speed)),p&&p(c.value),w&&this.finish(),c}then(a,b){return this.finished.then(a,b)}get duration(){return this.calculatedDuration/1e3}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+a/1e3}get time(){return this.currentTime/1e3}set time(a){a=cE(a),this.currentTime=a,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=a:this.driver&&(this.startTime=this.driver.now()-a/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=a,this.tick(a))}getGeneratorVelocity(){let a=this.currentTime;if(a<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(a);let b=this.generator.next(a).value;return eA(a=>this.generator.next(a).value,a,b)}get speed(){return this.playbackSpeed}set speed(a){let b=this.playbackSpeed!==a;b&&this.driver&&this.updateTime(c$.now()),this.playbackSpeed=a,b&&this.driver&&(this.time=this.currentTime/1e3)}play(){if(this.isStopped)return;let{driver:a=es,startTime:b}=this.options;this.driver||(this.driver=a(a=>this.tick(a))),this.options.onPlay?.();let c=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=c):null!==this.holdTime?this.startTime=c-this.holdTime:this.startTime||(this.startTime=b??c),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(c$.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(a){return this.startTime=0,this.tick(a,!0)}attachTimeline(a){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),a.observe(this)}}let eY={anticipate:eM,backInOut:eL,circInOut:eP};class eZ extends cW{constructor(a){!function(a){"string"==typeof a.ease&&a.ease in eY&&(a.ease=eY[a.ease])}(a),eV(a),super(a),void 0!==a.startTime&&!1!==a.autoplay&&(this.startTime=a.startTime),this.options=a}updateMotionValue(a){let{motionValue:b,onUpdate:c,onComplete:d,element:e,...f}=this.options;if(!b)return;if(void 0!==a)return void b.set(a);let g=new eX({...f,autoplay:!1}),h=Math.max(10,c$.now()-this.startTime),i=be(0,10,h-10),j=g.sample(h).value,{name:k}=this.options;e&&k&&cI(e,k,j),b.setWithVelocity(g.sample(Math.max(0,h-i)).value,j,i),g.stop()}}let e$=(a,b)=>"zIndex"!==b&&!!("number"==typeof a||Array.isArray(a)||"string"==typeof a&&(bF.test(a)||"0"===a)&&!a.startsWith("url("));function e_(a){a.duration=0,a.type="keyframes"}let e0=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,e1=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),e2=cJ(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class e3 extends cP{constructor({autoplay:a=!0,delay:b=0,type:c="keyframes",repeat:d=0,repeatDelay:e=0,repeatType:f="loop",keyframes:g,name:h,motionValue:i,element:j,...k}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=c$.now();let l={autoplay:a,delay:b,type:c,repeat:d,repeatDelay:e,repeatType:f,name:h,motionValue:i,element:j,...k},m=j?.KeyframeResolver||cy;this.keyframeResolver=new m(g,(a,b,c)=>this.onKeyframesResolved(a,b,l,!c),h,i,j),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(a,b,c,d){let e;this.keyframeResolver=void 0;let{name:f,type:g,velocity:h,delay:i,isHandoff:j,onUpdate:k}=c;this.resolvedAt=c$.now();let l=!0;!function(a,b,c,d){let e=a[0];if(null===e)return!1;if("display"===b||"visibility"===b)return!0;let f=a[a.length-1],g=e$(e,b),h=e$(f,b);return bY(g===h,`You are trying to animate ${b} from "${e}" to "${f}". "${g?f:e}" is not an animatable value.`,"value-not-animatable"),!!g&&!!h&&(function(a){let b=a[0];if(1===a.length)return!0;for(let c=0;c<a.length;c++)if(a[c]!==b)return!0}(a)||("spring"===c||cV(c))&&d)}(a,f,g,h)&&(l=!1,(cl.instantAnimations||!i)&&k?.(cO(a,c,b)),a[0]=a[a.length-1],e_(c),c.repeat=0);let m={startTime:d?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:b,...c,keyframes:a},n=l&&!j&&function(a){let{motionValue:b,name:c,repeatDelay:d,repeatType:e,damping:f,type:g,keyframes:h}=a;if(!(b?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:i,transformTemplate:j}=b.owner.getProps();return e2()&&c&&(cX.has(c)||e1.has(c)&&function(a){for(let b=0;b<a.length;b++)if("string"==typeof a[b]&&e0.test(a[b]))return!0;return!1}(h))&&("transform"!==c||!j)&&!i&&!d&&"mirror"!==e&&0!==f&&"inertia"!==g}(m),o=m.motionValue?.owner?.current;if(n)try{e=new eZ({...m,element:o})}catch{e=new eX(m)}else e=new eX(m);e.finished.then(()=>{this.notifyFinished()}).catch(ck),this.pendingTimeline&&(this.stopTimeline=e.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=e}get finished(){return this._animation?this.animation.finished:this._finished}then(a,b){return this.finished.finally(a).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),cv=!0,cx(),cw(),cv=!1),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(a){this.animation.time=a}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(a){this.animation.speed=a}get startTime(){return this.animation.startTime}attachTimeline(a){return this._animation?this.stopTimeline=this.animation.attachTimeline(a):this.pendingTimeline=a,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}let e4={type:"spring",stiffness:500,damping:25,restSpeed:10},e5={type:"keyframes",duration:.8},e6={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},e7=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),e8=(a,b,c,d={},e,f)=>g=>{let h=ea(d,a)||{},i=h.delay||d.delay||0,{elapsed:j=0}=d;j-=cE(i);let k={keyframes:Array.isArray(c)?c:[null,c],ease:"easeOut",velocity:b.getVelocity(),...h,delay:-j,onUpdate:a=>{b.set(a),h.onUpdate&&h.onUpdate(a)},onComplete:()=>{g(),h.onComplete&&h.onComplete()},name:a,motionValue:b,element:f?void 0:e};!function(a){for(let b in a)if(!e7.has(b))return!0;return!1}(h)&&Object.assign(k,((a,{keyframes:b})=>b.length>2?e5:bd.has(a)?a.startsWith("scale")?{type:"spring",stiffness:550,damping:0===b[1]?2*Math.sqrt(550):30,restSpeed:10}:e4:e6)(a,k)),k.duration&&(k.duration=cE(k.duration)),k.repeatDelay&&(k.repeatDelay=cE(k.repeatDelay)),void 0!==k.from&&(k.keyframes[0]=k.from);let l=!1;if(!1!==k.type&&(0!==k.duration||k.repeatDelay)||(e_(k),0===k.delay&&(l=!0)),(cl.instantAnimations||cl.skipAnimations||e?.shouldSkipAnimations||h.skipAnimations)&&(l=!0,e_(k),k.delay=0),k.allowFlatten=!h.type&&!h.ease,l&&!f&&void 0!==b.get()){let a=cO(k.keyframes,h);if(void 0!==a)return void co.update(()=>{k.onUpdate(a),k.onComplete()})}return h.isSync?new eX(k):new e3(k)};function e9(a,b,{delay:c=0,transitionOverride:d,type:e}={}){let{transition:f,transitionEnd:g,...h}=b,i=a.getDefaultTransition();f=f?d9(f,i):i;let j=f?.reduceMotion,k=f?.skipAnimations;d&&(f=d);let l=[],m=e&&a.animationState&&a.animationState.getState()[e],n=f?.path;for(let b in n&&n.animateVisualElement(a,h,f,c,l),h){let d=a.getValue(b,a.latestValues[b]??null),e=h[b];if(void 0===e||m&&function({protectedKeys:a,needsAnimating:b},c){let d=a.hasOwnProperty(c)&&!0!==b[c];return b[c]=!1,d}(m,b))continue;let g={delay:c,...ea(f||{},b)};k&&(g.skipAnimations=!0);let i=d.get();if(void 0!==i&&!d.isAnimating()&&!Array.isArray(e)&&e===i&&!g.velocity){co.update(()=>d.set(e));continue}let n=!1;if(window.MotionHandoffAnimation){let c=a.props[ed];if(c){let a=window.MotionHandoffAnimation(c,b,co);null!==a&&(g.startTime=a,n=!0)}}ec(a,b);let o=j??a.shouldReduceMotion;d.start(e8(b,d,e,o&&bU.has(b)?{type:!1}:g,a,n));let p=d.animation;p&&l.push(p)}if(g){let b=()=>co.update(()=>{g&&function(a,b){let{transitionEnd:c={},transition:d={},...e}=d8(a,b)||{};for(let b in e={...e,...c}){var f;let c=eb(f=e[b])?f[f.length-1]||0:f;a.hasValue(b)?a.getValue(b).set(c):a.addValue(b,c2(c))}}(a,g)});l.length?Promise.all(l).then(b):b()}return l}function fa(a,b,c,d=0,e=1){let f=Array.from(a).sort((a,b)=>a.sortNodePosition(b)).indexOf(b),g=a.size,h=(g-1)*d;return"function"==typeof c?c(f,g):1===e?f*d:h-f*d}function fb(a,b,c={}){let d=d8(a,b,"exit"===c.type?a.presenceContext?.custom:void 0),{transition:e=a.getDefaultTransition()||{}}=d||{};c.transitionOverride&&(e=c.transitionOverride);let f=d?()=>Promise.all(e9(a,d,c)):()=>Promise.resolve(),g=a.variantChildren&&a.variantChildren.size?(d=0)=>{let{delayChildren:f=0,staggerChildren:g,staggerDirection:h}=e;return function(a,b,c=0,d=0,e=0,f=1,g){let h=[];for(let i of a.variantChildren)i.notify("AnimationStart",b),h.push(fb(i,b,{...g,delay:c+("function"==typeof d?0:d)+fa(a.variantChildren,i,d,e,f)}).then(()=>i.notify("AnimationComplete",b)));return Promise.all(h)}(a,b,d,f,g,h,c)}:()=>Promise.resolve(),{when:h}=e;if(!h)return Promise.all([f(),g(c.delay)]);{let[a,b]="beforeChildren"===h?[f,g]:[g,f];return a().then(()=>b())}}let fc=c8.length;function fd(a,b){if(!Array.isArray(b))return!1;let c=b.length;if(c!==a.length)return!1;for(let d=0;d<c;d++)if(b[d]!==a[d])return!1;return!0}let fe=[...c7].reverse(),ff=c7.length;function fg(a=!1){return{isActive:a,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function fh(){return{animate:fg(!0),whileInView:fg(),whileHover:fg(),whileTap:fg(),whileDrag:fg(),whileFocus:fg(),exit:fg()}}class fi extends d7{constructor(a){super(a),a.animationState||(a.animationState=function(a){let b=b=>Promise.all(b.map(({animation:b,options:c})=>(function(a,b,c={}){let d;if(a.notify("AnimationStart",b),Array.isArray(b))d=Promise.all(b.map(b=>fb(a,b,c)));else if("string"==typeof b)d=fb(a,b,c);else{let e="function"==typeof b?d8(a,b,c.custom):b;d=Promise.all(e9(a,e,c))}return d.then(()=>{a.notify("AnimationComplete",b)})})(a,b,c))),c=fh(),d=!0,e=!1,f=b=>(c,d)=>{let e=d8(a,d,"exit"===b?a.presenceContext?.custom:void 0);if(e){let{transition:a,transitionEnd:b,...d}=e;c={...c,...d,...b}}return c};function g(g){let{props:h}=a,i=function a(b){if(!b)return;if(!b.isControllingVariants){let c=b.parent&&a(b.parent)||{};return void 0!==b.props.initial&&(c.initial=b.props.initial),c}let c={};for(let a=0;a<fc;a++){let d=c8[a],e=b.props[d];(c6(e)||!1===e)&&(c[d]=e)}return c}(a.parent)||{},j=[],k=new Set,l={},m=1/0;for(let b=0;b<ff;b++){var n,o;let p=fe[b],q=c[p],r=void 0!==h[p]?h[p]:i[p],s=c6(r),t=p===g?q.isActive:null;!1===t&&(m=b);let u=r===i[p]&&r!==h[p]&&s;if(u&&(d||e)&&a.manuallyAnimateOnMount&&(u=!1),q.protectedKeys={...l},!q.isActive&&null===t||!r&&!q.prevProp||c5(r)||"boolean"==typeof r)continue;if("exit"===p&&q.isActive&&!0!==t){q.prevResolvedValues&&(l={...l,...q.prevResolvedValues});continue}let v=(n=q.prevProp,"string"==typeof(o=r)?o!==n:!!Array.isArray(o)&&!fd(o,n)),w=v||p===g&&q.isActive&&!u&&s||b>m&&s,x=!1,y=Array.isArray(r)?r:[r],z=y.reduce(f(p),{});!1===t&&(z={});let{prevResolvedValues:A={}}=q,B={...A,...z},C=b=>{w=!0,k.has(b)&&(x=!0,k.delete(b)),q.needsAnimating[b]=!0;let c=a.getValue(b);c&&(c.liveStyle=!1)};for(let a in B){let b=z[a],c=A[a];if(!l.hasOwnProperty(a))(eb(b)&&eb(c)?!fd(b,c)||v:b!==c)?null!=b?C(a):k.add(a):void 0!==b&&k.has(a)?C(a):q.protectedKeys[a]=!0}q.prevProp=r,q.prevResolvedValues=z,q.isActive&&(l={...l,...z}),(d||e)&&a.blockInitialAnimation&&(w=!1);let D=u&&v,E=!D||x;w&&E&&j.push(...y.map(b=>{let c={type:p};if("string"==typeof b&&(d||e)&&!D&&a.manuallyAnimateOnMount&&a.parent){let{parent:d}=a,e=d8(d,b);if(d.enteringChildren&&e){let{delayChildren:b}=e.transition||{};c.delay=fa(d.enteringChildren,a,b)}}return{animation:b,options:c}}))}if(k.size){let b={};if("boolean"!=typeof h.initial){let c=d8(a,Array.isArray(h.initial)?h.initial[0]:h.initial);c&&c.transition&&(b.transition=c.transition)}k.forEach(c=>{let d=a.getBaseTarget(c),e=a.getValue(c);e&&(e.liveStyle=!0),b[c]=d??null}),j.push({animation:b})}let p=!!j.length;return d&&(!1===h.initial||h.initial===h.animate)&&!a.manuallyAnimateOnMount&&(p=!1),d=!1,e=!1,p?b(j):Promise.resolve()}return{animateChanges:g,setActive:function(b,d){if(c[b].isActive===d)return Promise.resolve();a.variantChildren?.forEach(a=>a.animationState?.setActive(b,d)),c[b].isActive=d;let e=g(b);for(let a in c)c[a].protectedKeys={};return e},setAnimateFunction:function(c){b=c(a)},getState:()=>c,reset:()=>{c=fh(),e=!0}}}(a))}updateAnimationControlsSubscription(){let{animate:a}=this.node.getProps();c5(a)&&(this.unmountControls=a.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:a}=this.node.getProps(),{animate:b}=this.node.prevProps||{};a!==b&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let fj=0;class fk extends d7{constructor(){super(...arguments),this.id=fj++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:a,onExitComplete:b}=this.node.presenceContext,{isPresent:c}=this.node.prevPresenceContext||{};if(!this.node.animationState||a===c)return;if(a&&!1===c){if(this.isExitComplete){let{initial:a,custom:b}=this.node.getProps();if("string"==typeof a||"object"==typeof a&&null!==a&&!Array.isArray(a)){let c=d8(this.node,a,b);if(c){let{transition:a,transitionEnd:b,...d}=c;for(let a in d)this.node.getValue(a)?.jump(d[a])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let d=this.node.animationState.setActive("exit",!a);b&&!a&&d.then(()=>{this.isExitComplete=!0,b(this.id)})}mount(){let{register:a,onExitComplete:b}=this.node.presenceContext||{};b&&b(this.id),a&&(this.unmount=a(this.id))}unmount(){}}let fl={x:!1,y:!1};function fm(a){return[a("x"),a("y")]}function fn(a){return a.max-a.min}function fo(a,b,c,d=.5){a.origin=d,a.originPoint=dx(b.min,b.max,a.origin),a.scale=fn(c)/fn(b),a.translate=dx(c.min,c.max,a.origin)-a.originPoint,(a.scale>=.9999&&a.scale<=1.0001||isNaN(a.scale))&&(a.scale=1),(a.translate>=-.01&&a.translate<=.01||isNaN(a.translate))&&(a.translate=0)}function fp(a,b,c,d){fo(a.x,b.x,c.x,d?d.originX:void 0),fo(a.y,b.y,c.y,d?d.originY:void 0)}function fq(a,b,c,d=0){a.min=(d?dx(c.min,c.max,d):c.min)+b.min,a.max=a.min+fn(b)}function fr(a,b,c,d=0){let e=d?dx(c.min,c.max,d):c.min;a.min=b.min-e,a.max=a.min+fn(b)}function fs(a,b,c,d){fr(a.x,b.x,c.x,d?.x),fr(a.y,b.y,c.y,d?.y)}let ft=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),fu=new Set(["INPUT","SELECT","TEXTAREA"]);function fv(a,b,c,d={passive:!0}){return a.addEventListener(b,c,d),()=>a.removeEventListener(b,c,d)}function fw(a){return a0(a)&&"ownerSVGElement"in a}function fx(a,b,c){if(null==a)return[];if(a instanceof EventTarget)return[a];if("string"==typeof a){let d=document;b&&(d=b.current);let e=c?.[a]??d.querySelectorAll(a);return e?Array.from(e):[]}return Array.from(a).filter(a=>null!=a)}let fy=new WeakMap,fz=(a,b,c)=>(d,e)=>e&&e[0]?e[0][a+"Size"]:fw(d)&&"getBBox"in d?d.getBBox()[b]:d[c],fA=fz("inline","width","offsetWidth"),fB=fz("block","height","offsetHeight");function fC({target:a,borderBoxSize:b}){fy.get(a)?.forEach(c=>{c(a,{get width(){return fA(a,b)},get height(){return fB(a,b)}})})}function fD(a){a.forEach(fC)}let fE=new Set;function fF(a,b){return"function"==typeof a?(fE.add(a),f||(f=()=>{let a={get width(){return window.innerWidth},get height(){return window.innerHeight}};fE.forEach(b=>b(a))},window.addEventListener("resize",f)),()=>{fE.delete(a),fE.size||"function"!=typeof f||(window.removeEventListener("resize",f),f=void 0)}):function(a,b){e||"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(fD));let c=fx(a);return c.forEach(a=>{let c=fy.get(a);c||(c=new Set,fy.set(a,c)),c.add(b),e?.observe(a)}),()=>{c.forEach(a=>{let c=fy.get(a);c?.delete(b),c?.size||e?.unobserve(a)})}}(a,b)}let fG=a=>"mouse"===a.pointerType?"number"!=typeof a.button||a.button<=0:!1!==a.isPrimary;function fH(a){return{point:{x:a.pageX,y:a.pageY}}}function fI(a,b,c,d){return fv(a,b,a=>fG(a)&&c(a,fH(a)),d)}let fJ=({current:a})=>a?a.ownerDocument.defaultView:null;function fK(a){return a&&"object"==typeof a&&Object.prototype.hasOwnProperty.call(a,"current")}let fL=(a,b)=>Math.abs(a-b),fM=new Set(["auto","scroll"]);class fN{constructor(a,b,{transformPagePoint:c,contextWindow:d=window,dragSnapToOrigin:e=!1,distanceThreshold:f=3,element:g}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=a=>{this.handleScroll(a.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=fO(this.lastRawMoveEventInfo,this.transformPagePoint));let a=fQ(this.lastMoveEventInfo,this.history),b=null!==this.startEvent,c=function(a,b){return Math.sqrt(fL(a.x,b.x)**2+fL(a.y,b.y)**2)}(a.offset,{x:0,y:0})>=this.distanceThreshold;if(!b&&!c)return;let{point:d}=a,{timestamp:e}=cq;this.history.push({...d,timestamp:e});let{onStart:f,onMove:g}=this.handlers;b||(f&&f(this.lastMoveEvent,a),this.startEvent=this.lastMoveEvent),g&&g(this.lastMoveEvent,a)},this.handlePointerMove=(a,b)=>{this.lastMoveEvent=a,this.lastRawMoveEventInfo=b,this.lastMoveEventInfo=fO(b,this.transformPagePoint),co.update(this.updatePoint,!0)},this.handlePointerUp=(a,b)=>{this.end();let{onEnd:c,onSessionEnd:d,resumeAnimation:e}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&e&&e(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let f=fQ("pointercancel"===a.type?this.lastMoveEventInfo:fO(b,this.transformPagePoint),this.history);this.startEvent&&c&&c(a,f),d&&d(a,f)},!fG(a))return;this.dragSnapToOrigin=e,this.handlers=b,this.transformPagePoint=c,this.distanceThreshold=f,this.contextWindow=d||window;let h=fO(fH(a),this.transformPagePoint),{point:i}=h,{timestamp:j}=cq;this.history=[{...i,timestamp:j}];let{onSessionStart:k}=b;k&&k(a,fQ(h,this.history));let l={passive:!0,capture:!0};this.removeListeners=ee(fI(this.contextWindow,"pointermove",this.handlePointerMove,l),fI(this.contextWindow,"pointerup",this.handlePointerUp,l),fI(this.contextWindow,"pointercancel",this.handlePointerUp,l)),g&&this.startScrollTracking(g)}startScrollTracking(a){let b=a.parentElement;for(;b;){let a=getComputedStyle(b);(fM.has(a.overflowX)||fM.has(a.overflowY))&&this.scrollPositions.set(b,{x:b.scrollLeft,y:b.scrollTop}),b=b.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(a){let b=this.scrollPositions.get(a);if(!b)return;let c=a===window,d=c?{x:window.scrollX,y:window.scrollY}:{x:a.scrollLeft,y:a.scrollTop},e={x:d.x-b.x,y:d.y-b.y};(0!==e.x||0!==e.y)&&(c?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=e.x,this.lastMoveEventInfo.point.y+=e.y):this.history.length>0&&(this.history[0].x-=e.x,this.history[0].y-=e.y),this.scrollPositions.set(a,d),co.update(this.updatePoint,!0))}updateHandlers(a){this.handlers=a}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),cp(this.updatePoint)}}function fO(a,b){return b?{point:b(a.point)}:a}function fP(a,b){return{x:a.x-b.x,y:a.y-b.y}}function fQ({point:a},b){return{point:a,delta:fP(a,fR(b)),offset:fP(a,b[0]),velocity:function(a,b){if(a.length<2)return{x:0,y:0};let c=a.length-1,d=null,e=fR(a);for(;c>=0&&(d=a[c],!(e.timestamp-d.timestamp>cE(.1)));)c--;if(!d)return{x:0,y:0};d===a[0]&&a.length>2&&e.timestamp-d.timestamp>2*cE(b)&&(d=a[1]);let f=(e.timestamp-d.timestamp)/1e3;if(0===f)return{x:0,y:0};let g={x:(e.x-d.x)/f,y:(e.y-d.y)/f};return g.x===1/0&&(g.x=0),g.y===1/0&&(g.y=0),g}(b,.1)}}function fR(a){return a[a.length-1]}function fS(a,b,c){return{min:void 0!==b?a.min+b:void 0,max:void 0!==c?a.max+c-(a.max-a.min):void 0}}function fT(a,b){let c=b.min-a.min,d=b.max-a.max;return b.max-b.min<a.max-a.min&&([c,d]=[d,c]),{min:c,max:d}}function fU(a,b,c){return{min:fV(a,b),max:fV(a,c)}}function fV(a,b){return"number"==typeof a?a:a[b]||0}let fW=new WeakMap;class fX{constructor(a){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=bS(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=a}start(a,{snapToCursor:b=!1,distanceThreshold:c}={}){let{presenceContext:d}=this.visualElement;if(d&&!1===d.isPresent)return;let e=a=>{b&&this.snapToCursor(fH(a).point),this.stopAnimation()},f=(a,b)=>{let{drag:c,dragPropagation:d,onDragStart:e}=this.getProps();if(c&&!d&&(this.openDragLock&&this.openDragLock(),this.openDragLock=function(a){if("x"===a||"y"===a)if(fl[a])return null;else return fl[a]=!0,()=>{fl[a]=!1};return fl.x||fl.y?null:(fl.x=fl.y=!0,()=>{fl.x=fl.y=!1})}(c),!this.openDragLock))return;this.latestPointerEvent=a,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),fm(a=>{let b=this.getAxisMotionValue(a).get()||0;if(bs.test(b)){let{projection:c}=this.visualElement;if(c&&c.layout){let d=c.layout.layoutBox[a];d&&(b=fn(d)*(parseFloat(b)/100))}}this.originPoint[a]=b}),e&&co.update(()=>e(a,b),!1,!0),ec(this.visualElement,"transform");let{animationState:f}=this.visualElement;f&&f.setActive("whileDrag",!0)},g=(a,b)=>{this.latestPointerEvent=a,this.latestPanInfo=b;let{dragPropagation:c,dragDirectionLock:d,onDirectionLock:e,onDrag:f}=this.getProps();if(!c&&!this.openDragLock)return;let{offset:g}=b;if(d&&null===this.currentDirection){this.currentDirection=function(a,b=10){let c=null;return Math.abs(a.y)>b?c="y":Math.abs(a.x)>b&&(c="x"),c}(g),null!==this.currentDirection&&e&&e(this.currentDirection);return}this.updateAxis("x",b.point,g),this.updateAxis("y",b.point,g),this.visualElement.render(),f&&co.update(()=>f(a,b),!1,!0)},h=(a,b)=>{this.latestPointerEvent=a,this.latestPanInfo=b,this.stop(a,b),this.latestPointerEvent=null,this.latestPanInfo=null},i=()=>{let{dragSnapToOrigin:a}=this.getProps();(a||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:j}=this.getProps();this.panSession=new fN(a,{onSessionStart:e,onStart:f,onMove:g,onSessionEnd:h,resumeAnimation:i},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:j,distanceThreshold:c,contextWindow:fJ(this.visualElement),element:this.visualElement.current})}stop(a,b){let c=a||this.latestPointerEvent,d=b||this.latestPanInfo,e=this.isDragging;if(this.cancel(),!e||!d||!c)return;let{velocity:f}=d;this.startAnimation(f);let{onDragEnd:g}=this.getProps();g&&co.postRender(()=>g(c,d))}cancel(){this.isDragging=!1;let{projection:a,animationState:b}=this.visualElement;a&&(a.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:c}=this.getProps();!c&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),b&&b.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(a,b,c){let{drag:d}=this.getProps();if(!c||!fZ(a,d,this.currentDirection))return;let e=this.getAxisMotionValue(a),f=this.originPoint[a]+c[a];this.constraints&&this.constraints[a]&&(f=function(a,{min:b,max:c},d){return void 0!==b&&a<b?a=d?dx(b,a,d.min):Math.max(a,b):void 0!==c&&a>c&&(a=d?dx(c,a,d.max):Math.min(a,c)),a}(f,this.constraints[a],this.elastic[a])),e.set(f)}resolveConstraints(){let{dragConstraints:a,dragElastic:b}=this.getProps(),c=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,d=this.constraints;a&&fK(a)?this.constraints||(this.constraints=this.resolveRefConstraints()):a&&c?this.constraints=function(a,{top:b,left:c,bottom:d,right:e}){return{x:fS(a.x,c,e),y:fS(a.y,b,d)}}(c.layoutBox,a):this.constraints=!1,this.elastic=function(a=.35){return!1===a?a=0:!0===a&&(a=.35),{x:fU(a,"left","right"),y:fU(a,"top","bottom")}}(b),d!==this.constraints&&!fK(a)&&c&&this.constraints&&!this.hasMutatedConstraints&&fm(a=>{!1!==this.constraints&&this.getAxisMotionValue(a)&&(this.constraints[a]=function(a,b){let c={};return void 0!==b.min&&(c.min=b.min-a.min),void 0!==b.max&&(c.max=b.max-a.min),c}(c.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){var a;let{dragConstraints:b,onMeasureDragConstraints:c}=this.getProps();if(!b||!fK(b))return!1;let d=b.current;bZ(null!==d,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:e}=this.visualElement;if(!e||!e.layout)return!1;e.root&&(e.root.scroll=void 0,e.root.updateScroll());let f=function(a,b,c){let d=dP(a,c),{scroll:e}=b;return e&&(dL(d.x,e.offset.x),dL(d.y,e.offset.y)),d}(d,e.root,this.visualElement.getTransformPagePoint()),g=(a=e.layout.layoutBox,{x:fT(a.x,f.x),y:fT(a.y,f.y)});if(c){let a=c(function({x:a,y:b}){return{top:b.min,right:a.max,bottom:b.max,left:a.min}}(g));this.hasMutatedConstraints=!!a,a&&(g=dD(a))}return g}startAnimation(a){let{drag:b,dragMomentum:c,dragElastic:d,dragTransition:e,dragSnapToOrigin:f,onDragTransitionEnd:g}=this.getProps(),h=this.constraints||{};return Promise.all(fm(g=>{if(!fZ(g,b,this.currentDirection))return;let i=h&&h[g]||{};(!0===f||f===g)&&(i={min:0,max:0});let j={type:"inertia",velocity:c?a[g]:0,bounceStiffness:d?200:1e6,bounceDamping:d?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...e,...i};return this.startAxisValueAnimation(g,j)})).then(g)}startAxisValueAnimation(a,b){let c=this.getAxisMotionValue(a);return ec(this.visualElement,a),c.start(e8(a,c,0,b,this.visualElement,!1))}stopAnimation(){fm(a=>this.getAxisMotionValue(a).stop())}getAxisMotionValue(a){let b=`_drag${a.toUpperCase()}`;return this.visualElement.getProps()[b]||this.visualElement.getValue(a,this.visualElement.latestValues[a]??0)}snapToCursor(a){fm(b=>{let{drag:c}=this.getProps();if(!fZ(b,c,this.currentDirection))return;let{projection:d}=this.visualElement,e=this.getAxisMotionValue(b);if(d&&d.layout){let{min:c,max:f}=d.layout.layoutBox[b],g=e.get()||0;e.set(a[b]-dx(c,f,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:a,dragConstraints:b}=this.getProps(),{projection:c}=this.visualElement;if(!fK(b)||!c||!this.constraints)return;this.stopAnimation();let d={x:0,y:0};fm(a=>{let b=this.getAxisMotionValue(a);if(b&&!1!==this.constraints){let c=b.get();d[a]=function(a,b){let c=.5,d=fn(a),e=fn(b);return e>d?c=eS(b.min,b.max-d,a.min):d>e&&(c=eS(a.min,a.max-e,b.min)),be(0,1,c)}({min:c,max:c},this.constraints[a])}});let{transformTemplate:e}=this.visualElement.getProps();this.visualElement.current.style.transform=e?e({},""):"none",c.root&&c.root.updateScroll(),c.updateLayout(),this.constraints=!1,this.resolveConstraints(),fm(b=>{if(!fZ(b,a,null))return;let c=this.getAxisMotionValue(b),{min:e,max:f}=this.constraints[b];c.set(dx(e,f,d[b]))}),this.visualElement.render()}addListeners(){let a;if(!this.visualElement.current)return;fW.set(this.visualElement,this);let b=this.visualElement.current,c=fI(b,"pointerdown",a=>{let{drag:c,dragListener:d=!0}=this.getProps(),e=a.target,f=e!==b&&(fu.has(e.tagName)||!0===e.isContentEditable);c&&d&&!f&&this.start(a)}),d=()=>{let{dragConstraints:c}=this.getProps();fK(c)&&c.current&&(this.constraints=this.resolveRefConstraints(),a||(a=function(a,b,c){let d=fF(a,fY(c)),e=fF(b,fY(c));return()=>{d(),e()}}(b,c.current,()=>this.scalePositionWithinConstraints())))},{projection:e}=this.visualElement,f=e.addEventListener("measure",d);e&&!e.layout&&(e.root&&e.root.updateScroll(),e.updateLayout()),co.read(d);let g=fv(window,"resize",()=>this.scalePositionWithinConstraints()),h=e.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b})=>{this.isDragging&&b&&(fm(b=>{let c=this.getAxisMotionValue(b);c&&(this.originPoint[b]+=a[b].translate,c.set(c.get()+a[b].translate))}),this.visualElement.render())});return()=>{g(),c(),f(),h&&h(),a&&a()}}getProps(){let a=this.visualElement.getProps(),{drag:b=!1,dragDirectionLock:c=!1,dragPropagation:d=!1,dragConstraints:e=!1,dragElastic:f=.35,dragMomentum:g=!0}=a;return{...a,drag:b,dragDirectionLock:c,dragPropagation:d,dragConstraints:e,dragElastic:f,dragMomentum:g}}}function fY(a){let b=!0;return()=>{if(b){b=!1;return}a()}}function fZ(a,b,c){return(!0===b||b===a)&&(null===c||c===a)}class f$ extends d7{constructor(a){super(a),this.removeGroupControls=ck,this.removeListeners=ck,this.controls=new fX(a)}mount(){let{dragControls:a}=this.node.getProps();a&&(this.removeGroupControls=a.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ck}update(){let{dragControls:a}=this.node.getProps(),{dragControls:b}=this.node.prevProps||{};a!==b&&(this.removeGroupControls(),a&&(this.removeGroupControls=a.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}let f_=a=>(b,c)=>{a&&co.update(()=>a(b,c),!1,!0)};class f0 extends d7{constructor(){super(...arguments),this.removePointerDownListener=ck}onPointerDown(a){this.session=new fN(a,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:fJ(this.node)})}createPanHandlers(){let{onPanSessionStart:a,onPanStart:b,onPan:c,onPanEnd:d}=this.node.getProps();return{onSessionStart:f_(a),onStart:f_(b),onMove:f_(c),onEnd:(a,b)=>{delete this.session,d&&co.postRender(()=>d(a,b))}}}mount(){this.removePointerDownListener=fI(this.node.current,"pointerdown",a=>this.onPointerDown(a))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let f1={hasAnimatedSinceResize:!0,hasEverUpdated:!1},f2=(0,h.createContext)({}),f3=!1;class f4 extends h.Component{componentDidMount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c,layoutId:d}=this.props,{projection:e}=a;e&&(b.group&&b.group.add(e),c&&c.register&&d&&c.register(e),f3&&e.root.didUpdate(),e.addEventListener("animationComplete",()=>{this.safeToRemove()}),e.setOptions({...e.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),f1.hasEverUpdated=!0}getSnapshotBeforeUpdate(a){let{layoutDependency:b,visualElement:c,drag:d,isPresent:e}=this.props,{projection:f}=c;return f&&(f.isPresent=e,a.layoutDependency!==b&&f.setOptions({...f.options,layoutDependency:b}),f3=!0,d||a.layoutDependency!==b||void 0===b||a.isPresent!==e?f.willUpdate():this.safeToRemove(),a.isPresent!==e&&(e?f.promote():f.relegate()||co.postRender(()=>{let a=f.getStack();a&&a.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:a,layoutAnchor:b}=this.props,{projection:c}=a;c&&(c.options.layoutAnchor=b,c.root.didUpdate(),cY.postRender(()=>{!c.currentAnimation&&c.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c}=this.props,{projection:d}=a;f3=!0,d&&(d.scheduleCheckAfterUnmount(),b&&b.group&&b.group.remove(d),c&&c.deregister&&c.deregister(d))}safeToRemove(){let{safeToRemove:a}=this.props;a&&a()}render(){return null}}function f5(a){let[b,c]=a8(),d=(0,h.useContext)(aY);return(0,g.jsx)(f4,{...a,layoutGroup:d,switchLayoutGroup:(0,h.useContext)(f2),isPresent:b,safeToRemove:c})}let f6={value:null,addProjectionMetrics:null},f7=du.length,f8=a=>"string"==typeof a?parseFloat(a):a,f9=a=>"number"==typeof a||bt.test(a);function ga(a,b){return void 0!==a[b]?a[b]:a.borderRadius}let gb=gd(0,.5,eO),gc=gd(.5,.95,ck);function gd(a,b,c){return d=>d<a?0:d>b?1:c(eS(a,b,d))}function ge(a,b){a.min=b.min,a.max=b.max}function gf(a,b){ge(a.x,b.x),ge(a.y,b.y)}function gg(a,b){a.translate=b.translate,a.scale=b.scale,a.originPoint=b.originPoint,a.origin=b.origin}function gh(a,b,c,d,e){return a-=b,a=d+1/c*(a-d),void 0!==e&&(a=d+1/e*(a-d)),a}function gi(a,b,[c,d,e],f,g){!function(a,b=0,c=1,d=.5,e,f=a,g=a){if(bs.test(b)&&(b=parseFloat(b),b=dx(g.min,g.max,b/100)-g.min),"number"!=typeof b)return;let h=dx(f.min,f.max,d);a===f&&(h-=b),a.min=gh(a.min,b,c,h,e),a.max=gh(a.max,b,c,h,e)}(a,b[c],b[d],b[e],b.scale,f,g)}let gj=["x","scaleX","originX"],gk=["y","scaleY","originY"];function gl(a,b,c,d){gi(a.x,b,gj,c?c.x:void 0,d?d.x:void 0),gi(a.y,b,gk,c?c.y:void 0,d?d.y:void 0)}function gm(a){return 0===a.translate&&1===a.scale}function gn(a){return gm(a.x)&&gm(a.y)}function go(a,b){return a.min===b.min&&a.max===b.max}function gp(a,b){return Math.round(a.min)===Math.round(b.min)&&Math.round(a.max)===Math.round(b.max)}function gq(a,b){return gp(a.x,b.x)&&gp(a.y,b.y)}function gr(a){return fn(a.x)/fn(a.y)}function gs(a,b){return a.translate===b.translate&&a.scale===b.scale&&a.originPoint===b.originPoint}class gt{constructor(){this.members=[]}add(a){cF(this.members,a);for(let b=this.members.length-1;b>=0;b--){let c=this.members[b];if(c===a||c===this.lead||c===this.prevLead)continue;let d=c.instance;d&&!1!==d.isConnected||c.snapshot||(cG(this.members,c),c.unmount())}a.scheduleRender()}remove(a){if(cG(this.members,a),a===this.prevLead&&(this.prevLead=void 0),a===this.lead){let a=this.members[this.members.length-1];a&&this.promote(a)}}relegate(a){for(let b=this.members.indexOf(a)-1;b>=0;b--){let a=this.members[b];if(!1!==a.isPresent&&a.instance?.isConnected!==!1)return this.promote(a),!0}return!1}promote(a,b){let c=this.lead;if(a!==c&&(this.prevLead=c,this.lead=a,a.show(),c)){c.updateSnapshot(),a.scheduleRender();let{layoutDependency:d}=c.options,{layoutDependency:e}=a.options;(void 0===d||d!==e)&&(a.resumeFrom=c,b&&(c.preserveOpacity=!0),c.snapshot&&(a.snapshot=c.snapshot,a.snapshot.latestValues=c.animationValues||c.latestValues),a.root?.isUpdating&&(a.isLayoutDirty=!0)),!1===a.options.crossfade&&c.hide()}}exitAnimationComplete(){this.members.forEach(a=>{a.options.onExitComplete?.(),a.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(a=>a.instance&&a.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}let gu=(a,b)=>a.depth-b.depth;class gv{constructor(){this.children=[],this.isDirty=!1}add(a){cF(this.children,a),this.isDirty=!0}remove(a){cG(this.children,a),this.isDirty=!0}forEach(a){this.isDirty&&this.children.sort(gu),this.isDirty=!1,this.children.forEach(a)}}let gw={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},gx=["","X","Y","Z"],gy=0;function gz(a,b,c,d){let{latestValues:e}=b;e[a]&&(c[a]=e[a],b.setStaticValue(a,0),d&&(d[a]=0))}function gA({attachResizeListener:a,defaultParent:b,measureScroll:c,checkIsScrollRoot:d,resetTransform:e}){return class{constructor(a={},c=b?.()){this.id=gy++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,f6.value&&(gw.nodes=gw.calculatedTargetDeltas=gw.calculatedProjections=0),this.nodes.forEach(gD),this.nodes.forEach(gM),this.nodes.forEach(gN),this.nodes.forEach(gE),f6.addProjectionMetrics&&f6.addProjectionMetrics(gw)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=c?c.root||c:this,this.path=c?[...c.path,c]:[],this.parent=c,this.depth=c?c.depth+1:0;for(let a=0;a<this.path.length;a++)this.path[a].shouldResetTransform=!0;this.root===this&&(this.nodes=new gv)}addEventListener(a,b){return this.eventHandlers.has(a)||this.eventHandlers.set(a,new cH),this.eventHandlers.get(a).add(b)}notifyListeners(a,...b){let c=this.eventHandlers.get(a);c&&c.notify(...b)}hasListeners(a){return this.eventHandlers.has(a)}mount(b){if(this.instance)return;this.isSVG=fw(b)&&!(fw(b)&&"svg"===b.tagName),this.instance=b;let{layoutId:c,layout:d,visualElement:e}=this.options;if(e&&!e.current&&e.mount(b),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(d||c)&&(this.isLayoutDirty=!0),a){let c,d=0,e=()=>this.root.updateBlockedByResize=!1;co.read(()=>{d=window.innerWidth}),a(b,()=>{let a=window.innerWidth;a!==d&&(d=a,this.root.updateBlockedByResize=!0,c&&c(),c=function(a,b){let c=c$.now(),d=({timestamp:b})=>{let e=b-c;e>=250&&(cp(d),a(e-250))};return co.setup(d,!0),()=>cp(d)}(e,250),f1.hasAnimatedSinceResize&&(f1.hasAnimatedSinceResize=!1,this.nodes.forEach(gL)))})}c&&this.root.registerSharedNode(c,this),!1!==this.options.animate&&e&&(c||d)&&this.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b,hasRelativeLayoutChanged:c,layout:d})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let f=this.options.transition||e.getDefaultTransition()||gT,{onLayoutAnimationStart:g,onLayoutAnimationComplete:h}=e.getProps(),i=!this.targetLayout||!gq(this.targetLayout,d),j=!b&&c;if(this.options.layoutRoot||this.resumeFrom||j||b&&(i||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let b={...ea(f,"layout"),onPlay:g,onComplete:h};(e.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(a,j,b.path)}else b||gL(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=d})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),cp(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(gO),this.animationId++)}getTransformTemplate(){let{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function a(b){if(b.hasCheckedOptimisedAppear=!0,b.root===b)return;let{visualElement:c}=b.options;if(!c)return;let d=c.props[ed];if(window.MotionHasOptimisedAnimation(d,"transform")){let{layout:a,layoutId:c}=b.options;window.MotionCancelOptimisedAnimation(d,"transform",co,!(a||c))}let{parent:e}=b;e&&!e.hasCheckedOptimisedAppear&&a(e)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let a=0;a<this.path.length;a++){let b=this.path[a];b.shouldResetTransform=!0,("string"==typeof b.latestValues.x||"string"==typeof b.latestValues.y)&&(b.isLayoutDirty=!0),b.updateScroll("snapshot"),b.options.layoutRoot&&b.willUpdate(!1)}let{layoutId:b,layout:c}=this.options;if(void 0===b&&!c)return;let d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),a&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let a=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),a&&this.nodes.forEach(gH),this.nodes.forEach(gG);return}if(this.animationId<=this.animationCommitId)return void this.nodes.forEach(gI);this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(gJ),this.nodes.forEach(gK),this.nodes.forEach(gB),this.nodes.forEach(gC)):this.nodes.forEach(gI),this.clearAllSnapshots();let a=c$.now();cq.delta=be(0,1e3/60,a-cq.timestamp),cq.timestamp=a,cq.isProcessing=!0,cr.update.process(cq),cr.preRender.process(cq),cr.render.process(cq),cq.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,cY.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(gF),this.sharedNodes.forEach(gP)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,co.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){co.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||fn(this.snapshot.measuredBox.x)||fn(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let a=0;a<this.path.length;a++)this.path[a].updateScroll();let a=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=bS()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);let{visualElement:b}=this.options;b&&b.notify("LayoutMeasure",this.layout.layoutBox,a?a.layoutBox:void 0)}updateScroll(a="measure"){let b=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===a&&(b=!1),b&&this.instance){let b=d(this.instance);this.scroll={animationId:this.root.animationId,phase:a,isRoot:b,offset:c(this.instance),wasRoot:this.scroll?this.scroll.isRoot:b}}}resetTransform(){if(!e)return;let a=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,b=this.projectionDelta&&!gn(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,f=d!==this.prevTransformTemplateValue;a&&this.instance&&(b||dG(this.latestValues)||f)&&(e(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(a=!0){var b;let c=this.measurePageBox(),d=this.removeElementScroll(c);return a&&(d=this.removeTransform(d)),gW((b=d).x),gW(b.y),{animationId:this.root.animationId,measuredBox:c,layoutBox:d,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:a}=this.options;if(!a)return bS();let b=a.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(gY))){let{scroll:a}=this.root;a&&(dL(b.x,a.offset.x),dL(b.y,a.offset.y))}return b}removeElementScroll(a){let b=bS();if(gf(b,a),this.scroll?.wasRoot)return b;for(let c=0;c<this.path.length;c++){let d=this.path[c],{scroll:e,options:f}=d;d!==this.root&&e&&f.layoutScroll&&(e.wasRoot&&gf(b,a),dL(b.x,e.offset.x),dL(b.y,e.offset.y))}return b}applyTransform(a,b=!1,c){let d=c||bS();gf(d,a);for(let a=0;a<this.path.length;a++){let c=this.path[a];!b&&c.options.layoutScroll&&c.scroll&&c!==c.root&&(dL(d.x,-c.scroll.offset.x),dL(d.y,-c.scroll.offset.y)),dG(c.latestValues)&&dO(d,c.latestValues,c.layout?.layoutBox)}return dG(this.latestValues)&&dO(d,this.latestValues,this.layout?.layoutBox),d}removeTransform(a){let b=bS();gf(b,a);for(let a=0;a<this.path.length;a++){let c,d=this.path[a];dG(d.latestValues)&&(d.instance&&(dF(d.latestValues)&&d.updateSnapshot(),gf(c=bS(),d.measurePageBox())),gl(b,d.latestValues,d.snapshot?.layoutBox,c))}return dG(this.latestValues)&&gl(b,this.latestValues),b}setTargetDelta(a){this.targetDelta=a,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(a){this.options={...this.options,...a,crossfade:void 0===a.crossfade||a.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==cq.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(a=!1){let b=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=b.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=b.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=b.isSharedProjectionDirty);let c=!!this.resumingFrom||this!==b;if(!(a||c&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:d,layoutId:e}=this.options;if(!this.layout||!(d||e))return;this.resolvedRelativeTargetAt=cq.timestamp;let f=this.getClosestProjectingParent();if(f&&this.linkedParentVersion!==f.layoutVersion&&!f.options.layoutRoot&&this.removeRelativeTarget(),this.targetDelta||this.relativeTarget||(!1!==this.options.layoutAnchor&&f&&f.layout?this.createRelativeTarget(f,this.layout.layoutBox,f.layout.layoutBox):this.removeRelativeTarget()),this.relativeTarget||this.targetDelta){if(this.target||(this.target=bS(),this.targetWithTransforms=bS()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target){var g,h,i,j;this.forceRelativeParentToResolveTarget(),g=this.target,h=this.relativeTarget,i=this.relativeParent.target,j=this.options.layoutAnchor||void 0,fq(g.x,h.x,i.x,j?.x),fq(g.y,h.y,i.y,j?.y)}else this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):gf(this.target,this.layout.layoutBox),dK(this.target,this.targetDelta)):gf(this.target,this.layout.layoutBox);this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,!1!==this.options.layoutAnchor&&f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&1!==this.animationProgress?this.createRelativeTarget(f,this.target,f.target):this.relativeParent=this.relativeTarget=void 0),f6.value&&gw.calculatedTargetDeltas++}}getClosestProjectingParent(){if(!(!this.parent||dF(this.parent.latestValues)||dH(this.parent.latestValues)))if(this.parent.isProjecting())return this.parent;else return this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(a,b,c){this.relativeParent=a,this.linkedParentVersion=a.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=bS(),this.relativeTargetOrigin=bS(),fs(this.relativeTargetOrigin,b,c,this.options.layoutAnchor||void 0),gf(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let a=this.getLead(),b=!!this.resumingFrom||this!==a,c=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(c=!1),b&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===cq.timestamp&&(c=!1),c)return;let{layout:d,layoutId:e}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||e))return;gf(this.layoutCorrected,this.layout.layoutBox);let f=this.treeScale.x,g=this.treeScale.y;!function(a,b,c,d=!1){let e,f,g=c.length;if(g){b.x=b.y=1;for(let h=0;h<g;h++){f=(e=c[h]).projectionDelta;let{visualElement:g}=e.options;(!g||!g.props.style||"contents"!==g.props.style.display)&&(d&&e.options.layoutScroll&&e.scroll&&e!==e.root&&(dL(a.x,-e.scroll.offset.x),dL(a.y,-e.scroll.offset.y)),f&&(b.x*=f.x.scale,b.y*=f.y.scale,dK(a,f)),d&&dG(e.latestValues)&&dO(a,e.latestValues,e.layout?.layoutBox))}b.x<1.0000000000001&&b.x>.999999999999&&(b.x=1),b.y<1.0000000000001&&b.y>.999999999999&&(b.y=1)}}(this.layoutCorrected,this.treeScale,this.path,b),a.layout&&!a.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(a.target=a.layout.layoutBox,a.targetWithTransforms=bS());let{target:h}=a;if(!h){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(gg(this.prevProjectionDelta.x,this.projectionDelta.x),gg(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),fp(this.projectionDelta,this.layoutCorrected,h,this.latestValues),this.treeScale.x===f&&this.treeScale.y===g&&gs(this.projectionDelta.x,this.prevProjectionDelta.x)&&gs(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",h)),f6.value&&gw.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(a=!0){if(this.options.visualElement?.scheduleRender(),a){let a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=bQ(),this.projectionDelta=bQ(),this.projectionDeltaWithTransform=bQ()}setAnimationOrigin(a,b=!1,c){let d,e=this.snapshot,f=e?e.latestValues:{},g={...this.latestValues},h=bQ();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!b;let i=bS(),j=(e?e.source:void 0)!==(this.layout?this.layout.source:void 0),k=this.getStack(),l=!k||k.members.length<=1,m=!!(j&&!l&&!0===this.options.crossfade&&!this.path.some(gS));this.animationProgress=0;let n=c?.interpolateProjection(a);this.mixTargetDelta=b=>{let c=b/1e3,e=n?.(c);if(e?(h.x.translate=e.x,h.x.scale=dx(a.x.scale,1,c),h.x.origin=a.x.origin,h.x.originPoint=a.x.originPoint,h.y.translate=e.y,h.y.scale=dx(a.y.scale,1,c),h.y.origin=a.y.origin,h.y.originPoint=a.y.originPoint):(gQ(h.x,a.x,c),gQ(h.y,a.y,c)),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var k,o,p,q,r,s;fs(i,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),p=this.relativeTarget,q=this.relativeTargetOrigin,r=i,s=c,gR(p.x,q.x,r.x,s),gR(p.y,q.y,r.y,s),d&&(k=this.relativeTarget,o=d,go(k.x,o.x)&&go(k.y,o.y))&&(this.isProjectionDirty=!1),d||(d=bS()),gf(d,this.relativeTarget)}j&&(this.animationValues=g,function(a,b,c,d,e,f){e?(a.opacity=dx(0,c.opacity??1,gb(d)),a.opacityExit=dx(b.opacity??1,0,gc(d))):f&&(a.opacity=dx(b.opacity??1,c.opacity??1,d));for(let e=0;e<f7;e++){let f=du[e],g=ga(b,f),h=ga(c,f);(void 0!==g||void 0!==h)&&(g||(g=0),h||(h=0),0===g||0===h||f9(g)===f9(h)?(a[f]=Math.max(dx(f8(g),f8(h),d),0),(bs.test(h)||bs.test(g))&&(a[f]+="%")):a[f]=h)}(b.rotate||c.rotate)&&(a.rotate=dx(b.rotate||0,c.rotate||0,d))}(g,f,this.latestValues,c,m,l)),e&&void 0!==e.rotate&&(this.animationValues||(this.animationValues=g),this.animationValues.pathRotation=e.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=c},this.mixTargetDelta(1e3*!!this.options.layoutRoot)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(cp(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=co.update(()=>{f1.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=c2(0)),this.motionValue.jump(0,!1),this.currentAnimation=function(a,b,c){let d=bT(a)?a:c2(a);return d.start(e8("",d,b,c)),d.animation}(this.motionValue,[0,1e3],{...a,velocity:0,isSync:!0,onUpdate:b=>{this.mixTargetDelta(b),a.onUpdate&&a.onUpdate(b)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let a=this.getLead(),{targetWithTransforms:b,target:c,layout:d,latestValues:e}=a;if(b&&c&&d){if(this!==a&&this.layout&&d&&gX(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||bS();let b=fn(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+b;let d=fn(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+d}gf(b,c),dO(b,e),fp(this.projectionDeltaWithTransform,this.layoutCorrected,b,e)}}registerSharedNode(a,b){this.sharedNodes.has(a)||this.sharedNodes.set(a,new gt),this.sharedNodes.get(a).add(b);let c=b.options.initialPromotionConfig;b.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(b):void 0})}isLead(){let a=this.getStack();return!a||a.lead===this}getLead(){let{layoutId:a}=this.options;return a&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:a}=this.options;return a?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:b,preserveFollowOpacity:c}={}){let d=this.getStack();d&&d.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),b&&this.setOptions({transition:b})}relegate(){let a=this.getStack();return!!a&&a.relegate(this)}resetSkewAndRotation(){let{visualElement:a}=this.options;if(!a)return;let b=!1,{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(b=!0),!b)return;let d={};c.z&&gz("z",a,d,this.animationValues);for(let b=0;b<gx.length;b++)gz(`rotate${gx[b]}`,a,d,this.animationValues),gz(`skew${gx[b]}`,a,d,this.animationValues);for(let b in a.render(),d)a.setStaticValue(b,d[b]),this.animationValues&&(this.animationValues[b]=d[b]);a.scheduleRender()}applyProjectionStyles(a,b){if(!this.instance||this.isSVG)return;if(!this.isVisible){a.visibility="hidden";return}let c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,a.visibility="",a.opacity="",a.pointerEvents=d_(b?.pointerEvents)||"",a.transform=c?c(this.latestValues,""):"none";return}let d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(a.opacity=void 0!==this.latestValues.opacity?this.latestValues.opacity:1,a.pointerEvents=d_(b?.pointerEvents)||""),this.hasProjected&&!dG(this.latestValues)&&(a.transform=c?c({},""):"none",this.hasProjected=!1);return}a.visibility="";let e=d.animationValues||d.latestValues;this.applyTransformsToTarget();let f=function(a,b,c){let d="",e=a.x.translate/b.x,f=a.y.translate/b.y,g=c?.z||0;if((e||f||g)&&(d=`translate3d(${e}px, ${f}px, ${g}px) `),(1!==b.x||1!==b.y)&&(d+=`scale(${1/b.x}, ${1/b.y}) `),c){let{transformPerspective:a,rotate:b,pathRotation:e,rotateX:f,rotateY:g,skewX:h,skewY:i}=c;a&&(d=`perspective(${a}px) ${d}`),b&&(d+=`rotate(${b}deg) `),e&&(d+=`rotate(${e}deg) `),f&&(d+=`rotateX(${f}deg) `),g&&(d+=`rotateY(${g}deg) `),h&&(d+=`skewX(${h}deg) `),i&&(d+=`skewY(${i}deg) `)}let h=a.x.scale*b.x,i=a.y.scale*b.y;return(1!==h||1!==i)&&(d+=`scale(${h}, ${i})`),d||"none"}(this.projectionDeltaWithTransform,this.treeScale,e);c&&(f=c(e,f)),a.transform=f;let{x:g,y:h}=this.projectionDelta;for(let b in a.transformOrigin=`${100*g.origin}% ${100*h.origin}% 0`,d.animationValues?a.opacity=d===this?e.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:e.opacityExit:a.opacity=d===this?void 0!==e.opacity?e.opacity:"":void 0!==e.opacityExit?e.opacityExit:0,dy){if(void 0===e[b])continue;let{correct:c,applyTo:g,isCSSVariable:h}=dy[b],i="none"===f?e[b]:c(e[b],d);if(g){let b=g.length;for(let c=0;c<b;c++)a[g[c]]=i}else h?this.options.visualElement.renderState.vars[b]=i:a[b]=i}this.options.layoutId&&(a.pointerEvents=d===this?d_(b?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(a=>a.currentAnimation?.stop()),this.root.nodes.forEach(gG),this.root.sharedNodes.clear()}}}function gB(a){a.updateLayout()}function gC(a){let b=a.resumeFrom?.snapshot||a.snapshot;if(a.isLead()&&a.layout&&b&&a.hasListeners("didUpdate")){let{layoutBox:c,measuredBox:d}=a.layout,{animationType:e}=a.options,f=b.source!==a.layout.source;if("size"===e)fm(a=>{let d=f?b.measuredBox[a]:b.layoutBox[a],e=fn(d);d.min=c[a].min,d.max=d.min+e});else if("x"===e||"y"===e){let a="x"===e?"y":"x";ge(f?b.measuredBox[a]:b.layoutBox[a],c[a])}else gX(e,b.layoutBox,c)&&fm(d=>{let e=f?b.measuredBox[d]:b.layoutBox[d],g=fn(c[d]);e.max=e.min+g,a.relativeTarget&&!a.currentAnimation&&(a.isProjectionDirty=!0,a.relativeTarget[d].max=a.relativeTarget[d].min+g)});let g=bQ();fp(g,c,b.layoutBox);let h=bQ();f?fp(h,a.applyTransform(d,!0),b.measuredBox):fp(h,c,b.layoutBox);let i=!gn(g),j=!1;if(!a.resumeFrom){let d=a.getClosestProjectingParent();if(d&&!d.resumeFrom){let{snapshot:e,layout:f}=d;if(e&&f){let g=a.options.layoutAnchor||void 0,h=bS();fs(h,b.layoutBox,e.layoutBox,g);let i=bS();fs(i,c,f.layoutBox,g),gq(h,i)||(j=!0),d.options.layoutRoot&&(a.relativeTarget=i,a.relativeTargetOrigin=h,a.relativeParent=d)}}}a.notifyListeners("didUpdate",{layout:c,snapshot:b,delta:h,layoutDelta:g,hasLayoutChanged:i,hasRelativeLayoutChanged:j})}else if(a.isLead()){let{onExitComplete:b}=a.options;b&&b()}a.options.transition=void 0}function gD(a){f6.value&&gw.nodes++,a.parent&&(a.isProjecting()||(a.isProjectionDirty=a.parent.isProjectionDirty),a.isSharedProjectionDirty||(a.isSharedProjectionDirty=!!(a.isProjectionDirty||a.parent.isProjectionDirty||a.parent.isSharedProjectionDirty)),a.isTransformDirty||(a.isTransformDirty=a.parent.isTransformDirty))}function gE(a){a.isProjectionDirty=a.isSharedProjectionDirty=a.isTransformDirty=!1}function gF(a){a.clearSnapshot()}function gG(a){a.clearMeasurements()}function gH(a){a.isLayoutDirty=!0,a.updateLayout()}function gI(a){a.isLayoutDirty=!1}function gJ(a){a.isAnimationBlocked&&a.layout&&!a.isLayoutDirty&&(a.snapshot=a.layout,a.isLayoutDirty=!0)}function gK(a){let{visualElement:b}=a.options;b&&b.getProps().onBeforeLayoutMeasure&&b.notify("BeforeLayoutMeasure"),a.resetTransform()}function gL(a){a.finishAnimation(),a.targetDelta=a.relativeTarget=a.target=void 0,a.isProjectionDirty=!0}function gM(a){a.resolveTargetDelta()}function gN(a){a.calcProjection()}function gO(a){a.resetSkewAndRotation()}function gP(a){a.removeLeadSnapshot()}function gQ(a,b,c){a.translate=dx(b.translate,0,c),a.scale=dx(b.scale,1,c),a.origin=b.origin,a.originPoint=b.originPoint}function gR(a,b,c,d){a.min=dx(b.min,c.min,d),a.max=dx(b.max,c.max,d)}function gS(a){return a.animationValues&&void 0!==a.animationValues.opacityExit}let gT={duration:.45,ease:[.4,0,.1,1]},gU=a=>"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(a),gV=gU("applewebkit/")&&!gU("chrome/")?Math.round:ck;function gW(a){a.min=gV(a.min),a.max=gV(a.max)}function gX(a,b,c){return"position"===a||"preserve-aspect"===a&&!(.2>=Math.abs(gr(b)-gr(c)))}function gY(a){return a!==a.root&&a.scroll?.wasRoot}let gZ=gA({attachResizeListener:(a,b)=>fv(a,"resize",b),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),g$={current:void 0},g_=gA({measureScroll:a=>({x:a.scrollLeft,y:a.scrollTop}),defaultParent:()=>{if(!g$.current){let a=new gZ({});a.mount(window),a.setOptions({layoutScroll:!0}),g$.current=a}return g$.current},resetTransform:(a,b)=>{a.style.transform=void 0!==b?b:"none"},checkIsScrollRoot:a=>"fixed"===window.getComputedStyle(a).position});function g0(a,b){let c=fx(a),d=new AbortController;return[c,{passive:!0,...b,signal:d.signal},()=>d.abort()]}function g1(a,b,c){let{props:d}=a;a.animationState&&d.whileHover&&a.animationState.setActive("whileHover","Start"===c);let e=d["onHover"+c];e&&co.postRender(()=>e(b,fH(b)))}class g2 extends d7{mount(){let{current:a}=this.node;a&&(this.unmount=function(a,b,c={}){let[d,e,f]=g0(a,c);return d.forEach(a=>{let c,d=!1,f=!1,g=b=>{c&&(c(b),c=void 0),a.removeEventListener("pointerleave",i)},h=a=>{d=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),f&&(f=!1,g(a))},i=a=>{if("touch"!==a.pointerType){if(d){f=!0;return}g(a)}};a.addEventListener("pointerenter",d=>{if("touch"===d.pointerType||fl.x||fl.y)return;f=!1;let g=b(a,d);"function"==typeof g&&(c=g,a.addEventListener("pointerleave",i,e))},e),a.addEventListener("pointerdown",()=>{d=!0,window.addEventListener("pointerup",h,e),window.addEventListener("pointercancel",h,e)},e)}),f}(a,(a,b)=>(g1(this.node,b,"Start"),a=>g1(this.node,a,"End"))))}unmount(){}}class g3 extends d7{constructor(){super(...arguments),this.isActive=!1}onFocus(){let a=!1;try{a=this.node.current.matches(":focus-visible")}catch(b){a=!0}a&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ee(fv(this.node.current,"focus",()=>this.onFocus()),fv(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}let g4=(a,b)=>!!b&&(a===b||g4(a,b.parentElement)),g5=new WeakSet;function g6(a){return b=>{"Enter"===b.key&&a(b)}}function g7(a,b){a.dispatchEvent(new PointerEvent("pointer"+b,{isPrimary:!0,bubbles:!0}))}function g8(a){return fG(a)&&!(fl.x||fl.y)}let g9=new WeakSet;function ha(a,b,c){let{props:d}=a;if(a.current instanceof HTMLButtonElement&&a.current.disabled)return;a.animationState&&d.whileTap&&a.animationState.setActive("whileTap","Start"===c);let e=d["onTap"+("End"===c?"":c)];e&&co.postRender(()=>e(b,fH(b)))}class hb extends d7{mount(){let{current:a}=this.node;if(!a)return;let{globalTapTarget:b,propagate:c}=this.node.props;this.unmount=function(a,b,c={}){let[d,e,f]=g0(a,c),g=a=>{let d=a.currentTarget;if(!g8(a)||g9.has(a))return;g5.add(d),c.stopPropagation&&g9.add(a);let f=b(d,a),g={...e,capture:!0},h=(a,b)=>{window.removeEventListener("pointerup",i,g),window.removeEventListener("pointercancel",j,g),g5.has(d)&&g5.delete(d),g8(a)&&"function"==typeof f&&f(a,{success:b})},i=a=>{h(a,d===window||d===document||c.useGlobalTarget||g4(d,a.target))},j=a=>{h(a,!1)};window.addEventListener("pointerup",i,g),window.addEventListener("pointercancel",j,g)};return d.forEach(a=>{((c.useGlobalTarget?window:a).addEventListener("pointerdown",g,e),a1(a))&&(a.addEventListener("focus",a=>((a,b)=>{let c=a.currentTarget;if(!c)return;let d=g6(()=>{if(g5.has(c))return;g7(c,"down");let a=g6(()=>{g7(c,"up")});c.addEventListener("keyup",a,b),c.addEventListener("blur",()=>g7(c,"cancel"),b)});c.addEventListener("keydown",d,b),c.addEventListener("blur",()=>c.removeEventListener("keydown",d),b)})(a,e)),ft.has(a.tagName)||!0===a.isContentEditable||a.hasAttribute("tabindex")||(a.tabIndex=0))}),f}(a,(a,b)=>(ha(this.node,b,"Start"),(a,{success:b})=>ha(this.node,a,b?"End":"Cancel")),{useGlobalTarget:b,stopPropagation:c?.tap===!1})}unmount(){}}let hc=new WeakMap,hd=new WeakMap,he=a=>{let b=hc.get(a.target);b&&b(a)},hf=a=>{a.forEach(he)},hg={some:0,all:1};class hh extends d7{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:a={}}=this.node.getProps(),{root:b,margin:c,amount:d="some",once:e}=a,f={root:b?b.current:void 0,rootMargin:c,threshold:"number"==typeof d?d:hg[d]},g=a=>{let{isIntersecting:b}=a;if(this.isInView===b||(this.isInView=b,e&&!b&&this.hasEnteredView))return;b&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",b);let{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=b?c:d;f&&f(a)};this.stopObserver=function(a,b,c){let d=function({root:a,...b}){let c=a||document;hd.has(c)||hd.set(c,{});let d=hd.get(c),e=JSON.stringify(b);return d[e]||(d[e]=new IntersectionObserver(hf,{root:a,...b})),d[e]}(b);return hc.set(a,c),d.observe(a),()=>{hc.delete(a),d.unobserve(a)}}(this.node.current,f,g)}mount(){this.startObserver()}update(){if("undefined"==typeof IntersectionObserver)return;let{props:a,prevProps:b}=this.node;["amount","margin","root"].some(function({viewport:a={}},{viewport:b={}}={}){return c=>a[c]!==b[c]}(a,b))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}let hi=function(a,b){if("undefined"==typeof Proxy)return d6;let c=new Map,d=(c,d)=>d6(c,d,a,b);return new Proxy((a,b)=>d(a,b),{get:(e,f)=>"create"===f?d:(c.has(f)||c.set(f,d6(f,void 0,a,b)),c.get(f))})}({animation:{Feature:fi},exit:{Feature:fk},inView:{Feature:hh},tap:{Feature:hb},focus:{Feature:g3},hover:{Feature:g2},pan:{Feature:f0},drag:{Feature:f$,ProjectionNode:g_,MeasureLayout:f5},layout:{ProjectionNode:g_,MeasureLayout:f5}},(a,b)=>b.isSVG??dS(a)?new dC(b):new dQ(b,{allowProjection:a!==h.Fragment}));function hj({stepKey:a,children:b,className:c}){let d=ac();return(0,g.jsx)(bb,{mode:"wait",initial:!1,children:(0,g.jsx)(hi.div,{className:(0,M.cn)(c),variants:d?{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15,ease:[.2,0,0,1]}},exit:{opacity:0,transition:{duration:.12,ease:[.3,0,1,1]}}}:{initial:{opacity:0,y:12},animate:{opacity:1,y:0,transition:{duration:.28,ease:[.2,0,0,1]}},exit:{opacity:0,y:-8,transition:{duration:.22,ease:[.3,0,1,1]}}},initial:"initial",animate:"animate",exit:"exit",children:b},a)})}let hk={LINEAR_API_KEY:"linear",CURSOR_API_KEY:"cursor",GITHUB_TOKEN:"github",VERCEL_TOKEN:"vercel"},hl={LINEAR_API_KEY:"linearApiKey",CURSOR_API_KEY:"cursorApiKey",GITHUB_TOKEN:"githubToken",VERCEL_TOKEN:"vercelToken"};function hm({mode:a="advanced",guidedStep:b,onGuidedStepChange:c,initialEnv:d,initialConfig:e,highlightStaleDispatch:f=!1,highlightStaleTarget:i=!1,onSummaryUpdated:j,onUiStateChange:k,onGuidedLocalApplySuccess:l,onConnectServicesComplete:m,localSetupFilesExist:n=!1}){let o=ac(),p=(0,h.useRef)(null),q=(0,h.useRef)(1),[r,s]=(0,h.useState)("connect-services"),t=b??r,[u,v]=(0,h.useState)({harnessConfigPath:d.harnessConfigPath,githubDispatchRepository:d.githubDispatchRepository||d.suggestedHarnessDispatchRepo||"",linearApiKey:"",cursorApiKey:"",githubToken:"",vercelToken:""}),[w,x]=(0,h.useState)(e),[y,z]=(0,h.useState)(()=>(function(a,b=1){return(a.repos.length>0?a.repos:[{id:"",targetRepo:""}]).map((a,c)=>({...a,rowId:aB(b+c)}))})(e,q.current)),[A,B]=(0,h.useState)(d.secretPresence),[C,E]=(0,h.useState)(aJ),[G,H]=(0,h.useState)(null),[I,J]=(0,h.useState)({}),[L,M]=(0,h.useState)(null),[N,O]=(0,h.useState)({state:"unchecked"}),[P,Q]=(0,h.useState)(null),[R,S]=(0,h.useState)(null),[T,U]=(0,h.useState)(!1),[V,W]=(0,h.useState)(null),[X,Z]=(0,h.useState)(null),[$,_]=(0,h.useState)(!1),[aa,ab]=(0,h.useState)(!1),[ae,af]=(0,h.useState)(null),[ag,ah]=(0,h.useState)(null),[ai,aj]=(0,h.useState)(!1),[ak,al]=(0,h.useState)(null),[am,an]=(0,h.useState)(null),[ao,ap]=(0,h.useState)(null),[aq,ar]=(0,h.useState)(null),[as,at]=(0,h.useState)(null),au=(0,h.useMemo)(()=>({...w,repos:y.map(({rowId:a,...b})=>b)}),[w,y]),av=(0,h.useMemo)(()=>"guided"===a?function(a){if(!a.repos.length)return a;let b=function(a){let b=new Set,c=[];for(let d of a){let a=d.id.trim()||function(a){let b=a.trim().match(/^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/([A-Za-z0-9_.-]+)\/?$/);return b?.[1]??""}(d.targetRepo)||"target-repo",e=a,f=2;for(;b.has(e);)e=`${a}-${f}`,f+=1;b.add(e),c.push(e)}return c}(a.repos);return{...a,repos:a.repos.map((a,c)=>({...a,id:b[c]??a.id}))}}(au):w,[w,au,a]),aw=(0,h.useMemo)(()=>({env:u,config:av}),[u,av]),aC=null!==ae&&null!==ag&&JSON.stringify(ag)===JSON.stringify(aw),aD=(0,h.useCallback)(a=>{if(c)return void c(a);s(a)},[c]);(0,h.useCallback)(a=>{aD(a),requestAnimationFrame(()=>{p.current?.scrollIntoView({block:"start",behavior:o?"auto":"smooth"})})},[o,aD]);let aE=a=>{if(!A[a]||"connected"!==C[a].state)return!1;let b=u[hl[a]].trim();return!b||ay(C[a],b)},aF=aE("LINEAR_API_KEY")&&aE("CURSOR_API_KEY")&&aE("GITHUB_TOKEN")&&aE("VERCEL_TOKEN"),aG=A.LINEAR_API_KEY&&A.CURSOR_API_KEY&&A.GITHUB_TOKEN&&A.VERCEL_TOKEN,aH="guided"===a&&"choose-target-repos"===t,aI=(0,h.useMemo)(()=>az({typedToken:u.githubToken,hasSavedToken:A.GITHUB_TOKEN}),[u.githubToken,A.GITHUB_TOKEN]);av.repos.length>0&&av.repos;let aK=y.every(a=>aP.test(a.targetRepo.trim())),aM=y.every(a=>aA(I[a.rowId],a.targetRepo.trim(),aI?.fingerprint??null)),aN=u.githubDispatchRepository.trim()||d.savedHarnessDispatchRepository?.trim()||"",aO=aN.length>0&&(R===aN||"connected"===N.state&&N.verifiedRepo===aN&&(!aI?.fingerprint||N.verifiedGithubTokenFingerprint===aI.fingerprint)),aR=(0,h.useCallback)(async()=>{U(!0),Z(null),W("Setting up your private p-dev workspace...");try{let a=await fetch("/api/setup/preview-harness-repo-provisioning",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),b=await a.json();if(!a.ok)throw Error(b.error??"Provisioning preview failed");if("skipped-not-packaged"===b.state)return void m?.();let c=await fetch("/api/setup/apply-harness-repo-provisioning",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmed:!0,fingerprint:b.fingerprint,operationId:b.operationId})}),d=await c.json();if(!c.ok)throw Error(d.error??"Provisioning apply failed");if("verified-and-persisted"!==d.apply.state){if(d.apply.recoverable)return void Z(d.apply.message);throw Error(d.apply.message??"Harness workspace provisioning did not complete.")}let e=d.apply.harnessDispatchRepo;e&&(Q(e),v(a=>({...a,githubDispatchRepository:e})),O({state:"connected",verifiedRepo:e,message:d.apply.message})),j?.(d.summary),W(d.apply.message),m?.()}catch(a){Z(a instanceof Error?a.message:"Harness workspace provisioning failed")}finally{U(!1)}},[m,j]),aT=()=>{at(null),ar(null),ap(null)},aV=(0,h.useCallback)(()=>{aT(),af(null),ah(null),an(null),aj(!1)},[]),aY=a=>{E(b=>({...b,[a]:{state:"unchecked"}}))},aZ=(0,h.useCallback)(()=>{J({})},[]),a$=(0,h.useCallback)(a=>{J(b=>{let c={...b};for(let d of a){let a=b[d.rowId];if(!a)continue;let e=d.targetRepo.trim();a.verifiedTargetRepo&&a.verifiedTargetRepo!==e?c[d.rowId]={state:"unchecked"}:a.attemptedTargetRepo&&a.attemptedTargetRepo!==e&&(c[d.rowId]={state:"unchecked"})}return c})},[]),a_=(0,h.useCallback)(async a=>{let b=await fetch("/api/setup/preview-connect-services",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}),c=await b.json();if(!b.ok)throw Error(c.error??"Preview failed");let d=await fetch("/api/setup/apply-connect-services",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:u,confirmed:!0,fingerprint:c.fingerprint})}),e=await d.json();if(!d.ok)throw Error(e.error??"Save failed");j?.(e.summary),B({LINEAR_API_KEY:e.summary.envKeyPresence.LINEAR_API_KEY,CURSOR_API_KEY:e.summary.envKeyPresence.CURSOR_API_KEY,GITHUB_TOKEN:e.summary.envKeyPresence.GITHUB_TOKEN,VERCEL_TOKEN:e.summary.envKeyPresence.VERCEL_TOKEN}),v(b=>({...b,[hl[a]]:""}))},[u,j]),a0=(0,h.useCallback)(async a=>{let b=u[hl[a]].trim(),c=b?ax(b):void 0;H(a),E(b=>({...b,[a]:{state:"checking"}}));try{let d=await fetch("/api/setup/verify-service",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({service:hk[a],...b?{token:b}:{}})}),e=await d.json();if(!d.ok)throw Error(e.error??"Verification failed");if("connected"!==e.status)return void E(b=>({...b,[a]:{state:"failed",attemptedValueFingerprint:c,message:e.message,limitation:e.limitation,label:e.label}}));b&&await a_(a),E(b=>({...b,[a]:{state:"connected",verifiedValueFingerprint:c,message:e.message,limitation:e.limitation,label:e.label}}))}catch(b){E(d=>({...d,[a]:{state:"failed",attemptedValueFingerprint:c,message:b instanceof Error?b.message:"Verification failed"}}))}finally{H(null)}},[u,a_]),a1=(0,h.useCallback)(async a=>{let b=a.trim(),c=az({typedToken:u.githubToken,hasSavedToken:A.GITHUB_TOKEN}),d=c?.fingerprint??null;_(!0),O({state:"checking"});try{let a=await fetch("/api/setup/verify-harness-repo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({harnessDispatchRepo:b,...c?.tokenForRequest?{githubToken:c.tokenForRequest}:{}})}),e=await a.json();if(!a.ok)throw Error(e.error??"Harness repo verification failed");"connected"===e.status&&e.repoSlug?(aV(),v(a=>({...a,githubDispatchRepository:e.repoSlug})),O({state:"connected",verifiedRepo:e.repoSlug,verifiedGithubTokenFingerprint:d??void 0,message:e.message,limitation:e.limitation})):O({state:"failed",message:e.message,limitation:e.limitation})}catch(a){O({state:"failed",message:a instanceof Error?a.message:"Harness repo verification failed"})}finally{_(!1)}},[u.githubToken,aV,A.GITHUB_TOKEN]),a2=(0,h.useCallback)(async a=>{let b=y.find(b=>b.rowId===a);if(!b)return;let c=b.targetRepo.trim(),d=az({typedToken:u.githubToken,hasSavedToken:A.GITHUB_TOKEN}),e=d?.fingerprint??null;M(a),J(b=>({...b,[a]:{state:"checking"}}));try{let b=await fetch("/api/setup/verify-target-repo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetRepo:c,...d?.tokenForRequest?{githubToken:d.tokenForRequest}:{}})}),f=await b.json();if(!b.ok)throw Error(f.error??"Repo verification failed");J(b=>({...b,[a]:"connected"===f.status&&!1!==f.workflowInstallReady?{state:"connected",verifiedTargetRepo:c,verifiedGithubTokenFingerprint:e??void 0,message:f.message,repoSlug:f.repoSlug,limitation:f.limitation,workflowInstallReady:f.workflowInstallReady}:{state:"failed",attemptedTargetRepo:c,attemptedGithubTokenFingerprint:e??void 0,message:f.message,repoSlug:f.repoSlug,limitation:f.limitation,workflowInstallReady:f.workflowInstallReady}}))}catch(b){J(d=>({...d,[a]:{state:"failed",attemptedTargetRepo:c,attemptedGithubTokenFingerprint:e??void 0,message:b instanceof Error?b.message:"Repo verification failed"}}))}finally{M(null)}},[u.githubToken,y,A.GITHUB_TOKEN]),a3=(0,h.useCallback)(a=>{let b=u[hl[a]].trim();b&&(ay(C[a],b)||a0(a))},[u,C,a0]),a4=(0,h.useCallback)(a=>{let b=y.find(b=>b.rowId===a);b&&aP.test(b.targetRepo.trim())&&(aA(I[a],b.targetRepo.trim(),aI?.fingerprint??null)||a2(a))},[aI?.fingerprint,y,I,a2]),a5=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-local-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(aw)}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return af(b),ah(aw),b},[aw]),a6=(0,h.useCallback)(async()=>{al("preview"),an(null),aj(!1);try{await a5(),ab(!0)}catch(a){af(null),ah(null),an(a instanceof Error?a.message:"Preview failed"),ab(!0)}finally{al(null)}},[a5]),a7=(0,h.useCallback)(a=>{ab(a),a&&!aC&&"preview"!==ak&&a6()},[a6,ak,aC]),a8=async()=>{if(aH){if(!ai)return}else if(!ae||!aC||!ai)return;al("apply"),aT();try{let b=aH?aC&&ae?ae:await a5():ae;if(!b)throw Error("Preview failed");if(b.validationError)throw Error(b.validationError);let c=await fetch("/api/setup/apply-local-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...aw,confirmed:!0,fingerprint:b.fingerprint})}),d=await c.json();if(!c.ok)throw Error(d.error??"Apply failed");j?.(d.summary),B({LINEAR_API_KEY:d.summary.envKeyPresence.LINEAR_API_KEY,CURSOR_API_KEY:d.summary.envKeyPresence.CURSOR_API_KEY,GITHUB_TOKEN:d.summary.envKeyPresence.GITHUB_TOKEN,VERCEL_TOKEN:d.summary.envKeyPresence.VERCEL_TOKEN}),v(a=>({...a,linearApiKey:"",cursorApiKey:"",githubToken:"",vercelToken:""})),af(null),ah(null),aj(!1),ab(!1),"guided"===a?l?.():(at(!0),ar(d.summary))}catch(a){at(!1),ap(a instanceof Error?a.message:"Apply failed")}finally{al(null)}},a9=async()=>{await a8()},ba=null!==ak?"Wait for the current action to finish.":void 0,bb=aC?ae?.validationError?"Fix validation errors before confirming this write.":void 0:"Generate a preview before you can confirm this write.",bc=ae?.validationError?"Fix validation errors before confirming this write.":void 0,bd=bb??(ai?void 0:"Confirm that you understand local setup files will be created on this machine."),be=null===ak&&aG&&aK&&aM&&aO&&ai,bf=null!==ak?"Wait for the current action to finish.":aG?aK?aM?aO?ai?ae?.validationError?"Fix validation errors before creating setup files.":void 0:`Confirm that you understand local setup files will be ${n?"updated":"created"} on this machine.`:aN?"Verify and use your harness repo before creating local setup files.":"Complete Step 1 harness workspace setup before creating local setup files.":`Verify access for each target repo before ${n?"updating":"creating"} setup files.`:"Enter a valid GitHub target repo URL for each repo row to continue.":"Complete Step 1 service setup before creating local files.",bg=n?"Update local setup files":"Create local setup files",bh=n?"Updating…":"Creating…";return"guided"===a?(0,g.jsxs)("div",{className:D.section,children:[(0,g.jsx)("div",{ref:p}),(0,g.jsx)(hj,{stepKey:t,children:(()=>{switch(t){case"connect-services":return(0,g.jsxs)(Y,{title:`Step 1 of 7 \xb7 Connect services`,description:"Add the API keys the harness needs on this machine.",children:[(0,g.jsx)(aL,{values:u,presence:A,variant:"guided-services",verification:C,verifyingKey:G,onChange:a=>{aV(),v(a),a.linearApiKey!==u.linearApiKey&&aY("LINEAR_API_KEY"),a.cursorApiKey!==u.cursorApiKey&&aY("CURSOR_API_KEY"),a.githubToken!==u.githubToken&&(aY("GITHUB_TOKEN"),aZ()),a.vercelToken!==u.vercelToken&&aY("VERCEL_TOKEN")},onVerifyService:a0,onServiceBlur:a3}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:()=>{aR()},disabled:!aF||T,children:T?"Setting up your private p-dev workspace...":"Continue and set up private p-dev workspace"})}),aF?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"p-dev will use your GitHub token to create or reconnect your private `p-dev-harness` workspace before continuing."}):(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Verify and save each service key above. Continue unlocks after all four services are verified and saved locally."}),V?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:V}):null,X?(0,g.jsx)("p",{className:"text-sm text-destructive",children:X}):null]});case"choose-target-repos":return(0,g.jsxs)(Y,{title:`Step 4 of 7 \xb7 Choose target repo(s) and create setup files`,description:"Tell the harness which GitHub repo(s) it should work against, then create local setup files on this machine.",children:[(0,g.jsx)(aQ,{values:au,highlightStaleTarget:i,variant:"guided-minimal",harnessDispatchRepository:u.githubDispatchRepository,savedHarnessDispatchRepository:d.savedHarnessDispatchRepository,suggestedHarnessDispatchRepo:d.suggestedHarnessDispatchRepo,harnessRepoVerification:N,verifyingHarnessRepo:$,onHarnessDispatchRepositoryChange:a=>{aV(),O({state:"unchecked"}),v(b=>({...b,githubDispatchRepository:a}))},onVerifyAndUseHarnessRepo:a=>{a1(a)},harnessConnectedAutomatically:P===aN&&R===aN&&!!aN,guidedRepos:y,repoVerification:I,verifyingRepoRowId:L,onChange:a=>{aV(),x(a)},onGuidedReposChange:a=>{aV(),a$(a),z(a)},onVerifyRepo:a2,onRepoBlur:a4,activeGithubTokenFingerprint:aI?.fingerprint??null,onAddRepo:()=>{aV(),q.current+=1;let a=aB(q.current);z(b=>[...b,{rowId:a,id:"",targetRepo:""}])},onRemoveRepo:a=>{aV(),z(b=>b.filter(b=>b.rowId!==a)),J(b=>{let c={...b};return delete c[a],c})}}),(0,g.jsx)(ad,{className:"my-6"}),(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 p-4 space-y-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:bg}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:n?"Local gitignored setup files already exist on this machine. Preview the changes, confirm, and update `.env.local` and `.harness/config.local.json`.":"This is the point where the app writes local gitignored setup files to this machine: `.env.local` and `.harness/config.local.json`."}),(0,g.jsx)(aW,{open:aa,onOpenChange:a7,isLoading:"preview"===ak,previewError:am??void 0,envPreview:aC?ae?.envPreview:void 0,configPreview:aC?ae?.configPreview:void 0,validationError:aC?ae?.validationError:void 0,previewIsCurrent:aC}),(0,g.jsx)(aU,{variant:"guided",intent:n?"update":"create",plan:aC?ae?.plan:void 0,confirmed:ai,disabled:!!ae?.validationError,disabledReason:bc,onConfirmedChange:aj})]}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:a9,disabled:!be,"data-primary-preview-button":"true",children:"apply"===ak?bh:bg})}),!be&&bf?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:bf}):null]})}})()}),ao?(0,g.jsx)(aX,{success:!1,message:ao}):null]}):(0,g.jsxs)("div",{className:D.section,children:[(0,g.jsx)(Y,{title:"Environment (.env.local)",description:"Edit local env keys. Existing secret values are never shown.",children:(0,g.jsx)(aL,{values:u,presence:A,highlightDispatchRepo:f,variant:"advanced",onChange:a=>{aV(),v(a)}})}),(0,g.jsx)(Y,{title:"Target repo config",description:"Guided fields for .harness/config.local.json.",children:(0,g.jsx)(aQ,{values:w,highlightStaleTarget:i,variant:"advanced",onChange:a=>{aV(),x(a)}})}),(0,g.jsxs)(Y,{title:"Preview local changes",description:"Required before apply. Secret values are redacted in previews.",children:[(0,g.jsx)(aS,{envPreview:aC?ae?.envPreview:void 0,configPreview:aC?ae?.configPreview:void 0,validationError:aC?ae?.validationError:void 0}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:a6,disabled:null!==ak,"data-primary-preview-button":"true",children:"preview"===ak?"Generating preview…":"Preview setup files"})}),ba?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:ba}):null]}),(0,g.jsxs)(Y,{title:"Confirm and apply",description:"Writes only local gitignored setup files through setup core.",children:[(0,g.jsx)(aU,{plan:aC?ae?.plan:void 0,confirmed:ai,disabled:!aC||!!ae?.validationError,disabledReason:bb,onConfirmedChange:aj}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:a8,disabled:null!==ak||!aC||!ai||!!ae?.validationError,children:"apply"===ak?"Creating…":"Create local setup files"})}),bd?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:bd}):null]}),ao?(0,g.jsx)(aX,{success:!1,message:ao}):null,null===as||ao?null:(0,g.jsx)(aX,{success:as,message:as?"Local setup files were written successfully.":"Apply failed.",summary:aq??void 0})]})}let hn={LINEAR_API_KEY:"LINEAR_API_KEY",CURSOR_API_KEY:"CURSOR_API_KEY",HARNESS_GITHUB_TOKEN:"HARNESS_GITHUB_TOKEN"};function ho(a){return"present"===a?"success":"missing"===a?"warning":"secondary"}function hp({values:a,secretStatuses:b,onChange:c}){let d=b=>{c({...a,...b})},e=new Map(b.map(a=>[a.name,a.status]));return(0,g.jsxs)("div",{className:F.fieldGrid,children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{children:"HARNESS_CONFIG_JSON_B64"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generated server-side from validated `.harness/config.local.json` during apply. Never shown in previews or responses."}),(0,g.jsx)(P,{label:e.get("HARNESS_CONFIG_JSON_B64")??"unknown",variant:ho(e.get("HARNESS_CONFIG_JSON_B64")??"unknown")})]}),(0,g.jsx)(hq,{id:"remote-linear-api-key",label:hn.LINEAR_API_KEY,status:e.get("LINEAR_API_KEY")??"unknown",value:a.linearApiKey,onChange:a=>d({linearApiKey:a})}),(0,g.jsx)(hq,{id:"remote-cursor-api-key",label:hn.CURSOR_API_KEY,status:e.get("CURSOR_API_KEY")??"unknown",value:a.cursorApiKey,onChange:a=>d({cursorApiKey:a})}),(0,g.jsx)(hq,{id:"remote-harness-github-token",label:hn.HARNESS_GITHUB_TOKEN,status:e.get("HARNESS_GITHUB_TOKEN")??"unknown",value:a.harnessGithubToken,onChange:a=>d({harnessGithubToken:a})})]})}function hq({id:a,label:b,status:c,value:d,onChange:e}){return(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,g.jsx)(af,{htmlFor:a,children:b}),(0,g.jsx)(P,{label:c,variant:ho(c)})]}),(0,g.jsx)(ae,{id:a,type:"password",value:d,autoComplete:"off",onChange:a=>e(a.target.value)}),(0,g.jsx)("p",{className:F.secretHint,children:"Existing GitHub Actions secret values are never readable. Leave blank to preserve an existing secret when status is present."})]})}function hr({harnessSecretPreview:a,targetWorkflowPreview:b}){return a||b?a?(0,g.jsxs)("div",{className:"space-y-4",children:[a.validationError?(0,g.jsx)("p",{className:"text-sm text-destructive",children:a.validationError}):null,(0,g.jsxs)("dl",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 text-sm",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Harness dispatch repo"}),(0,g.jsx)("dd",{className:"font-medium break-all",children:a.harnessDispatchRepo})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Repo access"}),(0,g.jsx)("dd",{className:"font-medium",children:a.repoAccess})]})]}),(0,g.jsx)(aR,{title:"Secret write plan (key names only)",content:a.secretWritePlan.map(a=>`${a.name}: ${a.action} (${a.source})`).join("\n")}),(0,g.jsx)(aR,{title:"Manual copy-paste alternative",content:a.manualInstructions.join("\n")})]}):b?(0,g.jsxs)("div",{className:"space-y-4",children:[b.validationError?(0,g.jsx)("p",{className:"text-sm text-destructive",children:b.validationError}):null,(0,g.jsx)(aR,{title:"Workflow install preview",content:b.workflowPreviewSummary}),(0,g.jsx)(aR,{title:"Manual copy-paste alternative",content:b.manualInstructions.join("\n")})]}):null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a preview before confirming any remote write."})}let hs={"remote-secret-write":{advanced:{title:"Confirm harness repo Actions secret writes",bullets:["Writes encrypted GitHub Actions secrets to the harness dispatch repo only.","HARNESS_CONFIG_JSON_B64 is generated server-side from local config.","Secret values are never returned in previews, results, or errors.","No target repo branches, PRs, Linear writes, or harness phases will run."],label:"I reviewed the harness secret preview and want to write these Actions secrets."},guided:{title:"Confirm cloud secrets write",bullets:["This writes encrypted GitHub Actions secrets to the harness repo.","Preflight runs automatically before apply when you skip preview.","It does not run the harness, create branches, open PRs, or change your target app.","Secret values are never shown in previews, results, or errors."],label:"I understand this will create or update encrypted GitHub Actions secrets in the harness repo."}},"vercel-bridge-write":{advanced:{title:"Confirm Vercel bridge setup writes",bullets:["May create or reuse Vercel team and project resources when selected.","Writes required Vercel production environment variables for the bridge.","May create or verify the Linear Issue webhook for automation.","Secret values are never returned in previews, results, or errors."],label:"I reviewed the Vercel settings preview and want to apply these changes."},guided:{title:"Confirm Vercel settings write",bullets:["This may create or update Vercel production environment variables and configure the Linear webhook bridge.","It does not run the harness, create branches, open PRs, or change your target app.","Secret values are never shown in previews, results, or errors."],label:"I understand this will write Vercel environment variables and configure the Linear webhook bridge."}},"remote-repo-write":{advanced:{title:"Confirm target workflow branch and PR install",bullets:["Creates or updates an install branch and opens or reuses a PR.","Never writes directly to the target repo production or main branch.","No harness repo secret writes, Linear writes, or harness phases will run."],label:"I reviewed the workflow preview and want to create or update the install PR."},guided:{title:"Confirm workflow install PR",bullets:["This may create or update an install branch and open or reuse a PR.","It does not merge the PR, write directly to main/production, run the harness, or write Linear."],label:"I reviewed the workflow preview and want to create or update the workflow install PR."}},"linear-write":{advanced:{title:"Confirm Linear workspace writes",bullets:["May create or update Linear teams, projects, and workflow statuses.","Preview is read-only until you confirm this write.","No harness phases, GitHub dispatch, or target repo changes run from this step."],label:"I reviewed the Linear setup preview and want to apply workspace changes."},guided:{title:"Confirm Linear workspace setup",bullets:["This may create missing Linear workflow statuses or workspace resources.","It does not run harness automation or modify your target app repo."],label:"I understand this will apply Linear workspace setup changes."}}};function ht({scope:a,confirmed:b,disabled:c=!1,disabledReason:d,variant:e="advanced",onConfirmedChange:f}){let h=hs[a][e];return(0,g.jsxs)("div",{className:F.confirmationBox,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:h.title}),(0,g.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:h.bullets.map(a=>(0,g.jsx)("li",{children:a},a))}),(0,g.jsxs)("div",{className:"flex items-start gap-3",children:[(0,g.jsx)(aT,{id:`confirm-${a}`,checked:b,disabled:c,onChange:a=>f(a.target.checked)}),(0,g.jsx)(af,{htmlFor:`confirm-${a}`,className:"text-sm leading-snug",children:h.label})]}),c&&d?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:d}):null]})}function hu({repo:a,onApplied:b,onGuidedApplySuccess:c,blockedByUpstream:d=!1,variant:e="advanced"}){var f,i;let[j,k]=(0,h.useState)(null),[l,m]=(0,h.useState)(null),[n,o]=(0,h.useState)(!1),[p,q]=(0,h.useState)(null),[r,s]=(0,h.useState)(null),[t,u]=(0,h.useState)(null),v=`${a.repoConfigId}:${a.targetRepo}:${a.productionBranch}`,w=null!==j&&l===v,x=async()=>{q("preview"),s(null),u(null),o(!1);try{let b=await fetch("/api/setup/preview-target-workflow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoConfigId:a.repoConfigId,targetRepo:a.targetRepo,productionBranch:a.productionBranch})}),c=await b.json();if(!b.ok)throw Error(c.error??"Preview failed");k(c),m(v)}catch(a){k(null),m(null),s(a instanceof Error?a.message:"Preview failed")}finally{q(null)}},y=async()=>{if(j&&w&&n){q("apply"),s(null);try{let d=await fetch("/api/setup/apply-target-workflow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoConfigId:a.repoConfigId,targetRepo:a.targetRepo,productionBranch:a.productionBranch,confirmed:!0,fingerprint:j.fingerprint})}),f=await d.json();if(!d.ok)throw Error(f.error??"Apply failed");let g=f.apply,h=f.finalization;k(null),m(null),o(!1),"guided"===e?c?.(g,h):u(g),b()}catch(a){s(a instanceof Error?a.message:"Apply failed")}finally{q(null)}}},z=(0,h.useMemo)(()=>t?"already-installed"===t.outcome?"Workflow already installed on production branch. No PR opened.":t.prUrl?`Workflow install ${t.outcome}: ${t.prUrl}`:`Workflow install ${t.outcome} on branch ${t.branchName}.`:null,[t]),A=d?"Fix harness repo access before target workflow setup can be previewed.":void 0,B=A||(w?j?.validationError?"Fix validation errors before confirming this write.":void 0:"Generate a preview before you can confirm this write."),C=B??(n?void 0:"guided"===e?"Confirm the preview before creating the workflow install PR.":"Confirm the preview before applying the workflow install PR."),D="apply"===p?"Creating PR…":"guided"===e?"present"===a.workflowStatus?"Update workflow install PR":"Create workflow install PR":"Apply workflow PR";return(0,g.jsxs)("div",{className:"guided"===e?"space-y-4":"rounded-md border border-border bg-muted/10 p-4 space-y-4",children:["advanced"===e?(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.repoConfigId}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground break-all",children:a.targetRepo}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Production branch: ",a.productionBranch]})]}),(0,g.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,g.jsx)(P,{label:`Access: ${a.repoAccess}`,variant:"available"===(f=a.repoAccess)?"success":"denied"===f?"destructive":"secondary"}),(0,g.jsx)(P,{label:`Workflow: ${a.workflowStatus}`,variant:"present"===(i=a.workflowStatus)?"success":"differs"===i||"missing"===i?"warning":"secondary"})]})]}):null,(0,g.jsx)(hr,{targetWorkflowPreview:w?j??void 0:void 0}),(0,g.jsx)(ht,{scope:"remote-repo-write",variant:e,confirmed:n,disabled:!w||!!j?.validationError||d,disabledReason:B,onConfirmedChange:o}),(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:x,disabled:null!==p||d,children:"preview"===p?"Generating preview…":"guided"===e?"Preview workflow install PR":"Preview workflow PR"}),(0,g.jsx)(K.$,{type:"button",onClick:y,disabled:null!==p||!w||!n||!!j?.validationError||d,children:D})]}),A?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:A}):null,C&&!A?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:C}):null,r?(0,g.jsx)(aX,{success:!1,message:r}):null,"advanced"===e&&z?(0,g.jsx)(aX,{success:!0,message:z}):null]})}function hv({initialSummary:a,onSummaryUpdated:b,onUiStateChange:c,blockedByUpstream:d=!1}){var e;let[f,i]=(0,h.useState)(a),[j,k]=(0,h.useState)({linearApiKey:"",cursorApiKey:"",harnessGithubToken:""}),[l,m]=(0,h.useState)(null),[n,o]=(0,h.useState)(null),[p,q]=(0,h.useState)(!1),[r,s]=(0,h.useState)(null),[t,u]=(0,h.useState)(null),[v,w]=(0,h.useState)(null),x=(0,h.useMemo)(()=>({linearApiKey:j.linearApiKey||void 0,cursorApiKey:j.cursorApiKey||void 0,harnessGithubToken:j.harnessGithubToken||void 0}),[j]),y=null!==l&&null!==n&&JSON.stringify(n)===JSON.stringify(j),z=(0,h.useCallback)(async()=>{s("refresh");try{let a=await fetch("/api/setup/remote-summary"),c=await a.json();if(!a.ok)throw Error(c.error??"Remote summary refresh failed");i(c),b?.(c)}catch(a){u(a instanceof Error?a.message:"Remote summary refresh failed")}finally{s(null)}},[b]),A=()=>{w(null),u(null)},B=async()=>{s("preview"),A(),q(!1);try{let a=await fetch("/api/setup/preview-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");m(b),o({...j})}catch(a){m(null),o(null),u(a instanceof Error?a.message:"Preview failed")}finally{s(null)}},C=async()=>{if(l&&y&&p){s("apply"),A();try{let a=await fetch("/api/setup/apply-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...x,confirmed:!0,fingerprint:l.fingerprint})}),c=await a.json();if(!a.ok)throw Error(c.error??"Apply failed");w(c.apply),i(c.summary),b?.(c.summary),k({linearApiKey:"",cursorApiKey:"",harnessGithubToken:""}),m(null),o(null),q(!1)}catch(a){u(a instanceof Error?a.message:"Apply failed")}finally{s(null)}}},E=v?`Wrote ${v.writtenSecrets.map(a=>a.name).join(", ")||"no secrets"}.`:null,G=d?"Fix harness repo access in local setup before remote secrets or workflow checks can continue.":void 0,H=G??(f.githubTokenConfigured?null!==r?"Wait for the current action to finish.":void 0:"Set GITHUB_TOKEN in `.env.local` before previewing remote harness secret writes."),I=G||(y?l?.validationError?"Fix validation errors before confirming this write.":void 0:"Generate a preview before you can confirm this write."),J=I??(p?void 0:"Confirm the preview before applying harness repo Actions secrets.");return(0,g.jsxs)("div",{className:D.section,children:[(0,g.jsx)(Y,{title:"Remote setup",description:"Preview and apply harness repo Actions secrets and target workflow install PRs. Each action requires its own preview and confirmation.",children:(0,g.jsxs)("dl",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 text-sm",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"GITHUB_TOKEN in .env.local"}),(0,g.jsx)("dd",{children:(0,g.jsx)(P,{label:f.githubTokenConfigured?"Configured":"Missing",variant:f.githubTokenConfigured?"success":"warning"})})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Harness dispatch repo"}),(0,g.jsx)("dd",{className:"font-medium break-all",children:f.harnessDispatchRepo})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Dispatch repo source"}),(0,g.jsx)("dd",{className:"font-medium",children:f.harnessDispatchRepoSource})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Harness repo access"}),(0,g.jsx)("dd",{children:(0,g.jsx)(P,{label:f.harnessRepoAccess,variant:"available"===(e=f.harnessRepoAccess)?"success":"denied"===e?"destructive":"secondary"})})]})]})}),d?(0,g.jsxs)(Y,{title:"Blocked until repo access is fixed",description:"Remote setup details stay hidden until the harness dispatch repo is corrected.",children:[(0,g.jsxs)("p",{className:"text-sm text-muted-foreground",children:[G," Use the local setup fix above, then refresh this page after applying."]}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:z,disabled:null!==r,children:"refresh"===r?"Refreshing…":"Refresh remote setup"})})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(Y,{title:"Harness repo Actions secrets",description:"Write encrypted secrets to the harness dispatch repo. HARNESS_CONFIG_JSON_B64 is generated server-side.",children:[(0,g.jsx)(hp,{values:j,secretStatuses:f.harnessSecretStatuses,onChange:a=>{A(),m(null),o(null),q(!1),k(a)}}),(0,g.jsx)(hr,{harnessSecretPreview:y?l??void 0:void 0}),(0,g.jsx)(ht,{scope:"remote-secret-write",confirmed:p,disabled:!y||!!l?.validationError,disabledReason:I,onConfirmedChange:q}),(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:B,disabled:null!==r||!f.githubTokenConfigured||!!G,children:"preview"===r?"Generating preview…":"Preview harness secrets"}),(0,g.jsx)(K.$,{type:"button",onClick:C,disabled:null!==r||!y||!p||!!l?.validationError,children:"apply"===r?"Applying…":"Apply harness secrets"})]}),H?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:H}):null,J?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:J}):null,t?(0,g.jsx)(aX,{success:!1,message:t}):null,E?(0,g.jsx)(aX,{success:!0,message:E}):null]}),(0,g.jsx)(Y,{title:"Target workflow install PRs",description:"One install PR card per configured target repo. Never writes directly to production branches.",children:0===f.targetRepos.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Resolve `.harness/config.local.json` to show target workflow cards."}):(0,g.jsx)("div",{className:D.stackSm,children:f.targetRepos.map(a=>(0,g.jsx)(hu,{repo:a,onApplied:z,blockedByUpstream:d},a.repoConfigId))})})]})]})}let hw=(0,Q.A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),hx=(0,Q.A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),hy=(0,Q.A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),hz=(0,Q.A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function hA({items:a,className:b}){return(0,g.jsx)("ul",{className:(0,M.cn)(D.list,b),children:a.map(a=>{let b=function(a){switch(a){case"complete":return hw;case"blocked":return hx;default:return hy}}(a.status);return(0,g.jsxs)("li",{className:"flex items-start gap-3 rounded-md border border-border bg-muted/30 p-3",children:[(0,g.jsx)(b,{className:(0,M.cn)("mt-0.5 size-4 shrink-0",function(a){switch(a){case"complete":return"text-emerald-600";case"blocked":return"text-destructive";default:return"text-muted-foreground"}}(a.status))}),(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.detail})]})]},a.id)})})}function hB({checks:a,className:b}){return(0,g.jsx)("ul",{className:(0,M.cn)(D.list,b),children:a.map(a=>{let b=a.skipped?hy:a.ok?hw:hx,c=a.skipped?"text-muted-foreground":a.ok?"text-emerald-600":"text-destructive";return(0,g.jsxs)("li",{className:"flex items-start gap-3",children:[(0,g.jsx)(b,{className:(0,M.cn)("mt-0.5 size-4 shrink-0",c)}),(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),a.detail?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.detail}):null]})]},a.label)})})}function hC({checks:a,className:b}){return(0,g.jsx)("ul",{className:(0,M.cn)(D.list,b),children:a.map(a=>{let b=function(a){switch(a){case"passed":return hw;case"failed":return hx;case"checking":return hz;default:return hy}}(a.status);return(0,g.jsxs)("li",{className:"flex items-start gap-3 rounded-md border border-border bg-muted/30 p-3",children:[(0,g.jsx)(b,{className:(0,M.cn)("mt-0.5 size-4 shrink-0",function(a){switch(a){case"passed":return"text-emerald-600";case"failed":return"text-destructive";case"checking":return"text-muted-foreground animate-spin";default:return"text-muted-foreground"}}(a.status))}),(0,g.jsxs)("div",{className:(0,M.cn)(D.stackSm,"min-w-0 flex-1"),children:[(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),(0,g.jsx)("span",{className:"text-xs text-muted-foreground",children:function(a){switch(a){case"passed":return"Passed";case"failed":return"Failed";case"checking":return"Checking";default:return"Pending"}}(a.status)})]}),a.detail?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.detail}):null,"failed"===a.status&&a.action?(0,g.jsx)("p",{className:"text-sm text-foreground",children:a.action}):null]})]},a.id)})})}function hD({summary:a,checklistItems:b}){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Y,{title:"Overview",description:"Current harness setup state and active config source.",children:(0,g.jsxs)("dl",{className:E.twoColumnGrid,children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Config source"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSource.kind})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Source label"}),(0,g.jsx)("dd",{className:"text-sm font-medium break-all",children:a.configSource.label})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Local files present"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.overview.localFilesPresent?"Yes":"No"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Ready for CLI doctor"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.overview.readyForLocalDoctor?"Yes":"No"})]})]})}),(0,g.jsx)(Y,{title:"Local files",description:"Gitignored operator files used for local harness setup.",children:(0,g.jsx)("ul",{className:D.list,children:a.localFiles.map(a=>(0,g.jsxs)("li",{className:"flex items-center justify-between gap-4 rounded-md border border-border p-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground break-all",children:a.path})]}),(0,g.jsx)(P,{label:a.exists?"Present":"Missing",variant:a.exists?"success":"warning"})]},a.path))})}),a.configSummary?(0,g.jsxs)(Y,{title:"Config summary",description:"Parsed harness config metadata without secret values.",children:[(0,g.jsxs)("dl",{className:E.twoColumnGrid,children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Repo count"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.repoCount})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Linear team key"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.linearTeamKey??"Not set"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Model"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.model.resolvedModelId})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Model source"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.model.source})]})]}),(0,g.jsx)(ad,{}),(0,g.jsx)("ul",{className:D.list,children:a.configSummary.repos.map(a=>(0,g.jsxs)("li",{className:"rounded-md border border-border bg-muted/20 p-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.id}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.targetRepo}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.baseBranch," → ",a.productionBranch,a.previewProvider?` \xb7 ${a.previewProvider}`:""]})]},a.id))})]}):null,(0,g.jsx)(Y,{title:"Environment key presence",description:"Whether required keys are set in .env.local. Values are never displayed.",children:(0,g.jsx)("dl",{className:E.twoColumnGrid,children:Object.entries(a.envKeyPresence).map(([a,b])=>(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:a}),(0,g.jsx)("dd",{children:(0,g.jsx)(P,{label:b?"Set":"Missing",variant:b?"success":"warning"})})]},a))})}),(0,g.jsxs)(Y,{title:"Reference previews",description:"Read-only dry-run previews from setup core.",children:[(0,g.jsx)(aR,{title:".env.local reference preview",content:a.generatedPreviews.envLocal}),(0,g.jsx)(aR,{title:".harness/config.local.json reference preview",content:a.generatedPreviews.configLocal})]}),(0,g.jsx)(Y,{title:"Setup checklist",description:"Recommended next actions before a future first harness run.",children:(0,g.jsx)(hA,{items:b})}),(0,g.jsx)(Y,{title:"Doctor summary",description:a.doctor.remoteChecksNote,children:(0,g.jsx)(hB,{checks:a.doctor.checks})}),(0,g.jsx)(Y,{title:"Manual instructions",description:"Copy-paste setup guidance for local and remote setup.",children:a.instructionPreviews.map(a=>(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.reason}),(0,g.jsx)("ul",{className:"list-disc space-y-2 pl-5 text-sm text-muted-foreground",children:a.manualInstructions?.map(a=>(0,g.jsx)("li",{children:a},a))})]},a.actionId))})]})}function hE({title:a,children:b}){return(0,g.jsxs)("section",{className:C.sectionStack,children:[(0,g.jsx)("h3",{className:"text-base font-semibold",children:a}),b]})}function hF({summary:a,remoteSummary:b,readiness:c,formDefaults:d,onSummaryUpdated:e,onRemoteSummaryUpdated:f,onLocalUiStateChange:h,onRemoteUiStateChange:i}){return(0,g.jsxs)("div",{className:C.sectionStack,children:[(0,g.jsx)(hE,{title:"Phase 1 \xb7 Local setup",children:(0,g.jsx)(hm,{mode:"advanced",initialEnv:d.env,initialConfig:d.config,onSummaryUpdated:e,onUiStateChange:h})}),(0,g.jsx)(hE,{title:"Phase 2 \xb7 Local readiness",children:(0,g.jsx)(Y,{title:"Doctor summary",description:a.doctor.remoteChecksNote,children:(0,g.jsx)(hB,{checks:a.doctor.checks})})}),(0,g.jsx)(hE,{title:"Phase 3 \xb7 Remote setup",children:(0,g.jsx)(hv,{initialSummary:b,onSummaryUpdated:f,onUiStateChange:i,blockedByUpstream:c.remoteSetupBlockedByUpstream})}),(0,g.jsx)(hE,{title:"Phase 4 \xb7 Ready for first run",children:(0,g.jsx)(Y,{title:"Final readiness",description:"Confirms setup readiness without triggering a live harness run.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)(P,{label:c.readyForFirstRun?"Ready for first run":"Blocked for first run",variant:c.readyForFirstRun?"success":"warning"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:c.prohibitedActionsNote})]})})}),(0,g.jsx)(hE,{title:"Diagnostics and reference",children:(0,g.jsx)(hD,{summary:a,checklistItems:c.steps.map(a=>({id:a.id,label:a.label,detail:a.blockers[0]?.action??a.summary,status:"complete"===a.status?"complete":"blocked"===a.status?"blocked":"pending"}))})})]})}let hG="w-full rounded-md border border-input bg-background px-3 py-2 text-sm";function hH({readiness:a,initialSummary:b,linearApiKeyConfigured:c,onSummaryUpdated:d,onUiStateChange:e,onContinue:f}){let[i,j]=(0,h.useState)(b),[k,l]=(0,h.useState)("existing"),[m,n]=(0,h.useState)(i.controlPlane?.linear?.teamId??""),[o,p]=(0,h.useState)(i.controlPlane?.linear?.teamKey??""),[q,r]=(0,h.useState)(i.controlPlane?.linear?.teamName??""),[s,t]=(0,h.useState)("existing"),[u,v]=(0,h.useState)(i.controlPlane?.linear?.projectId??""),[w,x]=(0,h.useState)(i.controlPlane?.linear?.projectName??""),[y,z]=(0,h.useState)([]),[A,B]=(0,h.useState)([]),[C,E]=(0,h.useState)(!1),[G,H]=(0,h.useState)(null),[I,J]=(0,h.useState)(null),[L,M]=(0,h.useState)(!1),[N,O]=(0,h.useState)(!1),[Q,R]=(0,h.useState)(null),[S,T]=(0,h.useState)(null),[U,V]=(0,h.useState)(null),[W,X]=(0,h.useState)(null),[Z,$]=(0,h.useState)(!1),_=null!==I&&L,aa=c??i.linearApiKeyConfigured,ab=(0,h.useCallback)(()=>{$(!1),X(null)},[]),ac=(0,h.useCallback)(()=>{J(null),M(!1),ab()},[ab]),ad=(0,h.useCallback)(async()=>{if(aa){E(!0),H(null);try{let a=await fetch("/api/setup/linear-options"),b=await a.json();if(!a.ok)throw Error(b.error??"Failed to load Linear teams and projects");z(b.teams??[]),B(b.projects??[])}catch(a){z([]),B([]),H(a instanceof Error?a.message:"Failed to load Linear teams and projects")}finally{E(!1)}}},[aa]),ag=(0,h.useMemo)(()=>{if(!m)return A;let a=A.filter(a=>0===a.teamIds.length||a.teamIds.includes(m));return a.length>0?a:A},[A,m]),ah=(0,h.useCallback)(async()=>{R("refresh");try{let a=await fetch("/api/setup/linear-summary"),b=await a.json();if(!a.ok)throw Error(b.error??"Linear summary refresh failed");j(b),d?.(b)}catch(a){T(a instanceof Error?a.message:"Linear summary refresh failed")}finally{R(null)}},[d]),ai=(0,h.useCallback)(()=>({team:{mode:k,teamId:"existing"===k?m:void 0,teamKey:"create"===k?o:void 0,teamName:"create"===k?q:void 0},project:{mode:s,projectId:"existing"===s?u:void 0,projectName:"create"===s?w:void 0}}),[u,s,w,m,o,k,q]),aj=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-linear-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ai())}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return J(b),M(!0),b},[ai]),ak=(0,h.useCallback)(async()=>{R("preview"),T(null),V(null),ab(),O(!1);try{await aj()}catch(a){J(null),M(!1),V(a instanceof Error?a.message:"Preview failed")}finally{R(null)}},[ab,aj]),al=async()=>{if(N){R("apply"),T(null),ab();try{let a=_&&I?I:await aj();if(a.validationError)throw Error(a.validationError);let b=await fetch("/api/setup/apply-linear-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:ai(),confirmed:!0,fingerprint:a.fingerprint})}),c=await b.json();if(!b.ok)throw Error(c.error??"Apply failed");let e=c.apply;if(!e.verified)throw Error("Linear workspace apply finished, but post-apply verification did not pass.");X(e),j(c.summary),d?.(c.summary),$(!0),J(null),M(!1),O(!1),ad()}catch(a){T(a instanceof Error?a.message:"Apply failed")}finally{R(null)}}},am=Z||a.steps.find(a=>"linear-workspace"===a.id)?.status==="complete"||i.workspace.configured,an="existing"===k?!!m&&("existing"===s?!!u:!!w):!!(o&&q)&&("existing"===s?!!u:!!w);return(0,g.jsx)(Y,{title:`Step 2 of 7 \xb7 Set up Linear workspace`,description:"Choose or create the Linear team and project, then ensure issue workflow statuses exist for the team.",children:(0,g.jsx)("div",{className:D.stackSm,children:aa?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"linear-team-mode",children:"Team"}),(0,g.jsxs)("select",{id:"linear-team-mode",className:hG,value:k,onChange:a=>{l(a.target.value),ac()},children:[(0,g.jsx)("option",{value:"existing",children:"Use existing team"}),(0,g.jsx)("option",{value:"create",children:"Create new team"})]}),"existing"===k?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("select",{className:hG,value:m,onChange:a=>{n(a.target.value),v(""),ac()},disabled:C,children:[(0,g.jsx)("option",{value:"",children:"Select a team…"}),y.map(a=>(0,g.jsxs)("option",{value:a.id,children:[a.name," (",a.key,")"]},a.id))]}),C?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading Linear teams…"}):null,C||0!==y.length?null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"No Linear teams found for this API key."})]}):(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(ae,{placeholder:"Team name",value:q,onChange:a=>{r(a.target.value),ac()}}),(0,g.jsx)(ae,{placeholder:"Team key (e.g. ENG)",value:o,onChange:a=>{p(a.target.value),ac()}})]})]}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"linear-project-mode",children:"Project"}),(0,g.jsxs)("select",{id:"linear-project-mode",className:hG,value:s,onChange:a=>{t(a.target.value),ac()},children:[(0,g.jsx)("option",{value:"existing",children:"Use existing project"}),(0,g.jsx)("option",{value:"create",children:"Create new project"})]}),"existing"===s?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("select",{className:hG,value:u,onChange:a=>{v(a.target.value),ac()},disabled:C,children:[(0,g.jsx)("option",{value:"",children:"Select a project…"}),ag.map(a=>(0,g.jsx)("option",{value:a.id,children:a.name},a.id))]}),C?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading Linear projects…"}):null,C||0!==ag.length?null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"No Linear projects found for this API key."}),!C&&ag.length>0&&m&&A.some(a=>a.teamIds.length>0)&&ag.length===A.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Showing all workspace projects because team association could not be narrowed further."}):null]}):(0,g.jsx)(ae,{placeholder:"Project name",value:w,onChange:a=>{x(a.target.value),ac()}})]})]}),G?(0,g.jsx)("p",{className:"text-sm text-destructive",children:G}):null,(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[i.workspace.configured?(0,g.jsx)(P,{label:`Team ${i.workspace.teamKey} configured`,variant:"success"}):null,(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>void ak(),disabled:null!==Q,children:"preview"===Q?"Previewing…":"Preview Linear setup"}),(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void ah(),disabled:null!==Q,children:"Refresh"})]}),_&&I?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/10 p-3 text-sm space-y-2",children:[(0,g.jsxs)("p",{children:["Missing creatable statuses:"," ",I.missingStatuses.length>0?I.missingStatuses.join(", "):"none"]}),(0,g.jsxs)("p",{children:["Dispatch triggers: ",I.dispatchTriggerStatuses.join(", ")]}),I.manualSteps.length>0?(0,g.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:I.manualSteps.map(a=>(0,g.jsx)("li",{children:a},a))}):null,U?(0,g.jsx)("p",{className:"text-destructive",children:U}):null]}):null,(0,g.jsx)(ht,{scope:"linear-write",variant:"guided",confirmed:N,disabled:null!==Q||!an,disabledReason:an?void 0:"Select or enter the Linear team and project before confirming.",onConfirmedChange:O}),Z?null:(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:()=>void al(),disabled:null!==Q||!N||!an||!!I?.validationError,children:"apply"===Q?"Applying…":"Apply Linear workspace setup"})}),S?(0,g.jsx)(aX,{success:!1,message:S}):null,Z&&W?(0,g.jsx)(aX,{success:!0,message:`Linear workspace verified. Created: ${W.created.join(", ")||"none"}. Reused: ${W.skipped.join(", ")||"none"}.`}):null,am?(0,g.jsx)(K.$,{type:"button",onClick:f,children:"Continue to Vercel bridge"}):null]}):(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Add your Linear API key in Step 1 before configuring the Linear workspace."})})})}async function hI(a,b){let c=await a.text();if(!c.trim())throw Error(`Setup request failed: ${b} returned HTTP ${a.status} with an empty response body`);try{return JSON.parse(c)}catch{throw Error(`Setup request failed: ${b} returned HTTP ${a.status} with an invalid JSON body`)}}let hJ="Vercel production redeploy is in progress. Wait for verification to finish before changing settings.",hK="w-full rounded-md border border-input bg-background px-3 py-2 text-sm";function hL({readiness:a,initialSummary:b,onSummaryUpdated:c,onUiStateChange:d,onContinue:e}){var f;let[i,j]=(0,h.useState)(b),[k,l]=(0,h.useState)([]),[m,n]=(0,h.useState)([]),[o,p]=(0,h.useState)({teamCreate:!0,projectCreate:!0}),[q,r]=(0,h.useState)("existing"),[s,t]=(0,h.useState)(i.controlPlane?.vercel?.teamId??""),[u,v]=(0,h.useState)(""),[w,x]=(0,h.useState)(""),[y,z]=(0,h.useState)("existing"),[A,B]=(0,h.useState)(i.controlPlane?.vercel?.projectId??""),[C,E]=(0,h.useState)(""),[G,H]=(0,h.useState)(i.linearTeamKey??""),[I,J]=(0,h.useState)(!1),[L,M]=(0,h.useState)(""),[N,O]=(0,h.useState)(null),[P,Q]=(0,h.useState)(!1),[R,S]=(0,h.useState)(null),[T,U]=(0,h.useState)(!1),[V,W]=(0,h.useState)(!1),[X,Z]=(0,h.useState)(null),[$,_]=(0,h.useState)(null),[aa,ab]=(0,h.useState)(null),[ac,ad]=(0,h.useState)(null),[ag,ah]=(0,h.useState)(null),[ai,aj]=(0,h.useState)(!1),[ak,al]=(0,h.useState)(!1),[am,an]=(0,h.useState)(null),[ao,ap]=(0,h.useState)(!1),aq=(f={setupPending:ai,pollActionId:ag}).setupPending||!!f.pollActionId,ar=aq||null!==X,as=null!==R&&T,at=(0,h.useCallback)(async a=>{Q(!0),O(null);try{let b=void 0!==a?`?teamId=${encodeURIComponent(a)}`:"",c=await fetch(`/api/setup/vercel-bridge-options${b}`),d=await c.json();if(!c.ok)throw Error(d.error??d.loadError??"Failed to load Vercel options");l(d.scopes??[]),n(d.projects??[]),p(d.capabilities??{teamCreate:!0,projectCreate:!0}),d.harnessTeamKey&&H(d.harnessTeamKey),J(!d.githubDispatch.eligible),void 0===a&&void 0!==d.selectedScopeId&&t(d.selectedScopeId),B(a=>d.projects.some(b=>b.id===a)?a:d.selectedProjectId??""),d.loadError&&O(d.loadError)}catch(a){O(a instanceof Error?a.message:"Failed to load Vercel settings options")}finally{Q(!1)}},[]),au=(0,h.useCallback)(async()=>{Z("refresh");try{let a=await fetch("/api/setup/vercel-summary"),b=await a.json();if(!a.ok)throw Error(b.error??"Vercel summary refresh failed");j(b),c?.(b)}catch(a){_(a instanceof Error?a.message:"Vercel summary refresh failed")}finally{Z(null)}},[c]),av=(0,h.useCallback)(a=>{aq&&a?.force!==!0||(S(null),U(!1),al(!1),ad(null),ah(null),aj(!1),an(null),ap(!1))},[aq]),aw=(0,h.useCallback)(()=>({team:{mode:q,teamId:"existing"===q?s:void 0,teamName:"create"===q&&u||void 0,teamSlug:"create"===q&&w||void 0},project:{mode:y,projectId:"existing"===y&&A||void 0,projectName:"create"===y&&C||void 0},teamId:"existing"===q&&s||void 0,projectId:"existing"===y&&A||void 0,projectName:"create"===y&&C||void 0,linearTeamId:i.controlPlane?.linear?.teamId,envInput:{GITHUB_DISPATCH_TOKEN:I&&L||void 0,HARNESS_TEAM_KEY:G||void 0}}),[L,G,A,y,C,I,i.controlPlane?.linear?.teamId,s,q,u,w]),ax=(0,h.useCallback)(async(a,b)=>{if(ad(a),"deployment-required"===a.status){_(a.deploymentRequired?.message??"Deployment required before applying settings."),al(!1),aj(!1),ah(null),at("existing"===q?s:void 0),S(null),U(!1),W(!1);return}j(b),c?.(b),al(a.verified),aj(!!a.setupPending),ah(a.pollActionId??null),a.linearWebhookSetup.manualCopySecret?(an(a.linearWebhookSetup.manualCopySecret),ap(!1)):an(null),S(null),U(!1),W(!1),at("existing"===q?s:void 0)},[at,c,s,q]);(0,h.useCallback)(async()=>{if(ag){Z("poll"),_(null);try{let a=await fetch("/api/setup/vercel-bridge-redeploy-status",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({actionId:ag})}),b=await hI(a,"POST /api/setup/vercel-bridge-redeploy-status");if(!a.ok)throw Error(b.error??"Redeploy status check failed");let c=b.apply;await ax(c,b.summary),(c.verified&&c.signedProbeVerified||!c.setupPending&&(c.setupBlocked||"failed"===c.productionRedeployStatus||"timeout"===c.productionRedeployStatus||"no_source_deployment"===c.productionRedeployStatus))&&(aj(!1),ah(null))}catch(a){_(a instanceof Error?a.message:"Redeploy status check failed"),aj(!1)}finally{Z(null)}}},[ax,ag]);let ay=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-vercel-bridge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(aw())}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return S(b),U(!0),b},[aw]),az=(0,h.useCallback)(async()=>{if(!aq){Z("preview"),_(null),ab(null),av(),W(!1);try{await ay()}catch(a){S(null),U(!1),ab(a instanceof Error?a.message:"Preview failed")}finally{Z(null)}}},[av,aq,ay]),aA=async a=>{if((!aq||a?.verifyOnly)&&(V||a?.verifyOnly)){Z("apply"),_(null),a?.verifyOnly||av();try{let b=as&&R?R:await ay();if(b.validationError)throw Error(b.validationError);let c=await fetch("/api/setup/apply-vercel-bridge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:aw(),confirmed:!0,fingerprint:b.fingerprint,verifyOnly:a?.verifyOnly===!0})}),d=await hI(c,"POST /api/setup/apply-vercel-bridge");if(!c.ok)throw Error(d.error??"Apply failed");await ax(d.apply,d.summary)}catch(a){_(a instanceof Error?a.message:"Apply failed")}finally{Z(null)}}},aB="existing"===q?!!G&&("existing"===y?!!A:!!C):!!(w&&G)&&("existing"===y?!!A:!!C),aC=ak&&ac?.signedProbeVerified===!0||i.readiness.ready;return(0,g.jsx)(Y,{title:`Step 3 of 7 \xb7 Configure Vercel settings`,description:"Choose the Vercel team and project this setup should use for automation and preview checks. Env var presence alone is not enough; the bridge must pass signed delivery verification against production.",children:(0,g.jsx)("div",{className:D.stackSm,children:i.vercelTokenConfigured?(0,g.jsxs)(g.Fragment,{children:[aq?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:hJ}):null,(0,g.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"vercel-team-mode",children:"Vercel team name"}),o.teamCreate?(0,g.jsxs)("select",{id:"vercel-team-mode",className:hK,value:q,onChange:a=>{aq||(r(a.target.value),av())},disabled:ar,children:[(0,g.jsx)("option",{value:"existing",children:"Use existing team"}),(0,g.jsx)("option",{value:"create",children:"Create new team"})]}):null,"existing"===q?(0,g.jsx)("select",{id:"vercel-team-name",className:hK,value:s,onChange:a=>{aq||(t(a.target.value),B(""),av(),at(a.target.value))},disabled:ar||P,children:k.map(a=>(0,g.jsx)("option",{value:a.id,children:a.label},a.id||"personal"))}):(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(ae,{placeholder:"Team name",value:u,onChange:a=>{aq||(v(a.target.value),av())},disabled:ar}),(0,g.jsx)(ae,{placeholder:"Team slug",value:w,onChange:a=>{aq||(x(a.target.value),av())},disabled:ar})]})]}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"vercel-project-mode",children:"Vercel project"}),o.projectCreate?(0,g.jsxs)("select",{id:"vercel-project-mode",className:hK,value:y,onChange:a=>{aq||(z(a.target.value),av())},disabled:ar,children:[(0,g.jsx)("option",{value:"existing",children:"Use existing project"}),(0,g.jsx)("option",{value:"create",children:"Create new project"})]}):null,"existing"===y?(0,g.jsxs)("select",{id:"vercel-project-id",className:hK,value:A,onChange:a=>{aq||(B(a.target.value),av())},disabled:ar||P||0===m.length,children:[(0,g.jsx)("option",{value:"",children:"Select a project…"}),m.map(a=>(0,g.jsx)("option",{value:a.id,children:a.name},a.id))]}):(0,g.jsx)(ae,{placeholder:"Project name",value:C,onChange:a=>{aq||(E(a.target.value),av())},disabled:ar})]})]}),P?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading Vercel teams and projects…"}):null,N?(0,g.jsx)("p",{className:"text-sm text-destructive",children:N}):null,I?(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"github-dispatch-token",children:"GITHUB_DISPATCH_TOKEN override"}),(0,g.jsx)(ae,{id:"github-dispatch-token",type:"password",value:L,onChange:a=>{aq||(M(a.target.value),av())},disabled:ar})]}):null,(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void az(),disabled:ar||!aB,children:"preview"===X?"Previewing…":"Preview Vercel settings"}),(0,g.jsx)(K.$,{type:"button",variant:"ghost",onClick:()=>void au(),disabled:ar,children:"Refresh"})]}),as&&R?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/10 p-3 text-sm space-y-2",children:[(0,g.jsxs)("p",{children:["Webhook URL: ",R.webhookUrl??"unknown"]}),(0,g.jsxs)("p",{children:["Endpoint reachable:"," ",R.endpointReachable?"yes":"no"]}),(0,g.jsxs)("p",{children:["GitHub dispatch source: ",R.githubDispatchSource??"unknown"]}),(0,g.jsxs)("p",{children:["Linear webhook secret mode:"," ",R.linearWebhookSecretMode??"unknown"]}),(0,g.jsx)("p",{className:"text-muted-foreground",children:"Preview does not run signed verification. Apply writes the webhook secret and runs a signed production probe after env setup."}),(0,g.jsxs)("p",{children:["Signed probe verified:"," ",R.signedProbeVerified?"yes":"no (runs on apply)"]}),"ready"!==R.deploymentStatus?(0,g.jsxs)("p",{className:"text-amber-700 dark:text-amber-400",children:["Deployment status: ",R.deploymentStatus]}):null,R.manualSteps.length>0?(0,g.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:R.manualSteps.map(a=>(0,g.jsx)("li",{children:a},a))}):null,aa?(0,g.jsx)("p",{className:"text-destructive",children:aa}):null]}):null,(0,g.jsx)(ht,{scope:"vercel-bridge-write",variant:"guided",confirmed:V,disabled:ar||!aB,disabledReason:aq?hJ:aB?"create"===q?"This will create provider resources in Vercel when you apply.":void 0:"Select or enter the Vercel team and project before confirming.",onConfirmedChange:a=>{aq||W(a)}}),ak?null:(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:()=>void aA(),disabled:ar||!V||!aB||!!R?.validationError,children:"apply"===X?"Applying Vercel settings…":"poll"===X?"Waiting for production redeploy…":"Apply Vercel Settings"}),aq||!ac||ac.setupPending||ac.verified&&ac.signedProbeVerified||!ac.setupBlocked&&(!ac.deploymentRedeployRequired||ac.signedProbeVerified)&&(!ac.productionRedeployTriggered||"ready"!==ac.productionRedeployStatus||ac.signedProbeVerified)?null:(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aA({verifyOnly:!0}),disabled:null!==X||!aB,children:"apply"===X?"Verifying…":"Retry verification"})]}),ac?.orchestrationSteps?.length||ai?(0,g.jsxs)("ul",{className:"list-disc pl-5 text-sm text-muted-foreground",children:[ac?.orchestrationSteps?.map(a=>(0,g.jsxs)("li",{children:[a.message,"failed"===a.status?" (failed)":""]},`${a.phase}-${a.status}`)),ai?(0,g.jsx)("li",{children:"poll"===X?"Checking Vercel deployment status…":"Waiting for Vercel deployment READY…"}):null]}):null,$?(0,g.jsx)(aX,{success:!1,message:$}):null,ac?(0,g.jsx)(aX,{success:ac.verified,message:function(a){if("deployment-required"===a.status)return`${a.deploymentRequired?.message??"Deployment required."} ${a.deploymentRequired?.nextSteps.join(" ")??""}`;let b=[`Vercel team: ${a.team?.outcome??"unchanged"} ${a.team?.name??""}.`,`Vercel project: ${a.project?.outcome??"unchanged"} ${a.project?.name??a.projectName}.`,`Env vars written: ${a.writtenEnvKeys.join(", ")||"none"}.`,`Linear webhook setup: ${a.linearWebhookSetup.mode}.`,`Signed probe: ${a.signedProbeVerified?"passed":"failed"}${a.signedProbeReason?` (${a.signedProbeReason})`:""}.`];return a.productionRedeployTriggered&&b.push(`Production redeploy: ${a.productionRedeployStatus??"unknown"}.`),a.setupBlocked?(b.push(a.setupBlocked.message),a.setupBlocked.nextSteps.length>0&&b.push(a.setupBlocked.nextSteps.join(" "))):!a.deploymentRedeployRequired||a.signedProbeVerified||a.productionRedeployTriggered||b.push("Redeploy production in Vercel, then use Retry verification (this will not rotate secrets or rewrite env vars)."),b.join(" ")}(ac)}):null,am?(0,g.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-500/5 p-3 text-sm space-y-2",children:[(0,g.jsx)("p",{className:"font-medium",children:"Manual Linear webhook secret (one-time)"}),(0,g.jsx)("p",{className:"text-muted-foreground",children:"Copy this secret into the Linear webhook signing secret field. Manual acknowledgement does not verify the bridge; signed delivery verification must pass after you apply again."}),(0,g.jsx)(ae,{readOnly:!0,value:am}),(0,g.jsxs)("label",{className:"flex items-center gap-2",children:[(0,g.jsx)("input",{type:"checkbox",checked:ao,onChange:a=>ap(a.target.checked)}),"I copied the webhook secret into Linear."]}),ac?.linearWebhookSetup.manualSteps.length?(0,g.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:ac.linearWebhookSetup.manualSteps.map(a=>(0,g.jsx)("li",{children:a},a))}):null]}):null,aC?(0,g.jsx)(K.$,{type:"button",onClick:e,children:"Continue to target repo setup"}):null]}):(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Add VERCEL_TOKEN in Step 1 before configuring Vercel settings."})})})}function hM({readiness:a,onContinue:b}){let[c,d]=(0,h.useState)([]),[e,f]=(0,h.useState)(!0),[i,j]=(0,h.useState)(null),[k,l]=(0,h.useState)(!1),m=(0,h.useCallback)(async()=>{f(!0),j(null),l(!1),d([]);try{let a=await fetch("/api/setup/local-readiness"),b=await a.json();if(!a.ok)throw Error(b.error??"Local readiness check failed");let c=b.checks;d(c.map(a=>({id:a.id,label:a.label,status:"checking"}))),await new Promise(a=>setTimeout(a,0)),d(c.map(a=>({id:a.id,label:a.label,status:"passed"===a.status?"passed":"failed",detail:a.detail,action:a.action}))),l(!!b.allPassed)}catch(a){j(a instanceof Error?a.message:"Could not run local readiness checks"),d([])}finally{f(!1)}},[]),n=k&&!e&&!a.localReadinessReviewed;return(0,g.jsx)(Y,{title:`Step 5 of 7 \xb7 Check local readiness`,description:"We're checking whether this machine is ready for remote setup.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[e&&0===c.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Running local readiness checks…"}):null,i?(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm text-destructive",children:i}),(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void m(),children:"Retry checks"})]}):null,c.length>0?(0,g.jsx)(hC,{checks:c}):null,k&&!e?(0,g.jsx)("p",{className:"text-sm font-medium text-emerald-700",children:"Local readiness passed."}):null,n?(0,g.jsx)(K.$,{type:"button",onClick:b,children:"Continue to cloud secrets"}):null]})})}function hN(a){return a.current+=1,a.current}function hO(a,b){return b===a.current}function hP({open:a,onOpenChange:b,isLoading:c,previewError:d,preview:e,previewIsCurrent:f}){return(0,g.jsxs)("details",{open:a,className:"rounded-md border border-border bg-background p-3",children:[(0,g.jsx)("summary",{className:"cursor-pointer text-sm font-medium",onClick:c=>{c.preventDefault(),b(!a)},children:"Review generated secrets (optional)"}),(0,g.jsx)("div",{className:"mt-3 space-y-3",children:c?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generating redacted cloud secrets preview…"}),(0,g.jsxs)("div",{className:"space-y-2","aria-hidden":"true",children:[(0,g.jsx)(aV,{className:"h-4 w-[60%]"}),(0,g.jsx)(aV,{className:"h-24 w-full"})]})]}):d?(0,g.jsx)("p",{className:"text-sm text-destructive",children:d}):(0,g.jsx)(hr,{harnessSecretPreview:f?e:void 0})})]})}function hQ(a){let b=k(a.harnessSecretStatuses);if(b.allPresent)return"All required GitHub Actions secrets are present in the harness repo.";let c=[];return b.missing.length>0&&c.push(`Missing: ${b.missing.join(", ")}`),b.unknown.length>0&&c.push(`Unknown: ${b.unknown.join(", ")}`),c.join(". ")}function hR({blocker:a}){return(0,g.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/30 bg-destructive/5 p-4",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.message}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.action})]})}async function hS(a){if("undefined"!=typeof navigator&&navigator.clipboard?.writeText)return void await navigator.clipboard.writeText(a);throw Error("Clipboard is not available in this browser.")}function hT({readiness:a,setupSummary:b,controlPlaneContext:c,remoteSecretPreviewStale:d=!1,cloudSecretsApplyEvidence:e,initialSummary:f,onSummaryUpdated:i,onUiStateChange:k,onContinue:l,blockedByUpstream:m=!1,onGoToHarnessRepo:o,onGoToConnectServices:p}){let[q,r]=(0,h.useState)(f),[s,t]=(0,h.useState)(null),[y,A]=(0,h.useState)(!1),[B,C]=(0,h.useState)(null),[E,G]=(0,h.useState)(!1),[H,I]=(0,h.useState)(!1),[J,L]=(0,h.useState)(!1),[M,N]=(0,h.useState)(null),[O,P]=(0,h.useState)(null),[Q,R]=(0,h.useState)(null),[S,T]=(0,h.useState)(null),[U,V]=(0,h.useState)(!1),[W,X]=(0,h.useState)(!1),[Z,$]=(0,h.useState)(!1),[_,aa]=(0,h.useState)(null),[ab,ac]=(0,h.useState)(!1),[ad,ae]=(0,h.useState)(null),[ag,ah]=(0,h.useState)(null),[ai,aj]=(0,h.useState)(null),[ak,al]=(0,h.useState)(null),am=(0,h.useRef)({current:0});(0,h.useRef)(!1);let an=(0,h.useMemo)(()=>n({setupSummary:b,controlPlaneContext:c}),[b,c]),ao=(0,h.useCallback)((a,b)=>{var c,d;hO((d=c={tracker:am.current,revision:b,summary:a,install:a=>{r(a),i?.(a)}}).tracker,d.revision)&&c.install(c.summary)},[i]),ap=(0,h.useCallback)(async(a="manual")=>{let b=hN(am.current);N("mount"===a?"mount-refresh":"refresh"),"mount"===a?al(null):P(null);try{let a=await fetch("/api/setup/remote-summary"),c=await a.json();if(!a.ok)throw Error(c.error??"Remote summary refresh failed");if(!hO(am.current,b))return null;return ao(c,b),c}catch(d){if(!hO(am.current,b))return null;let c=d instanceof Error?d.message:"Remote summary refresh failed";return"mount"===a?al(c):P(c),null}finally{hO(am.current,b)&&N(null)}},[ao]),aq=null!==B&&E,ar=(0,h.useMemo)(()=>q.githubTokenConfigured?q.harnessDispatchRepoResolved?"denied"===q.harnessRepoAccess?{allowed:!1,reason:`Blocked: GitHub denied access to ${q.harnessDispatchRepo}.`,action:"Return to Step 4 to correct the harness repo, or update GITHUB_TOKEN permissions in Step 1 and verify again.",route:"step4-harness-repo"}:"available"!==q.harnessRepoAccess?{allowed:!1,reason:"Blocked: Harness repo access could not be verified yet.",action:"Return to Step 4 and use Verify and use harness repo, then refresh cloud secrets setup.",route:"step4-harness-repo"}:{allowed:!0}:{allowed:!1,reason:"Blocked: Harness dispatch repo could not be resolved.",action:"Return to Step 4, enter your harness repo, and use Verify and use harness repo.",route:"step4-harness-repo"}:{allowed:!1,reason:"Blocked: GITHUB_TOKEN is required for cloud secrets setup.",action:"Add GITHUB_TOKEN in Step 1, then return to cloud secrets setup.",route:"connect-services"},[q]),as=m||!ar.allowed,at=m?"Fix harness repo access in local setup before cloud secrets can be configured.":ar.reason,au=m?"Return to Step 4 and verify your harness repo, then refresh.":ar.action,av=q.harnessSecretStatuses.some(a=>"missing"===a.status),aw=(0,h.useMemo)(()=>(function(a){var b;let c=(b=a?.harnessRepo,b?.trim()||"<harness-dispatch-repo>");return{summary:`Manual GitHub Actions secret setup for ${c}.`,steps:[`Open GitHub repository settings for ${c}.`,"Navigate to Settings → Secrets and variables → Actions.","Create or update these secret names: HARNESS_CONFIG_JSON_B64, LINEAR_API_KEY, CURSOR_API_KEY, HARNESS_GITHUB_TOKEN.","Set HARNESS_CONFIG_JSON_B64 from the base64-encoded full private harness config.","Set LINEAR_API_KEY, CURSOR_API_KEY, and HARNESS_GITHUB_TOKEN from your operator credentials.","Never print secret values in logs, docs, PR comments, or generated setup previews."]}})({harnessRepo:q.harnessDispatchRepo}).steps,[q.harnessDispatchRepo]),ax=(0,h.useCallback)(()=>{C(null),G(!1),R(null),T(null),V(!1),L(!1),I(!1),P(null)},[]),ay=(0,h.useCallback)(()=>{aa(null),ac(!1),ae(null),ah(null),X(!1),aj(null)},[]),az=(0,h.useCallback)(a=>{t(a),"automatic"===a?ay():ax()},[ax,ay]),aA=(0,h.useCallback)(()=>{aa(null),ac(!1),ae(null),aj(null)},[]),aB=(0,h.useCallback)((a,b)=>{A(!0),k?.({remoteSecretPreviewStale:!1}),"automatic"===a?(V(!0),b&&k?.({remoteSecretPreviewStale:!1,cloudSecretsApplyEvidence:b})):X(!0)},[k]),aC=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return C(b),G(!0),b},[]),aD=(0,h.useCallback)(async()=>{N("preview"),P(null),R(null),T(null),V(!1),L(!1);try{await aC()}catch(a){C(null),G(!1),R(a instanceof Error?a.message:"Preview failed")}finally{N(null)}},[aC]),aE=(0,h.useCallback)(a=>{as||(I(a),a&&!aq&&"preview"!==M&&aD())},[aD,M,aq,as]),aF=async()=>{if(!J||as||"apply"===M)return;let a=hN(am.current);N("apply"),P(null),V(!1);try{let b=aq&&B?B:await aC();if(b.validationError)throw Error(b.validationError);let c=await fetch("/api/setup/apply-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmed:!0,fingerprint:b.fingerprint})}),d=await c.json();if(!c.ok)throw Error(d.error??"Apply failed");if(!hO(am.current,a))return;let e=d.summary,f=d.apply,g=d.evidence;T(f),ao(e,a),C(null),G(!1),L(!1),I(!1),v(e)?aB("automatic",g):P(`Write request completed, but verification failed: ${hQ(e)}. Refresh or retry.`)}catch(b){if(!hO(am.current,a))return;P(b instanceof Error?b.message:"Apply failed")}finally{hO(am.current,a)&&N(null)}},aG=async()=>{if(!as){if(!Z)return void ae("Confirm the sensitivity warning before generating manual copy values.");N("manual-values"),ae(null),aj(null);try{let a=await fetch("/api/setup/manual-harness-secret-values",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmedSensitiveReveal:!0})}),b=await a.json();if(!a.ok)throw Error(b.error??"Manual value generation failed");aa(b),ac(!1),b.missing.length>0&&ae(`Some values are unavailable locally: ${b.missing.join(", ")}`)}catch(a){aA(),ae(a instanceof Error?a.message:"Manual value generation failed")}finally{N(null)}}},aH=async()=>{if(!as){N("manual-verify"),ah(null),X(!1);try{let a=await ap("manual");if(!a)return;v(a)?(aB("manual"),ah(hQ(a)),aA()):ah(hQ(a))}finally{N(null)}}},aI=async(a,b)=>{if(!b)return void aj(`${a} is not available to copy.`);try{await hS(b),aj(`Copied ${a} to clipboard.`)}catch(b){aj(b instanceof Error?b.message:`Could not copy ${a}.`)}},aJ=(0,h.useMemo)(()=>(function(a){var b;let c=v(a.summary),d=a.previewStaleCleared??!1,e={...a.uiState,remoteSecretPreviewStale:!d&&a.uiState?.remoteSecretPreviewStale},f=z({blockers:u(a.setupSummary,a.summary,e,a.staleSmokeDiagnostics,a.controlPlaneContext).blockers,evidence:(b={postApplyVerificationReady:c,previewStaleCleared:d,evidence:a.uiState?.cloudSecretsApplyEvidence,currentConfigStateFingerprint:n({setupSummary:a.setupSummary,controlPlaneContext:a.controlPlaneContext})}).evidence,currentConfigStateFingerprint:b.currentConfigStateFingerprint,previewStaleCleared:b.previewStaleCleared,postApplyVerificationReady:b.postApplyVerificationReady});return{canContinue:c&&a.localReadinessComplete&&0===f.length,postApplyVerificationReady:c,blockers:f}})({summary:q,setupSummary:b,localReadinessComplete:a.localReadinessComplete,uiState:{remoteSecretPreviewStale:d,cloudSecretsApplyEvidence:e},staleSmokeDiagnostics:a.staleSmokeDiagnostics,controlPlaneContext:c,previewStaleCleared:y}),[q,b,a.localReadinessComplete,a.staleSmokeDiagnostics,d,e,c,y]),aK=x({evidence:e,currentConfigStateFingerprint:an,harnessDispatchRepo:q.harnessDispatchRepo}),aL=function(a){if("automatic"!==a.setupType||"apply"===a.loading)return{kind:"idle"};if(a.applyError)return{kind:"apply-failed",message:a.applyError,showRetry:!0};let b=x({evidence:a.cloudSecretsApplyEvidence,currentConfigStateFingerprint:a.currentConfigStateFingerprint,harnessDispatchRepo:a.harnessDispatchRepo});return a.verifiedAutomaticSuccess||a.applyResult&&b?a.cloudSecretsApplyEvidence&&w({evidence:a.cloudSecretsApplyEvidence,currentConfigStateFingerprint:a.currentConfigStateFingerprint,harnessDispatchRepo:a.harnessDispatchRepo})?{kind:"stale-after-apply",message:"Local or control-plane config changed after the last automatic secret write. Preview and apply again to refresh HARNESS_CONFIG_JSON_B64.",showRetry:!0,primaryBlocker:a.eligibility.blockers.find(a=>"cloud-secrets-stale-linear-config"===a.id)}:a.eligibility.postApplyVerificationReady?a.eligibility.canContinue?{kind:"success",message:"Encrypted GitHub Actions secrets were created or updated successfully.",canContinue:!0}:{kind:"success-blocked",message:"Automatic secret write succeeded, but Step 6 is not ready to continue yet.",primaryBlocker:a.eligibility.blockers[0],showRefresh:!0,showRetry:!0}:{kind:"verification-inconclusive",message:"Write request completed, but remote secret verification is not ready yet. Refresh or retry.",showRefresh:!0,showRetry:!0}:{kind:"idle"}}({setupType:s,loading:M,applyError:O,applyResult:S,verifiedAutomaticSuccess:U,cloudSecretsApplyEvidence:e,eligibility:aJ,currentConfigStateFingerprint:an,harnessDispatchRepo:q.harnessDispatchRepo}),aM=as?at:B?.validationError?"Fix validation errors before confirming this write.":void 0,aN=aM??(J?"success"===aL.kind?"Automatic secret write already verified for the current config.":void 0:"Confirm the GitHub Actions secret write before applying."),aO=("automatic"===s&&(U||aK)||"manual"===s&&W)&&aJ.canContinue&&!a.cloudSecretsReviewed&&!M&&!as,aP=W&&null!==ag&&aJ.canContinue,aQ=W&&null!==ag&&!aJ.canContinue,aR=aJ.blockers[0],aS=null!==M||!J||!!B?.validationError||as||"success"===aL.kind;return(0,g.jsx)(Y,{title:`Step 6 of 7 \u00b7 Connect cloud secrets`,description:"Your local setup is ready. Choose automatic GitHub Actions secret setup or manual setup in GitHub, then verify before continuing.",children:(0,g.jsxs)("div",{className:D.stackSm,children:["mount-refresh"===M?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Refreshing harness repo and secret status…"}):null,ak?(0,g.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/30 bg-destructive/5 p-4",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:ak}),(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void ap("mount"),disabled:null!==M,children:"Retry refresh"})]}):null,as?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/30 bg-destructive/5 p-4",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:at}),au?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:au}):null]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:["step4-harness-repo"===ar.route&&o?(0,g.jsx)(K.$,{type:"button",onClick:o,children:"Go to Step 4 harness repo"}):null,"connect-services"===ar.route&&p?(0,g.jsx)(K.$,{type:"button",onClick:p,children:"Go to Step 1 services"}):null,(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void ap("manual"),disabled:null!==M,children:"refresh"===M?"Refreshing…":"Refresh"})]})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("fieldset",{className:"space-y-3",children:[(0,g.jsx)("legend",{className:"text-sm font-medium",children:"Setup type"}),(0,g.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-6",children:[(0,g.jsxs)("div",{className:"flex items-center gap-3",children:[(0,g.jsx)(aT,{id:"setup-type-automatic",type:"radio",name:"cloud-secrets-setup-type",checked:"automatic"===s,onChange:()=>az("automatic")}),(0,g.jsx)(af,{htmlFor:"setup-type-automatic",className:"text-sm",children:"Automatic setup"})]}),(0,g.jsxs)("div",{className:"flex items-center gap-3",children:[(0,g.jsx)(aT,{id:"setup-type-manual",type:"radio",name:"cloud-secrets-setup-type",checked:"manual"===s,onChange:()=>az("manual")}),(0,g.jsx)(af,{htmlFor:"setup-type-manual",className:"text-sm",children:"Manual setup"})]})]})]}),"automatic"===s?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/10 p-4 space-y-4",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:"Automatic setup"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Write encrypted GitHub Actions secrets to the harness repo through the GitHub API. Preview is optional; preflight runs before apply when you skip preview."})]}),(0,g.jsx)(hP,{open:H,onOpenChange:aE,isLoading:"preview"===M,previewError:Q??void 0,preview:B??void 0,previewIsCurrent:aq}),(0,g.jsx)(ht,{scope:"remote-secret-write",variant:"guided",confirmed:J,disabled:as||!!B?.validationError,disabledReason:aM,onConfirmedChange:L}),(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:()=>void aF(),disabled:aS,variant:"success"===aL.kind?"outline":"default",children:"apply"===M?"Writing secrets…":av?"Create encrypted GitHub Actions secrets":"Update encrypted GitHub Actions secrets"}),aL.showRefresh?(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void ap("manual"),disabled:null!==M,children:"refresh"===M?"Refreshing…":"Refresh"}):null,aL.showRetry?(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aD(),disabled:null!==M,children:"preview"===M?"Refreshing preview…":"Preview again"}):null]}),aN&&!as?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:aN}):null]}):null,"manual"===s?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-background p-4 space-y-4",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:"Manual setup"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Create or update the required GitHub Actions secrets yourself in the harness repo, then run verify-only checks here."})]}),(0,g.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:aw.map(a=>(0,g.jsx)("li",{children:a},a))}),(0,g.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-3 space-y-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium text-destructive",children:"Sensitive values warning"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Manual copy values are secret. Do not paste them into logs, PRs, issues, screenshots, chat, or saved notes."}),(0,g.jsxs)("div",{className:"flex items-start gap-3",children:[(0,g.jsx)(aT,{id:"manual-values-warning",checked:Z,onChange:a=>$(a.target.checked)}),(0,g.jsx)(af,{htmlFor:"manual-values-warning",className:"text-sm leading-snug",children:"I understand these values are sensitive and will handle them carefully."})]})]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aG(),disabled:null!==M||!Z,children:"manual-values"===M?"Generating manual copy values…":"Generate manual copy values"}),_?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>ac(a=>!a),children:ab?"Hide values":"Show values"}),(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:aA,children:"Clear values"})]}):null]}),ad?(0,g.jsx)("p",{className:"text-sm text-destructive",children:ad}):null,ai?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:ai}):null,_?(0,g.jsx)("div",{className:"space-y-3",children:j.map(a=>{let b=_.values[a];return(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border p-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a}),ab&&b?(0,g.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:b}):(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:b?"Value ready to copy.":"Value unavailable locally."})]}),(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",disabled:!b,onClick:()=>void aI(a,b),children:"Copy value"})]},a)})}):null,(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"GitHub does not allow secret values to be read back. Verify-only confirms required secret names exist and the harness repo is reachable; it cannot prove the values match your local config or keys."}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aH(),disabled:null!==M,children:"manual-verify"===M?"Verifying manual setup…":"Verify manual setup"})}),ag&&!W?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:ag}):null]}):null,"apply-failed"===aL.kind||"verification-inconclusive"===aL.kind?(0,g.jsx)(aX,{success:!1,message:aL.message??"Automatic apply failed."}):null,"success"===aL.kind?(0,g.jsx)(aX,{success:!0,message:aL.message??"Automatic apply succeeded."}):null,"stale-after-apply"===aL.kind?(0,g.jsx)(aX,{success:!1,message:aL.message??"Config changed after apply."}):null,"success-blocked"===aL.kind&&aL.primaryBlocker?(0,g.jsx)(hR,{blocker:aL.primaryBlocker}):null,aP?(0,g.jsx)(aX,{success:!0,message:ag}):null,aQ&&aR?(0,g.jsx)(hR,{blocker:aR}):null,aO?(0,g.jsx)(K.$,{type:"button",onClick:l,children:"Continue to target workflow"}):null]})]})})}function hU({finalization:a,onRetry:b,retrying:c=!1}){var d;let e="blocked"===a.lifecycle,f="complete"===a.lifecycle;return(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 p-4 space-y-3",children:[(0,g.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,g.jsx)(P,{label:function(a){switch(a){case"preparing":return"Creating workflow install";case"pr-created":case"pr-updated":return"Workflow install PR ready";case"waiting-for-checks":return"Waiting for checks";case"updating-branch":return"Updating install branch";case"merging":return"Merging automatically";case"verifying":return"Verifying workflow";case"complete":return"Workflow installed";case"blocked":return"Workflow install blocked";default:return"Finalizing workflow install"}}(a.lifecycle),variant:"complete"===(d=a.lifecycle)?"success":"blocked"===d?"destructive":"waiting-for-checks"===d||"verifying"===d?"warning":"secondary"})}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.message}),e?(0,g.jsxs)("div",{className:"flex flex-wrap gap-2",children:[a.canRetry&&b?(0,g.jsx)(K.$,{type:"button",onClick:b,disabled:c,children:c?"Retrying…":"Retry finalization"}):null,a.requiresGitHubIntervention&&a.prUrl?(0,g.jsx)(K.$,{asChild:!0,variant:"outline",children:(0,g.jsx)("a",{href:a.prUrl,target:"_blank",rel:"noopener noreferrer",children:"Open GitHub details"})}):null]}):null,e||f||!a.prUrl?null:(0,g.jsxs)("details",{className:"text-xs text-muted-foreground",children:[(0,g.jsx)("summary",{className:"cursor-pointer",children:"Advanced details"}),(0,g.jsxs)("p",{className:"mt-2 break-all",children:["Install PR: ",a.prUrl]})]})]})}function hV({repoConfigId:a}){return(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 p-4 space-y-2",children:[(0,g.jsx)(P,{label:"Workflow ready",variant:"success"}),(0,g.jsxs)("p",{className:"text-sm text-muted-foreground",children:[a," has the expected harness workflow on its production branch."]})]})}function hW(a){return"pr-created"===a.outcome||"pr-updated"===a.outcome||"branch-updated"===a.outcome}function hX(a){return!!a&&"complete"!==a.lifecycle&&("blocked"!==a.lifecycle||!!a.canRetry)}function hY(a){return a?.lifecycle==="complete"||a?.lifecycle==="blocked"&&!a.canRetry}function hZ({initialSummary:a,onSummaryUpdated:b,onWorkflowSetupComplete:c,onWorkflowAwaitingMergeChange:d,pendingInstallByRepo:e={},finalizationByRepo:f={},onPendingInstallChange:i,onFinalizationChange:j,blockedByUpstream:k=!1}){let[l,m]=(0,h.useState)(a),[n,o]=(0,h.useState)(f),p=(0,h.useRef)(0),q=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/remote-summary"),c=await a.json();if(!a.ok)throw Error(c.error??"Remote summary refresh failed");return m(c),b?.(c),c},[b]),r=(0,h.useCallback)(async(a,f)=>{let g=l.targetRepos.find(b=>b.repoConfigId===a);if(!g)return;let h=await fetch("/api/setup/finalize-target-workflow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoConfigId:g.repoConfigId,targetRepo:g.targetRepo,productionBranch:g.productionBranch,prUrl:f?.prUrl,branchName:f?.branchName})}),k=await h.json();if(!h.ok)throw Error(k.error??"Workflow finalization failed");let n=k.finalization,p=k.summary;if(o(b=>{let c=b[a];if(c&&hY(c)&&!hY(n))return b;let d={...b,[a]:n};return j?.(d),d}),m(p),b?.(p),"complete"===n.lifecycle){let b={...e};delete b[a],i?.(b)}return p.targetRepos.length>0&&p.targetRepos.every(a=>"present"===a.workflowStatus)&&(i?.({}),d?.(!1),c?.()),n},[j,i,b,d,c,e,l.targetRepos]),s=(0,h.useCallback)((a,b)=>{let c=p.current+1;p.current=c,(async()=>{for(;p.current===c;){try{let c=await r(a,b);if(!hX(c))break}catch{break}await new Promise(a=>setTimeout(a,2e3))}})()},[r]),t=(0,h.useCallback)(async(a,b,c)=>{let d={...e};if("already-installed"===b.outcome){delete d[a],i?.(d),await q();return}if(hW(b)&&(d[a]=b),i?.(d),c){let b={...n,[a]:c};o(b),j?.(b)}hW(b)&&s(a,b)},[n,j,i,e,q,s]),u=Object.values(n).some(a=>hX(a));return(0,g.jsx)(Y,{title:`Step 7 of 7 \xb7 Install target repo workflow`,description:u?"Installing the harness workflow automatically. Setup will continue when production verification succeeds.":"The harness will create or reuse a workflow install PR, merge it automatically when GitHub permits, and verify the production workflow.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Each target repo gets a deterministic install branch and PR. The harness finalizes the install automatically when checks and branch protection allow."}),0===l.targetRepos.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Resolve your local harness config to show target repo workflow cards."}):(0,g.jsx)("div",{className:D.stackSm,children:l.targetRepos.map(a=>{let b=e[a.repoConfigId],c=n[a.repoConfigId],d="present"===a.workflowStatus;return(0,g.jsxs)("div",{className:"rounded-md border border-border bg-background p-4 space-y-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.repoConfigId}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground break-all",children:a.targetRepo}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Status: ",function(a){switch(a){case"present":return"workflow ready";case"missing":return"workflow missing";case"differs":return"workflow outdated";default:return"workflow status unknown"}}(a.workflowStatus)]})]}),d?(0,g.jsx)(hV,{repoConfigId:a.repoConfigId}):c?(0,g.jsx)(hU,{finalization:c,onRetry:c.canRetry?()=>void r(a.repoConfigId,b):void 0}):b&&hW(b)?(0,g.jsx)(hU,{finalization:{repoConfigId:a.repoConfigId,targetRepo:a.targetRepo,targetRepoSlug:a.targetRepo,productionBranch:a.productionBranch,branchName:b.branchName,lifecycle:"preparing",message:"Starting automatic workflow install finalization.",workflowStatus:a.workflowStatus,canRetry:!1,requiresGitHubIntervention:!1,advancedThisRequest:!1,lockContended:!1}}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Preview and confirm to create or update the workflow install PR. Finalization runs automatically after apply."}),(0,g.jsx)(hu,{repo:a,variant:"guided",onApplied:()=>void 0,onGuidedApplySuccess:(b,c)=>void t(a.repoConfigId,b,c),blockedByUpstream:k})]})]},a.repoConfigId)})})]})})}function h$(a){return{state:{version:1,linear:a.linearSummary.controlPlane?.linear,vercel:a.vercelSummary.controlPlane?.vercel},linearTeamKeyFromConfig:a.summary.configSummary?.linearTeamKey}}function h_({initialSummary:a,initialRemoteSummary:b,initialLinearSummary:c,initialVercelSummary:d,formDefaults:e}){let[f,i]=(0,h.useState)("guided"),[j,k]=(0,h.useState)(a),[l,m]=(0,h.useState)(b),[o,p]=(0,h.useState)(c),[q,r]=(0,h.useState)(d),[s,t]=(0,h.useState)({}),u=(0,h.useMemo)(()=>h$({linearSummary:o,vercelSummary:q,summary:j}),[o,q,j]),[v,x]=(0,h.useState)(()=>(function(a){switch(a.currentStepId){case"connect-services":return"connect-services";case"linear-workspace":return"linear-workspace";case"vercel-bridge":return"vercel-bridge";case"local-setup":var b;return b=a.summary,b.localFiles.find(a=>".env.local"===a.label)?.exists&&J(a.summary),"choose-target-repos";case"local-readiness":return"local-readiness";case"cloud-secrets":return"cloud-secrets";case"target-workflow":return"target-workflow";case"ready-for-first-run":return"ready-for-first-run"}})({currentStepId:B({summary:a,remoteSummary:b,uiState:{},staleSmokeDiagnostics:b.staleSmokeDiagnostics,controlPlaneContext:h$({linearSummary:c,vercelSummary:d,summary:a})}).currentStepId,summary:a})),[y,z]=(0,h.useState)({}),[A,F]=(0,h.useState)({}),[G,L]=(0,h.useState)(!1);(0,h.useRef)(null);let M=(0,h.useMemo)(()=>B({summary:j,remoteSummary:l,uiState:s,staleSmokeDiagnostics:l.staleSmokeDiagnostics,controlPlaneContext:u}),[j,l,s,u]),N=M.staleSmokeDiagnostics.staleTargetRepos.length>0,O=!!M.staleSmokeDiagnostics.staleHarnessDispatchRepo,Q=(0,h.useMemo)(()=>{let a=e.env.suggestedHarnessDispatchRepo,b=M.staleSmokeDiagnostics.staleHarnessDispatchRepo&&a;return{harnessConfigPath:e.env.harnessConfigPath,githubDispatchRepository:b?a??"":e.env.githubDispatchRepository||a||"",savedHarnessDispatchRepository:e.env.githubDispatchRepository,suggestedHarnessDispatchRepo:a,secretPresence:{LINEAR_API_KEY:j.envKeyPresence.LINEAR_API_KEY,CURSOR_API_KEY:j.envKeyPresence.CURSOR_API_KEY,GITHUB_TOKEN:j.envKeyPresence.GITHUB_TOKEN,VERCEL_TOKEN:j.envKeyPresence.VERCEL_TOKEN}}},[e.env,M.staleSmokeDiagnostics.staleHarnessDispatchRepo,j.envKeyPresence.CURSOR_API_KEY,j.envKeyPresence.GITHUB_TOKEN,j.envKeyPresence.LINEAR_API_KEY,j.envKeyPresence.VERCEL_TOKEN]),R=(0,h.useCallback)(a=>{t(b=>b.localPreviewStale===a.localPreviewStale?b:{...b,localPreviewStale:a.localPreviewStale})},[]),S=(0,h.useCallback)(a=>{t(b=>{let c=b;if(void 0!==a.remoteSecretPreviewStale&&b.remoteSecretPreviewStale!==a.remoteSecretPreviewStale&&(c={...c,remoteSecretPreviewStale:a.remoteSecretPreviewStale}),"cloudSecretsApplyEvidence"in a){if(b.cloudSecretsApplyEvidence===a.cloudSecretsApplyEvidence)return c===b?b:c;c={...c,cloudSecretsApplyEvidence:a.cloudSecretsApplyEvidence}}return c===b?b:c})},[]),T=(0,h.useCallback)(a=>{t(b=>b.linearPreviewStale===a.linearPreviewStale?b:{...b,linearPreviewStale:a.linearPreviewStale})},[]),U=(0,h.useCallback)(a=>{t(b=>b.vercelPreviewStale===a.vercelPreviewStale?b:{...b,vercelPreviewStale:a.vercelPreviewStale})},[]),V=(0,h.useCallback)(async()=>{x("linear-workspace");try{let a=await fetch("/api/setup/linear-summary"),b=await a.json();a.ok&&p(b)}catch{}},[]),W=(0,h.useCallback)(()=>{x("vercel-bridge")},[]),X=(0,h.useCallback)(()=>{x("choose-target-repos")},[]),$=(0,h.useCallback)(()=>{t(a=>({...a,localReadinessReviewed:!0})),x("cloud-secrets")},[]),_=(0,h.useCallback)(()=>{t(a=>({...a,cloudSecretsReviewed:!0})),x("target-workflow")},[]),aa=(0,h.useCallback)(a=>{k(a),p(b=>{var c;return c=a.envKeyPresence,{...b,linearApiKeyConfigured:c.LINEAR_API_KEY}}),r(b=>{var c;return c=a.envKeyPresence,{...b,vercelTokenConfigured:c.VERCEL_TOKEN,linearApiKeyConfigured:c.LINEAR_API_KEY}}),m(b=>(function(a,b){let c=a.harnessSecretStatuses.map(a=>"present"===a.status?a:"missing"===a.status&&function(a,b){switch(b){case"LINEAR_API_KEY":return a.LINEAR_API_KEY;case"CURSOR_API_KEY":return a.CURSOR_API_KEY;case"HARNESS_GITHUB_TOKEN":return a.GITHUB_TOKEN;case"HARNESS_CONFIG_JSON_B64":return!1}}(b,a.name)?{...a,status:"unknown"}:a);return{...a,githubTokenConfigured:b.GITHUB_TOKEN,harnessSecretStatuses:c}})(b,a.envKeyPresence)),t(b=>{let c=h$({linearSummary:o,vercelSummary:q,summary:a}),d=w({evidence:b.cloudSecretsApplyEvidence,currentConfigStateFingerprint:n({setupSummary:a,controlPlaneContext:c}),harnessDispatchRepo:l.harnessDispatchRepo});return{...b,linearPreviewStale:!0,vercelPreviewStale:!0,remoteSecretPreviewStale:!0,cloudSecretsApplyEvidence:d?void 0:b.cloudSecretsApplyEvidence}})},[o,l.harnessDispatchRepo,q]),ab=(0,h.useCallback)(()=>{L(!1),z({}),F({})},[]),ac=(0,h.useCallback)(()=>{t(a=>({...a,localReadinessReviewed:!1,cloudSecretsReviewed:!1,cloudSecretsApplyEvidence:void 0,remoteSecretPreviewStale:!0,localPreviewStale:!1})),x("local-readiness")},[]);(0,h.useCallback)(a=>{x(a)},[]);let ad=(0,h.useCallback)(a=>{if("connect-services"===a||"linear-workspace"===a||"vercel-bridge"===a||"choose-target-repos"===a)return void t(b=>({...b,localReadinessReviewed:!1,cloudSecretsReviewed:!1,cloudSecretsApplyEvidence:void 0,remoteSecretPreviewStale:!0,linearPreviewStale:"connect-services"===a||"linear-workspace"===a||b.linearPreviewStale,vercelPreviewStale:"connect-services"===a||"linear-workspace"===a||"vercel-bridge"===a||b.vercelPreviewStale}));"local-readiness"===a&&t(a=>({...a,cloudSecretsReviewed:!1,cloudSecretsApplyEvidence:void 0,remoteSecretPreviewStale:!0}))},[]),ae=(0,h.useCallback)(()=>{let a=I(v);if(!a)return;let b=function(a){var b;let c=function(a){switch(a){case"connect-services":return"connect-services";case"linear-workspace":return"linear-workspace";case"vercel-bridge":return"vercel-bridge";case"local-setup":return"choose-target-repos";case"local-readiness":return"local-readiness";case"cloud-secrets":return"cloud-secrets";case"target-workflow":return"target-workflow";case"ready-for-first-run":return"ready-for-first-run"}}(a.currentStepId);return(b=a.target,H(b)-H(c)>0)?c:a.target}({target:a,currentStepId:M.currentStepId});x(b),ad(b)},[v,ad,M.currentStepId]),af="guided"===f&&null!==I(v),ag=(0,h.useRef)(null),ah=j.overview.operatorConfigResolved?"Config resolved":j.overview.configResolved?"Template config loaded":"Not configured yet",ai=j.overview.operatorConfigResolved?"success":"secondary",aj=M.readyForFirstRun?"Setup complete":G?"Finalizing workflow install":"Setup in progress";return(0,g.jsxs)("div",{className:C.sectionStack,children:[(0,g.jsxs)("section",{className:D.section,children:[(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("h2",{className:E.pageTitle,children:"Settings / Configure"}),(0,g.jsx)("p",{className:E.pageDescription,children:"Guided first-run readiness for the Product Development Harness. Complete local setup, local readiness checks, cloud secrets, and target workflow install before your first future harness run."})]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[af?(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",className:"text-muted-foreground",onClick:ae,children:"Back"}):null,(0,g.jsxs)("div",{className:D.inline,children:[(0,g.jsx)(P,{label:aj,variant:M.readyForFirstRun?"success":"warning"}),"advanced"===f?(0,g.jsx)(P,{label:ah,variant:ai}):null]})]}),"guided"===f?(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>i("advanced"),children:"Advanced checklist view"}):(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>i("guided"),children:"Back to guided flow"})]})]}),"advanced"===f?(0,g.jsx)(Z,{readiness:M}):null,"guided"===f?(0,g.jsx)("div",{className:D.section,children:(0,g.jsx)("div",{ref:ag,children:(()=>{switch(v){case"connect-services":return(0,g.jsx)(hm,{mode:"guided",guidedStep:"connect-services",initialEnv:Q,initialConfig:e.config,onSummaryUpdated:aa,onConnectServicesComplete:V},"guided-connect-services");case"linear-workspace":return(0,g.jsx)(hH,{readiness:M,initialSummary:o,linearApiKeyConfigured:j.envKeyPresence.LINEAR_API_KEY,onSummaryUpdated:p,onUiStateChange:T,onContinue:W});case"vercel-bridge":return(0,g.jsx)(hL,{readiness:M,initialSummary:q,onSummaryUpdated:r,onUiStateChange:U,onContinue:X});case"choose-target-repos":return(0,g.jsx)(hm,{mode:"guided",guidedStep:"choose-target-repos",initialEnv:Q,initialConfig:e.config,highlightStaleDispatch:O,highlightStaleTarget:N,onSummaryUpdated:aa,onUiStateChange:R,onGuidedLocalApplySuccess:ac,localSetupFilesExist:J(j)},"guided-local-setup");case"local-readiness":return(0,g.jsx)(hM,{readiness:M,onContinue:$});case"cloud-secrets":return(0,g.jsx)(hT,{readiness:M,setupSummary:j,controlPlaneContext:u,remoteSecretPreviewStale:s.remoteSecretPreviewStale,cloudSecretsApplyEvidence:s.cloudSecretsApplyEvidence,initialSummary:l,onSummaryUpdated:m,onUiStateChange:S,onContinue:_,blockedByUpstream:M.remoteSetupBlockedByUpstream,onGoToHarnessRepo:()=>x("choose-target-repos"),onGoToConnectServices:()=>x("connect-services")});case"target-workflow":return(0,g.jsx)(hZ,{initialSummary:l,onSummaryUpdated:m,onWorkflowSetupComplete:ab,onWorkflowAwaitingMergeChange:L,pendingInstallByRepo:y,finalizationByRepo:A,onPendingInstallChange:z,onFinalizationChange:F,blockedByUpstream:M.remoteSetupBlockedByUpstream});case"ready-for-first-run":return(0,g.jsx)(Y,{title:"Setup complete",description:"Harness setup is ready for a future first run.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)(P,{label:"Setup complete",variant:"success"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your harness setup is ready. The target workflow install finished automatically when production verification succeeded. A later milestone can add a safe first-issue dry run or no-op harness validation."}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:M.prohibitedActionsNote})]})})}})()})}):(0,g.jsx)(hF,{summary:j,remoteSummary:l,readiness:M,formDefaults:e,onSummaryUpdated:k,onRemoteSummaryUpdated:m,onLocalUiStateChange:R,onRemoteUiStateChange:S})]})}},28010:(a,b)=>{"use strict";function c(a){let{widthInt:b,heightInt:c,blurWidth:d,blurHeight:e,blurDataURL:f,objectFit:g}=a,h=d?40*d:b,i=e?40*e:c,j=h&&i?"viewBox='0 0 "+h+" "+i+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+j+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+f+"'/%3E%3C/svg%3E"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},28354:a=>{"use strict";a.exports=require("util")},28783:a=>{"use strict";a.exports=import("@cursor/sdk")},29021:a=>{"use strict";a.exports=require("fs")},29056:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isLocalURL",{enumerable:!0,get:function(){return f}});let d=c(53387),e=c(94650);function f(a){if(!(0,d.isAbsoluteUrl)(a))return!0;try{let b=(0,d.getLocationOrigin)(),c=new URL(a,b);return c.origin===b&&(0,e.hasBasePath)(c.pathname)}catch(a){return!1}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29897:(a,b,c)=>{Promise.resolve().then(c.bind(c,72921))},30858:(a,b)=>{"use strict";function c(a){let{ampFirst:b=!1,hybrid:c=!1,hasQuery:d=!1}=void 0===a?{}:a;return b||c&&d}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isInAmpMode",{enumerable:!0,get:function(){return c}})},33443:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(21820),g=c(55511),h=c(1667).version,i=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function j(a){console.log(`[dotenv@${h}][DEBUG] ${a}`)}function k(a){console.log(`[dotenv@${h}] ${a}`)}function l(a){return a&&a.DOTENV_KEY&&a.DOTENV_KEY.length>0?a.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function m(a){let b=null;if(a&&a.path&&a.path.length>0)if(Array.isArray(a.path))for(let c of a.path)d.existsSync(c)&&(b=c.endsWith(".vault")?c:`${c}.vault`);else b=a.path.endsWith(".vault")?a.path:`${a.path}.vault`;else b=e.resolve(process.cwd(),".env.vault");return d.existsSync(b)?b:null}function n(a){return"~"===a[0]?e.join(f.homedir(),a.slice(1)):a}let o={configDotenv:function(a){let b,c=e.resolve(process.cwd(),".env"),f="utf8",g=!!(a&&a.debug),h=!a||!("quiet"in a)||a.quiet;a&&a.encoding?f=a.encoding:g&&j("No encoding is specified. UTF-8 is used by default");let i=[c];if(a&&a.path)if(Array.isArray(a.path))for(let b of(i=[],a.path))i.push(n(b));else i=[n(a.path)];let l={};for(let c of i)try{let b=o.parse(d.readFileSync(c,{encoding:f}));o.populate(l,b,a)}catch(a){g&&j(`Failed to load ${c} ${a.message}`),b=a}let m=process.env;if(a&&null!=a.processEnv&&(m=a.processEnv),o.populate(m,l,a),g||!h){let a=Object.keys(l).length,c=[];for(let a of i)try{let b=e.relative(process.cwd(),a);c.push(b)}catch(c){g&&j(`Failed to load ${a} ${c.message}`),b=c}k(`injecting env (${a}) from ${c.join(",")}`)}return b?{parsed:l,error:b}:{parsed:l}},_configVault:function(a){let b=!!(a&&a.debug),c=!a||!("quiet"in a)||a.quiet;(b||!c)&&k("Loading env from encrypted .env.vault");let d=o._parseVault(a),e=process.env;return a&&null!=a.processEnv&&(e=a.processEnv),o.populate(e,d,a),{parsed:d}},_parseVault:function(a){let b,c=m(a=a||{});a.path=c;let d=o.configDotenv(a);if(!d.parsed){let a=Error(`MISSING_DATA: Cannot parse ${c} for an unknown reason`);throw a.code="MISSING_DATA",a}let e=l(a).split(","),f=e.length;for(let a=0;a<f;a++)try{let c=e[a].trim(),f=function(a,b){let c;try{c=new URL(b)}catch(a){if("ERR_INVALID_URL"===a.code){let a=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw a.code="INVALID_DOTENV_KEY",a}throw a}let d=c.password;if(!d){let a=Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let e=c.searchParams.get("environment");if(!e){let a=Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let f=`DOTENV_VAULT_${e.toUpperCase()}`,g=a.parsed[f];if(!g){let a=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${f} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:g,key:d}}(d,c);b=o.decrypt(f.ciphertext,f.key);break}catch(b){if(a+1>=f)throw b}return o.parse(b)},config:function(a){if(0===l(a).length)return o.configDotenv(a);let b=m(a);if(!b){var c;return c=`You set DOTENV_KEY but you are missing a .env.vault file at ${b}. Did you forget to build it?`,console.log(`[dotenv@${h}][WARN] ${c}`),o.configDotenv(a)}return o._configVault(a)},decrypt:function(a,b){let c=Buffer.from(b.slice(-64),"hex"),d=Buffer.from(a,"base64"),e=d.subarray(0,12),f=d.subarray(-16);d=d.subarray(12,-16);try{let a=g.createDecipheriv("aes-256-gcm",c,e);return a.setAuthTag(f),`${a.update(d)}${a.final()}`}catch(d){let a=d instanceof RangeError,b="Invalid key length"===d.message,c="Unsupported state or unable to authenticate data"===d.message;if(a||b){let a=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw a.code="INVALID_DOTENV_KEY",a}if(c){let a=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw a.code="DECRYPTION_FAILED",a}throw d}},parse:function(a){let b,c={},d=a.toString();for(d=d.replace(/\r\n?/mg,"\n");null!=(b=i.exec(d));){let a=b[1],d=b[2]||"",e=(d=d.trim())[0];d=d.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===e&&(d=(d=d.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),c[a]=d}return c},populate:function(a,b,c={}){let d=!!(c&&c.debug),e=!!(c&&c.override);if("object"!=typeof b){let a=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw a.code="OBJECT_REQUIRED",a}for(let c of Object.keys(b))Object.prototype.hasOwnProperty.call(a,c)?(!0===e&&(a[c]=b[c]),d&&(!0===e?j(`"${c}" is already defined and WAS overwritten`):j(`"${c}" is already defined and was NOT overwritten`))):a[c]=b[c]}};a.exports.configDotenv=o.configDotenv,a.exports._configVault=o._configVault,a.exports._parseVault=o._parseVault,a.exports.config=o.config,a.exports.decrypt=o.decrypt,a.exports.parse=o.parse,a.exports.populate=o.populate,a.exports=o},33873:a=>{"use strict";a.exports=require("path")},35966:a=>{"use strict";a.exports=require("@linear/sdk")},36305:(a,b,c)=>{Promise.resolve().then(c.bind(c,51337)),Promise.resolve().then(c.bind(c,64788)),Promise.resolve().then(c.t.bind(c,3498,23))},37384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{IDLE_LINK_STATUS:function(){return i},PENDING_LINK_STATUS:function(){return h},mountFormInstance:function(){return r},mountLinkInstance:function(){return q},onLinkVisibilityChanged:function(){return t},onNavigationIntent:function(){return u},pingVisibleLinks:function(){return w},setLinkForCurrentNavigation:function(){return j},unmountLinkForCurrentNavigation:function(){return k},unmountPrefetchableInstance:function(){return s}}),c(99500);let d=c(25918),e=c(68459),f=c(31768);c(13136),c(26521);let g=null,h={pending:!0},i={pending:!1};function j(a){(0,f.startTransition)(()=>{null==g||g.setOptimisticLinkStatus(i),null==a||a.setOptimisticLinkStatus(h),g=a})}function k(a){g===a&&(g=null)}let l="function"==typeof WeakMap?new WeakMap:new Map,m=new Set,n="function"==typeof IntersectionObserver?new IntersectionObserver(function(a){for(let b of a){let a=b.intersectionRatio>0;t(b.target,a)}},{rootMargin:"200px"}):null;function o(a,b){void 0!==l.get(a)&&s(a),l.set(a,b),null!==n&&n.observe(a)}function p(a){try{return(0,d.createPrefetchURL)(a)}catch(b){return("function"==typeof reportError?reportError:console.error)("Cannot prefetch '"+a+"' because it cannot be converted to a URL."),null}}function q(a,b,c,d,e,f){if(e){let e=p(b);if(null!==e){let b={router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:e.href,setOptimisticLinkStatus:f};return o(a,b),b}}return{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:null,setOptimisticLinkStatus:f}}function r(a,b,c,d){let e=p(b);null!==e&&o(a,{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:e.href,setOptimisticLinkStatus:null})}function s(a){let b=l.get(a);if(void 0!==b){l.delete(a),m.delete(b);let c=b.prefetchTask;null!==c&&(0,e.cancelPrefetchTask)(c)}null!==n&&n.unobserve(a)}function t(a,b){let c=l.get(a);void 0!==c&&(c.isVisible=b,b?m.add(c):m.delete(c),v(c,e.PrefetchPriority.Default))}function u(a,b){let c=l.get(a);void 0!==c&&void 0!==c&&v(c,e.PrefetchPriority.Intent)}function v(a,b){let c=a.prefetchTask;if(!a.isVisible){null!==c&&(0,e.cancelPrefetchTask)(c);return}}function w(a,b){for(let c of m){let d=c.prefetchTask;if(null!==d&&!(0,e.isPrefetchTaskDirty)(d,a,b))continue;null!==d&&(0,e.cancelPrefetchTask)(d);let f=(0,e.createCacheKey)(c.prefetchHref,a);c.prefetchTask=(0,e.schedulePrefetchTask)(f,b,c.fetchStrategy,e.PrefetchPriority.Default,null)}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},37446:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{prefetchQueue:function(){return f},prefetchReducer:function(){return g}});let d=c(5162),e=c(81288),f=new d.PromiseQueue(5),g=function(a,b){(0,e.prunePrefetchCache)(a.prefetchCache);let{url:c}=b;return(0,e.getOrCreatePrefetchCacheEntry)({url:c,nextUrl:a.nextUrl,prefetchCache:a.prefetchCache,kind:b.kind,tree:a.tree,allowAliasing:!0}),a};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},39625:(a,b,c)=>{Promise.resolve().then(c.bind(c,58931))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"serverPatchReducer",{enumerable:!0,get:function(){return k}});let d=c(75497),e=c(24848),f=c(77692),g=c(15426),h=c(11966),i=c(26613),j=c(25918);function k(a,b){let{serverResponse:{flightData:c,canonicalUrl:k},navigatedAt:l}=b,m={};if(m.preserveCustomHistoryState=!1,"string"==typeof c)return(0,g.handleExternalUrl)(a,m,c,a.pushRef.pendingPush);let n=a.tree,o=a.cache;for(let b of c){let{segmentPath:c,tree:i}=b,p=(0,e.applyRouterStatePatchToTree)(["",...c],n,i,a.canonicalUrl);if(null===p)return a;if((0,f.isNavigatingToNewRootLayout)(n,p))return(0,g.handleExternalUrl)(a,m,a.canonicalUrl,a.pushRef.pendingPush);let q=k?(0,d.createHrefFromUrl)(k):void 0;q&&(m.canonicalUrl=q);let r=(0,j.createEmptyCacheNode)();(0,h.applyFlightData)(l,o,r,b),m.patchedTree=p,m.cache=r,o=r,n=p}return(0,i.handleMutable)(a,m)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41831:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},48161:a=>{"use strict";a.exports=require("node:os")},48540:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(67431);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+b+c+e+f}},48760:(a,b)=>{"use strict";function c(a){let b=parseInt(a.slice(0,2),16),c=b>>1&63,d=Array(6);for(let a=0;a<6;a++){let b=c>>5-a&1;d[a]=1===b}return{type:1==(b>>7&1)?"use-cache":"server-action",usedArgs:d,hasRestArgs:1==(1&b)}}function d(a,b){let c=Array(a.length);for(let d=0;d<a.length;d++)(d<6&&b.usedArgs[d]||d>=6&&b.hasRestArgs)&&(c[d]=a[d]);return c}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{extractInfoFromServerReferenceId:function(){return c},omitUnusedArgs:function(){return d}})},50202:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function a(b,c,f){let g=f.length<=2,[h,i]=f,j=(0,e.createRouterCacheKey)(i),k=c.parallelRoutes.get(h),l=b.parallelRoutes.get(h);l&&l!==k||(l=new Map(k),b.parallelRoutes.set(h,l));let m=null==k?void 0:k.get(j),n=l.get(j);if(g){n&&n.lazyData&&n!==m||l.set(j,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1});return}if(!n||!m){n||l.set(j,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1});return}return n===m&&(n={lazyData:n.lazyData,rsc:n.rsc,prefetchRsc:n.prefetchRsc,head:n.head,prefetchHead:n.prefetchHead,parallelRoutes:new Map(n.parallelRoutes),loading:n.loading},l.set(j,n)),a(n,m,(0,d.getNextFlightSegmentPath)(f))}}});let d=c(89909),e=c(82521);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},51337:(a,b,c)=>{"use strict";c.d(b,{ConfigureExperience:()=>d});let d=(0,c(25459).registerClientReference)(function(){throw Error("Attempted to call ConfigureExperience() from the server but ConfigureExperience is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/weston/Code/agentic-product-development-harness/apps/gui/components/custom/configure-experience.tsx","ConfigureExperience")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51939:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"serverActionReducer",{enumerable:!0,get:function(){return E}});let d=c(53418),e=c(86802),f=c(58529),g=c(12786),h=c(78589),i=c(13136),j=c(4335),k=c(75497),l=c(15426),m=c(24848),n=c(77692),o=c(26613),p=c(63102),q=c(25918),r=c(78592),s=c(13355),t=c(18226),u=c(89909),v=c(4873),w=c(79650),x=c(81288),y=c(15252),z=c(94650),A=c(48760);c(68459);let B=h.createFromFetch;async function C(a,b,c){let i,k,l,m,{actionId:n,actionArgs:o}=c,p=(0,h.createTemporaryReferenceSet)(),q=(0,A.extractInfoFromServerReferenceId)(n),r="use-cache"===q.type?(0,A.omitUnusedArgs)(o,q):o,s=await (0,h.encodeReply)(r,{temporaryReferences:p}),t=await fetch(a.canonicalUrl,{method:"POST",headers:{Accept:f.RSC_CONTENT_TYPE_HEADER,[f.ACTION_HEADER]:n,[f.NEXT_ROUTER_STATE_TREE_HEADER]:(0,u.prepareFlightRouterStateForRequest)(a.tree),...{},...b?{[f.NEXT_URL]:b}:{}},body:s});if("1"===t.headers.get(f.NEXT_ACTION_NOT_FOUND_HEADER))throw Object.defineProperty(new g.UnrecognizedActionError('Server Action "'+n+'" was not found on the server. \nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action'),"__NEXT_ERROR_CODE",{value:"E715",enumerable:!1,configurable:!0});let v=t.headers.get("x-action-redirect"),[x,y]=(null==v?void 0:v.split(";"))||[];switch(y){case"push":i=w.RedirectType.push;break;case"replace":i=w.RedirectType.replace;break;default:i=void 0}let z=!!t.headers.get(f.NEXT_IS_PRERENDER_HEADER);try{let a=JSON.parse(t.headers.get("x-action-revalidated")||"[[],0,0]");k={paths:a[0]||[],tag:!!a[1],cookie:a[2]}}catch(a){k=D}let C=x?(0,j.assignLocation)(x,new URL(a.canonicalUrl,window.location.href)):void 0,E=t.headers.get("content-type"),F=!!(E&&E.startsWith(f.RSC_CONTENT_TYPE_HEADER));if(!F&&!C)throw Object.defineProperty(Error(t.status>=400&&"text/plain"===E?await t.text():"An unexpected response was received from the server."),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(F){let a=await B(Promise.resolve(t),{callServer:d.callServer,findSourceMapURL:e.findSourceMapURL,temporaryReferences:p});l=C?void 0:a.a,m=(0,u.normalizeFlightData)(a.f)}else l=void 0,m=void 0;return{actionResult:l,actionFlightData:m,redirectLocation:C,redirectType:i,revalidatedParts:k,isPrerender:z}}let D={paths:[],tag:!1,cookie:!1};function E(a,b){let{resolve:c,reject:d}=b,e={},f=a.tree;e.preserveCustomHistoryState=!1;let g=a.nextUrl&&(0,r.hasInterceptionRouteInCurrentTree)(a.tree)?a.nextUrl:null,h=Date.now();return C(a,g,b).then(async j=>{let r,{actionResult:u,actionFlightData:A,redirectLocation:B,redirectType:C,isPrerender:D,revalidatedParts:E}=j;if(B&&(C===w.RedirectType.replace?(a.pushRef.pendingPush=!1,e.pendingPush=!1):(a.pushRef.pendingPush=!0,e.pendingPush=!0),e.canonicalUrl=r=(0,k.createHrefFromUrl)(B,!1)),!A)return(c(u),B)?(0,l.handleExternalUrl)(a,e,B.href,a.pushRef.pendingPush):a;if("string"==typeof A)return c(u),(0,l.handleExternalUrl)(a,e,A,a.pushRef.pendingPush);let F=E.paths.length>0||E.tag||E.cookie;for(let d of A){let{tree:i,seedData:j,head:k,isRootRender:o}=d;if(!o)return console.log("SERVER ACTION APPLY FAILED"),c(u),a;let v=(0,m.applyRouterStatePatchToTree)([""],f,i,r||a.canonicalUrl);if(null===v)return c(u),(0,s.handleSegmentMismatch)(a,b,i);if((0,n.isNavigatingToNewRootLayout)(f,v))return c(u),(0,l.handleExternalUrl)(a,e,r||a.canonicalUrl,a.pushRef.pendingPush);if(null!==j){let b=j[1],c=(0,q.createEmptyCacheNode)();c.rsc=b,c.prefetchRsc=null,c.loading=j[3],(0,p.fillLazyItemsTillLeafWithHead)(h,c,void 0,i,j,k,void 0),e.cache=c,e.prefetchCache=new Map,F&&await (0,t.refreshInactiveParallelSegments)({navigatedAt:h,state:a,updatedTree:v,updatedCache:c,includeNextUrl:!!g,canonicalUrl:e.canonicalUrl||a.canonicalUrl})}e.patchedTree=v,f=v}return B&&r?(F||((0,x.createSeededPrefetchCacheEntry)({url:B,data:{flightData:A,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:a.tree,prefetchCache:a.prefetchCache,nextUrl:a.nextUrl,kind:D?i.PrefetchKind.FULL:i.PrefetchKind.AUTO}),e.prefetchCache=a.prefetchCache),d((0,v.getRedirectError)((0,z.hasBasePath)(r)?(0,y.removeBasePath)(r):r,C||w.RedirectType.push))):c(u),(0,o.handleMutable)(a,e)},b=>(d(b),a))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53387:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DecodeError:function(){return o},MiddlewareNotFoundError:function(){return s},MissingStaticPage:function(){return r},NormalizeError:function(){return p},PageNotFoundError:function(){return q},SP:function(){return m},ST:function(){return n},WEB_VITALS:function(){return c},execOnce:function(){return d},getDisplayName:function(){return i},getLocationOrigin:function(){return g},getURL:function(){return h},isAbsoluteUrl:function(){return f},isResSent:function(){return j},loadGetInitialProps:function(){return l},normalizeRepeatedSlashes:function(){return k},stringifyError:function(){return t}});let c=["CLS","FCP","FID","INP","LCP","TTFB"];function d(a){let b,c=!1;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return c||(c=!0,b=a(...e)),b}}let e=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,f=a=>e.test(a);function g(){let{protocol:a,hostname:b,port:c}=window.location;return a+"//"+b+(c?":"+c:"")}function h(){let{href:a}=window.location,b=g();return a.substring(b.length)}function i(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function j(a){return a.finished||a.headersSent}function k(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?"?"+b.slice(1).join("?"):"")}async function l(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await l(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&j(c))return d;if(!d)throw Object.defineProperty(Error('"'+i(a)+'.getInitialProps()" should resolve to an object. But found "'+d+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let m="undefined"!=typeof performance,n=m&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class o extends Error{}class p extends Error{}class q extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+a}}class r extends Error{constructor(a,b){super(),this.message="Failed to load static file for page: "+a+" "+b}}class s extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function t(a){return JSON.stringify({message:a.message,stack:a.stack})}},55511:a=>{"use strict";a.exports=require("crypto")},56035:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,metadata:()=>h});var d=c(5939),e=c(91860),f=c.n(e),g=c(58931);c(98944);let h={title:"Product Development Harness",description:"Local operator GUI for harness setup and configuration."};function i({children:a}){return(0,d.jsx)("html",{lang:"en",className:f().variable,suppressHydrationWarning:!0,children:(0,d.jsx)("body",{children:(0,d.jsx)(g.ThemeProvider,{children:a})})})}},57162:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function a(b,c,f){let g=f.length<=2,[h,i]=f,j=(0,d.createRouterCacheKey)(i),k=c.parallelRoutes.get(h);if(!k)return;let l=b.parallelRoutes.get(h);if(l&&l!==k||(l=new Map(k),b.parallelRoutes.set(h,l)),g)return void l.delete(j);let m=k.get(j),n=l.get(j);n&&m&&(n===m&&(n={lazyData:n.lazyData,rsc:n.rsc,prefetchRsc:n.prefetchRsc,head:n.head,prefetchHead:n.prefetchHead,parallelRoutes:new Map(n.parallelRoutes)},l.set(j,n)),a(n,m,(0,e.getNextFlightSegmentPath)(f)))}}});let d=c(82521),e=c(89909);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},58931:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>d});let d=(0,c(25459).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/weston/Code/agentic-product-development-harness/apps/gui/components/custom/theme-provider.tsx","ThemeProvider")},61725:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addBasePath",{enumerable:!0,get:function(){return f}});let d=c(48540),e=c(83328);function f(a,b){return(0,e.normalizePathTrailingSlash)((0,d.addPathPrefix)(a,""))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},61798:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{VALID_LOADERS:function(){return c},imageConfigDefault:function(){return d}});let c=["default","imgix","cloudinary","akamai","custom"],d={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},61966:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.RouterContext},62176:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{computeChangedPath:function(){return j},extractPathFromFlightRouterState:function(){return i},getSelectedParams:function(){return function a(b,c){for(let d of(void 0===c&&(c={}),Object.values(b[1]))){let b=d[0],f=Array.isArray(b),g=f?b[1]:b;!g||g.startsWith(e.PAGE_SEGMENT_KEY)||(f&&("c"===b[2]||"oc"===b[2])?c[b[0]]=b[1].split("/"):f&&(c[b[0]]=b[1]),c=a(d,c))}return c}}});let d=c(54357),e=c(44859),f=c(58395),g=a=>"string"==typeof a?"children"===a?"":a:a[1];function h(a){return a.reduce((a,b)=>{let c;return""===(b="/"===(c=b)[0]?c.slice(1):c)||(0,e.isGroupSegment)(b)?a:a+"/"+b},"")||"/"}function i(a){var b;let c=Array.isArray(a[0])?a[0][1]:a[0];if(c===e.DEFAULT_SEGMENT_KEY||d.INTERCEPTION_ROUTE_MARKERS.some(a=>c.startsWith(a)))return;if(c.startsWith(e.PAGE_SEGMENT_KEY))return"";let f=[g(c)],j=null!=(b=a[1])?b:{},k=j.children?i(j.children):void 0;if(void 0!==k)f.push(k);else for(let[a,b]of Object.entries(j)){if("children"===a)continue;let c=i(b);void 0!==c&&f.push(c)}return h(f)}function j(a,b){let c=function a(b,c){let[e,h]=b,[j,k]=c,l=g(e),m=g(j);if(d.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)||m.startsWith(a)))return"";if(!(0,f.matchSegment)(e,j)){var n;return null!=(n=i(c))?n:""}for(let b in h)if(k[b]){let c=a(h[b],k[b]);if(null!==c)return g(j)+"/"+c}return null}(a,b);return null==c||"/"===c?c:h(c.split("/"))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62475:(a,b)=>{"use strict";function c(a){var b;let{config:c,src:d,width:e,quality:f}=a,g=f||(null==(b=c.qualities)?void 0:b.reduce((a,b)=>Math.abs(b-75)<Math.abs(a-75)?b:a))||75;return c.path+"?url="+encodeURIComponent(d)+"&w="+e+"&q="+g+(d.startsWith("/_next/static/media/"),"")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return d}}),c.__next_img_default=!0;let d=c},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63102:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function a(b,c,f,g,h,i,j){if(0===Object.keys(g[1]).length){c.head=i;return}for(let k in g[1]){let l,m=g[1][k],n=m[0],o=(0,d.createRouterCacheKey)(n),p=null!==h&&void 0!==h[2][k]?h[2][k]:null;if(f){let d=f.parallelRoutes.get(k);if(d){let f,g=(null==j?void 0:j.kind)==="auto"&&j.status===e.PrefetchCacheEntryStatus.reusable,h=new Map(d),l=h.get(o);f=null!==p?{lazyData:null,rsc:p[1],prefetchRsc:null,head:null,prefetchHead:null,loading:p[3],parallelRoutes:new Map(null==l?void 0:l.parallelRoutes),navigatedAt:b}:g&&l?{lazyData:l.lazyData,rsc:l.rsc,prefetchRsc:l.prefetchRsc,head:l.head,prefetchHead:l.prefetchHead,parallelRoutes:new Map(l.parallelRoutes),loading:l.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==l?void 0:l.parallelRoutes),loading:null,navigatedAt:b},h.set(o,f),a(b,f,l,m,p||null,i,j),c.parallelRoutes.set(k,h);continue}}if(null!==p){let a=p[1],c=p[3];l={lazyData:null,rsc:a,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:c,navigatedAt:b}}else l={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:b};let q=c.parallelRoutes.get(k);q?q.set(o,l):c.parallelRoutes.set(k,new Map([[o,l]])),a(b,l,void 0,m,p,i,j)}}}});let d=c(82521),e=c(13136);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},64402:(a,b,c)=>{"use strict";c.r(b),c.d(b,{_:()=>e});var d=0;function e(a){return"__private_"+d+++"_"+a}},64788:(a,b,c)=>{"use strict";c.d(b,{ThemeToggle:()=>d});let d=(0,c(25459).registerClientReference)(function(){throw Error("Attempted to call ThemeToggle() from the server but ThemeToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/weston/Code/agentic-product-development-harness/apps/gui/components/custom/theme-toggle.tsx","ThemeToggle")},66099:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.HeadManagerContext},66260:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,58671,23)),Promise.resolve().then(c.t.bind(c,56542,23)),Promise.resolve().then(c.t.bind(c,88248,23)),Promise.resolve().then(c.t.bind(c,49743,23)),Promise.resolve().then(c.t.bind(c,96231,23)),Promise.resolve().then(c.t.bind(c,10959,23)),Promise.resolve().then(c.t.bind(c,72041,23)),Promise.resolve().then(c.t.bind(c,95094,23)),Promise.resolve().then(c.t.bind(c,67487,23))},67122:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return p},defaultHead:function(){return l}});let d=c(15915),e=c(86274),f=c(78157),g=e._(c(31768)),h=d._(c(68737)),i=c(14329),j=c(66099),k=c(30858);function l(a){void 0===a&&(a=!1);let b=[(0,f.jsx)("meta",{charSet:"utf-8"},"charset")];return a||b.push((0,f.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),b}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===g.default.Fragment?a.concat(g.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(99026);let n=["name","httpEquiv","charSet","itemProp"];function o(a,b){let{inAmpMode:c}=b;return a.reduce(m,[]).reverse().concat(l(c).reverse()).filter(function(){let a=new Set,b=new Set,c=new Set,d={};return e=>{let f=!0,g=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){g=!0;let b=e.key.slice(e.key.indexOf("$")+1);a.has(b)?f=!1:a.add(b)}switch(e.type){case"title":case"base":b.has(e.type)?f=!1:b.add(e.type);break;case"meta":for(let a=0,b=n.length;a<b;a++){let b=n[a];if(e.props.hasOwnProperty(b))if("charSet"===b)c.has(b)?f=!1:c.add(b);else{let a=e.props[b],c=d[b]||new Set;("name"!==b||!g)&&c.has(a)?f=!1:(c.add(a),d[b]=c)}}}return f}}()).reverse().map((a,b)=>{let c=a.key||b;return g.default.cloneElement(a,{key:c})})}let p=function(a){let{children:b}=a,c=(0,g.useContext)(i.AmpStateContext),d=(0,g.useContext)(j.HeadManagerContext);return(0,f.jsx)(h.default,{reduceComponentsToState:o,headManager:d,inAmpMode:(0,k.isInAmpMode)(c),children:b})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},67283:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return i},getImageProps:function(){return h}});let d=c(15915),e=c(77387),f=c(79075),g=d._(c(62475));function h(a){let{props:b}=(0,e.getImgProps)(a,{defaultLoader:g.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let i=f.Image},67431:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},68360:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return j}});let d=c(7342),e=c(63102),f=c(82521),g=c(44859);function h(a,b,c,h,i,j){let{segmentPath:k,seedData:l,tree:m,head:n}=h,o=b,p=c;for(let b=0;b<k.length;b+=2){let c=k[b],h=k[b+1],q=b===k.length-2,r=(0,f.createRouterCacheKey)(h),s=p.parallelRoutes.get(c);if(!s)continue;let t=o.parallelRoutes.get(c);t&&t!==s||(t=new Map(s),o.parallelRoutes.set(c,t));let u=s.get(r),v=t.get(r);if(q){if(l&&(!v||!v.lazyData||v===u)){let b=l[0],c=l[1],f=l[3];v={lazyData:null,rsc:j||b!==g.PAGE_SEGMENT_KEY?c:null,prefetchRsc:null,head:null,prefetchHead:null,loading:f,parallelRoutes:j&&u?new Map(u.parallelRoutes):new Map,navigatedAt:a},u&&j&&(0,d.invalidateCacheByRouterState)(v,u,m),j&&(0,e.fillLazyItemsTillLeafWithHead)(a,v,u,m,l,n,i),t.set(r,v)}continue}v&&u&&(v===u&&(v={lazyData:v.lazyData,rsc:v.rsc,prefetchRsc:v.prefetchRsc,head:v.head,prefetchHead:v.prefetchHead,parallelRoutes:new Map(v.parallelRoutes),loading:v.loading},t.set(r,v)),o=v,p=u)}}function i(a,b,c,d,e){h(a,b,c,d,e,!0)}function j(a,b,c,d,e){h(a,b,c,d,e,!1)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},68459:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{FetchStrategy:function(){return o},NavigationResultTag:function(){return m},PrefetchPriority:function(){return n},cancelPrefetchTask:function(){return i},createCacheKey:function(){return l},getCurrentCacheVersion:function(){return g},isPrefetchTaskDirty:function(){return k},navigate:function(){return e},prefetch:function(){return d},reschedulePrefetchTask:function(){return j},revalidateEntireCache:function(){return f},schedulePrefetchTask:function(){return h}});let c=()=>{throw Object.defineProperty(Error("Segment Cache experiment is not enabled. This is a bug in Next.js."),"__NEXT_ERROR_CODE",{value:"E654",enumerable:!1,configurable:!0})},d=c,e=c,f=c,g=c,h=c,i=c,j=c,k=c,l=c;var m=function(a){return a[a.MPA=0]="MPA",a[a.Success=1]="Success",a[a.NoOp=2]="NoOp",a[a.Async=3]="Async",a}({}),n=function(a){return a[a.Intent=2]="Intent",a[a.Default=1]="Default",a[a.Background=0]="Background",a}({}),o=function(a){return a[a.LoadingBoundary=0]="LoadingBoundary",a[a.PPR=1]="PPR",a[a.PPRRuntime=2]="PPRRuntime",a[a.Full=3]="Full",a}({});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},68477:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.ImageConfigContext},68737:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(31768),e=()=>{};function f(a){var b;let{headManager:c,reduceComponentsToState:f}=a;function g(){if(c&&c.mountedInstances){let b=d.Children.toArray(Array.from(c.mountedInstances).filter(Boolean));c.updateHead(f(b,a))}}return null==c||null==(b=c.mountedInstances)||b.add(a.children),g(),e(()=>{var b;return null==c||null==(b=c.mountedInstances)||b.add(a.children),()=>{var b;null==c||null==(b=c.mountedInstances)||b.delete(a.children)}}),e(()=>(c&&(c._pendingUpdate=g),()=>{c&&(c._pendingUpdate=g)})),null}},71281:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{formatUrl:function(){return f},formatWithValidation:function(){return h},urlObjectKeys:function(){return g}});let d=c(86274)._(c(22345)),e=/https?|ftp|gopher|file/;function f(a){let{auth:b,hostname:c}=a,f=a.protocol||"",g=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?"["+c+"]":c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(d.urlQueryToSearchParams(i)));let k=a.search||i&&"?"+i||"";return f&&!f.endsWith(":")&&(f+=":"),a.slashes||(!f||e.test(f))&&!1!==j?(j="//"+(j||""),g&&"/"!==g[0]&&(g="/"+g)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),""+f+j+(g=g.replace(/[?#]/g,encodeURIComponent))+(k=k.replace("#","%23"))+h}let g=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function h(a){return f(a)}},72921:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>f});var d=c(78157),e=c(26556);function f({children:a}){return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:a})}},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76692:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AppRouterAnnouncer",{enumerable:!0,get:function(){return g}});let d=c(31768),e=c(65081),f="next-route-announcer";function g(a){let{tree:b}=a,[c,g]=(0,d.useState)(null);(0,d.useEffect)(()=>(g(function(){var a;let b=document.getElementsByName(f)[0];if(null==b||null==(a=b.shadowRoot)?void 0:a.childNodes[0])return b.shadowRoot.childNodes[0];{let a=document.createElement(f);a.style.cssText="position:absolute";let b=document.createElement("div");return b.ariaLive="assertive",b.id="__next-route-announcer__",b.role="alert",b.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",a.attachShadow({mode:"open"}).appendChild(b),document.body.appendChild(a),b}}()),()=>{let a=document.getElementsByTagName(f)[0];(null==a?void 0:a.isConnected)&&document.body.removeChild(a)}),[]);let[h,i]=(0,d.useState)(""),j=(0,d.useRef)(void 0);return(0,d.useEffect)(()=>{let a="";if(document.title)a=document.title;else{let b=document.querySelector("h1");b&&(a=b.innerText||b.textContent||"")}void 0!==j.current&&j.current!==a&&i(a),j.current=a},[b]),c?(0,e.createPortal)(h,c):null}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},76760:a=>{"use strict";a.exports=require("node:path")},77387:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return i}}),c(99026);let d=c(28010),e=c(61798),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i(a,b){var c,i;let j,k,l,{src:m,sizes:n,unoptimized:o=!1,priority:p=!1,loading:q,className:r,quality:s,width:t,height:u,fill:v=!1,style:w,overrideSrc:x,onLoad:y,onLoadingComplete:z,placeholder:A="empty",blurDataURL:B,fetchPriority:C,decoding:D="async",layout:E,objectFit:F,objectPosition:G,lazyBoundary:H,lazyRoot:I,...J}=a,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=b,O=K||e.imageConfigDefault;if("allSizes"in O)j=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),d=null==(c=O.qualities)?void 0:c.sort((a,b)=>a-b);j={...O,allSizes:a,deviceSizes:b,qualities:d}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=J.loader||N;delete J.loader,delete J.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===j.loader)throw Object.defineProperty(Error('Image with src "'+m+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(E){"fill"===E&&(v=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];a&&(w={...w,...a});let b={responsive:"100vw",fill:"100vw"}[E];b&&!n&&(n=b)}let R="",S=h(t),T=h(u);if((i=m)&&"object"==typeof i&&(g(i)||void 0!==i.src)){let a=g(m)?m.default:m;if(!a.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!a.height||!a.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(k=a.blurWidth,l=a.blurHeight,B=B||a.blurDataURL,R=a.src,!v)if(S||T){if(S&&!T){let b=S/a.width;T=Math.round(a.height*b)}else if(!S&&T){let b=T/a.height;S=Math.round(a.width*b)}}else S=a.width,T=a.height}let U=!p&&("lazy"===q||void 0===q);(!(m="string"==typeof m?m:R)||m.startsWith("data:")||m.startsWith("blob:"))&&(o=!0,U=!1),j.unoptimized&&(o=!0),Q&&!j.dangerouslyAllowSVG&&m.split("?",1)[0].endsWith(".svg")&&(o=!0);let V=h(s),W=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:F,objectPosition:G}:{},L?{}:{color:"transparent"},w),X=M||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,d.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:k,blurHeight:l,blurDataURL:B||"",objectFit:W.objectFit})+'")':'url("'+A+'")',Y=f.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function(a){let{config:b,src:c,unoptimized:d,width:e,quality:f,sizes:g,loader:h}=a;if(d)return{src:c,srcSet:void 0,sizes:void 0};let{widths:i,kind:j}=function(a,b,c){let{deviceSizes:d,allSizes:e}=a;if(c){let a=/(^|\s)(1?\d?\d)vw/g,b=[];for(let d;d=a.exec(c);)b.push(parseInt(d[2]));if(b.length){let a=.01*Math.min(...b);return{widths:e.filter(b=>b>=d[0]*a),kind:"w"}}return{widths:e,kind:"w"}}return"number"!=typeof b?{widths:d,kind:"w"}:{widths:[...new Set([b,2*b].map(a=>e.find(b=>b>=a)||e[e.length-1]))],kind:"x"}}(b,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((a,d)=>h({config:b,src:c,quality:f,width:a})+" "+("w"===j?a:d+1)+j).join(", "),src:h({config:b,src:c,quality:f,width:i[k]})}}({config:j,src:m,unoptimized:o,width:S,quality:V,sizes:n,loader:P});return{props:{...J,loading:U?"lazy":q,fetchPriority:C,width:S,height:T,decoding:D,className:r,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:x||$.src},meta:{unoptimized:o,priority:p,placeholder:A,fill:v}}}},77598:a=>{"use strict";a.exports=require("node:crypto")},77692:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function a(b,c){let d=b[0],e=c[0];if(Array.isArray(d)&&Array.isArray(e)){if(d[0]!==e[0]||d[2]!==e[2])return!0}else if(d!==e)return!0;if(b[4])return!c[4];if(c[4])return!0;let f=Object.values(b[1])[0],g=Object.values(c[1])[0];return!f||!g||a(f,g)}}}),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79075:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(15915),e=c(86274),f=c(78157),g=e._(c(31768)),h=d._(c(65081)),i=d._(c(67122)),j=c(77387),k=c(61798),l=c(68477);c(99026);let m=c(61966),n=d._(c(62475)),o=c(79268),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=null==a?void 0:a.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),null==c?void 0:c.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}(null==d?void 0:d.current)&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)((a,b)=>{let{src:c,srcSet:d,sizes:e,height:h,width:i,decoding:j,className:k,style:l,fetchPriority:m,placeholder:n,loading:p,unoptimized:s,fill:t,onLoadRef:u,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:y,onLoad:z,onError:A,...B}=a,C=(0,g.useCallback)(a=>{a&&(A&&(a.src=a.src),a.complete&&q(a,n,u,v,w,s,y))},[c,n,u,v,w,A,s,y]),D=(0,o.useMergedRef)(b,C);return(0,f.jsx)("img",{...B,...r(m),loading:p,width:i,height:h,decoding:j,"data-nimg":t?"fill":"1",className:k,style:l,sizes:e,srcSet:d,src:c,ref:D,onLoad:a=>{q(a.currentTarget,n,u,v,w,s,y)},onError:a=>{x(!0),"empty"!==n&&w(!0),A&&A(a)}})});function t(a){let{isAppRouter:b,imgAttributes:c}=a,d={as:"image",imageSrcSet:c.srcSet,imageSizes:c.sizes,crossOrigin:c.crossOrigin,referrerPolicy:c.referrerPolicy,...r(c.fetchPriority)};return b&&h.default.preload?(h.default.preload(c.src,d),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:c.srcSet?void 0:c.src,...d},"__nimg-"+c.src+c.srcSet+c.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{var a;let b=p||d||k.imageConfigDefault,c=[...b.deviceSizes,...b.imageSizes].sort((a,b)=>a-b),e=b.deviceSizes.sort((a,b)=>a-b),f=null==(a=b.qualities)?void 0:a.sort((a,b)=>a-b);return{...b,allSizes:c,deviceSizes:e,qualities:f}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.priority?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79268:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=c(31768);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79390:(a,b,c)=>{"use strict";function d(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}c.d(b,{$:()=>d})},80678:(a,b,c)=>{"use strict";c.d(b,{$:()=>s});var d=c(78157),e=c(31768),f=c.t(e,2);function g(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}var h=function(a){let b=e.forwardRef((b,c)=>{var d;let f,h,{children:k,...p}=b,q=null,r=!1,s=[];l(k)&&"function"==typeof o&&(k=o(k._payload)),e.Children.forEach(k,a=>{var b;if(b=a,e.isValidElement(b)&&"function"==typeof b.type&&"__radixId"in b.type&&b.type.__radixId===i){r=!0;let b="child"in a.props?a.props.child:a.props.children;l(b)&&"function"==typeof o&&(b=o(b._payload)),q=j(a,b),s.push(q?.props?.children)}else s.push(a)}),q?q=e.cloneElement(q,void 0,s):!r&&1===e.Children.count(k)&&e.isValidElement(k)&&(q=k);let t=q?(d=q,(h=(f=Object.getOwnPropertyDescriptor(d.props,"ref")?.get)&&"isReactWarning"in f&&f.isReactWarning)?d.ref:(h=(f=Object.getOwnPropertyDescriptor(d,"ref")?.get)&&"isReactWarning"in f&&f.isReactWarning)?d.props.ref:d.props.ref||d.ref):void 0,u=function(...a){return e.useCallback(function(...a){return b=>{let c=!1,d=a.map(a=>{let d=g(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():g(a[b],null)}}}}(...a),a)}(c,t);if(!q){if(k||0===k)throw Error(r?n(a):m(a));return k}let v=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(p,q.props??{});return q.type!==e.Fragment&&(v.ref=c?u:t),e.cloneElement(q,v)});return b.displayName=`${a}.Slot`,b}("Slot"),i=Symbol.for("radix.slottable"),j=(a,b)=>{if("child"in a.props){let b=a.props.child;return e.isValidElement(b)?e.cloneElement(b,void 0,a.props.children(b.props.children)):null}return e.isValidElement(b)?b:null},k=Symbol.for("react.lazy");function l(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===k&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var m=a=>`${a} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,n=a=>`${a} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,o=f[" use ".trim().toString()],p=c(4306),q=c(84655);let r=(0,p.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8"}},defaultVariants:{variant:"default",size:"default"}}),s=e.forwardRef(({className:a,variant:b,size:c,asChild:e=!1,...f},g)=>(0,d.jsx)(e?h:"button",{className:(0,q.cn)(r({variant:b,size:c,className:a})),ref:g,...f}));s.displayName="Button"},81288:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DYNAMIC_STALETIME_MS:function(){return m},STATIC_STALETIME_MS:function(){return n},createSeededPrefetchCacheEntry:function(){return j},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return l}});let d=c(94082),e=c(13136),f=c(37446);function g(a,b,c){let d=a.pathname;return(b&&(d+=a.search),c)?""+c+"%"+d:d}function h(a,b,c){return g(a,b===e.PrefetchKind.FULL,c)}function i(a){let{url:b,nextUrl:c,tree:d,prefetchCache:f,kind:h,allowAliasing:i=!0}=a,j=function(a,b,c,d,f){for(let h of(void 0===b&&(b=e.PrefetchKind.TEMPORARY),[c,null])){let c=g(a,!0,h),i=g(a,!1,h),j=a.search?c:i,k=d.get(j);if(k&&f){if(k.url.pathname===a.pathname&&k.url.search!==a.search)return{...k,aliased:!0};return k}let l=d.get(i);if(f&&a.search&&b!==e.PrefetchKind.FULL&&l&&!l.key.includes("%"))return{...l,aliased:!0}}if(b!==e.PrefetchKind.FULL&&f){for(let b of d.values())if(b.url.pathname===a.pathname&&!b.key.includes("%"))return{...b,aliased:!0}}}(b,h,c,f,i);return j?(j.status=o(j),j.kind!==e.PrefetchKind.FULL&&h===e.PrefetchKind.FULL&&j.data.then(a=>{if(!(Array.isArray(a.flightData)&&a.flightData.some(a=>a.isRootRender&&null!==a.seedData)))return k({tree:d,url:b,nextUrl:c,prefetchCache:f,kind:null!=h?h:e.PrefetchKind.TEMPORARY})}),h&&j.kind===e.PrefetchKind.TEMPORARY&&(j.kind=h),j):k({tree:d,url:b,nextUrl:c,prefetchCache:f,kind:h||e.PrefetchKind.TEMPORARY})}function j(a){let{nextUrl:b,tree:c,prefetchCache:d,url:f,data:g,kind:i}=a,j=g.couldBeIntercepted?h(f,i,b):h(f,i),k={treeAtTimeOfPrefetch:c,data:Promise.resolve(g),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:g.staleTime,key:j,status:e.PrefetchCacheEntryStatus.fresh,url:f};return d.set(j,k),k}function k(a){let{url:b,kind:c,tree:g,nextUrl:i,prefetchCache:j}=a,k=h(b,c),l=f.prefetchQueue.enqueue(()=>(0,d.fetchServerResponse)(b,{flightRouterState:g,nextUrl:i,prefetchKind:c}).then(a=>{let c;if(a.couldBeIntercepted&&(c=function(a){let{url:b,nextUrl:c,prefetchCache:d,existingCacheKey:e}=a,f=d.get(e);if(!f)return;let g=h(b,f.kind,c);return d.set(g,{...f,key:g}),d.delete(e),g}({url:b,existingCacheKey:k,nextUrl:i,prefetchCache:j})),a.prerendered){let b=j.get(null!=c?c:k);b&&(b.kind=e.PrefetchKind.FULL,-1!==a.staleTime&&(b.staleTime=a.staleTime))}return a})),m={treeAtTimeOfPrefetch:g,data:l,kind:c,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:k,status:e.PrefetchCacheEntryStatus.fresh,url:b};return j.set(k,m),m}function l(a){for(let[b,c]of a)o(c)===e.PrefetchCacheEntryStatus.expired&&a.delete(b)}let m=1e3*Number("0"),n=1e3*Number("300");function o(a){let{kind:b,prefetchTime:c,lastUsedTime:d}=a;return Date.now()<(null!=d?d:c)+m?d?e.PrefetchCacheEntryStatus.reusable:e.PrefetchCacheEntryStatus.fresh:b===e.PrefetchKind.AUTO&&Date.now()<c+n?e.PrefetchCacheEntryStatus.stale:b===e.PrefetchKind.FULL&&Date.now()<c+n?e.PrefetchCacheEntryStatus.reusable:e.PrefetchCacheEntryStatus.expired}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},81744:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(31768);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)},f=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let h=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:e,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...g,width:b,height:b,stroke:a,strokeWidth:e?24*Number(c)/Number(b):c,className:f("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),i=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},i)=>(0,d.createElement)(h,{ref:i,iconNode:b,className:f(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c}},82582:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{abortTask:function(){return o},listenForDynamicRequest:function(){return n},startPPRNavigation:function(){return j},updateCacheNodeOnPopstateRestoration:function(){return function a(b,c){let d=c[1],e=b.parallelRoutes,g=new Map(e);for(let b in d){let c=d[b],h=c[0],i=(0,f.createRouterCacheKey)(h),j=e.get(b);if(void 0!==j){let d=j.get(i);if(void 0!==d){let e=a(d,c),f=new Map(j);f.set(i,e),g.set(b,f)}}}let h=b.rsc,i=r(h)&&"pending"===h.status;return{lazyData:null,rsc:h,head:b.head,prefetchHead:i?b.prefetchHead:[null,null],prefetchRsc:i?b.prefetchRsc:null,loading:b.loading,parallelRoutes:g,navigatedAt:b.navigatedAt}}}});let d=c(44859),e=c(58395),f=c(82521),g=c(77692),h=c(81288),i={route:null,node:null,dynamicRequestTree:null,children:null};function j(a,b,c,g,h,j,m,n,o){return function a(b,c,g,h,j,m,n,o,p,q,r){let s=g[1],t=h[1],u=null!==m?m[2]:null;j||!0===h[4]&&(j=!0);let v=c.parallelRoutes,w=new Map(v),x={},y=null,z=!1,A={};for(let c in t){let g,h=t[c],l=s[c],m=v.get(c),B=null!==u?u[c]:null,C=h[0],D=q.concat([c,C]),E=(0,f.createRouterCacheKey)(C),F=void 0!==l?l[0]:void 0,G=void 0!==m?m.get(E):void 0;if(null!==(g=C===d.DEFAULT_SEGMENT_KEY?void 0!==l?{route:l,node:null,dynamicRequestTree:null,children:null}:k(b,l,h,G,j,void 0!==B?B:null,n,o,D,r):p&&0===Object.keys(h[1]).length?k(b,l,h,G,j,void 0!==B?B:null,n,o,D,r):void 0!==l&&void 0!==F&&(0,e.matchSegment)(C,F)&&void 0!==G&&void 0!==l?a(b,G,l,h,j,B,n,o,p,D,r):k(b,l,h,G,j,void 0!==B?B:null,n,o,D,r))){if(null===g.route)return i;null===y&&(y=new Map),y.set(c,g);let a=g.node;if(null!==a){let b=new Map(m);b.set(E,a),w.set(c,b)}let b=g.route;x[c]=b;let d=g.dynamicRequestTree;null!==d?(z=!0,A[c]=d):A[c]=b}else x[c]=h,A[c]=h}if(null===y)return null;let B={lazyData:null,rsc:c.rsc,prefetchRsc:c.prefetchRsc,head:c.head,prefetchHead:c.prefetchHead,loading:c.loading,parallelRoutes:w,navigatedAt:b};return{route:l(h,x),node:B,dynamicRequestTree:z?l(h,A):null,children:y}}(a,b,c,g,!1,h,j,m,n,[],o)}function k(a,b,c,d,e,j,k,n,o,p){return!e&&(void 0===b||(0,g.isNavigatingToNewRootLayout)(b,c))?i:function a(b,c,d,e,g,i,j,k){let n,o,p,q,r=c[1],s=0===Object.keys(r).length;if(void 0!==d&&d.navigatedAt+h.DYNAMIC_STALETIME_MS>b)n=d.rsc,o=d.loading,p=d.head,q=d.navigatedAt;else if(null===e)return m(b,c,null,g,i,j,k);else if(n=e[1],o=e[3],p=s?g:null,q=b,e[4]||i&&s)return m(b,c,e,g,i,j,k);let t=null!==e?e[2]:null,u=new Map,v=void 0!==d?d.parallelRoutes:null,w=new Map(v),x={},y=!1;if(s)k.push(j);else for(let c in r){let d=r[c],e=null!==t?t[c]:null,h=null!==v?v.get(c):void 0,l=d[0],m=j.concat([c,l]),n=(0,f.createRouterCacheKey)(l),o=a(b,d,void 0!==h?h.get(n):void 0,e,g,i,m,k);u.set(c,o);let p=o.dynamicRequestTree;null!==p?(y=!0,x[c]=p):x[c]=d;let q=o.node;if(null!==q){let a=new Map;a.set(n,q),w.set(c,a)}}return{route:c,node:{lazyData:null,rsc:n,prefetchRsc:null,head:p,prefetchHead:null,loading:o,parallelRoutes:w,navigatedAt:q},dynamicRequestTree:y?l(c,x):null,children:u}}(a,c,d,j,k,n,o,p)}function l(a,b){let c=[a[0],b];return 2 in a&&(c[2]=a[2]),3 in a&&(c[3]=a[3]),4 in a&&(c[4]=a[4]),c}function m(a,b,c,d,e,g,h){let i=l(b,b[1]);return i[3]="refetch",{route:b,node:function a(b,c,d,e,g,h,i){let j=c[1],k=null!==d?d[2]:null,l=new Map;for(let c in j){let d=j[c],m=null!==k?k[c]:null,n=d[0],o=h.concat([c,n]),p=(0,f.createRouterCacheKey)(n),q=a(b,d,void 0===m?null:m,e,g,o,i),r=new Map;r.set(p,q),l.set(c,r)}let m=0===l.size;m&&i.push(h);let n=null!==d?d[1]:null,o=null!==d?d[3]:null;return{lazyData:null,parallelRoutes:l,prefetchRsc:void 0!==n?n:null,prefetchHead:m?e:[null,null],loading:void 0!==o?o:null,rsc:s(),head:m?s():null,navigatedAt:b}}(a,b,c,d,e,g,h),dynamicRequestTree:i,children:null}}function n(a,b){b.then(b=>{let{flightData:c}=b;if("string"!=typeof c){for(let b of c){let{segmentPath:c,tree:d,seedData:g,head:h}=b;g&&function(a,b,c,d,g){let h=a;for(let a=0;a<b.length;a+=2){let c=b[a],d=b[a+1],f=h.children;if(null!==f){let a=f.get(c);if(void 0!==a){let b=a.route[0];if((0,e.matchSegment)(d,b)){h=a;continue}}}return}!function a(b,c,d,g){if(null===b.dynamicRequestTree)return;let h=b.children,i=b.node;if(null===h){null!==i&&(function a(b,c,d,g,h){let i=c[1],j=d[1],k=g[2],l=b.parallelRoutes;for(let b in i){let c=i[b],d=j[b],g=k[b],m=l.get(b),n=c[0],o=(0,f.createRouterCacheKey)(n),q=void 0!==m?m.get(o):void 0;void 0!==q&&(void 0!==d&&(0,e.matchSegment)(n,d[0])&&null!=g?a(q,c,d,g,h):p(c,q,null))}let m=b.rsc,n=g[1];null===m?b.rsc=n:r(m)&&m.resolve(n);let o=b.head;r(o)&&o.resolve(h)}(i,b.route,c,d,g),b.dynamicRequestTree=null);return}let j=c[1],k=d[2];for(let b in c){let c=j[b],d=k[b],f=h.get(b);if(void 0!==f){let b=f.route[0];if((0,e.matchSegment)(c[0],b)&&null!=d)return a(f,c,d,g)}}}(h,c,d,g)}(a,c,d,g,h)}o(a,null)}},b=>{o(a,b)})}function o(a,b){let c=a.node;if(null===c)return;let d=a.children;if(null===d)p(a.route,c,b);else for(let a of d.values())o(a,b);a.dynamicRequestTree=null}function p(a,b,c){let d=a[1],e=b.parallelRoutes;for(let a in d){let b=d[a],g=e.get(a);if(void 0===g)continue;let h=b[0],i=(0,f.createRouterCacheKey)(h),j=g.get(i);void 0!==j&&p(b,j,c)}let g=b.rsc;r(g)&&(null===c?g.resolve(null):g.reject(c));let h=b.head;r(h)&&h.resolve(null)}let q=Symbol();function r(a){return a&&a.tag===q}function s(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return c.status="pending",c.resolve=b=>{"pending"===c.status&&(c.status="fulfilled",c.value=b,a(b))},c.reject=a=>{"pending"===c.status&&(c.status="rejected",c.reason=a,b(a))},c.tag=q,c}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},82787:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"findHeadInCache",{enumerable:!0,get:function(){return f}});let d=c(44859),e=c(82521);function f(a,b){return function a(b,c,f,g){if(0===Object.keys(c).length)return[b,f,g];let h=Object.keys(c).filter(a=>"children"!==a);for(let g of("children"in c&&h.unshift("children"),h)){let[h,i]=c[g];if(h===d.DEFAULT_SEGMENT_KEY)continue;let j=b.parallelRoutes.get(g);if(!j)continue;let k=(0,e.createRouterCacheKey)(h),l=(0,e.createRouterCacheKey)(h,!0),m=j.get(k);if(!m)continue;let n=a(m,i,f+"/"+k,f+"/"+l);if(n)return n}return null}(a,b,"","")}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},82853:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(67431);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},83328:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return f}});let d=c(41831),e=c(67431),f=a=>{if(!a.startsWith("/"))return a;let{pathname:b,query:c,hash:f}=(0,e.parsePath)(a);return""+(0,d.removeTrailingSlash)(b)+c+f};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},84254:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"hmrRefreshReducer",{enumerable:!0,get:function(){return d}}),c(94082),c(75497),c(24848),c(77692),c(15426),c(26613),c(11966),c(25918),c(13355),c(78592);let d=function(a,b){return a};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},84655:(a,b,c)=>{"use strict";c.d(b,{cn:()=>ap});var d=c(79390);let e=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),f=[],g=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=g(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let h=0===b?a.join("-"):a.slice(b).join("-"),i=f.length;for(let a=0;a<i;a++){let b=f[a];if(b.validator(h))return b.classGroupId}},h=(a,b)=>{let c=e();for(let d in a)i(a[d],c,d,b);return c},i=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)j(a[f],b,c,d)},j=(a,b,c,d)=>"string"==typeof a?void k(a,b,c):"function"==typeof a?void l(a,b,c,d):void m(a,b,c,d),k=(a,b,c)=>{(""===a?b:n(b,a)).classGroupId=c},l=(a,b,c,d)=>{if(o(a))return void i(a(d),b,c,d);null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a})},m=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];i(g,n(b,f),c,d)}},n=(a,b)=>{let c=a,d=b.split("-"),f=d.length;for(let a=0;a<f;a++){let b=d[a],f=c.nextPart.get(b);f||(f=e(),c.nextPart.set(b,f)),c=f}return c},o=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,p=[],q=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),r=/\s+/,s=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=s(a[d]))&&(c&&(c+=" "),c+=b);return c},t=[],u=a=>{let b=b=>b[a]||t;return b.isThemeGetter=!0,b},v=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,w=/^\((?:(\w[\w-]*):)?(.+)\)$/i,x=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,y=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,z=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,A=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,B=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,C=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,D=a=>x.test(a),E=a=>!!a&&!Number.isNaN(Number(a)),F=a=>!!a&&Number.isInteger(Number(a)),G=a=>a.endsWith("%")&&E(a.slice(0,-1)),H=a=>y.test(a),I=()=>!0,J=a=>z.test(a)&&!A.test(a),K=()=>!1,L=a=>B.test(a),M=a=>C.test(a),N=a=>!Q(a)&&!Y(a),O=a=>a.startsWith("@container")&&("/"===a[10]&&void 0!==a[11]||"s"===a[11]&&void 0!==a[16]&&a.startsWith("-size/",10)||"n"===a[11]&&void 0!==a[18]&&a.startsWith("-normal/",10)),P=a=>ae(a,ai,K),Q=a=>v.test(a),R=a=>ae(a,aj,J),S=a=>ae(a,ak,E),T=a=>ae(a,am,I),U=a=>ae(a,al,K),V=a=>ae(a,ag,K),W=a=>ae(a,ah,M),X=a=>ae(a,an,L),Y=a=>w.test(a),Z=a=>af(a,aj),$=a=>af(a,al),_=a=>af(a,ag),aa=a=>af(a,ai),ab=a=>af(a,ah),ac=a=>af(a,an,!0),ad=a=>af(a,am,!0),ae=(a,b,c)=>{let d=v.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},af=(a,b,c=!1)=>{let d=w.exec(a);return!!d&&(d[1]?b(d[1]):c)},ag=a=>"position"===a||"percentage"===a,ah=a=>"image"===a||"url"===a,ai=a=>"length"===a||"size"===a||"bg-size"===a,aj=a=>"length"===a,ak=a=>"number"===a,al=a=>"family-name"===a,am=a=>"number"===a||"weight"===a,an=a=>"shadow"===a;Symbol.toStringTag;let ao=((a,...b)=>{let c,d,e,i,j=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f,postfixLookupClassGroupIds:g}=b,h=[],i=a.trim().split(r),j="";for(let a=i.length-1;a>=0;a-=1){let b,k=i[a],{isExternal:l,modifiers:m,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:p}=c(k);if(l){j=k+(j.length>0?" "+j:j);continue}let q=!!p;if(q){let a=(b=d(o.substring(0,p)))&&g[b]?d(o):void 0;a&&a!==b&&(b=a,q=!1)}else b=d(o);if(!b){if(!q||!(b=d(o))){j=k+(j.length>0?" "+j:j);continue}q=!1}let r=0===m.length?"":1===m.length?m[0]:f(m).join(":"),s=n?r+"!":r,t=s+b;if(h.indexOf(t)>-1)continue;h.push(t);let u=e(b,q);for(let a=0;a<u.length;++a){let b=u[a];h.push(s+b)}j=k+(j.length>0?" "+j:j)}return j})(a,c);return e(a,f),f};return i=k=>(d=(c=(a=>({cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})(a.cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),q(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):q(p,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(a),sortModifiers:(a=>{let b=new Map;return a.orderSensitiveModifiers.forEach((a,c)=>{b.set(a,1e6+c)}),a=>{let c=[],d=[];for(let e=0;e<a.length;e++){let f=a[e],g="["===f[0],h=b.has(f);g||h?(d.length>0&&(d.sort(),c.push(...d),d=[]),c.push(f)):d.push(f)}return d.length>0&&(d.sort(),c.push(...d)),c}})(a),postfixLookupClassGroupIds:(a=>{let b=Object.create(null),c=a.postfixLookupClassGroups;if(c)for(let a=0;a<c.length;a++)b[c[a]]=!0;return b})(a),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return h(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return(a=>-1===a.slice(1,-1).indexOf(":")?void 0:(()=>{let b=a.slice(1,-1),c=b.indexOf(":"),d=b.slice(0,c);return d?"arbitrary.."+d:void 0})())(a);let c=a.split("-"),d=+(""===c[0]&&c.length>1);return g(c,d,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];return b?e?((a,b)=>{let c=Array(a.length+b.length);for(let b=0;b<a.length;b++)c[b]=a[b];for(let d=0;d<b.length;d++)c[a.length+d]=b[d];return c})(e,b):b:e||f}return c[a]||f}}})(a)}))(b.reduce((a,b)=>b(a),a()))).cache.get,e=c.cache.set,i=j,j(k)),(...a)=>i(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=s(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=u("color"),b=u("font"),c=u("text"),d=u("font-weight"),e=u("tracking"),f=u("leading"),g=u("breakpoint"),h=u("container"),i=u("spacing"),j=u("radius"),k=u("shadow"),l=u("inset-shadow"),m=u("text-shadow"),n=u("drop-shadow"),o=u("blur"),p=u("perspective"),q=u("aspect"),r=u("ease"),s=u("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...v(),Y,Q],x=()=>["auto","hidden","clip","visible","scroll"],y=()=>["auto","contain","none"],z=()=>[Y,Q,i],A=()=>[D,"full","auto",...z()],B=()=>[F,"none","subgrid",Y,Q],C=()=>["auto",{span:["full",F,Y,Q]},F,Y,Q],J=()=>[F,"auto",Y,Q],K=()=>["auto","min","max","fr",Y,Q],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],ae=()=>["auto",...z()],af=()=>[D,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],ag=()=>[D,"screen","full","dvw","lvw","svw","min","max","fit",...z()],ah=()=>[D,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],ai=()=>[a,Y,Q],aj=()=>[...v(),_,V,{position:[Y,Q]}],ak=()=>["no-repeat",{repeat:["","x","y","space","round"]}],al=()=>["auto","cover","contain",aa,P,{size:[Y,Q]}],am=()=>[G,Z,R],an=()=>["","none","full",j,Y,Q],ao=()=>["",E,Z,R],ap=()=>["solid","dashed","dotted","double"],aq=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ar=()=>[E,G,_,V],as=()=>["","none",o,Y,Q],at=()=>["none",E,Y,Q],au=()=>["none",E,Y,Q],av=()=>[E,Y,Q],aw=()=>[D,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[H],breakpoint:[H],color:[I],container:[H],"drop-shadow":[H],ease:["in","out","in-out"],font:[N],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[H],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[H],shadow:[H],spacing:["px",E],text:[H],"text-shadow":[H],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",D,Q,Y,q]}],container:["container"],"container-type":[{"@container":["","normal","size",Y,Q]}],"container-named":[O],columns:[{columns:[E,Q,Y,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:y()}],"overscroll-x":[{"overscroll-x":y()}],"overscroll-y":[{"overscroll-y":y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[F,"auto",Y,Q]}],basis:[{basis:[D,"full","auto",h,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[E,D,"auto","initial","none",Q]}],grow:[{grow:["",E,Y,Q]}],shrink:[{shrink:["",E,Y,Q]}],order:[{order:[F,"first","last","none",Y,Q]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":K()}],"auto-rows":[{"auto-rows":K()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:ae()}],mx:[{mx:ae()}],my:[{my:ae()}],ms:[{ms:ae()}],me:[{me:ae()}],mbs:[{mbs:ae()}],mbe:[{mbe:ae()}],mt:[{mt:ae()}],mr:[{mr:ae()}],mb:[{mb:ae()}],ml:[{ml:ae()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:af()}],"inline-size":[{inline:["auto",...ag()]}],"min-inline-size":[{"min-inline":["auto",...ag()]}],"max-inline-size":[{"max-inline":["none",...ag()]}],"block-size":[{block:["auto",...ah()]}],"min-block-size":[{"min-block":["auto",...ah()]}],"max-block-size":[{"max-block":["none",...ah()]}],w:[{w:[h,"screen",...af()]}],"min-w":[{"min-w":[h,"screen","none",...af()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...af()]}],h:[{h:["screen","lh",...af()]}],"min-h":[{"min-h":["screen","lh","none",...af()]}],"max-h":[{"max-h":["screen","lh",...af()]}],"font-size":[{text:["base",c,Z,R]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,ad,T]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",G,Q]}],"font-family":[{font:[$,U,b]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,Y,Q]}],"line-clamp":[{"line-clamp":[E,"none",Y,S]}],leading:[{leading:[f,...z()]}],"list-image":[{"list-image":["none",Y,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Y,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ai()}],"text-color":[{text:ai()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ap(),"wavy"]}],"text-decoration-thickness":[{decoration:[E,"from-font","auto",Y,R]}],"text-decoration-color":[{decoration:ai()}],"underline-offset":[{"underline-offset":[E,"auto",Y,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"tab-size":[{tab:[F,Y,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Y,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Y,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:aj()}],"bg-repeat":[{bg:ak()}],"bg-size":[{bg:al()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},F,Y,Q],radial:["",Y,Q],conic:[F,Y,Q]},ab,W]}],"bg-color":[{bg:ai()}],"gradient-from-pos":[{from:am()}],"gradient-via-pos":[{via:am()}],"gradient-to-pos":[{to:am()}],"gradient-from":[{from:ai()}],"gradient-via":[{via:ai()}],"gradient-to":[{to:ai()}],rounded:[{rounded:an()}],"rounded-s":[{"rounded-s":an()}],"rounded-e":[{"rounded-e":an()}],"rounded-t":[{"rounded-t":an()}],"rounded-r":[{"rounded-r":an()}],"rounded-b":[{"rounded-b":an()}],"rounded-l":[{"rounded-l":an()}],"rounded-ss":[{"rounded-ss":an()}],"rounded-se":[{"rounded-se":an()}],"rounded-ee":[{"rounded-ee":an()}],"rounded-es":[{"rounded-es":an()}],"rounded-tl":[{"rounded-tl":an()}],"rounded-tr":[{"rounded-tr":an()}],"rounded-br":[{"rounded-br":an()}],"rounded-bl":[{"rounded-bl":an()}],"border-w":[{border:ao()}],"border-w-x":[{"border-x":ao()}],"border-w-y":[{"border-y":ao()}],"border-w-s":[{"border-s":ao()}],"border-w-e":[{"border-e":ao()}],"border-w-bs":[{"border-bs":ao()}],"border-w-be":[{"border-be":ao()}],"border-w-t":[{"border-t":ao()}],"border-w-r":[{"border-r":ao()}],"border-w-b":[{"border-b":ao()}],"border-w-l":[{"border-l":ao()}],"divide-x":[{"divide-x":ao()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ao()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ap(),"hidden","none"]}],"divide-style":[{divide:[...ap(),"hidden","none"]}],"border-color":[{border:ai()}],"border-color-x":[{"border-x":ai()}],"border-color-y":[{"border-y":ai()}],"border-color-s":[{"border-s":ai()}],"border-color-e":[{"border-e":ai()}],"border-color-bs":[{"border-bs":ai()}],"border-color-be":[{"border-be":ai()}],"border-color-t":[{"border-t":ai()}],"border-color-r":[{"border-r":ai()}],"border-color-b":[{"border-b":ai()}],"border-color-l":[{"border-l":ai()}],"divide-color":[{divide:ai()}],"outline-style":[{outline:[...ap(),"none","hidden"]}],"outline-offset":[{"outline-offset":[E,Y,Q]}],"outline-w":[{outline:["",E,Z,R]}],"outline-color":[{outline:ai()}],shadow:[{shadow:["","none",k,ac,X]}],"shadow-color":[{shadow:ai()}],"inset-shadow":[{"inset-shadow":["none",l,ac,X]}],"inset-shadow-color":[{"inset-shadow":ai()}],"ring-w":[{ring:ao()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ai()}],"ring-offset-w":[{"ring-offset":[E,R]}],"ring-offset-color":[{"ring-offset":ai()}],"inset-ring-w":[{"inset-ring":ao()}],"inset-ring-color":[{"inset-ring":ai()}],"text-shadow":[{"text-shadow":["none",m,ac,X]}],"text-shadow-color":[{"text-shadow":ai()}],opacity:[{opacity:[E,Y,Q]}],"mix-blend":[{"mix-blend":[...aq(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":aq()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[E]}],"mask-image-linear-from-pos":[{"mask-linear-from":ar()}],"mask-image-linear-to-pos":[{"mask-linear-to":ar()}],"mask-image-linear-from-color":[{"mask-linear-from":ai()}],"mask-image-linear-to-color":[{"mask-linear-to":ai()}],"mask-image-t-from-pos":[{"mask-t-from":ar()}],"mask-image-t-to-pos":[{"mask-t-to":ar()}],"mask-image-t-from-color":[{"mask-t-from":ai()}],"mask-image-t-to-color":[{"mask-t-to":ai()}],"mask-image-r-from-pos":[{"mask-r-from":ar()}],"mask-image-r-to-pos":[{"mask-r-to":ar()}],"mask-image-r-from-color":[{"mask-r-from":ai()}],"mask-image-r-to-color":[{"mask-r-to":ai()}],"mask-image-b-from-pos":[{"mask-b-from":ar()}],"mask-image-b-to-pos":[{"mask-b-to":ar()}],"mask-image-b-from-color":[{"mask-b-from":ai()}],"mask-image-b-to-color":[{"mask-b-to":ai()}],"mask-image-l-from-pos":[{"mask-l-from":ar()}],"mask-image-l-to-pos":[{"mask-l-to":ar()}],"mask-image-l-from-color":[{"mask-l-from":ai()}],"mask-image-l-to-color":[{"mask-l-to":ai()}],"mask-image-x-from-pos":[{"mask-x-from":ar()}],"mask-image-x-to-pos":[{"mask-x-to":ar()}],"mask-image-x-from-color":[{"mask-x-from":ai()}],"mask-image-x-to-color":[{"mask-x-to":ai()}],"mask-image-y-from-pos":[{"mask-y-from":ar()}],"mask-image-y-to-pos":[{"mask-y-to":ar()}],"mask-image-y-from-color":[{"mask-y-from":ai()}],"mask-image-y-to-color":[{"mask-y-to":ai()}],"mask-image-radial":[{"mask-radial":[Y,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":ar()}],"mask-image-radial-to-pos":[{"mask-radial-to":ar()}],"mask-image-radial-from-color":[{"mask-radial-from":ai()}],"mask-image-radial-to-color":[{"mask-radial-to":ai()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[E]}],"mask-image-conic-from-pos":[{"mask-conic-from":ar()}],"mask-image-conic-to-pos":[{"mask-conic-to":ar()}],"mask-image-conic-from-color":[{"mask-conic-from":ai()}],"mask-image-conic-to-color":[{"mask-conic-to":ai()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:aj()}],"mask-repeat":[{mask:ak()}],"mask-size":[{mask:al()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Y,Q]}],filter:[{filter:["","none",Y,Q]}],blur:[{blur:as()}],brightness:[{brightness:[E,Y,Q]}],contrast:[{contrast:[E,Y,Q]}],"drop-shadow":[{"drop-shadow":["","none",n,ac,X]}],"drop-shadow-color":[{"drop-shadow":ai()}],grayscale:[{grayscale:["",E,Y,Q]}],"hue-rotate":[{"hue-rotate":[E,Y,Q]}],invert:[{invert:["",E,Y,Q]}],saturate:[{saturate:[E,Y,Q]}],sepia:[{sepia:["",E,Y,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",Y,Q]}],"backdrop-blur":[{"backdrop-blur":as()}],"backdrop-brightness":[{"backdrop-brightness":[E,Y,Q]}],"backdrop-contrast":[{"backdrop-contrast":[E,Y,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",E,Y,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[E,Y,Q]}],"backdrop-invert":[{"backdrop-invert":["",E,Y,Q]}],"backdrop-opacity":[{"backdrop-opacity":[E,Y,Q]}],"backdrop-saturate":[{"backdrop-saturate":[E,Y,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",E,Y,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Y,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[E,"initial",Y,Q]}],ease:[{ease:["linear","initial",r,Y,Q]}],delay:[{delay:[E,Y,Q]}],animate:[{animate:["none",s,Y,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,Y,Q]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:at()}],"rotate-x":[{"rotate-x":at()}],"rotate-y":[{"rotate-y":at()}],"rotate-z":[{"rotate-z":at()}],scale:[{scale:au()}],"scale-x":[{"scale-x":au()}],"scale-y":[{"scale-y":au()}],"scale-z":[{"scale-z":au()}],"scale-3d":["scale-3d"],skew:[{skew:av()}],"skew-x":[{"skew-x":av()}],"skew-y":[{"skew-y":av()}],transform:[{transform:[Y,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:aw()}],"translate-x":[{"translate-x":aw()}],"translate-y":[{"translate-y":aw()}],"translate-z":[{"translate-z":aw()}],"translate-none":["translate-none"],zoom:[{zoom:[F,Y,Q]}],accent:[{accent:ai()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ai()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Y,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ai()}],"scrollbar-track-color":[{"scrollbar-track":ai()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Y,Q]}],fill:[{fill:["none",...ai()]}],"stroke-w":[{stroke:[E,Z,R,S]}],stroke:[{stroke:["none",...ai()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ap(...a){return ao((0,d.$)(a))}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86556:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"refreshReducer",{enumerable:!0,get:function(){return o}});let d=c(94082),e=c(75497),f=c(24848),g=c(77692),h=c(15426),i=c(26613),j=c(63102),k=c(25918),l=c(13355),m=c(78592),n=c(18226);function o(a,b){let{origin:c}=b,o={},p=a.canonicalUrl,q=a.tree;o.preserveCustomHistoryState=!1;let r=(0,k.createEmptyCacheNode)(),s=(0,m.hasInterceptionRouteInCurrentTree)(a.tree);r.lazyData=(0,d.fetchServerResponse)(new URL(p,c),{flightRouterState:[q[0],q[1],q[2],"refetch"],nextUrl:s?a.nextUrl:null});let t=Date.now();return r.lazyData.then(async c=>{let{flightData:d,canonicalUrl:k}=c;if("string"==typeof d)return(0,h.handleExternalUrl)(a,o,d,a.pushRef.pendingPush);for(let c of(r.lazyData=null,d)){let{tree:d,seedData:i,head:m,isRootRender:u}=c;if(!u)return console.log("REFRESH FAILED"),a;let v=(0,f.applyRouterStatePatchToTree)([""],q,d,a.canonicalUrl);if(null===v)return(0,l.handleSegmentMismatch)(a,b,d);if((0,g.isNavigatingToNewRootLayout)(q,v))return(0,h.handleExternalUrl)(a,o,p,a.pushRef.pendingPush);let w=k?(0,e.createHrefFromUrl)(k):void 0;if(k&&(o.canonicalUrl=w),null!==i){let a=i[1],b=i[3];r.rsc=a,r.prefetchRsc=null,r.loading=b,(0,j.fillLazyItemsTillLeafWithHead)(t,r,void 0,d,i,m,void 0),o.prefetchCache=new Map}await (0,n.refreshInactiveParallelSegments)({navigatedAt:t,state:a,updatedTree:v,updatedCache:r,includeNextUrl:s,canonicalUrl:o.canonicalUrl||a.canonicalUrl}),o.cache=r,o.patchedTree=v,q=v}return(0,i.handleMutable)(a,o)},()=>a)}c(68459),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},94496:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return q},useLinkStatus:function(){return s}});let d=c(86274),e=c(78157),f=d._(c(31768)),g=c(71281),h=c(9344),i=c(79268),j=c(53387),k=c(61725);c(99026);let l=c(37384),m=c(29056),n=c(99500);c(98762);let o=c(68459);function p(a){return"string"==typeof a?a:(0,g.formatUrl)(a)}function q(a){var b;let c,d,g,[q,s]=(0,f.useOptimistic)(l.IDLE_LINK_STATUS),t=(0,f.useRef)(null),{href:u,as:v,children:w,prefetch:x=null,passHref:y,replace:z,shallow:A,scroll:B,onClick:C,onMouseEnter:D,onTouchStart:E,legacyBehavior:F=!1,onNavigate:G,ref:H,unstable_dynamicOnHover:I,...J}=a;c=w,F&&("string"==typeof c||"number"==typeof c)&&(c=(0,e.jsx)("a",{children:c}));let K=f.default.useContext(h.AppRouterContext),L=!1!==x,M=!1!==x?null===(b=x)||"auto"===b?o.FetchStrategy.PPR:o.FetchStrategy.Full:o.FetchStrategy.PPR,{href:N,as:O}=f.default.useMemo(()=>{let a=p(u);return{href:a,as:v?p(v):a}},[u,v]);F&&(d=f.default.Children.only(c));let P=F?d&&"object"==typeof d&&d.ref:H,Q=f.default.useCallback(a=>(null!==K&&(t.current=(0,l.mountLinkInstance)(a,N,K,M,L,s)),()=>{t.current&&((0,l.unmountLinkForCurrentNavigation)(t.current),t.current=null),(0,l.unmountPrefetchableInstance)(a)}),[L,N,K,M,s]),R={ref:(0,i.useMergedRef)(Q,P),onClick(a){F||"function"!=typeof C||C(a),F&&d.props&&"function"==typeof d.props.onClick&&d.props.onClick(a),K&&(a.defaultPrevented||function(a,b,c,d,e,g,h){let{nodeName:i}=a.currentTarget;if(!("A"===i.toUpperCase()&&function(a){let b=a.currentTarget.getAttribute("target");return b&&"_self"!==b||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.nativeEvent&&2===a.nativeEvent.which}(a)||a.currentTarget.hasAttribute("download"))){if(!(0,m.isLocalURL)(b)){e&&(a.preventDefault(),location.replace(b));return}if(a.preventDefault(),h){let a=!1;if(h({preventDefault:()=>{a=!0}}),a)return}f.default.startTransition(()=>{(0,n.dispatchNavigateAction)(c||b,e?"replace":"push",null==g||g,d.current)})}}(a,N,O,t,z,B,G))},onMouseEnter(a){F||"function"!=typeof D||D(a),F&&d.props&&"function"==typeof d.props.onMouseEnter&&d.props.onMouseEnter(a),K&&L&&(0,l.onNavigationIntent)(a.currentTarget,!0===I)},onTouchStart:function(a){F||"function"!=typeof E||E(a),F&&d.props&&"function"==typeof d.props.onTouchStart&&d.props.onTouchStart(a),K&&L&&(0,l.onNavigationIntent)(a.currentTarget,!0===I)}};return(0,j.isAbsoluteUrl)(O)?R.href=O:F&&!y&&("a"!==d.type||"href"in d.props)||(R.href=(0,k.addBasePath)(O)),g=F?f.default.cloneElement(d,R):(0,e.jsx)("a",{...J,...R,children:c}),(0,e.jsx)(r.Provider,{value:q,children:g})}let r=(0,f.createContext)(l.IDLE_LINK_STATUS),s=()=>(0,f.useContext)(r);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},94650:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"hasBasePath",{enumerable:!0,get:function(){return e}});let d=c(82853);function e(a){return(0,d.pathHasPrefix)(a,"")}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},98762:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"errorOnce",{enumerable:!0,get:function(){return c}});let c=a=>{}},98944:()=>{},99500:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{createMutableActionQueue:function(){return o},dispatchNavigateAction:function(){return q},dispatchTraverseAction:function(){return r},getCurrentAppRouterState:function(){return p},publicAppRouterInstance:function(){return s}});let d=c(13136),e=c(25248),f=c(31768),g=c(39370);c(68459);let h=c(46259),i=c(61725),j=c(25918),k=c(37446),l=c(37384);function m(a,b){null!==a.pending&&(a.pending=a.pending.next,null!==a.pending?n({actionQueue:a,action:a.pending,setState:b}):a.needsRefresh&&(a.needsRefresh=!1,a.dispatch({type:d.ACTION_REFRESH,origin:window.location.origin},b)))}async function n(a){let{actionQueue:b,action:c,setState:d}=a,e=b.state;b.pending=c;let f=c.payload,h=b.action(e,f);function i(a){c.discarded||(b.state=a,m(b,d),c.resolve(a))}(0,g.isThenable)(h)?h.then(i,a=>{m(b,d),c.reject(a)}):i(h)}function o(a,b){let c={state:a,dispatch:(a,b)=>(function(a,b,c){let e={resolve:c,reject:()=>{}};if(b.type!==d.ACTION_RESTORE){let a=new Promise((a,b)=>{e={resolve:a,reject:b}});(0,f.startTransition)(()=>{c(a)})}let g={payload:b,next:null,resolve:e.resolve,reject:e.reject};null===a.pending?(a.last=g,n({actionQueue:a,action:g,setState:c})):b.type===d.ACTION_NAVIGATE||b.type===d.ACTION_RESTORE?(a.pending.discarded=!0,g.next=a.pending.next,a.pending.payload.type===d.ACTION_SERVER_ACTION&&(a.needsRefresh=!0),n({actionQueue:a,action:g,setState:c})):(null!==a.last&&(a.last.next=g),a.last=g)})(c,a,b),action:async(a,b)=>(0,e.reducer)(a,b),pending:null,last:null,onRouterTransitionStart:null!==b&&"function"==typeof b.onRouterTransitionStart?b.onRouterTransitionStart:null};return c}function p(){return null}function q(a,b,c,e){let f=new URL((0,i.addBasePath)(a),location.href);(0,l.setLinkForCurrentNavigation)(e);(0,h.dispatchAppRouterAction)({type:d.ACTION_NAVIGATE,url:f,isExternalUrl:(0,j.isExternalURL)(f),locationSearch:location.search,shouldScroll:c,navigateType:b,allowAliasing:!0})}function r(a,b){(0,h.dispatchAppRouterAction)({type:d.ACTION_RESTORE,url:new URL(a),tree:b})}let s={back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(a,b)=>{let c=function(){throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}(),e=(0,j.createPrefetchURL)(a);if(null!==e){var f;(0,k.prefetchReducer)(c.state,{type:d.ACTION_PREFETCH,url:e,kind:null!=(f=null==b?void 0:b.kind)?f:d.PrefetchKind.FULL})}},replace:(a,b)=>{(0,f.startTransition)(()=>{var c;q(a,"replace",null==(c=null==b?void 0:b.scroll)||c,null)})},push:(a,b)=>{(0,f.startTransition)(()=>{var c;q(a,"push",null==(c=null==b?void 0:b.scroll)||c,null)})},refresh:()=>{(0,f.startTransition)(()=>{(0,h.dispatchAppRouterAction)({type:d.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Object.defineProperty(Error("hmrRefresh can only be used in development mode. Please use refresh instead."),"__NEXT_ERROR_CODE",{value:"E485",enumerable:!1,configurable:!0})}};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[901,200,900,332,477,585,120],()=>b(b.s=22772));module.exports=c})();
|
|
10
|
+
`),()=>{j.current?.removeAttribute("data-motion-pop-id"),u.contains(t)&&u.removeChild(t)}},[b]),(0,g.jsx)(a4,{isPresent:b,childRef:j,sizeRef:k,pop:f,children:!1===f?a:h.cloneElement(a,{ref:m})})}let a6=({children:a,initial:b,isPresent:c,onExitComplete:d,custom:e,presenceAffectsLayout:f,mode:i,anchorX:j,anchorY:k,root:l})=>{let m=aZ(a7),n=(0,h.useId)(),o=(0,h.useRef)(c),p=(0,h.useRef)(d);a$(()=>{o.current=c,p.current=d});let q=!0,r=(0,h.useMemo)(()=>(q=!1,{id:n,initial:b,isPresent:c,custom:e,onExitComplete:a=>{for(let b of(m.set(a,!0),m.values()))if(!b)return;d&&d()},register:a=>(m.set(a,!1),()=>{m.delete(a),o.current||m.size||p.current?.()})}),[c,m,d]);return f&&q&&(r={...r}),(0,h.useMemo)(()=>{m.forEach((a,b)=>m.set(b,!1))},[c]),h.useEffect(()=>{c||m.size||!d||d()},[c]),a=(0,g.jsx)(a5,{pop:"popLayout"===i,isPresent:c,anchorX:j,anchorY:k,root:l,children:a}),(0,g.jsx)(a_.Provider,{value:r,children:a})};function a7(){return new Map}function a8(a=!0){let b=(0,h.useContext)(a_);if(null===b)return[!0,null];let{isPresent:c,onExitComplete:d,register:e}=b,f=(0,h.useId)(),g=(0,h.useCallback)(()=>a&&d&&d(f),[f,d,a]);return!c&&d?[!1,g]:[!0]}let a9=a=>a.key||"";function ba(a){let b=[];return h.Children.forEach(a,a=>{(0,h.isValidElement)(a)&&b.push(a)}),b}let bb=({children:a,custom:b,initial:c=!0,onExitComplete:d,presenceAffectsLayout:e=!0,mode:f="sync",propagate:i=!1,anchorX:j="left",anchorY:k="top",root:l})=>{let[m,n]=a8(i),o=(0,h.useMemo)(()=>ba(a),[a]),p=i&&!m?[]:o.map(a9),q=(0,h.useRef)(!0),r=(0,h.useRef)(o),s=aZ(()=>new Map),t=(0,h.useRef)(new Set),[u,v]=(0,h.useState)(o),[w,x]=(0,h.useState)(o);a$(()=>{q.current=!1,r.current=o;for(let a=0;a<w.length;a++){let b=a9(w[a]);p.includes(b)?(s.delete(b),t.current.delete(b)):!0!==s.get(b)&&s.set(b,!1)}},[w,p.length,p.join("-")]);let y=[];if(o!==u){let a=[...o];for(let b=0;b<w.length;b++){let c=w[b],d=a9(c);p.includes(d)||(a.splice(b,0,c),y.push(c))}return"wait"===f&&y.length&&(a=y),x(ba(a)),v(o),null}let{forceRender:z}=(0,h.useContext)(aY);return(0,g.jsx)(g.Fragment,{children:w.map(a=>{let h=a9(a),u=(!i||!!m)&&(o===w||p.includes(h));return(0,g.jsx)(a6,{isPresent:u,initial:(!q.current||!!c)&&void 0,custom:b,presenceAffectsLayout:e,mode:f,root:l,onExitComplete:u?void 0:()=>{if(t.current.has(h)||!s.has(h))return;t.current.add(h),s.set(h,!0);let a=!0;s.forEach(b=>{b||(a=!1)}),a&&(z?.(),x(r.current),i&&n?.(),d&&d())},anchorX:j,anchorY:k,children:a},h)})})},bc=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],bd=new Set([...bc,"pathRotation"]),be=(a,b,c)=>c>b?b:c<a?a:c,bf={test:a=>"number"==typeof a,parse:parseFloat,transform:a=>a},bg={...bf,transform:a=>be(0,1,a)},bh={...bf,default:1},bi=a=>Math.round(1e5*a)/1e5,bj=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,bk=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,bl=(a,b)=>c=>!!("string"==typeof c&&bk.test(c)&&c.startsWith(a)||b&&null!=c&&Object.prototype.hasOwnProperty.call(c,b)),bm=(a,b,c)=>d=>{if("string"!=typeof d)return d;let[e,f,g,h]=d.match(bj);return{[a]:parseFloat(e),[b]:parseFloat(f),[c]:parseFloat(g),alpha:void 0!==h?parseFloat(h):1}},bn={...bf,transform:a=>Math.round(be(0,255,a))},bo={test:bl("rgb","red"),parse:bm("red","green","blue"),transform:({red:a,green:b,blue:c,alpha:d=1})=>"rgba("+bn.transform(a)+", "+bn.transform(b)+", "+bn.transform(c)+", "+bi(bg.transform(d))+")"},bp={test:bl("#"),parse:function(a){let b="",c="",d="",e="";return a.length>5?(b=a.substring(1,3),c=a.substring(3,5),d=a.substring(5,7),e=a.substring(7,9)):(b=a.substring(1,2),c=a.substring(2,3),d=a.substring(3,4),e=a.substring(4,5),b+=b,c+=c,d+=d,e+=e),{red:parseInt(b,16),green:parseInt(c,16),blue:parseInt(d,16),alpha:e?parseInt(e,16)/255:1}},transform:bo.transform},bq=a=>({test:b=>"string"==typeof b&&b.endsWith(a)&&1===b.split(" ").length,parse:parseFloat,transform:b=>`${b}${a}`}),br=bq("deg"),bs=bq("%"),bt=bq("px"),bu=bq("vh"),bv=bq("vw"),bw={...bs,parse:a=>bs.parse(a)/100,transform:a=>bs.transform(100*a)},bx={test:bl("hsl","hue"),parse:bm("hue","saturation","lightness"),transform:({hue:a,saturation:b,lightness:c,alpha:d=1})=>"hsla("+Math.round(a)+", "+bs.transform(bi(b))+", "+bs.transform(bi(c))+", "+bi(bg.transform(d))+")"},by={test:a=>bo.test(a)||bp.test(a)||bx.test(a),parse:a=>bo.test(a)?bo.parse(a):bx.test(a)?bx.parse(a):bp.parse(a),transform:a=>"string"==typeof a?a:a.hasOwnProperty("red")?bo.transform(a):bx.transform(a),getAnimatableNone:a=>{let b=by.parse(a);return b.alpha=0,by.transform(b)}},bz=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,bA="number",bB="color",bC=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function bD(a){let b=a.toString(),c=[],d={color:[],number:[],var:[]},e=[],f=0,g=b.replace(bC,a=>(by.test(a)?(d.color.push(f),e.push(bB),c.push(by.parse(a))):a.startsWith("var(")?(d.var.push(f),e.push("var"),c.push(a)):(d.number.push(f),e.push(bA),c.push(parseFloat(a))),++f,"${}")).split("${}");return{values:c,split:g,indexes:d,types:e}}function bE({split:a,types:b}){let c=a.length;return d=>{let e="";for(let f=0;f<c;f++)if(e+=a[f],void 0!==d[f]){let a=b[f];a===bA?e+=bi(d[f]):a===bB?e+=by.transform(d[f]):e+=d[f]}return e}}let bF={test:function(a){return isNaN(a)&&"string"==typeof a&&(a.match(bj)?.length||0)+(a.match(bz)?.length||0)>0},parse:function(a){return bD(a).values},createTransformer:function(a){return bE(bD(a))},getAnimatableNone:function(a){let b=bD(a);return bE(b)(b.values.map((a,c)=>{var d;let e;return d=b.split[c],"number"==typeof a?d?.trim().endsWith("/")?a:0:"number"==typeof(e=a)?0:by.test(e)?by.getAnimatableNone(e):e}))}},bG=new Set(["brightness","contrast","saturate","opacity"]);function bH(a){let[b,c]=a.slice(0,-1).split("(");if("drop-shadow"===b)return a;let[d]=c.match(bj)||[];if(!d)return a;let e=c.replace(d,""),f=+!!bG.has(b);return d!==c&&(f*=100),b+"("+f+e+")"}let bI=/\b([a-z-]*)\(.*?\)/gu,bJ={...bF,getAnimatableNone:a=>{let b=a.match(bI);return b?b.map(bH).join(" "):a}},bK={...bF,getAnimatableNone:a=>{let b=bF.parse(a);return bF.createTransformer(a)(b.map(a=>"number"==typeof a?0:"object"==typeof a?{...a,alpha:1}:a))}},bL={...bf,transform:Math.round},bM={borderWidth:bt,borderTopWidth:bt,borderRightWidth:bt,borderBottomWidth:bt,borderLeftWidth:bt,borderRadius:bt,borderTopLeftRadius:bt,borderTopRightRadius:bt,borderBottomRightRadius:bt,borderBottomLeftRadius:bt,width:bt,maxWidth:bt,height:bt,maxHeight:bt,top:bt,right:bt,bottom:bt,left:bt,inset:bt,insetBlock:bt,insetBlockStart:bt,insetBlockEnd:bt,insetInline:bt,insetInlineStart:bt,insetInlineEnd:bt,padding:bt,paddingTop:bt,paddingRight:bt,paddingBottom:bt,paddingLeft:bt,paddingBlock:bt,paddingBlockStart:bt,paddingBlockEnd:bt,paddingInline:bt,paddingInlineStart:bt,paddingInlineEnd:bt,margin:bt,marginTop:bt,marginRight:bt,marginBottom:bt,marginLeft:bt,marginBlock:bt,marginBlockStart:bt,marginBlockEnd:bt,marginInline:bt,marginInlineStart:bt,marginInlineEnd:bt,fontSize:bt,backgroundPositionX:bt,backgroundPositionY:bt,rotate:br,pathRotation:br,rotateX:br,rotateY:br,rotateZ:br,scale:bh,scaleX:bh,scaleY:bh,scaleZ:bh,skew:br,skewX:br,skewY:br,distance:bt,translateX:bt,translateY:bt,translateZ:bt,x:bt,y:bt,z:bt,perspective:bt,transformPerspective:bt,opacity:bg,originX:bw,originY:bw,originZ:bt,zIndex:bL,fillOpacity:bg,strokeOpacity:bg,numOctaves:bL},bN={...bM,color:by,backgroundColor:by,outlineColor:by,fill:by,stroke:by,borderColor:by,borderTopColor:by,borderRightColor:by,borderBottomColor:by,borderLeftColor:by,filter:bJ,WebkitFilter:bJ,mask:bK,WebkitMask:bK},bO=a=>bN[a],bP=()=>({translate:0,scale:1,origin:0,originPoint:0}),bQ=()=>({x:bP(),y:bP()}),bR=()=>({min:0,max:0}),bS=()=>({x:bR(),y:bR()}),bT=a=>!!(a&&a.getVelocity),bU=new Set(["width","height","top","left","right","bottom",...bc]),bV=a=>b=>b.test(a),bW=[bf,bt,bs,br,bv,bu,{test:a=>"auto"===a,parse:a=>a}],bX=a=>bW.find(bV(a)),bY=()=>{},bZ=()=>{},b$=a=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(a),b_=a=>b=>"string"==typeof b&&b.startsWith(a),b0=b_("--"),b1=b_("var(--"),b2=a=>!!b1(a)&&b3.test(a.split("/*")[0].trim()),b3=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function b4(a){return"string"==typeof a&&a.split("/*")[0].includes("var(--")}let b5=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,b6=a=>180*a/Math.PI,b7=a=>b9(b6(Math.atan2(a[1],a[0]))),b8={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:a=>(Math.abs(a[0])+Math.abs(a[3]))/2,rotate:b7,rotateZ:b7,skewX:a=>b6(Math.atan(a[1])),skewY:a=>b6(Math.atan(a[2])),skew:a=>(Math.abs(a[1])+Math.abs(a[2]))/2},b9=a=>((a%=360)<0&&(a+=360),a),ca=a=>Math.sqrt(a[0]*a[0]+a[1]*a[1]),cb=a=>Math.sqrt(a[4]*a[4]+a[5]*a[5]),cc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:ca,scaleY:cb,scale:a=>(ca(a)+cb(a))/2,rotateX:a=>b9(b6(Math.atan2(a[6],a[5]))),rotateY:a=>b9(b6(Math.atan2(-a[2],a[0]))),rotateZ:b7,rotate:b7,skewX:a=>b6(Math.atan(a[4])),skewY:a=>b6(Math.atan(a[1])),skew:a=>(Math.abs(a[1])+Math.abs(a[4]))/2};function cd(a){return+!!a.includes("scale")}function ce(a,b){let c,d;if(!a||"none"===a)return cd(b);let e=a.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(e)c=cc,d=e;else{let b=a.match(/^matrix\(([-\d.e\s,]+)\)$/u);c=b8,d=b}if(!d)return cd(b);let f=c[b],g=d[1].split(",").map(cf);return"function"==typeof f?f(g):g[f]}function cf(a){return parseFloat(a.trim())}let cg=a=>a===bf||a===bt,ch=new Set(["x","y","z"]),ci=bc.filter(a=>!ch.has(a)),cj={width:({x:a},{paddingLeft:b="0",paddingRight:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},height:({y:a},{paddingTop:b="0",paddingBottom:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},top:(a,{top:b})=>parseFloat(b),left:(a,{left:b})=>parseFloat(b),bottom:({y:a},{top:b})=>parseFloat(b)+(a.max-a.min),right:({x:a},{left:b})=>parseFloat(b)+(a.max-a.min),x:(a,{transform:b})=>ce(b,"x"),y:(a,{transform:b})=>ce(b,"y")};cj.translateX=cj.x,cj.translateY=cj.y;let ck=a=>a,cl={},cm=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function cn(a,b){let c=!1,d=!0,e={delta:0,timestamp:0,isProcessing:!1},f=()=>c=!0,g=cm.reduce((a,b)=>(a[b]=function(a){let b=new Set,c=new Set,d=!1,e=!1,f=new WeakSet,g={delta:0,timestamp:0,isProcessing:!1};function h(b){f.has(b)&&(i.schedule(b),a()),b(g)}let i={schedule:(a,e=!1,g=!1)=>{let h=g&&d?b:c;return e&&f.add(a),h.add(a),a},cancel:a=>{c.delete(a),f.delete(a)},process:a=>{if(g=a,d){e=!0;return}d=!0;let f=b;b=c,c=f,b.forEach(h),b.clear(),d=!1,e&&(e=!1,i.process(a))}};return i}(f),a),{}),{setup:h,read:i,resolveKeyframes:j,preUpdate:k,update:l,preRender:m,render:n,postRender:o}=g,p=()=>{let f=cl.useManualTiming,g=f?e.timestamp:performance.now();c=!1,f||(e.delta=d?1e3/60:Math.max(Math.min(g-e.timestamp,40),1)),e.timestamp=g,e.isProcessing=!0,h.process(e),i.process(e),j.process(e),k.process(e),l.process(e),m.process(e),n.process(e),o.process(e),e.isProcessing=!1,c&&b&&(d=!1,a(p))};return{schedule:cm.reduce((b,f)=>{let h=g[f];return b[f]=(b,f=!1,g=!1)=>(!c&&(c=!0,d=!0,e.isProcessing||a(p)),h.schedule(b,f,g)),b},{}),cancel:a=>{for(let b=0;b<cm.length;b++)g[cm[b]].cancel(a)},state:e,steps:g}}let{schedule:co,cancel:cp,state:cq,steps:cr}=cn("undefined"!=typeof requestAnimationFrame?requestAnimationFrame:ck,!0),cs=new Set,ct=!1,cu=!1,cv=!1;function cw(){if(cu){let a=Array.from(cs).filter(a=>a.needsMeasurement),b=new Set(a.map(a=>a.element)),c=new Map;b.forEach(a=>{let b=function(a){let b=[];return ci.forEach(c=>{let d=a.getValue(c);void 0!==d&&(b.push([c,d.get()]),d.set(+!!c.startsWith("scale")))}),b}(a);b.length&&(c.set(a,b),a.render())}),a.forEach(a=>a.measureInitialState()),b.forEach(a=>{a.render();let b=c.get(a);b&&b.forEach(([b,c])=>{a.getValue(b)?.set(c)})}),a.forEach(a=>a.measureEndState()),a.forEach(a=>{void 0!==a.suspendedScrollY&&window.scrollTo(0,a.suspendedScrollY)})}cu=!1,ct=!1,cs.forEach(a=>a.complete(cv)),cs.clear()}function cx(){cs.forEach(a=>{a.readKeyframes(),a.needsMeasurement&&(cu=!0)})}class cy{constructor(a,b,c,d,e,f=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...a],this.onComplete=b,this.name=c,this.motionValue=d,this.element=e,this.isAsync=f}scheduleResolve(){this.state="scheduled",this.isAsync?(cs.add(this),ct||(ct=!0,co.read(cx),co.resolveKeyframes(cw))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:a,name:b,element:c,motionValue:d}=this;if(null===a[0]){let e=d?.get(),f=a[a.length-1];if(void 0!==e)a[0]=e;else if(c&&b){let d=c.readValue(b,f);null!=d&&(a[0]=d)}void 0===a[0]&&(a[0]=f),d&&void 0===e&&d.set(a[0])}for(let b=1;b<a.length;b++)a[b]??(a[b]=a[b-1])}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(a=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,a),cs.delete(this)}cancel(){"scheduled"===this.state&&(cs.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}let cz=a=>/^0[^.\s]+$/u.test(a),cA=new Set([bJ,bK]);function cB(a,b){let c=bO(a);return cA.has(c)||(c=bF),c.getAnimatableNone?c.getAnimatableNone(b):void 0}let cC=new Set(["auto","none","0"]);class cD extends cy{constructor(a,b,c,d,e){super(a,b,c,d,e,!0)}readKeyframes(){let{unresolvedKeyframes:a,element:b,name:c}=this;if(!b||!b.current)return;super.readKeyframes();for(let c=0;c<a.length;c++){let d=a[c];if("string"==typeof d&&b2(d=d.trim())){let e=function a(b,c,d=1){bZ(d<=4,`Max CSS variable fallback depth detected in property "${b}". This may indicate a circular fallback dependency.`,"max-css-var-depth");let[e,f]=function(a){let b=b5.exec(a);if(!b)return[,];let[,c,d,e]=b;return[`--${c??d}`,e]}(b);if(!e)return;let g=window.getComputedStyle(c).getPropertyValue(e);if(g){let a=g.trim();return b$(a)?parseFloat(a):a}return b2(f)?a(f,c,d+1):f}(d,b.current);void 0!==e&&(a[c]=e),c===a.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!bU.has(c)||2!==a.length)return;let[d,e]=a,f=bX(d),g=bX(e);if(b4(d)!==b4(e)&&cj[c]){this.needsMeasurement=!0;return}if(f!==g)if(cg(f)&&cg(g))for(let b=0;b<a.length;b++){let c=a[b];"string"==typeof c&&(a[b]=parseFloat(c))}else cj[c]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:a,name:b}=this,c=[];for(let b=0;b<a.length;b++){var d;(null===a[b]||("number"==typeof(d=a[b])?0===d:null===d||"none"===d||"0"===d||cz(d)))&&c.push(b)}c.length&&function(a,b,c){let d,e=0;for(;e<a.length&&!d;){let b=a[e];"string"==typeof b&&!cC.has(b)&&bD(b).values.length&&(d=a[e]),e++}if(d&&c)for(let e of b)a[e]=cB(c,d)}(a,c,b)}measureInitialState(){let{element:a,unresolvedKeyframes:b,name:c}=this;if(!a||!a.current)return;"height"===c&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=cj[c](a.measureViewportBox(),window.getComputedStyle(a.current)),b[0]=this.measuredOrigin;let d=b[b.length-1];void 0!==d&&a.getValue(c,d).jump(d,!1)}measureEndState(){let{element:a,name:b,unresolvedKeyframes:c}=this;if(!a||!a.current)return;let d=a.getValue(b);d&&d.jump(this.measuredOrigin,!1);let e=c.length-1,f=c[e];c[e]=cj[b](a.measureViewportBox(),window.getComputedStyle(a.current)),null!==f&&void 0===this.finalKeyframe&&(this.finalKeyframe=f),this.removedTransforms?.length&&this.removedTransforms.forEach(([b,c])=>{a.getValue(b).set(c)}),this.resolveNoneKeyframes()}}let cE=a=>1e3*a;function cF(a,b){-1===a.indexOf(b)&&a.push(b)}function cG(a,b){let c=a.indexOf(b);c>-1&&a.splice(c,1)}class cH{constructor(){this.subscriptions=[]}add(a){return cF(this.subscriptions,a),()=>cG(this.subscriptions,a)}notify(a,b,c){let d=this.subscriptions.length;if(d)if(1===d)this.subscriptions[0](a,b,c);else for(let e=0;e<d;e++){let d=this.subscriptions[e];d&&d(a,b,c)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function cI(a,b,c){b.startsWith("--")?a.style.setProperty(b,c):a.style[b]=c}function cJ(a){let b;return()=>(void 0===b&&(b=a()),b)}let cK={};function cL(a,b){let c=cJ(a);return()=>cK[b]??c()}let cM=cL(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),cN=a=>null!==a;function cO(a,{repeat:b,repeatType:c="loop"},d,e=1){let f=a.filter(cN),g=e<0||b&&"loop"!==c&&b%2==1?0:f.length-1;return g&&void 0!==d?d:f[g]}class cP{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(a=>{this.resolve=a})}notifyFinished(){this.resolve()}then(a,b){return this.finished.then(a,b)}}let cQ=a=>Array.isArray(a)&&"number"==typeof a[0],cR=cL(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(a){return!1}return!0},"linearEasing"),cS=(a,b,c=10)=>{let d="",e=Math.max(Math.round(b/c),2);for(let b=0;b<e;b++)d+=Math.round(1e4*a(b/(e-1)))/1e4+", ";return`linear(${d.substring(0,d.length-2)})`},cT=([a,b,c,d])=>`cubic-bezier(${a}, ${b}, ${c}, ${d})`,cU={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:cT([0,.65,.55,1]),circOut:cT([.55,0,1,.45]),backIn:cT([.31,.01,.66,-.59]),backOut:cT([.33,1.53,.69,.99])};function cV(a){return"function"==typeof a&&"applyToOptions"in a}class cW extends cP{constructor(a){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!a)return;let{element:b,name:c,keyframes:d,pseudoElement:e,allowFlatten:f=!1,finalKeyframe:g,onComplete:h}=a;this.isPseudoElement=!!e,this.allowFlatten=f,this.options=a,bZ("string"!=typeof a.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");let i=function({type:a,...b}){return cV(a)&&cR()?a.applyToOptions(b):(b.duration??(b.duration=300),b.ease??(b.ease="easeOut"),b)}(a);this.animation=function(a,b,c,{delay:d=0,duration:e=300,repeat:f=0,repeatType:g="loop",ease:h="easeOut",times:i}={},j){let k={[b]:c};i&&(k.offset=i);let l=function a(b,c){if(b)return"function"==typeof b?cR()?cS(b,c):"ease-out":cQ(b)?cT(b):Array.isArray(b)?b.map(b=>a(b,c)||cU.easeOut):cU[b]}(h,e);Array.isArray(l)&&(k.easing=l);let m={delay:d,duration:e,easing:Array.isArray(l)?"linear":l,fill:"both",iterations:f+1,direction:"reverse"===g?"alternate":"normal"};return j&&(m.pseudoElement=j),a.animate(k,m)}(b,c,d,i,e),!1===i.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!e){let a=cO(d,this.options,g,this.speed);this.updateMotionValue&&this.updateMotionValue(a),cI(b,c,a),this.animation.cancel()}h?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(a){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:a}=this;"idle"!==a&&"finished"!==a&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let a=this.options?.element;!this.isPseudoElement&&a?.isConnected&&this.animation.commitStyles?.()}get duration(){return Number(this.animation.effect?.getComputedTiming?.().duration||0)/1e3}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+a/1e3}get time(){return(Number(this.animation.currentTime)||0)/1e3}set time(a){let b=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=cE(a),b&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(a){a<0&&(this.finishedTime=null),this.animation.playbackRate=a}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(a){this.manualStartTime=this.animation.startTime=a}attachTimeline({timeline:a,rangeStart:b,rangeEnd:c,observe:d}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,a&&cM())?(this.animation.timeline=a,b&&(this.animation.rangeStart=b),c&&(this.animation.rangeEnd=c),ck):d(this)}}let cX=new Set(["opacity","clipPath","filter","transform"]),{schedule:cY}=cn(queueMicrotask,!1);function cZ(){d=void 0}let c$={now:()=>(void 0===d&&c$.set(cq.isProcessing||cl.useManualTiming?cq.timestamp:performance.now()),d),set:a=>{d=a,queueMicrotask(cZ)}},c_=(a,b)=>b?1e3/b*a:0,c0={current:void 0};class c1{constructor(a,b={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{let b=c$.now();if(this.updatedAt!==b&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let a of this.dependents)a.dirty()},this.hasAnimated=!1,this.setCurrent(a),this.owner=b.owner}setCurrent(a){this.current=a,this.updatedAt=c$.now(),null===this.canTrackVelocity&&void 0!==a&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(a=this.current){this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt}onChange(a){return this.on("change",a)}on(a,b){this.events[a]||(this.events[a]=new cH);let c=this.events[a].add(b);return"change"===a?()=>{c(),co.read(()=>{this.events.change.getSize()||this.stop()})}:c}clearListeners(){for(let a in this.events)this.events[a].clear()}attach(a,b){this.passiveEffect=a,this.stopPassiveEffect=b}set(a){this.passiveEffect?this.passiveEffect(a,this.updateAndNotify):this.updateAndNotify(a)}setWithVelocity(a,b,c){this.set(b),this.prev=void 0,this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt-c}jump(a,b=!0){this.updateAndNotify(a),this.prev=a,this.prevUpdatedAt=this.prevFrameValue=void 0,b&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(a){this.dependents||(this.dependents=new Set),this.dependents.add(a)}removeDependent(a){this.dependents&&this.dependents.delete(a)}get(){return c0.current&&c0.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let a=c$.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||a-this.updatedAt>30)return 0;let b=Math.min(this.updatedAt-this.prevUpdatedAt,30);return c_(parseFloat(this.current)-parseFloat(this.prevFrameValue),b)}start(a){return this.stop(),new Promise(b=>{this.hasAnimated=!0,this.animation=a(b),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function c2(a,b){return new c1(a,b)}let c3=[...bW,by,bF],c4=new WeakMap;function c5(a){return null!==a&&"object"==typeof a&&"function"==typeof a.start}function c6(a){return"string"==typeof a||Array.isArray(a)}let c7=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],c8=["initial",...c7];function c9(a){return c5(a.animate)||c8.some(b=>c6(a[b]))}function da(a){return!!(c9(a)||a.variants)}function db(a){let b=[{},{}];return a?.values.forEach((a,c)=>{b[0][c]=a.get(),b[1][c]=a.getVelocity()}),b}function dc(a,b,c,d){if("function"==typeof b){let[e,f]=db(d);b=b(void 0!==c?c:a.custom,e,f)}if("string"==typeof b&&(b=a.variants&&a.variants[b]),"function"==typeof b){let[e,f]=db(d);b=b(void 0!==c?c:a.custom,e,f)}return b}let dd=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],de={};class df{scrapeMotionValuesFromProps(a,b,c){return{}}constructor({parent:a,props:b,presenceContext:c,reducedMotionConfig:d,skipAnimations:e,blockInitialAnimation:f,visualState:g},h={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=cy,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let a=c$.now();this.renderScheduledAt<a&&(this.renderScheduledAt=a,co.render(this.render,!1,!0))};let{latestValues:i,renderState:j}=g;this.latestValues=i,this.baseTarget={...i},this.initialValues=b.initial?{...i}:{},this.renderState=j,this.parent=a,this.props=b,this.presenceContext=c,this.depth=a?a.depth+1:0,this.reducedMotionConfig=d,this.skipAnimationsConfig=e,this.options=h,this.blockInitialAnimation=!!f,this.isControllingVariants=c9(b),this.isVariantNode=da(b),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(a&&a.current);let{willChange:k,...l}=this.scrapeMotionValuesFromProps(b,{},this);for(let a in l){let b=l[a];void 0!==i[a]&&bT(b)&&b.set(i[a])}}mount(a){if(this.hasBeenMounted)for(let a in this.initialValues)this.values.get(a)?.jump(this.initialValues[a]),this.latestValues[a]=this.initialValues[a];this.current=a,c4.set(a,this),this.projection&&!this.projection.instance&&this.projection.mount(a),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((a,b)=>this.bindToMotionValue(b,a)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(_.current||ab(),this.shouldReduceMotion=$.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let a in this.projection&&this.projection.unmount(),cp(this.notifyUpdate),cp(this.render),this.valueSubscriptions.forEach(a=>a()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[a].clear();for(let a in this.features){let b=this.features[a];b&&(b.unmount(),b.isMounted=!1)}this.current=null}addChild(a){this.children.add(a),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(a)}removeChild(a){this.children.delete(a),this.enteringChildren&&this.enteringChildren.delete(a)}bindToMotionValue(a,b){let c;if(this.valueSubscriptions.has(a)&&this.valueSubscriptions.get(a)(),b.accelerate&&cX.has(a)&&this.current instanceof HTMLElement){let{factory:c,keyframes:d,times:e,ease:f,duration:g}=b.accelerate,h=new cW({element:this.current,name:a,keyframes:d,times:e,ease:f,duration:cE(g)}),i=c(h);this.valueSubscriptions.set(a,()=>{i(),h.cancel()});return}let d=bd.has(a);d&&this.onBindTransform&&this.onBindTransform();let e=b.on("change",b=>{this.latestValues[a]=b,this.props.onUpdate&&co.preRender(this.notifyUpdate),d&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"undefined"!=typeof window&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,a,b)),this.valueSubscriptions.set(a,()=>{e(),c&&c()})}sortNodePosition(a){return this.current&&this.sortInstanceNodePosition&&this.type===a.type?this.sortInstanceNodePosition(this.current,a.current):0}updateFeatures(){let a="animation";for(a in de){let b=de[a];if(!b)continue;let{isEnabled:c,Feature:d}=b;if(!this.features[a]&&d&&c(this.props)&&(this.features[a]=new d(this)),this.features[a]){let b=this.features[a];b.isMounted?b.update():(b.mount(),b.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):bS()}getStaticValue(a){return this.latestValues[a]}setStaticValue(a,b){this.latestValues[a]=b}update(a,b){(a.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=a,this.prevPresenceContext=this.presenceContext,this.presenceContext=b;for(let b=0;b<dd.length;b++){let c=dd[b];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);let d=a["on"+c];d&&(this.propEventSubscriptions[c]=this.on(c,d))}this.prevMotionValues=function(a,b,c){for(let d in b){let e=b[d],f=c[d];if(bT(e))a.addValue(d,e);else if(bT(f))a.addValue(d,c2(e,{owner:a}));else if(f!==e)if(a.hasValue(d)){let b=a.getValue(d);!0===b.liveStyle?b.jump(e):b.hasAnimated||b.set(e)}else{let b=a.getStaticValue(d);a.addValue(d,c2(void 0!==b?b:e,{owner:a}))}}for(let d in c)void 0===b[d]&&a.removeValue(d);return b}(this,this.scrapeMotionValuesFromProps(a,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(a){return this.props.variants?this.props.variants[a]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(a){let b=this.getClosestVariantNode();if(b)return b.variantChildren&&b.variantChildren.add(a),()=>b.variantChildren.delete(a)}addValue(a,b){let c=this.values.get(a);b!==c&&(c&&this.removeValue(a),this.bindToMotionValue(a,b),this.values.set(a,b),this.latestValues[a]=b.get())}removeValue(a){this.values.delete(a);let b=this.valueSubscriptions.get(a);b&&(b(),this.valueSubscriptions.delete(a)),delete this.latestValues[a],this.removeValueFromRenderState(a,this.renderState)}hasValue(a){return this.values.has(a)}getValue(a,b){if(this.props.values&&this.props.values[a])return this.props.values[a];let c=this.values.get(a);return void 0===c&&void 0!==b&&(c=c2(null===b?void 0:b,{owner:this}),this.addValue(a,c)),c}readValue(a,b){let c=void 0===this.latestValues[a]&&this.current?this.getBaseTargetFromProps(this.props,a)??this.readValueFromInstance(this.current,a,this.options):this.latestValues[a];if(null!=c){if("string"==typeof c&&(b$(c)||cz(c)))c=parseFloat(c);else{let d;d=c,!c3.find(bV(d))&&bF.test(b)&&(c=cB(a,b))}this.setBaseTarget(a,bT(c)?c.get():c)}return bT(c)?c.get():c}setBaseTarget(a,b){this.baseTarget[a]=b}getBaseTarget(a){let b,{initial:c}=this.props;if("string"==typeof c||"object"==typeof c){let d=dc(this.props,c,this.presenceContext?.custom);d&&(b=d[a])}if(c&&void 0!==b)return b;let d=this.getBaseTargetFromProps(this.props,a);return void 0===d||bT(d)?void 0!==this.initialValues[a]&&void 0===b?void 0:this.baseTarget[a]:d}on(a,b){return this.events[a]||(this.events[a]=new cH),this.events[a].add(b)}notify(a,...b){this.events[a]&&this.events[a].notify(...b)}scheduleRenderMicrotask(){cY.render(this.render)}}class dg extends df{constructor(){super(...arguments),this.KeyframeResolver=cD}sortInstanceNodePosition(a,b){return 2&a.compareDocumentPosition(b)?1:-1}getBaseTargetFromProps(a,b){let c=a.style;return c?c[b]:void 0}removeValueFromRenderState(a,{vars:b,style:c}){delete b[a],delete c[a]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:a}=this.props;bT(a)&&(this.childSubscription=a.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}function dh(a){return a.replace(/([A-Z])/g,a=>`-${a.toLowerCase()}`)}let di=(a,b)=>b&&"number"==typeof a?b.transform(a):a,dj={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},dk=bc.length;function dl(a,b,c){let{style:d,vars:e,transformOrigin:f}=a,g=!1,h=!1;for(let a in b){let c=b[a];if(bd.has(a)){g=!0;continue}if(b0(a)){e[a]=c;continue}{let b=di(c,bM[a]);a.startsWith("origin")?(h=!0,f[a]=b):d[a]=b}}if(!b.transform&&(g||c?d.transform=function(a,b,c){let d="",e=!0;for(let f=0;f<dk;f++){let g=bc[f],h=a[g];if(void 0===h)continue;let i=!0;if("number"==typeof h)i=h===+!!g.startsWith("scale");else{let a=parseFloat(h);i=g.startsWith("scale")?1===a:0===a}if(!i||c){let a=di(h,bM[g]);if(!i){e=!1;let b=dj[g]||g;d+=`${b}(${a}) `}c&&(b[g]=a)}}let f=a.pathRotation;return f&&(e=!1,d+=`rotate(${di(f,bM.pathRotation)}) `),d=d.trim(),c?d=c(b,e?"":d):e&&(d="none"),d}(b,a.transform,c):d.transform&&(d.transform="none")),h){let{originX:a="50%",originY:b="50%",originZ:c=0}=f;d.transformOrigin=`${a} ${b} ${c}`}}let dm={offset:"stroke-dashoffset",array:"stroke-dasharray"},dn={offset:"strokeDashoffset",array:"strokeDasharray"},dp=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function dq(a,{attrX:b,attrY:c,attrScale:d,pathLength:e,pathSpacing:f=1,pathOffset:g=0,...h},i,j,k){if(dl(a,h,j),i){a.style.viewBox&&(a.attrs.viewBox=a.style.viewBox);return}a.attrs=a.style,a.style={};let{attrs:l,style:m}=a;for(let a of(l.transform&&(m.transform=l.transform,delete l.transform),(m.transform||l.transformOrigin)&&(m.transformOrigin=l.transformOrigin??"50% 50%",delete l.transformOrigin),m.transform&&(m.transformBox=k?.transformBox??"fill-box",delete l.transformBox),dp))void 0!==l[a]&&(m[a]=l[a],delete l[a]);void 0!==b&&(l.x=b),void 0!==c&&(l.y=c),void 0!==d&&(l.scale=d),void 0!==e&&function(a,b,c=1,d=0,e=!0){a.pathLength=1;let f=e?dm:dn;a[f.offset]=`${-d}`,a[f.array]=`${b} ${c}`}(l,e,f,g,!1)}let dr=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),ds=a=>"string"==typeof a&&"svg"===a.toLowerCase();function dt(a,{style:b,vars:c},d,e){let f,g=a.style;for(f in b)g[f]=b[f];for(f in e?.applyProjectionStyles(g,d),c)g.setProperty(f,c[f])}let du=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function dv(a,b){return b.max===b.min?0:a/(b.max-b.min)*100}let dw={correct:(a,b)=>{if(!b.target)return a;if("string"==typeof a)if(!bt.test(a))return a;else a=parseFloat(a);let c=dv(a,b.target.x),d=dv(a,b.target.y);return`${c}% ${d}%`}},dx=(a,b,c)=>a+(b-a)*c,dy={borderRadius:{...dw,applyTo:[...du]},borderTopLeftRadius:dw,borderTopRightRadius:dw,borderBottomLeftRadius:dw,borderBottomRightRadius:dw,boxShadow:{correct:(a,{treeScale:b,projectionDelta:c})=>{let d=bF.parse(a);if(d.length>5)return a;let e=bF.createTransformer(a),f=+("number"!=typeof d[0]),g=c.x.scale*b.x,h=c.y.scale*b.y;d[0+f]/=g,d[1+f]/=h;let i=dx(g,h,.5);return"number"==typeof d[2+f]&&(d[2+f]/=i),"number"==typeof d[3+f]&&(d[3+f]/=i),e(d)}}};function dz(a,{layout:b,layoutId:c}){return bd.has(a)||a.startsWith("origin")||(b||void 0!==c)&&(!!dy[a]||"opacity"===a)}function dA(a,b,c){let d=a.style,e=b?.style,f={};if(!d)return f;for(let b in d)(bT(d[b])||e&&bT(e[b])||dz(b,a)||c?.getValue(b)?.liveStyle!==void 0)&&(f[b]=d[b]);return f}function dB(a,b,c){let d=dA(a,b,c);for(let c in a)(bT(a[c])||bT(b[c]))&&(d[-1!==bc.indexOf(c)?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c]=a[c]);return d}class dC extends dg{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=bS}getBaseTargetFromProps(a,b){return a[b]}readValueFromInstance(a,b){if(bd.has(b)){let a=bO(b);return a&&a.default||0}return b=dr.has(b)?b:dh(b),a.getAttribute(b)}scrapeMotionValuesFromProps(a,b,c){return dB(a,b,c)}build(a,b,c){dq(a,b,this.isSVGTag,c.transformTemplate,c.style)}renderInstance(a,b,c,d){for(let c in dt(a,b,void 0,d),b.attrs)a.setAttribute(dr.has(c)?c:dh(c),b.attrs[c])}mount(a){this.isSVGTag=ds(a.tagName),super.mount(a)}}function dD({top:a,left:b,right:c,bottom:d}){return{x:{min:b,max:c},y:{min:a,max:d}}}function dE(a){return void 0===a||1===a}function dF({scale:a,scaleX:b,scaleY:c}){return!dE(a)||!dE(b)||!dE(c)}function dG(a){return dF(a)||dH(a)||a.z||a.rotate||a.rotateX||a.rotateY||a.skewX||a.skewY}function dH(a){var b,c;return(b=a.x)&&"0%"!==b||(c=a.y)&&"0%"!==c}function dI(a,b,c,d,e){return void 0!==e&&(a=d+e*(a-d)),d+c*(a-d)+b}function dJ(a,b=0,c=1,d,e){a.min=dI(a.min,b,c,d,e),a.max=dI(a.max,b,c,d,e)}function dK(a,{x:b,y:c}){dJ(a.x,b.translate,b.scale,b.originPoint),dJ(a.y,c.translate,c.scale,c.originPoint)}function dL(a,b){a.min+=b,a.max+=b}function dM(a,b,c,d,e=.5){let f=dx(a.min,a.max,e);dJ(a,b,c,f,d)}function dN(a,b){return"string"==typeof a?parseFloat(a)/100*(b.max-b.min):a}function dO(a,b,c){let d=c??a;dM(a.x,dN(b.x,d.x),b.scaleX,b.scale,b.originX),dM(a.y,dN(b.y,d.y),b.scaleY,b.scale,b.originY)}function dP(a,b){return dD(function(a,b){if(!b)return a;let c=b({x:a.left,y:a.top}),d=b({x:a.right,y:a.bottom});return{top:c.y,left:c.x,bottom:d.y,right:d.x}}(a.getBoundingClientRect(),b))}class dQ extends dg{constructor(){super(...arguments),this.type="html",this.renderInstance=dt}readValueFromInstance(a,b){if(bd.has(b))return this.projection?.isProjecting?cd(b):((a,b)=>{let{transform:c="none"}=getComputedStyle(a);return ce(c,b)})(a,b);{let c=window.getComputedStyle(a),d=(b0(b)?c.getPropertyValue(b):c[b])||0;return"string"==typeof d?d.trim():d}}measureInstanceViewportBox(a,{transformPagePoint:b}){return dP(a,b)}build(a,b,c){dl(a,b,c.transformTemplate)}scrapeMotionValuesFromProps(a,b,c){return dA(a,b,c)}}let dR=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function dS(a){if("string"!=typeof a||a.includes("-"));else if(dR.indexOf(a)>-1||/[A-Z]/u.test(a))return!0;return!1}let dT=(0,h.createContext)({});function dU(a){return Array.isArray(a)?a.join(" "):a}let dV=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function dW(a,b,c){for(let d in b)bT(b[d])||dz(d,c)||(a[d]=b[d])}let dX=()=>({...dV(),attrs:{}}),dY=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function dZ(a){return a.startsWith("while")||a.startsWith("drag")&&"draggable"!==a||a.startsWith("layout")||a.startsWith("onTap")||a.startsWith("onPan")||a.startsWith("onLayout")||dY.has(a)}let d$=a=>!dZ(a);try{!function(a){"function"==typeof a&&(d$=b=>b.startsWith("on")?!dZ(b):a(b))}(require("@emotion/is-prop-valid").default)}catch{}function d_(a){return bT(a)?a.get():a}let d0=a=>(b,c)=>{let d=(0,h.useContext)(dT),e=(0,h.useContext)(a_),f=()=>(function({scrapeMotionValuesFromProps:a,createRenderState:b},c,d,e){return{latestValues:function(a,b,c,d){let e={},f=d(a,{});for(let a in f)e[a]=d_(f[a]);let{initial:g,animate:h}=a,i=c9(a),j=da(a);b&&j&&!i&&!1!==a.inherit&&(void 0===g&&(g=b.initial),void 0===h&&(h=b.animate));let k=!!c&&!1===c.initial,l=(k=k||!1===g)?h:g;if(l&&"boolean"!=typeof l&&!c5(l)){let b=Array.isArray(l)?l:[l];for(let c=0;c<b.length;c++){let d=dc(a,b[c]);if(d){let{transitionEnd:a,transition:b,...c}=d;for(let a in c){let b=c[a];if(Array.isArray(b)){let a=k?b.length-1:0;b=b[a]}null!==b&&(e[a]=b)}for(let b in a)e[b]=a[b]}}}return e}(c,d,e,a),renderState:b()}})(a,b,d,e);return c?f():aZ(f)},d1=d0({scrapeMotionValuesFromProps:dA,createRenderState:dV}),d2=d0({scrapeMotionValuesFromProps:dB,createRenderState:dX}),d3={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},d4=!1,d5=Symbol.for("motionComponentSymbol");function d6(a,{forwardMotionProps:b=!1,type:c}={},d,e){d&&function(a){let b=(!function(){if(d4)return;let a={};for(let b in d3)a[b]={isEnabled:a=>d3[b].some(b=>!!a[b])};de=a,d4=!0}(),de);for(let c in a)b[c]={...b[c],...a[c]};de=b}(d);let f=c?"svg"===c:dS(a),i=f?d2:d1;function j(c,d){let e,j={...(0,h.useContext)(a2),...c,layoutId:function({layoutId:a}){let b=(0,h.useContext)(aY).id;return b&&void 0!==a?b+"-"+a:a}(c)},{isStatic:k}=j,l=function(a){let{initial:b,animate:c}=function(a,b){if(c9(a)){let{initial:b,animate:c}=a;return{initial:!1===b||c6(b)?b:void 0,animate:c6(c)?c:void 0}}return!1!==a.inherit?b:{}}(a,(0,h.useContext)(dT));return(0,h.useMemo)(()=>({initial:b,animate:c}),[dU(b),dU(c)])}(c),m=i(c,k);return(0,g.jsxs)(dT.Provider,{value:l,children:[e&&l.visualElement?(0,g.jsx)(e,{visualElement:l.visualElement,...j}):null,function(a,b,c,{latestValues:d},e,f=!1,g){let i=(g??dS(a)?function(a,b,c,d){let e=(0,h.useMemo)(()=>{let c=dX();return dq(c,b,ds(d),a.transformTemplate,a.style),{...c.attrs,style:{...c.style}}},[b]);if(a.style){let b={};dW(b,a.style,a),e.style={...b,...e.style}}return e}:function(a,b){let c={},d=function(a,b){let c=a.style||{},d={};return dW(d,c,a),Object.assign(d,function({transformTemplate:a},b){return(0,h.useMemo)(()=>{let c=dV();return dl(c,b,a),Object.assign({},c.vars,c.style)},[b])}(a,b)),d}(a,b);return a.drag&&!1!==a.dragListener&&(c.draggable=!1,d.userSelect=d.WebkitUserSelect=d.WebkitTouchCallout="none",d.touchAction=!0===a.drag?"none":`pan-${"x"===a.drag?"y":"x"}`),void 0===a.tabIndex&&(a.onTap||a.onTapStart||a.whileTap)&&(c.tabIndex=0),c.style=d,c})(b,d,e,a),j=function(a,b,c){let d={};for(let e in a)("values"!==e||"object"!=typeof a.values)&&!bT(a[e])&&(d$(e)||!0===c&&dZ(e)||!b&&!dZ(e)||a.draggable&&e.startsWith("onDrag"))&&(d[e]=a[e]);return d}(b,"string"==typeof a,f),k=a!==h.Fragment?{...j,...i,ref:c}:{},{children:l}=b,m=(0,h.useMemo)(()=>bT(l)?l.get():l,[l]);return(0,h.createElement)(a,{...k,children:m})}(a,c,function(a,b,c){let d=(0,h.useRef)(c);(0,h.useInsertionEffect)(()=>{d.current=c});let e=(0,h.useRef)(null);return(0,h.useCallback)(c=>{c&&a.onMount?.(c),b&&(c?b.mount(c):b.unmount());let f=d.current;if("function"==typeof f)if(c){let a=f(c);"function"==typeof a&&(e.current=a)}else e.current?(e.current(),e.current=null):f(c);else f&&(f.current=c)},[b])}(m,l.visualElement,d),m,k,b,f)]})}j.displayName=`motion.${"string"==typeof a?a:`create(${a.displayName??a.name??""})`}`;let k=(0,h.forwardRef)(j);return k[d5]=a,k}class d7{constructor(a){this.isMounted=!1,this.node=a}update(){}}function d8(a,b,c){let d=a.getProps();return dc(d,b,void 0!==c?c:d.custom,a)}function d9(a,b){if(a?.inherit&&b){let{inherit:c,...d}=a;return{...b,...d}}return a}function ea(a,b){let c=a?.[b]??a?.default??a;return c!==a?d9(c,a):c}let eb=a=>Array.isArray(a);function ec(a,b){let c=a.getValue("willChange");if(bT(c)&&c.add)return c.add(b);if(!c&&cl.WillChange){let c=new cl.WillChange("auto");a.addValue("willChange",c),c.add(b)}}let ed="data-"+dh("framerAppearId"),ee=(...a)=>a.reduce((a,b)=>c=>b(a(c)));function ef(a,b,c){return(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}function eg(a,b){return c=>c>0?b:a}let eh=(a,b,c)=>{let d=a*a,e=c*(b*b-d)+d;return e<0?0:Math.sqrt(e)},ei=[bp,bo,bx];function ej(a){let b=ei.find(b=>b.test(a));if(bY(!!b,`'${a}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!b)return!1;let c=b.parse(a);return b===bx&&(c=function({hue:a,saturation:b,lightness:c,alpha:d}){a/=360,c/=100;let e=0,f=0,g=0;if(b/=100){let d=c<.5?c*(1+b):c+b-c*b,h=2*c-d;e=ef(h,d,a+1/3),f=ef(h,d,a),g=ef(h,d,a-1/3)}else e=f=g=c;return{red:Math.round(255*e),green:Math.round(255*f),blue:Math.round(255*g),alpha:d}}(c)),c}let ek=(a,b)=>{let c=ej(a),d=ej(b);if(!c||!d)return eg(a,b);let e={...c};return a=>(e.red=eh(c.red,d.red,a),e.green=eh(c.green,d.green,a),e.blue=eh(c.blue,d.blue,a),e.alpha=dx(c.alpha,d.alpha,a),bo.transform(e))},el=new Set(["none","hidden"]);function em(a,b){return c=>dx(a,b,c)}function en(a){return"number"==typeof a?em:"string"==typeof a?b2(a)?eg:by.test(a)?ek:eq:Array.isArray(a)?eo:"object"==typeof a?by.test(a)?ek:ep:eg}function eo(a,b){let c=[...a],d=c.length,e=a.map((a,c)=>en(a)(a,b[c]));return a=>{for(let b=0;b<d;b++)c[b]=e[b](a);return c}}function ep(a,b){let c={...a,...b},d={};for(let e in c)void 0!==a[e]&&void 0!==b[e]&&(d[e]=en(a[e])(a[e],b[e]));return a=>{for(let b in d)c[b]=d[b](a);return c}}let eq=(a,b)=>{let c=bF.createTransformer(b),d=bD(a),e=bD(b);return d.indexes.var.length===e.indexes.var.length&&d.indexes.color.length===e.indexes.color.length&&d.indexes.number.length>=e.indexes.number.length?el.has(a)&&!e.values.length||el.has(b)&&!d.values.length?function(a,b){return el.has(a)?c=>c<=0?a:b:c=>c>=1?b:a}(a,b):ee(eo(function(a,b){let c=[],d={color:0,var:0,number:0};for(let e=0;e<b.values.length;e++){let f=b.types[e],g=a.indexes[f][d[f]],h=a.values[g]??0;c[e]=h,d[f]++}return c}(d,e),e.values),c):(bY(!0,`Complex values '${a}' and '${b}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),eg(a,b))};function er(a,b,c){return"number"==typeof a&&"number"==typeof b&&"number"==typeof c?dx(a,b,c):en(a)(a,b)}let es=a=>{let b=({timestamp:b})=>a(b);return{start:(a=!0)=>co.update(b,a),stop:()=>cp(b),now:()=>cq.isProcessing?cq.timestamp:c$.now()}};function et(a){let b=0,c=a.next(b);for(;!c.done&&b<2e4;)b+=50,c=a.next(b);return b>=2e4?1/0:b}let eu={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function ev(a,b){return a*Math.sqrt(1-b*b)}let ew=["duration","bounce"],ex=["stiffness","damping","mass"];function ey(a,b){return b.some(b=>void 0!==a[b])}function ez(a=eu.visualDuration,b=eu.bounce){let c,d,e,f,g,h,i="object"!=typeof a?{visualDuration:a,keyframes:[0,1],bounce:b}:a,{restSpeed:j,restDelta:k}=i,l=i.keyframes[0],m=i.keyframes[i.keyframes.length-1],n={done:!1,value:l},{stiffness:o,damping:p,mass:q,duration:r,velocity:s,isResolvedFromDuration:t}=function(a){let b={velocity:eu.velocity,stiffness:eu.stiffness,damping:eu.damping,mass:eu.mass,isResolvedFromDuration:!1,...a};if(!ey(a,ex)&&ey(a,ew))if(b.velocity=0,a.visualDuration){let c=2*Math.PI/(1.2*a.visualDuration),d=c*c,e=2*be(.05,1,1-(a.bounce||0))*Math.sqrt(d);b={...b,mass:eu.mass,stiffness:d,damping:e}}else{let c=function({duration:a=eu.duration,bounce:b=eu.bounce,velocity:c=eu.velocity,mass:d=eu.mass}){let e,f;bY(a<=cE(eu.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let g=1-b;g=be(eu.minDamping,eu.maxDamping,g),a=be(eu.minDuration,eu.maxDuration,a/1e3),g<1?(e=b=>{let d=b*g,e=d*a;return .001-(d-c)/ev(b,g)*Math.exp(-e)},f=b=>{let d=b*g*a,f=Math.pow(g,2)*Math.pow(b,2)*a,h=Math.exp(-d),i=ev(Math.pow(b,2),g);return(d*c+c-f)*h*(-e(b)+.001>0?-1:1)/i}):(e=b=>-.001+Math.exp(-b*a)*((b-c)*a+1),f=b=>a*a*(c-b)*Math.exp(-b*a));let h=function(a,b,c){let d=c;for(let c=1;c<12;c++)d-=a(d)/b(d);return d}(e,f,5/a);if(a=cE(a),isNaN(h))return{stiffness:eu.stiffness,damping:eu.damping,duration:a};{let b=Math.pow(h,2)*d;return{stiffness:b,damping:2*g*Math.sqrt(d*b),duration:a}}}({...a,velocity:0});(b={...b,...c,mass:eu.mass}).isResolvedFromDuration=!0}return b}({...i,velocity:-((i.velocity||0)/1e3)}),u=s||0,v=p/(2*Math.sqrt(o*q)),w=m-l,x=Math.sqrt(o/q)/1e3,y=5>Math.abs(w);if(j||(j=y?eu.restSpeed.granular:eu.restSpeed.default),k||(k=y?eu.restDelta.granular:eu.restDelta.default),v<1)e=ev(x,v),f=(u+v*x*w)/e,c=a=>m-Math.exp(-v*x*a)*(f*Math.sin(e*a)+w*Math.cos(e*a)),g=v*x*f+w*e,h=v*x*w-f*e,d=a=>Math.exp(-v*x*a)*(g*Math.sin(e*a)+h*Math.cos(e*a));else if(1===v){c=a=>m-Math.exp(-x*a)*(w+(u+x*w)*a);let a=u+x*w;d=b=>Math.exp(-x*b)*(x*a*b-u)}else{let a=x*Math.sqrt(v*v-1);c=b=>{let c=Math.exp(-v*x*b),d=Math.min(a*b,300);return m-c*((u+v*x*w)*Math.sinh(d)+a*w*Math.cosh(d))/a};let b=(u+v*x*w)/a,e=v*x*b-w*a,f=v*x*w-b*a;d=b=>{let c=Math.exp(-v*x*b),d=Math.min(a*b,300);return c*(e*Math.sinh(d)+f*Math.cosh(d))}}let z={calculatedDuration:t&&r||null,velocity:a=>cE(d(a)),next:a=>{if(!t&&v<1){let b=Math.exp(-v*x*a),c=Math.sin(e*a),d=Math.cos(e*a),i=m-b*(f*c+w*d);return n.done=Math.abs(cE(b*(g*c+h*d)))<=j&&Math.abs(m-i)<=k,n.value=n.done?m:i,n}let b=c(a);return t?n.done=a>=r:n.done=Math.abs(cE(d(a)))<=j&&Math.abs(m-b)<=k,n.value=n.done?m:b,n},toString:()=>{let a=Math.min(et(z),2e4),b=cS(b=>z.next(a*b).value,a,30);return a+"ms "+b},toTransition:()=>{}};return z}function eA(a,b,c){let d=Math.max(b-5,0);return c_(c-a(d),b-d)}function eB({keyframes:a,velocity:b=0,power:c=.8,timeConstant:d=325,bounceDamping:e=10,bounceStiffness:f=500,modifyTarget:g,min:h,max:i,restDelta:j=.5,restSpeed:k}){let l,m,n=a[0],o={done:!1,value:n},p=c*b,q=n+p,r=void 0===g?q:g(q);r!==q&&(p=r-n);let s=a=>-p*Math.exp(-a/d),t=a=>r+s(a),u=a=>{let b=s(a),c=t(a);o.done=Math.abs(b)<=j,o.value=o.done?r:c},v=a=>{let b;if(b=o.value,void 0!==h&&b<h||void 0!==i&&b>i){var c;l=a,m=ez({keyframes:[o.value,(c=o.value,void 0===h?i:void 0===i||Math.abs(h-c)<Math.abs(i-c)?h:i)],velocity:eA(t,a,o.value),damping:e,stiffness:f,restDelta:j,restSpeed:k})}};return v(0),{calculatedDuration:null,next:a=>{let b=!1;return(m||void 0!==l||(b=!0,u(a),v(a)),void 0!==l&&a>=l)?m.next(a-l):(b||u(a),o)}}}ez.applyToOptions=a=>{let b=function(a,b=100,c){let d=c({...a,keyframes:[0,b]}),e=Math.min(et(d),2e4);return{type:"keyframes",ease:a=>d.next(e*a).value/b,duration:e/1e3}}(a,100,ez);return a.ease=b.ease,a.duration=cE(b.duration),a.type="keyframes",a};let eC=(a,b,c)=>(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a;function eD(a,b,c,d){return a===b&&c===d?ck:e=>0===e||1===e?e:eC(function(a,b,c,d,e){let f,g,h=0;do(f=eC(g=b+(c-b)/2,d,e)-a)>0?c=g:b=g;while(Math.abs(f)>1e-7&&++h<12);return g}(e,0,1,a,c),b,d)}let eE=eD(.42,0,1,1),eF=eD(0,0,.58,1),eG=eD(.42,0,.58,1),eH=a=>b=>b<=.5?a(2*b)/2:(2-a(2*(1-b)))/2,eI=a=>b=>1-a(1-b),eJ=eD(.33,1.53,.69,.99),eK=eI(eJ),eL=eH(eK),eM=a=>a>=1?1:(a*=2)<1?.5*eK(a):.5*(2-Math.pow(2,-10*(a-1))),eN=a=>1-Math.sin(Math.acos(a)),eO=eI(eN),eP=eH(eN),eQ={linear:ck,easeIn:eE,easeInOut:eG,easeOut:eF,circIn:eN,circInOut:eP,circOut:eO,backIn:eK,backInOut:eL,backOut:eJ,anticipate:eM},eR=a=>{if(cQ(a)){bZ(4===a.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[b,c,d,e]=a;return eD(b,c,d,e)}return"string"==typeof a?(bZ(void 0!==eQ[a],`Invalid easing type '${a}'`,"invalid-easing-type"),eQ[a]):a},eS=(a,b,c)=>{let d=b-a;return d?(c-a)/d:1};function eT({duration:a=300,keyframes:b,times:c,ease:d="easeInOut"}){var e;let f=Array.isArray(d)&&"number"!=typeof d[0]?d.map(eR):eR(d),g={done:!1,value:b[0]},h=function(a,b,{clamp:c=!0,ease:d,mixer:e}={}){let f=a.length;if(bZ(f===b.length,"Both input and output ranges must be the same length","range-length"),1===f)return()=>b[0];if(2===f&&b[0]===b[1])return()=>b[1];let g=a[0]===a[1];a[0]>a[f-1]&&(a=[...a].reverse(),b=[...b].reverse());let h=function(a,b,c){let d=[],e=c||cl.mix||er,f=a.length-1;for(let c=0;c<f;c++){let f=e(a[c],a[c+1]);b&&(f=ee(Array.isArray(b)?b[c]||ck:b,f)),d.push(f)}return d}(b,d,e),i=h.length,j=c=>{if(g&&c<a[0])return b[0];let d=0;if(i>1)for(;d<a.length-2&&!(c<a[d+1]);d++);let e=eS(a[d],a[d+1],c);return h[d](e)};return c?b=>j(be(a[0],a[f-1],b)):j}((e=c&&c.length===b.length?c:function(a){let b=[0];return!function(a,b){let c=a[a.length-1];for(let d=1;d<=b;d++){let e=eS(0,b,d);a.push(dx(c,1,e))}}(b,a.length-1),b}(b),e.map(b=>b*a)),b,{ease:Array.isArray(f)?f:b.map(()=>f||eG).splice(0,b.length-1)});return{calculatedDuration:a,next:b=>(g.value=h(b),g.done=b>=a,g)}}let eU={decay:eB,inertia:eB,tween:eT,keyframes:eT,spring:ez};function eV(a){"string"==typeof a.type&&(a.type=eU[a.type])}let eW=a=>a/100;class eX extends cP{constructor(a){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:a}=this.options;a&&a.updatedAt!==c$.now()&&this.tick(c$.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},this.options=a,this.initAnimation(),this.play(),!1===a.autoplay&&this.pause()}initAnimation(){let{options:a}=this;eV(a);let{type:b=eT,repeat:c=0,repeatDelay:d=0,repeatType:e,velocity:f=0}=a,{keyframes:g}=a,h=b||eT;h!==eT&&"number"!=typeof g[0]&&(this.mixKeyframes=ee(eW,er(g[0],g[1])),g=[0,100]);let i=h({...a,keyframes:g});"mirror"===e&&(this.mirroredGenerator=h({...a,keyframes:[...g].reverse(),velocity:-f})),null===i.calculatedDuration&&(i.calculatedDuration=et(i));let{calculatedDuration:j}=i;this.calculatedDuration=j,this.resolvedDuration=j+d,this.totalDuration=this.resolvedDuration*(c+1)-d,this.generator=i}updateTime(a){let b=Math.round(a-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=b}tick(a,b=!1){let c,{generator:d,totalDuration:e,mixKeyframes:f,mirroredGenerator:g,resolvedDuration:h,calculatedDuration:i}=this;if(null===this.startTime)return d.next(0);let{delay:j=0,keyframes:k,repeat:l,repeatType:m,repeatDelay:n,type:o,onUpdate:p,finalKeyframe:q}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,a):this.speed<0&&(this.startTime=Math.min(a-e/this.speed,this.startTime)),b?this.currentTime=a:this.updateTime(a);let r=this.currentTime-j*(this.playbackSpeed>=0?1:-1),s=this.playbackSpeed>=0?r<0:r>e;this.currentTime=Math.max(r,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=e);let t=this.currentTime,u=d;if(l){let a=Math.min(this.currentTime,e)/h,b=Math.floor(a),c=a%1;!c&&a>=1&&(c=1),1===c&&b--,(b=Math.min(b,l+1))%2&&("reverse"===m?(c=1-c,n&&(c-=n/h)):"mirror"===m&&(u=g)),t=be(0,1,c)*h}s?(this.delayState.value=k[0],c=this.delayState):c=u.next(t),f&&!s&&(c.value=f(c.value));let{done:v}=c;s||null===i||(v=this.playbackSpeed>=0?this.currentTime>=e:this.currentTime<=0);let w=null===this.holdTime&&("finished"===this.state||"running"===this.state&&v);return w&&o!==eB&&(c.value=cO(k,this.options,q,this.speed)),p&&p(c.value),w&&this.finish(),c}then(a,b){return this.finished.then(a,b)}get duration(){return this.calculatedDuration/1e3}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+a/1e3}get time(){return this.currentTime/1e3}set time(a){a=cE(a),this.currentTime=a,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=a:this.driver&&(this.startTime=this.driver.now()-a/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=a,this.tick(a))}getGeneratorVelocity(){let a=this.currentTime;if(a<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(a);let b=this.generator.next(a).value;return eA(a=>this.generator.next(a).value,a,b)}get speed(){return this.playbackSpeed}set speed(a){let b=this.playbackSpeed!==a;b&&this.driver&&this.updateTime(c$.now()),this.playbackSpeed=a,b&&this.driver&&(this.time=this.currentTime/1e3)}play(){if(this.isStopped)return;let{driver:a=es,startTime:b}=this.options;this.driver||(this.driver=a(a=>this.tick(a))),this.options.onPlay?.();let c=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=c):null!==this.holdTime?this.startTime=c-this.holdTime:this.startTime||(this.startTime=b??c),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(c$.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(a){return this.startTime=0,this.tick(a,!0)}attachTimeline(a){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),a.observe(this)}}let eY={anticipate:eM,backInOut:eL,circInOut:eP};class eZ extends cW{constructor(a){!function(a){"string"==typeof a.ease&&a.ease in eY&&(a.ease=eY[a.ease])}(a),eV(a),super(a),void 0!==a.startTime&&!1!==a.autoplay&&(this.startTime=a.startTime),this.options=a}updateMotionValue(a){let{motionValue:b,onUpdate:c,onComplete:d,element:e,...f}=this.options;if(!b)return;if(void 0!==a)return void b.set(a);let g=new eX({...f,autoplay:!1}),h=Math.max(10,c$.now()-this.startTime),i=be(0,10,h-10),j=g.sample(h).value,{name:k}=this.options;e&&k&&cI(e,k,j),b.setWithVelocity(g.sample(Math.max(0,h-i)).value,j,i),g.stop()}}let e$=(a,b)=>"zIndex"!==b&&!!("number"==typeof a||Array.isArray(a)||"string"==typeof a&&(bF.test(a)||"0"===a)&&!a.startsWith("url("));function e_(a){a.duration=0,a.type="keyframes"}let e0=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,e1=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),e2=cJ(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class e3 extends cP{constructor({autoplay:a=!0,delay:b=0,type:c="keyframes",repeat:d=0,repeatDelay:e=0,repeatType:f="loop",keyframes:g,name:h,motionValue:i,element:j,...k}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=c$.now();let l={autoplay:a,delay:b,type:c,repeat:d,repeatDelay:e,repeatType:f,name:h,motionValue:i,element:j,...k},m=j?.KeyframeResolver||cy;this.keyframeResolver=new m(g,(a,b,c)=>this.onKeyframesResolved(a,b,l,!c),h,i,j),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(a,b,c,d){let e;this.keyframeResolver=void 0;let{name:f,type:g,velocity:h,delay:i,isHandoff:j,onUpdate:k}=c;this.resolvedAt=c$.now();let l=!0;!function(a,b,c,d){let e=a[0];if(null===e)return!1;if("display"===b||"visibility"===b)return!0;let f=a[a.length-1],g=e$(e,b),h=e$(f,b);return bY(g===h,`You are trying to animate ${b} from "${e}" to "${f}". "${g?f:e}" is not an animatable value.`,"value-not-animatable"),!!g&&!!h&&(function(a){let b=a[0];if(1===a.length)return!0;for(let c=0;c<a.length;c++)if(a[c]!==b)return!0}(a)||("spring"===c||cV(c))&&d)}(a,f,g,h)&&(l=!1,(cl.instantAnimations||!i)&&k?.(cO(a,c,b)),a[0]=a[a.length-1],e_(c),c.repeat=0);let m={startTime:d?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:b,...c,keyframes:a},n=l&&!j&&function(a){let{motionValue:b,name:c,repeatDelay:d,repeatType:e,damping:f,type:g,keyframes:h}=a;if(!(b?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:i,transformTemplate:j}=b.owner.getProps();return e2()&&c&&(cX.has(c)||e1.has(c)&&function(a){for(let b=0;b<a.length;b++)if("string"==typeof a[b]&&e0.test(a[b]))return!0;return!1}(h))&&("transform"!==c||!j)&&!i&&!d&&"mirror"!==e&&0!==f&&"inertia"!==g}(m),o=m.motionValue?.owner?.current;if(n)try{e=new eZ({...m,element:o})}catch{e=new eX(m)}else e=new eX(m);e.finished.then(()=>{this.notifyFinished()}).catch(ck),this.pendingTimeline&&(this.stopTimeline=e.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=e}get finished(){return this._animation?this.animation.finished:this._finished}then(a,b){return this.finished.finally(a).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),cv=!0,cx(),cw(),cv=!1),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(a){this.animation.time=a}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(a){this.animation.speed=a}get startTime(){return this.animation.startTime}attachTimeline(a){return this._animation?this.stopTimeline=this.animation.attachTimeline(a):this.pendingTimeline=a,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}let e4={type:"spring",stiffness:500,damping:25,restSpeed:10},e5={type:"keyframes",duration:.8},e6={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},e7=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),e8=(a,b,c,d={},e,f)=>g=>{let h=ea(d,a)||{},i=h.delay||d.delay||0,{elapsed:j=0}=d;j-=cE(i);let k={keyframes:Array.isArray(c)?c:[null,c],ease:"easeOut",velocity:b.getVelocity(),...h,delay:-j,onUpdate:a=>{b.set(a),h.onUpdate&&h.onUpdate(a)},onComplete:()=>{g(),h.onComplete&&h.onComplete()},name:a,motionValue:b,element:f?void 0:e};!function(a){for(let b in a)if(!e7.has(b))return!0;return!1}(h)&&Object.assign(k,((a,{keyframes:b})=>b.length>2?e5:bd.has(a)?a.startsWith("scale")?{type:"spring",stiffness:550,damping:0===b[1]?2*Math.sqrt(550):30,restSpeed:10}:e4:e6)(a,k)),k.duration&&(k.duration=cE(k.duration)),k.repeatDelay&&(k.repeatDelay=cE(k.repeatDelay)),void 0!==k.from&&(k.keyframes[0]=k.from);let l=!1;if(!1!==k.type&&(0!==k.duration||k.repeatDelay)||(e_(k),0===k.delay&&(l=!0)),(cl.instantAnimations||cl.skipAnimations||e?.shouldSkipAnimations||h.skipAnimations)&&(l=!0,e_(k),k.delay=0),k.allowFlatten=!h.type&&!h.ease,l&&!f&&void 0!==b.get()){let a=cO(k.keyframes,h);if(void 0!==a)return void co.update(()=>{k.onUpdate(a),k.onComplete()})}return h.isSync?new eX(k):new e3(k)};function e9(a,b,{delay:c=0,transitionOverride:d,type:e}={}){let{transition:f,transitionEnd:g,...h}=b,i=a.getDefaultTransition();f=f?d9(f,i):i;let j=f?.reduceMotion,k=f?.skipAnimations;d&&(f=d);let l=[],m=e&&a.animationState&&a.animationState.getState()[e],n=f?.path;for(let b in n&&n.animateVisualElement(a,h,f,c,l),h){let d=a.getValue(b,a.latestValues[b]??null),e=h[b];if(void 0===e||m&&function({protectedKeys:a,needsAnimating:b},c){let d=a.hasOwnProperty(c)&&!0!==b[c];return b[c]=!1,d}(m,b))continue;let g={delay:c,...ea(f||{},b)};k&&(g.skipAnimations=!0);let i=d.get();if(void 0!==i&&!d.isAnimating()&&!Array.isArray(e)&&e===i&&!g.velocity){co.update(()=>d.set(e));continue}let n=!1;if(window.MotionHandoffAnimation){let c=a.props[ed];if(c){let a=window.MotionHandoffAnimation(c,b,co);null!==a&&(g.startTime=a,n=!0)}}ec(a,b);let o=j??a.shouldReduceMotion;d.start(e8(b,d,e,o&&bU.has(b)?{type:!1}:g,a,n));let p=d.animation;p&&l.push(p)}if(g){let b=()=>co.update(()=>{g&&function(a,b){let{transitionEnd:c={},transition:d={},...e}=d8(a,b)||{};for(let b in e={...e,...c}){var f;let c=eb(f=e[b])?f[f.length-1]||0:f;a.hasValue(b)?a.getValue(b).set(c):a.addValue(b,c2(c))}}(a,g)});l.length?Promise.all(l).then(b):b()}return l}function fa(a,b,c,d=0,e=1){let f=Array.from(a).sort((a,b)=>a.sortNodePosition(b)).indexOf(b),g=a.size,h=(g-1)*d;return"function"==typeof c?c(f,g):1===e?f*d:h-f*d}function fb(a,b,c={}){let d=d8(a,b,"exit"===c.type?a.presenceContext?.custom:void 0),{transition:e=a.getDefaultTransition()||{}}=d||{};c.transitionOverride&&(e=c.transitionOverride);let f=d?()=>Promise.all(e9(a,d,c)):()=>Promise.resolve(),g=a.variantChildren&&a.variantChildren.size?(d=0)=>{let{delayChildren:f=0,staggerChildren:g,staggerDirection:h}=e;return function(a,b,c=0,d=0,e=0,f=1,g){let h=[];for(let i of a.variantChildren)i.notify("AnimationStart",b),h.push(fb(i,b,{...g,delay:c+("function"==typeof d?0:d)+fa(a.variantChildren,i,d,e,f)}).then(()=>i.notify("AnimationComplete",b)));return Promise.all(h)}(a,b,d,f,g,h,c)}:()=>Promise.resolve(),{when:h}=e;if(!h)return Promise.all([f(),g(c.delay)]);{let[a,b]="beforeChildren"===h?[f,g]:[g,f];return a().then(()=>b())}}let fc=c8.length;function fd(a,b){if(!Array.isArray(b))return!1;let c=b.length;if(c!==a.length)return!1;for(let d=0;d<c;d++)if(b[d]!==a[d])return!1;return!0}let fe=[...c7].reverse(),ff=c7.length;function fg(a=!1){return{isActive:a,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function fh(){return{animate:fg(!0),whileInView:fg(),whileHover:fg(),whileTap:fg(),whileDrag:fg(),whileFocus:fg(),exit:fg()}}class fi extends d7{constructor(a){super(a),a.animationState||(a.animationState=function(a){let b=b=>Promise.all(b.map(({animation:b,options:c})=>(function(a,b,c={}){let d;if(a.notify("AnimationStart",b),Array.isArray(b))d=Promise.all(b.map(b=>fb(a,b,c)));else if("string"==typeof b)d=fb(a,b,c);else{let e="function"==typeof b?d8(a,b,c.custom):b;d=Promise.all(e9(a,e,c))}return d.then(()=>{a.notify("AnimationComplete",b)})})(a,b,c))),c=fh(),d=!0,e=!1,f=b=>(c,d)=>{let e=d8(a,d,"exit"===b?a.presenceContext?.custom:void 0);if(e){let{transition:a,transitionEnd:b,...d}=e;c={...c,...d,...b}}return c};function g(g){let{props:h}=a,i=function a(b){if(!b)return;if(!b.isControllingVariants){let c=b.parent&&a(b.parent)||{};return void 0!==b.props.initial&&(c.initial=b.props.initial),c}let c={};for(let a=0;a<fc;a++){let d=c8[a],e=b.props[d];(c6(e)||!1===e)&&(c[d]=e)}return c}(a.parent)||{},j=[],k=new Set,l={},m=1/0;for(let b=0;b<ff;b++){var n,o;let p=fe[b],q=c[p],r=void 0!==h[p]?h[p]:i[p],s=c6(r),t=p===g?q.isActive:null;!1===t&&(m=b);let u=r===i[p]&&r!==h[p]&&s;if(u&&(d||e)&&a.manuallyAnimateOnMount&&(u=!1),q.protectedKeys={...l},!q.isActive&&null===t||!r&&!q.prevProp||c5(r)||"boolean"==typeof r)continue;if("exit"===p&&q.isActive&&!0!==t){q.prevResolvedValues&&(l={...l,...q.prevResolvedValues});continue}let v=(n=q.prevProp,"string"==typeof(o=r)?o!==n:!!Array.isArray(o)&&!fd(o,n)),w=v||p===g&&q.isActive&&!u&&s||b>m&&s,x=!1,y=Array.isArray(r)?r:[r],z=y.reduce(f(p),{});!1===t&&(z={});let{prevResolvedValues:A={}}=q,B={...A,...z},C=b=>{w=!0,k.has(b)&&(x=!0,k.delete(b)),q.needsAnimating[b]=!0;let c=a.getValue(b);c&&(c.liveStyle=!1)};for(let a in B){let b=z[a],c=A[a];if(!l.hasOwnProperty(a))(eb(b)&&eb(c)?!fd(b,c)||v:b!==c)?null!=b?C(a):k.add(a):void 0!==b&&k.has(a)?C(a):q.protectedKeys[a]=!0}q.prevProp=r,q.prevResolvedValues=z,q.isActive&&(l={...l,...z}),(d||e)&&a.blockInitialAnimation&&(w=!1);let D=u&&v,E=!D||x;w&&E&&j.push(...y.map(b=>{let c={type:p};if("string"==typeof b&&(d||e)&&!D&&a.manuallyAnimateOnMount&&a.parent){let{parent:d}=a,e=d8(d,b);if(d.enteringChildren&&e){let{delayChildren:b}=e.transition||{};c.delay=fa(d.enteringChildren,a,b)}}return{animation:b,options:c}}))}if(k.size){let b={};if("boolean"!=typeof h.initial){let c=d8(a,Array.isArray(h.initial)?h.initial[0]:h.initial);c&&c.transition&&(b.transition=c.transition)}k.forEach(c=>{let d=a.getBaseTarget(c),e=a.getValue(c);e&&(e.liveStyle=!0),b[c]=d??null}),j.push({animation:b})}let p=!!j.length;return d&&(!1===h.initial||h.initial===h.animate)&&!a.manuallyAnimateOnMount&&(p=!1),d=!1,e=!1,p?b(j):Promise.resolve()}return{animateChanges:g,setActive:function(b,d){if(c[b].isActive===d)return Promise.resolve();a.variantChildren?.forEach(a=>a.animationState?.setActive(b,d)),c[b].isActive=d;let e=g(b);for(let a in c)c[a].protectedKeys={};return e},setAnimateFunction:function(c){b=c(a)},getState:()=>c,reset:()=>{c=fh(),e=!0}}}(a))}updateAnimationControlsSubscription(){let{animate:a}=this.node.getProps();c5(a)&&(this.unmountControls=a.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:a}=this.node.getProps(),{animate:b}=this.node.prevProps||{};a!==b&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let fj=0;class fk extends d7{constructor(){super(...arguments),this.id=fj++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:a,onExitComplete:b}=this.node.presenceContext,{isPresent:c}=this.node.prevPresenceContext||{};if(!this.node.animationState||a===c)return;if(a&&!1===c){if(this.isExitComplete){let{initial:a,custom:b}=this.node.getProps();if("string"==typeof a||"object"==typeof a&&null!==a&&!Array.isArray(a)){let c=d8(this.node,a,b);if(c){let{transition:a,transitionEnd:b,...d}=c;for(let a in d)this.node.getValue(a)?.jump(d[a])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let d=this.node.animationState.setActive("exit",!a);b&&!a&&d.then(()=>{this.isExitComplete=!0,b(this.id)})}mount(){let{register:a,onExitComplete:b}=this.node.presenceContext||{};b&&b(this.id),a&&(this.unmount=a(this.id))}unmount(){}}let fl={x:!1,y:!1};function fm(a){return[a("x"),a("y")]}function fn(a){return a.max-a.min}function fo(a,b,c,d=.5){a.origin=d,a.originPoint=dx(b.min,b.max,a.origin),a.scale=fn(c)/fn(b),a.translate=dx(c.min,c.max,a.origin)-a.originPoint,(a.scale>=.9999&&a.scale<=1.0001||isNaN(a.scale))&&(a.scale=1),(a.translate>=-.01&&a.translate<=.01||isNaN(a.translate))&&(a.translate=0)}function fp(a,b,c,d){fo(a.x,b.x,c.x,d?d.originX:void 0),fo(a.y,b.y,c.y,d?d.originY:void 0)}function fq(a,b,c,d=0){a.min=(d?dx(c.min,c.max,d):c.min)+b.min,a.max=a.min+fn(b)}function fr(a,b,c,d=0){let e=d?dx(c.min,c.max,d):c.min;a.min=b.min-e,a.max=a.min+fn(b)}function fs(a,b,c,d){fr(a.x,b.x,c.x,d?.x),fr(a.y,b.y,c.y,d?.y)}let ft=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),fu=new Set(["INPUT","SELECT","TEXTAREA"]);function fv(a,b,c,d={passive:!0}){return a.addEventListener(b,c,d),()=>a.removeEventListener(b,c,d)}function fw(a){return a0(a)&&"ownerSVGElement"in a}function fx(a,b,c){if(null==a)return[];if(a instanceof EventTarget)return[a];if("string"==typeof a){let d=document;b&&(d=b.current);let e=c?.[a]??d.querySelectorAll(a);return e?Array.from(e):[]}return Array.from(a).filter(a=>null!=a)}let fy=new WeakMap,fz=(a,b,c)=>(d,e)=>e&&e[0]?e[0][a+"Size"]:fw(d)&&"getBBox"in d?d.getBBox()[b]:d[c],fA=fz("inline","width","offsetWidth"),fB=fz("block","height","offsetHeight");function fC({target:a,borderBoxSize:b}){fy.get(a)?.forEach(c=>{c(a,{get width(){return fA(a,b)},get height(){return fB(a,b)}})})}function fD(a){a.forEach(fC)}let fE=new Set;function fF(a,b){return"function"==typeof a?(fE.add(a),f||(f=()=>{let a={get width(){return window.innerWidth},get height(){return window.innerHeight}};fE.forEach(b=>b(a))},window.addEventListener("resize",f)),()=>{fE.delete(a),fE.size||"function"!=typeof f||(window.removeEventListener("resize",f),f=void 0)}):function(a,b){e||"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(fD));let c=fx(a);return c.forEach(a=>{let c=fy.get(a);c||(c=new Set,fy.set(a,c)),c.add(b),e?.observe(a)}),()=>{c.forEach(a=>{let c=fy.get(a);c?.delete(b),c?.size||e?.unobserve(a)})}}(a,b)}let fG=a=>"mouse"===a.pointerType?"number"!=typeof a.button||a.button<=0:!1!==a.isPrimary;function fH(a){return{point:{x:a.pageX,y:a.pageY}}}function fI(a,b,c,d){return fv(a,b,a=>fG(a)&&c(a,fH(a)),d)}let fJ=({current:a})=>a?a.ownerDocument.defaultView:null;function fK(a){return a&&"object"==typeof a&&Object.prototype.hasOwnProperty.call(a,"current")}let fL=(a,b)=>Math.abs(a-b),fM=new Set(["auto","scroll"]);class fN{constructor(a,b,{transformPagePoint:c,contextWindow:d=window,dragSnapToOrigin:e=!1,distanceThreshold:f=3,element:g}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=a=>{this.handleScroll(a.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=fO(this.lastRawMoveEventInfo,this.transformPagePoint));let a=fQ(this.lastMoveEventInfo,this.history),b=null!==this.startEvent,c=function(a,b){return Math.sqrt(fL(a.x,b.x)**2+fL(a.y,b.y)**2)}(a.offset,{x:0,y:0})>=this.distanceThreshold;if(!b&&!c)return;let{point:d}=a,{timestamp:e}=cq;this.history.push({...d,timestamp:e});let{onStart:f,onMove:g}=this.handlers;b||(f&&f(this.lastMoveEvent,a),this.startEvent=this.lastMoveEvent),g&&g(this.lastMoveEvent,a)},this.handlePointerMove=(a,b)=>{this.lastMoveEvent=a,this.lastRawMoveEventInfo=b,this.lastMoveEventInfo=fO(b,this.transformPagePoint),co.update(this.updatePoint,!0)},this.handlePointerUp=(a,b)=>{this.end();let{onEnd:c,onSessionEnd:d,resumeAnimation:e}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&e&&e(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let f=fQ("pointercancel"===a.type?this.lastMoveEventInfo:fO(b,this.transformPagePoint),this.history);this.startEvent&&c&&c(a,f),d&&d(a,f)},!fG(a))return;this.dragSnapToOrigin=e,this.handlers=b,this.transformPagePoint=c,this.distanceThreshold=f,this.contextWindow=d||window;let h=fO(fH(a),this.transformPagePoint),{point:i}=h,{timestamp:j}=cq;this.history=[{...i,timestamp:j}];let{onSessionStart:k}=b;k&&k(a,fQ(h,this.history));let l={passive:!0,capture:!0};this.removeListeners=ee(fI(this.contextWindow,"pointermove",this.handlePointerMove,l),fI(this.contextWindow,"pointerup",this.handlePointerUp,l),fI(this.contextWindow,"pointercancel",this.handlePointerUp,l)),g&&this.startScrollTracking(g)}startScrollTracking(a){let b=a.parentElement;for(;b;){let a=getComputedStyle(b);(fM.has(a.overflowX)||fM.has(a.overflowY))&&this.scrollPositions.set(b,{x:b.scrollLeft,y:b.scrollTop}),b=b.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(a){let b=this.scrollPositions.get(a);if(!b)return;let c=a===window,d=c?{x:window.scrollX,y:window.scrollY}:{x:a.scrollLeft,y:a.scrollTop},e={x:d.x-b.x,y:d.y-b.y};(0!==e.x||0!==e.y)&&(c?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=e.x,this.lastMoveEventInfo.point.y+=e.y):this.history.length>0&&(this.history[0].x-=e.x,this.history[0].y-=e.y),this.scrollPositions.set(a,d),co.update(this.updatePoint,!0))}updateHandlers(a){this.handlers=a}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),cp(this.updatePoint)}}function fO(a,b){return b?{point:b(a.point)}:a}function fP(a,b){return{x:a.x-b.x,y:a.y-b.y}}function fQ({point:a},b){return{point:a,delta:fP(a,fR(b)),offset:fP(a,b[0]),velocity:function(a,b){if(a.length<2)return{x:0,y:0};let c=a.length-1,d=null,e=fR(a);for(;c>=0&&(d=a[c],!(e.timestamp-d.timestamp>cE(.1)));)c--;if(!d)return{x:0,y:0};d===a[0]&&a.length>2&&e.timestamp-d.timestamp>2*cE(b)&&(d=a[1]);let f=(e.timestamp-d.timestamp)/1e3;if(0===f)return{x:0,y:0};let g={x:(e.x-d.x)/f,y:(e.y-d.y)/f};return g.x===1/0&&(g.x=0),g.y===1/0&&(g.y=0),g}(b,.1)}}function fR(a){return a[a.length-1]}function fS(a,b,c){return{min:void 0!==b?a.min+b:void 0,max:void 0!==c?a.max+c-(a.max-a.min):void 0}}function fT(a,b){let c=b.min-a.min,d=b.max-a.max;return b.max-b.min<a.max-a.min&&([c,d]=[d,c]),{min:c,max:d}}function fU(a,b,c){return{min:fV(a,b),max:fV(a,c)}}function fV(a,b){return"number"==typeof a?a:a[b]||0}let fW=new WeakMap;class fX{constructor(a){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=bS(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=a}start(a,{snapToCursor:b=!1,distanceThreshold:c}={}){let{presenceContext:d}=this.visualElement;if(d&&!1===d.isPresent)return;let e=a=>{b&&this.snapToCursor(fH(a).point),this.stopAnimation()},f=(a,b)=>{let{drag:c,dragPropagation:d,onDragStart:e}=this.getProps();if(c&&!d&&(this.openDragLock&&this.openDragLock(),this.openDragLock=function(a){if("x"===a||"y"===a)if(fl[a])return null;else return fl[a]=!0,()=>{fl[a]=!1};return fl.x||fl.y?null:(fl.x=fl.y=!0,()=>{fl.x=fl.y=!1})}(c),!this.openDragLock))return;this.latestPointerEvent=a,this.latestPanInfo=b,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),fm(a=>{let b=this.getAxisMotionValue(a).get()||0;if(bs.test(b)){let{projection:c}=this.visualElement;if(c&&c.layout){let d=c.layout.layoutBox[a];d&&(b=fn(d)*(parseFloat(b)/100))}}this.originPoint[a]=b}),e&&co.update(()=>e(a,b),!1,!0),ec(this.visualElement,"transform");let{animationState:f}=this.visualElement;f&&f.setActive("whileDrag",!0)},g=(a,b)=>{this.latestPointerEvent=a,this.latestPanInfo=b;let{dragPropagation:c,dragDirectionLock:d,onDirectionLock:e,onDrag:f}=this.getProps();if(!c&&!this.openDragLock)return;let{offset:g}=b;if(d&&null===this.currentDirection){this.currentDirection=function(a,b=10){let c=null;return Math.abs(a.y)>b?c="y":Math.abs(a.x)>b&&(c="x"),c}(g),null!==this.currentDirection&&e&&e(this.currentDirection);return}this.updateAxis("x",b.point,g),this.updateAxis("y",b.point,g),this.visualElement.render(),f&&co.update(()=>f(a,b),!1,!0)},h=(a,b)=>{this.latestPointerEvent=a,this.latestPanInfo=b,this.stop(a,b),this.latestPointerEvent=null,this.latestPanInfo=null},i=()=>{let{dragSnapToOrigin:a}=this.getProps();(a||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:j}=this.getProps();this.panSession=new fN(a,{onSessionStart:e,onStart:f,onMove:g,onSessionEnd:h,resumeAnimation:i},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:j,distanceThreshold:c,contextWindow:fJ(this.visualElement),element:this.visualElement.current})}stop(a,b){let c=a||this.latestPointerEvent,d=b||this.latestPanInfo,e=this.isDragging;if(this.cancel(),!e||!d||!c)return;let{velocity:f}=d;this.startAnimation(f);let{onDragEnd:g}=this.getProps();g&&co.postRender(()=>g(c,d))}cancel(){this.isDragging=!1;let{projection:a,animationState:b}=this.visualElement;a&&(a.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:c}=this.getProps();!c&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),b&&b.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(a,b,c){let{drag:d}=this.getProps();if(!c||!fZ(a,d,this.currentDirection))return;let e=this.getAxisMotionValue(a),f=this.originPoint[a]+c[a];this.constraints&&this.constraints[a]&&(f=function(a,{min:b,max:c},d){return void 0!==b&&a<b?a=d?dx(b,a,d.min):Math.max(a,b):void 0!==c&&a>c&&(a=d?dx(c,a,d.max):Math.min(a,c)),a}(f,this.constraints[a],this.elastic[a])),e.set(f)}resolveConstraints(){let{dragConstraints:a,dragElastic:b}=this.getProps(),c=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,d=this.constraints;a&&fK(a)?this.constraints||(this.constraints=this.resolveRefConstraints()):a&&c?this.constraints=function(a,{top:b,left:c,bottom:d,right:e}){return{x:fS(a.x,c,e),y:fS(a.y,b,d)}}(c.layoutBox,a):this.constraints=!1,this.elastic=function(a=.35){return!1===a?a=0:!0===a&&(a=.35),{x:fU(a,"left","right"),y:fU(a,"top","bottom")}}(b),d!==this.constraints&&!fK(a)&&c&&this.constraints&&!this.hasMutatedConstraints&&fm(a=>{!1!==this.constraints&&this.getAxisMotionValue(a)&&(this.constraints[a]=function(a,b){let c={};return void 0!==b.min&&(c.min=b.min-a.min),void 0!==b.max&&(c.max=b.max-a.min),c}(c.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){var a;let{dragConstraints:b,onMeasureDragConstraints:c}=this.getProps();if(!b||!fK(b))return!1;let d=b.current;bZ(null!==d,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:e}=this.visualElement;if(!e||!e.layout)return!1;e.root&&(e.root.scroll=void 0,e.root.updateScroll());let f=function(a,b,c){let d=dP(a,c),{scroll:e}=b;return e&&(dL(d.x,e.offset.x),dL(d.y,e.offset.y)),d}(d,e.root,this.visualElement.getTransformPagePoint()),g=(a=e.layout.layoutBox,{x:fT(a.x,f.x),y:fT(a.y,f.y)});if(c){let a=c(function({x:a,y:b}){return{top:b.min,right:a.max,bottom:b.max,left:a.min}}(g));this.hasMutatedConstraints=!!a,a&&(g=dD(a))}return g}startAnimation(a){let{drag:b,dragMomentum:c,dragElastic:d,dragTransition:e,dragSnapToOrigin:f,onDragTransitionEnd:g}=this.getProps(),h=this.constraints||{};return Promise.all(fm(g=>{if(!fZ(g,b,this.currentDirection))return;let i=h&&h[g]||{};(!0===f||f===g)&&(i={min:0,max:0});let j={type:"inertia",velocity:c?a[g]:0,bounceStiffness:d?200:1e6,bounceDamping:d?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...e,...i};return this.startAxisValueAnimation(g,j)})).then(g)}startAxisValueAnimation(a,b){let c=this.getAxisMotionValue(a);return ec(this.visualElement,a),c.start(e8(a,c,0,b,this.visualElement,!1))}stopAnimation(){fm(a=>this.getAxisMotionValue(a).stop())}getAxisMotionValue(a){let b=`_drag${a.toUpperCase()}`;return this.visualElement.getProps()[b]||this.visualElement.getValue(a,this.visualElement.latestValues[a]??0)}snapToCursor(a){fm(b=>{let{drag:c}=this.getProps();if(!fZ(b,c,this.currentDirection))return;let{projection:d}=this.visualElement,e=this.getAxisMotionValue(b);if(d&&d.layout){let{min:c,max:f}=d.layout.layoutBox[b],g=e.get()||0;e.set(a[b]-dx(c,f,.5)+g)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:a,dragConstraints:b}=this.getProps(),{projection:c}=this.visualElement;if(!fK(b)||!c||!this.constraints)return;this.stopAnimation();let d={x:0,y:0};fm(a=>{let b=this.getAxisMotionValue(a);if(b&&!1!==this.constraints){let c=b.get();d[a]=function(a,b){let c=.5,d=fn(a),e=fn(b);return e>d?c=eS(b.min,b.max-d,a.min):d>e&&(c=eS(a.min,a.max-e,b.min)),be(0,1,c)}({min:c,max:c},this.constraints[a])}});let{transformTemplate:e}=this.visualElement.getProps();this.visualElement.current.style.transform=e?e({},""):"none",c.root&&c.root.updateScroll(),c.updateLayout(),this.constraints=!1,this.resolveConstraints(),fm(b=>{if(!fZ(b,a,null))return;let c=this.getAxisMotionValue(b),{min:e,max:f}=this.constraints[b];c.set(dx(e,f,d[b]))}),this.visualElement.render()}addListeners(){let a;if(!this.visualElement.current)return;fW.set(this.visualElement,this);let b=this.visualElement.current,c=fI(b,"pointerdown",a=>{let{drag:c,dragListener:d=!0}=this.getProps(),e=a.target,f=e!==b&&(fu.has(e.tagName)||!0===e.isContentEditable);c&&d&&!f&&this.start(a)}),d=()=>{let{dragConstraints:c}=this.getProps();fK(c)&&c.current&&(this.constraints=this.resolveRefConstraints(),a||(a=function(a,b,c){let d=fF(a,fY(c)),e=fF(b,fY(c));return()=>{d(),e()}}(b,c.current,()=>this.scalePositionWithinConstraints())))},{projection:e}=this.visualElement,f=e.addEventListener("measure",d);e&&!e.layout&&(e.root&&e.root.updateScroll(),e.updateLayout()),co.read(d);let g=fv(window,"resize",()=>this.scalePositionWithinConstraints()),h=e.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b})=>{this.isDragging&&b&&(fm(b=>{let c=this.getAxisMotionValue(b);c&&(this.originPoint[b]+=a[b].translate,c.set(c.get()+a[b].translate))}),this.visualElement.render())});return()=>{g(),c(),f(),h&&h(),a&&a()}}getProps(){let a=this.visualElement.getProps(),{drag:b=!1,dragDirectionLock:c=!1,dragPropagation:d=!1,dragConstraints:e=!1,dragElastic:f=.35,dragMomentum:g=!0}=a;return{...a,drag:b,dragDirectionLock:c,dragPropagation:d,dragConstraints:e,dragElastic:f,dragMomentum:g}}}function fY(a){let b=!0;return()=>{if(b){b=!1;return}a()}}function fZ(a,b,c){return(!0===b||b===a)&&(null===c||c===a)}class f$ extends d7{constructor(a){super(a),this.removeGroupControls=ck,this.removeListeners=ck,this.controls=new fX(a)}mount(){let{dragControls:a}=this.node.getProps();a&&(this.removeGroupControls=a.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||ck}update(){let{dragControls:a}=this.node.getProps(),{dragControls:b}=this.node.prevProps||{};a!==b&&(this.removeGroupControls(),a&&(this.removeGroupControls=a.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}let f_=a=>(b,c)=>{a&&co.update(()=>a(b,c),!1,!0)};class f0 extends d7{constructor(){super(...arguments),this.removePointerDownListener=ck}onPointerDown(a){this.session=new fN(a,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:fJ(this.node)})}createPanHandlers(){let{onPanSessionStart:a,onPanStart:b,onPan:c,onPanEnd:d}=this.node.getProps();return{onSessionStart:f_(a),onStart:f_(b),onMove:f_(c),onEnd:(a,b)=>{delete this.session,d&&co.postRender(()=>d(a,b))}}}mount(){this.removePointerDownListener=fI(this.node.current,"pointerdown",a=>this.onPointerDown(a))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let f1={hasAnimatedSinceResize:!0,hasEverUpdated:!1},f2=(0,h.createContext)({}),f3=!1;class f4 extends h.Component{componentDidMount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c,layoutId:d}=this.props,{projection:e}=a;e&&(b.group&&b.group.add(e),c&&c.register&&d&&c.register(e),f3&&e.root.didUpdate(),e.addEventListener("animationComplete",()=>{this.safeToRemove()}),e.setOptions({...e.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),f1.hasEverUpdated=!0}getSnapshotBeforeUpdate(a){let{layoutDependency:b,visualElement:c,drag:d,isPresent:e}=this.props,{projection:f}=c;return f&&(f.isPresent=e,a.layoutDependency!==b&&f.setOptions({...f.options,layoutDependency:b}),f3=!0,d||a.layoutDependency!==b||void 0===b||a.isPresent!==e?f.willUpdate():this.safeToRemove(),a.isPresent!==e&&(e?f.promote():f.relegate()||co.postRender(()=>{let a=f.getStack();a&&a.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:a,layoutAnchor:b}=this.props,{projection:c}=a;c&&(c.options.layoutAnchor=b,c.root.didUpdate(),cY.postRender(()=>{!c.currentAnimation&&c.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:a,layoutGroup:b,switchLayoutGroup:c}=this.props,{projection:d}=a;f3=!0,d&&(d.scheduleCheckAfterUnmount(),b&&b.group&&b.group.remove(d),c&&c.deregister&&c.deregister(d))}safeToRemove(){let{safeToRemove:a}=this.props;a&&a()}render(){return null}}function f5(a){let[b,c]=a8(),d=(0,h.useContext)(aY);return(0,g.jsx)(f4,{...a,layoutGroup:d,switchLayoutGroup:(0,h.useContext)(f2),isPresent:b,safeToRemove:c})}let f6={value:null,addProjectionMetrics:null},f7=du.length,f8=a=>"string"==typeof a?parseFloat(a):a,f9=a=>"number"==typeof a||bt.test(a);function ga(a,b){return void 0!==a[b]?a[b]:a.borderRadius}let gb=gd(0,.5,eO),gc=gd(.5,.95,ck);function gd(a,b,c){return d=>d<a?0:d>b?1:c(eS(a,b,d))}function ge(a,b){a.min=b.min,a.max=b.max}function gf(a,b){ge(a.x,b.x),ge(a.y,b.y)}function gg(a,b){a.translate=b.translate,a.scale=b.scale,a.originPoint=b.originPoint,a.origin=b.origin}function gh(a,b,c,d,e){return a-=b,a=d+1/c*(a-d),void 0!==e&&(a=d+1/e*(a-d)),a}function gi(a,b,[c,d,e],f,g){!function(a,b=0,c=1,d=.5,e,f=a,g=a){if(bs.test(b)&&(b=parseFloat(b),b=dx(g.min,g.max,b/100)-g.min),"number"!=typeof b)return;let h=dx(f.min,f.max,d);a===f&&(h-=b),a.min=gh(a.min,b,c,h,e),a.max=gh(a.max,b,c,h,e)}(a,b[c],b[d],b[e],b.scale,f,g)}let gj=["x","scaleX","originX"],gk=["y","scaleY","originY"];function gl(a,b,c,d){gi(a.x,b,gj,c?c.x:void 0,d?d.x:void 0),gi(a.y,b,gk,c?c.y:void 0,d?d.y:void 0)}function gm(a){return 0===a.translate&&1===a.scale}function gn(a){return gm(a.x)&&gm(a.y)}function go(a,b){return a.min===b.min&&a.max===b.max}function gp(a,b){return Math.round(a.min)===Math.round(b.min)&&Math.round(a.max)===Math.round(b.max)}function gq(a,b){return gp(a.x,b.x)&&gp(a.y,b.y)}function gr(a){return fn(a.x)/fn(a.y)}function gs(a,b){return a.translate===b.translate&&a.scale===b.scale&&a.originPoint===b.originPoint}class gt{constructor(){this.members=[]}add(a){cF(this.members,a);for(let b=this.members.length-1;b>=0;b--){let c=this.members[b];if(c===a||c===this.lead||c===this.prevLead)continue;let d=c.instance;d&&!1!==d.isConnected||c.snapshot||(cG(this.members,c),c.unmount())}a.scheduleRender()}remove(a){if(cG(this.members,a),a===this.prevLead&&(this.prevLead=void 0),a===this.lead){let a=this.members[this.members.length-1];a&&this.promote(a)}}relegate(a){for(let b=this.members.indexOf(a)-1;b>=0;b--){let a=this.members[b];if(!1!==a.isPresent&&a.instance?.isConnected!==!1)return this.promote(a),!0}return!1}promote(a,b){let c=this.lead;if(a!==c&&(this.prevLead=c,this.lead=a,a.show(),c)){c.updateSnapshot(),a.scheduleRender();let{layoutDependency:d}=c.options,{layoutDependency:e}=a.options;(void 0===d||d!==e)&&(a.resumeFrom=c,b&&(c.preserveOpacity=!0),c.snapshot&&(a.snapshot=c.snapshot,a.snapshot.latestValues=c.animationValues||c.latestValues),a.root?.isUpdating&&(a.isLayoutDirty=!0)),!1===a.options.crossfade&&c.hide()}}exitAnimationComplete(){this.members.forEach(a=>{a.options.onExitComplete?.(),a.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(a=>a.instance&&a.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}let gu=(a,b)=>a.depth-b.depth;class gv{constructor(){this.children=[],this.isDirty=!1}add(a){cF(this.children,a),this.isDirty=!0}remove(a){cG(this.children,a),this.isDirty=!0}forEach(a){this.isDirty&&this.children.sort(gu),this.isDirty=!1,this.children.forEach(a)}}let gw={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},gx=["","X","Y","Z"],gy=0;function gz(a,b,c,d){let{latestValues:e}=b;e[a]&&(c[a]=e[a],b.setStaticValue(a,0),d&&(d[a]=0))}function gA({attachResizeListener:a,defaultParent:b,measureScroll:c,checkIsScrollRoot:d,resetTransform:e}){return class{constructor(a={},c=b?.()){this.id=gy++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,f6.value&&(gw.nodes=gw.calculatedTargetDeltas=gw.calculatedProjections=0),this.nodes.forEach(gD),this.nodes.forEach(gM),this.nodes.forEach(gN),this.nodes.forEach(gE),f6.addProjectionMetrics&&f6.addProjectionMetrics(gw)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=c?c.root||c:this,this.path=c?[...c.path,c]:[],this.parent=c,this.depth=c?c.depth+1:0;for(let a=0;a<this.path.length;a++)this.path[a].shouldResetTransform=!0;this.root===this&&(this.nodes=new gv)}addEventListener(a,b){return this.eventHandlers.has(a)||this.eventHandlers.set(a,new cH),this.eventHandlers.get(a).add(b)}notifyListeners(a,...b){let c=this.eventHandlers.get(a);c&&c.notify(...b)}hasListeners(a){return this.eventHandlers.has(a)}mount(b){if(this.instance)return;this.isSVG=fw(b)&&!(fw(b)&&"svg"===b.tagName),this.instance=b;let{layoutId:c,layout:d,visualElement:e}=this.options;if(e&&!e.current&&e.mount(b),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(d||c)&&(this.isLayoutDirty=!0),a){let c,d=0,e=()=>this.root.updateBlockedByResize=!1;co.read(()=>{d=window.innerWidth}),a(b,()=>{let a=window.innerWidth;a!==d&&(d=a,this.root.updateBlockedByResize=!0,c&&c(),c=function(a,b){let c=c$.now(),d=({timestamp:b})=>{let e=b-c;e>=250&&(cp(d),a(e-250))};return co.setup(d,!0),()=>cp(d)}(e,250),f1.hasAnimatedSinceResize&&(f1.hasAnimatedSinceResize=!1,this.nodes.forEach(gL)))})}c&&this.root.registerSharedNode(c,this),!1!==this.options.animate&&e&&(c||d)&&this.addEventListener("didUpdate",({delta:a,hasLayoutChanged:b,hasRelativeLayoutChanged:c,layout:d})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let f=this.options.transition||e.getDefaultTransition()||gT,{onLayoutAnimationStart:g,onLayoutAnimationComplete:h}=e.getProps(),i=!this.targetLayout||!gq(this.targetLayout,d),j=!b&&c;if(this.options.layoutRoot||this.resumeFrom||j||b&&(i||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let b={...ea(f,"layout"),onPlay:g,onComplete:h};(e.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(a,j,b.path)}else b||gL(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=d})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),cp(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(gO),this.animationId++)}getTransformTemplate(){let{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function a(b){if(b.hasCheckedOptimisedAppear=!0,b.root===b)return;let{visualElement:c}=b.options;if(!c)return;let d=c.props[ed];if(window.MotionHasOptimisedAnimation(d,"transform")){let{layout:a,layoutId:c}=b.options;window.MotionCancelOptimisedAnimation(d,"transform",co,!(a||c))}let{parent:e}=b;e&&!e.hasCheckedOptimisedAppear&&a(e)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let a=0;a<this.path.length;a++){let b=this.path[a];b.shouldResetTransform=!0,("string"==typeof b.latestValues.x||"string"==typeof b.latestValues.y)&&(b.isLayoutDirty=!0),b.updateScroll("snapshot"),b.options.layoutRoot&&b.willUpdate(!1)}let{layoutId:b,layout:c}=this.options;if(void 0===b&&!c)return;let d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),a&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let a=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),a&&this.nodes.forEach(gH),this.nodes.forEach(gG);return}if(this.animationId<=this.animationCommitId)return void this.nodes.forEach(gI);this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(gJ),this.nodes.forEach(gK),this.nodes.forEach(gB),this.nodes.forEach(gC)):this.nodes.forEach(gI),this.clearAllSnapshots();let a=c$.now();cq.delta=be(0,1e3/60,a-cq.timestamp),cq.timestamp=a,cq.isProcessing=!0,cr.update.process(cq),cr.preRender.process(cq),cr.render.process(cq),cq.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,cY.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(gF),this.sharedNodes.forEach(gP)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,co.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){co.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||fn(this.snapshot.measuredBox.x)||fn(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let a=0;a<this.path.length;a++)this.path[a].updateScroll();let a=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=bS()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);let{visualElement:b}=this.options;b&&b.notify("LayoutMeasure",this.layout.layoutBox,a?a.layoutBox:void 0)}updateScroll(a="measure"){let b=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===a&&(b=!1),b&&this.instance){let b=d(this.instance);this.scroll={animationId:this.root.animationId,phase:a,isRoot:b,offset:c(this.instance),wasRoot:this.scroll?this.scroll.isRoot:b}}}resetTransform(){if(!e)return;let a=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,b=this.projectionDelta&&!gn(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,f=d!==this.prevTransformTemplateValue;a&&this.instance&&(b||dG(this.latestValues)||f)&&(e(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(a=!0){var b;let c=this.measurePageBox(),d=this.removeElementScroll(c);return a&&(d=this.removeTransform(d)),gW((b=d).x),gW(b.y),{animationId:this.root.animationId,measuredBox:c,layoutBox:d,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:a}=this.options;if(!a)return bS();let b=a.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(gY))){let{scroll:a}=this.root;a&&(dL(b.x,a.offset.x),dL(b.y,a.offset.y))}return b}removeElementScroll(a){let b=bS();if(gf(b,a),this.scroll?.wasRoot)return b;for(let c=0;c<this.path.length;c++){let d=this.path[c],{scroll:e,options:f}=d;d!==this.root&&e&&f.layoutScroll&&(e.wasRoot&&gf(b,a),dL(b.x,e.offset.x),dL(b.y,e.offset.y))}return b}applyTransform(a,b=!1,c){let d=c||bS();gf(d,a);for(let a=0;a<this.path.length;a++){let c=this.path[a];!b&&c.options.layoutScroll&&c.scroll&&c!==c.root&&(dL(d.x,-c.scroll.offset.x),dL(d.y,-c.scroll.offset.y)),dG(c.latestValues)&&dO(d,c.latestValues,c.layout?.layoutBox)}return dG(this.latestValues)&&dO(d,this.latestValues,this.layout?.layoutBox),d}removeTransform(a){let b=bS();gf(b,a);for(let a=0;a<this.path.length;a++){let c,d=this.path[a];dG(d.latestValues)&&(d.instance&&(dF(d.latestValues)&&d.updateSnapshot(),gf(c=bS(),d.measurePageBox())),gl(b,d.latestValues,d.snapshot?.layoutBox,c))}return dG(this.latestValues)&&gl(b,this.latestValues),b}setTargetDelta(a){this.targetDelta=a,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(a){this.options={...this.options,...a,crossfade:void 0===a.crossfade||a.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==cq.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(a=!1){let b=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=b.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=b.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=b.isSharedProjectionDirty);let c=!!this.resumingFrom||this!==b;if(!(a||c&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:d,layoutId:e}=this.options;if(!this.layout||!(d||e))return;this.resolvedRelativeTargetAt=cq.timestamp;let f=this.getClosestProjectingParent();if(f&&this.linkedParentVersion!==f.layoutVersion&&!f.options.layoutRoot&&this.removeRelativeTarget(),this.targetDelta||this.relativeTarget||(!1!==this.options.layoutAnchor&&f&&f.layout?this.createRelativeTarget(f,this.layout.layoutBox,f.layout.layoutBox):this.removeRelativeTarget()),this.relativeTarget||this.targetDelta){if(this.target||(this.target=bS(),this.targetWithTransforms=bS()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target){var g,h,i,j;this.forceRelativeParentToResolveTarget(),g=this.target,h=this.relativeTarget,i=this.relativeParent.target,j=this.options.layoutAnchor||void 0,fq(g.x,h.x,i.x,j?.x),fq(g.y,h.y,i.y,j?.y)}else this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):gf(this.target,this.layout.layoutBox),dK(this.target,this.targetDelta)):gf(this.target,this.layout.layoutBox);this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,!1!==this.options.layoutAnchor&&f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&1!==this.animationProgress?this.createRelativeTarget(f,this.target,f.target):this.relativeParent=this.relativeTarget=void 0),f6.value&&gw.calculatedTargetDeltas++}}getClosestProjectingParent(){if(!(!this.parent||dF(this.parent.latestValues)||dH(this.parent.latestValues)))if(this.parent.isProjecting())return this.parent;else return this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(a,b,c){this.relativeParent=a,this.linkedParentVersion=a.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=bS(),this.relativeTargetOrigin=bS(),fs(this.relativeTargetOrigin,b,c,this.options.layoutAnchor||void 0),gf(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let a=this.getLead(),b=!!this.resumingFrom||this!==a,c=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(c=!1),b&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===cq.timestamp&&(c=!1),c)return;let{layout:d,layoutId:e}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||e))return;gf(this.layoutCorrected,this.layout.layoutBox);let f=this.treeScale.x,g=this.treeScale.y;!function(a,b,c,d=!1){let e,f,g=c.length;if(g){b.x=b.y=1;for(let h=0;h<g;h++){f=(e=c[h]).projectionDelta;let{visualElement:g}=e.options;(!g||!g.props.style||"contents"!==g.props.style.display)&&(d&&e.options.layoutScroll&&e.scroll&&e!==e.root&&(dL(a.x,-e.scroll.offset.x),dL(a.y,-e.scroll.offset.y)),f&&(b.x*=f.x.scale,b.y*=f.y.scale,dK(a,f)),d&&dG(e.latestValues)&&dO(a,e.latestValues,e.layout?.layoutBox))}b.x<1.0000000000001&&b.x>.999999999999&&(b.x=1),b.y<1.0000000000001&&b.y>.999999999999&&(b.y=1)}}(this.layoutCorrected,this.treeScale,this.path,b),a.layout&&!a.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(a.target=a.layout.layoutBox,a.targetWithTransforms=bS());let{target:h}=a;if(!h){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(gg(this.prevProjectionDelta.x,this.projectionDelta.x),gg(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),fp(this.projectionDelta,this.layoutCorrected,h,this.latestValues),this.treeScale.x===f&&this.treeScale.y===g&&gs(this.projectionDelta.x,this.prevProjectionDelta.x)&&gs(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",h)),f6.value&&gw.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(a=!0){if(this.options.visualElement?.scheduleRender(),a){let a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=bQ(),this.projectionDelta=bQ(),this.projectionDeltaWithTransform=bQ()}setAnimationOrigin(a,b=!1,c){let d,e=this.snapshot,f=e?e.latestValues:{},g={...this.latestValues},h=bQ();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!b;let i=bS(),j=(e?e.source:void 0)!==(this.layout?this.layout.source:void 0),k=this.getStack(),l=!k||k.members.length<=1,m=!!(j&&!l&&!0===this.options.crossfade&&!this.path.some(gS));this.animationProgress=0;let n=c?.interpolateProjection(a);this.mixTargetDelta=b=>{let c=b/1e3,e=n?.(c);if(e?(h.x.translate=e.x,h.x.scale=dx(a.x.scale,1,c),h.x.origin=a.x.origin,h.x.originPoint=a.x.originPoint,h.y.translate=e.y,h.y.scale=dx(a.y.scale,1,c),h.y.origin=a.y.origin,h.y.originPoint=a.y.originPoint):(gQ(h.x,a.x,c),gQ(h.y,a.y,c)),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var k,o,p,q,r,s;fs(i,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),p=this.relativeTarget,q=this.relativeTargetOrigin,r=i,s=c,gR(p.x,q.x,r.x,s),gR(p.y,q.y,r.y,s),d&&(k=this.relativeTarget,o=d,go(k.x,o.x)&&go(k.y,o.y))&&(this.isProjectionDirty=!1),d||(d=bS()),gf(d,this.relativeTarget)}j&&(this.animationValues=g,function(a,b,c,d,e,f){e?(a.opacity=dx(0,c.opacity??1,gb(d)),a.opacityExit=dx(b.opacity??1,0,gc(d))):f&&(a.opacity=dx(b.opacity??1,c.opacity??1,d));for(let e=0;e<f7;e++){let f=du[e],g=ga(b,f),h=ga(c,f);(void 0!==g||void 0!==h)&&(g||(g=0),h||(h=0),0===g||0===h||f9(g)===f9(h)?(a[f]=Math.max(dx(f8(g),f8(h),d),0),(bs.test(h)||bs.test(g))&&(a[f]+="%")):a[f]=h)}(b.rotate||c.rotate)&&(a.rotate=dx(b.rotate||0,c.rotate||0,d))}(g,f,this.latestValues,c,m,l)),e&&void 0!==e.rotate&&(this.animationValues||(this.animationValues=g),this.animationValues.pathRotation=e.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=c},this.mixTargetDelta(1e3*!!this.options.layoutRoot)}startAnimation(a){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(cp(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=co.update(()=>{f1.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=c2(0)),this.motionValue.jump(0,!1),this.currentAnimation=function(a,b,c){let d=bT(a)?a:c2(a);return d.start(e8("",d,b,c)),d.animation}(this.motionValue,[0,1e3],{...a,velocity:0,isSync:!0,onUpdate:b=>{this.mixTargetDelta(b),a.onUpdate&&a.onUpdate(b)},onComplete:()=>{a.onComplete&&a.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let a=this.getLead(),{targetWithTransforms:b,target:c,layout:d,latestValues:e}=a;if(b&&c&&d){if(this!==a&&this.layout&&d&&gX(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||bS();let b=fn(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+b;let d=fn(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+d}gf(b,c),dO(b,e),fp(this.projectionDeltaWithTransform,this.layoutCorrected,b,e)}}registerSharedNode(a,b){this.sharedNodes.has(a)||this.sharedNodes.set(a,new gt),this.sharedNodes.get(a).add(b);let c=b.options.initialPromotionConfig;b.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(b):void 0})}isLead(){let a=this.getStack();return!a||a.lead===this}getLead(){let{layoutId:a}=this.options;return a&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:a}=this.options;return a?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:b,preserveFollowOpacity:c}={}){let d=this.getStack();d&&d.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),b&&this.setOptions({transition:b})}relegate(){let a=this.getStack();return!!a&&a.relegate(this)}resetSkewAndRotation(){let{visualElement:a}=this.options;if(!a)return;let b=!1,{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(b=!0),!b)return;let d={};c.z&&gz("z",a,d,this.animationValues);for(let b=0;b<gx.length;b++)gz(`rotate${gx[b]}`,a,d,this.animationValues),gz(`skew${gx[b]}`,a,d,this.animationValues);for(let b in a.render(),d)a.setStaticValue(b,d[b]),this.animationValues&&(this.animationValues[b]=d[b]);a.scheduleRender()}applyProjectionStyles(a,b){if(!this.instance||this.isSVG)return;if(!this.isVisible){a.visibility="hidden";return}let c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,a.visibility="",a.opacity="",a.pointerEvents=d_(b?.pointerEvents)||"",a.transform=c?c(this.latestValues,""):"none";return}let d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(a.opacity=void 0!==this.latestValues.opacity?this.latestValues.opacity:1,a.pointerEvents=d_(b?.pointerEvents)||""),this.hasProjected&&!dG(this.latestValues)&&(a.transform=c?c({},""):"none",this.hasProjected=!1);return}a.visibility="";let e=d.animationValues||d.latestValues;this.applyTransformsToTarget();let f=function(a,b,c){let d="",e=a.x.translate/b.x,f=a.y.translate/b.y,g=c?.z||0;if((e||f||g)&&(d=`translate3d(${e}px, ${f}px, ${g}px) `),(1!==b.x||1!==b.y)&&(d+=`scale(${1/b.x}, ${1/b.y}) `),c){let{transformPerspective:a,rotate:b,pathRotation:e,rotateX:f,rotateY:g,skewX:h,skewY:i}=c;a&&(d=`perspective(${a}px) ${d}`),b&&(d+=`rotate(${b}deg) `),e&&(d+=`rotate(${e}deg) `),f&&(d+=`rotateX(${f}deg) `),g&&(d+=`rotateY(${g}deg) `),h&&(d+=`skewX(${h}deg) `),i&&(d+=`skewY(${i}deg) `)}let h=a.x.scale*b.x,i=a.y.scale*b.y;return(1!==h||1!==i)&&(d+=`scale(${h}, ${i})`),d||"none"}(this.projectionDeltaWithTransform,this.treeScale,e);c&&(f=c(e,f)),a.transform=f;let{x:g,y:h}=this.projectionDelta;for(let b in a.transformOrigin=`${100*g.origin}% ${100*h.origin}% 0`,d.animationValues?a.opacity=d===this?e.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:e.opacityExit:a.opacity=d===this?void 0!==e.opacity?e.opacity:"":void 0!==e.opacityExit?e.opacityExit:0,dy){if(void 0===e[b])continue;let{correct:c,applyTo:g,isCSSVariable:h}=dy[b],i="none"===f?e[b]:c(e[b],d);if(g){let b=g.length;for(let c=0;c<b;c++)a[g[c]]=i}else h?this.options.visualElement.renderState.vars[b]=i:a[b]=i}this.options.layoutId&&(a.pointerEvents=d===this?d_(b?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(a=>a.currentAnimation?.stop()),this.root.nodes.forEach(gG),this.root.sharedNodes.clear()}}}function gB(a){a.updateLayout()}function gC(a){let b=a.resumeFrom?.snapshot||a.snapshot;if(a.isLead()&&a.layout&&b&&a.hasListeners("didUpdate")){let{layoutBox:c,measuredBox:d}=a.layout,{animationType:e}=a.options,f=b.source!==a.layout.source;if("size"===e)fm(a=>{let d=f?b.measuredBox[a]:b.layoutBox[a],e=fn(d);d.min=c[a].min,d.max=d.min+e});else if("x"===e||"y"===e){let a="x"===e?"y":"x";ge(f?b.measuredBox[a]:b.layoutBox[a],c[a])}else gX(e,b.layoutBox,c)&&fm(d=>{let e=f?b.measuredBox[d]:b.layoutBox[d],g=fn(c[d]);e.max=e.min+g,a.relativeTarget&&!a.currentAnimation&&(a.isProjectionDirty=!0,a.relativeTarget[d].max=a.relativeTarget[d].min+g)});let g=bQ();fp(g,c,b.layoutBox);let h=bQ();f?fp(h,a.applyTransform(d,!0),b.measuredBox):fp(h,c,b.layoutBox);let i=!gn(g),j=!1;if(!a.resumeFrom){let d=a.getClosestProjectingParent();if(d&&!d.resumeFrom){let{snapshot:e,layout:f}=d;if(e&&f){let g=a.options.layoutAnchor||void 0,h=bS();fs(h,b.layoutBox,e.layoutBox,g);let i=bS();fs(i,c,f.layoutBox,g),gq(h,i)||(j=!0),d.options.layoutRoot&&(a.relativeTarget=i,a.relativeTargetOrigin=h,a.relativeParent=d)}}}a.notifyListeners("didUpdate",{layout:c,snapshot:b,delta:h,layoutDelta:g,hasLayoutChanged:i,hasRelativeLayoutChanged:j})}else if(a.isLead()){let{onExitComplete:b}=a.options;b&&b()}a.options.transition=void 0}function gD(a){f6.value&&gw.nodes++,a.parent&&(a.isProjecting()||(a.isProjectionDirty=a.parent.isProjectionDirty),a.isSharedProjectionDirty||(a.isSharedProjectionDirty=!!(a.isProjectionDirty||a.parent.isProjectionDirty||a.parent.isSharedProjectionDirty)),a.isTransformDirty||(a.isTransformDirty=a.parent.isTransformDirty))}function gE(a){a.isProjectionDirty=a.isSharedProjectionDirty=a.isTransformDirty=!1}function gF(a){a.clearSnapshot()}function gG(a){a.clearMeasurements()}function gH(a){a.isLayoutDirty=!0,a.updateLayout()}function gI(a){a.isLayoutDirty=!1}function gJ(a){a.isAnimationBlocked&&a.layout&&!a.isLayoutDirty&&(a.snapshot=a.layout,a.isLayoutDirty=!0)}function gK(a){let{visualElement:b}=a.options;b&&b.getProps().onBeforeLayoutMeasure&&b.notify("BeforeLayoutMeasure"),a.resetTransform()}function gL(a){a.finishAnimation(),a.targetDelta=a.relativeTarget=a.target=void 0,a.isProjectionDirty=!0}function gM(a){a.resolveTargetDelta()}function gN(a){a.calcProjection()}function gO(a){a.resetSkewAndRotation()}function gP(a){a.removeLeadSnapshot()}function gQ(a,b,c){a.translate=dx(b.translate,0,c),a.scale=dx(b.scale,1,c),a.origin=b.origin,a.originPoint=b.originPoint}function gR(a,b,c,d){a.min=dx(b.min,c.min,d),a.max=dx(b.max,c.max,d)}function gS(a){return a.animationValues&&void 0!==a.animationValues.opacityExit}let gT={duration:.45,ease:[.4,0,.1,1]},gU=a=>"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(a),gV=gU("applewebkit/")&&!gU("chrome/")?Math.round:ck;function gW(a){a.min=gV(a.min),a.max=gV(a.max)}function gX(a,b,c){return"position"===a||"preserve-aspect"===a&&!(.2>=Math.abs(gr(b)-gr(c)))}function gY(a){return a!==a.root&&a.scroll?.wasRoot}let gZ=gA({attachResizeListener:(a,b)=>fv(a,"resize",b),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),g$={current:void 0},g_=gA({measureScroll:a=>({x:a.scrollLeft,y:a.scrollTop}),defaultParent:()=>{if(!g$.current){let a=new gZ({});a.mount(window),a.setOptions({layoutScroll:!0}),g$.current=a}return g$.current},resetTransform:(a,b)=>{a.style.transform=void 0!==b?b:"none"},checkIsScrollRoot:a=>"fixed"===window.getComputedStyle(a).position});function g0(a,b){let c=fx(a),d=new AbortController;return[c,{passive:!0,...b,signal:d.signal},()=>d.abort()]}function g1(a,b,c){let{props:d}=a;a.animationState&&d.whileHover&&a.animationState.setActive("whileHover","Start"===c);let e=d["onHover"+c];e&&co.postRender(()=>e(b,fH(b)))}class g2 extends d7{mount(){let{current:a}=this.node;a&&(this.unmount=function(a,b,c={}){let[d,e,f]=g0(a,c);return d.forEach(a=>{let c,d=!1,f=!1,g=b=>{c&&(c(b),c=void 0),a.removeEventListener("pointerleave",i)},h=a=>{d=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),f&&(f=!1,g(a))},i=a=>{if("touch"!==a.pointerType){if(d){f=!0;return}g(a)}};a.addEventListener("pointerenter",d=>{if("touch"===d.pointerType||fl.x||fl.y)return;f=!1;let g=b(a,d);"function"==typeof g&&(c=g,a.addEventListener("pointerleave",i,e))},e),a.addEventListener("pointerdown",()=>{d=!0,window.addEventListener("pointerup",h,e),window.addEventListener("pointercancel",h,e)},e)}),f}(a,(a,b)=>(g1(this.node,b,"Start"),a=>g1(this.node,a,"End"))))}unmount(){}}class g3 extends d7{constructor(){super(...arguments),this.isActive=!1}onFocus(){let a=!1;try{a=this.node.current.matches(":focus-visible")}catch(b){a=!0}a&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ee(fv(this.node.current,"focus",()=>this.onFocus()),fv(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}let g4=(a,b)=>!!b&&(a===b||g4(a,b.parentElement)),g5=new WeakSet;function g6(a){return b=>{"Enter"===b.key&&a(b)}}function g7(a,b){a.dispatchEvent(new PointerEvent("pointer"+b,{isPrimary:!0,bubbles:!0}))}function g8(a){return fG(a)&&!(fl.x||fl.y)}let g9=new WeakSet;function ha(a,b,c){let{props:d}=a;if(a.current instanceof HTMLButtonElement&&a.current.disabled)return;a.animationState&&d.whileTap&&a.animationState.setActive("whileTap","Start"===c);let e=d["onTap"+("End"===c?"":c)];e&&co.postRender(()=>e(b,fH(b)))}class hb extends d7{mount(){let{current:a}=this.node;if(!a)return;let{globalTapTarget:b,propagate:c}=this.node.props;this.unmount=function(a,b,c={}){let[d,e,f]=g0(a,c),g=a=>{let d=a.currentTarget;if(!g8(a)||g9.has(a))return;g5.add(d),c.stopPropagation&&g9.add(a);let f=b(d,a),g={...e,capture:!0},h=(a,b)=>{window.removeEventListener("pointerup",i,g),window.removeEventListener("pointercancel",j,g),g5.has(d)&&g5.delete(d),g8(a)&&"function"==typeof f&&f(a,{success:b})},i=a=>{h(a,d===window||d===document||c.useGlobalTarget||g4(d,a.target))},j=a=>{h(a,!1)};window.addEventListener("pointerup",i,g),window.addEventListener("pointercancel",j,g)};return d.forEach(a=>{((c.useGlobalTarget?window:a).addEventListener("pointerdown",g,e),a1(a))&&(a.addEventListener("focus",a=>((a,b)=>{let c=a.currentTarget;if(!c)return;let d=g6(()=>{if(g5.has(c))return;g7(c,"down");let a=g6(()=>{g7(c,"up")});c.addEventListener("keyup",a,b),c.addEventListener("blur",()=>g7(c,"cancel"),b)});c.addEventListener("keydown",d,b),c.addEventListener("blur",()=>c.removeEventListener("keydown",d),b)})(a,e)),ft.has(a.tagName)||!0===a.isContentEditable||a.hasAttribute("tabindex")||(a.tabIndex=0))}),f}(a,(a,b)=>(ha(this.node,b,"Start"),(a,{success:b})=>ha(this.node,a,b?"End":"Cancel")),{useGlobalTarget:b,stopPropagation:c?.tap===!1})}unmount(){}}let hc=new WeakMap,hd=new WeakMap,he=a=>{let b=hc.get(a.target);b&&b(a)},hf=a=>{a.forEach(he)},hg={some:0,all:1};class hh extends d7{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:a={}}=this.node.getProps(),{root:b,margin:c,amount:d="some",once:e}=a,f={root:b?b.current:void 0,rootMargin:c,threshold:"number"==typeof d?d:hg[d]},g=a=>{let{isIntersecting:b}=a;if(this.isInView===b||(this.isInView=b,e&&!b&&this.hasEnteredView))return;b&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",b);let{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),f=b?c:d;f&&f(a)};this.stopObserver=function(a,b,c){let d=function({root:a,...b}){let c=a||document;hd.has(c)||hd.set(c,{});let d=hd.get(c),e=JSON.stringify(b);return d[e]||(d[e]=new IntersectionObserver(hf,{root:a,...b})),d[e]}(b);return hc.set(a,c),d.observe(a),()=>{hc.delete(a),d.unobserve(a)}}(this.node.current,f,g)}mount(){this.startObserver()}update(){if("undefined"==typeof IntersectionObserver)return;let{props:a,prevProps:b}=this.node;["amount","margin","root"].some(function({viewport:a={}},{viewport:b={}}={}){return c=>a[c]!==b[c]}(a,b))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}let hi=function(a,b){if("undefined"==typeof Proxy)return d6;let c=new Map,d=(c,d)=>d6(c,d,a,b);return new Proxy((a,b)=>d(a,b),{get:(e,f)=>"create"===f?d:(c.has(f)||c.set(f,d6(f,void 0,a,b)),c.get(f))})}({animation:{Feature:fi},exit:{Feature:fk},inView:{Feature:hh},tap:{Feature:hb},focus:{Feature:g3},hover:{Feature:g2},pan:{Feature:f0},drag:{Feature:f$,ProjectionNode:g_,MeasureLayout:f5},layout:{ProjectionNode:g_,MeasureLayout:f5}},(a,b)=>b.isSVG??dS(a)?new dC(b):new dQ(b,{allowProjection:a!==h.Fragment}));function hj({stepKey:a,children:b,className:c}){let d=ac();return(0,g.jsx)(bb,{mode:"wait",initial:!1,children:(0,g.jsx)(hi.div,{className:(0,M.cn)(c),variants:d?{initial:{opacity:0},animate:{opacity:1,transition:{duration:.15,ease:[.2,0,0,1]}},exit:{opacity:0,transition:{duration:.12,ease:[.3,0,1,1]}}}:{initial:{opacity:0,y:12},animate:{opacity:1,y:0,transition:{duration:.28,ease:[.2,0,0,1]}},exit:{opacity:0,y:-8,transition:{duration:.22,ease:[.3,0,1,1]}}},initial:"initial",animate:"animate",exit:"exit",children:b},a)})}let hk={LINEAR_API_KEY:"linear",CURSOR_API_KEY:"cursor",GITHUB_TOKEN:"github",VERCEL_TOKEN:"vercel"},hl={LINEAR_API_KEY:"linearApiKey",CURSOR_API_KEY:"cursorApiKey",GITHUB_TOKEN:"githubToken",VERCEL_TOKEN:"vercelToken"};function hm({mode:a="advanced",guidedStep:b,onGuidedStepChange:c,initialEnv:d,initialConfig:e,highlightStaleDispatch:f=!1,highlightStaleTarget:i=!1,onSummaryUpdated:j,onUiStateChange:k,onGuidedLocalApplySuccess:l,onConnectServicesComplete:m,localSetupFilesExist:n=!1}){let o=ac(),p=(0,h.useRef)(null),q=(0,h.useRef)(1),[r,s]=(0,h.useState)("connect-services"),t=b??r,[u,v]=(0,h.useState)({harnessConfigPath:d.harnessConfigPath,githubDispatchRepository:d.githubDispatchRepository||d.suggestedHarnessDispatchRepo||"",linearApiKey:"",cursorApiKey:"",githubToken:"",vercelToken:""}),[w,x]=(0,h.useState)(e),[y,z]=(0,h.useState)(()=>(function(a,b=1){return(a.repos.length>0?a.repos:[{id:"",targetRepo:""}]).map((a,c)=>({...a,rowId:aB(b+c)}))})(e,q.current)),[A,B]=(0,h.useState)(d.secretPresence),[C,E]=(0,h.useState)(aJ),[G,H]=(0,h.useState)(null),[I,J]=(0,h.useState)({}),[L,M]=(0,h.useState)(null),[N,O]=(0,h.useState)({state:"unchecked"}),[P,Q]=(0,h.useState)(null),[R,S]=(0,h.useState)(null),[T,U]=(0,h.useState)(!1),[V,W]=(0,h.useState)(null),[X,Z]=(0,h.useState)(null),[$,_]=(0,h.useState)(!1),[aa,ab]=(0,h.useState)(!1),[ae,af]=(0,h.useState)(null),[ag,ah]=(0,h.useState)(null),[ai,aj]=(0,h.useState)(!1),[ak,al]=(0,h.useState)(null),[am,an]=(0,h.useState)(null),[ao,ap]=(0,h.useState)(null),[aq,ar]=(0,h.useState)(null),[as,at]=(0,h.useState)(null),au=(0,h.useMemo)(()=>({...w,repos:y.map(({rowId:a,...b})=>b)}),[w,y]),av=(0,h.useMemo)(()=>"guided"===a?function(a){if(!a.repos.length)return a;let b=function(a){let b=new Set,c=[];for(let d of a){let a=d.id.trim()||function(a){let b=a.trim().match(/^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/([A-Za-z0-9_.-]+)\/?$/);return b?.[1]??""}(d.targetRepo)||"target-repo",e=a,f=2;for(;b.has(e);)e=`${a}-${f}`,f+=1;b.add(e),c.push(e)}return c}(a.repos);return{...a,repos:a.repos.map((a,c)=>({...a,id:b[c]??a.id}))}}(au):w,[w,au,a]),aw=(0,h.useMemo)(()=>({env:u,config:av}),[u,av]),aC=null!==ae&&null!==ag&&JSON.stringify(ag)===JSON.stringify(aw),aD=(0,h.useCallback)(a=>{if(c)return void c(a);s(a)},[c]);(0,h.useCallback)(a=>{aD(a),requestAnimationFrame(()=>{p.current?.scrollIntoView({block:"start",behavior:o?"auto":"smooth"})})},[o,aD]);let aE=a=>{if(!A[a]||"connected"!==C[a].state)return!1;let b=u[hl[a]].trim();return!b||ay(C[a],b)},aF=aE("LINEAR_API_KEY")&&aE("CURSOR_API_KEY")&&aE("GITHUB_TOKEN")&&aE("VERCEL_TOKEN"),aG=A.LINEAR_API_KEY&&A.CURSOR_API_KEY&&A.GITHUB_TOKEN&&A.VERCEL_TOKEN,aH="guided"===a&&"choose-target-repos"===t,aI=(0,h.useMemo)(()=>az({typedToken:u.githubToken,hasSavedToken:A.GITHUB_TOKEN}),[u.githubToken,A.GITHUB_TOKEN]);av.repos.length>0&&av.repos;let aK=y.every(a=>aP.test(a.targetRepo.trim())),aM=y.every(a=>aA(I[a.rowId],a.targetRepo.trim(),aI?.fingerprint??null)),aN=u.githubDispatchRepository.trim()||d.savedHarnessDispatchRepository?.trim()||"",aO=aN.length>0&&(R===aN||"connected"===N.state&&N.verifiedRepo===aN&&(!aI?.fingerprint||N.verifiedGithubTokenFingerprint===aI.fingerprint)),aR=(0,h.useCallback)(async()=>{U(!0),Z(null),W("Setting up your private p-dev workspace...");try{let a=await fetch("/api/setup/preview-harness-repo-provisioning",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),b=await a.json();if(!a.ok)throw Error(b.error??"Provisioning preview failed");if("skipped-not-packaged"===b.state)return void m?.();let c=await fetch("/api/setup/apply-harness-repo-provisioning",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmed:!0,fingerprint:b.fingerprint,operationId:b.operationId})}),d=await c.json();if(!c.ok)throw Error(d.error??"Provisioning apply failed");if("verified-and-persisted"!==d.apply.state){if(d.apply.recoverable)return void Z(d.apply.message);throw Error(d.apply.message??"Harness workspace provisioning did not complete.")}let e=d.apply.harnessDispatchRepo;e&&(Q(e),v(a=>({...a,githubDispatchRepository:e})),O({state:"connected",verifiedRepo:e,message:d.apply.message})),j?.(d.summary),W(d.apply.message),m?.()}catch(a){Z(a instanceof Error?a.message:"Harness workspace provisioning failed")}finally{U(!1)}},[m,j]),aT=()=>{at(null),ar(null),ap(null)},aV=(0,h.useCallback)(()=>{aT(),af(null),ah(null),an(null),aj(!1)},[]),aY=a=>{E(b=>({...b,[a]:{state:"unchecked"}}))},aZ=(0,h.useCallback)(()=>{J({})},[]),a$=(0,h.useCallback)(a=>{J(b=>{let c={...b};for(let d of a){let a=b[d.rowId];if(!a)continue;let e=d.targetRepo.trim();a.verifiedTargetRepo&&a.verifiedTargetRepo!==e?c[d.rowId]={state:"unchecked"}:a.attemptedTargetRepo&&a.attemptedTargetRepo!==e&&(c[d.rowId]={state:"unchecked"})}return c})},[]),a_=(0,h.useCallback)(async a=>{let b=await fetch("/api/setup/preview-connect-services",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}),c=await b.json();if(!b.ok)throw Error(c.error??"Preview failed");let d=await fetch("/api/setup/apply-connect-services",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:u,confirmed:!0,fingerprint:c.fingerprint})}),e=await d.json();if(!d.ok)throw Error(e.error??"Save failed");j?.(e.summary),B({LINEAR_API_KEY:e.summary.envKeyPresence.LINEAR_API_KEY,CURSOR_API_KEY:e.summary.envKeyPresence.CURSOR_API_KEY,GITHUB_TOKEN:e.summary.envKeyPresence.GITHUB_TOKEN,VERCEL_TOKEN:e.summary.envKeyPresence.VERCEL_TOKEN}),v(b=>({...b,[hl[a]]:""}))},[u,j]),a0=(0,h.useCallback)(async a=>{let b=u[hl[a]].trim(),c=b?ax(b):void 0;H(a),E(b=>({...b,[a]:{state:"checking"}}));try{let d=await fetch("/api/setup/verify-service",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({service:hk[a],...b?{token:b}:{}})}),e=await d.json();if(!d.ok)throw Error(e.error??"Verification failed");if("connected"!==e.status)return void E(b=>({...b,[a]:{state:"failed",attemptedValueFingerprint:c,message:e.message,limitation:e.limitation,label:e.label}}));b&&await a_(a),E(b=>({...b,[a]:{state:"connected",verifiedValueFingerprint:c,message:e.message,limitation:e.limitation,label:e.label}}))}catch(b){E(d=>({...d,[a]:{state:"failed",attemptedValueFingerprint:c,message:b instanceof Error?b.message:"Verification failed"}}))}finally{H(null)}},[u,a_]),a1=(0,h.useCallback)(async a=>{let b=a.trim(),c=az({typedToken:u.githubToken,hasSavedToken:A.GITHUB_TOKEN}),d=c?.fingerprint??null;_(!0),O({state:"checking"});try{let a=await fetch("/api/setup/verify-harness-repo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({harnessDispatchRepo:b,...c?.tokenForRequest?{githubToken:c.tokenForRequest}:{}})}),e=await a.json();if(!a.ok)throw Error(e.error??"Harness repo verification failed");"connected"===e.status&&e.repoSlug?(aV(),v(a=>({...a,githubDispatchRepository:e.repoSlug})),O({state:"connected",verifiedRepo:e.repoSlug,verifiedGithubTokenFingerprint:d??void 0,message:e.message,limitation:e.limitation})):O({state:"failed",message:e.message,limitation:e.limitation})}catch(a){O({state:"failed",message:a instanceof Error?a.message:"Harness repo verification failed"})}finally{_(!1)}},[u.githubToken,aV,A.GITHUB_TOKEN]),a2=(0,h.useCallback)(async a=>{let b=y.find(b=>b.rowId===a);if(!b)return;let c=b.targetRepo.trim(),d=az({typedToken:u.githubToken,hasSavedToken:A.GITHUB_TOKEN}),e=d?.fingerprint??null;M(a),J(b=>({...b,[a]:{state:"checking"}}));try{let b=await fetch("/api/setup/verify-target-repo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetRepo:c,...d?.tokenForRequest?{githubToken:d.tokenForRequest}:{}})}),f=await b.json();if(!b.ok)throw Error(f.error??"Repo verification failed");J(b=>({...b,[a]:"connected"===f.status&&!1!==f.workflowInstallReady?{state:"connected",verifiedTargetRepo:c,verifiedGithubTokenFingerprint:e??void 0,message:f.message,repoSlug:f.repoSlug,limitation:f.limitation,workflowInstallReady:f.workflowInstallReady}:{state:"failed",attemptedTargetRepo:c,attemptedGithubTokenFingerprint:e??void 0,message:f.message,repoSlug:f.repoSlug,limitation:f.limitation,workflowInstallReady:f.workflowInstallReady}}))}catch(b){J(d=>({...d,[a]:{state:"failed",attemptedTargetRepo:c,attemptedGithubTokenFingerprint:e??void 0,message:b instanceof Error?b.message:"Repo verification failed"}}))}finally{M(null)}},[u.githubToken,y,A.GITHUB_TOKEN]),a3=(0,h.useCallback)(a=>{let b=u[hl[a]].trim();b&&(ay(C[a],b)||a0(a))},[u,C,a0]),a4=(0,h.useCallback)(a=>{let b=y.find(b=>b.rowId===a);b&&aP.test(b.targetRepo.trim())&&(aA(I[a],b.targetRepo.trim(),aI?.fingerprint??null)||a2(a))},[aI?.fingerprint,y,I,a2]),a5=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-local-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(aw)}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return af(b),ah(aw),b},[aw]),a6=(0,h.useCallback)(async()=>{al("preview"),an(null),aj(!1);try{await a5(),ab(!0)}catch(a){af(null),ah(null),an(a instanceof Error?a.message:"Preview failed"),ab(!0)}finally{al(null)}},[a5]),a7=(0,h.useCallback)(a=>{ab(a),a&&!aC&&"preview"!==ak&&a6()},[a6,ak,aC]),a8=async()=>{if(aH){if(!ai)return}else if(!ae||!aC||!ai)return;al("apply"),aT();try{let b=aH?aC&&ae?ae:await a5():ae;if(!b)throw Error("Preview failed");if(b.validationError)throw Error(b.validationError);let c=await fetch("/api/setup/apply-local-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...aw,confirmed:!0,fingerprint:b.fingerprint})}),d=await c.json();if(!c.ok)throw Error(d.error??"Apply failed");j?.(d.summary),B({LINEAR_API_KEY:d.summary.envKeyPresence.LINEAR_API_KEY,CURSOR_API_KEY:d.summary.envKeyPresence.CURSOR_API_KEY,GITHUB_TOKEN:d.summary.envKeyPresence.GITHUB_TOKEN,VERCEL_TOKEN:d.summary.envKeyPresence.VERCEL_TOKEN}),v(a=>({...a,linearApiKey:"",cursorApiKey:"",githubToken:"",vercelToken:""})),af(null),ah(null),aj(!1),ab(!1),"guided"===a?l?.():(at(!0),ar(d.summary))}catch(a){at(!1),ap(a instanceof Error?a.message:"Apply failed")}finally{al(null)}},a9=async()=>{await a8()},ba=null!==ak?"Wait for the current action to finish.":void 0,bb=aC?ae?.validationError?"Fix validation errors before confirming this write.":void 0:"Generate a preview before you can confirm this write.",bc=ae?.validationError?"Fix validation errors before confirming this write.":void 0,bd=bb??(ai?void 0:"Confirm that you understand local setup files will be created on this machine."),be=null===ak&&aG&&aK&&aM&&aO&&ai,bf=null!==ak?"Wait for the current action to finish.":aG?aK?aM?aO?ai?ae?.validationError?"Fix validation errors before creating setup files.":void 0:`Confirm that you understand local setup files will be ${n?"updated":"created"} on this machine.`:aN?"Verify and use your harness repo before creating local setup files.":"Complete Step 1 harness workspace setup before creating local setup files.":`Verify access for each target repo before ${n?"updating":"creating"} setup files.`:"Enter a valid GitHub target repo URL for each repo row to continue.":"Complete Step 1 service setup before creating local files.",bg=n?"Update local setup files":"Create local setup files",bh=n?"Updating…":"Creating…";return"guided"===a?(0,g.jsxs)("div",{className:D.section,children:[(0,g.jsx)("div",{ref:p}),(0,g.jsx)(hj,{stepKey:t,children:(()=>{switch(t){case"connect-services":return(0,g.jsxs)(Y,{title:`Step 1 of 7 \xb7 Connect services`,description:"Add the API keys the harness needs on this machine.",children:[(0,g.jsx)(aL,{values:u,presence:A,variant:"guided-services",verification:C,verifyingKey:G,onChange:a=>{aV(),v(a),a.linearApiKey!==u.linearApiKey&&aY("LINEAR_API_KEY"),a.cursorApiKey!==u.cursorApiKey&&aY("CURSOR_API_KEY"),a.githubToken!==u.githubToken&&(aY("GITHUB_TOKEN"),aZ()),a.vercelToken!==u.vercelToken&&aY("VERCEL_TOKEN")},onVerifyService:a0,onServiceBlur:a3}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:()=>{aR()},disabled:!aF||T,children:T?"Setting up your private p-dev workspace...":"Continue and set up private p-dev workspace"})}),aF?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"p-dev will use your GitHub token to create or reconnect your private `p-dev-harness` workspace before continuing."}):(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Verify and save each service key above. Continue unlocks after all four services are verified and saved locally."}),V?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:V}):null,X?(0,g.jsx)("p",{className:"text-sm text-destructive",children:X}):null]});case"choose-target-repos":return(0,g.jsxs)(Y,{title:`Step 4 of 7 \xb7 Choose target repo(s) and create setup files`,description:"Tell the harness which GitHub repo(s) it should work against, then create local setup files on this machine.",children:[(0,g.jsx)(aQ,{values:au,highlightStaleTarget:i,variant:"guided-minimal",harnessDispatchRepository:u.githubDispatchRepository,savedHarnessDispatchRepository:d.savedHarnessDispatchRepository,suggestedHarnessDispatchRepo:d.suggestedHarnessDispatchRepo,harnessRepoVerification:N,verifyingHarnessRepo:$,onHarnessDispatchRepositoryChange:a=>{aV(),O({state:"unchecked"}),v(b=>({...b,githubDispatchRepository:a}))},onVerifyAndUseHarnessRepo:a=>{a1(a)},harnessConnectedAutomatically:P===aN&&R===aN&&!!aN,guidedRepos:y,repoVerification:I,verifyingRepoRowId:L,onChange:a=>{aV(),x(a)},onGuidedReposChange:a=>{aV(),a$(a),z(a)},onVerifyRepo:a2,onRepoBlur:a4,activeGithubTokenFingerprint:aI?.fingerprint??null,onAddRepo:()=>{aV(),q.current+=1;let a=aB(q.current);z(b=>[...b,{rowId:a,id:"",targetRepo:""}])},onRemoveRepo:a=>{aV(),z(b=>b.filter(b=>b.rowId!==a)),J(b=>{let c={...b};return delete c[a],c})}}),(0,g.jsx)(ad,{className:"my-6"}),(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 p-4 space-y-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:bg}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:n?"Local gitignored setup files already exist on this machine. Preview the changes, confirm, and update `.env.local` and `.harness/config.local.json`.":"This is the point where the app writes local gitignored setup files to this machine: `.env.local` and `.harness/config.local.json`."}),(0,g.jsx)(aW,{open:aa,onOpenChange:a7,isLoading:"preview"===ak,previewError:am??void 0,envPreview:aC?ae?.envPreview:void 0,configPreview:aC?ae?.configPreview:void 0,validationError:aC?ae?.validationError:void 0,previewIsCurrent:aC}),(0,g.jsx)(aU,{variant:"guided",intent:n?"update":"create",plan:aC?ae?.plan:void 0,confirmed:ai,disabled:!!ae?.validationError,disabledReason:bc,onConfirmedChange:aj})]}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:a9,disabled:!be,"data-primary-preview-button":"true",children:"apply"===ak?bh:bg})}),!be&&bf?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:bf}):null]})}})()}),ao?(0,g.jsx)(aX,{success:!1,message:ao}):null]}):(0,g.jsxs)("div",{className:D.section,children:[(0,g.jsx)(Y,{title:"Environment (.env.local)",description:"Edit local env keys. Existing secret values are never shown.",children:(0,g.jsx)(aL,{values:u,presence:A,highlightDispatchRepo:f,variant:"advanced",onChange:a=>{aV(),v(a)}})}),(0,g.jsx)(Y,{title:"Target repo config",description:"Guided fields for .harness/config.local.json.",children:(0,g.jsx)(aQ,{values:w,highlightStaleTarget:i,variant:"advanced",onChange:a=>{aV(),x(a)}})}),(0,g.jsxs)(Y,{title:"Preview local changes",description:"Required before apply. Secret values are redacted in previews.",children:[(0,g.jsx)(aS,{envPreview:aC?ae?.envPreview:void 0,configPreview:aC?ae?.configPreview:void 0,validationError:aC?ae?.validationError:void 0}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:a6,disabled:null!==ak,"data-primary-preview-button":"true",children:"preview"===ak?"Generating preview…":"Preview setup files"})}),ba?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:ba}):null]}),(0,g.jsxs)(Y,{title:"Confirm and apply",description:"Writes only local gitignored setup files through setup core.",children:[(0,g.jsx)(aU,{plan:aC?ae?.plan:void 0,confirmed:ai,disabled:!aC||!!ae?.validationError,disabledReason:bb,onConfirmedChange:aj}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:a8,disabled:null!==ak||!aC||!ai||!!ae?.validationError,children:"apply"===ak?"Creating…":"Create local setup files"})}),bd?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:bd}):null]}),ao?(0,g.jsx)(aX,{success:!1,message:ao}):null,null===as||ao?null:(0,g.jsx)(aX,{success:as,message:as?"Local setup files were written successfully.":"Apply failed.",summary:aq??void 0})]})}let hn={LINEAR_API_KEY:"LINEAR_API_KEY",CURSOR_API_KEY:"CURSOR_API_KEY",HARNESS_GITHUB_TOKEN:"HARNESS_GITHUB_TOKEN"};function ho(a){return"present"===a?"success":"missing"===a?"warning":"secondary"}function hp({values:a,secretStatuses:b,onChange:c}){let d=b=>{c({...a,...b})},e=new Map(b.map(a=>[a.name,a.status]));return(0,g.jsxs)("div",{className:F.fieldGrid,children:[(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsx)(af,{children:"HARNESS_CONFIG_JSON_B64"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generated server-side from validated `.harness/config.local.json` during apply. Never shown in previews or responses."}),(0,g.jsx)(P,{label:e.get("HARNESS_CONFIG_JSON_B64")??"unknown",variant:ho(e.get("HARNESS_CONFIG_JSON_B64")??"unknown")})]}),(0,g.jsx)(hq,{id:"remote-linear-api-key",label:hn.LINEAR_API_KEY,status:e.get("LINEAR_API_KEY")??"unknown",value:a.linearApiKey,onChange:a=>d({linearApiKey:a})}),(0,g.jsx)(hq,{id:"remote-cursor-api-key",label:hn.CURSOR_API_KEY,status:e.get("CURSOR_API_KEY")??"unknown",value:a.cursorApiKey,onChange:a=>d({cursorApiKey:a})}),(0,g.jsx)(hq,{id:"remote-harness-github-token",label:hn.HARNESS_GITHUB_TOKEN,status:e.get("HARNESS_GITHUB_TOKEN")??"unknown",value:a.harnessGithubToken,onChange:a=>d({harnessGithubToken:a})})]})}function hq({id:a,label:b,status:c,value:d,onChange:e}){return(0,g.jsxs)("div",{className:F.fieldStack,children:[(0,g.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,g.jsx)(af,{htmlFor:a,children:b}),(0,g.jsx)(P,{label:c,variant:ho(c)})]}),(0,g.jsx)(ae,{id:a,type:"password",value:d,autoComplete:"off",onChange:a=>e(a.target.value)}),(0,g.jsx)("p",{className:F.secretHint,children:"Existing GitHub Actions secret values are never readable. Leave blank to preserve an existing secret when status is present."})]})}function hr({harnessSecretPreview:a,targetWorkflowPreview:b}){return a||b?a?(0,g.jsxs)("div",{className:"space-y-4",children:[a.validationError?(0,g.jsx)("p",{className:"text-sm text-destructive",children:a.validationError}):null,(0,g.jsxs)("dl",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 text-sm",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Harness dispatch repo"}),(0,g.jsx)("dd",{className:"font-medium break-all",children:a.harnessDispatchRepo})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Repo access"}),(0,g.jsx)("dd",{className:"font-medium",children:a.repoAccess})]})]}),(0,g.jsx)(aR,{title:"Secret write plan (key names only)",content:a.secretWritePlan.map(a=>`${a.name}: ${a.action} (${a.source})`).join("\n")}),(0,g.jsx)(aR,{title:"Manual copy-paste alternative",content:a.manualInstructions.join("\n")})]}):b?(0,g.jsxs)("div",{className:"space-y-4",children:[b.validationError?(0,g.jsx)("p",{className:"text-sm text-destructive",children:b.validationError}):null,(0,g.jsx)(aR,{title:"Workflow install preview",content:b.workflowPreviewSummary}),(0,g.jsx)(aR,{title:"Manual copy-paste alternative",content:b.manualInstructions.join("\n")})]}):null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a preview before confirming any remote write."})}let hs={"remote-secret-write":{advanced:{title:"Confirm harness repo Actions secret writes",bullets:["Writes encrypted GitHub Actions secrets to the harness dispatch repo only.","HARNESS_CONFIG_JSON_B64 is generated server-side from local config.","Secret values are never returned in previews, results, or errors.","No target repo branches, PRs, Linear writes, or harness phases will run."],label:"I reviewed the harness secret preview and want to write these Actions secrets."},guided:{title:"Confirm cloud secrets write",bullets:["This writes encrypted GitHub Actions secrets to the harness repo.","Preflight runs automatically before apply when you skip preview.","It does not run the harness, create branches, open PRs, or change your target app.","Secret values are never shown in previews, results, or errors."],label:"I understand this will create or update encrypted GitHub Actions secrets in the harness repo."}},"vercel-bridge-write":{advanced:{title:"Confirm Vercel bridge setup writes",bullets:["May create or reuse Vercel team and project resources when selected.","Writes required Vercel production environment variables for the bridge.","May create or verify the Linear Issue webhook for automation.","Secret values are never returned in previews, results, or errors."],label:"I reviewed the Vercel settings preview and want to apply these changes."},guided:{title:"Confirm Vercel settings write",bullets:["This may create or update Vercel production environment variables and configure the Linear webhook bridge.","It does not run the harness, create branches, open PRs, or change your target app.","Secret values are never shown in previews, results, or errors."],label:"I understand this will write Vercel environment variables and configure the Linear webhook bridge."}},"remote-repo-write":{advanced:{title:"Confirm target workflow branch and PR install",bullets:["Creates or updates an install branch and opens or reuses a PR.","Never writes directly to the target repo production or main branch.","No harness repo secret writes, Linear writes, or harness phases will run."],label:"I reviewed the workflow preview and want to create or update the install PR."},guided:{title:"Confirm workflow install PR",bullets:["This may create or update an install branch and open or reuse a PR.","It does not merge the PR, write directly to main/production, run the harness, or write Linear."],label:"I reviewed the workflow preview and want to create or update the workflow install PR."}},"linear-write":{advanced:{title:"Confirm Linear workspace writes",bullets:["May create or update Linear teams, projects, and workflow statuses.","Preview is read-only until you confirm this write.","No harness phases, GitHub dispatch, or target repo changes run from this step."],label:"I reviewed the Linear setup preview and want to apply workspace changes."},guided:{title:"Confirm Linear workspace setup",bullets:["This may create missing Linear workflow statuses or workspace resources.","It does not run harness automation or modify your target app repo."],label:"I understand this will apply Linear workspace setup changes."}}};function ht({scope:a,confirmed:b,disabled:c=!1,disabledReason:d,variant:e="advanced",onConfirmedChange:f}){let h=hs[a][e];return(0,g.jsxs)("div",{className:F.confirmationBox,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:h.title}),(0,g.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:h.bullets.map(a=>(0,g.jsx)("li",{children:a},a))}),(0,g.jsxs)("div",{className:"flex items-start gap-3",children:[(0,g.jsx)(aT,{id:`confirm-${a}`,checked:b,disabled:c,onChange:a=>f(a.target.checked)}),(0,g.jsx)(af,{htmlFor:`confirm-${a}`,className:"text-sm leading-snug",children:h.label})]}),c&&d?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:d}):null]})}function hu({repo:a,onApplied:b,onGuidedApplySuccess:c,blockedByUpstream:d=!1,variant:e="advanced"}){var f,i;let[j,k]=(0,h.useState)(null),[l,m]=(0,h.useState)(null),[n,o]=(0,h.useState)(!1),[p,q]=(0,h.useState)(null),[r,s]=(0,h.useState)(null),[t,u]=(0,h.useState)(null),v=`${a.repoConfigId}:${a.targetRepo}:${a.productionBranch}`,w=null!==j&&l===v,x=async()=>{q("preview"),s(null),u(null),o(!1);try{let b=await fetch("/api/setup/preview-target-workflow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoConfigId:a.repoConfigId,targetRepo:a.targetRepo,productionBranch:a.productionBranch})}),c=await b.json();if(!b.ok)throw Error(c.error??"Preview failed");k(c),m(v)}catch(a){k(null),m(null),s(a instanceof Error?a.message:"Preview failed")}finally{q(null)}},y=async()=>{if(j&&w&&n){q("apply"),s(null);try{let d=await fetch("/api/setup/apply-target-workflow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoConfigId:a.repoConfigId,targetRepo:a.targetRepo,productionBranch:a.productionBranch,confirmed:!0,fingerprint:j.fingerprint})}),f=await d.json();if(!d.ok)throw Error(f.error??"Apply failed");let g=f.apply,h=f.finalization;k(null),m(null),o(!1),"guided"===e?c?.(g,h):u(g),b()}catch(a){s(a instanceof Error?a.message:"Apply failed")}finally{q(null)}}},z=(0,h.useMemo)(()=>t?"already-installed"===t.outcome?"Workflow already installed on production branch. No PR opened.":t.prUrl?`Workflow install ${t.outcome}: ${t.prUrl}`:`Workflow install ${t.outcome} on branch ${t.branchName}.`:null,[t]),A=d?"Fix harness repo access before target workflow setup can be previewed.":void 0,B=A||(w?j?.validationError?"Fix validation errors before confirming this write.":void 0:"Generate a preview before you can confirm this write."),C=B??(n?void 0:"guided"===e?"Confirm the preview before creating the workflow install PR.":"Confirm the preview before applying the workflow install PR."),D="apply"===p?"Creating PR…":"guided"===e?"present"===a.workflowStatus?"Update workflow install PR":"Create workflow install PR":"Apply workflow PR";return(0,g.jsxs)("div",{className:"guided"===e?"space-y-4":"rounded-md border border-border bg-muted/10 p-4 space-y-4",children:["advanced"===e?(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.repoConfigId}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground break-all",children:a.targetRepo}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Production branch: ",a.productionBranch]})]}),(0,g.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,g.jsx)(P,{label:`Access: ${a.repoAccess}`,variant:"available"===(f=a.repoAccess)?"success":"denied"===f?"destructive":"secondary"}),(0,g.jsx)(P,{label:`Workflow: ${a.workflowStatus}`,variant:"present"===(i=a.workflowStatus)?"success":"differs"===i||"missing"===i?"warning":"secondary"})]})]}):null,(0,g.jsx)(hr,{targetWorkflowPreview:w?j??void 0:void 0}),(0,g.jsx)(ht,{scope:"remote-repo-write",variant:e,confirmed:n,disabled:!w||!!j?.validationError||d,disabledReason:B,onConfirmedChange:o}),(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:x,disabled:null!==p||d,children:"preview"===p?"Generating preview…":"guided"===e?"Preview workflow install PR":"Preview workflow PR"}),(0,g.jsx)(K.$,{type:"button",onClick:y,disabled:null!==p||!w||!n||!!j?.validationError||d,children:D})]}),A?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:A}):null,C&&!A?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:C}):null,r?(0,g.jsx)(aX,{success:!1,message:r}):null,"advanced"===e&&z?(0,g.jsx)(aX,{success:!0,message:z}):null]})}function hv({initialSummary:a,onSummaryUpdated:b,onUiStateChange:c,blockedByUpstream:d=!1}){var e;let[f,i]=(0,h.useState)(a),[j,k]=(0,h.useState)({linearApiKey:"",cursorApiKey:"",harnessGithubToken:""}),[l,m]=(0,h.useState)(null),[n,o]=(0,h.useState)(null),[p,q]=(0,h.useState)(!1),[r,s]=(0,h.useState)(null),[t,u]=(0,h.useState)(null),[v,w]=(0,h.useState)(null),x=(0,h.useMemo)(()=>({linearApiKey:j.linearApiKey||void 0,cursorApiKey:j.cursorApiKey||void 0,harnessGithubToken:j.harnessGithubToken||void 0}),[j]),y=null!==l&&null!==n&&JSON.stringify(n)===JSON.stringify(j),z=(0,h.useCallback)(async()=>{s("refresh");try{let a=await fetch("/api/setup/remote-summary"),c=await a.json();if(!a.ok)throw Error(c.error??"Remote summary refresh failed");i(c),b?.(c)}catch(a){u(a instanceof Error?a.message:"Remote summary refresh failed")}finally{s(null)}},[b]),A=()=>{w(null),u(null)},B=async()=>{s("preview"),A(),q(!1);try{let a=await fetch("/api/setup/preview-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");m(b),o({...j})}catch(a){m(null),o(null),u(a instanceof Error?a.message:"Preview failed")}finally{s(null)}},C=async()=>{if(l&&y&&p){s("apply"),A();try{let a=await fetch("/api/setup/apply-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...x,confirmed:!0,fingerprint:l.fingerprint})}),c=await a.json();if(!a.ok)throw Error(c.error??"Apply failed");w(c.apply),i(c.summary),b?.(c.summary),k({linearApiKey:"",cursorApiKey:"",harnessGithubToken:""}),m(null),o(null),q(!1)}catch(a){u(a instanceof Error?a.message:"Apply failed")}finally{s(null)}}},E=v?`Wrote ${v.writtenSecrets.map(a=>a.name).join(", ")||"no secrets"}.`:null,G=d?"Fix harness repo access in local setup before remote secrets or workflow checks can continue.":void 0,H=G??(f.githubTokenConfigured?null!==r?"Wait for the current action to finish.":void 0:"Set GITHUB_TOKEN in `.env.local` before previewing remote harness secret writes."),I=G||(y?l?.validationError?"Fix validation errors before confirming this write.":void 0:"Generate a preview before you can confirm this write."),J=I??(p?void 0:"Confirm the preview before applying harness repo Actions secrets.");return(0,g.jsxs)("div",{className:D.section,children:[(0,g.jsx)(Y,{title:"Remote setup",description:"Preview and apply harness repo Actions secrets and target workflow install PRs. Each action requires its own preview and confirmation.",children:(0,g.jsxs)("dl",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 text-sm",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"GITHUB_TOKEN in .env.local"}),(0,g.jsx)("dd",{children:(0,g.jsx)(P,{label:f.githubTokenConfigured?"Configured":"Missing",variant:f.githubTokenConfigured?"success":"warning"})})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Harness dispatch repo"}),(0,g.jsx)("dd",{className:"font-medium break-all",children:f.harnessDispatchRepo})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Dispatch repo source"}),(0,g.jsx)("dd",{className:"font-medium",children:f.harnessDispatchRepoSource})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-muted-foreground",children:"Harness repo access"}),(0,g.jsx)("dd",{children:(0,g.jsx)(P,{label:f.harnessRepoAccess,variant:"available"===(e=f.harnessRepoAccess)?"success":"denied"===e?"destructive":"secondary"})})]})]})}),d?(0,g.jsxs)(Y,{title:"Blocked until repo access is fixed",description:"Remote setup details stay hidden until the harness dispatch repo is corrected.",children:[(0,g.jsxs)("p",{className:"text-sm text-muted-foreground",children:[G," Use the local setup fix above, then refresh this page after applying."]}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:z,disabled:null!==r,children:"refresh"===r?"Refreshing…":"Refresh remote setup"})})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(Y,{title:"Harness repo Actions secrets",description:"Write encrypted secrets to the harness dispatch repo. HARNESS_CONFIG_JSON_B64 is generated server-side.",children:[(0,g.jsx)(hp,{values:j,secretStatuses:f.harnessSecretStatuses,onChange:a=>{A(),m(null),o(null),q(!1),k(a)}}),(0,g.jsx)(hr,{harnessSecretPreview:y?l??void 0:void 0}),(0,g.jsx)(ht,{scope:"remote-secret-write",confirmed:p,disabled:!y||!!l?.validationError,disabledReason:I,onConfirmedChange:q}),(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:B,disabled:null!==r||!f.githubTokenConfigured||!!G,children:"preview"===r?"Generating preview…":"Preview harness secrets"}),(0,g.jsx)(K.$,{type:"button",onClick:C,disabled:null!==r||!y||!p||!!l?.validationError,children:"apply"===r?"Applying…":"Apply harness secrets"})]}),H?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:H}):null,J?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:J}):null,t?(0,g.jsx)(aX,{success:!1,message:t}):null,E?(0,g.jsx)(aX,{success:!0,message:E}):null]}),(0,g.jsx)(Y,{title:"Target workflow install PRs",description:"One install PR card per configured target repo. Never writes directly to production branches.",children:0===f.targetRepos.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Resolve `.harness/config.local.json` to show target workflow cards."}):(0,g.jsx)("div",{className:D.stackSm,children:f.targetRepos.map(a=>(0,g.jsx)(hu,{repo:a,onApplied:z,blockedByUpstream:d},a.repoConfigId))})})]})]})}let hw=(0,Q.A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),hx=(0,Q.A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),hy=(0,Q.A)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),hz=(0,Q.A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function hA({items:a,className:b}){return(0,g.jsx)("ul",{className:(0,M.cn)(D.list,b),children:a.map(a=>{let b=function(a){switch(a){case"complete":return hw;case"blocked":return hx;default:return hy}}(a.status);return(0,g.jsxs)("li",{className:"flex items-start gap-3 rounded-md border border-border bg-muted/30 p-3",children:[(0,g.jsx)(b,{className:(0,M.cn)("mt-0.5 size-4 shrink-0",function(a){switch(a){case"complete":return"text-emerald-600";case"blocked":return"text-destructive";default:return"text-muted-foreground"}}(a.status))}),(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.detail})]})]},a.id)})})}function hB({checks:a,className:b}){return(0,g.jsx)("ul",{className:(0,M.cn)(D.list,b),children:a.map(a=>{let b=a.skipped?hy:a.ok?hw:hx,c=a.skipped?"text-muted-foreground":a.ok?"text-emerald-600":"text-destructive";return(0,g.jsxs)("li",{className:"flex items-start gap-3",children:[(0,g.jsx)(b,{className:(0,M.cn)("mt-0.5 size-4 shrink-0",c)}),(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),a.detail?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.detail}):null]})]},a.label)})})}function hC({checks:a,className:b}){return(0,g.jsx)("ul",{className:(0,M.cn)(D.list,b),children:a.map(a=>{let b=function(a){switch(a){case"passed":return hw;case"failed":return hx;case"checking":return hz;default:return hy}}(a.status);return(0,g.jsxs)("li",{className:"flex items-start gap-3 rounded-md border border-border bg-muted/30 p-3",children:[(0,g.jsx)(b,{className:(0,M.cn)("mt-0.5 size-4 shrink-0",function(a){switch(a){case"passed":return"text-emerald-600";case"failed":return"text-destructive";case"checking":return"text-muted-foreground animate-spin";default:return"text-muted-foreground"}}(a.status))}),(0,g.jsxs)("div",{className:(0,M.cn)(D.stackSm,"min-w-0 flex-1"),children:[(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),(0,g.jsx)("span",{className:"text-xs text-muted-foreground",children:function(a){switch(a){case"passed":return"Passed";case"failed":return"Failed";case"checking":return"Checking";default:return"Pending"}}(a.status)})]}),a.detail?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.detail}):null,"failed"===a.status&&a.action?(0,g.jsx)("p",{className:"text-sm text-foreground",children:a.action}):null]})]},a.id)})})}function hD({summary:a,checklistItems:b}){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Y,{title:"Overview",description:"Current harness setup state and active config source.",children:(0,g.jsxs)("dl",{className:E.twoColumnGrid,children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Config source"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSource.kind})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Source label"}),(0,g.jsx)("dd",{className:"text-sm font-medium break-all",children:a.configSource.label})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Local files present"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.overview.localFilesPresent?"Yes":"No"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Ready for CLI doctor"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.overview.readyForLocalDoctor?"Yes":"No"})]})]})}),(0,g.jsx)(Y,{title:"Local files",description:"Gitignored operator files used for local harness setup.",children:(0,g.jsx)("ul",{className:D.list,children:a.localFiles.map(a=>(0,g.jsxs)("li",{className:"flex items-center justify-between gap-4 rounded-md border border-border p-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.label}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground break-all",children:a.path})]}),(0,g.jsx)(P,{label:a.exists?"Present":"Missing",variant:a.exists?"success":"warning"})]},a.path))})}),a.configSummary?(0,g.jsxs)(Y,{title:"Config summary",description:"Parsed harness config metadata without secret values.",children:[(0,g.jsxs)("dl",{className:E.twoColumnGrid,children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Repo count"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.repoCount})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Linear team key"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.linearTeamKey??"Not set"})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Model"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.model.resolvedModelId})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:"Model source"}),(0,g.jsx)("dd",{className:"text-sm font-medium",children:a.configSummary.model.source})]})]}),(0,g.jsx)(ad,{}),(0,g.jsx)("ul",{className:D.list,children:a.configSummary.repos.map(a=>(0,g.jsxs)("li",{className:"rounded-md border border-border bg-muted/20 p-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.id}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.targetRepo}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:[a.baseBranch," → ",a.productionBranch,a.previewProvider?` \xb7 ${a.previewProvider}`:""]})]},a.id))})]}):null,(0,g.jsx)(Y,{title:"Environment key presence",description:"Whether required keys are set in .env.local. Values are never displayed.",children:(0,g.jsx)("dl",{className:E.twoColumnGrid,children:Object.entries(a.envKeyPresence).map(([a,b])=>(0,g.jsxs)("div",{children:[(0,g.jsx)("dt",{className:"text-sm text-muted-foreground",children:a}),(0,g.jsx)("dd",{children:(0,g.jsx)(P,{label:b?"Set":"Missing",variant:b?"success":"warning"})})]},a))})}),(0,g.jsxs)(Y,{title:"Reference previews",description:"Read-only dry-run previews from setup core.",children:[(0,g.jsx)(aR,{title:".env.local reference preview",content:a.generatedPreviews.envLocal}),(0,g.jsx)(aR,{title:".harness/config.local.json reference preview",content:a.generatedPreviews.configLocal})]}),(0,g.jsx)(Y,{title:"Setup checklist",description:"Recommended next actions before a future first harness run.",children:(0,g.jsx)(hA,{items:b})}),(0,g.jsx)(Y,{title:"Doctor summary",description:a.doctor.remoteChecksNote,children:(0,g.jsx)(hB,{checks:a.doctor.checks})}),(0,g.jsx)(Y,{title:"Manual instructions",description:"Copy-paste setup guidance for local and remote setup.",children:a.instructionPreviews.map(a=>(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.reason}),(0,g.jsx)("ul",{className:"list-disc space-y-2 pl-5 text-sm text-muted-foreground",children:a.manualInstructions?.map(a=>(0,g.jsx)("li",{children:a},a))})]},a.actionId))})]})}function hE({title:a,children:b}){return(0,g.jsxs)("section",{className:C.sectionStack,children:[(0,g.jsx)("h3",{className:"text-base font-semibold",children:a}),b]})}function hF({summary:a,remoteSummary:b,readiness:c,formDefaults:d,onSummaryUpdated:e,onRemoteSummaryUpdated:f,onLocalUiStateChange:h,onRemoteUiStateChange:i}){return(0,g.jsxs)("div",{className:C.sectionStack,children:[(0,g.jsx)(hE,{title:"Phase 1 \xb7 Local setup",children:(0,g.jsx)(hm,{mode:"advanced",initialEnv:d.env,initialConfig:d.config,onSummaryUpdated:e,onUiStateChange:h})}),(0,g.jsx)(hE,{title:"Phase 2 \xb7 Local readiness",children:(0,g.jsx)(Y,{title:"Doctor summary",description:a.doctor.remoteChecksNote,children:(0,g.jsx)(hB,{checks:a.doctor.checks})})}),(0,g.jsx)(hE,{title:"Phase 3 \xb7 Remote setup",children:(0,g.jsx)(hv,{initialSummary:b,onSummaryUpdated:f,onUiStateChange:i,blockedByUpstream:c.remoteSetupBlockedByUpstream})}),(0,g.jsx)(hE,{title:"Phase 4 \xb7 Ready for first run",children:(0,g.jsx)(Y,{title:"Final readiness",description:"Confirms setup readiness without triggering a live harness run.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)(P,{label:c.readyForFirstRun?"Ready for first run":"Blocked for first run",variant:c.readyForFirstRun?"success":"warning"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:c.prohibitedActionsNote})]})})}),(0,g.jsx)(hE,{title:"Diagnostics and reference",children:(0,g.jsx)(hD,{summary:a,checklistItems:c.steps.map(a=>({id:a.id,label:a.label,detail:a.blockers[0]?.action??a.summary,status:"complete"===a.status?"complete":"blocked"===a.status?"blocked":"pending"}))})})]})}let hG="w-full rounded-md border border-input bg-background px-3 py-2 text-sm";function hH({readiness:a,initialSummary:b,linearApiKeyConfigured:c,onSummaryUpdated:d,onUiStateChange:e,onContinue:f}){let[i,j]=(0,h.useState)(b),[k,l]=(0,h.useState)("existing"),[m,n]=(0,h.useState)(i.controlPlane?.linear?.teamId??""),[o,p]=(0,h.useState)(i.controlPlane?.linear?.teamKey??""),[q,r]=(0,h.useState)(i.controlPlane?.linear?.teamName??""),[s,t]=(0,h.useState)("existing"),[u,v]=(0,h.useState)(i.controlPlane?.linear?.projectId??""),[w,x]=(0,h.useState)(i.controlPlane?.linear?.projectName??""),[y,z]=(0,h.useState)([]),[A,B]=(0,h.useState)([]),[C,E]=(0,h.useState)(!1),[G,H]=(0,h.useState)(null),[I,J]=(0,h.useState)(null),[L,M]=(0,h.useState)(!1),[N,O]=(0,h.useState)(!1),[Q,R]=(0,h.useState)(null),[S,T]=(0,h.useState)(null),[U,V]=(0,h.useState)(null),[W,X]=(0,h.useState)(null),[Z,$]=(0,h.useState)(!1),_=null!==I&&L,aa=c??i.linearApiKeyConfigured,ab=(0,h.useCallback)(()=>{$(!1),X(null)},[]),ac=(0,h.useCallback)(()=>{J(null),M(!1),ab()},[ab]),ad=(0,h.useCallback)(async()=>{if(aa){E(!0),H(null);try{let a=await fetch("/api/setup/linear-options"),b=await a.json();if(!a.ok)throw Error(b.error??"Failed to load Linear teams and projects");z(b.teams??[]),B(b.projects??[])}catch(a){z([]),B([]),H(a instanceof Error?a.message:"Failed to load Linear teams and projects")}finally{E(!1)}}},[aa]),ag=(0,h.useMemo)(()=>{if(!m)return A;let a=A.filter(a=>0===a.teamIds.length||a.teamIds.includes(m));return a.length>0?a:A},[A,m]),ah=(0,h.useCallback)(async()=>{R("refresh");try{let a=await fetch("/api/setup/linear-summary"),b=await a.json();if(!a.ok)throw Error(b.error??"Linear summary refresh failed");j(b),d?.(b)}catch(a){T(a instanceof Error?a.message:"Linear summary refresh failed")}finally{R(null)}},[d]),ai=(0,h.useCallback)(()=>({team:{mode:k,teamId:"existing"===k?m:void 0,teamKey:"create"===k?o:void 0,teamName:"create"===k?q:void 0},project:{mode:s,projectId:"existing"===s?u:void 0,projectName:"create"===s?w:void 0}}),[u,s,w,m,o,k,q]),aj=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-linear-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ai())}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return J(b),M(!0),b},[ai]),ak=(0,h.useCallback)(async()=>{R("preview"),T(null),V(null),ab(),O(!1);try{await aj()}catch(a){J(null),M(!1),V(a instanceof Error?a.message:"Preview failed")}finally{R(null)}},[ab,aj]),al=async()=>{if(N){R("apply"),T(null),ab();try{let a=_&&I?I:await aj();if(a.validationError)throw Error(a.validationError);let b=await fetch("/api/setup/apply-linear-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:ai(),confirmed:!0,fingerprint:a.fingerprint})}),c=await b.json();if(!b.ok)throw Error(c.error??"Apply failed");let e=c.apply;if(!e.verified)throw Error("Linear workspace apply finished, but post-apply verification did not pass.");X(e),j(c.summary),d?.(c.summary),$(!0),J(null),M(!1),O(!1),ad()}catch(a){T(a instanceof Error?a.message:"Apply failed")}finally{R(null)}}},am=Z||a.steps.find(a=>"linear-workspace"===a.id)?.status==="complete"||i.workspace.configured,an="existing"===k?!!m&&("existing"===s?!!u:!!w):!!(o&&q)&&("existing"===s?!!u:!!w);return(0,g.jsx)(Y,{title:`Step 2 of 7 \xb7 Set up Linear workspace`,description:"Choose or create the Linear team and project, then ensure issue workflow statuses exist for the team.",children:(0,g.jsx)("div",{className:D.stackSm,children:aa?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"linear-team-mode",children:"Team"}),(0,g.jsxs)("select",{id:"linear-team-mode",className:hG,value:k,onChange:a=>{l(a.target.value),ac()},children:[(0,g.jsx)("option",{value:"existing",children:"Use existing team"}),(0,g.jsx)("option",{value:"create",children:"Create new team"})]}),"existing"===k?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("select",{className:hG,value:m,onChange:a=>{n(a.target.value),v(""),ac()},disabled:C,children:[(0,g.jsx)("option",{value:"",children:"Select a team…"}),y.map(a=>(0,g.jsxs)("option",{value:a.id,children:[a.name," (",a.key,")"]},a.id))]}),C?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading Linear teams…"}):null,C||0!==y.length?null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"No Linear teams found for this API key."})]}):(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(ae,{placeholder:"Team name",value:q,onChange:a=>{r(a.target.value),ac()}}),(0,g.jsx)(ae,{placeholder:"Team key (e.g. ENG)",value:o,onChange:a=>{p(a.target.value),ac()}})]})]}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"linear-project-mode",children:"Project"}),(0,g.jsxs)("select",{id:"linear-project-mode",className:hG,value:s,onChange:a=>{t(a.target.value),ac()},children:[(0,g.jsx)("option",{value:"existing",children:"Use existing project"}),(0,g.jsx)("option",{value:"create",children:"Create new project"})]}),"existing"===s?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("select",{className:hG,value:u,onChange:a=>{v(a.target.value),ac()},disabled:C,children:[(0,g.jsx)("option",{value:"",children:"Select a project…"}),ag.map(a=>(0,g.jsx)("option",{value:a.id,children:a.name},a.id))]}),C?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading Linear projects…"}):null,C||0!==ag.length?null:(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"No Linear projects found for this API key."}),!C&&ag.length>0&&m&&A.some(a=>a.teamIds.length>0)&&ag.length===A.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Showing all workspace projects because team association could not be narrowed further."}):null]}):(0,g.jsx)(ae,{placeholder:"Project name",value:w,onChange:a=>{x(a.target.value),ac()}})]})]}),G?(0,g.jsx)("p",{className:"text-sm text-destructive",children:G}):null,(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[i.workspace.configured?(0,g.jsx)(P,{label:`Team ${i.workspace.teamKey} configured`,variant:"success"}):null,(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>void ak(),disabled:null!==Q,children:"preview"===Q?"Previewing…":"Preview Linear setup"}),(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>void ah(),disabled:null!==Q,children:"Refresh"})]}),_&&I?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/10 p-3 text-sm space-y-2",children:[(0,g.jsxs)("p",{children:["Missing creatable statuses:"," ",I.missingStatuses.length>0?I.missingStatuses.join(", "):"none"]}),(0,g.jsxs)("p",{children:["Dispatch triggers: ",I.dispatchTriggerStatuses.join(", ")]}),I.manualSteps.length>0?(0,g.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:I.manualSteps.map(a=>(0,g.jsx)("li",{children:a},a))}):null,U?(0,g.jsx)("p",{className:"text-destructive",children:U}):null]}):null,(0,g.jsx)(ht,{scope:"linear-write",variant:"guided",confirmed:N,disabled:null!==Q||!an,disabledReason:an?void 0:"Select or enter the Linear team and project before confirming.",onConfirmedChange:O}),Z?null:(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",onClick:()=>void al(),disabled:null!==Q||!N||!an||!!I?.validationError,children:"apply"===Q?"Applying…":"Apply Linear workspace setup"})}),S?(0,g.jsx)(aX,{success:!1,message:S}):null,Z&&W?(0,g.jsx)(aX,{success:!0,message:`Linear workspace verified. Created: ${W.created.join(", ")||"none"}. Reused: ${W.skipped.join(", ")||"none"}.`}):null,am?(0,g.jsx)(K.$,{type:"button",onClick:f,children:"Continue to Vercel bridge"}):null]}):(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Add your Linear API key in Step 1 before configuring the Linear workspace."})})})}async function hI(a,b){let c=await a.text();if(!c.trim())throw Error(`Setup request failed: ${b} returned HTTP ${a.status} with an empty response body`);try{return JSON.parse(c)}catch{throw Error(`Setup request failed: ${b} returned HTTP ${a.status} with an invalid JSON body`)}}let hJ="Vercel production redeploy is in progress. Wait for verification to finish before changing settings.",hK="w-full rounded-md border border-input bg-background px-3 py-2 text-sm";function hL({readiness:a,initialSummary:b,onSummaryUpdated:c,onUiStateChange:d,onContinue:e}){var f;let[i,j]=(0,h.useState)(b),[k,l]=(0,h.useState)([]),[m,n]=(0,h.useState)([]),[o,p]=(0,h.useState)({teamCreate:!0,projectCreate:!0}),[q,r]=(0,h.useState)("existing"),[s,t]=(0,h.useState)(i.controlPlane?.vercel?.teamId??""),[u,v]=(0,h.useState)(""),[w,x]=(0,h.useState)(""),[y,z]=(0,h.useState)("existing"),[A,B]=(0,h.useState)(i.controlPlane?.vercel?.projectId??""),[C,E]=(0,h.useState)(""),[G,H]=(0,h.useState)(i.linearTeamKey??""),[I,J]=(0,h.useState)(!1),[L,M]=(0,h.useState)(""),[N,O]=(0,h.useState)(null),[P,Q]=(0,h.useState)(!1),[R,S]=(0,h.useState)(null),[T,U]=(0,h.useState)(!1),[V,W]=(0,h.useState)(!1),[X,Z]=(0,h.useState)(null),[$,_]=(0,h.useState)(null),[aa,ab]=(0,h.useState)(null),[ac,ad]=(0,h.useState)(null),[ag,ah]=(0,h.useState)(null),[ai,aj]=(0,h.useState)(!1),[ak,al]=(0,h.useState)(!1),[am,an]=(0,h.useState)(null),[ao,ap]=(0,h.useState)(!1),aq=(f={setupPending:ai,pollActionId:ag}).setupPending||!!f.pollActionId,ar=aq||null!==X,as=null!==R&&T,at=(0,h.useCallback)(async a=>{Q(!0),O(null);try{let b=void 0!==a?`?teamId=${encodeURIComponent(a)}`:"",c=await fetch(`/api/setup/vercel-bridge-options${b}`),d=await c.json();if(!c.ok)throw Error(d.error??d.loadError??"Failed to load Vercel options");l(d.scopes??[]),n(d.projects??[]),p(d.capabilities??{teamCreate:!0,projectCreate:!0}),d.harnessTeamKey&&H(d.harnessTeamKey),J(!d.githubDispatch.eligible),void 0===a&&void 0!==d.selectedScopeId&&t(d.selectedScopeId),B(a=>d.projects.some(b=>b.id===a)?a:d.selectedProjectId??""),d.loadError&&O(d.loadError)}catch(a){O(a instanceof Error?a.message:"Failed to load Vercel settings options")}finally{Q(!1)}},[]),au=(0,h.useCallback)(async()=>{Z("refresh");try{let a=await fetch("/api/setup/vercel-summary"),b=await a.json();if(!a.ok)throw Error(b.error??"Vercel summary refresh failed");j(b),c?.(b)}catch(a){_(a instanceof Error?a.message:"Vercel summary refresh failed")}finally{Z(null)}},[c]),av=(0,h.useCallback)(a=>{aq&&a?.force!==!0||(S(null),U(!1),al(!1),ad(null),ah(null),aj(!1),an(null),ap(!1))},[aq]),aw=(0,h.useCallback)(()=>({team:{mode:q,teamId:"existing"===q?s:void 0,teamName:"create"===q&&u||void 0,teamSlug:"create"===q&&w||void 0},project:{mode:y,projectId:"existing"===y&&A||void 0,projectName:"create"===y&&C||void 0},teamId:"existing"===q&&s||void 0,projectId:"existing"===y&&A||void 0,projectName:"create"===y&&C||void 0,linearTeamId:i.controlPlane?.linear?.teamId,envInput:{GITHUB_DISPATCH_TOKEN:I&&L||void 0,HARNESS_TEAM_KEY:G||void 0}}),[L,G,A,y,C,I,i.controlPlane?.linear?.teamId,s,q,u,w]),ax=(0,h.useCallback)(async(a,b)=>{if(ad(a),"deployment-required"===a.status){_(a.deploymentRequired?.message??"Deployment required before applying settings."),al(!1),aj(!1),ah(null),at("existing"===q?s:void 0),S(null),U(!1),W(!1);return}j(b),c?.(b),al(a.verified),aj(!!a.setupPending),ah(a.pollActionId??null),a.linearWebhookSetup.manualCopySecret?(an(a.linearWebhookSetup.manualCopySecret),ap(!1)):an(null),S(null),U(!1),W(!1),at("existing"===q?s:void 0)},[at,c,s,q]);(0,h.useCallback)(async()=>{if(ag){Z("poll"),_(null);try{let a=await fetch("/api/setup/vercel-bridge-redeploy-status",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({actionId:ag})}),b=await hI(a,"POST /api/setup/vercel-bridge-redeploy-status");if(!a.ok)throw Error(b.error??"Redeploy status check failed");let c=b.apply;await ax(c,b.summary),(c.verified&&c.signedProbeVerified||!c.setupPending&&(c.setupBlocked||"failed"===c.productionRedeployStatus||"timeout"===c.productionRedeployStatus||"no_source_deployment"===c.productionRedeployStatus))&&(aj(!1),ah(null))}catch(a){_(a instanceof Error?a.message:"Redeploy status check failed"),aj(!1)}finally{Z(null)}}},[ax,ag]);let ay=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-vercel-bridge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(aw())}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return S(b),U(!0),b},[aw]),az=(0,h.useCallback)(async()=>{if(!aq){Z("preview"),_(null),ab(null),av(),W(!1);try{await ay()}catch(a){S(null),U(!1),ab(a instanceof Error?a.message:"Preview failed")}finally{Z(null)}}},[av,aq,ay]),aA=async a=>{if((!aq||a?.verifyOnly)&&(V||a?.verifyOnly)){Z("apply"),_(null),a?.verifyOnly||av();try{let b=as&&R?R:await ay();if(b.validationError)throw Error(b.validationError);let c=await fetch("/api/setup/apply-vercel-bridge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:aw(),confirmed:!0,fingerprint:b.fingerprint,verifyOnly:a?.verifyOnly===!0})}),d=await hI(c,"POST /api/setup/apply-vercel-bridge");if(!c.ok)throw Error(d.error??"Apply failed");await ax(d.apply,d.summary)}catch(a){_(a instanceof Error?a.message:"Apply failed")}finally{Z(null)}}},aB="existing"===q?!!G&&("existing"===y?!!A:!!C):!!(w&&G)&&("existing"===y?!!A:!!C),aC=ak&&ac?.signedProbeVerified===!0||i.readiness.ready;return(0,g.jsx)(Y,{title:`Step 3 of 7 \xb7 Configure Vercel settings`,description:"Choose the Vercel team and project this setup should use for automation and preview checks. Env var presence alone is not enough; the bridge must pass signed delivery verification against production.",children:(0,g.jsx)("div",{className:D.stackSm,children:i.vercelTokenConfigured?(0,g.jsxs)(g.Fragment,{children:[aq?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:hJ}):null,(0,g.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"vercel-team-mode",children:"Vercel team name"}),o.teamCreate?(0,g.jsxs)("select",{id:"vercel-team-mode",className:hK,value:q,onChange:a=>{aq||(r(a.target.value),av())},disabled:ar,children:[(0,g.jsx)("option",{value:"existing",children:"Use existing team"}),(0,g.jsx)("option",{value:"create",children:"Create new team"})]}):null,"existing"===q?(0,g.jsx)("select",{id:"vercel-team-name",className:hK,value:s,onChange:a=>{aq||(t(a.target.value),B(""),av(),at(a.target.value))},disabled:ar||P,children:k.map(a=>(0,g.jsx)("option",{value:a.id,children:a.label},a.id||"personal"))}):(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(ae,{placeholder:"Team name",value:u,onChange:a=>{aq||(v(a.target.value),av())},disabled:ar}),(0,g.jsx)(ae,{placeholder:"Team slug",value:w,onChange:a=>{aq||(x(a.target.value),av())},disabled:ar})]})]}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"vercel-project-mode",children:"Vercel project"}),o.projectCreate?(0,g.jsxs)("select",{id:"vercel-project-mode",className:hK,value:y,onChange:a=>{aq||(z(a.target.value),av())},disabled:ar,children:[(0,g.jsx)("option",{value:"existing",children:"Use existing project"}),(0,g.jsx)("option",{value:"create",children:"Create new project"})]}):null,"existing"===y?(0,g.jsxs)("select",{id:"vercel-project-id",className:hK,value:A,onChange:a=>{aq||(B(a.target.value),av())},disabled:ar||P||0===m.length,children:[(0,g.jsx)("option",{value:"",children:"Select a project…"}),m.map(a=>(0,g.jsx)("option",{value:a.id,children:a.name},a.id))]}):(0,g.jsx)(ae,{placeholder:"Project name",value:C,onChange:a=>{aq||(E(a.target.value),av())},disabled:ar})]})]}),P?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading Vercel teams and projects…"}):null,N?(0,g.jsx)("p",{className:"text-sm text-destructive",children:N}):null,I?(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(af,{htmlFor:"github-dispatch-token",children:"GITHUB_DISPATCH_TOKEN override"}),(0,g.jsx)(ae,{id:"github-dispatch-token",type:"password",value:L,onChange:a=>{aq||(M(a.target.value),av())},disabled:ar})]}):null,(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void az(),disabled:ar||!aB,children:"preview"===X?"Previewing…":"Preview Vercel settings"}),(0,g.jsx)(K.$,{type:"button",variant:"ghost",onClick:()=>void au(),disabled:ar,children:"Refresh"})]}),as&&R?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/10 p-3 text-sm space-y-2",children:[(0,g.jsxs)("p",{children:["Webhook URL: ",R.webhookUrl??"unknown"]}),(0,g.jsxs)("p",{children:["Endpoint reachable:"," ",R.endpointReachable?"yes":"no"]}),(0,g.jsxs)("p",{children:["GitHub dispatch source: ",R.githubDispatchSource??"unknown"]}),(0,g.jsxs)("p",{children:["Linear webhook secret mode:"," ",R.linearWebhookSecretMode??"unknown"]}),(0,g.jsx)("p",{className:"text-muted-foreground",children:"Preview does not run signed verification. Apply writes the webhook secret and runs a signed production probe after env setup."}),(0,g.jsxs)("p",{children:["Signed probe verified:"," ",R.signedProbeVerified?"yes":"no (runs on apply)"]}),"ready"!==R.deploymentStatus?(0,g.jsxs)("p",{className:"text-amber-700 dark:text-amber-400",children:["Deployment status: ",R.deploymentStatus]}):null,R.manualSteps.length>0?(0,g.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:R.manualSteps.map(a=>(0,g.jsx)("li",{children:a},a))}):null,aa?(0,g.jsx)("p",{className:"text-destructive",children:aa}):null]}):null,(0,g.jsx)(ht,{scope:"vercel-bridge-write",variant:"guided",confirmed:V,disabled:ar||!aB,disabledReason:aq?hJ:aB?"create"===q?"This will create provider resources in Vercel when you apply.":void 0:"Select or enter the Vercel team and project before confirming.",onConfirmedChange:a=>{aq||W(a)}}),ak?null:(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:()=>void aA(),disabled:ar||!V||!aB||!!R?.validationError,children:"apply"===X?"Applying Vercel settings…":"poll"===X?"Waiting for production redeploy…":"Apply Vercel Settings"}),aq||!ac||ac.setupPending||ac.verified&&ac.signedProbeVerified||!ac.setupBlocked&&(!ac.deploymentRedeployRequired||ac.signedProbeVerified)&&(!ac.productionRedeployTriggered||"ready"!==ac.productionRedeployStatus||ac.signedProbeVerified)?null:(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aA({verifyOnly:!0}),disabled:null!==X||!aB,children:"apply"===X?"Verifying…":"Retry verification"})]}),ac?.orchestrationSteps?.length||ai?(0,g.jsxs)("ul",{className:"list-disc pl-5 text-sm text-muted-foreground",children:[ac?.orchestrationSteps?.map(a=>(0,g.jsxs)("li",{children:[a.message,"failed"===a.status?" (failed)":""]},`${a.phase}-${a.status}`)),ai?(0,g.jsx)("li",{children:"poll"===X?"Checking Vercel deployment status…":"Waiting for Vercel deployment READY…"}):null]}):null,$?(0,g.jsx)(aX,{success:!1,message:$}):null,ac?(0,g.jsx)(aX,{success:ac.verified,message:function(a){if("deployment-required"===a.status)return`${a.deploymentRequired?.message??"Deployment required."} ${a.deploymentRequired?.nextSteps.join(" ")??""}`;let b=[`Vercel team: ${a.team?.outcome??"unchanged"} ${a.team?.name??""}.`,`Vercel project: ${a.project?.outcome??"unchanged"} ${a.project?.name??a.projectName}.`,`Env vars written: ${a.writtenEnvKeys.join(", ")||"none"}.`,`Linear webhook setup: ${a.linearWebhookSetup.mode}.`,`Signed probe: ${a.signedProbeVerified?"passed":"failed"}${a.signedProbeReason?` (${a.signedProbeReason})`:""}.`];return a.productionRedeployTriggered&&b.push(`Production redeploy: ${a.productionRedeployStatus??"unknown"}.`),a.setupBlocked?(b.push(a.setupBlocked.message),a.setupBlocked.nextSteps.length>0&&b.push(a.setupBlocked.nextSteps.join(" "))):!a.deploymentRedeployRequired||a.signedProbeVerified||a.productionRedeployTriggered||b.push("Redeploy production in Vercel, then use Retry verification (this will not rotate secrets or rewrite env vars)."),b.join(" ")}(ac)}):null,am?(0,g.jsxs)("div",{className:"rounded-md border border-amber-500/40 bg-amber-500/5 p-3 text-sm space-y-2",children:[(0,g.jsx)("p",{className:"font-medium",children:"Manual Linear webhook secret (one-time)"}),(0,g.jsx)("p",{className:"text-muted-foreground",children:"Copy this secret into the Linear webhook signing secret field. Manual acknowledgement does not verify the bridge; signed delivery verification must pass after you apply again."}),(0,g.jsx)(ae,{readOnly:!0,value:am}),(0,g.jsxs)("label",{className:"flex items-center gap-2",children:[(0,g.jsx)("input",{type:"checkbox",checked:ao,onChange:a=>ap(a.target.checked)}),"I copied the webhook secret into Linear."]}),ac?.linearWebhookSetup.manualSteps.length?(0,g.jsx)("ul",{className:"list-disc pl-5 text-muted-foreground",children:ac.linearWebhookSetup.manualSteps.map(a=>(0,g.jsx)("li",{children:a},a))}):null]}):null,aC?(0,g.jsx)(K.$,{type:"button",onClick:e,children:"Continue to target repo setup"}):null]}):(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Add VERCEL_TOKEN in Step 1 before configuring Vercel settings."})})})}function hM({readiness:a,onContinue:b}){let[c,d]=(0,h.useState)([]),[e,f]=(0,h.useState)(!0),[i,j]=(0,h.useState)(null),[k,l]=(0,h.useState)(!1),m=(0,h.useCallback)(async()=>{f(!0),j(null),l(!1),d([]);try{let a=await fetch("/api/setup/local-readiness"),b=await a.json();if(!a.ok)throw Error(b.error??"Local readiness check failed");let c=b.checks;d(c.map(a=>({id:a.id,label:a.label,status:"checking"}))),await new Promise(a=>setTimeout(a,0)),d(c.map(a=>({id:a.id,label:a.label,status:"passed"===a.status?"passed":"failed",detail:a.detail,action:a.action}))),l(!!b.allPassed)}catch(a){j(a instanceof Error?a.message:"Could not run local readiness checks"),d([])}finally{f(!1)}},[]),n=k&&!e&&!a.localReadinessReviewed;return(0,g.jsx)(Y,{title:`Step 5 of 7 \xb7 Check local readiness`,description:"We're checking whether this machine is ready for remote setup.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[e&&0===c.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Running local readiness checks…"}):null,i?(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm text-destructive",children:i}),(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void m(),children:"Retry checks"})]}):null,c.length>0?(0,g.jsx)(hC,{checks:c}):null,k&&!e?(0,g.jsx)("p",{className:"text-sm font-medium text-emerald-700",children:"Local readiness passed."}):null,n?(0,g.jsx)(K.$,{type:"button",onClick:b,children:"Continue to cloud secrets"}):null]})})}function hN(a){return a.current+=1,a.current}function hO(a,b){return b===a.current}function hP({open:a,onOpenChange:b,isLoading:c,previewError:d,preview:e,previewIsCurrent:f}){return(0,g.jsxs)("details",{open:a,className:"rounded-md border border-border bg-background p-3",children:[(0,g.jsx)("summary",{className:"cursor-pointer text-sm font-medium",onClick:c=>{c.preventDefault(),b(!a)},children:"Review generated secrets (optional)"}),(0,g.jsx)("div",{className:"mt-3 space-y-3",children:c?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generating redacted cloud secrets preview…"}),(0,g.jsxs)("div",{className:"space-y-2","aria-hidden":"true",children:[(0,g.jsx)(aV,{className:"h-4 w-[60%]"}),(0,g.jsx)(aV,{className:"h-24 w-full"})]})]}):d?(0,g.jsx)("p",{className:"text-sm text-destructive",children:d}):(0,g.jsx)(hr,{harnessSecretPreview:f?e:void 0})})]})}function hQ(a){let b=k(a.harnessSecretStatuses);if(b.allPresent)return"All required GitHub Actions secrets are present in the harness repo.";let c=[];return b.missing.length>0&&c.push(`Missing: ${b.missing.join(", ")}`),b.unknown.length>0&&c.push(`Unknown: ${b.unknown.join(", ")}`),c.join(". ")}function hR({blocker:a}){return(0,g.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/30 bg-destructive/5 p-4",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.message}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.action})]})}async function hS(a){if("undefined"!=typeof navigator&&navigator.clipboard?.writeText)return void await navigator.clipboard.writeText(a);throw Error("Clipboard is not available in this browser.")}function hT({readiness:a,setupSummary:b,controlPlaneContext:c,remoteSecretPreviewStale:d=!1,cloudSecretsApplyEvidence:e,initialSummary:f,onSummaryUpdated:i,onUiStateChange:k,onContinue:l,blockedByUpstream:m=!1,onGoToHarnessRepo:o,onGoToConnectServices:p}){let[q,r]=(0,h.useState)(f),[s,t]=(0,h.useState)(null),[y,A]=(0,h.useState)(!1),[B,C]=(0,h.useState)(null),[E,G]=(0,h.useState)(!1),[H,I]=(0,h.useState)(!1),[J,L]=(0,h.useState)(!1),[M,N]=(0,h.useState)(null),[O,P]=(0,h.useState)(null),[Q,R]=(0,h.useState)(null),[S,T]=(0,h.useState)(null),[U,V]=(0,h.useState)(!1),[W,X]=(0,h.useState)(!1),[Z,$]=(0,h.useState)(!1),[_,aa]=(0,h.useState)(null),[ab,ac]=(0,h.useState)(!1),[ad,ae]=(0,h.useState)(null),[ag,ah]=(0,h.useState)(null),[ai,aj]=(0,h.useState)(null),[ak,al]=(0,h.useState)(null),am=(0,h.useRef)({current:0});(0,h.useRef)(!1);let an=(0,h.useMemo)(()=>n({setupSummary:b,controlPlaneContext:c}),[b,c]),ao=(0,h.useCallback)((a,b)=>{var c,d;hO((d=c={tracker:am.current,revision:b,summary:a,install:a=>{r(a),i?.(a)}}).tracker,d.revision)&&c.install(c.summary)},[i]),ap=(0,h.useCallback)(async(a="manual")=>{let b=hN(am.current);N("mount"===a?"mount-refresh":"refresh"),"mount"===a?al(null):P(null);try{let a=await fetch("/api/setup/remote-summary"),c=await a.json();if(!a.ok)throw Error(c.error??"Remote summary refresh failed");if(!hO(am.current,b))return null;return ao(c,b),c}catch(d){if(!hO(am.current,b))return null;let c=d instanceof Error?d.message:"Remote summary refresh failed";return"mount"===a?al(c):P(c),null}finally{hO(am.current,b)&&N(null)}},[ao]),aq=null!==B&&E,ar=(0,h.useMemo)(()=>q.githubTokenConfigured?q.harnessDispatchRepoResolved?"denied"===q.harnessRepoAccess?{allowed:!1,reason:`Blocked: GitHub denied access to ${q.harnessDispatchRepo}.`,action:"Return to Step 4 to correct the harness repo, or update GITHUB_TOKEN permissions in Step 1 and verify again.",route:"step4-harness-repo"}:"available"!==q.harnessRepoAccess?{allowed:!1,reason:"Blocked: Harness repo access could not be verified yet.",action:"Return to Step 4 and use Verify and use harness repo, then refresh cloud secrets setup.",route:"step4-harness-repo"}:{allowed:!0}:{allowed:!1,reason:"Blocked: Harness dispatch repo could not be resolved.",action:"Return to Step 4, enter your harness repo, and use Verify and use harness repo.",route:"step4-harness-repo"}:{allowed:!1,reason:"Blocked: GITHUB_TOKEN is required for cloud secrets setup.",action:"Add GITHUB_TOKEN in Step 1, then return to cloud secrets setup.",route:"connect-services"},[q]),as=m||!ar.allowed,at=m?"Fix harness repo access in local setup before cloud secrets can be configured.":ar.reason,au=m?"Return to Step 4 and verify your harness repo, then refresh.":ar.action,av=q.harnessSecretStatuses.some(a=>"missing"===a.status),aw=(0,h.useMemo)(()=>(function(a){var b;let c=(b=a?.harnessRepo,b?.trim()||"<harness-dispatch-repo>");return{summary:`Manual GitHub Actions secret setup for ${c}.`,steps:[`Open GitHub repository settings for ${c}.`,"Navigate to Settings → Secrets and variables → Actions.","Create or update these secret names: HARNESS_CONFIG_JSON_B64, LINEAR_API_KEY, CURSOR_API_KEY, HARNESS_GITHUB_TOKEN.","Set HARNESS_CONFIG_JSON_B64 from the base64-encoded full private harness config.","Set LINEAR_API_KEY, CURSOR_API_KEY, and HARNESS_GITHUB_TOKEN from your operator credentials.","Never print secret values in logs, docs, PR comments, or generated setup previews."]}})({harnessRepo:q.harnessDispatchRepo}).steps,[q.harnessDispatchRepo]),ax=(0,h.useCallback)(()=>{C(null),G(!1),R(null),T(null),V(!1),L(!1),I(!1),P(null)},[]),ay=(0,h.useCallback)(()=>{aa(null),ac(!1),ae(null),ah(null),X(!1),aj(null)},[]),az=(0,h.useCallback)(a=>{t(a),"automatic"===a?ay():ax()},[ax,ay]),aA=(0,h.useCallback)(()=>{aa(null),ac(!1),ae(null),aj(null)},[]),aB=(0,h.useCallback)((a,b)=>{A(!0),k?.({remoteSecretPreviewStale:!1}),"automatic"===a?(V(!0),b&&k?.({remoteSecretPreviewStale:!1,cloudSecretsApplyEvidence:b})):X(!0)},[k]),aC=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/preview-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),b=await a.json();if(!a.ok)throw Error(b.error??"Preview failed");return C(b),G(!0),b},[]),aD=(0,h.useCallback)(async()=>{N("preview"),P(null),R(null),T(null),V(!1),L(!1);try{await aC()}catch(a){C(null),G(!1),R(a instanceof Error?a.message:"Preview failed")}finally{N(null)}},[aC]),aE=(0,h.useCallback)(a=>{as||(I(a),a&&!aq&&"preview"!==M&&aD())},[aD,M,aq,as]),aF=async()=>{if(!J||as||"apply"===M)return;let a=hN(am.current);N("apply"),P(null),V(!1);try{let b=aq&&B?B:await aC();if(b.validationError)throw Error(b.validationError);let c=await fetch("/api/setup/apply-harness-secrets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmed:!0,fingerprint:b.fingerprint})}),d=await c.json();if(!c.ok)throw Error(d.error??"Apply failed");if(!hO(am.current,a))return;let e=d.summary,f=d.apply,g=d.evidence;T(f),ao(e,a),C(null),G(!1),L(!1),I(!1),v(e)?aB("automatic",g):P(`Write request completed, but verification failed: ${hQ(e)}. Refresh or retry.`)}catch(b){if(!hO(am.current,a))return;P(b instanceof Error?b.message:"Apply failed")}finally{hO(am.current,a)&&N(null)}},aG=async()=>{if(!as){if(!Z)return void ae("Confirm the sensitivity warning before generating manual copy values.");N("manual-values"),ae(null),aj(null);try{let a=await fetch("/api/setup/manual-harness-secret-values",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmedSensitiveReveal:!0})}),b=await a.json();if(!a.ok)throw Error(b.error??"Manual value generation failed");aa(b),ac(!1),b.missing.length>0&&ae(`Some values are unavailable locally: ${b.missing.join(", ")}`)}catch(a){aA(),ae(a instanceof Error?a.message:"Manual value generation failed")}finally{N(null)}}},aH=async()=>{if(!as){N("manual-verify"),ah(null),X(!1);try{let a=await ap("manual");if(!a)return;v(a)?(aB("manual"),ah(hQ(a)),aA()):ah(hQ(a))}finally{N(null)}}},aI=async(a,b)=>{if(!b)return void aj(`${a} is not available to copy.`);try{await hS(b),aj(`Copied ${a} to clipboard.`)}catch(b){aj(b instanceof Error?b.message:`Could not copy ${a}.`)}},aJ=(0,h.useMemo)(()=>(function(a){var b;let c=v(a.summary),d=a.previewStaleCleared??!1,e={...a.uiState,remoteSecretPreviewStale:!d&&a.uiState?.remoteSecretPreviewStale},f=z({blockers:u(a.setupSummary,a.summary,e,a.staleSmokeDiagnostics,a.controlPlaneContext).blockers,evidence:(b={postApplyVerificationReady:c,previewStaleCleared:d,evidence:a.uiState?.cloudSecretsApplyEvidence,currentConfigStateFingerprint:n({setupSummary:a.setupSummary,controlPlaneContext:a.controlPlaneContext})}).evidence,currentConfigStateFingerprint:b.currentConfigStateFingerprint,previewStaleCleared:b.previewStaleCleared,postApplyVerificationReady:b.postApplyVerificationReady});return{canContinue:c&&a.localReadinessComplete&&0===f.length,postApplyVerificationReady:c,blockers:f}})({summary:q,setupSummary:b,localReadinessComplete:a.localReadinessComplete,uiState:{remoteSecretPreviewStale:d,cloudSecretsApplyEvidence:e},staleSmokeDiagnostics:a.staleSmokeDiagnostics,controlPlaneContext:c,previewStaleCleared:y}),[q,b,a.localReadinessComplete,a.staleSmokeDiagnostics,d,e,c,y]),aK=x({evidence:e,currentConfigStateFingerprint:an,harnessDispatchRepo:q.harnessDispatchRepo}),aL=function(a){if("automatic"!==a.setupType||"apply"===a.loading)return{kind:"idle"};if(a.applyError)return{kind:"apply-failed",message:a.applyError,showRetry:!0};let b=x({evidence:a.cloudSecretsApplyEvidence,currentConfigStateFingerprint:a.currentConfigStateFingerprint,harnessDispatchRepo:a.harnessDispatchRepo});return a.verifiedAutomaticSuccess||a.applyResult&&b?a.cloudSecretsApplyEvidence&&w({evidence:a.cloudSecretsApplyEvidence,currentConfigStateFingerprint:a.currentConfigStateFingerprint,harnessDispatchRepo:a.harnessDispatchRepo})?{kind:"stale-after-apply",message:"Local or control-plane config changed after the last automatic secret write. Preview and apply again to refresh HARNESS_CONFIG_JSON_B64.",showRetry:!0,primaryBlocker:a.eligibility.blockers.find(a=>"cloud-secrets-stale-linear-config"===a.id)}:a.eligibility.postApplyVerificationReady?a.eligibility.canContinue?{kind:"success",message:"Encrypted GitHub Actions secrets were created or updated successfully.",canContinue:!0}:{kind:"success-blocked",message:"Automatic secret write succeeded, but Step 6 is not ready to continue yet.",primaryBlocker:a.eligibility.blockers[0],showRefresh:!0,showRetry:!0}:{kind:"verification-inconclusive",message:"Write request completed, but remote secret verification is not ready yet. Refresh or retry.",showRefresh:!0,showRetry:!0}:{kind:"idle"}}({setupType:s,loading:M,applyError:O,applyResult:S,verifiedAutomaticSuccess:U,cloudSecretsApplyEvidence:e,eligibility:aJ,currentConfigStateFingerprint:an,harnessDispatchRepo:q.harnessDispatchRepo}),aM=as?at:B?.validationError?"Fix validation errors before confirming this write.":void 0,aN=aM??(J?"success"===aL.kind?"Automatic secret write already verified for the current config.":void 0:"Confirm the GitHub Actions secret write before applying."),aO=("automatic"===s&&(U||aK)||"manual"===s&&W)&&aJ.canContinue&&!a.cloudSecretsReviewed&&!M&&!as,aP=W&&null!==ag&&aJ.canContinue,aQ=W&&null!==ag&&!aJ.canContinue,aR=aJ.blockers[0],aS=null!==M||!J||!!B?.validationError||as||"success"===aL.kind;return(0,g.jsx)(Y,{title:`Step 6 of 7 \u00b7 Connect cloud secrets`,description:"Your local setup is ready. Choose automatic GitHub Actions secret setup or manual setup in GitHub, then verify before continuing.",children:(0,g.jsxs)("div",{className:D.stackSm,children:["mount-refresh"===M?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Refreshing harness repo and secret status…"}):null,ak?(0,g.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/30 bg-destructive/5 p-4",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:ak}),(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void ap("mount"),disabled:null!==M,children:"Retry refresh"})]}):null,as?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/30 bg-destructive/5 p-4",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:at}),au?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:au}):null]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:["step4-harness-repo"===ar.route&&o?(0,g.jsx)(K.$,{type:"button",onClick:o,children:"Go to Step 4 harness repo"}):null,"connect-services"===ar.route&&p?(0,g.jsx)(K.$,{type:"button",onClick:p,children:"Go to Step 1 services"}):null,(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void ap("manual"),disabled:null!==M,children:"refresh"===M?"Refreshing…":"Refresh"})]})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("fieldset",{className:"space-y-3",children:[(0,g.jsx)("legend",{className:"text-sm font-medium",children:"Setup type"}),(0,g.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-6",children:[(0,g.jsxs)("div",{className:"flex items-center gap-3",children:[(0,g.jsx)(aT,{id:"setup-type-automatic",type:"radio",name:"cloud-secrets-setup-type",checked:"automatic"===s,onChange:()=>az("automatic")}),(0,g.jsx)(af,{htmlFor:"setup-type-automatic",className:"text-sm",children:"Automatic setup"})]}),(0,g.jsxs)("div",{className:"flex items-center gap-3",children:[(0,g.jsx)(aT,{id:"setup-type-manual",type:"radio",name:"cloud-secrets-setup-type",checked:"manual"===s,onChange:()=>az("manual")}),(0,g.jsx)(af,{htmlFor:"setup-type-manual",className:"text-sm",children:"Manual setup"})]})]})]}),"automatic"===s?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/10 p-4 space-y-4",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:"Automatic setup"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Write encrypted GitHub Actions secrets to the harness repo through the GitHub API. Preview is optional; preflight runs before apply when you skip preview."})]}),(0,g.jsx)(hP,{open:H,onOpenChange:aE,isLoading:"preview"===M,previewError:Q??void 0,preview:B??void 0,previewIsCurrent:aq}),(0,g.jsx)(ht,{scope:"remote-secret-write",variant:"guided",confirmed:J,disabled:as||!!B?.validationError,disabledReason:aM,onConfirmedChange:L}),(0,g.jsxs)("div",{className:F.actions,children:[(0,g.jsx)(K.$,{type:"button",onClick:()=>void aF(),disabled:aS,variant:"success"===aL.kind?"outline":"default",children:"apply"===M?"Writing secrets…":av?"Create encrypted GitHub Actions secrets":"Update encrypted GitHub Actions secrets"}),aL.showRefresh?(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void ap("manual"),disabled:null!==M,children:"refresh"===M?"Refreshing…":"Refresh"}):null,aL.showRetry?(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aD(),disabled:null!==M,children:"preview"===M?"Refreshing preview…":"Preview again"}):null]}),aN&&!as?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:aN}):null]}):null,"manual"===s?(0,g.jsxs)("div",{className:"rounded-md border border-border bg-background p-4 space-y-4",children:[(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:"Manual setup"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Create or update the required GitHub Actions secrets yourself in the harness repo, then run verify-only checks here."})]}),(0,g.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:aw.map(a=>(0,g.jsx)("li",{children:a},a))}),(0,g.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-3 space-y-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium text-destructive",children:"Sensitive values warning"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Manual copy values are secret. Do not paste them into logs, PRs, issues, screenshots, chat, or saved notes."}),(0,g.jsxs)("div",{className:"flex items-start gap-3",children:[(0,g.jsx)(aT,{id:"manual-values-warning",checked:Z,onChange:a=>$(a.target.checked)}),(0,g.jsx)(af,{htmlFor:"manual-values-warning",className:"text-sm leading-snug",children:"I understand these values are sensitive and will handle them carefully."})]})]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aG(),disabled:null!==M||!Z,children:"manual-values"===M?"Generating manual copy values…":"Generate manual copy values"}),_?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>ac(a=>!a),children:ab?"Hide values":"Show values"}),(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",onClick:aA,children:"Clear values"})]}):null]}),ad?(0,g.jsx)("p",{className:"text-sm text-destructive",children:ad}):null,ai?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:ai}):null,_?(0,g.jsx)("div",{className:"space-y-3",children:j.map(a=>{let b=_.values[a];return(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border p-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a}),ab&&b?(0,g.jsx)("p",{className:"mt-1 break-all font-mono text-xs text-muted-foreground",children:b}):(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:b?"Value ready to copy.":"Value unavailable locally."})]}),(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",disabled:!b,onClick:()=>void aI(a,b),children:"Copy value"})]},a)})}):null,(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"GitHub does not allow secret values to be read back. Verify-only confirms required secret names exist and the harness repo is reachable; it cannot prove the values match your local config or keys."}),(0,g.jsx)("div",{className:F.actions,children:(0,g.jsx)(K.$,{type:"button",variant:"outline",onClick:()=>void aH(),disabled:null!==M,children:"manual-verify"===M?"Verifying manual setup…":"Verify manual setup"})}),ag&&!W?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:ag}):null]}):null,"apply-failed"===aL.kind||"verification-inconclusive"===aL.kind?(0,g.jsx)(aX,{success:!1,message:aL.message??"Automatic apply failed."}):null,"success"===aL.kind?(0,g.jsx)(aX,{success:!0,message:aL.message??"Automatic apply succeeded."}):null,"stale-after-apply"===aL.kind?(0,g.jsx)(aX,{success:!1,message:aL.message??"Config changed after apply."}):null,"success-blocked"===aL.kind&&aL.primaryBlocker?(0,g.jsx)(hR,{blocker:aL.primaryBlocker}):null,aP?(0,g.jsx)(aX,{success:!0,message:ag}):null,aQ&&aR?(0,g.jsx)(hR,{blocker:aR}):null,aO?(0,g.jsx)(K.$,{type:"button",onClick:l,children:"Continue to target workflow"}):null]})]})})}function hU({finalization:a,onRetry:b,retrying:c=!1}){var d;let e="blocked"===a.lifecycle,f="complete"===a.lifecycle;return(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 p-4 space-y-3",children:[(0,g.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,g.jsx)(P,{label:function(a){switch(a){case"preparing":return"Creating workflow install";case"pr-created":case"pr-updated":return"Workflow install PR ready";case"waiting-for-checks":return"Waiting for checks";case"updating-branch":return"Updating install branch";case"merging":return"Merging automatically";case"verifying":return"Verifying workflow";case"complete":return"Workflow installed";case"blocked":return"Workflow install blocked";default:return"Finalizing workflow install"}}(a.lifecycle),variant:"complete"===(d=a.lifecycle)?"success":"blocked"===d?"destructive":"waiting-for-checks"===d||"verifying"===d?"warning":"secondary"})}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:a.message}),e?(0,g.jsxs)("div",{className:"flex flex-wrap gap-2",children:[a.canRetry&&b?(0,g.jsx)(K.$,{type:"button",onClick:b,disabled:c,children:c?"Retrying…":"Retry finalization"}):null,a.requiresGitHubIntervention&&a.prUrl?(0,g.jsx)(K.$,{asChild:!0,variant:"outline",children:(0,g.jsx)("a",{href:a.prUrl,target:"_blank",rel:"noopener noreferrer",children:"Open GitHub details"})}):null]}):null,e||f||!a.prUrl?null:(0,g.jsxs)("details",{className:"text-xs text-muted-foreground",children:[(0,g.jsx)("summary",{className:"cursor-pointer",children:"Advanced details"}),(0,g.jsxs)("p",{className:"mt-2 break-all",children:["Install PR: ",a.prUrl]})]})]})}function hV({repoConfigId:a}){return(0,g.jsxs)("div",{className:"rounded-md border border-border bg-muted/20 p-4 space-y-2",children:[(0,g.jsx)(P,{label:"Workflow ready",variant:"success"}),(0,g.jsxs)("p",{className:"text-sm text-muted-foreground",children:[a," has the expected harness workflow on its production branch."]})]})}function hW(a){return"pr-created"===a.outcome||"pr-updated"===a.outcome||"branch-updated"===a.outcome}function hX(a){return!!a&&"complete"!==a.lifecycle&&("blocked"!==a.lifecycle||!!a.canRetry)}function hY(a){return a?.lifecycle==="complete"||a?.lifecycle==="blocked"&&!a.canRetry}function hZ({initialSummary:a,onSummaryUpdated:b,onWorkflowSetupComplete:c,onWorkflowAwaitingMergeChange:d,pendingInstallByRepo:e={},finalizationByRepo:f={},onPendingInstallChange:i,onFinalizationChange:j,blockedByUpstream:k=!1}){let[l,m]=(0,h.useState)(a),[n,o]=(0,h.useState)(f),p=(0,h.useRef)(0),q=(0,h.useCallback)(async()=>{let a=await fetch("/api/setup/remote-summary"),c=await a.json();if(!a.ok)throw Error(c.error??"Remote summary refresh failed");return m(c),b?.(c),c},[b]),r=(0,h.useCallback)(async(a,f)=>{let g=l.targetRepos.find(b=>b.repoConfigId===a);if(!g)return;let h=await fetch("/api/setup/finalize-target-workflow",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoConfigId:g.repoConfigId,targetRepo:g.targetRepo,productionBranch:g.productionBranch,prUrl:f?.prUrl,branchName:f?.branchName})}),k=await h.json();if(!h.ok)throw Error(k.error??"Workflow finalization failed");let n=k.finalization,p=k.summary;if(o(b=>{let c=b[a];if(c&&hY(c)&&!hY(n))return b;let d={...b,[a]:n};return j?.(d),d}),m(p),b?.(p),"complete"===n.lifecycle){let b={...e};delete b[a],i?.(b)}return p.targetRepos.length>0&&p.targetRepos.every(a=>"present"===a.workflowStatus)&&(i?.({}),d?.(!1),c?.()),n},[j,i,b,d,c,e,l.targetRepos]),s=(0,h.useCallback)((a,b)=>{let c=p.current+1;p.current=c,(async()=>{for(;p.current===c;){try{let c=await r(a,b);if(!hX(c))break}catch{break}await new Promise(a=>setTimeout(a,2e3))}})()},[r]),t=(0,h.useCallback)(async(a,b,c)=>{let d={...e};if("already-installed"===b.outcome){delete d[a],i?.(d),await q();return}if(hW(b)&&(d[a]=b),i?.(d),c){let b={...n,[a]:c};o(b),j?.(b)}hW(b)&&s(a,b)},[n,j,i,e,q,s]),u=Object.values(n).some(a=>hX(a));return(0,g.jsx)(Y,{title:`Step 7 of 7 \xb7 Install target repo workflow`,description:u?"Installing the harness workflow automatically. Setup will continue when production verification succeeds.":"The harness will create or reuse a workflow install PR, merge it automatically when GitHub permits, and verify the production workflow.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Each target repo gets a deterministic install branch and PR. The harness finalizes the install automatically when checks and branch protection allow."}),0===l.targetRepos.length?(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Resolve your local harness config to show target repo workflow cards."}):(0,g.jsx)("div",{className:D.stackSm,children:l.targetRepos.map(a=>{let b=e[a.repoConfigId],c=n[a.repoConfigId],d="present"===a.workflowStatus;return(0,g.jsxs)("div",{className:"rounded-md border border-border bg-background p-4 space-y-3",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:a.repoConfigId}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground break-all",children:a.targetRepo}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Status: ",function(a){switch(a){case"present":return"workflow ready";case"missing":return"workflow missing";case"differs":return"workflow outdated";default:return"workflow status unknown"}}(a.workflowStatus)]})]}),d?(0,g.jsx)(hV,{repoConfigId:a.repoConfigId}):c?(0,g.jsx)(hU,{finalization:c,onRetry:c.canRetry?()=>void r(a.repoConfigId,b):void 0}):b&&hW(b)?(0,g.jsx)(hU,{finalization:{repoConfigId:a.repoConfigId,targetRepo:a.targetRepo,targetRepoSlug:a.targetRepo,productionBranch:a.productionBranch,branchName:b.branchName,lifecycle:"preparing",message:"Starting automatic workflow install finalization.",workflowStatus:a.workflowStatus,canRetry:!1,requiresGitHubIntervention:!1,advancedThisRequest:!1,lockContended:!1}}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Preview and confirm to create or update the workflow install PR. Finalization runs automatically after apply."}),(0,g.jsx)(hu,{repo:a,variant:"guided",onApplied:()=>void 0,onGuidedApplySuccess:(b,c)=>void t(a.repoConfigId,b,c),blockedByUpstream:k})]})]},a.repoConfigId)})})]})})}function h$(a){return{state:{version:1,linear:a.linearSummary.controlPlane?.linear,vercel:a.vercelSummary.controlPlane?.vercel},linearTeamKeyFromConfig:a.summary.configSummary?.linearTeamKey}}function h_({initialSummary:a,initialRemoteSummary:b,initialLinearSummary:c,initialVercelSummary:d,formDefaults:e}){let[f,i]=(0,h.useState)("guided"),[j,k]=(0,h.useState)(a),[l,m]=(0,h.useState)(b),[o,p]=(0,h.useState)(c),[q,r]=(0,h.useState)(d),[s,t]=(0,h.useState)({}),u=(0,h.useMemo)(()=>h$({linearSummary:o,vercelSummary:q,summary:j}),[o,q,j]),[v,x]=(0,h.useState)(()=>(function(a){switch(a.currentStepId){case"connect-services":return"connect-services";case"linear-workspace":return"linear-workspace";case"vercel-bridge":return"vercel-bridge";case"local-setup":var b;return b=a.summary,b.localFiles.find(a=>".env.local"===a.label)?.exists&&J(a.summary),"choose-target-repos";case"local-readiness":return"local-readiness";case"cloud-secrets":return"cloud-secrets";case"target-workflow":return"target-workflow";case"ready-for-first-run":return"ready-for-first-run"}})({currentStepId:B({summary:a,remoteSummary:b,uiState:{},staleSmokeDiagnostics:b.staleSmokeDiagnostics,controlPlaneContext:h$({linearSummary:c,vercelSummary:d,summary:a})}).currentStepId,summary:a})),[y,z]=(0,h.useState)({}),[A,F]=(0,h.useState)({}),[G,L]=(0,h.useState)(!1);(0,h.useRef)(null);let M=(0,h.useMemo)(()=>B({summary:j,remoteSummary:l,uiState:s,staleSmokeDiagnostics:l.staleSmokeDiagnostics,controlPlaneContext:u}),[j,l,s,u]),N=M.staleSmokeDiagnostics.staleTargetRepos.length>0,O=!!M.staleSmokeDiagnostics.staleHarnessDispatchRepo,Q=(0,h.useMemo)(()=>{let a=e.env.suggestedHarnessDispatchRepo,b=M.staleSmokeDiagnostics.staleHarnessDispatchRepo&&a;return{harnessConfigPath:e.env.harnessConfigPath,githubDispatchRepository:b?a??"":e.env.githubDispatchRepository||a||"",savedHarnessDispatchRepository:e.env.githubDispatchRepository,suggestedHarnessDispatchRepo:a,secretPresence:{LINEAR_API_KEY:j.envKeyPresence.LINEAR_API_KEY,CURSOR_API_KEY:j.envKeyPresence.CURSOR_API_KEY,GITHUB_TOKEN:j.envKeyPresence.GITHUB_TOKEN,VERCEL_TOKEN:j.envKeyPresence.VERCEL_TOKEN}}},[e.env,M.staleSmokeDiagnostics.staleHarnessDispatchRepo,j.envKeyPresence.CURSOR_API_KEY,j.envKeyPresence.GITHUB_TOKEN,j.envKeyPresence.LINEAR_API_KEY,j.envKeyPresence.VERCEL_TOKEN]),R=(0,h.useCallback)(a=>{t(b=>b.localPreviewStale===a.localPreviewStale?b:{...b,localPreviewStale:a.localPreviewStale})},[]),S=(0,h.useCallback)(a=>{t(b=>{let c=b;if(void 0!==a.remoteSecretPreviewStale&&b.remoteSecretPreviewStale!==a.remoteSecretPreviewStale&&(c={...c,remoteSecretPreviewStale:a.remoteSecretPreviewStale}),"cloudSecretsApplyEvidence"in a){if(b.cloudSecretsApplyEvidence===a.cloudSecretsApplyEvidence)return c===b?b:c;c={...c,cloudSecretsApplyEvidence:a.cloudSecretsApplyEvidence}}return c===b?b:c})},[]),T=(0,h.useCallback)(a=>{t(b=>b.linearPreviewStale===a.linearPreviewStale?b:{...b,linearPreviewStale:a.linearPreviewStale})},[]),U=(0,h.useCallback)(a=>{t(b=>b.vercelPreviewStale===a.vercelPreviewStale?b:{...b,vercelPreviewStale:a.vercelPreviewStale})},[]),V=(0,h.useCallback)(async()=>{x("linear-workspace");try{let a=await fetch("/api/setup/linear-summary"),b=await a.json();a.ok&&p(b)}catch{}},[]),W=(0,h.useCallback)(()=>{x("vercel-bridge")},[]),X=(0,h.useCallback)(()=>{x("choose-target-repos")},[]),$=(0,h.useCallback)(()=>{t(a=>({...a,localReadinessReviewed:!0})),x("cloud-secrets")},[]),_=(0,h.useCallback)(()=>{t(a=>({...a,cloudSecretsReviewed:!0})),x("target-workflow")},[]),aa=(0,h.useCallback)(a=>{k(a),p(b=>{var c;return c=a.envKeyPresence,{...b,linearApiKeyConfigured:c.LINEAR_API_KEY}}),r(b=>{var c;return c=a.envKeyPresence,{...b,vercelTokenConfigured:c.VERCEL_TOKEN,linearApiKeyConfigured:c.LINEAR_API_KEY}}),m(b=>(function(a,b){let c=a.harnessSecretStatuses.map(a=>"present"===a.status?a:"missing"===a.status&&function(a,b){switch(b){case"LINEAR_API_KEY":return a.LINEAR_API_KEY;case"CURSOR_API_KEY":return a.CURSOR_API_KEY;case"HARNESS_GITHUB_TOKEN":return a.GITHUB_TOKEN;case"HARNESS_CONFIG_JSON_B64":return!1}}(b,a.name)?{...a,status:"unknown"}:a);return{...a,githubTokenConfigured:b.GITHUB_TOKEN,harnessSecretStatuses:c}})(b,a.envKeyPresence)),t(b=>{let c=h$({linearSummary:o,vercelSummary:q,summary:a}),d=w({evidence:b.cloudSecretsApplyEvidence,currentConfigStateFingerprint:n({setupSummary:a,controlPlaneContext:c}),harnessDispatchRepo:l.harnessDispatchRepo});return{...b,linearPreviewStale:!0,vercelPreviewStale:!0,remoteSecretPreviewStale:!0,cloudSecretsApplyEvidence:d?void 0:b.cloudSecretsApplyEvidence}})},[o,l.harnessDispatchRepo,q]),ab=(0,h.useCallback)(()=>{L(!1),z({}),F({})},[]),ac=(0,h.useCallback)(()=>{t(a=>({...a,localReadinessReviewed:!1,cloudSecretsReviewed:!1,cloudSecretsApplyEvidence:void 0,remoteSecretPreviewStale:!0,localPreviewStale:!1})),x("local-readiness")},[]);(0,h.useCallback)(a=>{x(a)},[]);let ad=(0,h.useCallback)(a=>{if("connect-services"===a||"linear-workspace"===a||"vercel-bridge"===a||"choose-target-repos"===a)return void t(b=>({...b,localReadinessReviewed:!1,cloudSecretsReviewed:!1,cloudSecretsApplyEvidence:void 0,remoteSecretPreviewStale:!0,linearPreviewStale:"connect-services"===a||"linear-workspace"===a||b.linearPreviewStale,vercelPreviewStale:"connect-services"===a||"linear-workspace"===a||"vercel-bridge"===a||b.vercelPreviewStale}));"local-readiness"===a&&t(a=>({...a,cloudSecretsReviewed:!1,cloudSecretsApplyEvidence:void 0,remoteSecretPreviewStale:!0}))},[]),ae=(0,h.useCallback)(()=>{let a=I(v);if(!a)return;let b=function(a){var b;let c=function(a){switch(a){case"connect-services":return"connect-services";case"linear-workspace":return"linear-workspace";case"vercel-bridge":return"vercel-bridge";case"local-setup":return"choose-target-repos";case"local-readiness":return"local-readiness";case"cloud-secrets":return"cloud-secrets";case"target-workflow":return"target-workflow";case"ready-for-first-run":return"ready-for-first-run"}}(a.currentStepId);return(b=a.target,H(b)-H(c)>0)?c:a.target}({target:a,currentStepId:M.currentStepId});x(b),ad(b)},[v,ad,M.currentStepId]),af="guided"===f&&null!==I(v),ag=(0,h.useRef)(null),ah=j.overview.operatorConfigResolved?"Config resolved":j.overview.configResolved?"Template config loaded":"Not configured yet",ai=j.overview.operatorConfigResolved?"success":"secondary",aj=M.readyForFirstRun?"Setup complete":G?"Finalizing workflow install":"Setup in progress";return(0,g.jsxs)("div",{className:C.sectionStack,children:[(0,g.jsxs)("section",{className:D.section,children:[(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)("h2",{className:E.pageTitle,children:"Settings / Configure"}),(0,g.jsx)("p",{className:E.pageDescription,children:"Guided first-run readiness for the Product Development Harness. Complete local setup, local readiness checks, cloud secrets, and target workflow install before your first future harness run."})]}),(0,g.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,g.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[af?(0,g.jsx)(K.$,{type:"button",variant:"ghost",size:"sm",className:"text-muted-foreground",onClick:ae,children:"Back"}):null,(0,g.jsxs)("div",{className:D.inline,children:[(0,g.jsx)(P,{label:aj,variant:M.readyForFirstRun?"success":"warning"}),"advanced"===f?(0,g.jsx)(P,{label:ah,variant:ai}):null]})]}),"guided"===f?(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>i("advanced"),children:"Advanced checklist view"}):(0,g.jsx)(K.$,{type:"button",variant:"outline",size:"sm",onClick:()=>i("guided"),children:"Back to guided flow"})]})]}),"advanced"===f?(0,g.jsx)(Z,{readiness:M}):null,"guided"===f?(0,g.jsx)("div",{className:D.section,children:(0,g.jsx)("div",{ref:ag,children:(()=>{switch(v){case"connect-services":return(0,g.jsx)(hm,{mode:"guided",guidedStep:"connect-services",initialEnv:Q,initialConfig:e.config,onSummaryUpdated:aa,onConnectServicesComplete:V},"guided-connect-services");case"linear-workspace":return(0,g.jsx)(hH,{readiness:M,initialSummary:o,linearApiKeyConfigured:j.envKeyPresence.LINEAR_API_KEY,onSummaryUpdated:p,onUiStateChange:T,onContinue:W});case"vercel-bridge":return(0,g.jsx)(hL,{readiness:M,initialSummary:q,onSummaryUpdated:r,onUiStateChange:U,onContinue:X});case"choose-target-repos":return(0,g.jsx)(hm,{mode:"guided",guidedStep:"choose-target-repos",initialEnv:Q,initialConfig:e.config,highlightStaleDispatch:O,highlightStaleTarget:N,onSummaryUpdated:aa,onUiStateChange:R,onGuidedLocalApplySuccess:ac,localSetupFilesExist:J(j)},"guided-local-setup");case"local-readiness":return(0,g.jsx)(hM,{readiness:M,onContinue:$});case"cloud-secrets":return(0,g.jsx)(hT,{readiness:M,setupSummary:j,controlPlaneContext:u,remoteSecretPreviewStale:s.remoteSecretPreviewStale,cloudSecretsApplyEvidence:s.cloudSecretsApplyEvidence,initialSummary:l,onSummaryUpdated:m,onUiStateChange:S,onContinue:_,blockedByUpstream:M.remoteSetupBlockedByUpstream,onGoToHarnessRepo:()=>x("choose-target-repos"),onGoToConnectServices:()=>x("connect-services")});case"target-workflow":return(0,g.jsx)(hZ,{initialSummary:l,onSummaryUpdated:m,onWorkflowSetupComplete:ab,onWorkflowAwaitingMergeChange:L,pendingInstallByRepo:y,finalizationByRepo:A,onPendingInstallChange:z,onFinalizationChange:F,blockedByUpstream:M.remoteSetupBlockedByUpstream});case"ready-for-first-run":return(0,g.jsx)(Y,{title:"Setup complete",description:"Harness setup is ready for a future first run.",children:(0,g.jsxs)("div",{className:D.stackSm,children:[(0,g.jsx)(P,{label:"Setup complete",variant:"success"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your harness setup is ready. The target workflow install finished automatically when production verification succeeded. A later milestone can add a safe first-issue dry run or no-op harness validation."}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:M.prohibitedActionsNote})]})})}})()})}):(0,g.jsx)(hF,{summary:j,remoteSummary:l,readiness:M,formDefaults:e,onSummaryUpdated:k,onRemoteSummaryUpdated:m,onLocalUiStateChange:R,onRemoteUiStateChange:S})]})}},28010:(a,b)=>{"use strict";function c(a){let{widthInt:b,heightInt:c,blurWidth:d,blurHeight:e,blurDataURL:f,objectFit:g}=a,h=d?40*d:b,i=e?40*e:c,j=h&&i?"viewBox='0 0 "+h+" "+i+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+j+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+f+"'/%3E%3C/svg%3E"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImageBlurSvg",{enumerable:!0,get:function(){return c}})},28354:a=>{"use strict";a.exports=require("util")},28783:a=>{"use strict";a.exports=import("@cursor/sdk")},29021:a=>{"use strict";a.exports=require("fs")},29056:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isLocalURL",{enumerable:!0,get:function(){return f}});let d=c(53387),e=c(94650);function f(a){if(!(0,d.isAbsoluteUrl)(a))return!0;try{let b=(0,d.getLocationOrigin)(),c=new URL(a,b);return c.origin===b&&(0,e.hasBasePath)(c.pathname)}catch(a){return!1}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29897:(a,b,c)=>{Promise.resolve().then(c.bind(c,72921))},30858:(a,b)=>{"use strict";function c(a){let{ampFirst:b=!1,hybrid:c=!1,hasQuery:d=!1}=void 0===a?{}:a;return b||c&&d}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isInAmpMode",{enumerable:!0,get:function(){return c}})},31421:a=>{"use strict";a.exports=require("node:child_process")},33443:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(21820),g=c(55511),h=c(1667).version,i=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function j(a){console.log(`[dotenv@${h}][DEBUG] ${a}`)}function k(a){console.log(`[dotenv@${h}] ${a}`)}function l(a){return a&&a.DOTENV_KEY&&a.DOTENV_KEY.length>0?a.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function m(a){let b=null;if(a&&a.path&&a.path.length>0)if(Array.isArray(a.path))for(let c of a.path)d.existsSync(c)&&(b=c.endsWith(".vault")?c:`${c}.vault`);else b=a.path.endsWith(".vault")?a.path:`${a.path}.vault`;else b=e.resolve(process.cwd(),".env.vault");return d.existsSync(b)?b:null}function n(a){return"~"===a[0]?e.join(f.homedir(),a.slice(1)):a}let o={configDotenv:function(a){let b,c=e.resolve(process.cwd(),".env"),f="utf8",g=!!(a&&a.debug),h=!a||!("quiet"in a)||a.quiet;a&&a.encoding?f=a.encoding:g&&j("No encoding is specified. UTF-8 is used by default");let i=[c];if(a&&a.path)if(Array.isArray(a.path))for(let b of(i=[],a.path))i.push(n(b));else i=[n(a.path)];let l={};for(let c of i)try{let b=o.parse(d.readFileSync(c,{encoding:f}));o.populate(l,b,a)}catch(a){g&&j(`Failed to load ${c} ${a.message}`),b=a}let m=process.env;if(a&&null!=a.processEnv&&(m=a.processEnv),o.populate(m,l,a),g||!h){let a=Object.keys(l).length,c=[];for(let a of i)try{let b=e.relative(process.cwd(),a);c.push(b)}catch(c){g&&j(`Failed to load ${a} ${c.message}`),b=c}k(`injecting env (${a}) from ${c.join(",")}`)}return b?{parsed:l,error:b}:{parsed:l}},_configVault:function(a){let b=!!(a&&a.debug),c=!a||!("quiet"in a)||a.quiet;(b||!c)&&k("Loading env from encrypted .env.vault");let d=o._parseVault(a),e=process.env;return a&&null!=a.processEnv&&(e=a.processEnv),o.populate(e,d,a),{parsed:d}},_parseVault:function(a){let b,c=m(a=a||{});a.path=c;let d=o.configDotenv(a);if(!d.parsed){let a=Error(`MISSING_DATA: Cannot parse ${c} for an unknown reason`);throw a.code="MISSING_DATA",a}let e=l(a).split(","),f=e.length;for(let a=0;a<f;a++)try{let c=e[a].trim(),f=function(a,b){let c;try{c=new URL(b)}catch(a){if("ERR_INVALID_URL"===a.code){let a=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw a.code="INVALID_DOTENV_KEY",a}throw a}let d=c.password;if(!d){let a=Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let e=c.searchParams.get("environment");if(!e){let a=Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let f=`DOTENV_VAULT_${e.toUpperCase()}`,g=a.parsed[f];if(!g){let a=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${f} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:g,key:d}}(d,c);b=o.decrypt(f.ciphertext,f.key);break}catch(b){if(a+1>=f)throw b}return o.parse(b)},config:function(a){if(0===l(a).length)return o.configDotenv(a);let b=m(a);if(!b){var c;return c=`You set DOTENV_KEY but you are missing a .env.vault file at ${b}. Did you forget to build it?`,console.log(`[dotenv@${h}][WARN] ${c}`),o.configDotenv(a)}return o._configVault(a)},decrypt:function(a,b){let c=Buffer.from(b.slice(-64),"hex"),d=Buffer.from(a,"base64"),e=d.subarray(0,12),f=d.subarray(-16);d=d.subarray(12,-16);try{let a=g.createDecipheriv("aes-256-gcm",c,e);return a.setAuthTag(f),`${a.update(d)}${a.final()}`}catch(d){let a=d instanceof RangeError,b="Invalid key length"===d.message,c="Unsupported state or unable to authenticate data"===d.message;if(a||b){let a=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw a.code="INVALID_DOTENV_KEY",a}if(c){let a=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw a.code="DECRYPTION_FAILED",a}throw d}},parse:function(a){let b,c={},d=a.toString();for(d=d.replace(/\r\n?/mg,"\n");null!=(b=i.exec(d));){let a=b[1],d=b[2]||"",e=(d=d.trim())[0];d=d.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===e&&(d=(d=d.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),c[a]=d}return c},populate:function(a,b,c={}){let d=!!(c&&c.debug),e=!!(c&&c.override);if("object"!=typeof b){let a=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw a.code="OBJECT_REQUIRED",a}for(let c of Object.keys(b))Object.prototype.hasOwnProperty.call(a,c)?(!0===e&&(a[c]=b[c]),d&&(!0===e?j(`"${c}" is already defined and WAS overwritten`):j(`"${c}" is already defined and was NOT overwritten`))):a[c]=b[c]}};a.exports.configDotenv=o.configDotenv,a.exports._configVault=o._configVault,a.exports._parseVault=o._parseVault,a.exports.config=o.config,a.exports.decrypt=o.decrypt,a.exports.parse=o.parse,a.exports.populate=o.populate,a.exports=o},33873:a=>{"use strict";a.exports=require("path")},35966:a=>{"use strict";a.exports=require("@linear/sdk")},36305:(a,b,c)=>{Promise.resolve().then(c.bind(c,51337)),Promise.resolve().then(c.bind(c,64788)),Promise.resolve().then(c.t.bind(c,3498,23))},37384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{IDLE_LINK_STATUS:function(){return i},PENDING_LINK_STATUS:function(){return h},mountFormInstance:function(){return r},mountLinkInstance:function(){return q},onLinkVisibilityChanged:function(){return t},onNavigationIntent:function(){return u},pingVisibleLinks:function(){return w},setLinkForCurrentNavigation:function(){return j},unmountLinkForCurrentNavigation:function(){return k},unmountPrefetchableInstance:function(){return s}}),c(99500);let d=c(25918),e=c(68459),f=c(31768);c(13136),c(26521);let g=null,h={pending:!0},i={pending:!1};function j(a){(0,f.startTransition)(()=>{null==g||g.setOptimisticLinkStatus(i),null==a||a.setOptimisticLinkStatus(h),g=a})}function k(a){g===a&&(g=null)}let l="function"==typeof WeakMap?new WeakMap:new Map,m=new Set,n="function"==typeof IntersectionObserver?new IntersectionObserver(function(a){for(let b of a){let a=b.intersectionRatio>0;t(b.target,a)}},{rootMargin:"200px"}):null;function o(a,b){void 0!==l.get(a)&&s(a),l.set(a,b),null!==n&&n.observe(a)}function p(a){try{return(0,d.createPrefetchURL)(a)}catch(b){return("function"==typeof reportError?reportError:console.error)("Cannot prefetch '"+a+"' because it cannot be converted to a URL."),null}}function q(a,b,c,d,e,f){if(e){let e=p(b);if(null!==e){let b={router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:e.href,setOptimisticLinkStatus:f};return o(a,b),b}}return{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:null,setOptimisticLinkStatus:f}}function r(a,b,c,d){let e=p(b);null!==e&&o(a,{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:e.href,setOptimisticLinkStatus:null})}function s(a){let b=l.get(a);if(void 0!==b){l.delete(a),m.delete(b);let c=b.prefetchTask;null!==c&&(0,e.cancelPrefetchTask)(c)}null!==n&&n.unobserve(a)}function t(a,b){let c=l.get(a);void 0!==c&&(c.isVisible=b,b?m.add(c):m.delete(c),v(c,e.PrefetchPriority.Default))}function u(a,b){let c=l.get(a);void 0!==c&&void 0!==c&&v(c,e.PrefetchPriority.Intent)}function v(a,b){let c=a.prefetchTask;if(!a.isVisible){null!==c&&(0,e.cancelPrefetchTask)(c);return}}function w(a,b){for(let c of m){let d=c.prefetchTask;if(null!==d&&!(0,e.isPrefetchTaskDirty)(d,a,b))continue;null!==d&&(0,e.cancelPrefetchTask)(d);let f=(0,e.createCacheKey)(c.prefetchHref,a);c.prefetchTask=(0,e.schedulePrefetchTask)(f,b,c.fetchStrategy,e.PrefetchPriority.Default,null)}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},37446:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{prefetchQueue:function(){return f},prefetchReducer:function(){return g}});let d=c(5162),e=c(81288),f=new d.PromiseQueue(5),g=function(a,b){(0,e.prunePrefetchCache)(a.prefetchCache);let{url:c}=b;return(0,e.getOrCreatePrefetchCacheEntry)({url:c,nextUrl:a.nextUrl,prefetchCache:a.prefetchCache,kind:b.kind,tree:a.tree,allowAliasing:!0}),a};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},39625:(a,b,c)=>{Promise.resolve().then(c.bind(c,58931))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"serverPatchReducer",{enumerable:!0,get:function(){return k}});let d=c(75497),e=c(24848),f=c(77692),g=c(15426),h=c(11966),i=c(26613),j=c(25918);function k(a,b){let{serverResponse:{flightData:c,canonicalUrl:k},navigatedAt:l}=b,m={};if(m.preserveCustomHistoryState=!1,"string"==typeof c)return(0,g.handleExternalUrl)(a,m,c,a.pushRef.pendingPush);let n=a.tree,o=a.cache;for(let b of c){let{segmentPath:c,tree:i}=b,p=(0,e.applyRouterStatePatchToTree)(["",...c],n,i,a.canonicalUrl);if(null===p)return a;if((0,f.isNavigatingToNewRootLayout)(n,p))return(0,g.handleExternalUrl)(a,m,a.canonicalUrl,a.pushRef.pendingPush);let q=k?(0,d.createHrefFromUrl)(k):void 0;q&&(m.canonicalUrl=q);let r=(0,j.createEmptyCacheNode)();(0,h.applyFlightData)(l,o,r,b),m.patchedTree=p,m.cache=r,o=r,n=p}return(0,i.handleMutable)(a,m)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41831:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},48161:a=>{"use strict";a.exports=require("node:os")},48540:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(67431);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+b+c+e+f}},48760:(a,b)=>{"use strict";function c(a){let b=parseInt(a.slice(0,2),16),c=b>>1&63,d=Array(6);for(let a=0;a<6;a++){let b=c>>5-a&1;d[a]=1===b}return{type:1==(b>>7&1)?"use-cache":"server-action",usedArgs:d,hasRestArgs:1==(1&b)}}function d(a,b){let c=Array(a.length);for(let d=0;d<a.length;d++)(d<6&&b.usedArgs[d]||d>=6&&b.hasRestArgs)&&(c[d]=a[d]);return c}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{extractInfoFromServerReferenceId:function(){return c},omitUnusedArgs:function(){return d}})},50202:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function a(b,c,f){let g=f.length<=2,[h,i]=f,j=(0,e.createRouterCacheKey)(i),k=c.parallelRoutes.get(h),l=b.parallelRoutes.get(h);l&&l!==k||(l=new Map(k),b.parallelRoutes.set(h,l));let m=null==k?void 0:k.get(j),n=l.get(j);if(g){n&&n.lazyData&&n!==m||l.set(j,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1});return}if(!n||!m){n||l.set(j,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:-1});return}return n===m&&(n={lazyData:n.lazyData,rsc:n.rsc,prefetchRsc:n.prefetchRsc,head:n.head,prefetchHead:n.prefetchHead,parallelRoutes:new Map(n.parallelRoutes),loading:n.loading},l.set(j,n)),a(n,m,(0,d.getNextFlightSegmentPath)(f))}}});let d=c(89909),e=c(82521);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},51337:(a,b,c)=>{"use strict";c.d(b,{ConfigureExperience:()=>d});let d=(0,c(25459).registerClientReference)(function(){throw Error("Attempted to call ConfigureExperience() from the server but ConfigureExperience is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/weston/Code/agentic-product-development-harness/apps/gui/components/custom/configure-experience.tsx","ConfigureExperience")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51939:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"serverActionReducer",{enumerable:!0,get:function(){return E}});let d=c(53418),e=c(86802),f=c(58529),g=c(12786),h=c(78589),i=c(13136),j=c(4335),k=c(75497),l=c(15426),m=c(24848),n=c(77692),o=c(26613),p=c(63102),q=c(25918),r=c(78592),s=c(13355),t=c(18226),u=c(89909),v=c(4873),w=c(79650),x=c(81288),y=c(15252),z=c(94650),A=c(48760);c(68459);let B=h.createFromFetch;async function C(a,b,c){let i,k,l,m,{actionId:n,actionArgs:o}=c,p=(0,h.createTemporaryReferenceSet)(),q=(0,A.extractInfoFromServerReferenceId)(n),r="use-cache"===q.type?(0,A.omitUnusedArgs)(o,q):o,s=await (0,h.encodeReply)(r,{temporaryReferences:p}),t=await fetch(a.canonicalUrl,{method:"POST",headers:{Accept:f.RSC_CONTENT_TYPE_HEADER,[f.ACTION_HEADER]:n,[f.NEXT_ROUTER_STATE_TREE_HEADER]:(0,u.prepareFlightRouterStateForRequest)(a.tree),...{},...b?{[f.NEXT_URL]:b}:{}},body:s});if("1"===t.headers.get(f.NEXT_ACTION_NOT_FOUND_HEADER))throw Object.defineProperty(new g.UnrecognizedActionError('Server Action "'+n+'" was not found on the server. \nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action'),"__NEXT_ERROR_CODE",{value:"E715",enumerable:!1,configurable:!0});let v=t.headers.get("x-action-redirect"),[x,y]=(null==v?void 0:v.split(";"))||[];switch(y){case"push":i=w.RedirectType.push;break;case"replace":i=w.RedirectType.replace;break;default:i=void 0}let z=!!t.headers.get(f.NEXT_IS_PRERENDER_HEADER);try{let a=JSON.parse(t.headers.get("x-action-revalidated")||"[[],0,0]");k={paths:a[0]||[],tag:!!a[1],cookie:a[2]}}catch(a){k=D}let C=x?(0,j.assignLocation)(x,new URL(a.canonicalUrl,window.location.href)):void 0,E=t.headers.get("content-type"),F=!!(E&&E.startsWith(f.RSC_CONTENT_TYPE_HEADER));if(!F&&!C)throw Object.defineProperty(Error(t.status>=400&&"text/plain"===E?await t.text():"An unexpected response was received from the server."),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(F){let a=await B(Promise.resolve(t),{callServer:d.callServer,findSourceMapURL:e.findSourceMapURL,temporaryReferences:p});l=C?void 0:a.a,m=(0,u.normalizeFlightData)(a.f)}else l=void 0,m=void 0;return{actionResult:l,actionFlightData:m,redirectLocation:C,redirectType:i,revalidatedParts:k,isPrerender:z}}let D={paths:[],tag:!1,cookie:!1};function E(a,b){let{resolve:c,reject:d}=b,e={},f=a.tree;e.preserveCustomHistoryState=!1;let g=a.nextUrl&&(0,r.hasInterceptionRouteInCurrentTree)(a.tree)?a.nextUrl:null,h=Date.now();return C(a,g,b).then(async j=>{let r,{actionResult:u,actionFlightData:A,redirectLocation:B,redirectType:C,isPrerender:D,revalidatedParts:E}=j;if(B&&(C===w.RedirectType.replace?(a.pushRef.pendingPush=!1,e.pendingPush=!1):(a.pushRef.pendingPush=!0,e.pendingPush=!0),e.canonicalUrl=r=(0,k.createHrefFromUrl)(B,!1)),!A)return(c(u),B)?(0,l.handleExternalUrl)(a,e,B.href,a.pushRef.pendingPush):a;if("string"==typeof A)return c(u),(0,l.handleExternalUrl)(a,e,A,a.pushRef.pendingPush);let F=E.paths.length>0||E.tag||E.cookie;for(let d of A){let{tree:i,seedData:j,head:k,isRootRender:o}=d;if(!o)return console.log("SERVER ACTION APPLY FAILED"),c(u),a;let v=(0,m.applyRouterStatePatchToTree)([""],f,i,r||a.canonicalUrl);if(null===v)return c(u),(0,s.handleSegmentMismatch)(a,b,i);if((0,n.isNavigatingToNewRootLayout)(f,v))return c(u),(0,l.handleExternalUrl)(a,e,r||a.canonicalUrl,a.pushRef.pendingPush);if(null!==j){let b=j[1],c=(0,q.createEmptyCacheNode)();c.rsc=b,c.prefetchRsc=null,c.loading=j[3],(0,p.fillLazyItemsTillLeafWithHead)(h,c,void 0,i,j,k,void 0),e.cache=c,e.prefetchCache=new Map,F&&await (0,t.refreshInactiveParallelSegments)({navigatedAt:h,state:a,updatedTree:v,updatedCache:c,includeNextUrl:!!g,canonicalUrl:e.canonicalUrl||a.canonicalUrl})}e.patchedTree=v,f=v}return B&&r?(F||((0,x.createSeededPrefetchCacheEntry)({url:B,data:{flightData:A,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:a.tree,prefetchCache:a.prefetchCache,nextUrl:a.nextUrl,kind:D?i.PrefetchKind.FULL:i.PrefetchKind.AUTO}),e.prefetchCache=a.prefetchCache),d((0,v.getRedirectError)((0,z.hasBasePath)(r)?(0,y.removeBasePath)(r):r,C||w.RedirectType.push))):c(u),(0,o.handleMutable)(a,e)},b=>(d(b),a))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53387:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DecodeError:function(){return o},MiddlewareNotFoundError:function(){return s},MissingStaticPage:function(){return r},NormalizeError:function(){return p},PageNotFoundError:function(){return q},SP:function(){return m},ST:function(){return n},WEB_VITALS:function(){return c},execOnce:function(){return d},getDisplayName:function(){return i},getLocationOrigin:function(){return g},getURL:function(){return h},isAbsoluteUrl:function(){return f},isResSent:function(){return j},loadGetInitialProps:function(){return l},normalizeRepeatedSlashes:function(){return k},stringifyError:function(){return t}});let c=["CLS","FCP","FID","INP","LCP","TTFB"];function d(a){let b,c=!1;return function(){for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return c||(c=!0,b=a(...e)),b}}let e=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,f=a=>e.test(a);function g(){let{protocol:a,hostname:b,port:c}=window.location;return a+"//"+b+(c?":"+c:"")}function h(){let{href:a}=window.location,b=g();return a.substring(b.length)}function i(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function j(a){return a.finished||a.headersSent}function k(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?"?"+b.slice(1).join("?"):"")}async function l(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await l(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&j(c))return d;if(!d)throw Object.defineProperty(Error('"'+i(a)+'.getInitialProps()" should resolve to an object. But found "'+d+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let m="undefined"!=typeof performance,n=m&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class o extends Error{}class p extends Error{}class q extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+a}}class r extends Error{constructor(a,b){super(),this.message="Failed to load static file for page: "+a+" "+b}}class s extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function t(a){return JSON.stringify({message:a.message,stack:a.stack})}},55511:a=>{"use strict";a.exports=require("crypto")},56035:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,metadata:()=>h});var d=c(5939),e=c(91860),f=c.n(e),g=c(58931);c(98944);let h={title:"Product Development Harness",description:"Local operator GUI for harness setup and configuration."};function i({children:a}){return(0,d.jsx)("html",{lang:"en",className:f().variable,suppressHydrationWarning:!0,children:(0,d.jsx)("body",{children:(0,d.jsx)(g.ThemeProvider,{children:a})})})}},57162:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function a(b,c,f){let g=f.length<=2,[h,i]=f,j=(0,d.createRouterCacheKey)(i),k=c.parallelRoutes.get(h);if(!k)return;let l=b.parallelRoutes.get(h);if(l&&l!==k||(l=new Map(k),b.parallelRoutes.set(h,l)),g)return void l.delete(j);let m=k.get(j),n=l.get(j);n&&m&&(n===m&&(n={lazyData:n.lazyData,rsc:n.rsc,prefetchRsc:n.prefetchRsc,head:n.head,prefetchHead:n.prefetchHead,parallelRoutes:new Map(n.parallelRoutes)},l.set(j,n)),a(n,m,(0,e.getNextFlightSegmentPath)(f)))}}});let d=c(82521),e=c(89909);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},57975:a=>{"use strict";a.exports=require("node:util")},58931:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>d});let d=(0,c(25459).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/weston/Code/agentic-product-development-harness/apps/gui/components/custom/theme-provider.tsx","ThemeProvider")},61725:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addBasePath",{enumerable:!0,get:function(){return f}});let d=c(48540),e=c(83328);function f(a,b){return(0,e.normalizePathTrailingSlash)((0,d.addPathPrefix)(a,""))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},61798:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{VALID_LOADERS:function(){return c},imageConfigDefault:function(){return d}});let c=["default","imgix","cloudinary","akamai","custom"],d={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},61966:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.RouterContext},62176:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{computeChangedPath:function(){return j},extractPathFromFlightRouterState:function(){return i},getSelectedParams:function(){return function a(b,c){for(let d of(void 0===c&&(c={}),Object.values(b[1]))){let b=d[0],f=Array.isArray(b),g=f?b[1]:b;!g||g.startsWith(e.PAGE_SEGMENT_KEY)||(f&&("c"===b[2]||"oc"===b[2])?c[b[0]]=b[1].split("/"):f&&(c[b[0]]=b[1]),c=a(d,c))}return c}}});let d=c(54357),e=c(44859),f=c(58395),g=a=>"string"==typeof a?"children"===a?"":a:a[1];function h(a){return a.reduce((a,b)=>{let c;return""===(b="/"===(c=b)[0]?c.slice(1):c)||(0,e.isGroupSegment)(b)?a:a+"/"+b},"")||"/"}function i(a){var b;let c=Array.isArray(a[0])?a[0][1]:a[0];if(c===e.DEFAULT_SEGMENT_KEY||d.INTERCEPTION_ROUTE_MARKERS.some(a=>c.startsWith(a)))return;if(c.startsWith(e.PAGE_SEGMENT_KEY))return"";let f=[g(c)],j=null!=(b=a[1])?b:{},k=j.children?i(j.children):void 0;if(void 0!==k)f.push(k);else for(let[a,b]of Object.entries(j)){if("children"===a)continue;let c=i(b);void 0!==c&&f.push(c)}return h(f)}function j(a,b){let c=function a(b,c){let[e,h]=b,[j,k]=c,l=g(e),m=g(j);if(d.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)||m.startsWith(a)))return"";if(!(0,f.matchSegment)(e,j)){var n;return null!=(n=i(c))?n:""}for(let b in h)if(k[b]){let c=a(h[b],k[b]);if(null!==c)return g(j)+"/"+c}return null}(a,b);return null==c||"/"===c?c:h(c.split("/"))}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62475:(a,b)=>{"use strict";function c(a){var b;let{config:c,src:d,width:e,quality:f}=a,g=f||(null==(b=c.qualities)?void 0:b.reduce((a,b)=>Math.abs(b-75)<Math.abs(a-75)?b:a))||75;return c.path+"?url="+encodeURIComponent(d)+"&w="+e+"&q="+g+(d.startsWith("/_next/static/media/"),"")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return d}}),c.__next_img_default=!0;let d=c},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63102:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function a(b,c,f,g,h,i,j){if(0===Object.keys(g[1]).length){c.head=i;return}for(let k in g[1]){let l,m=g[1][k],n=m[0],o=(0,d.createRouterCacheKey)(n),p=null!==h&&void 0!==h[2][k]?h[2][k]:null;if(f){let d=f.parallelRoutes.get(k);if(d){let f,g=(null==j?void 0:j.kind)==="auto"&&j.status===e.PrefetchCacheEntryStatus.reusable,h=new Map(d),l=h.get(o);f=null!==p?{lazyData:null,rsc:p[1],prefetchRsc:null,head:null,prefetchHead:null,loading:p[3],parallelRoutes:new Map(null==l?void 0:l.parallelRoutes),navigatedAt:b}:g&&l?{lazyData:l.lazyData,rsc:l.rsc,prefetchRsc:l.prefetchRsc,head:l.head,prefetchHead:l.prefetchHead,parallelRoutes:new Map(l.parallelRoutes),loading:l.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==l?void 0:l.parallelRoutes),loading:null,navigatedAt:b},h.set(o,f),a(b,f,l,m,p||null,i,j),c.parallelRoutes.set(k,h);continue}}if(null!==p){let a=p[1],c=p[3];l={lazyData:null,rsc:a,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:c,navigatedAt:b}}else l={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null,navigatedAt:b};let q=c.parallelRoutes.get(k);q?q.set(o,l):c.parallelRoutes.set(k,new Map([[o,l]])),a(b,l,void 0,m,p,i,j)}}}});let d=c(82521),e=c(13136);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},64402:(a,b,c)=>{"use strict";c.r(b),c.d(b,{_:()=>e});var d=0;function e(a){return"__private_"+d+++"_"+a}},64788:(a,b,c)=>{"use strict";c.d(b,{ThemeToggle:()=>d});let d=(0,c(25459).registerClientReference)(function(){throw Error("Attempted to call ThemeToggle() from the server but ThemeToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/weston/Code/agentic-product-development-harness/apps/gui/components/custom/theme-toggle.tsx","ThemeToggle")},66099:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.HeadManagerContext},66260:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,58671,23)),Promise.resolve().then(c.t.bind(c,56542,23)),Promise.resolve().then(c.t.bind(c,88248,23)),Promise.resolve().then(c.t.bind(c,49743,23)),Promise.resolve().then(c.t.bind(c,96231,23)),Promise.resolve().then(c.t.bind(c,10959,23)),Promise.resolve().then(c.t.bind(c,72041,23)),Promise.resolve().then(c.t.bind(c,95094,23)),Promise.resolve().then(c.t.bind(c,67487,23))},67122:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return p},defaultHead:function(){return l}});let d=c(15915),e=c(86274),f=c(78157),g=e._(c(31768)),h=d._(c(68737)),i=c(14329),j=c(66099),k=c(30858);function l(a){void 0===a&&(a=!1);let b=[(0,f.jsx)("meta",{charSet:"utf-8"},"charset")];return a||b.push((0,f.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),b}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===g.default.Fragment?a.concat(g.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(99026);let n=["name","httpEquiv","charSet","itemProp"];function o(a,b){let{inAmpMode:c}=b;return a.reduce(m,[]).reverse().concat(l(c).reverse()).filter(function(){let a=new Set,b=new Set,c=new Set,d={};return e=>{let f=!0,g=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){g=!0;let b=e.key.slice(e.key.indexOf("$")+1);a.has(b)?f=!1:a.add(b)}switch(e.type){case"title":case"base":b.has(e.type)?f=!1:b.add(e.type);break;case"meta":for(let a=0,b=n.length;a<b;a++){let b=n[a];if(e.props.hasOwnProperty(b))if("charSet"===b)c.has(b)?f=!1:c.add(b);else{let a=e.props[b],c=d[b]||new Set;("name"!==b||!g)&&c.has(a)?f=!1:(c.add(a),d[b]=c)}}}return f}}()).reverse().map((a,b)=>{let c=a.key||b;return g.default.cloneElement(a,{key:c})})}let p=function(a){let{children:b}=a,c=(0,g.useContext)(i.AmpStateContext),d=(0,g.useContext)(j.HeadManagerContext);return(0,f.jsx)(h.default,{reduceComponentsToState:o,headManager:d,inAmpMode:(0,k.isInAmpMode)(c),children:b})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},67283:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return i},getImageProps:function(){return h}});let d=c(15915),e=c(77387),f=c(79075),g=d._(c(62475));function h(a){let{props:b}=(0,e.getImgProps)(a,{defaultLoader:g.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let i=f.Image},67431:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},68360:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return j}});let d=c(7342),e=c(63102),f=c(82521),g=c(44859);function h(a,b,c,h,i,j){let{segmentPath:k,seedData:l,tree:m,head:n}=h,o=b,p=c;for(let b=0;b<k.length;b+=2){let c=k[b],h=k[b+1],q=b===k.length-2,r=(0,f.createRouterCacheKey)(h),s=p.parallelRoutes.get(c);if(!s)continue;let t=o.parallelRoutes.get(c);t&&t!==s||(t=new Map(s),o.parallelRoutes.set(c,t));let u=s.get(r),v=t.get(r);if(q){if(l&&(!v||!v.lazyData||v===u)){let b=l[0],c=l[1],f=l[3];v={lazyData:null,rsc:j||b!==g.PAGE_SEGMENT_KEY?c:null,prefetchRsc:null,head:null,prefetchHead:null,loading:f,parallelRoutes:j&&u?new Map(u.parallelRoutes):new Map,navigatedAt:a},u&&j&&(0,d.invalidateCacheByRouterState)(v,u,m),j&&(0,e.fillLazyItemsTillLeafWithHead)(a,v,u,m,l,n,i),t.set(r,v)}continue}v&&u&&(v===u&&(v={lazyData:v.lazyData,rsc:v.rsc,prefetchRsc:v.prefetchRsc,head:v.head,prefetchHead:v.prefetchHead,parallelRoutes:new Map(v.parallelRoutes),loading:v.loading},t.set(r,v)),o=v,p=u)}}function i(a,b,c,d,e){h(a,b,c,d,e,!0)}function j(a,b,c,d,e){h(a,b,c,d,e,!1)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},68459:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{FetchStrategy:function(){return o},NavigationResultTag:function(){return m},PrefetchPriority:function(){return n},cancelPrefetchTask:function(){return i},createCacheKey:function(){return l},getCurrentCacheVersion:function(){return g},isPrefetchTaskDirty:function(){return k},navigate:function(){return e},prefetch:function(){return d},reschedulePrefetchTask:function(){return j},revalidateEntireCache:function(){return f},schedulePrefetchTask:function(){return h}});let c=()=>{throw Object.defineProperty(Error("Segment Cache experiment is not enabled. This is a bug in Next.js."),"__NEXT_ERROR_CODE",{value:"E654",enumerable:!1,configurable:!0})},d=c,e=c,f=c,g=c,h=c,i=c,j=c,k=c,l=c;var m=function(a){return a[a.MPA=0]="MPA",a[a.Success=1]="Success",a[a.NoOp=2]="NoOp",a[a.Async=3]="Async",a}({}),n=function(a){return a[a.Intent=2]="Intent",a[a.Default=1]="Default",a[a.Background=0]="Background",a}({}),o=function(a){return a[a.LoadingBoundary=0]="LoadingBoundary",a[a.PPR=1]="PPR",a[a.PPRRuntime=2]="PPRRuntime",a[a.Full=3]="Full",a}({});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},68477:(a,b,c)=>{"use strict";a.exports=c(83935).vendored.contexts.ImageConfigContext},68737:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(31768),e=()=>{};function f(a){var b;let{headManager:c,reduceComponentsToState:f}=a;function g(){if(c&&c.mountedInstances){let b=d.Children.toArray(Array.from(c.mountedInstances).filter(Boolean));c.updateHead(f(b,a))}}return null==c||null==(b=c.mountedInstances)||b.add(a.children),g(),e(()=>{var b;return null==c||null==(b=c.mountedInstances)||b.add(a.children),()=>{var b;null==c||null==(b=c.mountedInstances)||b.delete(a.children)}}),e(()=>(c&&(c._pendingUpdate=g),()=>{c&&(c._pendingUpdate=g)})),null}},71281:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{formatUrl:function(){return f},formatWithValidation:function(){return h},urlObjectKeys:function(){return g}});let d=c(86274)._(c(22345)),e=/https?|ftp|gopher|file/;function f(a){let{auth:b,hostname:c}=a,f=a.protocol||"",g=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?"["+c+"]":c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(d.urlQueryToSearchParams(i)));let k=a.search||i&&"?"+i||"";return f&&!f.endsWith(":")&&(f+=":"),a.slashes||(!f||e.test(f))&&!1!==j?(j="//"+(j||""),g&&"/"!==g[0]&&(g="/"+g)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),""+f+j+(g=g.replace(/[?#]/g,encodeURIComponent))+(k=k.replace("#","%23"))+h}let g=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function h(a){return f(a)}},72921:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>f});var d=c(78157),e=c(26556);function f({children:a}){return(0,d.jsx)(e.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:a})}},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76692:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AppRouterAnnouncer",{enumerable:!0,get:function(){return g}});let d=c(31768),e=c(65081),f="next-route-announcer";function g(a){let{tree:b}=a,[c,g]=(0,d.useState)(null);(0,d.useEffect)(()=>(g(function(){var a;let b=document.getElementsByName(f)[0];if(null==b||null==(a=b.shadowRoot)?void 0:a.childNodes[0])return b.shadowRoot.childNodes[0];{let a=document.createElement(f);a.style.cssText="position:absolute";let b=document.createElement("div");return b.ariaLive="assertive",b.id="__next-route-announcer__",b.role="alert",b.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",a.attachShadow({mode:"open"}).appendChild(b),document.body.appendChild(a),b}}()),()=>{let a=document.getElementsByTagName(f)[0];(null==a?void 0:a.isConnected)&&document.body.removeChild(a)}),[]);let[h,i]=(0,d.useState)(""),j=(0,d.useRef)(void 0);return(0,d.useEffect)(()=>{let a="";if(document.title)a=document.title;else{let b=document.querySelector("h1");b&&(a=b.innerText||b.textContent||"")}void 0!==j.current&&j.current!==a&&i(a),j.current=a},[b]),c?(0,e.createPortal)(h,c):null}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},76760:a=>{"use strict";a.exports=require("node:path")},77387:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return i}}),c(99026);let d=c(28010),e=c(61798),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i(a,b){var c,i;let j,k,l,{src:m,sizes:n,unoptimized:o=!1,priority:p=!1,loading:q,className:r,quality:s,width:t,height:u,fill:v=!1,style:w,overrideSrc:x,onLoad:y,onLoadingComplete:z,placeholder:A="empty",blurDataURL:B,fetchPriority:C,decoding:D="async",layout:E,objectFit:F,objectPosition:G,lazyBoundary:H,lazyRoot:I,...J}=a,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=b,O=K||e.imageConfigDefault;if("allSizes"in O)j=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),d=null==(c=O.qualities)?void 0:c.sort((a,b)=>a-b);j={...O,allSizes:a,deviceSizes:b,qualities:d}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=J.loader||N;delete J.loader,delete J.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===j.loader)throw Object.defineProperty(Error('Image with src "'+m+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(E){"fill"===E&&(v=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];a&&(w={...w,...a});let b={responsive:"100vw",fill:"100vw"}[E];b&&!n&&(n=b)}let R="",S=h(t),T=h(u);if((i=m)&&"object"==typeof i&&(g(i)||void 0!==i.src)){let a=g(m)?m.default:m;if(!a.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!a.height||!a.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(k=a.blurWidth,l=a.blurHeight,B=B||a.blurDataURL,R=a.src,!v)if(S||T){if(S&&!T){let b=S/a.width;T=Math.round(a.height*b)}else if(!S&&T){let b=T/a.height;S=Math.round(a.width*b)}}else S=a.width,T=a.height}let U=!p&&("lazy"===q||void 0===q);(!(m="string"==typeof m?m:R)||m.startsWith("data:")||m.startsWith("blob:"))&&(o=!0,U=!1),j.unoptimized&&(o=!0),Q&&!j.dangerouslyAllowSVG&&m.split("?",1)[0].endsWith(".svg")&&(o=!0);let V=h(s),W=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:F,objectPosition:G}:{},L?{}:{color:"transparent"},w),X=M||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,d.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:k,blurHeight:l,blurDataURL:B||"",objectFit:W.objectFit})+'")':'url("'+A+'")',Y=f.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function(a){let{config:b,src:c,unoptimized:d,width:e,quality:f,sizes:g,loader:h}=a;if(d)return{src:c,srcSet:void 0,sizes:void 0};let{widths:i,kind:j}=function(a,b,c){let{deviceSizes:d,allSizes:e}=a;if(c){let a=/(^|\s)(1?\d?\d)vw/g,b=[];for(let d;d=a.exec(c);)b.push(parseInt(d[2]));if(b.length){let a=.01*Math.min(...b);return{widths:e.filter(b=>b>=d[0]*a),kind:"w"}}return{widths:e,kind:"w"}}return"number"!=typeof b?{widths:d,kind:"w"}:{widths:[...new Set([b,2*b].map(a=>e.find(b=>b>=a)||e[e.length-1]))],kind:"x"}}(b,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((a,d)=>h({config:b,src:c,quality:f,width:a})+" "+("w"===j?a:d+1)+j).join(", "),src:h({config:b,src:c,quality:f,width:i[k]})}}({config:j,src:m,unoptimized:o,width:S,quality:V,sizes:n,loader:P});return{props:{...J,loading:U?"lazy":q,fetchPriority:C,width:S,height:T,decoding:D,className:r,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:x||$.src},meta:{unoptimized:o,priority:p,placeholder:A,fill:v}}}},77598:a=>{"use strict";a.exports=require("node:crypto")},77692:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function a(b,c){let d=b[0],e=c[0];if(Array.isArray(d)&&Array.isArray(e)){if(d[0]!==e[0]||d[2]!==e[2])return!0}else if(d!==e)return!0;if(b[4])return!c[4];if(c[4])return!0;let f=Object.values(b[1])[0],g=Object.values(c[1])[0];return!f||!g||a(f,g)}}}),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79075:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(15915),e=c(86274),f=c(78157),g=e._(c(31768)),h=d._(c(65081)),i=d._(c(67122)),j=c(77387),k=c(61798),l=c(68477);c(99026);let m=c(61966),n=d._(c(62475)),o=c(79268),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=null==a?void 0:a.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),null==c?void 0:c.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}(null==d?void 0:d.current)&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)((a,b)=>{let{src:c,srcSet:d,sizes:e,height:h,width:i,decoding:j,className:k,style:l,fetchPriority:m,placeholder:n,loading:p,unoptimized:s,fill:t,onLoadRef:u,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:y,onLoad:z,onError:A,...B}=a,C=(0,g.useCallback)(a=>{a&&(A&&(a.src=a.src),a.complete&&q(a,n,u,v,w,s,y))},[c,n,u,v,w,A,s,y]),D=(0,o.useMergedRef)(b,C);return(0,f.jsx)("img",{...B,...r(m),loading:p,width:i,height:h,decoding:j,"data-nimg":t?"fill":"1",className:k,style:l,sizes:e,srcSet:d,src:c,ref:D,onLoad:a=>{q(a.currentTarget,n,u,v,w,s,y)},onError:a=>{x(!0),"empty"!==n&&w(!0),A&&A(a)}})});function t(a){let{isAppRouter:b,imgAttributes:c}=a,d={as:"image",imageSrcSet:c.srcSet,imageSizes:c.sizes,crossOrigin:c.crossOrigin,referrerPolicy:c.referrerPolicy,...r(c.fetchPriority)};return b&&h.default.preload?(h.default.preload(c.src,d),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:c.srcSet?void 0:c.src,...d},"__nimg-"+c.src+c.srcSet+c.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{var a;let b=p||d||k.imageConfigDefault,c=[...b.deviceSizes,...b.imageSizes].sort((a,b)=>a-b),e=b.deviceSizes.sort((a,b)=>a-b),f=null==(a=b.qualities)?void 0:a.sort((a,b)=>a-b);return{...b,allSizes:c,deviceSizes:e,qualities:f}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.priority?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79268:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=c(31768);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},79390:(a,b,c)=>{"use strict";function d(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}c.d(b,{$:()=>d})},80678:(a,b,c)=>{"use strict";c.d(b,{$:()=>s});var d=c(78157),e=c(31768),f=c.t(e,2);function g(a,b){if("function"==typeof a)return a(b);null!=a&&(a.current=b)}var h=function(a){let b=e.forwardRef((b,c)=>{var d;let f,h,{children:k,...p}=b,q=null,r=!1,s=[];l(k)&&"function"==typeof o&&(k=o(k._payload)),e.Children.forEach(k,a=>{var b;if(b=a,e.isValidElement(b)&&"function"==typeof b.type&&"__radixId"in b.type&&b.type.__radixId===i){r=!0;let b="child"in a.props?a.props.child:a.props.children;l(b)&&"function"==typeof o&&(b=o(b._payload)),q=j(a,b),s.push(q?.props?.children)}else s.push(a)}),q?q=e.cloneElement(q,void 0,s):!r&&1===e.Children.count(k)&&e.isValidElement(k)&&(q=k);let t=q?(d=q,(h=(f=Object.getOwnPropertyDescriptor(d.props,"ref")?.get)&&"isReactWarning"in f&&f.isReactWarning)?d.ref:(h=(f=Object.getOwnPropertyDescriptor(d,"ref")?.get)&&"isReactWarning"in f&&f.isReactWarning)?d.props.ref:d.props.ref||d.ref):void 0,u=function(...a){return e.useCallback(function(...a){return b=>{let c=!1,d=a.map(a=>{let d=g(a,b);return c||"function"!=typeof d||(c=!0),d});if(c)return()=>{for(let b=0;b<d.length;b++){let c=d[b];"function"==typeof c?c():g(a[b],null)}}}}(...a),a)}(c,t);if(!q){if(k||0===k)throw Error(r?n(a):m(a));return k}let v=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(p,q.props??{});return q.type!==e.Fragment&&(v.ref=c?u:t),e.cloneElement(q,v)});return b.displayName=`${a}.Slot`,b}("Slot"),i=Symbol.for("radix.slottable"),j=(a,b)=>{if("child"in a.props){let b=a.props.child;return e.isValidElement(b)?e.cloneElement(b,void 0,a.props.children(b.props.children)):null}return e.isValidElement(b)?b:null},k=Symbol.for("react.lazy");function l(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===k&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var m=a=>`${a} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,n=a=>`${a} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,o=f[" use ".trim().toString()],p=c(4306),q=c(84655);let r=(0,p.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8"}},defaultVariants:{variant:"default",size:"default"}}),s=e.forwardRef(({className:a,variant:b,size:c,asChild:e=!1,...f},g)=>(0,d.jsx)(e?h:"button",{className:(0,q.cn)(r({variant:b,size:c,className:a})),ref:g,...f}));s.displayName="Button"},81288:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DYNAMIC_STALETIME_MS:function(){return m},STATIC_STALETIME_MS:function(){return n},createSeededPrefetchCacheEntry:function(){return j},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return l}});let d=c(94082),e=c(13136),f=c(37446);function g(a,b,c){let d=a.pathname;return(b&&(d+=a.search),c)?""+c+"%"+d:d}function h(a,b,c){return g(a,b===e.PrefetchKind.FULL,c)}function i(a){let{url:b,nextUrl:c,tree:d,prefetchCache:f,kind:h,allowAliasing:i=!0}=a,j=function(a,b,c,d,f){for(let h of(void 0===b&&(b=e.PrefetchKind.TEMPORARY),[c,null])){let c=g(a,!0,h),i=g(a,!1,h),j=a.search?c:i,k=d.get(j);if(k&&f){if(k.url.pathname===a.pathname&&k.url.search!==a.search)return{...k,aliased:!0};return k}let l=d.get(i);if(f&&a.search&&b!==e.PrefetchKind.FULL&&l&&!l.key.includes("%"))return{...l,aliased:!0}}if(b!==e.PrefetchKind.FULL&&f){for(let b of d.values())if(b.url.pathname===a.pathname&&!b.key.includes("%"))return{...b,aliased:!0}}}(b,h,c,f,i);return j?(j.status=o(j),j.kind!==e.PrefetchKind.FULL&&h===e.PrefetchKind.FULL&&j.data.then(a=>{if(!(Array.isArray(a.flightData)&&a.flightData.some(a=>a.isRootRender&&null!==a.seedData)))return k({tree:d,url:b,nextUrl:c,prefetchCache:f,kind:null!=h?h:e.PrefetchKind.TEMPORARY})}),h&&j.kind===e.PrefetchKind.TEMPORARY&&(j.kind=h),j):k({tree:d,url:b,nextUrl:c,prefetchCache:f,kind:h||e.PrefetchKind.TEMPORARY})}function j(a){let{nextUrl:b,tree:c,prefetchCache:d,url:f,data:g,kind:i}=a,j=g.couldBeIntercepted?h(f,i,b):h(f,i),k={treeAtTimeOfPrefetch:c,data:Promise.resolve(g),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:g.staleTime,key:j,status:e.PrefetchCacheEntryStatus.fresh,url:f};return d.set(j,k),k}function k(a){let{url:b,kind:c,tree:g,nextUrl:i,prefetchCache:j}=a,k=h(b,c),l=f.prefetchQueue.enqueue(()=>(0,d.fetchServerResponse)(b,{flightRouterState:g,nextUrl:i,prefetchKind:c}).then(a=>{let c;if(a.couldBeIntercepted&&(c=function(a){let{url:b,nextUrl:c,prefetchCache:d,existingCacheKey:e}=a,f=d.get(e);if(!f)return;let g=h(b,f.kind,c);return d.set(g,{...f,key:g}),d.delete(e),g}({url:b,existingCacheKey:k,nextUrl:i,prefetchCache:j})),a.prerendered){let b=j.get(null!=c?c:k);b&&(b.kind=e.PrefetchKind.FULL,-1!==a.staleTime&&(b.staleTime=a.staleTime))}return a})),m={treeAtTimeOfPrefetch:g,data:l,kind:c,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:k,status:e.PrefetchCacheEntryStatus.fresh,url:b};return j.set(k,m),m}function l(a){for(let[b,c]of a)o(c)===e.PrefetchCacheEntryStatus.expired&&a.delete(b)}let m=1e3*Number("0"),n=1e3*Number("300");function o(a){let{kind:b,prefetchTime:c,lastUsedTime:d}=a;return Date.now()<(null!=d?d:c)+m?d?e.PrefetchCacheEntryStatus.reusable:e.PrefetchCacheEntryStatus.fresh:b===e.PrefetchKind.AUTO&&Date.now()<c+n?e.PrefetchCacheEntryStatus.stale:b===e.PrefetchKind.FULL&&Date.now()<c+n?e.PrefetchCacheEntryStatus.reusable:e.PrefetchCacheEntryStatus.expired}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},81744:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(31768);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)},f=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let h=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:e,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...g,width:b,height:b,stroke:a,strokeWidth:e?24*Number(c)/Number(b):c,className:f("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),i=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},i)=>(0,d.createElement)(h,{ref:i,iconNode:b,className:f(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c}},82582:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{abortTask:function(){return o},listenForDynamicRequest:function(){return n},startPPRNavigation:function(){return j},updateCacheNodeOnPopstateRestoration:function(){return function a(b,c){let d=c[1],e=b.parallelRoutes,g=new Map(e);for(let b in d){let c=d[b],h=c[0],i=(0,f.createRouterCacheKey)(h),j=e.get(b);if(void 0!==j){let d=j.get(i);if(void 0!==d){let e=a(d,c),f=new Map(j);f.set(i,e),g.set(b,f)}}}let h=b.rsc,i=r(h)&&"pending"===h.status;return{lazyData:null,rsc:h,head:b.head,prefetchHead:i?b.prefetchHead:[null,null],prefetchRsc:i?b.prefetchRsc:null,loading:b.loading,parallelRoutes:g,navigatedAt:b.navigatedAt}}}});let d=c(44859),e=c(58395),f=c(82521),g=c(77692),h=c(81288),i={route:null,node:null,dynamicRequestTree:null,children:null};function j(a,b,c,g,h,j,m,n,o){return function a(b,c,g,h,j,m,n,o,p,q,r){let s=g[1],t=h[1],u=null!==m?m[2]:null;j||!0===h[4]&&(j=!0);let v=c.parallelRoutes,w=new Map(v),x={},y=null,z=!1,A={};for(let c in t){let g,h=t[c],l=s[c],m=v.get(c),B=null!==u?u[c]:null,C=h[0],D=q.concat([c,C]),E=(0,f.createRouterCacheKey)(C),F=void 0!==l?l[0]:void 0,G=void 0!==m?m.get(E):void 0;if(null!==(g=C===d.DEFAULT_SEGMENT_KEY?void 0!==l?{route:l,node:null,dynamicRequestTree:null,children:null}:k(b,l,h,G,j,void 0!==B?B:null,n,o,D,r):p&&0===Object.keys(h[1]).length?k(b,l,h,G,j,void 0!==B?B:null,n,o,D,r):void 0!==l&&void 0!==F&&(0,e.matchSegment)(C,F)&&void 0!==G&&void 0!==l?a(b,G,l,h,j,B,n,o,p,D,r):k(b,l,h,G,j,void 0!==B?B:null,n,o,D,r))){if(null===g.route)return i;null===y&&(y=new Map),y.set(c,g);let a=g.node;if(null!==a){let b=new Map(m);b.set(E,a),w.set(c,b)}let b=g.route;x[c]=b;let d=g.dynamicRequestTree;null!==d?(z=!0,A[c]=d):A[c]=b}else x[c]=h,A[c]=h}if(null===y)return null;let B={lazyData:null,rsc:c.rsc,prefetchRsc:c.prefetchRsc,head:c.head,prefetchHead:c.prefetchHead,loading:c.loading,parallelRoutes:w,navigatedAt:b};return{route:l(h,x),node:B,dynamicRequestTree:z?l(h,A):null,children:y}}(a,b,c,g,!1,h,j,m,n,[],o)}function k(a,b,c,d,e,j,k,n,o,p){return!e&&(void 0===b||(0,g.isNavigatingToNewRootLayout)(b,c))?i:function a(b,c,d,e,g,i,j,k){let n,o,p,q,r=c[1],s=0===Object.keys(r).length;if(void 0!==d&&d.navigatedAt+h.DYNAMIC_STALETIME_MS>b)n=d.rsc,o=d.loading,p=d.head,q=d.navigatedAt;else if(null===e)return m(b,c,null,g,i,j,k);else if(n=e[1],o=e[3],p=s?g:null,q=b,e[4]||i&&s)return m(b,c,e,g,i,j,k);let t=null!==e?e[2]:null,u=new Map,v=void 0!==d?d.parallelRoutes:null,w=new Map(v),x={},y=!1;if(s)k.push(j);else for(let c in r){let d=r[c],e=null!==t?t[c]:null,h=null!==v?v.get(c):void 0,l=d[0],m=j.concat([c,l]),n=(0,f.createRouterCacheKey)(l),o=a(b,d,void 0!==h?h.get(n):void 0,e,g,i,m,k);u.set(c,o);let p=o.dynamicRequestTree;null!==p?(y=!0,x[c]=p):x[c]=d;let q=o.node;if(null!==q){let a=new Map;a.set(n,q),w.set(c,a)}}return{route:c,node:{lazyData:null,rsc:n,prefetchRsc:null,head:p,prefetchHead:null,loading:o,parallelRoutes:w,navigatedAt:q},dynamicRequestTree:y?l(c,x):null,children:u}}(a,c,d,j,k,n,o,p)}function l(a,b){let c=[a[0],b];return 2 in a&&(c[2]=a[2]),3 in a&&(c[3]=a[3]),4 in a&&(c[4]=a[4]),c}function m(a,b,c,d,e,g,h){let i=l(b,b[1]);return i[3]="refetch",{route:b,node:function a(b,c,d,e,g,h,i){let j=c[1],k=null!==d?d[2]:null,l=new Map;for(let c in j){let d=j[c],m=null!==k?k[c]:null,n=d[0],o=h.concat([c,n]),p=(0,f.createRouterCacheKey)(n),q=a(b,d,void 0===m?null:m,e,g,o,i),r=new Map;r.set(p,q),l.set(c,r)}let m=0===l.size;m&&i.push(h);let n=null!==d?d[1]:null,o=null!==d?d[3]:null;return{lazyData:null,parallelRoutes:l,prefetchRsc:void 0!==n?n:null,prefetchHead:m?e:[null,null],loading:void 0!==o?o:null,rsc:s(),head:m?s():null,navigatedAt:b}}(a,b,c,d,e,g,h),dynamicRequestTree:i,children:null}}function n(a,b){b.then(b=>{let{flightData:c}=b;if("string"!=typeof c){for(let b of c){let{segmentPath:c,tree:d,seedData:g,head:h}=b;g&&function(a,b,c,d,g){let h=a;for(let a=0;a<b.length;a+=2){let c=b[a],d=b[a+1],f=h.children;if(null!==f){let a=f.get(c);if(void 0!==a){let b=a.route[0];if((0,e.matchSegment)(d,b)){h=a;continue}}}return}!function a(b,c,d,g){if(null===b.dynamicRequestTree)return;let h=b.children,i=b.node;if(null===h){null!==i&&(function a(b,c,d,g,h){let i=c[1],j=d[1],k=g[2],l=b.parallelRoutes;for(let b in i){let c=i[b],d=j[b],g=k[b],m=l.get(b),n=c[0],o=(0,f.createRouterCacheKey)(n),q=void 0!==m?m.get(o):void 0;void 0!==q&&(void 0!==d&&(0,e.matchSegment)(n,d[0])&&null!=g?a(q,c,d,g,h):p(c,q,null))}let m=b.rsc,n=g[1];null===m?b.rsc=n:r(m)&&m.resolve(n);let o=b.head;r(o)&&o.resolve(h)}(i,b.route,c,d,g),b.dynamicRequestTree=null);return}let j=c[1],k=d[2];for(let b in c){let c=j[b],d=k[b],f=h.get(b);if(void 0!==f){let b=f.route[0];if((0,e.matchSegment)(c[0],b)&&null!=d)return a(f,c,d,g)}}}(h,c,d,g)}(a,c,d,g,h)}o(a,null)}},b=>{o(a,b)})}function o(a,b){let c=a.node;if(null===c)return;let d=a.children;if(null===d)p(a.route,c,b);else for(let a of d.values())o(a,b);a.dynamicRequestTree=null}function p(a,b,c){let d=a[1],e=b.parallelRoutes;for(let a in d){let b=d[a],g=e.get(a);if(void 0===g)continue;let h=b[0],i=(0,f.createRouterCacheKey)(h),j=g.get(i);void 0!==j&&p(b,j,c)}let g=b.rsc;r(g)&&(null===c?g.resolve(null):g.reject(c));let h=b.head;r(h)&&h.resolve(null)}let q=Symbol();function r(a){return a&&a.tag===q}function s(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return c.status="pending",c.resolve=b=>{"pending"===c.status&&(c.status="fulfilled",c.value=b,a(b))},c.reject=a=>{"pending"===c.status&&(c.status="rejected",c.reason=a,b(a))},c.tag=q,c}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},82787:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"findHeadInCache",{enumerable:!0,get:function(){return f}});let d=c(44859),e=c(82521);function f(a,b){return function a(b,c,f,g){if(0===Object.keys(c).length)return[b,f,g];let h=Object.keys(c).filter(a=>"children"!==a);for(let g of("children"in c&&h.unshift("children"),h)){let[h,i]=c[g];if(h===d.DEFAULT_SEGMENT_KEY)continue;let j=b.parallelRoutes.get(g);if(!j)continue;let k=(0,e.createRouterCacheKey)(h),l=(0,e.createRouterCacheKey)(h,!0),m=j.get(k);if(!m)continue;let n=a(m,i,f+"/"+k,f+"/"+l);if(n)return n}return null}(a,b,"","")}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},82853:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(67431);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},83328:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return f}});let d=c(41831),e=c(67431),f=a=>{if(!a.startsWith("/"))return a;let{pathname:b,query:c,hash:f}=(0,e.parsePath)(a);return""+(0,d.removeTrailingSlash)(b)+c+f};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},84254:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"hmrRefreshReducer",{enumerable:!0,get:function(){return d}}),c(94082),c(75497),c(24848),c(77692),c(15426),c(26613),c(11966),c(25918),c(13355),c(78592);let d=function(a,b){return a};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},84655:(a,b,c)=>{"use strict";c.d(b,{cn:()=>ap});var d=c(79390);let e=(a=new Map,b=null,c)=>({nextPart:a,validators:b,classGroupId:c}),f=[],g=(a,b,c)=>{if(0==a.length-b)return c.classGroupId;let d=a[b],e=c.nextPart.get(d);if(e){let c=g(a,b+1,e);if(c)return c}let f=c.validators;if(null===f)return;let h=0===b?a.join("-"):a.slice(b).join("-"),i=f.length;for(let a=0;a<i;a++){let b=f[a];if(b.validator(h))return b.classGroupId}},h=(a,b)=>{let c=e();for(let d in a)i(a[d],c,d,b);return c},i=(a,b,c,d)=>{let e=a.length;for(let f=0;f<e;f++)j(a[f],b,c,d)},j=(a,b,c,d)=>"string"==typeof a?void k(a,b,c):"function"==typeof a?void l(a,b,c,d):void m(a,b,c,d),k=(a,b,c)=>{(""===a?b:n(b,a)).classGroupId=c},l=(a,b,c,d)=>{if(o(a))return void i(a(d),b,c,d);null===b.validators&&(b.validators=[]),b.validators.push({classGroupId:c,validator:a})},m=(a,b,c,d)=>{let e=Object.entries(a),f=e.length;for(let a=0;a<f;a++){let[f,g]=e[a];i(g,n(b,f),c,d)}},n=(a,b)=>{let c=a,d=b.split("-"),f=d.length;for(let a=0;a<f;a++){let b=d[a],f=c.nextPart.get(b);f||(f=e(),c.nextPart.set(b,f)),c=f}return c},o=a=>"isThemeGetter"in a&&!0===a.isThemeGetter,p=[],q=(a,b,c,d,e)=>({modifiers:a,hasImportantModifier:b,baseClassName:c,maybePostfixModifierPosition:d,isExternal:e}),r=/\s+/,s=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=s(a[d]))&&(c&&(c+=" "),c+=b);return c},t=[],u=a=>{let b=b=>b[a]||t;return b.isThemeGetter=!0,b},v=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,w=/^\((?:(\w[\w-]*):)?(.+)\)$/i,x=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,y=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,z=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,A=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,B=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,C=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,D=a=>x.test(a),E=a=>!!a&&!Number.isNaN(Number(a)),F=a=>!!a&&Number.isInteger(Number(a)),G=a=>a.endsWith("%")&&E(a.slice(0,-1)),H=a=>y.test(a),I=()=>!0,J=a=>z.test(a)&&!A.test(a),K=()=>!1,L=a=>B.test(a),M=a=>C.test(a),N=a=>!Q(a)&&!Y(a),O=a=>a.startsWith("@container")&&("/"===a[10]&&void 0!==a[11]||"s"===a[11]&&void 0!==a[16]&&a.startsWith("-size/",10)||"n"===a[11]&&void 0!==a[18]&&a.startsWith("-normal/",10)),P=a=>ae(a,ai,K),Q=a=>v.test(a),R=a=>ae(a,aj,J),S=a=>ae(a,ak,E),T=a=>ae(a,am,I),U=a=>ae(a,al,K),V=a=>ae(a,ag,K),W=a=>ae(a,ah,M),X=a=>ae(a,an,L),Y=a=>w.test(a),Z=a=>af(a,aj),$=a=>af(a,al),_=a=>af(a,ag),aa=a=>af(a,ai),ab=a=>af(a,ah),ac=a=>af(a,an,!0),ad=a=>af(a,am,!0),ae=(a,b,c)=>{let d=v.exec(a);return!!d&&(d[1]?b(d[1]):c(d[2]))},af=(a,b,c=!1)=>{let d=w.exec(a);return!!d&&(d[1]?b(d[1]):c)},ag=a=>"position"===a||"percentage"===a,ah=a=>"image"===a||"url"===a,ai=a=>"length"===a||"size"===a||"bg-size"===a,aj=a=>"length"===a,ak=a=>"number"===a,al=a=>"family-name"===a,am=a=>"number"===a||"weight"===a,an=a=>"shadow"===a;Symbol.toStringTag;let ao=((a,...b)=>{let c,d,e,i,j=a=>{let b=d(a);if(b)return b;let f=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e,sortModifiers:f,postfixLookupClassGroupIds:g}=b,h=[],i=a.trim().split(r),j="";for(let a=i.length-1;a>=0;a-=1){let b,k=i[a],{isExternal:l,modifiers:m,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:p}=c(k);if(l){j=k+(j.length>0?" "+j:j);continue}let q=!!p;if(q){let a=(b=d(o.substring(0,p)))&&g[b]?d(o):void 0;a&&a!==b&&(b=a,q=!1)}else b=d(o);if(!b){if(!q||!(b=d(o))){j=k+(j.length>0?" "+j:j);continue}q=!1}let r=0===m.length?"":1===m.length?m[0]:f(m).join(":"),s=n?r+"!":r,t=s+b;if(h.indexOf(t)>-1)continue;h.push(t);let u=e(b,q);for(let a=0;a<u.length;++a){let b=u[a];h.push(s+b)}j=k+(j.length>0?" "+j:j)}return j})(a,c);return e(a,f),f};return i=k=>(d=(c=(a=>({cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=Object.create(null),d=Object.create(null),e=(e,f)=>{c[e]=f,++b>a&&(b=0,d=c,c=Object.create(null))};return{get(a){let b=c[a];return void 0!==b?b:void 0!==(b=d[a])?(e(a,b),b):void 0},set(a,b){a in c?c[a]=b:e(a,b)}}})(a.cacheSize),parseClassName:(a=>{let{prefix:b,experimentalParseClassName:c}=a,d=a=>{let b,c=[],d=0,e=0,f=0,g=a.length;for(let h=0;h<g;h++){let g=a[h];if(0===d&&0===e){if(":"===g){c.push(a.slice(f,h)),f=h+1;continue}if("/"===g){b=h;continue}}"["===g?d++:"]"===g?d--:"("===g?e++:")"===g&&e--}let h=0===c.length?a:a.slice(f),i=h,j=!1;return h.endsWith("!")?(i=h.slice(0,-1),j=!0):h.startsWith("!")&&(i=h.slice(1),j=!0),q(c,j,i,b&&b>f?b-f:void 0)};if(b){let a=b+":",c=d;d=b=>b.startsWith(a)?c(b.slice(a.length)):q(p,!1,b,void 0,!0)}if(c){let a=d;d=b=>c({className:b,parseClassName:a})}return d})(a),sortModifiers:(a=>{let b=new Map;return a.orderSensitiveModifiers.forEach((a,c)=>{b.set(a,1e6+c)}),a=>{let c=[],d=[];for(let e=0;e<a.length;e++){let f=a[e],g="["===f[0],h=b.has(f);g||h?(d.length>0&&(d.sort(),c.push(...d),d=[]),c.push(f)):d.push(f)}return d.length>0&&(d.sort(),c.push(...d)),c}})(a),postfixLookupClassGroupIds:(a=>{let b=Object.create(null),c=a.postfixLookupClassGroups;if(c)for(let a=0;a<c.length;a++)b[c[a]]=!0;return b})(a),...(a=>{let b=(a=>{let{theme:b,classGroups:c}=a;return h(c,b)})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:d}=a;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return(a=>-1===a.slice(1,-1).indexOf(":")?void 0:(()=>{let b=a.slice(1,-1),c=b.indexOf(":"),d=b.slice(0,c);return d?"arbitrary.."+d:void 0})())(a);let c=a.split("-"),d=+(""===c[0]&&c.length>1);return g(c,d,b)},getConflictingClassGroupIds:(a,b)=>{if(b){let b=d[a],e=c[a];return b?e?((a,b)=>{let c=Array(a.length+b.length);for(let b=0;b<a.length;b++)c[b]=a[b];for(let d=0;d<b.length;d++)c[a.length+d]=b[d];return c})(e,b):b:e||f}return c[a]||f}}})(a)}))(b.reduce((a,b)=>b(a),a()))).cache.get,e=c.cache.set,i=j,j(k)),(...a)=>i(((...a)=>{let b,c,d=0,e="";for(;d<a.length;)(b=a[d++])&&(c=s(b))&&(e&&(e+=" "),e+=c);return e})(...a))})(()=>{let a=u("color"),b=u("font"),c=u("text"),d=u("font-weight"),e=u("tracking"),f=u("leading"),g=u("breakpoint"),h=u("container"),i=u("spacing"),j=u("radius"),k=u("shadow"),l=u("inset-shadow"),m=u("text-shadow"),n=u("drop-shadow"),o=u("blur"),p=u("perspective"),q=u("aspect"),r=u("ease"),s=u("animate"),t=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...v(),Y,Q],x=()=>["auto","hidden","clip","visible","scroll"],y=()=>["auto","contain","none"],z=()=>[Y,Q,i],A=()=>[D,"full","auto",...z()],B=()=>[F,"none","subgrid",Y,Q],C=()=>["auto",{span:["full",F,Y,Q]},F,Y,Q],J=()=>[F,"auto",Y,Q],K=()=>["auto","min","max","fr",Y,Q],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],ae=()=>["auto",...z()],af=()=>[D,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...z()],ag=()=>[D,"screen","full","dvw","lvw","svw","min","max","fit",...z()],ah=()=>[D,"screen","full","lh","dvh","lvh","svh","min","max","fit",...z()],ai=()=>[a,Y,Q],aj=()=>[...v(),_,V,{position:[Y,Q]}],ak=()=>["no-repeat",{repeat:["","x","y","space","round"]}],al=()=>["auto","cover","contain",aa,P,{size:[Y,Q]}],am=()=>[G,Z,R],an=()=>["","none","full",j,Y,Q],ao=()=>["",E,Z,R],ap=()=>["solid","dashed","dotted","double"],aq=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ar=()=>[E,G,_,V],as=()=>["","none",o,Y,Q],at=()=>["none",E,Y,Q],au=()=>["none",E,Y,Q],av=()=>[E,Y,Q],aw=()=>[D,"full",...z()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[H],breakpoint:[H],color:[I],container:[H],"drop-shadow":[H],ease:["in","out","in-out"],font:[N],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[H],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[H],shadow:[H],spacing:["px",E],text:[H],"text-shadow":[H],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",D,Q,Y,q]}],container:["container"],"container-type":[{"@container":["","normal","size",Y,Q]}],"container-named":[O],columns:[{columns:[E,Q,Y,h]}],"break-after":[{"break-after":t()}],"break-before":[{"break-before":t()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:y()}],"overscroll-x":[{"overscroll-x":y()}],"overscroll-y":[{"overscroll-y":y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[F,"auto",Y,Q]}],basis:[{basis:[D,"full","auto",h,...z()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[E,D,"auto","initial","none",Q]}],grow:[{grow:["",E,Y,Q]}],shrink:[{shrink:["",E,Y,Q]}],order:[{order:[F,"first","last","none",Y,Q]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":K()}],"auto-rows":[{"auto-rows":K()}],gap:[{gap:z()}],"gap-x":[{"gap-x":z()}],"gap-y":[{"gap-y":z()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:z()}],px:[{px:z()}],py:[{py:z()}],ps:[{ps:z()}],pe:[{pe:z()}],pbs:[{pbs:z()}],pbe:[{pbe:z()}],pt:[{pt:z()}],pr:[{pr:z()}],pb:[{pb:z()}],pl:[{pl:z()}],m:[{m:ae()}],mx:[{mx:ae()}],my:[{my:ae()}],ms:[{ms:ae()}],me:[{me:ae()}],mbs:[{mbs:ae()}],mbe:[{mbe:ae()}],mt:[{mt:ae()}],mr:[{mr:ae()}],mb:[{mb:ae()}],ml:[{ml:ae()}],"space-x":[{"space-x":z()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":z()}],"space-y-reverse":["space-y-reverse"],size:[{size:af()}],"inline-size":[{inline:["auto",...ag()]}],"min-inline-size":[{"min-inline":["auto",...ag()]}],"max-inline-size":[{"max-inline":["none",...ag()]}],"block-size":[{block:["auto",...ah()]}],"min-block-size":[{"min-block":["auto",...ah()]}],"max-block-size":[{"max-block":["none",...ah()]}],w:[{w:[h,"screen",...af()]}],"min-w":[{"min-w":[h,"screen","none",...af()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[g]},...af()]}],h:[{h:["screen","lh",...af()]}],"min-h":[{"min-h":["screen","lh","none",...af()]}],"max-h":[{"max-h":["screen","lh",...af()]}],"font-size":[{text:["base",c,Z,R]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[d,ad,T]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",G,Q]}],"font-family":[{font:[$,U,b]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[e,Y,Q]}],"line-clamp":[{"line-clamp":[E,"none",Y,S]}],leading:[{leading:[f,...z()]}],"list-image":[{"list-image":["none",Y,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Y,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ai()}],"text-color":[{text:ai()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ap(),"wavy"]}],"text-decoration-thickness":[{decoration:[E,"from-font","auto",Y,R]}],"text-decoration-color":[{decoration:ai()}],"underline-offset":[{"underline-offset":[E,"auto",Y,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"tab-size":[{tab:[F,Y,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Y,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Y,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:aj()}],"bg-repeat":[{bg:ak()}],"bg-size":[{bg:al()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},F,Y,Q],radial:["",Y,Q],conic:[F,Y,Q]},ab,W]}],"bg-color":[{bg:ai()}],"gradient-from-pos":[{from:am()}],"gradient-via-pos":[{via:am()}],"gradient-to-pos":[{to:am()}],"gradient-from":[{from:ai()}],"gradient-via":[{via:ai()}],"gradient-to":[{to:ai()}],rounded:[{rounded:an()}],"rounded-s":[{"rounded-s":an()}],"rounded-e":[{"rounded-e":an()}],"rounded-t":[{"rounded-t":an()}],"rounded-r":[{"rounded-r":an()}],"rounded-b":[{"rounded-b":an()}],"rounded-l":[{"rounded-l":an()}],"rounded-ss":[{"rounded-ss":an()}],"rounded-se":[{"rounded-se":an()}],"rounded-ee":[{"rounded-ee":an()}],"rounded-es":[{"rounded-es":an()}],"rounded-tl":[{"rounded-tl":an()}],"rounded-tr":[{"rounded-tr":an()}],"rounded-br":[{"rounded-br":an()}],"rounded-bl":[{"rounded-bl":an()}],"border-w":[{border:ao()}],"border-w-x":[{"border-x":ao()}],"border-w-y":[{"border-y":ao()}],"border-w-s":[{"border-s":ao()}],"border-w-e":[{"border-e":ao()}],"border-w-bs":[{"border-bs":ao()}],"border-w-be":[{"border-be":ao()}],"border-w-t":[{"border-t":ao()}],"border-w-r":[{"border-r":ao()}],"border-w-b":[{"border-b":ao()}],"border-w-l":[{"border-l":ao()}],"divide-x":[{"divide-x":ao()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ao()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ap(),"hidden","none"]}],"divide-style":[{divide:[...ap(),"hidden","none"]}],"border-color":[{border:ai()}],"border-color-x":[{"border-x":ai()}],"border-color-y":[{"border-y":ai()}],"border-color-s":[{"border-s":ai()}],"border-color-e":[{"border-e":ai()}],"border-color-bs":[{"border-bs":ai()}],"border-color-be":[{"border-be":ai()}],"border-color-t":[{"border-t":ai()}],"border-color-r":[{"border-r":ai()}],"border-color-b":[{"border-b":ai()}],"border-color-l":[{"border-l":ai()}],"divide-color":[{divide:ai()}],"outline-style":[{outline:[...ap(),"none","hidden"]}],"outline-offset":[{"outline-offset":[E,Y,Q]}],"outline-w":[{outline:["",E,Z,R]}],"outline-color":[{outline:ai()}],shadow:[{shadow:["","none",k,ac,X]}],"shadow-color":[{shadow:ai()}],"inset-shadow":[{"inset-shadow":["none",l,ac,X]}],"inset-shadow-color":[{"inset-shadow":ai()}],"ring-w":[{ring:ao()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ai()}],"ring-offset-w":[{"ring-offset":[E,R]}],"ring-offset-color":[{"ring-offset":ai()}],"inset-ring-w":[{"inset-ring":ao()}],"inset-ring-color":[{"inset-ring":ai()}],"text-shadow":[{"text-shadow":["none",m,ac,X]}],"text-shadow-color":[{"text-shadow":ai()}],opacity:[{opacity:[E,Y,Q]}],"mix-blend":[{"mix-blend":[...aq(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":aq()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[E]}],"mask-image-linear-from-pos":[{"mask-linear-from":ar()}],"mask-image-linear-to-pos":[{"mask-linear-to":ar()}],"mask-image-linear-from-color":[{"mask-linear-from":ai()}],"mask-image-linear-to-color":[{"mask-linear-to":ai()}],"mask-image-t-from-pos":[{"mask-t-from":ar()}],"mask-image-t-to-pos":[{"mask-t-to":ar()}],"mask-image-t-from-color":[{"mask-t-from":ai()}],"mask-image-t-to-color":[{"mask-t-to":ai()}],"mask-image-r-from-pos":[{"mask-r-from":ar()}],"mask-image-r-to-pos":[{"mask-r-to":ar()}],"mask-image-r-from-color":[{"mask-r-from":ai()}],"mask-image-r-to-color":[{"mask-r-to":ai()}],"mask-image-b-from-pos":[{"mask-b-from":ar()}],"mask-image-b-to-pos":[{"mask-b-to":ar()}],"mask-image-b-from-color":[{"mask-b-from":ai()}],"mask-image-b-to-color":[{"mask-b-to":ai()}],"mask-image-l-from-pos":[{"mask-l-from":ar()}],"mask-image-l-to-pos":[{"mask-l-to":ar()}],"mask-image-l-from-color":[{"mask-l-from":ai()}],"mask-image-l-to-color":[{"mask-l-to":ai()}],"mask-image-x-from-pos":[{"mask-x-from":ar()}],"mask-image-x-to-pos":[{"mask-x-to":ar()}],"mask-image-x-from-color":[{"mask-x-from":ai()}],"mask-image-x-to-color":[{"mask-x-to":ai()}],"mask-image-y-from-pos":[{"mask-y-from":ar()}],"mask-image-y-to-pos":[{"mask-y-to":ar()}],"mask-image-y-from-color":[{"mask-y-from":ai()}],"mask-image-y-to-color":[{"mask-y-to":ai()}],"mask-image-radial":[{"mask-radial":[Y,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":ar()}],"mask-image-radial-to-pos":[{"mask-radial-to":ar()}],"mask-image-radial-from-color":[{"mask-radial-from":ai()}],"mask-image-radial-to-color":[{"mask-radial-to":ai()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[E]}],"mask-image-conic-from-pos":[{"mask-conic-from":ar()}],"mask-image-conic-to-pos":[{"mask-conic-to":ar()}],"mask-image-conic-from-color":[{"mask-conic-from":ai()}],"mask-image-conic-to-color":[{"mask-conic-to":ai()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:aj()}],"mask-repeat":[{mask:ak()}],"mask-size":[{mask:al()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Y,Q]}],filter:[{filter:["","none",Y,Q]}],blur:[{blur:as()}],brightness:[{brightness:[E,Y,Q]}],contrast:[{contrast:[E,Y,Q]}],"drop-shadow":[{"drop-shadow":["","none",n,ac,X]}],"drop-shadow-color":[{"drop-shadow":ai()}],grayscale:[{grayscale:["",E,Y,Q]}],"hue-rotate":[{"hue-rotate":[E,Y,Q]}],invert:[{invert:["",E,Y,Q]}],saturate:[{saturate:[E,Y,Q]}],sepia:[{sepia:["",E,Y,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",Y,Q]}],"backdrop-blur":[{"backdrop-blur":as()}],"backdrop-brightness":[{"backdrop-brightness":[E,Y,Q]}],"backdrop-contrast":[{"backdrop-contrast":[E,Y,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",E,Y,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[E,Y,Q]}],"backdrop-invert":[{"backdrop-invert":["",E,Y,Q]}],"backdrop-opacity":[{"backdrop-opacity":[E,Y,Q]}],"backdrop-saturate":[{"backdrop-saturate":[E,Y,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",E,Y,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":z()}],"border-spacing-x":[{"border-spacing-x":z()}],"border-spacing-y":[{"border-spacing-y":z()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Y,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[E,"initial",Y,Q]}],ease:[{ease:["linear","initial",r,Y,Q]}],delay:[{delay:[E,Y,Q]}],animate:[{animate:["none",s,Y,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,Y,Q]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:at()}],"rotate-x":[{"rotate-x":at()}],"rotate-y":[{"rotate-y":at()}],"rotate-z":[{"rotate-z":at()}],scale:[{scale:au()}],"scale-x":[{"scale-x":au()}],"scale-y":[{"scale-y":au()}],"scale-z":[{"scale-z":au()}],"scale-3d":["scale-3d"],skew:[{skew:av()}],"skew-x":[{"skew-x":av()}],"skew-y":[{"skew-y":av()}],transform:[{transform:[Y,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:aw()}],"translate-x":[{"translate-x":aw()}],"translate-y":[{"translate-y":aw()}],"translate-z":[{"translate-z":aw()}],"translate-none":["translate-none"],zoom:[{zoom:[F,Y,Q]}],accent:[{accent:ai()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ai()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Y,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ai()}],"scrollbar-track-color":[{"scrollbar-track":ai()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mbs":[{"scroll-mbs":z()}],"scroll-mbe":[{"scroll-mbe":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pbs":[{"scroll-pbs":z()}],"scroll-pbe":[{"scroll-pbe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Y,Q]}],fill:[{fill:["none",...ai()]}],"stroke-w":[{stroke:[E,Z,R,S]}],stroke:[{stroke:["none",...ai()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ap(...a){return ao((0,d.$)(a))}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86556:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"refreshReducer",{enumerable:!0,get:function(){return o}});let d=c(94082),e=c(75497),f=c(24848),g=c(77692),h=c(15426),i=c(26613),j=c(63102),k=c(25918),l=c(13355),m=c(78592),n=c(18226);function o(a,b){let{origin:c}=b,o={},p=a.canonicalUrl,q=a.tree;o.preserveCustomHistoryState=!1;let r=(0,k.createEmptyCacheNode)(),s=(0,m.hasInterceptionRouteInCurrentTree)(a.tree);r.lazyData=(0,d.fetchServerResponse)(new URL(p,c),{flightRouterState:[q[0],q[1],q[2],"refetch"],nextUrl:s?a.nextUrl:null});let t=Date.now();return r.lazyData.then(async c=>{let{flightData:d,canonicalUrl:k}=c;if("string"==typeof d)return(0,h.handleExternalUrl)(a,o,d,a.pushRef.pendingPush);for(let c of(r.lazyData=null,d)){let{tree:d,seedData:i,head:m,isRootRender:u}=c;if(!u)return console.log("REFRESH FAILED"),a;let v=(0,f.applyRouterStatePatchToTree)([""],q,d,a.canonicalUrl);if(null===v)return(0,l.handleSegmentMismatch)(a,b,d);if((0,g.isNavigatingToNewRootLayout)(q,v))return(0,h.handleExternalUrl)(a,o,p,a.pushRef.pendingPush);let w=k?(0,e.createHrefFromUrl)(k):void 0;if(k&&(o.canonicalUrl=w),null!==i){let a=i[1],b=i[3];r.rsc=a,r.prefetchRsc=null,r.loading=b,(0,j.fillLazyItemsTillLeafWithHead)(t,r,void 0,d,i,m,void 0),o.prefetchCache=new Map}await (0,n.refreshInactiveParallelSegments)({navigatedAt:t,state:a,updatedTree:v,updatedCache:r,includeNextUrl:s,canonicalUrl:o.canonicalUrl||a.canonicalUrl}),o.cache=r,o.patchedTree=v,q=v}return(0,i.handleMutable)(a,o)},()=>a)}c(68459),("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},94496:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return q},useLinkStatus:function(){return s}});let d=c(86274),e=c(78157),f=d._(c(31768)),g=c(71281),h=c(9344),i=c(79268),j=c(53387),k=c(61725);c(99026);let l=c(37384),m=c(29056),n=c(99500);c(98762);let o=c(68459);function p(a){return"string"==typeof a?a:(0,g.formatUrl)(a)}function q(a){var b;let c,d,g,[q,s]=(0,f.useOptimistic)(l.IDLE_LINK_STATUS),t=(0,f.useRef)(null),{href:u,as:v,children:w,prefetch:x=null,passHref:y,replace:z,shallow:A,scroll:B,onClick:C,onMouseEnter:D,onTouchStart:E,legacyBehavior:F=!1,onNavigate:G,ref:H,unstable_dynamicOnHover:I,...J}=a;c=w,F&&("string"==typeof c||"number"==typeof c)&&(c=(0,e.jsx)("a",{children:c}));let K=f.default.useContext(h.AppRouterContext),L=!1!==x,M=!1!==x?null===(b=x)||"auto"===b?o.FetchStrategy.PPR:o.FetchStrategy.Full:o.FetchStrategy.PPR,{href:N,as:O}=f.default.useMemo(()=>{let a=p(u);return{href:a,as:v?p(v):a}},[u,v]);F&&(d=f.default.Children.only(c));let P=F?d&&"object"==typeof d&&d.ref:H,Q=f.default.useCallback(a=>(null!==K&&(t.current=(0,l.mountLinkInstance)(a,N,K,M,L,s)),()=>{t.current&&((0,l.unmountLinkForCurrentNavigation)(t.current),t.current=null),(0,l.unmountPrefetchableInstance)(a)}),[L,N,K,M,s]),R={ref:(0,i.useMergedRef)(Q,P),onClick(a){F||"function"!=typeof C||C(a),F&&d.props&&"function"==typeof d.props.onClick&&d.props.onClick(a),K&&(a.defaultPrevented||function(a,b,c,d,e,g,h){let{nodeName:i}=a.currentTarget;if(!("A"===i.toUpperCase()&&function(a){let b=a.currentTarget.getAttribute("target");return b&&"_self"!==b||a.metaKey||a.ctrlKey||a.shiftKey||a.altKey||a.nativeEvent&&2===a.nativeEvent.which}(a)||a.currentTarget.hasAttribute("download"))){if(!(0,m.isLocalURL)(b)){e&&(a.preventDefault(),location.replace(b));return}if(a.preventDefault(),h){let a=!1;if(h({preventDefault:()=>{a=!0}}),a)return}f.default.startTransition(()=>{(0,n.dispatchNavigateAction)(c||b,e?"replace":"push",null==g||g,d.current)})}}(a,N,O,t,z,B,G))},onMouseEnter(a){F||"function"!=typeof D||D(a),F&&d.props&&"function"==typeof d.props.onMouseEnter&&d.props.onMouseEnter(a),K&&L&&(0,l.onNavigationIntent)(a.currentTarget,!0===I)},onTouchStart:function(a){F||"function"!=typeof E||E(a),F&&d.props&&"function"==typeof d.props.onTouchStart&&d.props.onTouchStart(a),K&&L&&(0,l.onNavigationIntent)(a.currentTarget,!0===I)}};return(0,j.isAbsoluteUrl)(O)?R.href=O:F&&!y&&("a"!==d.type||"href"in d.props)||(R.href=(0,k.addBasePath)(O)),g=F?f.default.cloneElement(d,R):(0,e.jsx)("a",{...J,...R,children:c}),(0,e.jsx)(r.Provider,{value:q,children:g})}let r=(0,f.createContext)(l.IDLE_LINK_STATUS),s=()=>(0,f.useContext)(r);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},94650:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"hasBasePath",{enumerable:!0,get:function(){return e}});let d=c(82853);function e(a){return(0,d.pathHasPrefix)(a,"")}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},98762:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"errorOnce",{enumerable:!0,get:function(){return c}});let c=a=>{}},98944:()=>{},99500:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{createMutableActionQueue:function(){return o},dispatchNavigateAction:function(){return q},dispatchTraverseAction:function(){return r},getCurrentAppRouterState:function(){return p},publicAppRouterInstance:function(){return s}});let d=c(13136),e=c(25248),f=c(31768),g=c(39370);c(68459);let h=c(46259),i=c(61725),j=c(25918),k=c(37446),l=c(37384);function m(a,b){null!==a.pending&&(a.pending=a.pending.next,null!==a.pending?n({actionQueue:a,action:a.pending,setState:b}):a.needsRefresh&&(a.needsRefresh=!1,a.dispatch({type:d.ACTION_REFRESH,origin:window.location.origin},b)))}async function n(a){let{actionQueue:b,action:c,setState:d}=a,e=b.state;b.pending=c;let f=c.payload,h=b.action(e,f);function i(a){c.discarded||(b.state=a,m(b,d),c.resolve(a))}(0,g.isThenable)(h)?h.then(i,a=>{m(b,d),c.reject(a)}):i(h)}function o(a,b){let c={state:a,dispatch:(a,b)=>(function(a,b,c){let e={resolve:c,reject:()=>{}};if(b.type!==d.ACTION_RESTORE){let a=new Promise((a,b)=>{e={resolve:a,reject:b}});(0,f.startTransition)(()=>{c(a)})}let g={payload:b,next:null,resolve:e.resolve,reject:e.reject};null===a.pending?(a.last=g,n({actionQueue:a,action:g,setState:c})):b.type===d.ACTION_NAVIGATE||b.type===d.ACTION_RESTORE?(a.pending.discarded=!0,g.next=a.pending.next,a.pending.payload.type===d.ACTION_SERVER_ACTION&&(a.needsRefresh=!0),n({actionQueue:a,action:g,setState:c})):(null!==a.last&&(a.last.next=g),a.last=g)})(c,a,b),action:async(a,b)=>(0,e.reducer)(a,b),pending:null,last:null,onRouterTransitionStart:null!==b&&"function"==typeof b.onRouterTransitionStart?b.onRouterTransitionStart:null};return c}function p(){return null}function q(a,b,c,e){let f=new URL((0,i.addBasePath)(a),location.href);(0,l.setLinkForCurrentNavigation)(e);(0,h.dispatchAppRouterAction)({type:d.ACTION_NAVIGATE,url:f,isExternalUrl:(0,j.isExternalURL)(f),locationSearch:location.search,shouldScroll:c,navigateType:b,allowAliasing:!0})}function r(a,b){(0,h.dispatchAppRouterAction)({type:d.ACTION_RESTORE,url:new URL(a),tree:b})}let s={back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(a,b)=>{let c=function(){throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0})}(),e=(0,j.createPrefetchURL)(a);if(null!==e){var f;(0,k.prefetchReducer)(c.state,{type:d.ACTION_PREFETCH,url:e,kind:null!=(f=null==b?void 0:b.kind)?f:d.PrefetchKind.FULL})}},replace:(a,b)=>{(0,f.startTransition)(()=>{var c;q(a,"replace",null==(c=null==b?void 0:b.scroll)||c,null)})},push:(a,b)=>{(0,f.startTransition)(()=>{var c;q(a,"push",null==(c=null==b?void 0:b.scroll)||c,null)})},refresh:()=>{(0,f.startTransition)(()=>{(0,h.dispatchAppRouterAction)({type:d.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Object.defineProperty(Error("hmrRefresh can only be used in development mode. Please use refresh instead."),"__NEXT_ERROR_CODE",{value:"E485",enumerable:!1,configurable:!0})}};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[901,200,900,332,477,585,647],()=>b(b.s=22772));module.exports=c})();
|