@cursor/july 0.1.111 → 0.1.113
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 +4 -0
- package/dist/bin/agent-serve.js +20 -4
- package/dist/channels/checks.d.ts +10 -0
- package/dist/channels/checks.d.ts.map +1 -1
- package/dist/channels/github/github-channel.d.ts +29 -19
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +29 -19
- package/dist/channels/origin/checks.d.ts +1 -1
- package/dist/channels/origin/checks.d.ts.map +1 -1
- package/dist/channels/slack/agentic-delivery.d.ts.map +1 -1
- package/dist/channels/slack/agentic-delivery.js +2 -0
- package/dist/channels/slack/dispatch.d.ts +11 -1
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +146 -39
- package/dist/channels/slack/placeholder.d.ts +26 -0
- package/dist/channels/slack/placeholder.d.ts.map +1 -1
- package/dist/channels/slack/placeholder.js +28 -0
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +9 -16
- package/dist/docs/404.html +2 -2
- package/dist/docs/assets/{app.Drol6mi6.js → app.CAeK13eM.js} +4 -4
- package/dist/docs/assets/building-with-agents.md.BBCx0AUo.js +9 -0
- package/dist/docs/assets/building-with-agents.md.BBCx0AUo.lean.js +1 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.Ck9E52Ls.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.CdqoBZJX.js → VPLocalSearchBox.C9LbPHod.js} +1 -1
- package/dist/docs/assets/chunks/{arc.BVX3ycTn.js → arc.CmMq2zmS.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.CcChnMxX.js → architectureDiagram-Q4EWVU46.CCXB8Uj5.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.xwtXO-yt.js → baseUniq.CyQo6eLe.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.CijZ_taK.js → blockDiagram-DXYQGD6D.JYq6w91N.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.0FBvwBvK.js → c4Diagram-AHTNJAMY.BRV8GPJJ.js} +1 -1
- package/dist/docs/assets/chunks/channel.BHiYmnZ4.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CELMmMDA.js → chunk-4BX2VUAB.Bv4ooYQR.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.C4bhFtSm.js → chunk-4TB4RGXK.t4JtKPcj.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.ZnQ9gRRQ.js → chunk-55IACEB6.34lCHj9Y.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.DPlmglG-.js → chunk-EDXVE4YY.BSwrPNrt.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.BrUk8pff.js → chunk-FMBD7UC4.Beeun-R-.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.CcmWIncu.js → chunk-OYMX7WX6.BUUFUcJc.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.D65-cs8I.js → chunk-QZHKN3VN.B2XjHzN_.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.qoXZpG9F.js → chunk-YZCP3GAM.CLYG8znk.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Degh8l90.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Degh8l90.js +1 -0
- package/dist/docs/assets/chunks/clone.BIywbczV.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.8rYtqudO.js → cose-bilkent-S5V4N54A.DVEa6fZp.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.DrRP1fOh.js → dagre-KV5264BT.C9PZQK-S.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.DHj_xA2_.js → diagram-5BDNPKRD.DoN0uv3Y.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.Bz_6nAKj.js → diagram-G4DWMVQ6.Czv3duqx.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.BWA0xSW9.js → diagram-MMDJMWI5.BinJ5kWb.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.CpTJLNJI.js → diagram-TYMM5635.DW326M4K.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.-7AWWSrP.js → erDiagram-SMLLAGMA.U2pR_OA7.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.BTnQ742_.js → flowDiagram-DWJPFMVM.ByWJXeYK.js} +1 -1
- package/dist/docs/assets/chunks/framework.BNw1pucY.js +19 -0
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.B5_HiiQ5.js → ganttDiagram-T4ZO3ILL.OquF0Rtg.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CZcNTFZd.js → gitGraphDiagram-UUTBAWPF.Bpn01P7X.js} +1 -1
- package/dist/docs/assets/chunks/{graph.V2GLaab4.js → graph.CNRB6ETL.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.7pZOkCCU.js → infoDiagram-42DDH7IO.CqhknMWi.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.DSMo3Qa3.js → ishikawaDiagram-UXIWVN3A.C6xpR2af.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.BNEgWN1S.js → journeyDiagram-VCZTEJTY.Cg5f7oB3.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.B-4d4tC7.js → kanban-definition-6JOO6SKY.Cx9YTwlU.js} +1 -1
- package/dist/docs/assets/chunks/{layout.Dvbn9nSb.js → layout.ljS-wFtK.js} +1 -1
- package/dist/docs/assets/chunks/{linear.D2GM4p4b.js → linear.jSxNrsFC.js} +1 -1
- package/dist/docs/assets/chunks/{min.DVBtLK-B.js → min.Cum8AlQw.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.CnJRI55x.js → mindmap-definition-QFDTVHPH.BLiysLpe.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.CtoaTFlA.js → pieDiagram-DEJITSTG.BoIDyuKF.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DtT24_vN.js → quadrantDiagram-34T5L4WZ.DLkpDytR.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.CjSO4o8f.js → requirementDiagram-MS252O5E.DqTVqSu2.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.-wWiIVWa.js → sankeyDiagram-XADWPNL6.CG_6FF7j.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.DSk8s4gX.js → sequenceDiagram-FGHM5R23.BIp9602K.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.BFKAsdkN.js → stateDiagram-FHFEXIEX.COSXsD9I.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.qrxrbFsX.js +1 -0
- package/dist/docs/assets/chunks/{theme.C0MctGaz.js → theme.CXJ7PNwy.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.TUNJbAFe.js → timeline-definition-GMOUNBTQ.CXdVqkLq.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.C-RGNnk4.js → vennDiagram-DHZGUBPP.CZxGuc4r.js} +1 -1
- package/dist/docs/assets/chunks/{wardley-RL74JXVD.g5efOWmT.js → wardley-RL74JXVD.3oVgfqQk.js} +1 -1
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.DH4zt73Y.js → wardleyDiagram-NUSXRM2D.6_irCgGJ.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.B-3k6bF6.js → xychartDiagram-5P7HB3ND.TRPe92m3.js} +1 -1
- package/dist/docs/assets/deployment.md.D2jQZuFx.js +32 -0
- package/dist/docs/assets/deployment.md.D2jQZuFx.lean.js +1 -0
- package/dist/docs/assets/evals.md.D3Y3Aixt.js +72 -0
- package/dist/docs/assets/evals.md.D3Y3Aixt.lean.js +1 -0
- package/dist/docs/assets/guides_agent-to-agent.md.CD4T5FIl.js +41 -0
- package/dist/docs/assets/guides_agent-to-agent.md.CD4T5FIl.lean.js +1 -0
- package/dist/docs/assets/guides_bitbucket.md.mpevW-VP.js +145 -0
- package/dist/docs/assets/guides_bitbucket.md.mpevW-VP.lean.js +1 -0
- package/dist/docs/assets/guides_cloud-agents.md.Cp1O3u-X.js +15 -0
- package/dist/docs/assets/guides_cloud-agents.md.Cp1O3u-X.lean.js +1 -0
- package/dist/docs/assets/guides_convert-automation.md.CqEyfP6Y.js +43 -0
- package/dist/docs/assets/guides_convert-automation.md.CqEyfP6Y.lean.js +1 -0
- package/dist/docs/assets/guides_github.md.BwpBp3ed.js +156 -0
- package/dist/docs/assets/guides_github.md.BwpBp3ed.lean.js +1 -0
- package/dist/docs/assets/guides_gitlab.md.DaEC3nMk.js +153 -0
- package/dist/docs/assets/guides_gitlab.md.DaEC3nMk.lean.js +1 -0
- package/dist/docs/assets/guides_grokbot-agents.md.CMhZNdEU.js +16 -0
- package/dist/docs/assets/guides_grokbot-agents.md.CMhZNdEU.lean.js +1 -0
- package/dist/docs/assets/guides_improve.md.Bnp4F99w.js +22 -0
- package/dist/docs/assets/guides_improve.md.Bnp4F99w.lean.js +1 -0
- package/dist/docs/assets/guides_jev.md.F5fAkkfN.js +189 -0
- package/dist/docs/assets/guides_jev.md.F5fAkkfN.lean.js +1 -0
- package/dist/docs/assets/guides_mcp-oauth.md.bSFakfCY.js +50 -0
- package/dist/docs/assets/guides_mcp-oauth.md.bSFakfCY.lean.js +1 -0
- package/dist/docs/assets/guides_opentelemetry.md.BKDxQmmd.js +35 -0
- package/dist/docs/assets/guides_opentelemetry.md.BKDxQmmd.lean.js +1 -0
- package/dist/docs/assets/guides_slack.md.Bo96y42E.js +70 -0
- package/dist/docs/assets/guides_slack.md.Bo96y42E.lean.js +1 -0
- package/dist/docs/assets/guides_webhooks.md.1A72_VEE.js +92 -0
- package/dist/docs/assets/guides_webhooks.md.1A72_VEE.lean.js +1 -0
- package/dist/docs/assets/hillclimbing.md.D4E1o5Sa.js +7 -0
- package/dist/docs/assets/hillclimbing.md.D4E1o5Sa.lean.js +1 -0
- package/dist/docs/assets/{index.md.BFVyY2KT.js → index.md.C-t81M5J.js} +2 -2
- package/dist/docs/assets/{index.md.BFVyY2KT.lean.js → index.md.C-t81M5J.lean.js} +1 -1
- package/dist/docs/assets/{quickstart.md.D3MjSZN-.js → quickstart.md.DAvVhuuU.js} +1 -1
- package/dist/docs/assets/{quickstart.md.D3MjSZN-.lean.js → quickstart.md.DAvVhuuU.lean.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.CfVA-LZJ.js → reference_agent-config.md.DGPyw7ms.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.CfVA-LZJ.lean.js → reference_agent-config.md.DGPyw7ms.lean.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Vf7qyIZ-.js → reference_artifacts.md.Bu_4HmsD.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Vf7qyIZ-.lean.js → reference_artifacts.md.Bu_4HmsD.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.icqLKcTc.js → reference_channels.md.nFWbzAic.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.icqLKcTc.lean.js → reference_channels.md.nFWbzAic.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.B2dBL6L8.js → reference_cli.md.DLWDz9ij.js} +3 -1
- package/dist/docs/assets/{reference_cli.md.B2dBL6L8.lean.js → reference_cli.md.DLWDz9ij.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.Cb3U_c8n.js → reference_connections.md.Je9dMsdd.js} +2 -2
- package/dist/docs/assets/{reference_connections.md.Cb3U_c8n.lean.js → reference_connections.md.Je9dMsdd.lean.js} +1 -1
- package/dist/docs/assets/reference_evals.md.DNJzM_yf.js +57 -0
- package/dist/docs/assets/reference_evals.md.DNJzM_yf.lean.js +1 -0
- package/dist/docs/assets/reference_extensions.md.Cv5aLCz_.js +58 -0
- package/dist/docs/assets/reference_extensions.md.Cv5aLCz_.lean.js +1 -0
- package/dist/docs/assets/{reference_hooks.md.CZuynAxj.js → reference_hooks.md.B7uzNENk.js} +2 -2
- package/dist/docs/assets/{reference_hooks.md.CZuynAxj.lean.js → reference_hooks.md.B7uzNENk.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.DTKcYE6L.js → reference_http-api.md.CduHavZ2.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.DTKcYE6L.lean.js → reference_http-api.md.CduHavZ2.lean.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.D7gkckK-.js → reference_instructions.md.CU1My5My.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.D7gkckK-.lean.js → reference_instructions.md.CU1My5My.lean.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.D2YExv5K.js → reference_playground.md.Ch2d0Iqi.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.D2YExv5K.lean.js → reference_playground.md.Ch2d0Iqi.lean.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.DPxbUJyt.js → reference_project-layout.md.BGhgpy9V.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.DPxbUJyt.lean.js → reference_project-layout.md.BGhgpy9V.lean.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.BQ5uAv1F.js → reference_prompt.md.Ccp0R53H.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.BQ5uAv1F.lean.js → reference_prompt.md.Ccp0R53H.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.BasfZWO-.js → reference_schedules.md.B2Nm6FaD.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.BasfZWO-.lean.js → reference_schedules.md.B2Nm6FaD.lean.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.YKvIsWAx.js → reference_sessions.md.1_6Vyv7x.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.YKvIsWAx.lean.js → reference_sessions.md.1_6Vyv7x.lean.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.rNgpsGd0.js → reference_skills.md.DjQkRefx.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.rNgpsGd0.lean.js → reference_skills.md.DjQkRefx.lean.js} +1 -1
- package/dist/docs/assets/{reference_subagents.md.e5qitjJt.js → reference_subagents.md.Dl16gcBj.js} +2 -2
- package/dist/docs/assets/{reference_subagents.md.e5qitjJt.lean.js → reference_subagents.md.Dl16gcBj.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.BdCO2aHZ.js → reference_tools.md.B1dH1lpa.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.BdCO2aHZ.lean.js → reference_tools.md.B1dH1lpa.lean.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.Da_AGDlH.js → templates_agentic-owners.md.9M575F5C.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.Da_AGDlH.lean.js → templates_agentic-owners.md.9M575F5C.lean.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.DqxocIGh.js → templates_pr-autofixer.md.ws0DDXDy.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.DqxocIGh.lean.js → templates_pr-autofixer.md.ws0DDXDy.lean.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.Bhnvd8VE.js → templates_security-reviewer.md.KEFYXzfK.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.Bhnvd8VE.lean.js → templates_security-reviewer.md.KEFYXzfK.lean.js} +1 -1
- package/dist/docs/assets/templates_thermo-quality-review.md.VNJ_mohX.js +3 -0
- package/dist/docs/assets/templates_thermo-quality-review.md.VNJ_mohX.lean.js +1 -0
- package/dist/docs/assets/templates_thermo-review.md.Hi3zWOkP.js +3 -0
- package/dist/docs/assets/templates_thermo-review.md.Hi3zWOkP.lean.js +1 -0
- package/dist/docs/assets/{templates_triage.md.BdBWO9Ic.js → templates_triage.md.CVGe_FG6.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.BdBWO9Ic.lean.js → templates_triage.md.CVGe_FG6.lean.js} +1 -1
- package/dist/docs/assets/troubleshooting.md.mnfFG2Em.js +1 -0
- package/dist/docs/assets/troubleshooting.md.mnfFG2Em.lean.js +1 -0
- package/dist/docs/building-with-agents.html +44 -48
- package/dist/docs/building-with-agents.md +94 -82
- package/dist/docs/deployment.html +59 -78
- package/dist/docs/deployment.md +117 -363
- package/dist/docs/evals.html +85 -224
- package/dist/docs/evals.md +149 -673
- package/dist/docs/guides/agent-to-agent.html +74 -47
- package/dist/docs/guides/agent-to-agent.md +128 -46
- package/dist/docs/guides/bitbucket.html +179 -44
- package/dist/docs/guides/bitbucket.md +249 -48
- package/dist/docs/guides/cloud-agents.html +46 -40
- package/dist/docs/guides/cloud-agents.md +119 -66
- package/dist/docs/guides/convert-automation.html +80 -49
- package/dist/docs/guides/convert-automation.md +156 -147
- package/dist/docs/guides/github.html +184 -92
- package/dist/docs/guides/github.md +260 -245
- package/dist/docs/guides/gitlab.html +184 -45
- package/dist/docs/guides/gitlab.md +249 -50
- package/dist/docs/guides/grokbot-agents.html +48 -41
- package/dist/docs/guides/grokbot-agents.md +99 -53
- package/dist/docs/guides/improve.html +48 -40
- package/dist/docs/guides/improve.md +111 -58
- package/dist/docs/guides/jev.html +248 -0
- package/dist/docs/guides/jev.md +348 -0
- package/dist/docs/guides/mcp-oauth.html +74 -52
- package/dist/docs/guides/mcp-oauth.md +111 -121
- package/dist/docs/guides/opentelemetry.html +63 -54
- package/dist/docs/guides/opentelemetry.md +96 -165
- package/dist/docs/guides/slack.html +83 -59
- package/dist/docs/guides/slack.md +157 -227
- package/dist/docs/guides/webhooks.html +97 -230
- package/dist/docs/guides/webhooks.md +154 -385
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +44 -38
- package/dist/docs/hillclimbing.md +101 -55
- package/dist/docs/index.html +38 -38
- package/dist/docs/index.md +2 -0
- package/dist/docs/llms-full.txt +3490 -3146
- package/dist/docs/llms.txt +22 -18
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/reference/agent-config.html +37 -37
- package/dist/docs/reference/artifacts.html +38 -38
- package/dist/docs/reference/channels.html +37 -37
- package/dist/docs/reference/cli.html +39 -37
- package/dist/docs/reference/cli.md +2 -0
- package/dist/docs/reference/connections.html +38 -38
- package/dist/docs/reference/connections.md +1 -1
- package/dist/docs/reference/evals.html +116 -0
- package/dist/docs/reference/evals.md +293 -0
- package/dist/docs/reference/extensions.html +80 -84
- package/dist/docs/reference/extensions.md +131 -202
- package/dist/docs/reference/hooks.html +39 -39
- package/dist/docs/reference/hooks.md +34 -34
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/instructions.html +37 -37
- package/dist/docs/reference/playground.html +37 -37
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/prompt.html +37 -37
- package/dist/docs/reference/schedules.html +37 -37
- package/dist/docs/reference/sessions.html +37 -37
- package/dist/docs/reference/skills.html +37 -37
- package/dist/docs/reference/subagents.html +38 -38
- package/dist/docs/reference/subagents.md +1 -1
- package/dist/docs/reference/tools.html +38 -38
- package/dist/docs/reference/tools.md +4 -0
- package/dist/docs/templates/agentic-owners.html +38 -38
- package/dist/docs/templates/pr-autofixer.html +37 -37
- package/dist/docs/templates/security-reviewer.html +38 -38
- package/dist/docs/templates/thermo-quality-review.html +62 -0
- package/dist/docs/templates/thermo-quality-review.md +75 -0
- package/dist/docs/templates/thermo-review.html +62 -0
- package/dist/docs/templates/thermo-review.md +74 -0
- package/dist/docs/templates/triage.html +37 -37
- package/dist/docs/troubleshooting.html +38 -38
- package/dist/docs/troubleshooting.md +97 -66
- package/dist/extensions/cursor-cloud-agents/skills/handoff.md +3 -7
- package/dist/extensions/improve/extension.d.ts +3 -1
- package/dist/extensions/improve/extension.d.ts.map +1 -1
- package/dist/extensions/improve/extension.js +4 -2
- package/dist/extensions/improve/skills/yourself.js +1 -1
- package/dist/extensions/jev/extension.d.ts +43 -0
- package/dist/extensions/jev/extension.d.ts.map +1 -0
- package/dist/extensions/jev/extension.js +47 -0
- package/dist/extensions/jev/lib/evaluate.d.ts +101 -0
- package/dist/extensions/jev/lib/evaluate.d.ts.map +1 -0
- package/dist/extensions/jev/lib/evaluate.js +167 -0
- package/dist/extensions/jev/skills/gated-write.md +25 -0
- package/dist/extensions/jev/skills/questions.md +33 -0
- package/dist/extensions/jev/tools/evaluate.d.ts +4 -0
- package/dist/extensions/jev/tools/evaluate.d.ts.map +1 -0
- package/dist/extensions/jev/tools/evaluate.js +88 -0
- package/dist/extensions.d.ts +1 -1
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +2 -0
- package/dist/filesystem.d.ts +46 -2
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +149 -102
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/advertise-tools.d.ts.map +1 -1
- package/dist/internal/advertise-tools.js +6 -0
- package/dist/internal/cli-ax.d.ts +6 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +72 -14
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +1 -0
- package/dist/internal/cursor-agent-template.d.ts +1 -1
- package/dist/internal/cursor-agent-template.d.ts.map +1 -1
- package/dist/internal/cursor-agent-template.js +2 -0
- package/dist/internal/discovery/connections.d.ts.map +1 -1
- package/dist/internal/discovery/connections.js +18 -0
- package/dist/internal/discovery/extensions.d.ts.map +1 -1
- package/dist/internal/discovery/extensions.js +8 -4
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +1 -0
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +2 -2
- package/dist/internal/filesystem/walk.d.ts +7 -4
- package/dist/internal/filesystem/walk.d.ts.map +1 -1
- package/dist/internal/filesystem/walk.js +34 -11
- package/dist/internal/hosted-admission-adapter.d.ts +3 -0
- package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +20 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +51 -1
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +23 -25
- package/dist/internal/hosted-execution-diag.d.ts +12 -4
- package/dist/internal/hosted-execution-diag.d.ts.map +1 -1
- package/dist/internal/hosted-execution-diag.js +26 -4
- package/dist/internal/hosted-execution-flush.d.ts +1 -0
- package/dist/internal/hosted-execution-flush.d.ts.map +1 -1
- package/dist/internal/hosted-execution-flush.js +4 -2
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +4 -0
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +111 -48
- package/dist/internal/session-engine.d.ts +4 -1
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +39 -9
- package/dist/internal/skill-catalog.d.ts +28 -0
- package/dist/internal/skill-catalog.d.ts.map +1 -0
- package/dist/internal/skill-catalog.js +44 -0
- package/dist/playground/assets/index-DSMAewbx.css +1 -0
- package/dist/playground/assets/index-De_lpFxE.js +67 -0
- package/dist/playground/index.html +2 -2
- package/dist/types.d.ts +32 -3
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +2 -0
- package/docs/building-with-agents.md +96 -84
- package/docs/deployment.md +118 -364
- package/docs/evals.md +149 -673
- package/docs/guides/agent-to-agent.md +130 -48
- package/docs/guides/bitbucket.md +250 -49
- package/docs/guides/cloud-agents.md +119 -67
- package/docs/guides/convert-automation.md +157 -148
- package/docs/guides/github.md +261 -246
- package/docs/guides/gitlab.md +250 -51
- package/docs/guides/grokbot-agents.md +100 -55
- package/docs/guides/improve.md +112 -59
- package/docs/guides/jev.md +353 -0
- package/docs/guides/mcp-oauth.md +112 -122
- package/docs/guides/opentelemetry.md +97 -166
- package/docs/guides/slack.md +158 -228
- package/docs/guides/webhooks.md +155 -386
- package/docs/hillclimbing.md +102 -56
- package/docs/reference/cli.md +2 -0
- package/docs/reference/connections.md +1 -1
- package/docs/reference/evals.md +298 -0
- package/docs/reference/extensions.md +132 -203
- package/docs/reference/hooks.md +34 -34
- package/docs/reference/subagents.md +1 -1
- package/docs/reference/tools.md +4 -0
- package/docs/templates/thermo-quality-review.md +80 -0
- package/docs/templates/thermo-review.md +79 -0
- package/docs/troubleshooting.md +98 -67
- package/package.json +8 -1
- package/skills/github/SKILL.md +21 -13
- package/src/bin/agent-serve.ts +24 -3
- package/src/channels/checks.ts +8 -0
- package/src/channels/github/github-channel.ts +29 -19
- package/src/channels/origin/checks.ts +3 -1
- package/src/channels/slack/agentic-delivery.ts +2 -0
- package/src/channels/slack/dispatch.ts +131 -4
- package/src/channels/slack/placeholder.ts +51 -0
- package/src/channels/slack/slack-channel.ts +9 -2
- package/src/extensions/cursor-cloud-agents/skills/handoff.md +3 -7
- package/src/extensions/improve/extension.ts +4 -2
- package/src/extensions/improve/skills/yourself.ts +1 -1
- package/src/extensions/jev/extension.ts +95 -0
- package/src/extensions/jev/lib/evaluate.ts +289 -0
- package/src/extensions/jev/skills/gated-write.md +25 -0
- package/src/extensions/jev/skills/questions.md +33 -0
- package/src/extensions/jev/tools/evaluate.ts +90 -0
- package/src/extensions.ts +2 -0
- package/src/filesystem.ts +168 -65
- package/src/index.ts +3 -0
- package/src/internal/advertise-tools.ts +6 -0
- package/src/internal/cli-ax.ts +88 -15
- package/src/internal/continuation-identity.ts +1 -0
- package/src/internal/cursor-agent-template.ts +2 -0
- package/src/internal/discovery/connections.ts +21 -0
- package/src/internal/discovery/extensions.ts +12 -4
- package/src/internal/discovery/info.ts +1 -0
- package/src/internal/filesystem/tools.ts +2 -0
- package/src/internal/filesystem/walk.ts +60 -15
- package/src/internal/hosted-admission-adapter.ts +3 -0
- package/src/internal/hosted-delivery-protocol.ts +82 -1
- package/src/internal/hosted-delivery.ts +23 -0
- package/src/internal/hosted-execution-diag.ts +33 -4
- package/src/internal/hosted-execution-flush.ts +4 -0
- package/src/internal/init-project.ts +4 -0
- package/src/internal/server.ts +130 -53
- package/src/internal/session-engine.ts +46 -8
- package/src/internal/skill-catalog.ts +69 -0
- package/src/types.ts +33 -3
- package/templates/thermo-quality-review/README.md +35 -0
- package/templates/thermo-quality-review/agent/agent.ts +8 -0
- package/templates/thermo-quality-review/agent/channels/github.ts +42 -0
- package/templates/thermo-quality-review/agent/instructions.md +43 -0
- package/templates/thermo-quality-review/agent/tools/post_findings.ts +70 -0
- package/templates/thermo-quality-review/evals/evals.config.ts +5 -0
- package/templates/thermo-quality-review/evals/review.eval.ts +62 -0
- package/templates/thermo-quality-review/package.json +18 -0
- package/templates/thermo-quality-review/tsconfig.json +12 -0
- package/templates/thermo-review/README.md +35 -0
- package/templates/thermo-review/agent/agent.ts +8 -0
- package/templates/thermo-review/agent/channels/github.ts +42 -0
- package/templates/thermo-review/agent/instructions.md +40 -0
- package/templates/thermo-review/agent/tools/post_findings.ts +70 -0
- package/templates/thermo-review/evals/evals.config.ts +5 -0
- package/templates/thermo-review/evals/review.eval.ts +53 -0
- package/templates/thermo-review/package.json +18 -0
- package/templates/thermo-review/tsconfig.json +12 -0
- package/dist/docs/assets/building-with-agents.md.CEGVXkmO.js +0 -13
- package/dist/docs/assets/building-with-agents.md.CEGVXkmO.lean.js +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.DtXk1hy-.js +0 -1
- package/dist/docs/assets/chunks/channel.Bkv1N-gK.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CZDco1o8.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CZDco1o8.js +0 -1
- package/dist/docs/assets/chunks/clone.YSt_40_s.js +0 -1
- package/dist/docs/assets/chunks/framework.dypDpWZ3.js +0 -19
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C4CLm481.js +0 -1
- package/dist/docs/assets/deployment.md.Dm4Qo3hp.js +0 -51
- package/dist/docs/assets/deployment.md.Dm4Qo3hp.lean.js +0 -1
- package/dist/docs/assets/evals.md.BLDRt5LH.js +0 -211
- package/dist/docs/assets/evals.md.BLDRt5LH.lean.js +0 -1
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.js +0 -14
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.lean.js +0 -1
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.js +0 -10
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.lean.js +0 -1
- package/dist/docs/assets/guides_cloud-agents.md.lSE_l7lH.js +0 -9
- package/dist/docs/assets/guides_cloud-agents.md.lSE_l7lH.lean.js +0 -1
- package/dist/docs/assets/guides_convert-automation.md.Ck6Cr68A.js +0 -12
- package/dist/docs/assets/guides_convert-automation.md.Ck6Cr68A.lean.js +0 -1
- package/dist/docs/assets/guides_github.md.D6ER29dG.js +0 -64
- package/dist/docs/assets/guides_github.md.D6ER29dG.lean.js +0 -1
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.js +0 -14
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.lean.js +0 -1
- package/dist/docs/assets/guides_grokbot-agents.md.WBZIOvkz.js +0 -9
- package/dist/docs/assets/guides_grokbot-agents.md.WBZIOvkz.lean.js +0 -1
- package/dist/docs/assets/guides_improve.md.BKaDuKKK.js +0 -14
- package/dist/docs/assets/guides_improve.md.BKaDuKKK.lean.js +0 -1
- package/dist/docs/assets/guides_mcp-oauth.md.DMNMpXtO.js +0 -28
- package/dist/docs/assets/guides_mcp-oauth.md.DMNMpXtO.lean.js +0 -1
- package/dist/docs/assets/guides_opentelemetry.md._CRfDyzH.js +0 -26
- package/dist/docs/assets/guides_opentelemetry.md._CRfDyzH.lean.js +0 -1
- package/dist/docs/assets/guides_slack.md.DdT8rmsj.js +0 -46
- package/dist/docs/assets/guides_slack.md.DdT8rmsj.lean.js +0 -1
- package/dist/docs/assets/guides_webhooks.md.aQW10HRe.js +0 -225
- package/dist/docs/assets/guides_webhooks.md.aQW10HRe.lean.js +0 -1
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.js +0 -1
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.lean.js +0 -1
- package/dist/docs/assets/reference_extensions.md.wlFD3cUR.js +0 -62
- package/dist/docs/assets/reference_extensions.md.wlFD3cUR.lean.js +0 -1
- package/dist/docs/assets/troubleshooting.md.BcgNoYtJ.js +0 -1
- package/dist/docs/assets/troubleshooting.md.BcgNoYtJ.lean.js +0 -1
- package/dist/playground/assets/index-BLlKgZtI.css +0 -1
- package/dist/playground/assets/index-CDS5p9sR.js +0 -67
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,D as n}from"../app.Drol6mi6.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK.C4bhFtSm.js";import{_ as i}from"../app.Drol6mi6.js";import"./chunk-FMBD7UC4.BrUk8pff.js";import"./chunk-YZCP3GAM.qoXZpG9F.js";import"./chunk-55IACEB6.ZnQ9gRRQ.js";import"./chunk-EDXVE4YY.DPlmglG-.js";import"./framework.dypDpWZ3.js";import"./theme.C0MctGaz.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK.C4bhFtSm.js";import{_ as i}from"../app.Drol6mi6.js";import"./chunk-FMBD7UC4.BrUk8pff.js";import"./chunk-YZCP3GAM.qoXZpG9F.js";import"./chunk-55IACEB6.ZnQ9gRRQ.js";import"./chunk-EDXVE4YY.DPlmglG-.js";import"./framework.dypDpWZ3.js";import"./theme.C0MctGaz.js";var f={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{f as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./graph.V2GLaab4.js";var e=4;function a(o){return r(o,e)}export{a as c};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const gl="modulepreload",ml=function(e){return"/docs/"+e},Rr={},cf=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=ml(c),c in Rr)return;Rr[c]=!0;const u=c.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":gl,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((g,y)=>{f.addEventListener("load",g),f.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};/**
|
|
2
|
-
* @vue/shared v3.5.39
|
|
3
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
-
* @license MIT
|
|
5
|
-
**/function tr(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const se={},Nt=[],ze=()=>{},xi=()=>!1,gn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Jn=e=>e.startsWith("onUpdate:"),ye=Object.assign,nr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yl=Object.prototype.hasOwnProperty,ee=(e,t)=>yl.call(e,t),W=Array.isArray,Ht=e=>mn(e)==="[object Map]",Ci=e=>mn(e)==="[object Set]",Pr=e=>mn(e)==="[object Date]",q=e=>typeof e=="function",ce=e=>typeof e=="string",Ie=e=>typeof e=="symbol",Q=e=>e!==null&&typeof e=="object",Ai=e=>(Q(e)||q(e))&&q(e.then)&&q(e.catch),Mi=Object.prototype.toString,mn=e=>Mi.call(e),vl=e=>mn(e).slice(8,-1),Ri=e=>mn(e)==="[object Object]",zn=e=>ce(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wt=tr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},bl=/-\w/g,Ce=Qn(e=>e.replace(bl,t=>t.slice(1).toUpperCase())),_l=/\B([A-Z])/g,gt=Qn(e=>e.replace(_l,"-$1").toLowerCase()),Zn=Qn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Fn=Qn(e=>e?`on${Zn(e)}`:""),Ye=(e,t)=>!Object.is(e,t),In=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Pi=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},sr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Oi=e=>{const t=ce(e)?Number(e):NaN;return isNaN(t)?e:t};let Or;const es=()=>Or||(Or=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function rr(e){if(W(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ce(s)?El(s):rr(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ce(e)||Q(e))return e}const wl=/;(?![^(]*\))/g,Sl=/:([^]+)/,Tl=/\/\*[^]*?\*\//g;function El(e){const t={};return e.replace(Tl,"").split(wl).forEach(n=>{if(n){const s=n.split(Sl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ir(e){let t="";if(ce(e))t=e;else if(W(e))for(let n=0;n<e.length;n++){const s=ir(e[n]);s&&(t+=s+" ")}else if(Q(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const xl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Cl=tr(xl);function Fi(e){return!!e||e===""}function Al(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=or(e[s],t[s]);return n}function or(e,t){if(e===t)return!0;let n=Pr(e),s=Pr(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Ie(e),s=Ie(t),n||s)return e===t;if(n=W(e),s=W(t),n||s)return n&&s?Al(e,t):!1;if(n=Q(e),s=Q(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!or(e[o],t[o]))return!1}}return String(e)===String(t)}const Ii=e=>!!(e&&e.__v_isRef===!0),Ml=e=>ce(e)?e:e==null?"":W(e)||Q(e)&&(e.toString===Mi||!q(e.toString))?Ii(e)?Ml(e.value):JSON.stringify(e,Li,2):String(e),Li=(e,t)=>Ii(t)?Li(e,t.value):Ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[gs(s,i)+" =>"]=r,n),{})}:Ci(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>gs(n))}:Ie(t)?gs(t):Q(t)&&!W(t)&&!Ri(t)?String(t):t,gs=(e,t="")=>{var n;return Ie(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
6
|
-
* @vue/reactivity v3.5.39
|
|
7
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
-
* @license MIT
|
|
9
|
-
**/let ge;class Rl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ge&&(ge.active?(this.parent=ge,this.index=(ge.scopes||(ge.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=ge;try{return ge=this,t()}finally{ge=n}}}on(){++this._on===1&&(this.prevScope=ge,ge=this)}off(){if(this._on>0&&--this._on===0){if(ge===this)ge=this.prevScope;else{let t=ge;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Ni(){return ge}function Pl(e,t=!1){ge&&ge.cleanups.push(e)}let ie;const ms=new WeakSet;class Hi{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ge&&(ge.active?ge.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,ms.has(this)&&(ms.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||$i(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Fr(this),ki(this);const t=ie,n=je;ie=this,je=!0;try{return this.fn()}finally{ji(this),ie=t,je=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ar(t);this.deps=this.depsTail=void 0,Fr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?ms.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ds(this)&&this.run()}get dirty(){return Ds(this)}}let Di=0,tn,nn;function $i(e,t=!1){if(e.flags|=8,t){e.next=nn,nn=e;return}e.next=tn,tn=e}function lr(){Di++}function cr(){if(--Di>0)return;if(nn){let t=nn;for(nn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;tn;){let t=tn;for(tn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function ki(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ji(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),ar(s),Ol(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Ds(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===cn)||(e.globalVersion=cn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ds(e))))return;e.flags|=2;const t=e.dep,n=ie,s=je;ie=e,je=!0;try{ki(e);const r=e.fn(e._value);(t.version===0||Ye(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ie=n,je=s,ji(e),e.flags&=-3}}function ar(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)ar(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ol(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let je=!0;const Vi=[];function Qe(){Vi.push(je),je=!1}function Ze(){const e=Vi.pop();je=e===void 0?!0:e}function Fr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ie;ie=void 0;try{t()}finally{ie=n}}}let cn=0;class Fl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ts{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ie||!je||ie===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ie)n=this.activeLink=new Fl(ie,this),ie.deps?(n.prevDep=ie.depsTail,ie.depsTail.nextDep=n,ie.depsTail=n):ie.deps=ie.depsTail=n,Ui(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ie.depsTail,n.nextDep=void 0,ie.depsTail.nextDep=n,ie.depsTail=n,ie.deps===n&&(ie.deps=s)}return n}trigger(t){this.version++,cn++,this.notify(t)}notify(t){lr();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{cr()}}}function Ui(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ui(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const $n=new WeakMap,St=Symbol(""),$s=Symbol(""),an=Symbol("");function Se(e,t,n){if(je&&ie){let s=$n.get(e);s||$n.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new ts),r.map=s,r.key=n),r.track()}}function rt(e,t,n,s,r,i){const o=$n.get(e);if(!o){cn++;return}const l=c=>{c&&c.trigger()};if(lr(),t==="clear")o.forEach(l);else{const c=W(e),u=c&&zn(n);if(c&&n==="length"){const a=Number(s);o.forEach((f,g)=>{(g==="length"||g===an||!Ie(g)&&g>=a)&&l(f)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(an)),t){case"add":c?u&&l(o.get("length")):(l(o.get(St)),Ht(e)&&l(o.get($s)));break;case"delete":c||(l(o.get(St)),Ht(e)&&l(o.get($s)));break;case"set":Ht(e)&&l(o.get(St));break}}cr()}function Il(e,t){const n=$n.get(e);return n&&n.get(t)}function Pt(e){const t=z(e);return t===e?t:(Se(t,"iterate",an),Fe(e)?t:t.map(Ve))}function ns(e){return Se(e=z(e),"iterate",an),e}function Xe(e,t){return ot(e)?Bt(dt(e)?Ve(t):t):Ve(t)}const Ll={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>Xe(this,e))},concat(...e){return Pt(this).concat(...e.map(t=>W(t)?Pt(t):t))},entries(){return ys(this,"entries",e=>(e[1]=Xe(this,e[1]),e))},every(e,t){return et(this,"every",e,t,void 0,arguments)},filter(e,t){return et(this,"filter",e,t,n=>n.map(s=>Xe(this,s)),arguments)},find(e,t){return et(this,"find",e,t,n=>Xe(this,n),arguments)},findIndex(e,t){return et(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return et(this,"findLast",e,t,n=>Xe(this,n),arguments)},findLastIndex(e,t){return et(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return et(this,"forEach",e,t,void 0,arguments)},includes(...e){return vs(this,"includes",e)},indexOf(...e){return vs(this,"indexOf",e)},join(e){return Pt(this).join(e)},lastIndexOf(...e){return vs(this,"lastIndexOf",e)},map(e,t){return et(this,"map",e,t,void 0,arguments)},pop(){return Yt(this,"pop")},push(...e){return Yt(this,"push",e)},reduce(e,...t){return Ir(this,"reduce",e,t)},reduceRight(e,...t){return Ir(this,"reduceRight",e,t)},shift(){return Yt(this,"shift")},some(e,t){return et(this,"some",e,t,void 0,arguments)},splice(...e){return Yt(this,"splice",e)},toReversed(){return Pt(this).toReversed()},toSorted(e){return Pt(this).toSorted(e)},toSpliced(...e){return Pt(this).toSpliced(...e)},unshift(...e){return Yt(this,"unshift",e)},values(){return ys(this,"values",e=>Xe(this,e))}};function ys(e,t,n){const s=ns(e),r=s[t]();return s!==e&&!Fe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Nl=Array.prototype;function et(e,t,n,s,r,i){const o=ns(e),l=o!==e&&!Fe(e),c=o[t];if(c!==Nl[t]){const f=c.apply(e,i);return l?Ve(f):f}let u=n;o!==e&&(l?u=function(f,g){return n.call(this,Xe(e,f),g,e)}:n.length>2&&(u=function(f,g){return n.call(this,f,g,e)}));const a=c.call(o,u,s);return l&&r?r(a):a}function Ir(e,t,n,s){const r=ns(e),i=r!==e&&!Fe(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(u,a,f){return l&&(l=!1,u=Xe(e,u)),n.call(this,u,Xe(e,a),f,e)}):n.length>3&&(o=function(u,a,f){return n.call(this,u,a,f,e)}));const c=r[t](o,...s);return l?Xe(e,c):c}function vs(e,t,n){const s=z(e);Se(s,"iterate",an);const r=s[t](...n);return(r===-1||r===!1)&&ss(n[0])?(n[0]=z(n[0]),s[t](...n)):r}function Yt(e,t,n=[]){Qe(),lr();const s=z(e)[t].apply(e,n);return cr(),Ze(),s}const Hl=tr("__proto__,__v_isRef,__isVue"),Wi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ie));function Dl(e){Ie(e)||(e=String(e));const t=z(this);return Se(t,"has",e),t.hasOwnProperty(e)}class Ki{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Gl:Yi:i?Xi:Gi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=W(t);if(!r){let c;if(o&&(c=Ll[n]))return c;if(n==="hasOwnProperty")return Dl}const l=Reflect.get(t,n,fe(t)?t:s);if((Ie(n)?Wi.has(n):Hl(n))||(r||Se(t,"get",n),i))return l;if(fe(l)){const c=o&&zn(n)?l:l.value;return r&&Q(c)?un(c):c}return Q(l)?r?un(l):jt(l):l}}class qi extends Ki{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=W(t)&&zn(n);if(!this._isShallow){const u=ot(i);if(!Fe(s)&&!ot(s)&&(i=z(i),s=z(s)),!o&&fe(i)&&!fe(s))return u||(i.value=s),!0}const l=o?Number(n)<t.length:ee(t,n),c=Reflect.set(t,n,s,fe(t)?t:r);return t===z(r)&&c&&(l?Ye(s,i)&&rt(t,"set",n,s):rt(t,"add",n,s)),c}deleteProperty(t,n){const s=ee(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&rt(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Ie(n)||!Wi.has(n))&&Se(t,"has",n),s}ownKeys(t){return Se(t,"iterate",W(t)?"length":St),Reflect.ownKeys(t)}}class $l extends Ki{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const kl=new qi,jl=new $l,Bl=new qi(!0);const ks=e=>e,Sn=e=>Reflect.getPrototypeOf(e);function Vl(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=Ht(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),a=n?ks:t?Bt:Ve;return!t&&Se(i,"iterate",c?$s:St),ye(Object.create(u),{next(){const{value:f,done:g}=u.next();return g?{value:f,done:g}:{value:l?[a(f[0]),a(f[1])]:a(f),done:g}}})}}function Tn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ul(e,t){const n={get(r){const i=this.__v_raw,o=z(i),l=z(r);e||(Ye(r,l)&&Se(o,"get",r),Se(o,"get",l));const{has:c}=Sn(o),u=t?ks:e?Bt:Ve;if(c.call(o,r))return u(i.get(r));if(c.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&Se(z(r),"iterate",St),r.size},has(r){const i=this.__v_raw,o=z(i),l=z(r);return e||(Ye(r,l)&&Se(o,"has",r),Se(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=z(l),u=t?ks:e?Bt:Ve;return!e&&Se(c,"iterate",St),l.forEach((a,f)=>r.call(i,u(a),u(f),o))}};return ye(n,e?{add:Tn("add"),set:Tn("set"),delete:Tn("delete"),clear:Tn("clear")}:{add(r){const i=z(this),o=Sn(i),l=z(r),c=!t&&!Fe(r)&&!ot(r)?l:r;return o.has.call(i,c)||Ye(r,c)&&o.has.call(i,r)||Ye(l,c)&&o.has.call(i,l)||(i.add(c),rt(i,"add",c,c)),this},set(r,i){!t&&!Fe(i)&&!ot(i)&&(i=z(i));const o=z(this),{has:l,get:c}=Sn(o);let u=l.call(o,r);u||(r=z(r),u=l.call(o,r));const a=c.call(o,r);return o.set(r,i),u?Ye(i,a)&&rt(o,"set",r,i):rt(o,"add",r,i),this},delete(r){const i=z(this),{has:o,get:l}=Sn(i);let c=o.call(i,r);c||(r=z(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&rt(i,"delete",r,void 0),u},clear(){const r=z(this),i=r.size!==0,o=r.clear();return i&&rt(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Vl(r,e,t)}),n}function ur(e,t){const n=Ul(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(ee(n,r)&&r in s?n:s,r,i)}const Wl={get:ur(!1,!1)},Kl={get:ur(!1,!0)},ql={get:ur(!0,!1)};const Gi=new WeakMap,Xi=new WeakMap,Yi=new WeakMap,Gl=new WeakMap;function Xl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jt(e){return ot(e)?e:fr(e,!1,kl,Wl,Gi)}function Yl(e){return fr(e,!1,Bl,Kl,Xi)}function un(e){return fr(e,!0,jl,ql,Yi)}function fr(e,t,n,s,r){if(!Q(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=Xl(vl(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function dt(e){return ot(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Fe(e){return!!(e&&e.__v_isShallow)}function ss(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Ln(e){return!ee(e,"__v_skip")&&Object.isExtensible(e)&&Pi(e,"__v_skip",!0),e}const Ve=e=>Q(e)?jt(e):e,Bt=e=>Q(e)?un(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function Be(e){return Ji(e,!1)}function Me(e){return Ji(e,!0)}function Ji(e,t){return fe(e)?e:new Jl(e,t)}class Jl{constructor(t,n){this.dep=new ts,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:z(t),this._value=n?t:Ve(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Fe(t)||ot(t);t=s?t:z(t),Ye(t,n)&&(this._rawValue=t,this._value=s?t:Ve(t),this.dep.trigger())}}function rs(e){return fe(e)?e.value:e}function ae(e){return q(e)?e():rs(e)}const zl={get:(e,t,n)=>t==="__v_raw"?e:rs(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function zi(e){return dt(e)?e:new Proxy(e,zl)}class Ql{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ts,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Zl(e){return new Ql(e)}class ec{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=Ie(n)?n:String(n),this._raw=z(t);let r=!0,i=t;if(!W(t)||Ie(this._key)||!zn(this._key))do r=!ss(i)||Fe(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=rs(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&fe(this._raw[this._key])){const n=this._object[this._key];if(fe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Il(this._raw,this._key)}}class tc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function nc(e,t,n){return fe(e)?e:q(e)?new tc(e):Q(e)&&arguments.length>1?sc(e,t,n):Be(e)}function sc(e,t,n){return new ec(e,t,n)}class rc{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ts(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=cn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ie!==this)return $i(this,!0),!0}get value(){const t=this.dep.track();return Bi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ic(e,t,n=!1){let s,r;return q(e)?s=e:(s=e.get,r=e.set),new rc(s,r,n)}const En={},kn=new WeakMap;let bt;function oc(e,t=!1,n=bt){if(n){let s=kn.get(n);s||kn.set(n,s=[]),s.push(e)}}function lc(e,t,n=se){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=m=>r?m:Fe(m)||r===!1||r===0?it(m,1):it(m);let a,f,g,y,_=!1,v=!1;if(fe(e)?(f=()=>e.value,_=Fe(e)):dt(e)?(f=()=>u(e),_=!0):W(e)?(v=!0,_=e.some(m=>dt(m)||Fe(m)),f=()=>e.map(m=>{if(fe(m))return m.value;if(dt(m))return u(m);if(q(m))return c?c(m,2):m()})):q(e)?t?f=c?()=>c(e,2):e:f=()=>{if(g){Qe();try{g()}finally{Ze()}}const m=bt;bt=a;try{return c?c(e,3,[y]):e(y)}finally{bt=m}}:f=ze,t&&r){const m=f,b=r===!0?1/0:r;f=()=>it(m(),b)}const D=Ni(),O=()=>{a.stop(),D&&D.active&&nr(D.effects,a)};if(i&&t){const m=t;t=(...b)=>{const F=m(...b);return O(),F}}let P=v?new Array(e.length).fill(En):En;const p=m=>{if(!(!(a.flags&1)||!a.dirty&&!m))if(t){const b=a.run();if(m||r||_||(v?b.some((F,E)=>Ye(F,P[E])):Ye(b,P))){g&&g();const F=bt;bt=a;try{const E=[b,P===En?void 0:v&&P[0]===En?[]:P,y];P=b,c?c(t,3,E):t(...E)}finally{bt=F}}}else a.run()};return l&&l(p),a=new Hi(f),a.scheduler=o?()=>o(p,!1):p,y=m=>oc(m,!1,a),g=a.onStop=()=>{const m=kn.get(a);if(m){if(c)c(m,4);else for(const b of m)b();kn.delete(a)}},t?s?p(!0):P=a.run():o?o(p.bind(null,!0),!0):a.run(),O.pause=a.pause.bind(a),O.resume=a.resume.bind(a),O.stop=O,O}function it(e,t=1/0,n){if(t<=0||!Q(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,fe(e))it(e.value,t,n);else if(W(e))for(let s=0;s<e.length;s++)it(e[s],t,n);else if(Ci(e)||Ht(e))e.forEach(s=>{it(s,t,n)});else if(Ri(e)){for(const s in e)it(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&it(e[s],t,n)}return e}/**
|
|
10
|
-
* @vue/runtime-core v3.5.39
|
|
11
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
-
* @license MIT
|
|
13
|
-
**/function yn(e,t,n,s){try{return s?e(...s):e()}catch(r){Kt(r,t,n)}}function $e(e,t,n,s){if(q(e)){const r=yn(e,t,n,s);return r&&Ai(r)&&r.catch(i=>{Kt(i,t,n)}),r}if(W(e)){const r=[];for(let i=0;i<e.length;i++)r.push($e(e[i],t,n,s));return r}}function Kt(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||se;if(t){let l=t.parent;const c=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const a=l.ec;if(a){for(let f=0;f<a.length;f++)if(a[f](e,c,u)===!1)return}l=l.parent}if(i){Qe(),yn(i,null,10,[e,c,u]),Ze();return}}cc(e,n,r,s,o)}function cc(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const Ee=[];let qe=-1;const Dt=[];let ft=null,Ft=0;const Qi=Promise.resolve();let jn=null;function is(e){const t=jn||Qi;return e?t.then(this?e.bind(this):e):t}function ac(e){let t=qe+1,n=Ee.length;for(;t<n;){const s=t+n>>>1,r=Ee[s],i=fn(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function dr(e){if(!(e.flags&1)){const t=fn(e),n=Ee[Ee.length-1];!n||!(e.flags&2)&&t>=fn(n)?Ee.push(e):Ee.splice(ac(t),0,e),e.flags|=1,Zi()}}function Zi(){jn||(jn=Qi.then(eo))}function js(e){W(e)?Dt.push(...e):ft&&e.id===-1?ft.splice(Ft+1,0,e):e.flags&1||(Dt.push(e),e.flags|=1),Zi()}function Lr(e,t,n=qe+1){for(;n<Ee.length;n++){const s=Ee[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Ee.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Bn(e){if(Dt.length){const t=[...new Set(Dt)].sort((n,s)=>fn(n)-fn(s));if(Dt.length=0,ft){ft.push(...t);return}for(ft=t,Ft=0;Ft<ft.length;Ft++){const n=ft[Ft];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ft=null,Ft=0}}const fn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function eo(e){try{for(qe=0;qe<Ee.length;qe++){const t=Ee[qe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),yn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;qe<Ee.length;qe++){const t=Ee[qe];t&&(t.flags&=-2)}qe=-1,Ee.length=0,Bn(),jn=null,(Ee.length||Dt.length)&&eo()}}let be=null,to=null;function Vn(e){const t=be;return be=e,to=e&&e.type.__scopeId||null,t}function uc(e,t=be,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Gn(-1);const i=Vn(t);let o;try{o=e(...r)}finally{Vn(i),s._d&&Gn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function af(e,t){if(be===null)return e;const n=us(be),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=se]=t[r];i&&(q(i)&&(i={mounted:i,updated:i}),i.deep&&it(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function Ge(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(Qe(),$e(c,n,8,[e.el,l,e,t]),Ze())}}function fc(e,t){if(ve){let n=ve.provides;const s=ve.parent&&ve.parent.provides;s===n&&(n=ve.provides=Object.create(s)),n[e]=t}}function Tt(e,t,n=!1){const s=Mt();if(s||xt){let r=xt?xt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&q(t)?t.call(s&&s.proxy):t}}function no(){return!!(Mt()||xt)}const dc=Symbol.for("v-scx"),hc=()=>Tt(dc);function hr(e,t){return os(e,null,t)}function uf(e,t){return os(e,null,{flush:"post"})}function De(e,t,n){return os(e,t,n)}function os(e,t,n=se){const{immediate:s,deep:r,flush:i,once:o}=n,l=ye({},n),c=t&&s||!t&&i!=="post";let u;if(Wt){if(i==="sync"){const y=hc();u=y.__watcherHandles||(y.__watcherHandles=[])}else if(!c){const y=()=>{};return y.stop=ze,y.resume=ze,y.pause=ze,y}}const a=ve;l.call=(y,_,v)=>$e(y,a,_,v);let f=!1;i==="post"?l.scheduler=y=>{_e(y,a&&a.suspense)}:i!=="sync"&&(f=!0,l.scheduler=(y,_)=>{_?y():dr(y)}),l.augmentJob=y=>{t&&(y.flags|=4),f&&(y.flags|=2,a&&(y.id=a.uid,y.i=a))};const g=lc(e,t,l);return Wt&&(u?u.push(g):c&&g()),g}function pc(e,t,n){const s=this.proxy,r=ce(e)?e.includes(".")?so(s,e):()=>s[e]:e.bind(s,s);let i;q(t)?i=t:(i=t.handler,n=t);const o=_n(this),l=os(r,i.bind(s),n);return o(),l}function so(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const ut=new WeakMap,ro=Symbol("_vte"),io=e=>e.__isTeleport,_t=e=>e&&(e.disabled||e.disabled===""),gc=e=>e&&(e.defer||e.defer===""),Nr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Hr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Bs=(e,t)=>{const n=e&&e.to;return ce(n)?t?t(n):null:n},mc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,u){const{mc:a,pc:f,pbc:g,o:{insert:y,querySelector:_,createText:v,createComment:D,parentNode:O}}=u,P=_t(t.props);let{dynamicChildren:p}=t;const m=(E,$,S)=>{E.shapeFlag&16&&a(E.children,$,S,r,i,o,l,c)},b=(E=t)=>{const $=_t(E.props),S=E.target=Bs(E.props,_),I=Vs(S,E,v,y);S&&(o!=="svg"&&Nr(S)?o="svg":o!=="mathml"&&Hr(S)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(S),$||(m(E,S,I),Qt(E,!1)))},F=E=>{const $=()=>{if(ut.get(E)===$){if(ut.delete(E),_t(E.props)){const S=O(E.el)||n;m(E,S,E.anchor),Qt(E,!0)}b(E)}};ut.set(E,$),_e($,i)};if(e==null){const E=t.el=v(""),$=t.anchor=v("");if(y(E,n,s),y($,n,s),gc(t.props)||i&&i.pendingBranch){F(t);return}P&&(m(t,n,$),Qt(t,!0)),b()}else{t.el=e.el;const E=t.anchor=e.anchor,$=ut.get(e);if($){$.flags|=8,ut.delete(e),F(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,I=t.targetAnchor=e.targetAnchor,x=_t(e.props),T=x?n:S,N=x?E:I;if(o==="svg"||Nr(S)?o="svg":(o==="mathml"||Hr(S))&&(o="mathml"),p?(g(e.dynamicChildren,p,T,r,i,o,l),br(e,t,!0)):c||f(e,t,T,N,r,i,o,l,!1),P)x?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):xn(t,n,E,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const U=Bs(t.props,_);U&&(t.target=U,xn(t,U,null,u,0))}else x&&xn(t,S,I,u,1);Qt(t,P)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:u,targetAnchor:a,target:f,props:g}=e,y=_t(g),_=i||!y,v=ut.get(e);if(v&&(v.flags|=8,ut.delete(e)),f&&(r(u),r(a)),i&&r(c),!v&&(y||f)&&o&16)for(let D=0;D<l.length;D++){const O=l[D];s(O,t,n,_,!!O.dynamicChildren)}},move:xn,hydrate:yc};function xn(e,t,n,{o:{insert:s},m:r},i=2){i===0&&s(e.targetAnchor,t,n);const{el:o,anchor:l,shapeFlag:c,children:u,props:a}=e,f=i===2;if(f&&s(o,t,n),!ut.has(e)&&(!f||_t(a))&&c&16)for(let g=0;g<u.length;g++)r(u[g],t,n,2);f&&s(l,t,n)}function yc(e,t,n,s,r,i,{o:{nextSibling:o,parentNode:l,querySelector:c,insert:u,createText:a}},f){function g(D,O){let P=O;for(;P;){if(P&&P.nodeType===8){if(P.data==="teleport start anchor")t.targetStart=P;else if(P.data==="teleport anchor"){t.targetAnchor=P,D._lpa=t.targetAnchor&&o(t.targetAnchor);break}}P=o(P)}}function y(D,O){O.anchor=f(o(D),O,l(D),n,s,r,i)}const _=t.target=Bs(t.props,c),v=_t(t.props);if(_){const D=_._lpa||_.firstChild;t.shapeFlag&16&&(v?(y(e,t),g(_,D),t.targetAnchor||Vs(_,t,a,u,l(e)===_?e:null)):(t.anchor=o(e),g(_,D),t.targetAnchor||Vs(_,t,a,u),f(D&&o(D),t,_,n,s,r,i))),Qt(t,v)}else v&&t.shapeFlag&16&&(y(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}const ff=mc;function Qt(e,t){const n=e.ctx;if(n&&n.ut){let s,r;for(t?(s=e.el,r=e.anchor):(s=e.targetStart,r=e.targetAnchor);s&&s!==r;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function Vs(e,t,n,s,r=null){const i=t.targetStart=n(""),o=t.targetAnchor=n("");return i[ro]=o,e&&(s(i,e,r),s(o,e,r)),o}const He=Symbol("_leaveCb"),Jt=Symbol("_enterCb");function vc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return qt(()=>{e.isMounted=!0}),ho(()=>{e.isUnmounting=!0}),e}const Le=[Function,Array],oo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Le,onEnter:Le,onAfterEnter:Le,onEnterCancelled:Le,onBeforeLeave:Le,onLeave:Le,onAfterLeave:Le,onLeaveCancelled:Le,onBeforeAppear:Le,onAppear:Le,onAfterAppear:Le,onAppearCancelled:Le},lo=e=>{const t=e.subTree;return t.component?lo(t.component):t},bc={name:"BaseTransition",props:oo,setup(e,{slots:t}){const n=Mt(),s=vc();return()=>{const r=t.default&&uo(t.default(),!0),i=r&&r.length?co(r):n.subTree?va():void 0;if(!i)return;const o=z(e),{mode:l}=o;if(s.isLeaving)return bs(i);const c=Dr(i);if(!c)return bs(i);let u=Us(c,o,s,n,f=>u=f);c.type!==me&&dn(c,u);let a=n.subTree&&Dr(n.subTree);if(a&&a.type!==me&&!Je(a,c)&&lo(n).type!==me){let f=Us(a,o,s,n);if(dn(a,f),l==="out-in"&&c.type!==me)return s.isLeaving=!0,f.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,a=void 0},bs(i);l==="in-out"&&c.type!==me?f.delayLeave=(g,y,_)=>{const v=ao(s,a);v[String(a.key)]=a,g[He]=()=>{y(),g[He]=void 0,delete u.delayedLeave,a=void 0},u.delayedLeave=()=>{_(),delete u.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return i}}};function co(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==me){t=n;break}}return t}const _c=bc;function ao(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Us(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:g,onLeave:y,onAfterLeave:_,onLeaveCancelled:v,onBeforeAppear:D,onAppear:O,onAfterAppear:P,onAppearCancelled:p}=t,m=String(e.key),b=ao(n,e),F=(S,I)=>{S&&$e(S,s,9,I)},E=(S,I)=>{const x=I[1];F(S,I),W(S)?S.every(T=>T.length<=1)&&x():S.length<=1&&x()},$={mode:o,persisted:l,beforeEnter(S){let I=c;if(!n.isMounted)if(i)I=D||c;else return;S[He]&&S[He](!0);const x=b[m];x&&Je(e,x)&&x.el[He]&&x.el[He](),F(I,[S])},enter(S){if(b[m]===e)return;let I=u,x=a,T=f;if(!n.isMounted)if(i)I=O||u,x=P||a,T=p||f;else return;let N=!1;S[Jt]=Z=>{N||(N=!0,Z?F(T,[S]):F(x,[S]),$.delayedLeave&&$.delayedLeave(),S[Jt]=void 0)};const U=S[Jt].bind(null,!1);I?E(I,[S,U]):U()},leave(S,I){const x=String(e.key);if(S[Jt]&&S[Jt](!0),n.isUnmounting)return I();F(g,[S]);let T=!1;S[He]=U=>{T||(T=!0,I(),U?F(v,[S]):F(_,[S]),S[He]=void 0,b[x]===e&&delete b[x])};const N=S[He].bind(null,!1);b[x]=e,y?E(y,[S,N]):N()},clone(S){const I=Us(S,t,n,s,r);return r&&r(I),I}};return $}function bs(e){if(vn(e))return e=ht(e),e.children=null,e}function Dr(e){if(!vn(e))return io(e.type)&&e.children?co(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&q(n.default))return n.default()}}function dn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,dn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function uo(e,t=!1,n){let s=[],r=0;for(let i=0;i<e.length;i++){let o=e[i];const l=n==null?o.key:String(n)+String(o.key!=null?o.key:i);o.type===xe?(o.patchFlag&128&&r++,s=s.concat(uo(o.children,t,l))):(t||o.type!==me)&&s.push(l!=null?ht(o,{key:l}):o)}if(r>1)for(let i=0;i<s.length;i++)s[i].patchFlag=-2;return s}function pr(e,t){return q(e)?ye({name:e.name},t,{setup:e}):e}function gr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function $r(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Un=new WeakMap;function $t(e,t,n,s,r=!1){if(W(e)){e.forEach((v,D)=>$t(v,t&&(W(t)?t[D]:t),n,s,r));return}if(Et(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&$t(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?us(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,a=l.refs===se?l.refs={}:l.refs,f=l.setupState,g=z(f),y=f===se?xi:v=>$r(a,v)?!1:ee(g,v),_=(v,D)=>!(D&&$r(a,D));if(u!=null&&u!==c){if(kr(t),ce(u))a[u]=null,y(u)&&(f[u]=null);else if(fe(u)){const v=t;_(u,v.k)&&(u.value=null),v.k&&(a[v.k]=null)}}if(q(c)){Qe();try{yn(c,l,12,[o,a])}finally{Ze()}}else{const v=ce(c),D=fe(c);if(v||D){const O=()=>{if(e.f){const P=v?y(c)?f[c]:a[c]:_()||!e.k?c.value:a[e.k];if(r)W(P)&&nr(P,i);else if(W(P))P.includes(i)||P.push(i);else if(v)a[c]=[i],y(c)&&(f[c]=a[c]);else{const p=[i];_(c,e.k)&&(c.value=p),e.k&&(a[e.k]=p)}}else v?(a[c]=o,y(c)&&(f[c]=o)):D&&(_(c,e.k)&&(c.value=o),e.k&&(a[e.k]=o))};if(o){const P=()=>{O(),Un.delete(e)};P.id=-1,Un.set(e,P),_e(P,n)}else kr(e),O()}}}function kr(e){const t=Un.get(e);t&&(t.flags|=8,Un.delete(e))}let jr=!1;const Ot=()=>{jr||(console.error("Hydration completed but contains mismatches."),jr=!0)},wc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Sc=e=>e.namespaceURI.includes("MathML"),Cn=e=>{if(e.nodeType===1){if(wc(e))return"svg";if(Sc(e))return"mathml"}},Lt=e=>e.nodeType===8;function Tc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,a=(p,m)=>{if(!m.hasChildNodes()){n(null,p,m),Bn(),m._vnode=p;return}f(m.firstChild,p,null,null,null),Bn(),m._vnode=p},f=(p,m,b,F,E,$=!1)=>{$=$||!!m.dynamicChildren;const S=Lt(p)&&p.data==="[",I=()=>v(p,m,b,F,E,S),{type:x,ref:T,shapeFlag:N,patchFlag:U}=m;let Z=p.nodeType;m.el=p,U===-2&&($=!1,m.dynamicChildren=null);let B=null;switch(x){case Ct:Z!==3?m.children===""?(c(m.el=r(""),o(p),p),B=p):B=I():(p.data!==m.children&&(Ot(),p.data=m.children),B=i(p));break;case me:P(p)?(B=i(p),O(m.el=p.content.firstChild,p,b)):Z!==8||S?B=I():B=i(p);break;case rn:if(S&&(p=i(p),Z=p.nodeType),Z===1||Z===3){B=p;const X=!m.children.length;for(let G=0;G<m.staticCount;G++)X&&(m.children+=B.nodeType===1?B.outerHTML:B.data),G===m.staticCount-1&&(m.anchor=B),B=i(B);return S?i(B):B}else I();break;case xe:S?B=_(p,m,b,F,E,$):B=I();break;default:if(N&1)(Z!==1||m.type.toLowerCase()!==p.tagName.toLowerCase())&&!P(p)?B=I():B=g(p,m,b,F,E,$);else if(N&6){m.slotScopeIds=E;const X=o(p);if(S?B=D(p):Lt(p)&&p.data==="teleport start"?B=D(p,p.data,"teleport end"):B=i(p),t(m,X,null,b,F,Cn(X),$),Et(m)&&!m.type.__asyncResolved){let G;S?(G=ue(xe),G.anchor=B?B.previousSibling:X.lastChild):G=p.nodeType===3?Vo(""):ue("div"),G.el=p,m.component.subTree=G}}else N&64?Z!==8?B=I():B=m.type.hydrate(p,m,b,F,E,$,e,y):N&128&&(B=m.type.hydrate(p,m,b,F,Cn(o(p)),E,$,e,f))}return T!=null&&$t(T,null,F,m),B},g=(p,m,b,F,E,$)=>{$=$||!!m.dynamicChildren;const{type:S,dynamicProps:I,props:x,patchFlag:T,shapeFlag:N,dirs:U,transition:Z}=m,B=S==="input"||S==="option",X=!!I;if(B||X||T!==-1){U&&Ge(m,null,b,"created");let G=!1;if(P(p)){G=Fo(null,Z)&&b&&b.vnode.props&&b.vnode.props.appear;const re=p.content.firstChild;if(G){const oe=re.getAttribute("class");oe&&(re.$cls=oe),Z.beforeEnter(re)}O(re,p,b),m.el=p=re}if(N&16&&!(x&&(x.innerHTML||x.textContent))){let re=y(p.firstChild,m,p,b,F,E,$);for(re&&!Nn(p,1)&&Ot();re;){const oe=re;re=re.nextSibling,l(oe)}}else if(N&8){let re=m.children;re[0]===`
|
|
14
|
-
`&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&(re=re.slice(1));const{textContent:oe}=p;oe!==re&&oe!==re.replace(/\r\n|\r/g,`
|
|
15
|
-
`)&&(Nn(p,0)||Ot(),p.textContent=m.children)}if(x){if(B||X||!$||T&48){const re=p.tagName.includes("-");for(const oe in x)(B&&(oe.endsWith("value")||oe==="indeterminate")||gn(oe)&&!wt(oe)||oe[0]==="."||re&&!wt(oe)||I&&I.includes(oe))&&s(p,oe,null,x[oe],void 0,b)}else if(x.onClick)s(p,"onClick",null,x.onClick,void 0,b);else if(T&4&&dt(x.style))for(const re in x.style)x.style[re]}let he;(he=x&&x.onVnodeBeforeMount)&&Ne(he,b,m),U&&Ge(m,null,b,"beforeMount"),((he=x&&x.onVnodeMounted)||U||G)&&Do(()=>{he&&Ne(he,b,m),G&&Z.enter(p),U&&Ge(m,null,b,"mounted")},F)}return p.nextSibling},y=(p,m,b,F,E,$,S)=>{S=S||!!m.dynamicChildren;const I=m.children,x=I.length;let T=!1;for(let N=0;N<x;N++){const U=S?I[N]:I[N]=Oe(I[N]),Z=U.type===Ct;p?(Z&&!S&&N+1<x&&Oe(I[N+1]).type===Ct&&(c(r(p.data.slice(U.children.length)),b,i(p)),p.data=U.children),p=f(p,U,F,E,$,S)):Z&&!U.children?c(U.el=r(""),b):(T||(T=!0,Nn(b,1)||Ot()),n(null,U,b,null,F,E,Cn(b),$))}return p},_=(p,m,b,F,E,$)=>{const{slotScopeIds:S}=m;S&&(E=E?E.concat(S):S);const I=o(p),x=y(i(p),m,I,b,F,E,$);return x&&Lt(x)&&x.data==="]"?i(m.anchor=x):(Ot(),c(m.anchor=u("]"),I,x),x)},v=(p,m,b,F,E,$)=>{if(xc(p,m)||Ot(),m.el=null,$){const x=D(p);for(;;){const T=i(p);if(T&&T!==x)l(T);else break}}const S=i(p),I=o(p);return l(p),n(null,m,I,S,b,F,Cn(I),E),b&&(b.vnode.el=m.el,as(b,m.el)),S},D=(p,m="[",b="]")=>{let F=0;for(;p;)if(p=i(p),p&&Lt(p)&&(p.data===m&&F++,p.data===b)){if(F===0)return i(p);F--}return p},O=(p,m,b)=>{const F=m.parentNode;F&&F.replaceChild(p,m);let E=b;for(;E;)E.vnode.el===m&&(E.vnode.el=E.subTree.el=p),E=E.parent},P=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[a,f]}const Wn="data-allow-mismatch",Ec={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function Nn(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Wn);)e=e.parentElement;return mr(e&&e.getAttribute(Wn),t)}function mr(e,t){if(e==null)return!1;if(e==="")return!0;{const n=e.split(",");return t===0&&n.includes("children")?!0:n.includes(Ec[t])}}function xc(e,t){return Nn(e.parentElement,1)||Cc(e)||Ac(t)}function Cc(e){return e.nodeType===1&&mr(e.getAttribute(Wn),1)}function Ac({props:e}){const t=e&&e[Wn];return typeof t=="string"&&mr(t,1)}es().requestIdleCallback;es().cancelIdleCallback;function Mc(e,t){if(Lt(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(Lt(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Et=e=>!!e.type.__asyncLoader;function df(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let u=null,a,f=0;const g=()=>(f++,u=null,y()),y=()=>{let _;return u||(_=u=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),c)return new Promise((D,O)=>{c(v,()=>D(g()),()=>O(v),f+1)});throw v}).then(v=>_!==u&&u?u:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),a=v,v)))};return pr({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(_,v,D){let O=!1;(v.bu||(v.bu=[])).push(()=>O=!0);const P=()=>{O||D()},p=i?()=>{const m=i(P,b=>Mc(_,b));m&&(v.bum||(v.bum=[])).push(m)}:P;a?p():y().then(()=>!v.isUnmounted&&p())},get __asyncResolved(){return a},setup(){const _=ve;if(gr(_),a)return()=>An(a,_);const v=b=>{u=null,Kt(b,_,13,!s)};if(l&&_.suspense||Wt)return y().then(b=>()=>An(b,_)).catch(b=>(v(b),()=>s?ue(s,{error:b}):null));const D=Be(!1),O=Be(),P=Be(!!r);let p,m;return bn(()=>{p!=null&&clearTimeout(p),m!=null&&clearTimeout(m)}),r&&(m=setTimeout(()=>{_.isUnmounted||(P.value=!1)},r)),o!=null&&(p=setTimeout(()=>{if(!_.isUnmounted&&!D.value&&!O.value){const b=new Error(`Async component timed out after ${o}ms.`);v(b),O.value=b}},o)),y().then(()=>{_.isUnmounted||(D.value=!0,_.parent&&vn(_.parent.vnode)&&_.parent.update())}).catch(b=>{if(_.isUnmounted){u=null;return}v(b),O.value=b}),()=>{if(D.value&&a)return An(a,_);if(O.value&&s)return ue(s,{error:O.value});if(n&&!P.value)return An(n,_)}}})}function An(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=ue(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const vn=e=>e.type.__isKeepAlive;function Rc(e,t){fo(e,"a",t)}function Pc(e,t){fo(e,"da",t)}function fo(e,t,n=ve){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ls(t,s,n),n){let r=n.parent;for(;r&&r.parent;)vn(r.parent.vnode)&&Oc(s,t,n,r),r=r.parent}}function Oc(e,t,n,s){const r=ls(t,e,s,!0);bn(()=>{nr(s[t],r)},n)}function ls(e,t,n=ve,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Qe();const l=_n(n),c=$e(t,n,e,o);return l(),Ze(),c});return s?r.unshift(i):r.push(i),i}}const ct=e=>(t,n=ve)=>{(!Wt||e==="sp")&&ls(e,(...s)=>t(...s),n)},Fc=ct("bm"),qt=ct("m"),Ic=ct("bu"),Lc=ct("u"),ho=ct("bum"),bn=ct("um"),Nc=ct("sp"),Hc=ct("rtg"),Dc=ct("rtc");function $c(e,t=ve){ls("ec",e,t)}const po="components";function hf(e,t){return mo(po,e,!0,t)||e}const go=Symbol.for("v-ndc");function pf(e){return ce(e)?mo(po,e,!1)||e:e||go}function mo(e,t,n=!0,s=!1){const r=be||ve;if(r){const i=r.type;{const l=Ca(i,!1);if(l&&(l===t||l===Ce(t)||l===Zn(Ce(t))))return i}const o=Br(r[e]||i[e],t)||Br(r.appContext[e],t);return!o&&s?i:o}}function Br(e,t){return e&&(e[t]||e[Ce(t)]||e[Zn(Ce(t))])}function gf(e,t,n,s){let r;const i=n,o=W(e);if(o||ce(e)){const l=o&&dt(e);let c=!1,u=!1;l&&(c=!Fe(e),u=ot(e),e=ns(e)),r=new Array(e.length);for(let a=0,f=e.length;a<f;a++)r[a]=t(c?u?Bt(Ve(e[a])):Ve(e[a]):e[a],a,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(Q(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;c<u;c++){const a=l[c];r[c]=t(e[a],a,c,i)}}else r=[];return r}function mf(e,t,n={},s,r){if(be.ce||be.parent&&Et(be.parent)&&be.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),qn(),Ys(xe,null,[ue("slot",n,s&&s())],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),qn();const o=i&&yo(i(n)),l=n.key||o&&o.key,c=Ys(xe,{key:(l&&!Ie(l)?l:`_${t}`)+(!o&&s?"_fb":"")},o||(s?s():[]),o&&e._===1?64:-2);return!r&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function yo(e){return e.some(t=>Ut(t)?!(t.type===me||t.type===xe&&!yo(t.children)):!0)?e:null}function yf(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:Fn(s)]=e[s];return n}const Ws=e=>e?Uo(e)?us(e):Ws(e.parent):null,sn=ye(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ws(e.parent),$root:e=>Ws(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>bo(e),$forceUpdate:e=>e.f||(e.f=()=>{dr(e.update)}),$nextTick:e=>e.n||(e.n=is.bind(e.proxy)),$watch:e=>pc.bind(e)}),_s=(e,t)=>e!==se&&!e.__isScriptSetup&&ee(e,t),kc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(_s(s,t))return o[t]=1,s[t];if(r!==se&&ee(r,t))return o[t]=2,r[t];if(ee(i,t))return o[t]=3,i[t];if(n!==se&&ee(n,t))return o[t]=4,n[t];Ks&&(o[t]=0)}}const u=sn[t];let a,f;if(u)return t==="$attrs"&&Se(e.attrs,"get",""),u(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==se&&ee(n,t))return o[t]=4,n[t];if(f=c.config.globalProperties,ee(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return _s(r,t)?(r[t]=n,!0):s!==se&&ee(s,t)?(s[t]=n,!0):ee(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==se&&l[0]!=="$"&&ee(e,l)||_s(t,l)||ee(i,l)||ee(s,l)||ee(sn,l)||ee(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ee(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function vf(){return jc().slots}function jc(e){const t=Mt();return t.setupContext||(t.setupContext=Ko(t))}function Vr(e){return W(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ks=!0;function Bc(e){const t=bo(e),n=e.proxy,s=e.ctx;Ks=!1,t.beforeCreate&&Ur(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:a,beforeMount:f,mounted:g,beforeUpdate:y,updated:_,activated:v,deactivated:D,beforeDestroy:O,beforeUnmount:P,destroyed:p,unmounted:m,render:b,renderTracked:F,renderTriggered:E,errorCaptured:$,serverPrefetch:S,expose:I,inheritAttrs:x,components:T,directives:N,filters:U}=t;if(u&&Vc(u,s,null),o)for(const X in o){const G=o[X];q(G)&&(s[X]=G.bind(n))}if(r){const X=r.call(n,n);Q(X)&&(e.data=jt(X))}if(Ks=!0,i)for(const X in i){const G=i[X],he=q(G)?G.bind(n,n):q(G.get)?G.get.bind(n,n):ze,re=!q(G)&&q(G.set)?G.set.bind(n):ze,oe=le({get:he,set:re});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>oe.value,set:We=>oe.value=We})}if(l)for(const X in l)vo(l[X],s,n,X);if(c){const X=q(c)?c.call(n):c;Reflect.ownKeys(X).forEach(G=>{fc(G,X[G])})}a&&Ur(a,e,"c");function B(X,G){W(G)?G.forEach(he=>X(he.bind(n))):G&&X(G.bind(n))}if(B(Fc,f),B(qt,g),B(Ic,y),B(Lc,_),B(Rc,v),B(Pc,D),B($c,$),B(Dc,F),B(Hc,E),B(ho,P),B(bn,m),B(Nc,S),W(I))if(I.length){const X=e.exposed||(e.exposed={});I.forEach(G=>{Object.defineProperty(X,G,{get:()=>n[G],set:he=>n[G]=he,enumerable:!0})})}else e.exposed||(e.exposed={});b&&e.render===ze&&(e.render=b),x!=null&&(e.inheritAttrs=x),T&&(e.components=T),N&&(e.directives=N),S&&gr(e)}function Vc(e,t,n=ze){W(e)&&(e=qs(e));for(const s in e){const r=e[s];let i;Q(r)?"default"in r?i=Tt(r.from||s,r.default,!0):i=Tt(r.from||s):i=Tt(r),fe(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Ur(e,t,n){$e(W(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function vo(e,t,n,s){let r=s.includes(".")?so(n,s):()=>n[s];if(ce(e)){const i=t[e];q(i)&&De(r,i)}else if(q(e))De(r,e.bind(n));else if(Q(e))if(W(e))e.forEach(i=>vo(i,t,n,s));else{const i=q(e.handler)?e.handler.bind(n):t[e.handler];q(i)&&De(r,i,e)}}function bo(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>Kn(c,u,o,!0)),Kn(c,t,o)),Q(t)&&i.set(t,c),c}function Kn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Kn(e,i,n,!0),r&&r.forEach(o=>Kn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Uc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Uc={data:Wr,props:Kr,emits:Kr,methods:Zt,computed:Zt,beforeCreate:Te,created:Te,beforeMount:Te,mounted:Te,beforeUpdate:Te,updated:Te,beforeDestroy:Te,beforeUnmount:Te,destroyed:Te,unmounted:Te,activated:Te,deactivated:Te,errorCaptured:Te,serverPrefetch:Te,components:Zt,directives:Zt,watch:Kc,provide:Wr,inject:Wc};function Wr(e,t){return t?e?function(){return ye(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Wc(e,t){return Zt(qs(e),qs(t))}function qs(e){if(W(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Te(e,t){return e?[...new Set([].concat(e,t))]:t}function Zt(e,t){return e?ye(Object.create(null),e,t):t}function Kr(e,t){return e?W(e)&&W(t)?[...new Set([...e,...t])]:ye(Object.create(null),Vr(e),Vr(t??{})):t}function Kc(e,t){if(!e)return t;if(!t)return e;const n=ye(Object.create(null),e);for(const s in t)n[s]=Te(e[s],t[s]);return n}function _o(){return{app:null,config:{isNativeTag:xi,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let qc=0;function Gc(e,t){return function(s,r=null){q(s)||(s=ye({},s)),r!=null&&!Q(r)&&(r=null);const i=_o(),o=new WeakSet,l=[];let c=!1;const u=i.app={_uid:qc++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:Ma,get config(){return i.config},set config(a){},use(a,...f){return o.has(a)||(a&&q(a.install)?(o.add(a),a.install(u,...f)):q(a)&&(o.add(a),a(u,...f))),u},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),u},component(a,f){return f?(i.components[a]=f,u):i.components[a]},directive(a,f){return f?(i.directives[a]=f,u):i.directives[a]},mount(a,f,g){if(!c){const y=u._ceVNode||ue(s,r);return y.appContext=i,g===!0?g="svg":g===!1&&(g=void 0),f&&t?t(y,a):e(y,a,g),c=!0,u._container=a,a.__vue_app__=u,us(y.component)}},onUnmount(a){l.push(a)},unmount(){c&&($e(l,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(a,f){return i.provides[a]=f,u},runWithContext(a){const f=xt;xt=u;try{return a()}finally{xt=f}}};return u}}let xt=null;const Xc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ce(t)}Modifiers`]||e[`${gt(t)}Modifiers`];function Yc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||se;let r=n;const i=t.startsWith("update:"),o=i&&Xc(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>ce(a)?a.trim():a)),o.number&&(r=n.map(sr)));let l,c=s[l=Fn(t)]||s[l=Fn(Ce(t))];!c&&i&&(c=s[l=Fn(gt(t))]),c&&$e(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,$e(u,e,6,r)}}const Jc=new WeakMap;function wo(e,t,n=!1){const s=n?Jc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!q(e)){const c=u=>{const a=wo(u,t,!0);a&&(l=!0,ye(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(Q(e)&&s.set(e,null),null):(W(i)?i.forEach(c=>o[c]=null):ye(o,i),Q(e)&&s.set(e,o),o)}function cs(e,t){return!e||!gn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ee(e,t[0].toLowerCase()+t.slice(1))||ee(e,gt(t))||ee(e,t))}function ws(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:a,props:f,data:g,setupState:y,ctx:_,inheritAttrs:v}=e,D=Vn(e);let O,P;try{if(n.shapeFlag&4){const m=r||s,b=m;O=Oe(u.call(b,m,a,f,y,g,_)),P=l}else{const m=t;O=Oe(m.length>1?m(f,{attrs:l,slots:o,emit:c}):m(f,null)),P=t.props?l:Qc(l)}}catch(m){on.length=0,Kt(m,e,1),O=ue(me)}let p=O;if(P&&v!==!1){const m=Object.keys(P),{shapeFlag:b}=p;m.length&&b&7&&(i&&m.some(Jn)&&(P=Zc(P,i)),p=ht(p,P,!1,!0))}return n.dirs&&(p=ht(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&dn(p,n.transition),O=p,Vn(D),O}function zc(e,t=!0){let n;for(let s=0;s<e.length;s++){const r=e[s];if(Ut(r)){if(r.type!==me||r.children==="v-if"){if(n)return;n=r}}else return}return n}const Qc=e=>{let t;for(const n in e)(n==="class"||n==="style"||gn(n))&&((t||(t={}))[n]=e[n]);return t},Zc=(e,t)=>{const n={};for(const s in e)(!Jn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function ea(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?qr(s,o,u):!!o;if(c&8){const a=t.dynamicProps;for(let f=0;f<a.length;f++){const g=a[f];if(So(o,s,g)&&!cs(u,g))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?qr(s,o,u):!0:!!o;return!1}function qr(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(So(t,e,i)&&!cs(n,i))return!0}return!1}function So(e,t,n){const s=e[n],r=t[n];return n==="style"&&Q(s)&&Q(r)?!or(s,r):s!==r}function as({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const To={},Eo=()=>Object.create(To),xo=e=>Object.getPrototypeOf(e)===To;function ta(e,t,n,s=!1){const r={},i=Eo();e.propsDefaults=Object.create(null),Co(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Yl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function na(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=z(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let f=0;f<a.length;f++){let g=a[f];if(cs(e.emitsOptions,g))continue;const y=t[g];if(c)if(ee(i,g))y!==i[g]&&(i[g]=y,u=!0);else{const _=Ce(g);r[_]=Gs(c,l,_,y,e,!1)}else y!==i[g]&&(i[g]=y,u=!0)}}}else{Co(e,t,r,i)&&(u=!0);let a;for(const f in l)(!t||!ee(t,f)&&((a=gt(f))===f||!ee(t,a)))&&(c?n&&(n[f]!==void 0||n[a]!==void 0)&&(r[f]=Gs(c,l,f,void 0,e,!0)):delete r[f]);if(i!==l)for(const f in i)(!t||!ee(t,f))&&(delete i[f],u=!0)}u&&rt(e.attrs,"set","")}function Co(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(wt(c))continue;const u=t[c];let a;r&&ee(r,a=Ce(c))?!i||!i.includes(a)?n[a]=u:(l||(l={}))[a]=u:cs(e.emitsOptions,c)||(!(c in s)||u!==s[c])&&(s[c]=u,o=!0)}if(i){const c=z(n),u=l||se;for(let a=0;a<i.length;a++){const f=i[a];n[f]=Gs(r,c,f,u[f],e,!ee(u,f))}}return o}function Gs(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=ee(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&q(c)){const{propsDefaults:u}=r;if(n in u)s=u[n];else{const a=_n(r);s=u[n]=c.call(null,t),a()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===gt(n))&&(s=!0))}return s}const sa=new WeakMap;function Ao(e,t,n=!1){const s=n?sa:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!q(e)){const a=f=>{c=!0;const[g,y]=Ao(f,t,!0);ye(o,g),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return Q(e)&&s.set(e,Nt),Nt;if(W(i))for(let a=0;a<i.length;a++){const f=Ce(i[a]);Gr(f)&&(o[f]=se)}else if(i)for(const a in i){const f=Ce(a);if(Gr(f)){const g=i[a],y=o[f]=W(g)||q(g)?{type:g}:ye({},g),_=y.type;let v=!1,D=!0;if(W(_))for(let O=0;O<_.length;++O){const P=_[O],p=q(P)&&P.name;if(p==="Boolean"){v=!0;break}else p==="String"&&(D=!1)}else v=q(_)&&_.name==="Boolean";y[0]=v,y[1]=D,(v||ee(y,"default"))&&l.push(f)}}const u=[o,l];return Q(e)&&s.set(e,u),u}function Gr(e){return e[0]!=="$"&&!wt(e)}const yr=e=>e==="_"||e==="_ctx"||e==="$stable",vr=e=>W(e)?e.map(Oe):[Oe(e)],ra=(e,t,n)=>{if(t._n)return t;const s=uc((...r)=>vr(t(...r)),n);return s._c=!1,s},Mo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(yr(r))continue;const i=e[r];if(q(i))t[r]=ra(r,i,s);else if(i!=null){const o=vr(i);t[r]=()=>o}}},Ro=(e,t)=>{const n=vr(t);e.slots.default=()=>n},Po=(e,t,n)=>{for(const s in t)(n||!yr(s))&&(e[s]=t[s])},ia=(e,t,n)=>{const s=e.slots=Eo();if(e.vnode.shapeFlag&32){const r=t._;r?(Po(s,t,n),n&&Pi(s,"_",r,!0)):Mo(t,s)}else t&&Ro(e,t)},oa=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=se;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Po(r,t,n):(i=!t.$stable,Mo(t,r)),o=t}else t&&(Ro(e,t),o={default:1});if(i)for(const l in r)!yr(l)&&o[l]==null&&delete r[l]},_e=Do;function la(e){return Oo(e)}function ca(e){return Oo(e,Tc)}function Oo(e,t){const n=es();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:a,parentNode:f,nextSibling:g,setScopeId:y=ze,insertStaticContent:_}=e,v=(d,h,w,R=null,A=null,C=null,k=void 0,H=null,L=!!h.dynamicChildren)=>{if(d===h)return;d&&!Je(d,h)&&(R=wn(d),We(d,A,C,!0),d=null),h.patchFlag===-2&&(L=!1,h.dynamicChildren=null);const{type:M,ref:K,shapeFlag:j}=h;switch(M){case Ct:D(d,h,w,R);break;case me:O(d,h,w,R);break;case rn:d==null&&P(h,w,R,k);break;case xe:T(d,h,w,R,A,C,k,H,L);break;default:j&1?b(d,h,w,R,A,C,k,H,L):j&6?N(d,h,w,R,A,C,k,H,L):(j&64||j&128)&&M.process(d,h,w,R,A,C,k,H,L,Rt)}K!=null&&A?$t(K,d&&d.ref,C,h||d,!h):K==null&&d&&d.ref!=null&&$t(d.ref,null,C,d,!0)},D=(d,h,w,R)=>{if(d==null)s(h.el=l(h.children),w,R);else{const A=h.el=d.el;h.children!==d.children&&u(A,h.children)}},O=(d,h,w,R)=>{d==null?s(h.el=c(h.children||""),w,R):h.el=d.el},P=(d,h,w,R)=>{[d.el,d.anchor]=_(d.children,h,w,R,d.el,d.anchor)},p=({el:d,anchor:h},w,R)=>{let A;for(;d&&d!==h;)A=g(d),s(d,w,R),d=A;s(h,w,R)},m=({el:d,anchor:h})=>{let w;for(;d&&d!==h;)w=g(d),r(d),d=w;r(h)},b=(d,h,w,R,A,C,k,H,L)=>{if(h.type==="svg"?k="svg":h.type==="math"&&(k="mathml"),d==null)F(h,w,R,A,C,k,H,L);else{const M=d.el&&d.el._isVueCE?d.el:null;try{M&&M._beginPatch(),S(d,h,A,C,k,H,L)}finally{M&&M._endPatch()}}},F=(d,h,w,R,A,C,k,H)=>{let L,M;const{props:K,shapeFlag:j,transition:V,dirs:Y}=d;if(L=d.el=o(d.type,C,K&&K.is,K),j&8?a(L,d.children):j&16&&$(d.children,L,null,R,A,Ss(d,C),k,H),Y&&Ge(d,null,R,"created"),E(L,d,d.scopeId,k,R),K){for(const ne in K)ne!=="value"&&!wt(ne)&&i(L,ne,null,K[ne],C,R);"value"in K&&i(L,"value",null,K.value,C),(M=K.onVnodeBeforeMount)&&Ne(M,R,d)}Y&&Ge(d,null,R,"beforeMount");const J=Fo(A,V);J&&V.beforeEnter(L),s(L,h,w),((M=K&&K.onVnodeMounted)||J||Y)&&_e(()=>{try{M&&Ne(M,R,d),J&&V.enter(L),Y&&Ge(d,null,R,"mounted")}finally{}},A)},E=(d,h,w,R,A)=>{if(w&&y(d,w),R)for(let C=0;C<R.length;C++)y(d,R[C]);if(A){let C=A.subTree;if(h===C||No(C.type)&&(C.ssContent===h||C.ssFallback===h)){const k=A.vnode;E(d,k,k.scopeId,k.slotScopeIds,A.parent)}}},$=(d,h,w,R,A,C,k,H,L=0)=>{for(let M=L;M<d.length;M++){const K=d[M]=H?st(d[M]):Oe(d[M]);v(null,K,h,w,R,A,C,k,H)}},S=(d,h,w,R,A,C,k)=>{const H=h.el=d.el;let{patchFlag:L,dynamicChildren:M,dirs:K}=h;L|=d.patchFlag&16;const j=d.props||se,V=h.props||se;let Y;if(w&&mt(w,!1),(Y=V.onVnodeBeforeUpdate)&&Ne(Y,w,h,d),K&&Ge(h,d,w,"beforeUpdate"),w&&mt(w,!0),M&&(!d.dynamicChildren||d.dynamicChildren.length!==M.length)&&(L=0,k=!1,M=null),(j.innerHTML&&V.innerHTML==null||j.textContent&&V.textContent==null)&&a(H,""),M?I(d.dynamicChildren,M,H,w,R,Ss(h,A),C):k||G(d,h,H,null,w,R,Ss(h,A),C,!1),L>0){if(L&16)x(H,j,V,w,A);else if(L&2&&j.class!==V.class&&i(H,"class",null,V.class,A),L&4&&i(H,"style",j.style,V.style,A),L&8){const J=h.dynamicProps;for(let ne=0;ne<J.length;ne++){const te=J[ne],de=j[te],pe=V[te];(pe!==de||te==="value")&&i(H,te,de,pe,A,w)}}L&1&&d.children!==h.children&&a(H,h.children)}else!k&&M==null&&x(H,j,V,w,A);((Y=V.onVnodeUpdated)||K)&&_e(()=>{Y&&Ne(Y,w,h,d),K&&Ge(h,d,w,"updated")},R)},I=(d,h,w,R,A,C,k)=>{for(let H=0;H<h.length;H++){const L=d[H],M=h[H],K=L.el&&(L.type===xe||!Je(L,M)||L.shapeFlag&198)?f(L.el):w;v(L,M,K,null,R,A,C,k,!0)}},x=(d,h,w,R,A)=>{if(h!==w){if(h!==se)for(const C in h)!wt(C)&&!(C in w)&&i(d,C,h[C],null,A,R);for(const C in w){if(wt(C))continue;const k=w[C],H=h[C];k!==H&&C!=="value"&&i(d,C,H,k,A,R)}"value"in w&&i(d,"value",h.value,w.value,A)}},T=(d,h,w,R,A,C,k,H,L)=>{const M=h.el=d?d.el:l(""),K=h.anchor=d?d.anchor:l("");let{patchFlag:j,dynamicChildren:V,slotScopeIds:Y}=h;Y&&(H=H?H.concat(Y):Y),d==null?(s(M,w,R),s(K,w,R),$(h.children||[],w,K,A,C,k,H,L)):j>0&&j&64&&V&&d.dynamicChildren&&d.dynamicChildren.length===V.length?(I(d.dynamicChildren,V,w,A,C,k,H),(h.key!=null||A&&h===A.subTree)&&br(d,h,!0)):G(d,h,w,K,A,C,k,H,L)},N=(d,h,w,R,A,C,k,H,L)=>{h.slotScopeIds=H,d==null?h.shapeFlag&512?A.ctx.activate(h,w,R,k,L):U(h,w,R,A,C,k,L):Z(d,h,L)},U=(d,h,w,R,A,C,k)=>{const H=d.component=Sa(d,R,A);if(vn(d)&&(H.ctx.renderer=Rt),Ta(H,!1,k),H.asyncDep){if(A&&A.registerDep(H,B,k),!d.el){const L=H.subTree=ue(me);O(null,L,h,w),d.placeholder=L.el}}else B(H,d,h,w,A,C,k)},Z=(d,h,w)=>{const R=h.component=d.component;if(ea(d,h,w))if(R.asyncDep&&!R.asyncResolved){X(R,h,w);return}else R.next=h,R.update();else h.el=d.el,R.vnode=h},B=(d,h,w,R,A,C,k)=>{const H=()=>{if(d.isMounted){let{next:j,bu:V,u:Y,parent:J,vnode:ne}=d;{const Re=Io(d);if(Re){j&&(j.el=ne.el,X(d,j,k)),Re.asyncDep.then(()=>{_e(()=>{d.isUnmounted||M()},A)});return}}let te=j,de;mt(d,!1),j?(j.el=ne.el,X(d,j,k)):j=ne,V&&In(V),(de=j.props&&j.props.onVnodeBeforeUpdate)&&Ne(de,J,j,ne),mt(d,!0);const pe=ws(d),ke=d.subTree;d.subTree=pe,v(ke,pe,f(ke.el),wn(ke),d,A,C),j.el=pe.el,te===null&&as(d,pe.el),Y&&_e(Y,A),(de=j.props&&j.props.onVnodeUpdated)&&_e(()=>Ne(de,J,j,ne),A)}else{let j;const{el:V,props:Y}=h,{bm:J,m:ne,parent:te,root:de,type:pe}=d,ke=Et(h);if(mt(d,!1),J&&In(J),!ke&&(j=Y&&Y.onVnodeBeforeMount)&&Ne(j,te,h),mt(d,!0),V&&ps){const Re=()=>{d.subTree=ws(d),ps(V,d.subTree,d,A,null)};ke&&pe.__asyncHydrate?pe.__asyncHydrate(V,d,Re):Re()}else{de.ce&&de.ce._hasShadowRoot()&&de.ce._injectChildStyle(pe,d.parent?d.parent.type:void 0);const Re=d.subTree=ws(d);v(null,Re,w,R,d,A,C),h.el=Re.el}if(ne&&_e(ne,A),!ke&&(j=Y&&Y.onVnodeMounted)){const Re=h;_e(()=>Ne(j,te,Re),A)}(h.shapeFlag&256||te&&Et(te.vnode)&&te.vnode.shapeFlag&256)&&d.a&&_e(d.a,A),d.isMounted=!0,h=w=R=null}};d.scope.on();const L=d.effect=new Hi(H);d.scope.off();const M=d.update=L.run.bind(L),K=d.job=L.runIfDirty.bind(L);K.i=d,K.id=d.uid,L.scheduler=()=>dr(K),mt(d,!0),M()},X=(d,h,w)=>{h.component=d;const R=d.vnode.props;d.vnode=h,d.next=null,na(d,h.props,R,w),oa(d,h.children,w),Qe(),Lr(d),Ze()},G=(d,h,w,R,A,C,k,H,L=!1)=>{const M=d&&d.children,K=d?d.shapeFlag:0,j=h.children,{patchFlag:V,shapeFlag:Y}=h;if(V>0){if(V&128){re(M,j,w,R,A,C,k,H,L);return}else if(V&256){he(M,j,w,R,A,C,k,H,L);return}}Y&8?(K&16&&Gt(M,A,C),j!==M&&a(w,j)):K&16?Y&16?re(M,j,w,R,A,C,k,H,L):Gt(M,A,C,!0):(K&8&&a(w,""),Y&16&&$(j,w,R,A,C,k,H,L))},he=(d,h,w,R,A,C,k,H,L)=>{d=d||Nt,h=h||Nt;const M=d.length,K=h.length,j=Math.min(M,K);let V;for(V=0;V<j;V++){const Y=h[V]=L?st(h[V]):Oe(h[V]);v(d[V],Y,w,null,A,C,k,H,L)}M>K?Gt(d,A,C,!0,!1,j):$(h,w,R,A,C,k,H,L,j)},re=(d,h,w,R,A,C,k,H,L)=>{let M=0;const K=h.length;let j=d.length-1,V=K-1;for(;M<=j&&M<=V;){const Y=d[M],J=h[M]=L?st(h[M]):Oe(h[M]);if(Je(Y,J))v(Y,J,w,null,A,C,k,H,L);else break;M++}for(;M<=j&&M<=V;){const Y=d[j],J=h[V]=L?st(h[V]):Oe(h[V]);if(Je(Y,J))v(Y,J,w,null,A,C,k,H,L);else break;j--,V--}if(M>j){if(M<=V){const Y=V+1,J=Y<K?h[Y].el:R;for(;M<=V;)v(null,h[M]=L?st(h[M]):Oe(h[M]),w,J,A,C,k,H,L),M++}}else if(M>V)for(;M<=j;)We(d[M],A,C,!0),M++;else{const Y=M,J=M,ne=new Map;for(M=J;M<=V;M++){const Pe=h[M]=L?st(h[M]):Oe(h[M]);Pe.key!=null&&ne.set(Pe.key,M)}let te,de=0;const pe=V-J+1;let ke=!1,Re=0;const Xt=new Array(pe);for(M=0;M<pe;M++)Xt[M]=0;for(M=Y;M<=j;M++){const Pe=d[M];if(de>=pe){We(Pe,A,C,!0);continue}let Ke;if(Pe.key!=null)Ke=ne.get(Pe.key);else for(te=J;te<=V;te++)if(Xt[te-J]===0&&Je(Pe,h[te])){Ke=te;break}Ke===void 0?We(Pe,A,C,!0):(Xt[Ke-J]=M+1,Ke>=Re?Re=Ke:ke=!0,v(Pe,h[Ke],w,null,A,C,k,H,L),de++)}const Cr=ke?aa(Xt):Nt;for(te=Cr.length-1,M=pe-1;M>=0;M--){const Pe=J+M,Ke=h[Pe],Ar=h[Pe+1],Mr=Pe+1<K?Ar.el||Lo(Ar):R;Xt[M]===0?v(null,Ke,w,Mr,A,C,k,H,L):ke&&(te<0||M!==Cr[te]?oe(Ke,w,Mr,2):te--)}}},oe=(d,h,w,R,A=null)=>{const{el:C,type:k,transition:H,children:L,shapeFlag:M}=d;if(M&6){oe(d.component.subTree,h,w,R);return}if(M&128){d.suspense.move(h,w,R);return}if(M&64){k.move(d,h,w,Rt);return}if(k===xe){s(C,h,w);for(let j=0;j<L.length;j++)oe(L[j],h,w,R);s(d.anchor,h,w);return}if(k===rn){p(d,h,w);return}if(R!==2&&M&1&&H)if(R===0)H.persisted&&!C[He]?s(C,h,w):(H.beforeEnter(C),s(C,h,w),_e(()=>H.enter(C),A));else{const{leave:j,delayLeave:V,afterLeave:Y}=H,J=()=>{d.ctx.isUnmounted?r(C):s(C,h,w)},ne=()=>{const te=C._isLeaving||!!C[He];C._isLeaving&&C[He](!0),H.persisted&&!te?J():j(C,()=>{J(),Y&&Y()})};V?V(C,J,ne):ne()}else s(C,h,w)},We=(d,h,w,R=!1,A=!1)=>{const{type:C,props:k,ref:H,children:L,dynamicChildren:M,shapeFlag:K,patchFlag:j,dirs:V,cacheIndex:Y,memo:J}=d;if(j===-2&&(A=!1),H!=null&&(Qe(),$t(H,null,w,d,!0),Ze()),Y!=null&&(h.renderCache[Y]=void 0),K&256){h.ctx.deactivate(d);return}const ne=K&1&&V,te=!Et(d);let de;if(te&&(de=k&&k.onVnodeBeforeUnmount)&&Ne(de,h,d),K&6)pl(d.component,w,R);else{if(K&128){d.suspense.unmount(w,R);return}ne&&Ge(d,null,h,"beforeUnmount"),K&64?d.type.remove(d,h,w,Rt,R):M&&!M.hasOnce&&(C!==xe||j>0&&j&64)?Gt(M,h,w,!1,!0):(C===xe&&j&384||!A&&K&16)&&Gt(L,h,w),R&&Er(d)}const pe=J!=null&&Y==null;(te&&(de=k&&k.onVnodeUnmounted)||ne||pe)&&_e(()=>{de&&Ne(de,h,d),ne&&Ge(d,null,h,"unmounted"),pe&&(d.el=null)},w)},Er=d=>{const{type:h,el:w,anchor:R,transition:A}=d;if(h===xe){hl(w,R);return}if(h===rn){m(d);return}const C=()=>{r(w),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(d.shapeFlag&1&&A&&!A.persisted){const{leave:k,delayLeave:H}=A,L=()=>k(w,C);H?H(d.el,C,L):L()}else C()},hl=(d,h)=>{let w;for(;d!==h;)w=g(d),r(d),d=w;r(h)},pl=(d,h,w)=>{const{bum:R,scope:A,job:C,subTree:k,um:H,m:L,a:M}=d;Xr(L),Xr(M),R&&In(R),A.stop(),C&&(C.flags|=8,We(k,d,h,w)),H&&_e(H,h),_e(()=>{d.isUnmounted=!0},h)},Gt=(d,h,w,R=!1,A=!1,C=0)=>{for(let k=C;k<d.length;k++)We(d[k],h,w,R,A)},wn=d=>{if(d.shapeFlag&6)return wn(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=g(d.anchor||d.el),w=h&&h[ro];return w?g(w):h};let ds=!1;const xr=(d,h,w)=>{let R;d==null?h._vnode&&(We(h._vnode,null,null,!0),R=h._vnode.component):v(h._vnode||null,d,h,null,null,null,w),h._vnode=d,ds||(ds=!0,Lr(R),Bn(),ds=!1)},Rt={p:v,um:We,m:oe,r:Er,mt:U,mc:$,pc:G,pbc:I,n:wn,o:e};let hs,ps;return t&&([hs,ps]=t(Rt)),{render:xr,hydrate:hs,createApp:Gc(xr,hs)}}function Ss({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function mt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Fo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function br(e,t,n=!1){const s=e.children,r=t.children;if(W(s)&&W(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=st(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&br(o,l)),l.type===Ct&&(l.patchFlag===-1&&(l=r[i]=st(l)),l.el=o.el),l.type===me&&!l.el&&(l.el=o.el)}}function aa(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const u=e[s];if(u!==0){if(r=n[n.length-1],e[r]<u){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<u?i=l+1:o=l;u<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Io(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Io(t)}function Xr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Lo(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Lo(t.subTree):null}const No=e=>e.__isSuspense;let Xs=0;const ua={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,i,o,l,c,u){if(e==null)fa(t,n,s,r,i,o,l,c,u);else{if(i&&i.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}da(e,t,n,s,r,o,l,c,u)}},hydrate:ha,normalize:pa},bf=ua;function hn(e,t){const n=e.props&&e.props[t];q(n)&&n()}function fa(e,t,n,s,r,i,o,l,c){const{p:u,o:{createElement:a}}=c,f=a("div"),g=e.suspense=Ho(e,r,s,t,f,n,i,o,l,c);u(null,g.pendingBranch=e.ssContent,f,null,s,g,i,o),g.deps>0?(hn(e,"onPending"),hn(e,"onFallback"),u(null,e.ssFallback,t,n,s,null,i,o),kt(g,e.ssFallback)):g.resolve(!1,!0)}function da(e,t,n,s,r,i,o,l,{p:c,um:u,o:{createElement:a}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const g=t.ssContent,y=t.ssFallback,{activeBranch:_,pendingBranch:v,isInFallback:D,isHydrating:O}=f;if(v)f.pendingBranch=g,Je(v,g)?(c(v,g,f.hiddenContainer,null,r,f,i,o,l),f.deps<=0?f.resolve():D&&(O||(c(_,y,n,s,r,null,i,o,l),kt(f,y)))):(f.pendingId=Xs++,O?(f.isHydrating=!1,f.activeBranch=v):u(v,r,f),f.deps=0,f.effects.length=0,f.hiddenContainer=a("div"),D?(c(null,g,f.hiddenContainer,null,r,f,i,o,l),f.deps<=0?f.resolve():(c(_,y,n,s,r,null,i,o,l),kt(f,y))):_&&Je(_,g)?(c(_,g,n,s,r,f,i,o,l),f.resolve(!0)):(c(null,g,f.hiddenContainer,null,r,f,i,o,l),f.deps<=0&&f.resolve()));else if(_&&Je(_,g))c(_,g,n,s,r,f,i,o,l),kt(f,g);else if(hn(t,"onPending"),f.pendingBranch=g,g.shapeFlag&512?f.pendingId=g.component.suspenseId:f.pendingId=Xs++,c(null,g,f.hiddenContainer,null,r,f,i,o,l),f.deps<=0)f.resolve();else{const{timeout:P,pendingId:p}=f;P>0?setTimeout(()=>{f.pendingId===p&&f.fallback(y)},P):P===0&&f.fallback(y)}}function Ho(e,t,n,s,r,i,o,l,c,u,a=!1){const{p:f,m:g,um:y,n:_,o:{parentNode:v,remove:D}}=u;let O;const P=ga(e);P&&t&&t.pendingBranch&&(O=t.pendingId,t.deps++);const p=e.props?Oi(e.props.timeout):void 0,m=i,b={vnode:e,parent:t,parentComponent:n,namespace:o,container:s,hiddenContainer:r,deps:0,pendingId:Xs++,timeout:typeof p=="number"?p:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!a,isHydrating:a,isUnmounted:!1,effects:[],resolve(F=!1,E=!1){const{vnode:$,activeBranch:S,pendingBranch:I,pendingId:x,effects:T,parentComponent:N,container:U,isInFallback:Z}=b;let B=!1;if(b.isHydrating)b.isHydrating=!1;else if(!F){B=S&&I.transition&&I.transition.mode==="out-in";let he=!1;B&&(S.transition.afterLeave=()=>{x===b.pendingId&&(g(I,U,i===m&&!he?_(S):i,0),js(T),Z&&$.ssFallback&&($.ssFallback.el=null))}),S&&!b.isFallbackMountPending&&(v(S.el)===U&&(i=_(S),he=!0),y(S,N,b,!0),!B&&Z&&$.ssFallback&&_e(()=>$.ssFallback.el=null,b)),B||g(I,U,i,0)}b.isFallbackMountPending=!1,kt(b,I),b.pendingBranch=null,b.isInFallback=!1;let X=b.parent,G=!1;for(;X;){if(X.pendingBranch){X.effects.push(...T),G=!0;break}X=X.parent}!G&&!B&&js(T),b.effects=[],P&&t&&t.pendingBranch&&O===t.pendingId&&(t.deps--,t.deps===0&&!E&&t.resolve()),hn($,"onResolve")},fallback(F){if(!b.pendingBranch)return;const{vnode:E,activeBranch:$,parentComponent:S,container:I,namespace:x}=b;hn(E,"onFallback");const T=_($),N=()=>{b.isFallbackMountPending=!1,b.isInFallback&&(f(null,F,I,T,S,null,x,l,c),kt(b,F))},U=F.transition&&F.transition.mode==="out-in";U&&(b.isFallbackMountPending=!0,$.transition.afterLeave=N),b.isInFallback=!0,y($,S,null,!0),U||N()},move(F,E,$){b.activeBranch&&g(b.activeBranch,F,E,$),b.container=F},next(){return b.activeBranch&&_(b.activeBranch)},registerDep(F,E,$){const S=!!b.pendingBranch;S&&b.deps++;const I=F.vnode.el;F.asyncDep.catch(x=>{Kt(x,F,0)}).then(x=>{if(F.isUnmounted||b.isUnmounted||b.pendingId!==F.suspenseId)return;zs(),F.asyncResolved=!0;const{vnode:T}=F;Qs(F,x),I&&(T.el=I);const N=!I&&F.subTree.el;E(F,T,v(I||F.subTree.el),I?null:_(F.subTree),b,o,$),N&&(T.placeholder=null,D(N)),as(F,T.el),S&&--b.deps===0&&b.resolve()})},unmount(F,E){b.isUnmounted=!0,b.activeBranch&&y(b.activeBranch,n,F,E),b.pendingBranch&&y(b.pendingBranch,n,F,E)}};return b}function ha(e,t,n,s,r,i,o,l,c){const u=t.suspense=Ho(t,s,n,e.parentNode,document.createElement("div"),null,r,i,o,l,!0),a=c(e,u.pendingBranch=t.ssContent,n,u,i,o);return u.deps===0&&u.resolve(!1,!0),a}function pa(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=Yr(s?n.default:n),e.ssFallback=s?Yr(n.fallback):ue(me)}function Yr(e){let t;if(q(e)){const n=Vt&&e._c;n&&(e._d=!1,qn()),e=e(),n&&(e._d=!0,t=Ae,$o())}return W(e)&&(e=zc(e)),e=Oe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Do(e,t){t&&t.pendingBranch?W(e)?t.effects.push(...e):t.effects.push(e):js(e)}function kt(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let r=t.el;for(;!r&&t.component;)t=t.component.subTree,r=t.el;n.el=r,s&&s.subTree===n&&(s.vnode.el=r,as(s,r))}function ga(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const xe=Symbol.for("v-fgt"),Ct=Symbol.for("v-txt"),me=Symbol.for("v-cmt"),rn=Symbol.for("v-stc"),on=[];let Ae=null;function qn(e=!1){on.push(Ae=e?null:[])}function $o(){on.pop(),Ae=on[on.length-1]||null}let Vt=1;function Gn(e,t=!1){Vt+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function ko(e){return e.dynamicChildren=Vt>0?Ae||Nt:null,$o(),Vt>0&&Ae&&Ae.push(e),e}function _f(e,t,n,s,r,i){return ko(Bo(e,t,n,s,r,i,!0))}function Ys(e,t,n,s,r){return ko(ue(e,t,n,s,r,!0))}function Ut(e){return e?e.__v_isVNode===!0:!1}function Je(e,t){return e.type===t.type&&e.key===t.key}const jo=({key:e})=>e??null,Hn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ce(e)||fe(e)||q(e)?{i:be,r:e,k:t,f:!!n}:e:null);function Bo(e,t=null,n=null,s=0,r=null,i=e===xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&jo(t),ref:t&&Hn(t),scopeId:to,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:be};return l?(Xn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ce(n)?8:16),Vt>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const ue=ma;function ma(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===go)&&(e=me),Ut(e)){const l=ht(e,t,!0);return n&&Xn(l,n),Vt>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(Aa(e)&&(e=e.__vccOpts),t){t=ya(t);let{class:l,style:c}=t;l&&!ce(l)&&(t.class=ir(l)),Q(c)&&(ss(c)&&!W(c)&&(c=ye({},c)),t.style=rr(c))}const o=ce(e)?1:No(e)?128:io(e)?64:Q(e)?4:q(e)?2:0;return Bo(e,t,n,s,r,o,i,!0)}function ya(e){return e?ss(e)||xo(e)?ye({},e):e:null}function ht(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?ba(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&jo(u),ref:t&&t.ref?n&&i?W(i)?i.concat(Hn(t)):[i,Hn(t)]:Hn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&dn(a,c.clone(a)),a}function Vo(e=" ",t=0){return ue(Ct,null,e,t)}function wf(e,t){const n=ue(rn,null,e);return n.staticCount=t,n}function va(e="",t=!1){return t?(qn(),Ys(me,null,e)):ue(me,null,e)}function Oe(e){return e==null||typeof e=="boolean"?ue(me):W(e)?ue(xe,null,e.slice()):Ut(e)?st(e):ue(Ct,null,String(e))}function st(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function Xn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(W(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Xn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!xo(t)?t._ctx=be:r===3&&be&&(be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(q(t)){if(s&65){Xn(e,{default:t});return}t={default:t,_ctx:be},n=32}else t=String(t),s&64?(n=16,t=[Vo(t)]):n=8;e.children=t,e.shapeFlag|=n}function ba(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=ir([t.class,s.class]));else if(r==="style")t.style=rr([t.style,s.style]);else if(gn(r)){const i=t[r],o=s[r];o&&i!==o&&!(W(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Jn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ne(e,t,n,s=null){$e(e,t,7,[n,s])}const _a=_o();let wa=0;function Sa(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||_a,i={uid:wa++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Rl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ao(s,r),emitsOptions:wo(s,r),emit:null,emitted:null,propsDefaults:se,inheritAttrs:s.inheritAttrs,ctx:se,data:se,props:se,attrs:se,slots:se,refs:se,setupState:se,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=Yc.bind(null,i),e.ce&&e.ce(i),i}let ve=null;const Mt=()=>ve||be;let Yn,Js;{const e=es(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Yn=t("__VUE_INSTANCE_SETTERS__",n=>ve=n),Js=t("__VUE_SSR_SETTERS__",n=>Wt=n)}const _n=e=>{const t=ve;return Yn(e),e.scope.on(),()=>{e.scope.off(),Yn(t)}},zs=()=>{ve&&ve.scope.off(),Yn(null)};function Uo(e){return e.vnode.shapeFlag&4}let Wt=!1;function Ta(e,t=!1,n=!1){t&&Js(t);const{props:s,children:r}=e.vnode,i=Uo(e);ta(e,s,i,t),ia(e,r,n||t);const o=i?Ea(e,t):void 0;return t&&Js(!1),o}function Ea(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,kc);const{setup:s}=n;if(s){Qe();const r=e.setupContext=s.length>1?Ko(e):null,i=_n(e),o=yn(s,e,0,[e.props,r]),l=Ai(o);if(Ze(),i(),(l||e.sp)&&!Et(e)&&gr(e),l){if(o.then(zs,zs),t)return o.then(c=>{Qs(e,c)}).catch(c=>{Kt(c,e,0)});e.asyncDep=o}else Qs(e,o)}else Wo(e)}function Qs(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Q(t)&&(e.setupState=zi(t)),Wo(e)}function Wo(e,t,n){const s=e.type;e.render||(e.render=s.render||ze);{const r=_n(e);Qe();try{Bc(e)}finally{Ze(),r()}}}const xa={get(e,t){return Se(e,"get",""),e[t]}};function Ko(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,xa),slots:e.slots,emit:e.emit,expose:t}}function us(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(zi(Ln(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in sn)return sn[n](e)},has(t,n){return n in t||n in sn}})):e.proxy}function Ca(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Aa(e){return q(e)&&"__vccOpts"in e}const le=(e,t)=>ic(e,t,Wt);function Zs(e,t,n){try{Gn(-1);const s=arguments.length;return s===2?Q(t)&&!W(t)?Ut(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ut(n)&&(n=[n]),ue(e,t,n))}finally{Gn(1)}}const Ma="3.5.39";/**
|
|
16
|
-
* @vue/runtime-dom v3.5.39
|
|
17
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
18
|
-
* @license MIT
|
|
19
|
-
**/let er;const Jr=typeof window<"u"&&window.trustedTypes;if(Jr)try{er=Jr.createPolicy("vue",{createHTML:e=>e})}catch{}const qo=er?e=>er.createHTML(e):e=>e,Ra="http://www.w3.org/2000/svg",Pa="http://www.w3.org/1998/Math/MathML",nt=typeof document<"u"?document:null,zr=nt&&nt.createElement("template"),Oa={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?nt.createElementNS(Ra,e):t==="mathml"?nt.createElementNS(Pa,e):n?nt.createElement(e,{is:n}):nt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>nt.createTextNode(e),createComment:e=>nt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>nt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{zr.innerHTML=qo(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=zr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},at="transition",zt="animation",pn=Symbol("_vtc"),Go={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Fa=ye({},oo,Go),Ia=e=>(e.displayName="Transition",e.props=Fa,e),Sf=Ia((e,{slots:t})=>Zs(_c,La(e),t)),yt=(e,t=[])=>{W(e)?e.forEach(n=>n(...t)):e&&e(...t)},Qr=e=>e?W(e)?e.some(t=>t.length>1):e.length>1:!1;function La(e){const t={};for(const T in e)T in Go||(t[T]=e[T]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:a=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,_=Na(r),v=_&&_[0],D=_&&_[1],{onBeforeEnter:O,onEnter:P,onEnterCancelled:p,onLeave:m,onLeaveCancelled:b,onBeforeAppear:F=O,onAppear:E=P,onAppearCancelled:$=p}=t,S=(T,N,U,Z)=>{T._enterCancelled=Z,vt(T,N?a:l),vt(T,N?u:o),U&&U()},I=(T,N)=>{T._isLeaving=!1,vt(T,f),vt(T,y),vt(T,g),N&&N()},x=T=>(N,U)=>{const Z=T?E:P,B=()=>S(N,T,U);yt(Z,[N,B]),Zr(()=>{vt(N,T?c:i),tt(N,T?a:l),Qr(Z)||ei(N,s,v,B)})};return ye(t,{onBeforeEnter(T){yt(O,[T]),tt(T,i),tt(T,o)},onBeforeAppear(T){yt(F,[T]),tt(T,c),tt(T,u)},onEnter:x(!1),onAppear:x(!0),onLeave(T,N){T._isLeaving=!0;const U=()=>I(T,N);tt(T,f),T._enterCancelled?(tt(T,g),si(T)):(si(T),tt(T,g)),Zr(()=>{T._isLeaving&&(vt(T,f),tt(T,y),Qr(m)||ei(T,s,D,U))}),yt(m,[T,U])},onEnterCancelled(T){S(T,!1,void 0,!0),yt(p,[T])},onAppearCancelled(T){S(T,!0,void 0,!0),yt($,[T])},onLeaveCancelled(T){I(T),yt(b,[T])}})}function Na(e){if(e==null)return null;if(Q(e))return[Ts(e.enter),Ts(e.leave)];{const t=Ts(e);return[t,t]}}function Ts(e){return Oi(e)}function tt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[pn]||(e[pn]=new Set)).add(t)}function vt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[pn];n&&(n.delete(t),n.size||(e[pn]=void 0))}function Zr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ha=0;function ei(e,t,n,s){const r=e._endId=++Ha,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Da(e,t);if(!o)return s();const u=o+"end";let a=0;const f=()=>{e.removeEventListener(u,g),i()},g=y=>{y.target===e&&++a>=c&&f()};setTimeout(()=>{a<c&&f()},l+1),e.addEventListener(u,g)}function Da(e,t){const n=window.getComputedStyle(e),s=_=>(n[_]||"").split(", "),r=s(`${at}Delay`),i=s(`${at}Duration`),o=ti(r,i),l=s(`${zt}Delay`),c=s(`${zt}Duration`),u=ti(l,c);let a=null,f=0,g=0;t===at?o>0&&(a=at,f=o,g=i.length):t===zt?u>0&&(a=zt,f=u,g=c.length):(f=Math.max(o,u),a=f>0?o>u?at:zt:null,g=a?a===at?i.length:c.length:0);const y=a===at&&/\b(?:transform|all)(?:,|$)/.test(s(`${at}Property`).toString());return{type:a,timeout:f,propCount:g,hasTransform:y}}function ti(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>ni(n)+ni(e[s])))}function ni(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function si(e){return(e?e.ownerDocument:document).body.offsetHeight}function $a(e,t,n){const s=e[pn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ri=Symbol("_vod"),ka=Symbol("_vsh"),ja=Symbol(""),Ba=/(?:^|;)\s*display\s*:/;function Va(e,t,n){const s=e.style,r=ce(n);let i=!1;if(n&&!r){if(t)if(ce(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&en(s,l,"")}else for(const o in t)n[o]==null&&en(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Wa(e,o,!ce(t)&&t?t[o]:void 0,l)||en(s,o,l):en(s,o,"")}}else if(r){if(t!==n){const o=s[ja];o&&(n+=";"+o),s.cssText=n,i=Ba.test(n)}}else t&&e.removeAttribute("style");ri in e&&(e[ri]=i?s.display:"",e[ka]&&(s.display="none"))}const ii=/\s*!important$/;function en(e,t,n){if(W(n))n.forEach(s=>en(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ua(e,t);ii.test(n)?e.setProperty(gt(s),n.replace(ii,""),"important"):e[s]=n}}const oi=["Webkit","Moz","ms"],Es={};function Ua(e,t){const n=Es[t];if(n)return n;let s=Ce(t);if(s!=="filter"&&s in e)return Es[t]=s;s=Zn(s);for(let r=0;r<oi.length;r++){const i=oi[r]+s;if(i in e)return Es[t]=i}return t}function Wa(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ce(s)&&n===s}const li="http://www.w3.org/1999/xlink";function ci(e,t,n,s,r,i=Cl(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(li,t.slice(6,t.length)):e.setAttributeNS(li,t,n):n==null||i&&!Fi(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Ie(n)?String(n):n)}function ai(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?qo(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Fi(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function It(e,t,n,s){e.addEventListener(t,n,s)}function Ka(e,t,n,s){e.removeEventListener(t,n,s)}const ui=Symbol("_vei");function qa(e,t,n,s,r=null){const i=e[ui]||(e[ui]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Ya(t);if(s){const u=i[t]=Qa(s,r);It(e,l,u,c)}else o&&(Ka(e,l,o,c),i[t]=void 0)}}const Ga=/(Once|Passive|Capture)$/,Xa=/^on:?(?:Once|Passive|Capture)$/;function Ya(e){let t,n;for(;(n=e.match(Ga))&&!Xa.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):gt(e.slice(2)),t]}let xs=0;const Ja=Promise.resolve(),za=()=>xs||(Ja.then(()=>xs=0),xs=Date.now());function Qa(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(W(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const u=o[c];u&&$e(u,t,5,l)}}else $e(r,t,5,[s])};return n.value=e,n.attached=za(),n}const fi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Za=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?$a(e,s,o):t==="style"?Va(e,n,s):gn(t)?Jn(t)||qa(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):eu(e,t,s,o))?(ai(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ci(e,t,s,o,i,t!=="value")):e._isVueCE&&(tu(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ce(s)))?ai(e,Ce(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ci(e,t,s,o))};function eu(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&fi(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return fi(t)&&ce(n)?!1:t in e}function tu(e,t){const n=e._def.props;if(!n)return!1;const s=Ce(t);return Array.isArray(n)?n.some(r=>Ce(r)===s):Object.keys(n).some(r=>Ce(r)===s)}const di=e=>{const t=e.props["onUpdate:modelValue"]||!1;return W(t)?n=>In(t,n):t};function nu(e){e.target.composing=!0}function hi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Cs=Symbol("_assign");function pi(e,t,n){return t&&(e=e.trim()),n&&(e=sr(e)),e}const Tf={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Cs]=di(r);const i=s||r.props&&r.props.type==="number";It(e,t?"change":"input",o=>{o.target.composing||e[Cs](pi(e.value,n,i))}),(n||i)&&It(e,"change",()=>{e.value=pi(e.value,n,i)}),t||(It(e,"compositionstart",nu),It(e,"compositionend",hi),It(e,"change",hi))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[Cs]=di(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?sr(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},su=["ctrl","shift","alt","meta"],ru={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>su.some(n=>e[`${n}Key`]&&!t.includes(n))},Ef=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o<t.length;o++){const l=ru[t[o]];if(l&&l(r,t))return}return e(r,...i)})},iu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},xf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=gt(r.key);if(t.some(o=>o===i||iu[o]===i))return e(r)})},Xo=ye({patchProp:Za},Oa);let ln,gi=!1;function ou(){return ln||(ln=la(Xo))}function lu(){return ln=gi?ln:ca(Xo),gi=!0,ln}const Cf=(...e)=>{const t=ou().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Jo(s);if(!r)return;const i=t._component;!q(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Yo(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},Af=(...e)=>{const t=lu().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Jo(s);if(r)return n(r,!0,Yo(r))},t};function Yo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Jo(e){return ce(e)?document.querySelector(e):e}const cu=window.__VP_SITE_DATA__;function zo(e){return Ni()?(Pl(e),!0):!1}const As=new WeakMap,au=(...e)=>{var t;const n=e[0],s=(t=Mt())==null?void 0:t.proxy;if(s==null&&!no())throw new Error("injectLocal must be called in setup");return s&&As.has(s)&&n in As.get(s)?As.get(s)[n]:Tt(...e)},Qo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Mf=e=>e!=null,uu=Object.prototype.toString,fu=e=>uu.call(e)==="[object Object]",pt=()=>{},mi=du();function du(){var e,t;return Qo&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function _r(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const Zo=e=>e();function el(e,t={}){let n,s,r=pt;const i=c=>{clearTimeout(c),r(),r=pt};let o;return c=>{const u=ae(e),a=ae(t.maxWait);return n&&i(n),u<=0||a!==void 0&&a<=0?(s&&(i(s),s=null),Promise.resolve(c())):new Promise((f,g)=>{r=t.rejectOnCancel?g:f,o=c,a&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,f(o())},a)),n=setTimeout(()=>{s&&i(s),s=null,f(c())},u)})}}function hu(...e){let t=0,n,s=!0,r=pt,i,o,l,c,u;!fe(e[0])&&typeof e[0]=="object"?{delay:o,trailing:l=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[o,l=!0,c=!0,u=!1]=e;const a=()=>{n&&(clearTimeout(n),n=void 0,r(),r=pt)};return g=>{const y=ae(o),_=Date.now()-t,v=()=>i=g();return a(),y<=0?(t=Date.now(),v()):(_>y&&(c||!s)?(t=Date.now(),v()):l&&(i=new Promise((D,O)=>{r=u?O:D,n=setTimeout(()=>{t=Date.now(),s=!0,D(v()),a()},Math.max(0,y-_))})),!c&&!n&&(n=setTimeout(()=>s=!0,y)),s=!1,i)}}function pu(e=Zo,t={}){const{initialState:n="active"}=t,s=wr(n==="active");function r(){s.value=!1}function i(){s.value=!0}return{isActive:un(s),pause:r,resume:i,eventFilter:(...l)=>{s.value&&e(...l)}}}function yi(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function gu(e){return Mt()}function Ms(e){return Array.isArray(e)?e:[e]}function wr(...e){if(e.length!==1)return nc(...e);const t=e[0];return typeof t=="function"?un(Zl(()=>({get:t,set:pt}))):Be(t)}function mu(e,t=200,n={}){return _r(el(t,n),e)}function yu(e,t=200,n=!1,s=!0,r=!1){return _r(hu(t,n,s,r),e)}function tl(e,t,n={}){const{eventFilter:s=Zo,...r}=n;return De(e,_r(s,t),r)}function vu(e,t,n={}){const{eventFilter:s,initialState:r="active",...i}=n,{eventFilter:o,pause:l,resume:c,isActive:u}=pu(s,{initialState:r});return{stop:tl(e,t,{...i,eventFilter:o}),pause:l,resume:c,isActive:u}}function fs(e,t=!0,n){gu()?qt(e,n):t?e():is(e)}function Rf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return tl(e,t,{...i,eventFilter:el(s,{maxWait:r})})}function bu(e,t,n){return De(e,t,{...n,immediate:!0})}function Pf(e,t,n){let s;fe(n)?s={evaluating:n}:s={};const{lazy:r=!1,evaluating:i=void 0,shallow:o=!0,onError:l=pt}=s,c=Me(!r),u=o?Me(t):Be(t);let a=0;return hr(async f=>{if(!c.value)return;a++;const g=a;let y=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const _=await e(v=>{f(()=>{i&&(i.value=!1),y||v()})});g===a&&(u.value=_)}catch(_){l(_)}finally{i&&g===a&&(i.value=!1),y=!0}}),r?le(()=>(c.value=!0,u.value)):u}const Ue=Qo?window:void 0;function Sr(e){var t;const n=ae(e);return(t=n==null?void 0:n.$el)!=null?t:n}function lt(...e){const t=[],n=()=>{t.forEach(l=>l()),t.length=0},s=(l,c,u,a)=>(l.addEventListener(c,u,a),()=>l.removeEventListener(c,u,a)),r=le(()=>{const l=Ms(ae(e[0])).filter(c=>c!=null);return l.every(c=>typeof c!="string")?l:void 0}),i=bu(()=>{var l,c;return[(c=(l=r.value)==null?void 0:l.map(u=>Sr(u)))!=null?c:[Ue].filter(u=>u!=null),Ms(ae(r.value?e[1]:e[0])),Ms(rs(r.value?e[2]:e[1])),ae(r.value?e[3]:e[2])]},([l,c,u,a])=>{if(n(),!(l!=null&&l.length)||!(c!=null&&c.length)||!(u!=null&&u.length))return;const f=fu(a)?{...a}:a;t.push(...l.flatMap(g=>c.flatMap(y=>u.map(_=>s(g,y,_,f)))))},{flush:"post"}),o=()=>{i(),n()};return zo(n),o}function _u(){const e=Me(!1),t=Mt();return t&&qt(()=>{e.value=!0},t),e}function wu(e){const t=_u();return le(()=>(t.value,!!e()))}function Su(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Of(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Ue,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=Su(t);return lt(r,i,a=>{a.repeat&&ae(l)||c(a)&&n(a)},o)}const Tu=Symbol("vueuse-ssr-width");function Eu(){const e=no()?au(Tu,null):null;return typeof e=="number"?e:void 0}function nl(e,t={}){const{window:n=Ue,ssrWidth:s=Eu()}=t,r=wu(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),i=Me(typeof s=="number"),o=Me(),l=Me(!1),c=u=>{l.value=u.matches};return hr(()=>{if(i.value){i.value=!r.value;const u=ae(e).split(",");l.value=u.some(a=>{const f=a.includes("not all"),g=a.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),y=a.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let _=!!(g||y);return g&&_&&(_=s>=yi(g[1])),y&&_&&(_=s<=yi(y[1])),f?!_:_});return}r.value&&(o.value=n.matchMedia(ae(e)),l.value=o.value.matches)}),lt(o,"change",c,{passive:!0}),le(()=>l.value)}const Mn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Rn="__vueuse_ssr_handlers__",xu=Cu();function Cu(){return Rn in Mn||(Mn[Rn]=Mn[Rn]||{}),Mn[Rn]}function sl(e,t){return xu[e]||t}function rl(e){return nl("(prefers-color-scheme: dark)",e)}function Au(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Mu={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},vi="vueuse-storage";function Tr(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:a,window:f=Ue,eventFilter:g,onError:y=x=>{console.error(x)},initOnMounted:_}=s,v=(a?Me:Be)(typeof t=="function"?t():t),D=le(()=>ae(e));if(!n)try{n=sl("getDefaultStorage",()=>{var x;return(x=Ue)==null?void 0:x.localStorage})()}catch(x){y(x)}if(!n)return v;const O=ae(t),P=Au(O),p=(r=s.serializer)!=null?r:Mu[P],{pause:m,resume:b}=vu(v,()=>E(v.value),{flush:i,deep:o,eventFilter:g});De(D,()=>S(),{flush:i}),f&&l&&fs(()=>{n instanceof Storage?lt(f,"storage",S,{passive:!0}):lt(f,vi,I),_&&S()}),_||S();function F(x,T){if(f){const N={key:D.value,oldValue:x,newValue:T,storageArea:n};f.dispatchEvent(n instanceof Storage?new StorageEvent("storage",N):new CustomEvent(vi,{detail:N}))}}function E(x){try{const T=n.getItem(D.value);if(x==null)F(T,null),n.removeItem(D.value);else{const N=p.write(x);T!==N&&(n.setItem(D.value,N),F(T,N))}}catch(T){y(T)}}function $(x){const T=x?x.newValue:n.getItem(D.value);if(T==null)return c&&O!=null&&n.setItem(D.value,p.write(O)),O;if(!x&&u){const N=p.read(T);return typeof u=="function"?u(N,O):P==="object"&&!Array.isArray(N)?{...O,...N}:N}else return typeof T!="string"?T:p.read(T)}function S(x){if(!(x&&x.storageArea!==n)){if(x&&x.key==null){v.value=O;return}if(!(x&&x.key!==D.value)){m();try{(x==null?void 0:x.newValue)!==p.write(v.value)&&(v.value=$(x))}catch(T){y(T)}finally{x?is(b):b()}}}}function I(x){S(x.detail)}return v}const Ru="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function Pu(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Ue,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:a=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},g=rl({window:r}),y=le(()=>g.value?"dark":"light"),_=c||(o==null?wr(s):Tr(o,s,i,{window:r,listenToStorageChanges:l})),v=le(()=>_.value==="auto"?y.value:_.value),D=sl("updateHTMLAttrs",(m,b,F)=>{const E=typeof m=="string"?r==null?void 0:r.document.querySelector(m):Sr(m);if(!E)return;const $=new Set,S=new Set;let I=null;if(b==="class"){const T=F.split(/\s/g);Object.values(f).flatMap(N=>(N||"").split(/\s/g)).filter(Boolean).forEach(N=>{T.includes(N)?$.add(N):S.add(N)})}else I={key:b,value:F};if($.size===0&&S.size===0&&I===null)return;let x;a&&(x=r.document.createElement("style"),x.appendChild(document.createTextNode(Ru)),r.document.head.appendChild(x));for(const T of $)E.classList.add(T);for(const T of S)E.classList.remove(T);I&&E.setAttribute(I.key,I.value),a&&(r.getComputedStyle(x).opacity,document.head.removeChild(x))});function O(m){var b;D(t,n,(b=f[m])!=null?b:m)}function P(m){e.onChanged?e.onChanged(m,O):O(m)}De(v,P,{flush:"post",immediate:!0}),fs(()=>P(v.value));const p=le({get(){return u?_.value:v.value},set(m){_.value=m}});return Object.assign(p,{store:_,system:y,state:v})}function Ou(e={}){const{valueDark:t="dark",valueLight:n=""}=e,s=Pu({...e,onChanged:(o,l)=>{var c;e.onChanged?(c=e.onChanged)==null||c.call(e,o==="dark",l,o):l(o)},modes:{dark:t,light:n}}),r=le(()=>s.system.value);return le({get(){return s.value==="dark"},set(o){const l=o?"dark":"light";r.value===l?s.value="auto":s.value=l}})}function Rs(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const bi=1;function Fu(e,t={}){const{throttle:n=0,idle:s=200,onStop:r=pt,onScroll:i=pt,offset:o={left:0,right:0,top:0,bottom:0},eventListenerOptions:l={capture:!1,passive:!0},behavior:c="auto",window:u=Ue,onError:a=E=>{console.error(E)}}=t,f=Me(0),g=Me(0),y=le({get(){return f.value},set(E){v(E,void 0)}}),_=le({get(){return g.value},set(E){v(void 0,E)}});function v(E,$){var S,I,x,T;if(!u)return;const N=ae(e);if(!N)return;(x=N instanceof Document?u.document.body:N)==null||x.scrollTo({top:(S=ae($))!=null?S:_.value,left:(I=ae(E))!=null?I:y.value,behavior:ae(c)});const U=((T=N==null?void 0:N.document)==null?void 0:T.documentElement)||(N==null?void 0:N.documentElement)||N;y!=null&&(f.value=U.scrollLeft),_!=null&&(g.value=U.scrollTop)}const D=Me(!1),O=jt({left:!0,right:!1,top:!0,bottom:!1}),P=jt({left:!1,right:!1,top:!1,bottom:!1}),p=E=>{D.value&&(D.value=!1,P.left=!1,P.right=!1,P.top=!1,P.bottom=!1,r(E))},m=mu(p,n+s),b=E=>{var $;if(!u)return;const S=(($=E==null?void 0:E.document)==null?void 0:$.documentElement)||(E==null?void 0:E.documentElement)||Sr(E),{display:I,flexDirection:x,direction:T}=getComputedStyle(S),N=T==="rtl"?-1:1,U=S.scrollLeft;P.left=U<f.value,P.right=U>f.value;const Z=Math.abs(U*N)<=(o.left||0),B=Math.abs(U*N)+S.clientWidth>=S.scrollWidth-(o.right||0)-bi;I==="flex"&&x==="row-reverse"?(O.left=B,O.right=Z):(O.left=Z,O.right=B),f.value=U;let X=S.scrollTop;E===u.document&&!X&&(X=u.document.body.scrollTop),P.top=X<g.value,P.bottom=X>g.value;const G=Math.abs(X)<=(o.top||0),he=Math.abs(X)+S.clientHeight>=S.scrollHeight-(o.bottom||0)-bi;I==="flex"&&x==="column-reverse"?(O.top=he,O.bottom=G):(O.top=G,O.bottom=he),g.value=X},F=E=>{var $;if(!u)return;const S=($=E.target.documentElement)!=null?$:E.target;b(S),D.value=!0,m(E),i(E)};return lt(e,"scroll",n?yu(F,n,!0,!1):F,l),fs(()=>{try{const E=ae(e);if(!E)return;b(E)}catch(E){a(E)}}),lt(e,"scrollend",p,l),{x:y,y:_,isScrolling:D,arrivedState:O,directions:P,measure(){const E=ae(e);u&&E&&b(E)}}}function Ff(e,t,n={}){const{window:s=Ue}=n;return Tr(e,t,s==null?void 0:s.localStorage,n)}function il(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:il(n)}}function Iu(e){const t=e||window.event,n=t.target;return il(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Ps=new WeakMap;function If(e,t=!1){const n=Me(t);let s=null,r="";De(wr(e),l=>{const c=Rs(ae(l));if(c){const u=c;if(Ps.get(u)||Ps.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(r=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=Rs(ae(e));!l||n.value||(mi&&(s=lt(l,"touchmove",c=>{Iu(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=Rs(ae(e));!l||!n.value||(mi&&(s==null||s()),l.style.overflow=r,Ps.delete(l),n.value=!1)};return zo(o),le({get(){return n.value},set(l){l?i():o()}})}function Lf(e,t,n={}){const{window:s=Ue}=n;return Tr(e,t,s==null?void 0:s.sessionStorage,n)}function Nf(e={}){const{window:t=Ue,...n}=e;return Fu(t,n)}function Hf(e={}){const{window:t=Ue,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=Me(n),c=Me(s),u=()=>{if(t)if(o==="outer")l.value=t.outerWidth,c.value=t.outerHeight;else if(o==="visual"&&t.visualViewport){const{width:f,height:g,scale:y}=t.visualViewport;l.value=Math.round(f*y),c.value=Math.round(g*y)}else i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight)};u(),fs(u);const a={passive:!0};if(lt("resize",u,a),t&&o==="visual"&&t.visualViewport&<(t.visualViewport,"resize",u,a),r){const f=nl("(orientation: portrait)");De(f,()=>u())}return{width:l,height:c}}const Os={};var Fs={};const ol=/^(?:[a-z]+:|\/\/)/i,Lu="vitepress-theme-appearance",Nu=/#.*$/,Hu=/[?#].*$/,Du=/(?:(^|\/)index)?\.(?:md|html)$/,we=typeof document<"u",ll={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function $u(e,t,n=!1){if(t===void 0)return!1;if(e=_i(`/${e}`),n)return new RegExp(t).test(e);if(_i(t)!==e)return!1;const s=t.match(Nu);return s?(we?location.hash:"")===s[0]:!0}function _i(e){return decodeURI(e).replace(Hu,"").replace(Du,"$1")}function ku(e){return ol.test(e)}function ju(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!ku(n)&&$u(t,`/${n}/`,!0))||"root"}function Bu(e,t){var s,r,i,o,l,c,u;const n=ju(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:al(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function cl(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Vu(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Vu(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Uu(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function al(e,t){return[...e.filter(n=>!Uu(t,n)),...t]}const Wu=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ku=/^[a-z]:/i;function wi(e){const t=Ku.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Wu,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Is=new Set;function qu(e){if(Is.size===0){const n=typeof process=="object"&&(Fs==null?void 0:Fs.VITE_EXTRA_EXTENSIONS)||(Os==null?void 0:Os.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>Is.add(s))}const t=e.split(".").pop();return t==null||!Is.has(t.toLowerCase())}function Df(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Gu=Symbol(),At=Me(cu);function $f(e){const t=le(()=>Bu(At.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?Be(!0):n==="force-auto"?rl():n?Ou({storageKey:Lu,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):Be(!1),r=Be(we?location.hash:"");return we&&window.addEventListener("hashchange",()=>{r.value=location.hash}),De(()=>e.data,()=>{r.value=we?location.hash:""}),{site:t,theme:le(()=>t.value.themeConfig),page:le(()=>e.data),frontmatter:le(()=>e.data.frontmatter),params:le(()=>e.data.params),lang:le(()=>t.value.lang),dir:le(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:le(()=>t.value.localeIndex||"root"),title:le(()=>cl(t.value,e.data)),description:le(()=>e.data.description||t.value.description),isDark:s,hash:le(()=>r.value)}}function Xu(){const e=Tt(Gu);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Yu(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Si(e){return ol.test(e)||!e.startsWith("/")?e:Yu(At.value.base,e)}function Ju(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),we){const n="/docs/";t=wi(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${wi(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Dn=[];function kf(e){Dn.push(e),bn(()=>{Dn=Dn.filter(t=>t!==e)})}function zu(){let e=At.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ti(e,n);else if(Array.isArray(e))for(const s of e){const r=Ti(s,n);if(r){t=r;break}}return t}function Ti(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Qu=Symbol(),ul="http://a.com",Zu=()=>({path:"/",component:null,data:ll});function jf(e,t){const n=jt(Zu()),s={route:n,go:r};async function r(l=we?location.href:"/"){var c,u;l=Ls(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(we&&l!==Ls(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChange??s.onAfterRouteChanged)==null?void 0:u(l)))}let i=null;async function o(l,c=0,u=!1){var g,y;if(await((g=s.onBeforePageLoad)==null?void 0:g.call(s,l))===!1)return;const a=new URL(l,ul),f=i=a.pathname;try{let _=await e(f);if(!_)throw new Error(`Page not found: ${f}`);if(i===f){i=null;const{default:v,__pageData:D}=_;if(!v)throw new Error(`Invalid route component: ${v}`);await((y=s.onAfterPageLoad)==null?void 0:y.call(s,l)),n.path=we?f:Si(f),n.component=Ln(v),n.data=Ln(D),we&&is(()=>{let O=At.value.base+D.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!At.value.cleanUrls&&!O.endsWith("/")&&(O+=".html"),O!==a.pathname&&(a.pathname=O,l=O+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let P=null;try{P=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(p){console.warn(p)}if(P){Ei(P,a.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!u)try{const v=await fetch(At.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await o(l,c,!0);return}catch{}if(i===f){i=null,n.path=we?f:Si(f),n.component=t?Ln(t):null;const v=we?f.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...ll,relativePath:v}}}}return we&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:a,origin:f,pathname:g,hash:y,search:_}=new URL(u,c.baseURI),v=new URL(location.href);f===v.origin&&qu(g)&&(l.preventDefault(),g===v.pathname&&_===v.search?(y!==v.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:v.href,newURL:a}))),y?Ei(c,y,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var u;if(l.state===null)return;const c=Ls(location.href);await o(c,l.state&&l.state.scrollPosition||0),await((u=s.onAfterRouteChange??s.onAfterRouteChanged)==null?void 0:u(c))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ef(){const e=Tt(Qu);if(!e)throw new Error("useRouter() is called without provider.");return e}function fl(){return ef().route}function Ei(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-zu()+i;requestAnimationFrame(r)}}function Ls(e){const t=new URL(e,ul);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),At.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Pn=()=>Dn.forEach(e=>e()),Bf=pr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=fl(),{frontmatter:n,site:s}=Xu();return De(n,Pn,{deep:!0,flush:"post"}),()=>Zs(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?Zs(t.component,{onVnodeMounted:Pn,onVnodeUpdated:Pn,onVnodeUnmounted:Pn}):"404 Page Not Found"])}}),Vf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Uf=pr({setup(e,{slots:t}){const n=Be(!1);return qt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Wf(){we&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Kf(){if(we){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let u=c.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),tf(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function tf(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function qf(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=Ns(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const o=i.map(Ns);s.forEach((l,c)=>{const u=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};hr(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],u=cl(o,i);u!==document.title&&(document.title=u);const a=l||o.description;let f=document.querySelector("meta[name=description]");f?f.getAttribute("content")!==a&&f.setAttribute("content",a):Ns(["meta",{name:"description",content:a}]),r(al(o.head,sf(c)))})}function Ns([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function nf(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function sf(e){return e.filter(t=>!nf(t))}const Hs=new Set,dl=()=>document.createElement("link"),rf=e=>{const t=dl();t.rel="prefetch",t.href=e,document.head.appendChild(t)},of=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let On;const lf=we&&(On=dl())&&On.relList&&On.relList.supports&&On.relList.supports("prefetch")?rf:of;function Gf(){if(!we||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Hs.has(c)){Hs.add(c);const u=Ju(c);u&&lf(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Hs.add(l))})})};qt(s);const r=fl();De(()=>r.path,s),bn(()=>{n&&n.disconnect()})}export{ho as $,zu as A,gf as B,hf as C,kf as D,Me as E,xe as F,ue as G,pf as H,ol as I,fl as J,ba as K,Tt as L,Hf as M,rr as N,Of as O,is as P,Nf as Q,we as R,un as S,Sf as T,df as U,cf as V,If as W,fc as X,yf as Y,xf as Z,Vf as _,Vo as a,Ef as a0,vf as a1,Zs as a2,wf as a3,bf as a4,zo as a5,ae as a6,Ms as a7,Sr as a8,Mf as a9,Wf as aA,Pf as aa,Lf as ab,Ff as ac,Rf as ad,ef as ae,lt as af,af as ag,Tf as ah,fe as ai,ff as aj,Ln as ak,Cf as al,Gu as am,Ju as an,Df as ao,z as ap,qf as aq,Qu as ar,$f as as,Bf as at,Uf as au,At as av,jf as aw,Af as ax,Gf as ay,Kf as az,Ys as b,_f as c,pr as d,va as e,qu as f,Si as g,le as h,ku as i,Bo as j,rs as k,$u as l,nl as m,ir as n,qn as o,Be as p,De as q,mf as r,hr as s,Ml as t,Xu as u,qt as v,uc as w,bn as x,uf as y,Lc as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as r,b as e,a,S as s}from"./chunk-OYMX7WX6.CcmWIncu.js";import{_ as i}from"../app.Drol6mi6.js";import"./chunk-55IACEB6.ZnQ9gRRQ.js";import"./chunk-EDXVE4YY.DPlmglG-.js";import"./framework.dypDpWZ3.js";import"./theme.C0MctGaz.js";var u={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{u as diagram};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as t,a3 as i}from"./chunks/framework.dypDpWZ3.js";const c=JSON.parse('{"title":"Deployment","description":"Deploy the Agent SDK with Cursor-managed hosting or on infrastructure you control.","frontmatter":{"title":"Deployment","description":"Deploy the Agent SDK with Cursor-managed hosting or on infrastructure you control."},"headers":[],"relativePath":"deployment.md","filePath":"deployment.md"}'),n={name:"deployment.md"};function o(h,e,l,r,d,p){return t(),a("div",null,[...e[0]||(e[0]=[i(`<h1 id="deploy-the-agent-sdk" tabindex="-1">Deploy the Agent SDK <a class="header-anchor" href="#deploy-the-agent-sdk" aria-label="Permalink to "Deploy the Agent SDK""></a></h1><p>Both options run the same agent project and HTTP API. Channel delivery paths differ. Cursor-managed hosting is preferred for most agents.</p><table tabindex="0"><thead><tr><th>Option</th><th>Use it when</th><th>You manage</th></tr></thead><tbody><tr><td>Cursor-managed hosting (preferred)</td><td>You want the shortest path from a Git repo to a running agent</td><td>Agent code, external storage, declared egress, and deployment secrets</td></tr><tr><td>Self-hosting</td><td>You need your own network, proxy, persistent filesystem, or process controls</td><td>Agent code, Node process, TLS, auth, secrets, durable state, monitoring, and upgrades</td></tr></tbody></table><h2 id="cursor-managed-hosting" tabindex="-1">Cursor-managed hosting <a class="header-anchor" href="#cursor-managed-hosting" aria-label="Permalink to "Cursor-managed hosting""></a></h2><p>Cursor builds the selected Git ref into a deployment. The deployment exposes a stable URL while Cursor manages its runtime lifecycle.</p><h3 id="before-you-deploy" tabindex="-1">Before you deploy <a class="header-anchor" href="#before-you-deploy" aria-label="Permalink to "Before you deploy""></a></h3><ul><li>Confirm managed hosting is enabled for the account and team.</li><li>Sign in as a team member, or use a team service-account API key with agent access.</li><li>Add <code>@cursor/july</code> to the agent project.</li></ul><p>For a GitHub source, install the Cursor GitHub App on the repository owner and grant it access to the repository. Cursor builds through its repository integration, not your local Git credentials. Commit and push the Git ref before deploying it.</p><h3 id="declare-hosting-needs" tabindex="-1">Declare hosting needs <a class="header-anchor" href="#declare-hosting-needs" aria-label="Permalink to "Declare hosting needs""></a></h3><p>If the agent needs extra egress or deployment secrets, add a <code>hosting</code> block to <code>agent/agent.ts</code>:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { defineAgent } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
2
|
-
<span class="line"></span>
|
|
3
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineAgent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
4
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> hosting: {</span></span>
|
|
5
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> egressDomains: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"api.weather.example.com"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
|
|
6
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> secretNames: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"WEATHER_API_KEY"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
|
|
7
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
8
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>egressDomains</code> lists outbound hosts beyond the platform's base policy. Enter hostnames without schemes, ports, or paths. One leading <code>*.</code> wildcard is allowed. Declared domains allow HTTPS and TLS traffic, not arbitrary TCP ports.</p><p>The base policy already covers the hosts the platform itself uses: the Cursor API (<code>api.cursor.com</code> and <code>api2.cursor.sh</code>), GitHub and GitLab, the npm and Yarn registries, Slack, and Cursor's own artifact storage. Declare a domain only for a host your own code reaches.</p><p><code>secretNames</code> lists the environment variables the agent expects. Names use <code>UPPER_SNAKE_CASE</code>. Commit names only; set their values after creating the deployment. Names beginning with <code>CURSOR_</code> are reserved.</p><p>For <code>defineConnection({ url, oauth: true })</code>, declare <code>MCP_OAUTH_<CONNECTION>_*</code> in <code>secretNames</code>. Finish Connect for the current process. Run <code>agent-sdk mcp oauth <connection> --store</code> and redeploy so the next pod sees the secrets. See <a href="./guides/mcp-oauth.html">Host MCP OAuth</a>.</p><p>Run <code>agent-sdk validate</code> before deploying. It reports invalid domains and secret names as warnings, so fix them even when validation exits zero.</p><h3 id="deploy-from-git" tabindex="-1">Deploy from Git <a class="header-anchor" href="#deploy-from-git" aria-label="Permalink to "Deploy from Git""></a></h3><p>Sign in, validate the project, and deploy it:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> my-agent</span></span>
|
|
9
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> login</span></span>
|
|
10
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> whoami</span></span>
|
|
11
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> validate</span></span>
|
|
12
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span></span></code></pre></div><p>Inside a Git checkout, <code>deploy</code> infers the HTTPS <code>origin</code> URL, current branch or detached commit, agent path, and deployment slug. Explicit flags override each value:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
13
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --repo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/acme/agents</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
14
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --ref</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
15
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --path</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> agents/weather</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
16
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span></code></pre></div><div class="important custom-block github-alert"><p class="custom-block-title">IMPORTANT</p><p><code>--slug</code> doesn't retain source or Cursor-event settings. Run every repo-backed deploy from the pushed checkout, or pass <code>--repo</code>, <code>--ref</code>, <code>--path</code>, and any <code>--cursor-events-repo</code> flags again.</p></div><p>Deploy reads the agent from Git; it doesn't upload local files. Keep the local <code>hosting</code> block in sync with the selected ref. A nested <code>--path</code> must contain <code>package.json</code> and be installable from its own directory.</p><p>For a directory containing several agent projects, choose one from the TTY prompt, pass <code>--slug <name></code>, or deploy each child with <code>--all</code>. Pass <code>--team <id></code> when the signed-in account has no default team or you want another team.</p><p><code>--all</code> creates a separate deployment for each child. Self-host when the agents must share one multi-agent process. Cloud-runtime peers on that host need <code>--public-url</code> and <code>--bearer-token</code>. Walkthrough: <a href="./guides/agent-to-agent.html#how-do-i-wire-two-agents">Agent-to-agent</a>.</p><p>The command waits up to ten minutes for a running engine. Use <code>--no-wait</code> to return after Cursor accepts the deployment, then inspect it separately:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deployments</span></span>
|
|
17
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deployment</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
18
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> logs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span></code></pre></div><h3 id="set-deployment-secrets" tabindex="-1">Set deployment secrets <a class="header-anchor" href="#set-deployment-secrets" aria-label="Permalink to "Set deployment secrets""></a></h3><p>A deployment must exist before you can set its secrets. Pass names only. Enter values at the hidden prompt, or pipe one line per name:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> secrets</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> set</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> WEATHER_API_KEY</span></span>
|
|
19
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> secrets</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> list</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
20
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span></code></pre></div><p><code>secrets list</code> returns names and creation times, never values. The engine reads secret changes on its next deploy.</p><p>Do not pass <code>NAME=VALUE</code> on the command line. That form lands in shell history and in agent-captured terminals. The CLI refuses it unless you add <code>--from-argv</code>. For non-interactive input without argv, redirect a file or pipe stdin.</p><h3 id="credential-output-in-terminals" tabindex="-1">Credential output in terminals <a class="header-anchor" href="#credential-output-in-terminals" aria-label="Permalink to "Credential output in terminals""></a></h3><p>Treat any command that prints a secret as a credential event. Keep it out of agent-captured terminals when you can.</p><table tabindex="0"><thead><tr><th>Command</th><th>What prints</th></tr></thead><tbody><tr><td><code>secrets set</code> / <code>secrets list</code></td><td>Names only. Values never print.</td></tr><tr><td>First <code>deploy</code> / <code>rotate-token</code></td><td>Full alias token once. Save it outside the agent transcript; it cannot be retrieved later.</td></tr><tr><td><code>deployment --json</code></td><td>May include short-lived <code>engineAccess.headers</code>. Treat JSON as a credential.</td></tr></tbody></table><p>Do not verify secrets with <code>echo "$SECRET"</code>, <code>printenv</code>, or by pasting values into chat. Use <code>secrets list</code> for names, then redeploy and exercise the feature that needs the secret.</p><h3 id="choose-durable-storage" tabindex="-1">Choose durable storage <a class="header-anchor" href="#choose-durable-storage" aria-label="Permalink to "Choose durable storage""></a></h3><p>Hosted filesystem state can reset during a deploy or runtime replacement. Prefer <code>cursorHostedStorage</code> so records survive replace. Do not put platform storage or deployment-identity names in <code>hosting.secretNames</code>. Self-host with your own <code>defineStorage</code> backend or a persistent <code>--state-root</code> when the complete filesystem must survive.</p><h3 id="use-the-hosted-agent" tabindex="-1">Use the hosted agent <a class="header-anchor" href="#use-the-hosted-agent" aria-label="Permalink to "Use the hosted agent""></a></h3><p>The CLI handles authentication for <code>--prod</code> commands. External HTTP clients that hit the stable alias URL must send <code>X-Agent-Alias-Token</code> on every request. Authored channel auth still runs after that gate.</p><p>Use <code>publicEndpoint()</code> on a custom channel that verifies its own provider signature. Cursor then serves that channel path without the alias token. The built-in session API still requires the token.</p><p>Use a relay or self-host when the channel cannot authenticate requests itself.</p><p>Use <code>--prod</code> with the normal client commands:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> playground</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
21
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> chat</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
22
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --message</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Forecast for Paris"</span></span>
|
|
23
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sessions</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
24
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> logs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span></code></pre></div><p>Keep <code>playground --prod</code> running while the playground is open. Press Ctrl-C to stop it.</p><p>The first deployment prints a reusable alias token once. Store it immediately. Run <code>agent-sdk deployment weather-agent</code> to retrieve the stable alias URL later. The token remains valid until rotation and can't be retrieved.</p><p>External HTTP clients send the alias token on every request:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$AGENT_ALIAS_URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/v1/health"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
25
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "X-Agent-Alias-Token: </span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$AGENT_ALIAS_TOKEN</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"</span></span></code></pre></div><p><code>--prod</code> commands don't use the alias token. If it is lost or exposed, rotate it. The old token stops working immediately:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rotate-token</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span></code></pre></div><h3 id="connect-github" tabindex="-1">Connect GitHub <a class="header-anchor" href="#connect-github" aria-label="Permalink to "Connect GitHub""></a></h3><p>Let the hosted engine pull Cursor SCM events. Repeat <code>--cursor-events-repo</code> for each repository whose events should wake the agent:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
26
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pr-approver</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
27
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --cursor-events-repo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> acme/checkout</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
28
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --cursor-events-repo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> acme/payments</span></span></code></pre></div><p>The agent still needs a <code>githubChannel()</code> declaration for the events it handles. This delivery path needs no public GitHub webhook URL. The flag requires Cursor SCM-event access for the deployment credential.</p><p>For outbound GitHub calls, use <code>githubChannel({ cursorAccount: true })</code> and grant the team's Cursor GitHub App access to each repository. Alternatively, add dedicated GitHub credentials as deployment secrets. See the <a href="./guides/github.html">GitHub guide</a>.</p><h3 id="connect-slack" tabindex="-1">Connect Slack <a class="header-anchor" href="#connect-slack" aria-label="Permalink to "Connect Slack""></a></h3><p>Hosted Slack uses a dedicated Socket Mode app:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { slackChannel } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/channels/slack"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
29
|
-
<span class="line"></span>
|
|
30
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> slackChannel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({ envPrefix: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"PR_APPROVER"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span></code></pre></div><p>Provision the dedicated app from the dashboard. Open the deployment under <strong>Deployed Agents</strong> at <a href="https://cursor.com/dashboard" target="_blank" rel="noreferrer">cursor.com/dashboard</a>, switch to <strong>Details</strong>, and expand <strong>Slack</strong> under <strong>Integrations</strong>. <strong>Add to Slack</strong> connects the workspace with a one-time authorization, and <strong>Create Slack app</strong> creates and installs the app, then stores its tokens as deployment secrets automatically. Redeploy when prompted so the running agent picks them up. See <a href="./guides/slack.html#provision-from-the-dashboard">Provision from the dashboard</a> for the walkthrough, including workspace-admin approval.</p><p>If you created the Slack app by hand instead, set its tokens as deployment secrets yourself. The prefix selects the secret names:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> secrets</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> set</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pr-approver</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
31
|
-
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> PR_APPROVER_SLACK_BOT_TOKEN</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
32
|
-
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> PR_APPROVER_SLACK_APP_TOKEN</span></span>
|
|
33
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pr-approver</span></span></code></pre></div><p>Without <code>envPrefix</code>, a dedicated app reads <code>SLACK_BOT_TOKEN</code> and <code>SLACK_APP_TOKEN</code>. Socket Mode needs no inbound URL. See the <a href="./guides/slack.html">Slack guide</a>.</p><h3 id="update-stop-or-delete-a-deployment" tabindex="-1">Update, stop, or delete a deployment <a class="header-anchor" href="#update-stop-or-delete-a-deployment" aria-label="Permalink to "Update, stop, or delete a deployment""></a></h3><p>Redeploy the same slug after pushing a new Git ref. The stable alias continues to point at the latest deploy. Follow the same source rules from <a href="#deploy-from-git">Deploy from Git</a>.</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deploy</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /path/to/my-agent</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
34
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> stop</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span>
|
|
35
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> delete</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> weather-agent</span></span></code></pre></div><p><code>stop</code> waits for the deployment to stop unless you pass <code>--no-wait</code>. <code>delete</code> removes the deployment and waits until it is gone. See the <a href="./reference/cli.html#deploy">CLI reference</a> for the full command reference.</p><h2 id="self-host-the-agent-sdk" tabindex="-1">Self-host the Agent SDK <a class="header-anchor" href="#self-host-the-agent-sdk" aria-label="Permalink to "Self-host the Agent SDK""></a></h2><p>The Agent SDK runs as a Node HTTP server on Node 22.13 or newer. You can host it on a VM or container platform.</p><h3 id="the-security-model-in-one-minute" tabindex="-1">The security model in one minute <a class="header-anchor" href="#the-security-model-in-one-minute" aria-label="Permalink to "The security model in one minute""></a></h3><p><code>serve</code> binds to loopback and admits direct local callers by default. Choose one of these options before exposing it:</p><ol><li>Pass <code>--bearer-token <secret></code> for a shared host.</li><li>Define channel-specific auth for routes with their own credentials or signatures.</li><li>Use <code>--allow-anonymous</code> only behind an authenticating proxy.</li></ol><p>A static bearer token maps every holder to one principal. Use authored auth when callers need separate identities. See <a href="./reference/channels.html#auth-policies">Channels</a> for policy details.</p><h3 id="credentials" tabindex="-1">Credentials <a class="header-anchor" href="#credentials" aria-label="Permalink to "Credentials""></a></h3><p>A self-hosted server can read these credentials.</p><table tabindex="0"><thead><tr><th>Credential</th><th>Used for</th><th>Provide it as</th></tr></thead><tbody><tr><td>Cursor API key</td><td>model turns, cloud runtime, Cursor account MCP connections</td><td><code>agent-sdk login</code> (stores a revocable key), <code>CURSOR_API_KEY</code>, <code>CURSOR_SERVICE_ACCOUNT_KEY</code>, or <code>--api-key</code> / <code>serve({ apiKey })</code></td></tr><tr><td>Slack tokens</td><td>Slack channels</td><td><code><PREFIX>_SLACK_BOT_TOKEN</code> + <code><PREFIX>_SLACK_APP_TOKEN</code> per agent</td></tr><tr><td>GitHub webhook secret</td><td>delivery signature verification</td><td><code>GITHUB_WEBHOOK_SECRET</code>, same value on server and signer</td></tr><tr><td>GitHub API</td><td>outbound API calls</td><td>a GitHub App (<code>GITHUB_APP_ID</code> + <code>GITHUB_APP_PRIVATE_KEY</code> + installation id) or <code>GITHUB_TOKEN</code> / <code>gh auth login</code></td></tr><tr><td>MCP connection tokens</td><td>authored MCP connections</td><td>env vars your <code>mcp-connections/*.ts</code> read, or host OAuth secrets from hosted Connect / <code>agent-sdk mcp oauth <name> --store</code> (<code>MCP_OAUTH_*</code>; see <a href="./guides/mcp-oauth.html">Host MCP OAuth</a>)</td></tr></tbody></table><p>Use a dedicated Cursor key per host. <code>agent-sdk whoami</code> shows the active credential. <code>logout</code> removes the stored key from the host; revoke the key in the Cursor dashboard to invalidate it. See <a href="./reference/cli.html#login-logout-whoami">CLI authentication</a> for credential resolution.</p><h3 id="state" tabindex="-1">State <a class="header-anchor" href="#state" aria-label="Permalink to "State""></a></h3><p>Place <code>--state-root</code> on a persistent volume outside the agent repository, and back it up. Sessions survive restarts only when their state does. See <a href="./reference/sessions.html">Sessions</a> for persistence and layout details.</p><h3 id="a-single-box" tabindex="-1">A single box <a class="header-anchor" href="#a-single-box" aria-label="Permalink to "A single box""></a></h3><p>A single-host deployment needs one supervised <code>serve</code> process on a private network. Export the Cursor key and a generated bearer token in the supervisor environment:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> CURSOR_API_KEY</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"<cursor-api-key>"</span></span>
|
|
36
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> AGENT_SDK_BEARER_TOKEN</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"$(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">openssl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rand </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">-hex</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 32</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">)"</span></span>
|
|
37
|
-
<span class="line"></span>
|
|
38
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># the server: all agents under one port</span></span>
|
|
39
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> serve</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /srv/agents</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --port</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 3000</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --host</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 127.0.0.1</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
40
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --state-root</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /var/lib/agent-sdk</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
41
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --bearer-token</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$AGENT_SDK_BEARER_TOKEN</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"</span></span></code></pre></div><p>Slack Socket Mode needs no inbound network. For GitHub, prefer <code>--cursor-events --repo owner/repo</code> on <code>serve</code> so the host pulls events through Cursor without a public webhook URL.</p><p>Webhook forwarding is the fallback. It needs one additional process. Before starting or restarting <code>serve</code>, export the same strong <code>GITHUB_WEBHOOK_SECRET</code> in both supervisor environments. Then install the extension, authenticate <code>gh</code>, and start the forwarder. Repository forwarding requires repo-admin access; organization forwarding with <code>--org</code> requires org-owner access.</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> GITHUB_WEBHOOK_SECRET</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"$(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">openssl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> rand </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">-hex</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 32</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">)"</span></span>
|
|
42
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> github</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> doctor</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --install</span></span>
|
|
43
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">gh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> auth</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> login</span></span>
|
|
44
|
-
<span class="line"></span>
|
|
45
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># GitHub agents only: ONE forwarder relaying live deliveries to loopback</span></span>
|
|
46
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">GITHUB_TOKEN</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> GH_TOKEN</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> \\</span></span>
|
|
47
|
-
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> github</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> forward</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /srv/agents</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --repo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> owner/repo</span></span></code></pre></div><p>Run long-lived processes under a supervisor. systemd survives reboots; tmux survives only SSH disconnects. On a TTY, press Enter to reload agent code. Humans reach the playground through a private network or tunnel. Keep <code>--bearer-token</code> on because tunneled requests arrive from loopback and IP-based policies can't tell them apart.</p><p>Health checks: <code>GET /v1/health</code> at the host level, and each agent also serves <code>/<slug>/v1/health</code>.</p><h3 id="containers" tabindex="-1">Containers <a class="header-anchor" href="#containers" aria-label="Permalink to "Containers""></a></h3><p>Build the image with Node 22.13 or newer, the agent source, and its package dependencies. Run <code>agent-sdk serve</code> as a non-root user:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> serve</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /srv/agents</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --mode</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> multi</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
48
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --host</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0.0.0.0</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --port</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 3000</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
49
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --state-root</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /var/lib/agent-sdk</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
50
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --bearer-token</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$AGENT_SDK_BEARER_TOKEN</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"</span></span></code></pre></div><p>Mount the state root as a persistent volume and inject secrets at startup. Install <code>git</code> and <code>gh</code> when channels need host-side GitHub work. Don't put secrets in the image.</p><h3 id="serve-many-agents-from-one-process" tabindex="-1">Serve many agents from one process <a class="header-anchor" href="#serve-many-agents-from-one-process" aria-label="Permalink to "Serve many agents from one process""></a></h3><p>Point <code>serve</code> at a folder of agent projects and every child mounts under its directory name on one port. One process, one state root, one credential:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> serve</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /srv/agents</span></span>
|
|
51
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># index at /, each agent at /<slug>/v1/*, /<slug>/playground</span></span></code></pre></div><p>Only mount what you mean to run. Every mounted agent's channels are live, and webhook-driven agents spend model budget on every wake. <code>--mode single</code> serves exactly one agent at the unslugged <code>/v1/*</code> when the agent is the whole host. See the <a href="./reference/http-api.html">HTTP API</a> for route layout and the <a href="./guides/slack.html">Slack guide</a> for multi-agent token setup.</p><h3 id="the-production-flags" tabindex="-1">The production flags <a class="header-anchor" href="#the-production-flags" aria-label="Permalink to "The production flags""></a></h3><p>Use these settings in production:</p><table tabindex="0"><thead><tr><th>Flag</th><th>In production</th></tr></thead><tbody><tr><td><code>--dev</code></td><td>Leave off. Dev mode admits unsigned loopback GitHub deliveries, widens playground session listing on loopback, and never auto-fires schedules.</td></tr><tr><td><code>--bearer-token</code></td><td>Set on shared hosts unless an authenticating proxy is the trust boundary and you use <code>--allow-anonymous</code> instead.</td></tr><tr><td><code>--allow-anonymous</code></td><td>Use only behind an authenticating network boundary. It also widens playground session access so Slack and webhook sessions appear.</td></tr><tr><td><code>--state-root</code></td><td>Place on a persistent volume outside any repo.</td></tr><tr><td><code>--public-url</code></td><td>Set when cloud-runtime turns must call back into peers on this host.</td></tr><tr><td><code>--no-playground</code></td><td>Set when no human needs the UI.</td></tr><tr><td><code>--no-docs</code></td><td>Set to remove the documentation site at <code>/docs</code>.</td></tr><tr><td><code>--no-schedules</code></td><td>Set on secondary hosts so schedules run exactly once.</td></tr></tbody></table><p>Schedules fire on their cron cadence (UTC) in production mode. They have no cross-host coordination, so enable them on exactly one serving process per project.</p><h3 id="restarts-and-upgrades" tabindex="-1">Restarts and upgrades <a class="header-anchor" href="#restarts-and-upgrades" aria-label="Permalink to "Restarts and upgrades""></a></h3><p>Restarts preserve sessions, event streams, and SDK conversation state under the state root. Parked approvals and in-memory reminders don't survive a restart; re-run or recreate them afterward.</p><h3 id="observability" tabindex="-1">Observability <a class="header-anchor" href="#observability" aria-label="Permalink to "Observability""></a></h3><p>Use <a href="./reference/cli.html#logs"><code>agent-sdk logs</code></a> for runtime output, <a href="./guides/opentelemetry.html">OpenTelemetry</a> for OTLP traces and metrics, <a href="./reference/hooks.html">hooks</a> for in-process subscribers, and <a href="./reference/sessions.html#how-do-i-inspect-a-saved-event-stream">session traces</a> for incident review.</p><h2 id="what-s-next" tabindex="-1">What's next <a class="header-anchor" href="#what-s-next" aria-label="Permalink to "What's next""></a></h2><p>Continue with these pages:</p><ul><li><a href="./reference/cli.html#deploy">CLI reference</a>: deploy, inspect, stop, and rotate hosted agents</li><li><a href="./reference/channels.html#auth-policies">Channels</a>: the auth policies in detail</li><li><a href="./guides/github.html">GitHub guide</a>: delivery paths without a public URL</li><li><a href="./troubleshooting.html">Troubleshooting</a>: the symptom table for when a deploy misbehaves</li></ul>`,105)])])}const g=s(n,[["render",o]]);export{c as __pageData,g as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as t,a3 as i}from"./chunks/framework.dypDpWZ3.js";const c=JSON.parse('{"title":"Deployment","description":"Deploy the Agent SDK with Cursor-managed hosting or on infrastructure you control.","frontmatter":{"title":"Deployment","description":"Deploy the Agent SDK with Cursor-managed hosting or on infrastructure you control."},"headers":[],"relativePath":"deployment.md","filePath":"deployment.md"}'),n={name:"deployment.md"};function o(h,e,l,r,d,p){return t(),a("div",null,[...e[0]||(e[0]=[i("",105)])])}const g=s(n,[["render",o]]);export{c as __pageData,g as default};
|