From db234f88f0a89b6db0ba4045eb82c8f1aebec05f Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Tue, 14 Oct 2025 13:56:14 -0700 Subject: [PATCH] chore(site); clean up homepage --- README.md | 18 +- frontend/packages/icons/manifest.json | 2 +- .../packages/icons/scripts/postinstall.js | 2 +- site/public/docs.md | 21 +- site/public/icons/bolt.svg | 1 + site/public/icons/database.svg | 1 + site/public/icons/microchip.svg | 1 + site/public/llms-full.txt | 742 +++++++++++------- site/public/llms.txt | 13 +- site/scripts/examplesData.mjs | 64 +- site/scripts/generateExamples.mjs | 8 +- .../components/code-snippets/CodeSnippets.tsx | 14 +- .../code-snippets/CodeSnippetsDesktop.tsx | 205 ++--- .../code-snippets/CodeSnippetsMobile.tsx | 158 +++- .../(index)/components/code-snippets/utils.ts | 6 + .../(index)/sections/CTASection.tsx | 2 +- .../(index)/sections/FeaturesSection.tsx | 191 ++--- .../(index)/sections/HeroSection.tsx | 31 +- .../(index)/sections/IconWithSpotlight.tsx | 62 ++ .../(index)/sections/StudioSection.tsx | 59 +- site/src/components/docs/Hosting.tsx | 13 +- site/src/content/docs/actors/index.mdx | 12 +- .../docs/actors/quickstart/backend.mdx | 18 +- .../actors/quickstart/cloudflare-workers.mdx | 20 +- .../content/docs/actors/quickstart/index.mdx | 8 +- .../docs/actors/quickstart/next-js.mdx | 73 +- .../content/docs/actors/quickstart/react.mdx | 44 +- site/src/content/docs/clients/javascript.mdx | 49 +- site/src/content/docs/clients/next-js.mdx | 77 +- site/src/content/docs/clients/openapi.mdx | 3 + site/src/content/docs/clients/react.mdx | 83 +- site/src/content/docs/clients/rust.mdx | 2 - .../docs/deploy/cloudflare-workers.mdx | 165 +--- site/src/content/docs/deploy/vercel.mdx | 3 +- site/src/content/docs/index.mdx | 44 +- .../content/docs/integrations/better-auth.mdx | 4 +- site/src/content/docs/use-cases/ai-agent.mdx | 51 ++ site/src/content/docs/use-cases/ai-agents.mdx | 6 - .../docs/use-cases/background-jobs.mdx | 77 ++ site/src/content/docs/use-cases/bots.mdx | 52 +- site/src/content/docs/use-cases/crdt.mdx | 55 ++ site/src/content/docs/use-cases/database.mdx | 61 ++ .../docs/use-cases/durable-compute.mdx | 11 - site/src/content/docs/use-cases/game.mdx | 65 ++ .../docs/use-cases/per-tenant-databases.mdx | 7 - .../content/docs/use-cases/rate-limiting.mdx | 6 - site/src/content/docs/use-cases/rate.mdx | 85 ++ site/src/content/docs/use-cases/realtime.mdx | 9 - site/src/content/docs/use-cases/sync.mdx | 68 ++ site/src/content/docs/use-cases/workflows.mdx | 65 ++ site/src/data/deploy-options.ts | 5 + site/src/data/examples/examples.ts | 221 +++--- site/src/data/use-cases.ts | 75 ++ site/src/images/screenshots/rivet-hub.png | Bin 599622 -> 213535 bytes site/src/sitemap/mod.ts | 58 +- 55 files changed, 1918 insertions(+), 1278 deletions(-) create mode 100644 site/public/icons/bolt.svg create mode 100644 site/public/icons/database.svg create mode 100644 site/public/icons/microchip.svg create mode 100644 site/src/app/(v2)/(marketing)/(index)/sections/IconWithSpotlight.tsx create mode 100644 site/src/content/docs/use-cases/ai-agent.mdx delete mode 100644 site/src/content/docs/use-cases/ai-agents.mdx create mode 100644 site/src/content/docs/use-cases/background-jobs.mdx create mode 100644 site/src/content/docs/use-cases/crdt.mdx create mode 100644 site/src/content/docs/use-cases/database.mdx delete mode 100644 site/src/content/docs/use-cases/durable-compute.mdx create mode 100644 site/src/content/docs/use-cases/game.mdx delete mode 100644 site/src/content/docs/use-cases/per-tenant-databases.mdx delete mode 100644 site/src/content/docs/use-cases/rate-limiting.mdx create mode 100644 site/src/content/docs/use-cases/rate.mdx delete mode 100644 site/src/content/docs/use-cases/realtime.mdx create mode 100644 site/src/content/docs/use-cases/sync.mdx create mode 100644 site/src/content/docs/use-cases/workflows.mdx create mode 100644 site/src/data/use-cases.ts diff --git a/README.md b/README.md index a769416bd7..403e0779ba 100644 --- a/README.md +++ b/README.md @@ -79,14 +79,14 @@ The Rivet Engine supports: ## Examples - AI Agent — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/ai-agent) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/ai-agent) -- Chat Room — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/chat-room) -- Collab (Yjs) — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/crdt) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/crdt) -- Multiplayer Game — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/game) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/game) +- Realtime Docs — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/crdt) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/crdt) +- Workflows — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/workflows) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/workflows) - Local-First Sync — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/sync) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/sync) -- Rate Limiter — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/rate) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/rate) -- Per-User DB — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/database) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/database) -- Multi-Tenant SaaS — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/tenant) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/tenant) -- Stream Processing — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/stream) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/stream) +- Per-User Database — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/database) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/database) +- Background Jobs — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/background-jobs) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/background-jobs) +- Rate Limiting — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/rate) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/rate) +- Multiplayer Game — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/game) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/game) +- Bots — [GitHub](https://github.com/rivet-dev/rivetkit/tree/main/examples/bots) · [StackBlitz](https://stackblitz.com/github/rivet-dev/rivetkit/tree/main/examples/bots) ## Running Rivet @@ -100,12 +100,12 @@ For enterprise use cases, [get in touch](https://rivet.gg/sales) about using Riv Join thousands of developers building with Rivet Actors today: -- [Discord](https://rivet.gg/discord) - Chat with the community +- [Discord](https://rivet.dev/discord) - Chat with the community - [X/Twitter](https://x.com/rivet_dev) - Follow for updates - [Bluesky](https://bsky.app/profile/rivet.gg) - Follow for updates - [GitHub Discussions](https://github.com/rivet-dev/rivetkit/discussions) - Ask questions and share ideas - [GitHub Issues](https://github.com/rivet-dev/rivetkit/issues) - Report bugs and request features -- [Talk to an engineer](https://rivet.gg/talk-to-an-engineer) - Discuss your technical needs, current stack, and how Rivet can help with your infrastructure challenges +- [Talk to an engineer](https://rivet.dev/talk-to-an-engineer) - Discuss your technical needs, current stack, and how Rivet can help with your infrastructure challenges ## Technologies diff --git a/frontend/packages/icons/manifest.json b/frontend/packages/icons/manifest.json index 5cb0d45a5f..ba07e044ee 100644 --- a/frontend/packages/icons/manifest.json +++ b/frontend/packages/icons/manifest.json @@ -1 +1 @@ -{"@fortawesome/free-solid-svg-icons":{"icons":[{"icon":"fa0","aliases":[]},{"icon":"fa1","aliases":[]},{"icon":"fa2","aliases":[]},{"icon":"fa3","aliases":[]},{"icon":"fa4","aliases":[]},{"icon":"fa5","aliases":[]},{"icon":"fa6","aliases":[]},{"icon":"fa7","aliases":[]},{"icon":"fa8","aliases":[]},{"icon":"fa9","aliases":[]},{"icon":"faA","aliases":[]},{"icon":"faAd","aliases":["faAd"]},{"icon":"faAdd","aliases":["faAdd"]},{"icon":"faAddressBook","aliases":["faContactBook"]},{"icon":"faAddressCard","aliases":["faContactCard","faVcard"]},{"icon":"faAdjust","aliases":["faAdjust"]},{"icon":"faAirFreshener","aliases":["faAirFreshener"]},{"icon":"faAlignCenter","aliases":[]},{"icon":"faAlignJustify","aliases":[]},{"icon":"faAlignLeft","aliases":[]},{"icon":"faAlignRight","aliases":[]},{"icon":"faAllergies","aliases":["faAllergies"]},{"icon":"faAmbulance","aliases":["faAmbulance"]},{"icon":"faAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAnchor","aliases":[]},{"icon":"faAnchorCircleCheck","aliases":[]},{"icon":"faAnchorCircleExclamation","aliases":[]},{"icon":"faAnchorCircleXmark","aliases":[]},{"icon":"faAnchorLock","aliases":[]},{"icon":"faAngleDoubleDown","aliases":["faAngleDoubleDown"]},{"icon":"faAngleDoubleLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAngleDoubleRight","aliases":["faAngleDoubleRight"]},{"icon":"faAngleDoubleUp","aliases":["faAngleDoubleUp"]},{"icon":"faAngleDown","aliases":[]},{"icon":"faAngleLeft","aliases":[]},{"icon":"faAngleRight","aliases":[]},{"icon":"faAngleUp","aliases":[]},{"icon":"faAnglesDown","aliases":["faAngleDoubleDown"]},{"icon":"faAnglesLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAnglesRight","aliases":["faAngleDoubleRight"]},{"icon":"faAnglesUp","aliases":["faAngleDoubleUp"]},{"icon":"faAngry","aliases":["faAngry"]},{"icon":"faAnkh","aliases":[]},{"icon":"faAppleAlt","aliases":["faAppleAlt"]},{"icon":"faAppleWhole","aliases":["faAppleAlt"]},{"icon":"faArchive","aliases":["faArchive"]},{"icon":"faArchway","aliases":[]},{"icon":"faAreaChart","aliases":["faAreaChart"]},{"icon":"faArrowAltCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faArrowAltCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faArrowAltCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faArrowAltCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faArrowCircleDown","aliases":["faArrowCircleDown"]},{"icon":"faArrowCircleLeft","aliases":["faArrowCircleLeft"]},{"icon":"faArrowCircleRight","aliases":["faArrowCircleRight"]},{"icon":"faArrowCircleUp","aliases":["faArrowCircleUp"]},{"icon":"faArrowDown","aliases":[]},{"icon":"faArrowDown19","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faArrowDown91","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faArrowDownAZ","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faArrowDownLong","aliases":["faLongArrowDown"]},{"icon":"faArrowDownShortWide","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faArrowDownUpAcrossLine","aliases":[]},{"icon":"faArrowDownUpLock","aliases":[]},{"icon":"faArrowDownWideShort","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faArrowDownZA","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faArrowLeft","aliases":[]},{"icon":"faArrowLeftLong","aliases":["faLongArrowLeft"]},{"icon":"faArrowLeftRotate","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowPointer","aliases":["faMousePointer"]},{"icon":"faArrowRight","aliases":[]},{"icon":"faArrowRightArrowLeft","aliases":["faExchange"]},{"icon":"faArrowRightFromBracket","aliases":["faSignOut"]},{"icon":"faArrowRightFromFile","aliases":["faArrowRightFromFile"]},{"icon":"faArrowRightLong","aliases":["faLongArrowRight"]},{"icon":"faArrowRightRotate","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRightToBracket","aliases":["faSignIn"]},{"icon":"faArrowRightToCity","aliases":[]},{"icon":"faArrowRightToFile","aliases":["faArrowRightToFile"]},{"icon":"faArrowRotateBack","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateBackward","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateForward","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRotateLeft","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateRight","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowTrendDown","aliases":[]},{"icon":"faArrowTrendUp","aliases":[]},{"icon":"faArrowTurnDown","aliases":["faLevelDown"]},{"icon":"faArrowTurnUp","aliases":["faLevelUp"]},{"icon":"faArrowUp","aliases":[]},{"icon":"faArrowUp19","aliases":["faSortNumericUp"]},{"icon":"faArrowUp91","aliases":["faSortNumericUpAlt"]},{"icon":"faArrowUpAZ","aliases":["faSortAlphaUp"]},{"icon":"faArrowUpFromBracket","aliases":[]},{"icon":"faArrowUpFromGroundWater","aliases":[]},{"icon":"faArrowUpFromWaterPump","aliases":[]},{"icon":"faArrowUpLong","aliases":["faLongArrowUp"]},{"icon":"faArrowUpRightDots","aliases":[]},{"icon":"faArrowUpRightFromSquare","aliases":["faExternalLink"]},{"icon":"faArrowUpShortWide","aliases":["faSortAmountUpAlt"]},{"icon":"faArrowUpWideShort","aliases":["faSortAmountUp"]},{"icon":"faArrowUpZA","aliases":["faSortAlphaUpAlt"]},{"icon":"faArrows","aliases":["faArrows"]},{"icon":"faArrowsAlt","aliases":["faArrowsAlt"]},{"icon":"faArrowsAltH","aliases":["faArrowsAltH"]},{"icon":"faArrowsAltV","aliases":["faArrowsAltV"]},{"icon":"faArrowsDownToLine","aliases":[]},{"icon":"faArrowsDownToPeople","aliases":[]},{"icon":"faArrowsH","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRight","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRightToLine","aliases":[]},{"icon":"faArrowsRotate","aliases":["faRefresh","faSync"]},{"icon":"faArrowsSpin","aliases":[]},{"icon":"faArrowsSplitUpAndLeft","aliases":[]},{"icon":"faArrowsToCircle","aliases":[]},{"icon":"faArrowsToDot","aliases":[]},{"icon":"faArrowsToEye","aliases":[]},{"icon":"faArrowsTurnRight","aliases":[]},{"icon":"faArrowsTurnToDots","aliases":[]},{"icon":"faArrowsUpDown","aliases":["faArrowsV"]},{"icon":"faArrowsUpDownLeftRight","aliases":["faArrows"]},{"icon":"faArrowsUpToLine","aliases":[]},{"icon":"faArrowsV","aliases":["faArrowsV"]},{"icon":"faAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAssistiveListeningSystems","aliases":["faAssistiveListeningSystems"]},{"icon":"faAsterisk","aliases":[]},{"icon":"faAt","aliases":[]},{"icon":"faAtlas","aliases":["faAtlas"]},{"icon":"faAtom","aliases":[]},{"icon":"faAudioDescription","aliases":[]},{"icon":"faAustralSign","aliases":[]},{"icon":"faAutomobile","aliases":["faAutomobile"]},{"icon":"faAward","aliases":[]},{"icon":"faB","aliases":[]},{"icon":"faBaby","aliases":[]},{"icon":"faBabyCarriage","aliases":["faCarriageBaby"]},{"icon":"faBackspace","aliases":["faBackspace"]},{"icon":"faBackward","aliases":[]},{"icon":"faBackwardFast","aliases":["faFastBackward"]},{"icon":"faBackwardStep","aliases":["faStepBackward"]},{"icon":"faBacon","aliases":[]},{"icon":"faBacteria","aliases":[]},{"icon":"faBacterium","aliases":[]},{"icon":"faBagShopping","aliases":["faShoppingBag"]},{"icon":"faBahai","aliases":["faHaykal"]},{"icon":"faBahtSign","aliases":[]},{"icon":"faBalanceScale","aliases":["faBalanceScale"]},{"icon":"faBalanceScaleLeft","aliases":["faBalanceScaleLeft"]},{"icon":"faBalanceScaleRight","aliases":["faBalanceScaleRight"]},{"icon":"faBan","aliases":["faCancel"]},{"icon":"faBanSmoking","aliases":["faSmokingBan"]},{"icon":"faBandAid","aliases":["faBandAid"]},{"icon":"faBandage","aliases":["faBandAid"]},{"icon":"faBangladeshiTakaSign","aliases":[]},{"icon":"faBank","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBarChart","aliases":["faBarChart"]},{"icon":"faBarcode","aliases":[]},{"icon":"faBars","aliases":["faNavicon"]},{"icon":"faBarsProgress","aliases":["faTasksAlt"]},{"icon":"faBarsStaggered","aliases":["faReorder","faStream"]},{"icon":"faBaseball","aliases":["faBaseballBall"]},{"icon":"faBaseballBall","aliases":["faBaseballBall"]},{"icon":"faBaseballBatBall","aliases":[]},{"icon":"faBasketShopping","aliases":["faShoppingBasket"]},{"icon":"faBasketball","aliases":["faBasketballBall"]},{"icon":"faBasketballBall","aliases":["faBasketballBall"]},{"icon":"faBath","aliases":["faBathtub"]},{"icon":"faBathtub","aliases":["faBathtub"]},{"icon":"faBattery","aliases":["faBattery","faBattery5"]},{"icon":"faBattery0","aliases":["faBattery0"]},{"icon":"faBattery2","aliases":["faBattery2"]},{"icon":"faBattery3","aliases":["faBattery3"]},{"icon":"faBattery4","aliases":["faBattery4"]},{"icon":"faBattery5","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryCar","aliases":["faBatteryCar"]},{"icon":"faBatteryEmpty","aliases":["faBattery0"]},{"icon":"faBatteryFull","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryHalf","aliases":["faBattery3"]},{"icon":"faBatteryQuarter","aliases":["faBattery2"]},{"icon":"faBatteryThreeQuarters","aliases":["faBattery4"]},{"icon":"faBed","aliases":[]},{"icon":"faBedPulse","aliases":["faProcedures"]},{"icon":"faBeer","aliases":["faBeer"]},{"icon":"faBeerMugEmpty","aliases":["faBeer"]},{"icon":"faBell","aliases":[]},{"icon":"faBellConcierge","aliases":["faConciergeBell"]},{"icon":"faBellSlash","aliases":[]},{"icon":"faBezierCurve","aliases":[]},{"icon":"faBible","aliases":["faBible"]},{"icon":"faBicycle","aliases":[]},{"icon":"faBiking","aliases":["faBiking"]},{"icon":"faBinoculars","aliases":[]},{"icon":"faBiohazard","aliases":[]},{"icon":"faBirthdayCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faBitcoinSign","aliases":[]},{"icon":"faBlackboard","aliases":["faBlackboard"]},{"icon":"faBlender","aliases":[]},{"icon":"faBlenderPhone","aliases":[]},{"icon":"faBlind","aliases":["faBlind"]},{"icon":"faBlog","aliases":[]},{"icon":"faBold","aliases":[]},{"icon":"faBolt","aliases":["faZap"]},{"icon":"faBoltLightning","aliases":[]},{"icon":"faBomb","aliases":[]},{"icon":"faBone","aliases":[]},{"icon":"faBong","aliases":[]},{"icon":"faBook","aliases":[]},{"icon":"faBookAtlas","aliases":["faAtlas"]},{"icon":"faBookBible","aliases":["faBible"]},{"icon":"faBookBookmark","aliases":[]},{"icon":"faBookDead","aliases":["faBookDead"]},{"icon":"faBookJournalWhills","aliases":["faJournalWhills"]},{"icon":"faBookMedical","aliases":[]},{"icon":"faBookOpen","aliases":[]},{"icon":"faBookOpenReader","aliases":["faBookReader"]},{"icon":"faBookQuran","aliases":["faQuran"]},{"icon":"faBookReader","aliases":["faBookReader"]},{"icon":"faBookSkull","aliases":["faBookDead"]},{"icon":"faBookTanakh","aliases":["faTanakh"]},{"icon":"faBookmark","aliases":[]},{"icon":"faBorderAll","aliases":[]},{"icon":"faBorderNone","aliases":[]},{"icon":"faBorderStyle","aliases":["faBorderStyle"]},{"icon":"faBorderTopLeft","aliases":["faBorderStyle"]},{"icon":"faBoreHole","aliases":[]},{"icon":"faBottleDroplet","aliases":[]},{"icon":"faBottleWater","aliases":[]},{"icon":"faBowlFood","aliases":[]},{"icon":"faBowlRice","aliases":[]},{"icon":"faBowlingBall","aliases":[]},{"icon":"faBox","aliases":[]},{"icon":"faBoxArchive","aliases":["faArchive"]},{"icon":"faBoxOpen","aliases":[]},{"icon":"faBoxTissue","aliases":[]},{"icon":"faBoxes","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesAlt","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesPacking","aliases":[]},{"icon":"faBoxesStacked","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBraille","aliases":[]},{"icon":"faBrain","aliases":[]},{"icon":"faBrazilianRealSign","aliases":[]},{"icon":"faBreadSlice","aliases":[]},{"icon":"faBridge","aliases":[]},{"icon":"faBridgeCircleCheck","aliases":[]},{"icon":"faBridgeCircleExclamation","aliases":[]},{"icon":"faBridgeCircleXmark","aliases":[]},{"icon":"faBridgeLock","aliases":[]},{"icon":"faBridgeWater","aliases":[]},{"icon":"faBriefcase","aliases":[]},{"icon":"faBriefcaseClock","aliases":["faBriefcaseClock"]},{"icon":"faBriefcaseMedical","aliases":[]},{"icon":"faBroadcastTower","aliases":["faBroadcastTower"]},{"icon":"faBroom","aliases":[]},{"icon":"faBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faBrush","aliases":[]},{"icon":"faBucket","aliases":[]},{"icon":"faBug","aliases":[]},{"icon":"faBugSlash","aliases":[]},{"icon":"faBugs","aliases":[]},{"icon":"faBuilding","aliases":[]},{"icon":"faBuildingCircleArrowRight","aliases":[]},{"icon":"faBuildingCircleCheck","aliases":[]},{"icon":"faBuildingCircleExclamation","aliases":[]},{"icon":"faBuildingCircleXmark","aliases":[]},{"icon":"faBuildingColumns","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBuildingFlag","aliases":[]},{"icon":"faBuildingLock","aliases":[]},{"icon":"faBuildingNgo","aliases":[]},{"icon":"faBuildingShield","aliases":[]},{"icon":"faBuildingUn","aliases":[]},{"icon":"faBuildingUser","aliases":[]},{"icon":"faBuildingWheat","aliases":[]},{"icon":"faBullhorn","aliases":[]},{"icon":"faBullseye","aliases":[]},{"icon":"faBurger","aliases":["faHamburger"]},{"icon":"faBurn","aliases":["faBurn"]},{"icon":"faBurst","aliases":[]},{"icon":"faBus","aliases":[]},{"icon":"faBusAlt","aliases":["faBusAlt"]},{"icon":"faBusSimple","aliases":["faBusAlt"]},{"icon":"faBusinessTime","aliases":["faBriefcaseClock"]},{"icon":"faC","aliases":[]},{"icon":"faCab","aliases":["faCab"]},{"icon":"faCableCar","aliases":["faTram"]},{"icon":"faCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faCakeCandles","aliases":["faBirthdayCake","faCake"]},{"icon":"faCalculator","aliases":[]},{"icon":"faCalendar","aliases":[]},{"icon":"faCalendarAlt","aliases":["faCalendarAlt"]},{"icon":"faCalendarCheck","aliases":[]},{"icon":"faCalendarDay","aliases":[]},{"icon":"faCalendarDays","aliases":["faCalendarAlt"]},{"icon":"faCalendarMinus","aliases":[]},{"icon":"faCalendarPlus","aliases":[]},{"icon":"faCalendarTimes","aliases":["faCalendarTimes"]},{"icon":"faCalendarWeek","aliases":[]},{"icon":"faCalendarXmark","aliases":["faCalendarTimes"]},{"icon":"faCamera","aliases":["faCameraAlt"]},{"icon":"faCameraAlt","aliases":["faCameraAlt"]},{"icon":"faCameraRetro","aliases":[]},{"icon":"faCameraRotate","aliases":[]},{"icon":"faCampground","aliases":[]},{"icon":"faCancel","aliases":["faCancel"]},{"icon":"faCandyCane","aliases":[]},{"icon":"faCannabis","aliases":[]},{"icon":"faCapsules","aliases":[]},{"icon":"faCar","aliases":["faAutomobile"]},{"icon":"faCarAlt","aliases":["faCarAlt"]},{"icon":"faCarBattery","aliases":["faBatteryCar"]},{"icon":"faCarBurst","aliases":["faCarCrash"]},{"icon":"faCarCrash","aliases":["faCarCrash"]},{"icon":"faCarOn","aliases":[]},{"icon":"faCarRear","aliases":["faCarAlt"]},{"icon":"faCarSide","aliases":[]},{"icon":"faCarTunnel","aliases":[]},{"icon":"faCaravan","aliases":[]},{"icon":"faCaretDown","aliases":[]},{"icon":"faCaretLeft","aliases":[]},{"icon":"faCaretRight","aliases":[]},{"icon":"faCaretSquareDown","aliases":["faCaretSquareDown"]},{"icon":"faCaretSquareLeft","aliases":["faCaretSquareLeft"]},{"icon":"faCaretSquareRight","aliases":["faCaretSquareRight"]},{"icon":"faCaretSquareUp","aliases":["faCaretSquareUp"]},{"icon":"faCaretUp","aliases":[]},{"icon":"faCarriageBaby","aliases":["faCarriageBaby"]},{"icon":"faCarrot","aliases":[]},{"icon":"faCartArrowDown","aliases":[]},{"icon":"faCartFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faCartFlatbedSuitcase","aliases":["faLuggageCart"]},{"icon":"faCartPlus","aliases":[]},{"icon":"faCartShopping","aliases":["faShoppingCart"]},{"icon":"faCashRegister","aliases":[]},{"icon":"faCat","aliases":[]},{"icon":"faCediSign","aliases":[]},{"icon":"faCentSign","aliases":[]},{"icon":"faCertificate","aliases":[]},{"icon":"faChain","aliases":["faChain"]},{"icon":"faChainBroken","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChainSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChair","aliases":[]},{"icon":"faChalkboard","aliases":["faBlackboard"]},{"icon":"faChalkboardTeacher","aliases":["faChalkboardTeacher"]},{"icon":"faChalkboardUser","aliases":["faChalkboardTeacher"]},{"icon":"faChampagneGlasses","aliases":["faGlassCheers"]},{"icon":"faChargingStation","aliases":[]},{"icon":"faChartArea","aliases":["faAreaChart"]},{"icon":"faChartBar","aliases":["faBarChart"]},{"icon":"faChartColumn","aliases":[]},{"icon":"faChartDiagram","aliases":[]},{"icon":"faChartGantt","aliases":[]},{"icon":"faChartLine","aliases":["faLineChart"]},{"icon":"faChartPie","aliases":["faPieChart"]},{"icon":"faChartSimple","aliases":[]},{"icon":"faCheck","aliases":[]},{"icon":"faCheckCircle","aliases":["faCheckCircle"]},{"icon":"faCheckDouble","aliases":[]},{"icon":"faCheckSquare","aliases":["faCheckSquare"]},{"icon":"faCheckToSlot","aliases":["faVoteYea"]},{"icon":"faCheese","aliases":[]},{"icon":"faChess","aliases":[]},{"icon":"faChessBishop","aliases":[]},{"icon":"faChessBoard","aliases":[]},{"icon":"faChessKing","aliases":[]},{"icon":"faChessKnight","aliases":[]},{"icon":"faChessPawn","aliases":[]},{"icon":"faChessQueen","aliases":[]},{"icon":"faChessRook","aliases":[]},{"icon":"faChevronCircleDown","aliases":["faChevronCircleDown"]},{"icon":"faChevronCircleLeft","aliases":["faChevronCircleLeft"]},{"icon":"faChevronCircleRight","aliases":["faChevronCircleRight"]},{"icon":"faChevronCircleUp","aliases":["faChevronCircleUp"]},{"icon":"faChevronDown","aliases":[]},{"icon":"faChevronLeft","aliases":[]},{"icon":"faChevronRight","aliases":[]},{"icon":"faChevronUp","aliases":[]},{"icon":"faChild","aliases":[]},{"icon":"faChildCombatant","aliases":["faChildRifle"]},{"icon":"faChildDress","aliases":[]},{"icon":"faChildReaching","aliases":[]},{"icon":"faChildRifle","aliases":["faChildRifle"]},{"icon":"faChildren","aliases":[]},{"icon":"faChurch","aliases":[]},{"icon":"faCircle","aliases":[]},{"icon":"faCircleArrowDown","aliases":["faArrowCircleDown"]},{"icon":"faCircleArrowLeft","aliases":["faArrowCircleLeft"]},{"icon":"faCircleArrowRight","aliases":["faArrowCircleRight"]},{"icon":"faCircleArrowUp","aliases":["faArrowCircleUp"]},{"icon":"faCircleCheck","aliases":["faCheckCircle"]},{"icon":"faCircleChevronDown","aliases":["faChevronCircleDown"]},{"icon":"faCircleChevronLeft","aliases":["faChevronCircleLeft"]},{"icon":"faCircleChevronRight","aliases":["faChevronCircleRight"]},{"icon":"faCircleChevronUp","aliases":["faChevronCircleUp"]},{"icon":"faCircleDollarToSlot","aliases":["faDonate"]},{"icon":"faCircleDot","aliases":["faDotCircle"]},{"icon":"faCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faCircleExclamation","aliases":["faExclamationCircle"]},{"icon":"faCircleH","aliases":["faHospitalSymbol"]},{"icon":"faCircleHalfStroke","aliases":["faAdjust"]},{"icon":"faCircleInfo","aliases":["faInfoCircle"]},{"icon":"faCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faCircleMinus","aliases":["faMinusCircle"]},{"icon":"faCircleNodes","aliases":[]},{"icon":"faCircleNotch","aliases":[]},{"icon":"faCirclePause","aliases":["faPauseCircle"]},{"icon":"faCirclePlay","aliases":["faPlayCircle"]},{"icon":"faCirclePlus","aliases":["faPlusCircle"]},{"icon":"faCircleQuestion","aliases":["faQuestionCircle"]},{"icon":"faCircleRadiation","aliases":["faRadiationAlt"]},{"icon":"faCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faCircleStop","aliases":["faStopCircle"]},{"icon":"faCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faCircleUser","aliases":["faUserCircle"]},{"icon":"faCircleXmark","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faCity","aliases":[]},{"icon":"faClapperboard","aliases":[]},{"icon":"faClinicMedical","aliases":["faClinicMedical"]},{"icon":"faClipboard","aliases":[]},{"icon":"faClipboardCheck","aliases":[]},{"icon":"faClipboardList","aliases":[]},{"icon":"faClipboardQuestion","aliases":[]},{"icon":"faClipboardUser","aliases":[]},{"icon":"faClock","aliases":["faClockFour"]},{"icon":"faClockFour","aliases":["faClockFour"]},{"icon":"faClockRotateLeft","aliases":["faHistory"]},{"icon":"faClone","aliases":[]},{"icon":"faClose","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faClosedCaptioning","aliases":[]},{"icon":"faCloud","aliases":[]},{"icon":"faCloudArrowDown","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudArrowUp","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudBolt","aliases":["faThunderstorm"]},{"icon":"faCloudDownload","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudDownloadAlt","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudMeatball","aliases":[]},{"icon":"faCloudMoon","aliases":[]},{"icon":"faCloudMoonRain","aliases":[]},{"icon":"faCloudRain","aliases":[]},{"icon":"faCloudShowersHeavy","aliases":[]},{"icon":"faCloudShowersWater","aliases":[]},{"icon":"faCloudSun","aliases":[]},{"icon":"faCloudSunRain","aliases":[]},{"icon":"faCloudUpload","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudUploadAlt","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faClover","aliases":[]},{"icon":"faCny","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faCocktail","aliases":["faCocktail"]},{"icon":"faCode","aliases":[]},{"icon":"faCodeBranch","aliases":[]},{"icon":"faCodeCommit","aliases":[]},{"icon":"faCodeCompare","aliases":[]},{"icon":"faCodeFork","aliases":[]},{"icon":"faCodeMerge","aliases":[]},{"icon":"faCodePullRequest","aliases":[]},{"icon":"faCoffee","aliases":["faCoffee"]},{"icon":"faCog","aliases":["faCog"]},{"icon":"faCogs","aliases":["faCogs"]},{"icon":"faCoins","aliases":[]},{"icon":"faColonSign","aliases":[]},{"icon":"faColumns","aliases":["faColumns"]},{"icon":"faComment","aliases":[]},{"icon":"faCommentAlt","aliases":["faCommentAlt"]},{"icon":"faCommentDollar","aliases":[]},{"icon":"faCommentDots","aliases":["faCommenting"]},{"icon":"faCommentMedical","aliases":[]},{"icon":"faCommentNodes","aliases":[]},{"icon":"faCommentSlash","aliases":[]},{"icon":"faCommentSms","aliases":["faSms"]},{"icon":"faCommenting","aliases":["faCommenting"]},{"icon":"faComments","aliases":[]},{"icon":"faCommentsDollar","aliases":[]},{"icon":"faCompactDisc","aliases":[]},{"icon":"faCompass","aliases":[]},{"icon":"faCompassDrafting","aliases":["faDraftingCompass"]},{"icon":"faCompress","aliases":[]},{"icon":"faCompressAlt","aliases":["faCompressAlt"]},{"icon":"faCompressArrowsAlt","aliases":["faCompressArrowsAlt"]},{"icon":"faComputer","aliases":[]},{"icon":"faComputerMouse","aliases":["faMouse"]},{"icon":"faConciergeBell","aliases":["faConciergeBell"]},{"icon":"faContactBook","aliases":["faContactBook"]},{"icon":"faContactCard","aliases":["faContactCard","faVcard"]},{"icon":"faCookie","aliases":[]},{"icon":"faCookieBite","aliases":[]},{"icon":"faCopy","aliases":[]},{"icon":"faCopyright","aliases":[]},{"icon":"faCouch","aliases":[]},{"icon":"faCow","aliases":[]},{"icon":"faCreditCard","aliases":["faCreditCardAlt"]},{"icon":"faCreditCardAlt","aliases":["faCreditCardAlt"]},{"icon":"faCrop","aliases":[]},{"icon":"faCropAlt","aliases":["faCropAlt"]},{"icon":"faCropSimple","aliases":["faCropAlt"]},{"icon":"faCross","aliases":[]},{"icon":"faCrosshairs","aliases":[]},{"icon":"faCrow","aliases":[]},{"icon":"faCrown","aliases":[]},{"icon":"faCrutch","aliases":[]},{"icon":"faCruzeiroSign","aliases":[]},{"icon":"faCube","aliases":[]},{"icon":"faCubes","aliases":[]},{"icon":"faCubesStacked","aliases":[]},{"icon":"faCut","aliases":["faCut"]},{"icon":"faCutlery","aliases":["faCutlery"]},{"icon":"faD","aliases":[]},{"icon":"faDashboard","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faDatabase","aliases":[]},{"icon":"faDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDeafness","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDedent","aliases":["faDedent"]},{"icon":"faDeleteLeft","aliases":["faBackspace"]},{"icon":"faDemocrat","aliases":[]},{"icon":"faDesktop","aliases":["faDesktopAlt"]},{"icon":"faDesktopAlt","aliases":["faDesktopAlt"]},{"icon":"faDharmachakra","aliases":[]},{"icon":"faDiagnoses","aliases":["faDiagnoses"]},{"icon":"faDiagramNext","aliases":[]},{"icon":"faDiagramPredecessor","aliases":[]},{"icon":"faDiagramProject","aliases":["faProjectDiagram"]},{"icon":"faDiagramSuccessor","aliases":[]},{"icon":"faDiamond","aliases":[]},{"icon":"faDiamondTurnRight","aliases":["faDirections"]},{"icon":"faDice","aliases":[]},{"icon":"faDiceD20","aliases":[]},{"icon":"faDiceD6","aliases":[]},{"icon":"faDiceFive","aliases":[]},{"icon":"faDiceFour","aliases":[]},{"icon":"faDiceOne","aliases":[]},{"icon":"faDiceSix","aliases":[]},{"icon":"faDiceThree","aliases":[]},{"icon":"faDiceTwo","aliases":[]},{"icon":"faDigging","aliases":["faDigging"]},{"icon":"faDigitalTachograph","aliases":["faDigitalTachograph"]},{"icon":"faDirections","aliases":["faDirections"]},{"icon":"faDisease","aliases":[]},{"icon":"faDisplay","aliases":[]},{"icon":"faDivide","aliases":[]},{"icon":"faDizzy","aliases":["faDizzy"]},{"icon":"faDna","aliases":[]},{"icon":"faDog","aliases":[]},{"icon":"faDollar","aliases":["faDollar","faUsd"]},{"icon":"faDollarSign","aliases":["faDollar","faUsd"]},{"icon":"faDolly","aliases":["faDollyBox"]},{"icon":"faDollyBox","aliases":["faDollyBox"]},{"icon":"faDollyFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faDonate","aliases":["faDonate"]},{"icon":"faDongSign","aliases":[]},{"icon":"faDoorClosed","aliases":[]},{"icon":"faDoorOpen","aliases":[]},{"icon":"faDotCircle","aliases":["faDotCircle"]},{"icon":"faDove","aliases":[]},{"icon":"faDownLeftAndUpRightToCenter","aliases":["faCompressAlt"]},{"icon":"faDownLong","aliases":["faLongArrowAltDown"]},{"icon":"faDownload","aliases":[]},{"icon":"faDraftingCompass","aliases":["faDraftingCompass"]},{"icon":"faDragon","aliases":[]},{"icon":"faDrawPolygon","aliases":[]},{"icon":"faDriversLicense","aliases":["faDriversLicense"]},{"icon":"faDroplet","aliases":["faTint"]},{"icon":"faDropletSlash","aliases":["faTintSlash"]},{"icon":"faDrum","aliases":[]},{"icon":"faDrumSteelpan","aliases":[]},{"icon":"faDrumstickBite","aliases":[]},{"icon":"faDumbbell","aliases":[]},{"icon":"faDumpster","aliases":[]},{"icon":"faDumpsterFire","aliases":[]},{"icon":"faDungeon","aliases":[]},{"icon":"faE","aliases":[]},{"icon":"faEarDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faEarListen","aliases":["faAssistiveListeningSystems"]},{"icon":"faEarth","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAfrica","aliases":["faGlobeAfrica"]},{"icon":"faEarthAmerica","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAsia","aliases":["faGlobeAsia"]},{"icon":"faEarthEurope","aliases":["faGlobeEurope"]},{"icon":"faEarthOceania","aliases":["faGlobeOceania"]},{"icon":"faEdit","aliases":["faEdit"]},{"icon":"faEgg","aliases":[]},{"icon":"faEject","aliases":[]},{"icon":"faElevator","aliases":[]},{"icon":"faEllipsis","aliases":["faEllipsisH"]},{"icon":"faEllipsisH","aliases":["faEllipsisH"]},{"icon":"faEllipsisV","aliases":["faEllipsisV"]},{"icon":"faEllipsisVertical","aliases":["faEllipsisV"]},{"icon":"faEnvelope","aliases":[]},{"icon":"faEnvelopeCircleCheck","aliases":[]},{"icon":"faEnvelopeOpen","aliases":[]},{"icon":"faEnvelopeOpenText","aliases":[]},{"icon":"faEnvelopeSquare","aliases":["faEnvelopeSquare"]},{"icon":"faEnvelopesBulk","aliases":["faMailBulk"]},{"icon":"faEquals","aliases":[]},{"icon":"faEraser","aliases":[]},{"icon":"faEthernet","aliases":[]},{"icon":"faEur","aliases":["faEur","faEuro"]},{"icon":"faEuro","aliases":["faEur","faEuro"]},{"icon":"faEuroSign","aliases":["faEur","faEuro"]},{"icon":"faExchange","aliases":["faExchange"]},{"icon":"faExchangeAlt","aliases":["faExchangeAlt"]},{"icon":"faExclamation","aliases":[]},{"icon":"faExclamationCircle","aliases":["faExclamationCircle"]},{"icon":"faExclamationTriangle","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faExpand","aliases":[]},{"icon":"faExpandAlt","aliases":["faExpandAlt"]},{"icon":"faExpandArrowsAlt","aliases":["faExpandArrowsAlt"]},{"icon":"faExplosion","aliases":[]},{"icon":"faExternalLink","aliases":["faExternalLink"]},{"icon":"faExternalLinkAlt","aliases":["faExternalLinkAlt"]},{"icon":"faExternalLinkSquare","aliases":["faExternalLinkSquare"]},{"icon":"faExternalLinkSquareAlt","aliases":["faExternalLinkSquareAlt"]},{"icon":"faEye","aliases":[]},{"icon":"faEyeDropper","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeDropperEmpty","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeLowVision","aliases":["faLowVision"]},{"icon":"faEyeSlash","aliases":[]},{"icon":"faF","aliases":[]},{"icon":"faFaceAngry","aliases":["faAngry"]},{"icon":"faFaceDizzy","aliases":["faDizzy"]},{"icon":"faFaceFlushed","aliases":["faFlushed"]},{"icon":"faFaceFrown","aliases":["faFrown"]},{"icon":"faFaceFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFaceGrimace","aliases":["faGrimace"]},{"icon":"faFaceGrin","aliases":["faGrin"]},{"icon":"faFaceGrinBeam","aliases":["faGrinBeam"]},{"icon":"faFaceGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faFaceGrinHearts","aliases":["faGrinHearts"]},{"icon":"faFaceGrinSquint","aliases":["faGrinSquint"]},{"icon":"faFaceGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faFaceGrinStars","aliases":["faGrinStars"]},{"icon":"faFaceGrinTears","aliases":["faGrinTears"]},{"icon":"faFaceGrinTongue","aliases":["faGrinTongue"]},{"icon":"faFaceGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faFaceGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faFaceGrinWide","aliases":["faGrinAlt"]},{"icon":"faFaceGrinWink","aliases":["faGrinWink"]},{"icon":"faFaceKiss","aliases":["faKiss"]},{"icon":"faFaceKissBeam","aliases":["faKissBeam"]},{"icon":"faFaceKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faFaceLaugh","aliases":["faLaugh"]},{"icon":"faFaceLaughBeam","aliases":["faLaughBeam"]},{"icon":"faFaceLaughSquint","aliases":["faLaughSquint"]},{"icon":"faFaceLaughWink","aliases":["faLaughWink"]},{"icon":"faFaceMeh","aliases":["faMeh"]},{"icon":"faFaceMehBlank","aliases":["faMehBlank"]},{"icon":"faFaceRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faFaceSadCry","aliases":["faSadCry"]},{"icon":"faFaceSadTear","aliases":["faSadTear"]},{"icon":"faFaceSmile","aliases":["faSmile"]},{"icon":"faFaceSmileBeam","aliases":["faSmileBeam"]},{"icon":"faFaceSmileWink","aliases":["faSmileWink"]},{"icon":"faFaceSurprise","aliases":["faSurprise"]},{"icon":"faFaceTired","aliases":["faTired"]},{"icon":"faFan","aliases":[]},{"icon":"faFastBackward","aliases":["faFastBackward"]},{"icon":"faFastForward","aliases":["faFastForward"]},{"icon":"faFaucet","aliases":[]},{"icon":"faFaucetDrip","aliases":[]},{"icon":"faFax","aliases":[]},{"icon":"faFeather","aliases":[]},{"icon":"faFeatherAlt","aliases":["faFeatherAlt"]},{"icon":"faFeatherPointed","aliases":["faFeatherAlt"]},{"icon":"faFeed","aliases":["faFeed"]},{"icon":"faFemale","aliases":["faFemale"]},{"icon":"faFerry","aliases":[]},{"icon":"faFighterJet","aliases":["faFighterJet"]},{"icon":"faFile","aliases":[]},{"icon":"faFileAlt","aliases":["faFileAlt","faFileText"]},{"icon":"faFileArchive","aliases":["faFileArchive"]},{"icon":"faFileArrowDown","aliases":["faFileDownload"]},{"icon":"faFileArrowUp","aliases":["faFileUpload"]},{"icon":"faFileAudio","aliases":[]},{"icon":"faFileCircleCheck","aliases":[]},{"icon":"faFileCircleExclamation","aliases":[]},{"icon":"faFileCircleMinus","aliases":[]},{"icon":"faFileCirclePlus","aliases":[]},{"icon":"faFileCircleQuestion","aliases":[]},{"icon":"faFileCircleXmark","aliases":[]},{"icon":"faFileClipboard","aliases":["faFileClipboard"]},{"icon":"faFileCode","aliases":[]},{"icon":"faFileContract","aliases":[]},{"icon":"faFileCsv","aliases":[]},{"icon":"faFileDownload","aliases":["faFileDownload"]},{"icon":"faFileEdit","aliases":["faFileEdit"]},{"icon":"faFileExcel","aliases":[]},{"icon":"faFileExport","aliases":["faArrowRightFromFile"]},{"icon":"faFileFragment","aliases":[]},{"icon":"faFileHalfDashed","aliases":[]},{"icon":"faFileImage","aliases":[]},{"icon":"faFileImport","aliases":["faArrowRightToFile"]},{"icon":"faFileInvoice","aliases":[]},{"icon":"faFileInvoiceDollar","aliases":[]},{"icon":"faFileLines","aliases":["faFileAlt","faFileText"]},{"icon":"faFileMedical","aliases":[]},{"icon":"faFileMedicalAlt","aliases":["faFileMedicalAlt"]},{"icon":"faFilePdf","aliases":[]},{"icon":"faFilePen","aliases":["faFileEdit"]},{"icon":"faFilePowerpoint","aliases":[]},{"icon":"faFilePrescription","aliases":[]},{"icon":"faFileShield","aliases":[]},{"icon":"faFileSignature","aliases":[]},{"icon":"faFileText","aliases":["faFileAlt","faFileText"]},{"icon":"faFileUpload","aliases":["faFileUpload"]},{"icon":"faFileVideo","aliases":[]},{"icon":"faFileWaveform","aliases":["faFileMedicalAlt"]},{"icon":"faFileWord","aliases":[]},{"icon":"faFileZipper","aliases":["faFileArchive"]},{"icon":"faFill","aliases":[]},{"icon":"faFillDrip","aliases":[]},{"icon":"faFilm","aliases":[]},{"icon":"faFilter","aliases":[]},{"icon":"faFilterCircleDollar","aliases":["faFunnelDollar"]},{"icon":"faFilterCircleXmark","aliases":[]},{"icon":"faFingerprint","aliases":[]},{"icon":"faFire","aliases":[]},{"icon":"faFireAlt","aliases":["faFireAlt"]},{"icon":"faFireBurner","aliases":[]},{"icon":"faFireExtinguisher","aliases":[]},{"icon":"faFireFlameCurved","aliases":["faFireAlt"]},{"icon":"faFireFlameSimple","aliases":["faBurn"]},{"icon":"faFirstAid","aliases":["faFirstAid"]},{"icon":"faFish","aliases":[]},{"icon":"faFishFins","aliases":[]},{"icon":"faFistRaised","aliases":["faFistRaised"]},{"icon":"faFlag","aliases":[]},{"icon":"faFlagCheckered","aliases":[]},{"icon":"faFlagUsa","aliases":[]},{"icon":"faFlask","aliases":[]},{"icon":"faFlaskVial","aliases":[]},{"icon":"faFloppyDisk","aliases":["faSave"]},{"icon":"faFlorinSign","aliases":[]},{"icon":"faFlushed","aliases":["faFlushed"]},{"icon":"faFolder","aliases":["faFolderBlank"]},{"icon":"faFolderBlank","aliases":["faFolderBlank"]},{"icon":"faFolderClosed","aliases":[]},{"icon":"faFolderMinus","aliases":[]},{"icon":"faFolderOpen","aliases":[]},{"icon":"faFolderPlus","aliases":[]},{"icon":"faFolderTree","aliases":[]},{"icon":"faFont","aliases":[]},{"icon":"faFontAwesome","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeFlag","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeLogoFull","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFootball","aliases":["faFootballBall"]},{"icon":"faFootballBall","aliases":["faFootballBall"]},{"icon":"faForward","aliases":[]},{"icon":"faForwardFast","aliases":["faFastForward"]},{"icon":"faForwardStep","aliases":["faStepForward"]},{"icon":"faFrancSign","aliases":[]},{"icon":"faFrog","aliases":[]},{"icon":"faFrown","aliases":["faFrown"]},{"icon":"faFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFunnelDollar","aliases":["faFunnelDollar"]},{"icon":"faFutbol","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faFutbolBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faG","aliases":[]},{"icon":"faGamepad","aliases":[]},{"icon":"faGasPump","aliases":[]},{"icon":"faGauge","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeHigh","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faGaugeMed","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeSimple","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGaugeSimpleHigh","aliases":["faTachometer","faTachometerFast"]},{"icon":"faGaugeSimpleMed","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGavel","aliases":["faLegal"]},{"icon":"faGbp","aliases":["faGbp","faPoundSign"]},{"icon":"faGear","aliases":["faCog"]},{"icon":"faGears","aliases":["faCogs"]},{"icon":"faGem","aliases":[]},{"icon":"faGenderless","aliases":[]},{"icon":"faGhost","aliases":[]},{"icon":"faGift","aliases":[]},{"icon":"faGifts","aliases":[]},{"icon":"faGlassCheers","aliases":["faGlassCheers"]},{"icon":"faGlassMartini","aliases":["faGlassMartini"]},{"icon":"faGlassMartiniAlt","aliases":["faGlassMartiniAlt"]},{"icon":"faGlassWater","aliases":[]},{"icon":"faGlassWaterDroplet","aliases":[]},{"icon":"faGlassWhiskey","aliases":["faGlassWhiskey"]},{"icon":"faGlasses","aliases":[]},{"icon":"faGlobe","aliases":[]},{"icon":"faGlobeAfrica","aliases":["faGlobeAfrica"]},{"icon":"faGlobeAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faGlobeAsia","aliases":["faGlobeAsia"]},{"icon":"faGlobeEurope","aliases":["faGlobeEurope"]},{"icon":"faGlobeOceania","aliases":["faGlobeOceania"]},{"icon":"faGolfBall","aliases":["faGolfBall"]},{"icon":"faGolfBallTee","aliases":["faGolfBall"]},{"icon":"faGopuram","aliases":[]},{"icon":"faGraduationCap","aliases":["faMortarBoard"]},{"icon":"faGreaterThan","aliases":[]},{"icon":"faGreaterThanEqual","aliases":[]},{"icon":"faGrimace","aliases":["faGrimace"]},{"icon":"faGrin","aliases":["faGrin"]},{"icon":"faGrinAlt","aliases":["faGrinAlt"]},{"icon":"faGrinBeam","aliases":["faGrinBeam"]},{"icon":"faGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faGrinHearts","aliases":["faGrinHearts"]},{"icon":"faGrinSquint","aliases":["faGrinSquint"]},{"icon":"faGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faGrinStars","aliases":["faGrinStars"]},{"icon":"faGrinTears","aliases":["faGrinTears"]},{"icon":"faGrinTongue","aliases":["faGrinTongue"]},{"icon":"faGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faGrinWink","aliases":["faGrinWink"]},{"icon":"faGrip","aliases":["faGripHorizontal"]},{"icon":"faGripHorizontal","aliases":["faGripHorizontal"]},{"icon":"faGripLines","aliases":[]},{"icon":"faGripLinesVertical","aliases":[]},{"icon":"faGripVertical","aliases":[]},{"icon":"faGroupArrowsRotate","aliases":[]},{"icon":"faGuaraniSign","aliases":[]},{"icon":"faGuitar","aliases":[]},{"icon":"faGun","aliases":[]},{"icon":"faH","aliases":[]},{"icon":"faHSquare","aliases":["faHSquare"]},{"icon":"faHamburger","aliases":["faHamburger"]},{"icon":"faHammer","aliases":[]},{"icon":"faHamsa","aliases":[]},{"icon":"faHand","aliases":["faHandPaper"]},{"icon":"faHandBackFist","aliases":["faHandRock"]},{"icon":"faHandDots","aliases":["faAllergies"]},{"icon":"faHandFist","aliases":["faFistRaised"]},{"icon":"faHandHolding","aliases":[]},{"icon":"faHandHoldingDollar","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingDroplet","aliases":["faHandHoldingWater"]},{"icon":"faHandHoldingHand","aliases":[]},{"icon":"faHandHoldingHeart","aliases":[]},{"icon":"faHandHoldingMedical","aliases":[]},{"icon":"faHandHoldingUsd","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingWater","aliases":["faHandHoldingWater"]},{"icon":"faHandLizard","aliases":[]},{"icon":"faHandMiddleFinger","aliases":[]},{"icon":"faHandPaper","aliases":["faHandPaper"]},{"icon":"faHandPeace","aliases":[]},{"icon":"faHandPointDown","aliases":[]},{"icon":"faHandPointLeft","aliases":[]},{"icon":"faHandPointRight","aliases":[]},{"icon":"faHandPointUp","aliases":[]},{"icon":"faHandPointer","aliases":[]},{"icon":"faHandRock","aliases":["faHandRock"]},{"icon":"faHandScissors","aliases":[]},{"icon":"faHandSparkles","aliases":[]},{"icon":"faHandSpock","aliases":[]},{"icon":"faHandcuffs","aliases":[]},{"icon":"faHands","aliases":["faSignLanguage","faSigning"]},{"icon":"faHandsAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsBound","aliases":[]},{"icon":"faHandsBubbles","aliases":["faHandsWash"]},{"icon":"faHandsClapping","aliases":[]},{"icon":"faHandsHelping","aliases":["faHandsHelping"]},{"icon":"faHandsHolding","aliases":[]},{"icon":"faHandsHoldingChild","aliases":[]},{"icon":"faHandsHoldingCircle","aliases":[]},{"icon":"faHandsPraying","aliases":["faPrayingHands"]},{"icon":"faHandsWash","aliases":["faHandsWash"]},{"icon":"faHandshake","aliases":[]},{"icon":"faHandshakeAlt","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeAltSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeAngle","aliases":["faHandsHelping"]},{"icon":"faHandshakeSimple","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeSimpleSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeSlash","aliases":[]},{"icon":"faHanukiah","aliases":[]},{"icon":"faHardDrive","aliases":["faHdd"]},{"icon":"faHardHat","aliases":["faHardHat","faHatHard"]},{"icon":"faHardOfHearing","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faHashtag","aliases":[]},{"icon":"faHatCowboy","aliases":[]},{"icon":"faHatCowboySide","aliases":[]},{"icon":"faHatHard","aliases":["faHardHat","faHatHard"]},{"icon":"faHatWizard","aliases":[]},{"icon":"faHaykal","aliases":["faHaykal"]},{"icon":"faHdd","aliases":["faHdd"]},{"icon":"faHeadSideCough","aliases":[]},{"icon":"faHeadSideCoughSlash","aliases":[]},{"icon":"faHeadSideMask","aliases":[]},{"icon":"faHeadSideVirus","aliases":[]},{"icon":"faHeader","aliases":["faHeader"]},{"icon":"faHeading","aliases":["faHeader"]},{"icon":"faHeadphones","aliases":[]},{"icon":"faHeadphonesAlt","aliases":["faHeadphonesAlt"]},{"icon":"faHeadphonesSimple","aliases":["faHeadphonesAlt"]},{"icon":"faHeadset","aliases":[]},{"icon":"faHeart","aliases":[]},{"icon":"faHeartBroken","aliases":["faHeartBroken"]},{"icon":"faHeartCircleBolt","aliases":[]},{"icon":"faHeartCircleCheck","aliases":[]},{"icon":"faHeartCircleExclamation","aliases":[]},{"icon":"faHeartCircleMinus","aliases":[]},{"icon":"faHeartCirclePlus","aliases":[]},{"icon":"faHeartCircleXmark","aliases":[]},{"icon":"faHeartCrack","aliases":["faHeartBroken"]},{"icon":"faHeartMusicCameraBolt","aliases":["faHeartMusicCameraBolt"]},{"icon":"faHeartPulse","aliases":["faHeartbeat"]},{"icon":"faHeartbeat","aliases":["faHeartbeat"]},{"icon":"faHelicopter","aliases":[]},{"icon":"faHelicopterSymbol","aliases":[]},{"icon":"faHelmetSafety","aliases":["faHardHat","faHatHard"]},{"icon":"faHelmetUn","aliases":[]},{"icon":"faHexagonNodes","aliases":[]},{"icon":"faHexagonNodesBolt","aliases":[]},{"icon":"faHighlighter","aliases":[]},{"icon":"faHiking","aliases":["faHiking"]},{"icon":"faHillAvalanche","aliases":[]},{"icon":"faHillRockslide","aliases":[]},{"icon":"faHippo","aliases":[]},{"icon":"faHistory","aliases":["faHistory"]},{"icon":"faHockeyPuck","aliases":[]},{"icon":"faHollyBerry","aliases":[]},{"icon":"faHome","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeLg","aliases":["faHomeLg"]},{"icon":"faHomeLgAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeUser","aliases":["faHomeUser"]},{"icon":"faHorse","aliases":[]},{"icon":"faHorseHead","aliases":[]},{"icon":"faHospital","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalAlt","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalSymbol","aliases":["faHospitalSymbol"]},{"icon":"faHospitalUser","aliases":[]},{"icon":"faHospitalWide","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHotTub","aliases":["faHotTub"]},{"icon":"faHotTubPerson","aliases":["faHotTub"]},{"icon":"faHotdog","aliases":[]},{"icon":"faHotel","aliases":[]},{"icon":"faHourglass","aliases":["faHourglassEmpty"]},{"icon":"faHourglass1","aliases":["faHourglass1"]},{"icon":"faHourglass2","aliases":["faHourglass2"]},{"icon":"faHourglass3","aliases":["faHourglass3"]},{"icon":"faHourglassEmpty","aliases":["faHourglassEmpty"]},{"icon":"faHourglassEnd","aliases":["faHourglass3"]},{"icon":"faHourglassHalf","aliases":["faHourglass2"]},{"icon":"faHourglassStart","aliases":["faHourglass1"]},{"icon":"faHouse","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHouseChimney","aliases":["faHomeLg"]},{"icon":"faHouseChimneyCrack","aliases":["faHouseDamage"]},{"icon":"faHouseChimneyMedical","aliases":["faClinicMedical"]},{"icon":"faHouseChimneyUser","aliases":[]},{"icon":"faHouseChimneyWindow","aliases":[]},{"icon":"faHouseCircleCheck","aliases":[]},{"icon":"faHouseCircleExclamation","aliases":[]},{"icon":"faHouseCircleXmark","aliases":[]},{"icon":"faHouseCrack","aliases":[]},{"icon":"faHouseDamage","aliases":["faHouseDamage"]},{"icon":"faHouseFire","aliases":[]},{"icon":"faHouseFlag","aliases":[]},{"icon":"faHouseFloodWater","aliases":[]},{"icon":"faHouseFloodWaterCircleArrowRight","aliases":[]},{"icon":"faHouseLaptop","aliases":["faLaptopHouse"]},{"icon":"faHouseLock","aliases":[]},{"icon":"faHouseMedical","aliases":[]},{"icon":"faHouseMedicalCircleCheck","aliases":[]},{"icon":"faHouseMedicalCircleExclamation","aliases":[]},{"icon":"faHouseMedicalCircleXmark","aliases":[]},{"icon":"faHouseMedicalFlag","aliases":[]},{"icon":"faHouseSignal","aliases":[]},{"icon":"faHouseTsunami","aliases":[]},{"icon":"faHouseUser","aliases":["faHomeUser"]},{"icon":"faHryvnia","aliases":["faHryvnia"]},{"icon":"faHryvniaSign","aliases":["faHryvnia"]},{"icon":"faHurricane","aliases":[]},{"icon":"faI","aliases":[]},{"icon":"faICursor","aliases":[]},{"icon":"faIceCream","aliases":[]},{"icon":"faIcicles","aliases":[]},{"icon":"faIcons","aliases":["faHeartMusicCameraBolt"]},{"icon":"faIdBadge","aliases":[]},{"icon":"faIdCard","aliases":["faDriversLicense"]},{"icon":"faIdCardAlt","aliases":["faIdCardAlt"]},{"icon":"faIdCardClip","aliases":["faIdCardAlt"]},{"icon":"faIgloo","aliases":[]},{"icon":"faIls","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faImage","aliases":[]},{"icon":"faImagePortrait","aliases":["faPortrait"]},{"icon":"faImages","aliases":[]},{"icon":"faInbox","aliases":[]},{"icon":"faIndent","aliases":[]},{"icon":"faIndianRupee","aliases":["faIndianRupee","faInr"]},{"icon":"faIndianRupeeSign","aliases":["faIndianRupee","faInr"]},{"icon":"faIndustry","aliases":[]},{"icon":"faInfinity","aliases":[]},{"icon":"faInfo","aliases":[]},{"icon":"faInfoCircle","aliases":["faInfoCircle"]},{"icon":"faInr","aliases":["faIndianRupee","faInr"]},{"icon":"faInstitution","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faItalic","aliases":[]},{"icon":"faJ","aliases":[]},{"icon":"faJar","aliases":[]},{"icon":"faJarWheat","aliases":[]},{"icon":"faJedi","aliases":[]},{"icon":"faJetFighter","aliases":["faFighterJet"]},{"icon":"faJetFighterUp","aliases":[]},{"icon":"faJoint","aliases":[]},{"icon":"faJournalWhills","aliases":["faJournalWhills"]},{"icon":"faJpy","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faJugDetergent","aliases":[]},{"icon":"faK","aliases":[]},{"icon":"faKaaba","aliases":[]},{"icon":"faKey","aliases":[]},{"icon":"faKeyboard","aliases":[]},{"icon":"faKhanda","aliases":[]},{"icon":"faKipSign","aliases":[]},{"icon":"faKiss","aliases":["faKiss"]},{"icon":"faKissBeam","aliases":["faKissBeam"]},{"icon":"faKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faKitMedical","aliases":["faFirstAid"]},{"icon":"faKitchenSet","aliases":[]},{"icon":"faKiwiBird","aliases":[]},{"icon":"faKrw","aliases":["faKrw","faWon"]},{"icon":"faL","aliases":[]},{"icon":"faLadderWater","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faLandMineOn","aliases":[]},{"icon":"faLandmark","aliases":[]},{"icon":"faLandmarkAlt","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkDome","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkFlag","aliases":[]},{"icon":"faLanguage","aliases":[]},{"icon":"faLaptop","aliases":[]},{"icon":"faLaptopCode","aliases":[]},{"icon":"faLaptopFile","aliases":[]},{"icon":"faLaptopHouse","aliases":["faLaptopHouse"]},{"icon":"faLaptopMedical","aliases":[]},{"icon":"faLariSign","aliases":[]},{"icon":"faLaugh","aliases":["faLaugh"]},{"icon":"faLaughBeam","aliases":["faLaughBeam"]},{"icon":"faLaughSquint","aliases":["faLaughSquint"]},{"icon":"faLaughWink","aliases":["faLaughWink"]},{"icon":"faLayerGroup","aliases":[]},{"icon":"faLeaf","aliases":[]},{"icon":"faLeftLong","aliases":["faLongArrowAltLeft"]},{"icon":"faLeftRight","aliases":["faArrowsAltH"]},{"icon":"faLegal","aliases":["faLegal"]},{"icon":"faLemon","aliases":[]},{"icon":"faLessThan","aliases":[]},{"icon":"faLessThanEqual","aliases":[]},{"icon":"faLevelDown","aliases":["faLevelDown"]},{"icon":"faLevelDownAlt","aliases":["faLevelDownAlt"]},{"icon":"faLevelUp","aliases":["faLevelUp"]},{"icon":"faLevelUpAlt","aliases":["faLevelUpAlt"]},{"icon":"faLifeRing","aliases":[]},{"icon":"faLightbulb","aliases":[]},{"icon":"faLineChart","aliases":["faLineChart"]},{"icon":"faLinesLeaning","aliases":[]},{"icon":"faLink","aliases":["faChain"]},{"icon":"faLinkSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faLiraSign","aliases":[]},{"icon":"faList","aliases":["faListSquares"]},{"icon":"faList12","aliases":["faList12","faListNumeric"]},{"icon":"faListAlt","aliases":["faListAlt"]},{"icon":"faListCheck","aliases":["faTasks"]},{"icon":"faListDots","aliases":["faListDots"]},{"icon":"faListNumeric","aliases":["faList12","faListNumeric"]},{"icon":"faListOl","aliases":["faList12","faListNumeric"]},{"icon":"faListSquares","aliases":["faListSquares"]},{"icon":"faListUl","aliases":["faListDots"]},{"icon":"faLitecoinSign","aliases":[]},{"icon":"faLocation","aliases":["faLocation"]},{"icon":"faLocationArrow","aliases":[]},{"icon":"faLocationCrosshairs","aliases":["faLocation"]},{"icon":"faLocationDot","aliases":["faMapMarkerAlt"]},{"icon":"faLocationPin","aliases":["faMapMarker"]},{"icon":"faLocationPinLock","aliases":[]},{"icon":"faLock","aliases":[]},{"icon":"faLockOpen","aliases":[]},{"icon":"faLocust","aliases":[]},{"icon":"faLongArrowAltDown","aliases":["faLongArrowAltDown"]},{"icon":"faLongArrowAltLeft","aliases":["faLongArrowAltLeft"]},{"icon":"faLongArrowAltRight","aliases":["faLongArrowAltRight"]},{"icon":"faLongArrowAltUp","aliases":["faLongArrowAltUp"]},{"icon":"faLongArrowDown","aliases":["faLongArrowDown"]},{"icon":"faLongArrowLeft","aliases":["faLongArrowLeft"]},{"icon":"faLongArrowRight","aliases":["faLongArrowRight"]},{"icon":"faLongArrowUp","aliases":["faLongArrowUp"]},{"icon":"faLowVision","aliases":["faLowVision"]},{"icon":"faLuggageCart","aliases":["faLuggageCart"]},{"icon":"faLungs","aliases":[]},{"icon":"faLungsVirus","aliases":[]},{"icon":"faM","aliases":[]},{"icon":"faMagic","aliases":["faMagic"]},{"icon":"faMagicWandSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faMagnet","aliases":[]},{"icon":"faMagnifyingGlass","aliases":["faSearch"]},{"icon":"faMagnifyingGlassArrowRight","aliases":[]},{"icon":"faMagnifyingGlassChart","aliases":[]},{"icon":"faMagnifyingGlassDollar","aliases":["faSearchDollar"]},{"icon":"faMagnifyingGlassLocation","aliases":["faSearchLocation"]},{"icon":"faMagnifyingGlassMinus","aliases":["faSearchMinus"]},{"icon":"faMagnifyingGlassPlus","aliases":["faSearchPlus"]},{"icon":"faMailBulk","aliases":["faMailBulk"]},{"icon":"faMailForward","aliases":["faMailForward"]},{"icon":"faMailReply","aliases":["faMailReply"]},{"icon":"faMailReplyAll","aliases":["faMailReplyAll"]},{"icon":"faMale","aliases":["faMale"]},{"icon":"faManatSign","aliases":[]},{"icon":"faMap","aliases":[]},{"icon":"faMapLocation","aliases":["faMapMarked"]},{"icon":"faMapLocationDot","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarked","aliases":["faMapMarked"]},{"icon":"faMapMarkedAlt","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarker","aliases":["faMapMarker"]},{"icon":"faMapMarkerAlt","aliases":["faMapMarkerAlt"]},{"icon":"faMapPin","aliases":[]},{"icon":"faMapSigns","aliases":["faMapSigns"]},{"icon":"faMarker","aliases":[]},{"icon":"faMars","aliases":[]},{"icon":"faMarsAndVenus","aliases":[]},{"icon":"faMarsAndVenusBurst","aliases":[]},{"icon":"faMarsDouble","aliases":[]},{"icon":"faMarsStroke","aliases":[]},{"icon":"faMarsStrokeH","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeRight","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeUp","aliases":["faMarsStrokeV"]},{"icon":"faMarsStrokeV","aliases":["faMarsStrokeV"]},{"icon":"faMartiniGlass","aliases":["faGlassMartiniAlt"]},{"icon":"faMartiniGlassCitrus","aliases":["faCocktail"]},{"icon":"faMartiniGlassEmpty","aliases":["faGlassMartini"]},{"icon":"faMask","aliases":[]},{"icon":"faMaskFace","aliases":[]},{"icon":"faMaskVentilator","aliases":[]},{"icon":"faMasksTheater","aliases":["faTheaterMasks"]},{"icon":"faMattressPillow","aliases":[]},{"icon":"faMaximize","aliases":["faExpandArrowsAlt"]},{"icon":"faMedal","aliases":[]},{"icon":"faMedkit","aliases":["faMedkit"]},{"icon":"faMeh","aliases":["faMeh"]},{"icon":"faMehBlank","aliases":["faMehBlank"]},{"icon":"faMehRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faMemory","aliases":[]},{"icon":"faMenorah","aliases":[]},{"icon":"faMercury","aliases":[]},{"icon":"faMessage","aliases":["faCommentAlt"]},{"icon":"faMeteor","aliases":[]},{"icon":"faMicrochip","aliases":[]},{"icon":"faMicrophone","aliases":[]},{"icon":"faMicrophoneAlt","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneAltSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneLines","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneLinesSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneSlash","aliases":[]},{"icon":"faMicroscope","aliases":[]},{"icon":"faMillSign","aliases":[]},{"icon":"faMinimize","aliases":["faCompressArrowsAlt"]},{"icon":"faMinus","aliases":["faSubtract"]},{"icon":"faMinusCircle","aliases":["faMinusCircle"]},{"icon":"faMinusSquare","aliases":["faMinusSquare"]},{"icon":"faMitten","aliases":[]},{"icon":"faMobile","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAlt","aliases":["faMobileAlt"]},{"icon":"faMobileAndroid","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAndroidAlt","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileButton","aliases":[]},{"icon":"faMobilePhone","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileRetro","aliases":[]},{"icon":"faMobileScreen","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileScreenButton","aliases":["faMobileAlt"]},{"icon":"faMoneyBill","aliases":[]},{"icon":"faMoneyBill1","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBill1Wave","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillAlt","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBillTransfer","aliases":[]},{"icon":"faMoneyBillTrendUp","aliases":[]},{"icon":"faMoneyBillWave","aliases":[]},{"icon":"faMoneyBillWaveAlt","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillWheat","aliases":[]},{"icon":"faMoneyBills","aliases":[]},{"icon":"faMoneyCheck","aliases":[]},{"icon":"faMoneyCheckAlt","aliases":["faMoneyCheckAlt"]},{"icon":"faMoneyCheckDollar","aliases":["faMoneyCheckAlt"]},{"icon":"faMonument","aliases":[]},{"icon":"faMoon","aliases":[]},{"icon":"faMortarBoard","aliases":["faMortarBoard"]},{"icon":"faMortarPestle","aliases":[]},{"icon":"faMosque","aliases":[]},{"icon":"faMosquito","aliases":[]},{"icon":"faMosquitoNet","aliases":[]},{"icon":"faMotorcycle","aliases":[]},{"icon":"faMound","aliases":[]},{"icon":"faMountain","aliases":[]},{"icon":"faMountainCity","aliases":[]},{"icon":"faMountainSun","aliases":[]},{"icon":"faMouse","aliases":["faMouse"]},{"icon":"faMousePointer","aliases":["faMousePointer"]},{"icon":"faMugHot","aliases":[]},{"icon":"faMugSaucer","aliases":["faCoffee"]},{"icon":"faMultiply","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faMuseum","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faMusic","aliases":[]},{"icon":"faN","aliases":[]},{"icon":"faNairaSign","aliases":[]},{"icon":"faNavicon","aliases":["faNavicon"]},{"icon":"faNetworkWired","aliases":[]},{"icon":"faNeuter","aliases":[]},{"icon":"faNewspaper","aliases":[]},{"icon":"faNotEqual","aliases":[]},{"icon":"faNotdef","aliases":[]},{"icon":"faNoteSticky","aliases":["faStickyNote"]},{"icon":"faNotesMedical","aliases":[]},{"icon":"faO","aliases":[]},{"icon":"faObjectGroup","aliases":[]},{"icon":"faObjectUngroup","aliases":[]},{"icon":"faOilCan","aliases":[]},{"icon":"faOilWell","aliases":[]},{"icon":"faOm","aliases":[]},{"icon":"faOtter","aliases":[]},{"icon":"faOutdent","aliases":["faDedent"]},{"icon":"faP","aliases":[]},{"icon":"faPager","aliases":[]},{"icon":"faPaintRoller","aliases":[]},{"icon":"faPaintbrush","aliases":["faPaintBrush"]},{"icon":"faPalette","aliases":[]},{"icon":"faPallet","aliases":[]},{"icon":"faPanorama","aliases":[]},{"icon":"faPaperPlane","aliases":[]},{"icon":"faPaperclip","aliases":[]},{"icon":"faParachuteBox","aliases":[]},{"icon":"faParagraph","aliases":[]},{"icon":"faParking","aliases":["faParking"]},{"icon":"faPassport","aliases":[]},{"icon":"faPastafarianism","aliases":["faPastafarianism"]},{"icon":"faPaste","aliases":["faFileClipboard"]},{"icon":"faPause","aliases":[]},{"icon":"faPauseCircle","aliases":["faPauseCircle"]},{"icon":"faPaw","aliases":[]},{"icon":"faPeace","aliases":[]},{"icon":"faPen","aliases":[]},{"icon":"faPenAlt","aliases":["faPenAlt"]},{"icon":"faPenClip","aliases":["faPenAlt"]},{"icon":"faPenFancy","aliases":[]},{"icon":"faPenNib","aliases":[]},{"icon":"faPenRuler","aliases":["faPencilRuler"]},{"icon":"faPenSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPenToSquare","aliases":["faEdit"]},{"icon":"faPencil","aliases":["faPencilAlt"]},{"icon":"faPencilAlt","aliases":["faPencilAlt"]},{"icon":"faPencilRuler","aliases":["faPencilRuler"]},{"icon":"faPencilSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPeopleArrows","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleArrowsLeftRight","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleCarry","aliases":["faPeopleCarry"]},{"icon":"faPeopleCarryBox","aliases":["faPeopleCarry"]},{"icon":"faPeopleGroup","aliases":[]},{"icon":"faPeopleLine","aliases":[]},{"icon":"faPeoplePulling","aliases":[]},{"icon":"faPeopleRobbery","aliases":[]},{"icon":"faPeopleRoof","aliases":[]},{"icon":"faPepperHot","aliases":[]},{"icon":"faPercent","aliases":["faPercentage"]},{"icon":"faPercentage","aliases":["faPercentage"]},{"icon":"faPerson","aliases":["faMale"]},{"icon":"faPersonArrowDownToLine","aliases":[]},{"icon":"faPersonArrowUpFromLine","aliases":[]},{"icon":"faPersonBiking","aliases":["faBiking"]},{"icon":"faPersonBooth","aliases":[]},{"icon":"faPersonBreastfeeding","aliases":[]},{"icon":"faPersonBurst","aliases":[]},{"icon":"faPersonCane","aliases":[]},{"icon":"faPersonChalkboard","aliases":[]},{"icon":"faPersonCircleCheck","aliases":[]},{"icon":"faPersonCircleExclamation","aliases":[]},{"icon":"faPersonCircleMinus","aliases":[]},{"icon":"faPersonCirclePlus","aliases":[]},{"icon":"faPersonCircleQuestion","aliases":[]},{"icon":"faPersonCircleXmark","aliases":[]},{"icon":"faPersonDigging","aliases":["faDigging"]},{"icon":"faPersonDotsFromLine","aliases":["faDiagnoses"]},{"icon":"faPersonDress","aliases":["faFemale"]},{"icon":"faPersonDressBurst","aliases":[]},{"icon":"faPersonDrowning","aliases":[]},{"icon":"faPersonFalling","aliases":[]},{"icon":"faPersonFallingBurst","aliases":[]},{"icon":"faPersonHalfDress","aliases":[]},{"icon":"faPersonHarassing","aliases":[]},{"icon":"faPersonHiking","aliases":["faHiking"]},{"icon":"faPersonMilitaryPointing","aliases":[]},{"icon":"faPersonMilitaryRifle","aliases":[]},{"icon":"faPersonMilitaryToPerson","aliases":[]},{"icon":"faPersonPraying","aliases":["faPray"]},{"icon":"faPersonPregnant","aliases":[]},{"icon":"faPersonRays","aliases":[]},{"icon":"faPersonRifle","aliases":[]},{"icon":"faPersonRunning","aliases":["faRunning"]},{"icon":"faPersonShelter","aliases":[]},{"icon":"faPersonSkating","aliases":["faSkating"]},{"icon":"faPersonSkiing","aliases":["faSkiing"]},{"icon":"faPersonSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faPersonSnowboarding","aliases":["faSnowboarding"]},{"icon":"faPersonSwimming","aliases":["faSwimmer"]},{"icon":"faPersonThroughWindow","aliases":[]},{"icon":"faPersonWalking","aliases":["faWalking"]},{"icon":"faPersonWalkingArrowLoopLeft","aliases":[]},{"icon":"faPersonWalkingArrowRight","aliases":[]},{"icon":"faPersonWalkingDashedLineArrowRight","aliases":[]},{"icon":"faPersonWalkingLuggage","aliases":[]},{"icon":"faPersonWalkingWithCane","aliases":["faBlind"]},{"icon":"faPesetaSign","aliases":[]},{"icon":"faPesoSign","aliases":[]},{"icon":"faPhone","aliases":[]},{"icon":"faPhoneAlt","aliases":["faPhoneAlt"]},{"icon":"faPhoneFlip","aliases":["faPhoneAlt"]},{"icon":"faPhoneSlash","aliases":[]},{"icon":"faPhoneSquare","aliases":["faPhoneSquare"]},{"icon":"faPhoneSquareAlt","aliases":["faPhoneSquareAlt"]},{"icon":"faPhoneVolume","aliases":["faVolumeControlPhone"]},{"icon":"faPhotoFilm","aliases":["faPhotoVideo"]},{"icon":"faPhotoVideo","aliases":["faPhotoVideo"]},{"icon":"faPieChart","aliases":["faPieChart"]},{"icon":"faPiggyBank","aliases":[]},{"icon":"faPills","aliases":[]},{"icon":"faPingPongPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faPizzaSlice","aliases":[]},{"icon":"faPlaceOfWorship","aliases":[]},{"icon":"faPlane","aliases":[]},{"icon":"faPlaneArrival","aliases":[]},{"icon":"faPlaneCircleCheck","aliases":[]},{"icon":"faPlaneCircleExclamation","aliases":[]},{"icon":"faPlaneCircleXmark","aliases":[]},{"icon":"faPlaneDeparture","aliases":[]},{"icon":"faPlaneLock","aliases":[]},{"icon":"faPlaneSlash","aliases":[]},{"icon":"faPlaneUp","aliases":[]},{"icon":"faPlantWilt","aliases":[]},{"icon":"faPlateWheat","aliases":[]},{"icon":"faPlay","aliases":[]},{"icon":"faPlayCircle","aliases":["faPlayCircle"]},{"icon":"faPlug","aliases":[]},{"icon":"faPlugCircleBolt","aliases":[]},{"icon":"faPlugCircleCheck","aliases":[]},{"icon":"faPlugCircleExclamation","aliases":[]},{"icon":"faPlugCircleMinus","aliases":[]},{"icon":"faPlugCirclePlus","aliases":[]},{"icon":"faPlugCircleXmark","aliases":[]},{"icon":"faPlus","aliases":["faAdd"]},{"icon":"faPlusCircle","aliases":["faPlusCircle"]},{"icon":"faPlusMinus","aliases":[]},{"icon":"faPlusSquare","aliases":["faPlusSquare"]},{"icon":"faPodcast","aliases":[]},{"icon":"faPoll","aliases":["faPoll"]},{"icon":"faPollH","aliases":["faPollH"]},{"icon":"faPoo","aliases":[]},{"icon":"faPooBolt","aliases":["faPooBolt"]},{"icon":"faPooStorm","aliases":["faPooBolt"]},{"icon":"faPoop","aliases":[]},{"icon":"faPortrait","aliases":["faPortrait"]},{"icon":"faPoundSign","aliases":["faGbp","faPoundSign"]},{"icon":"faPowerOff","aliases":[]},{"icon":"faPray","aliases":["faPray"]},{"icon":"faPrayingHands","aliases":["faPrayingHands"]},{"icon":"faPrescription","aliases":[]},{"icon":"faPrescriptionBottle","aliases":[]},{"icon":"faPrescriptionBottleAlt","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrescriptionBottleMedical","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrint","aliases":[]},{"icon":"faProcedures","aliases":["faProcedures"]},{"icon":"faProjectDiagram","aliases":["faProjectDiagram"]},{"icon":"faPumpMedical","aliases":[]},{"icon":"faPumpSoap","aliases":[]},{"icon":"faPuzzlePiece","aliases":[]},{"icon":"faQ","aliases":[]},{"icon":"faQrcode","aliases":[]},{"icon":"faQuestion","aliases":[]},{"icon":"faQuestionCircle","aliases":["faQuestionCircle"]},{"icon":"faQuidditch","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuidditchBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuoteLeft","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteLeftAlt","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteRight","aliases":["faQuoteRightAlt"]},{"icon":"faQuoteRightAlt","aliases":["faQuoteRightAlt"]},{"icon":"faQuran","aliases":["faQuran"]},{"icon":"faR","aliases":[]},{"icon":"faRadiation","aliases":[]},{"icon":"faRadiationAlt","aliases":["faRadiationAlt"]},{"icon":"faRadio","aliases":[]},{"icon":"faRainbow","aliases":[]},{"icon":"faRandom","aliases":["faRandom"]},{"icon":"faRankingStar","aliases":[]},{"icon":"faReceipt","aliases":[]},{"icon":"faRecordVinyl","aliases":[]},{"icon":"faRectangleAd","aliases":["faAd"]},{"icon":"faRectangleList","aliases":["faListAlt"]},{"icon":"faRectangleTimes","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRectangleXmark","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRecycle","aliases":[]},{"icon":"faRedo","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faRedoAlt","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRefresh","aliases":["faRefresh","faSync"]},{"icon":"faRegistered","aliases":[]},{"icon":"faRemove","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faRemoveFormat","aliases":["faRemoveFormat"]},{"icon":"faReorder","aliases":["faReorder","faStream"]},{"icon":"faRepeat","aliases":[]},{"icon":"faReply","aliases":["faMailReply"]},{"icon":"faReplyAll","aliases":["faMailReplyAll"]},{"icon":"faRepublican","aliases":[]},{"icon":"faRestroom","aliases":[]},{"icon":"faRetweet","aliases":[]},{"icon":"faRibbon","aliases":[]},{"icon":"faRightFromBracket","aliases":["faSignOutAlt"]},{"icon":"faRightLeft","aliases":["faExchangeAlt"]},{"icon":"faRightLong","aliases":["faLongArrowAltRight"]},{"icon":"faRightToBracket","aliases":["faSignInAlt"]},{"icon":"faRing","aliases":[]},{"icon":"faRmb","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faRoad","aliases":[]},{"icon":"faRoadBarrier","aliases":[]},{"icon":"faRoadBridge","aliases":[]},{"icon":"faRoadCircleCheck","aliases":[]},{"icon":"faRoadCircleExclamation","aliases":[]},{"icon":"faRoadCircleXmark","aliases":[]},{"icon":"faRoadLock","aliases":[]},{"icon":"faRoadSpikes","aliases":[]},{"icon":"faRobot","aliases":[]},{"icon":"faRocket","aliases":[]},{"icon":"faRodAsclepius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRodSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRotate","aliases":["faSyncAlt"]},{"icon":"faRotateBack","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateBackward","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateForward","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRotateLeft","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateRight","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRouble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRoute","aliases":[]},{"icon":"faRss","aliases":["faFeed"]},{"icon":"faRssSquare","aliases":["faRssSquare"]},{"icon":"faRub","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRuble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRubleSign","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRug","aliases":[]},{"icon":"faRuler","aliases":[]},{"icon":"faRulerCombined","aliases":[]},{"icon":"faRulerHorizontal","aliases":[]},{"icon":"faRulerVertical","aliases":[]},{"icon":"faRunning","aliases":["faRunning"]},{"icon":"faRupee","aliases":["faRupee"]},{"icon":"faRupeeSign","aliases":["faRupee"]},{"icon":"faRupiahSign","aliases":[]},{"icon":"faS","aliases":[]},{"icon":"faSackDollar","aliases":[]},{"icon":"faSackXmark","aliases":[]},{"icon":"faSadCry","aliases":["faSadCry"]},{"icon":"faSadTear","aliases":["faSadTear"]},{"icon":"faSailboat","aliases":[]},{"icon":"faSatellite","aliases":[]},{"icon":"faSatelliteDish","aliases":[]},{"icon":"faSave","aliases":["faSave"]},{"icon":"faScaleBalanced","aliases":["faBalanceScale"]},{"icon":"faScaleUnbalanced","aliases":["faBalanceScaleLeft"]},{"icon":"faScaleUnbalancedFlip","aliases":["faBalanceScaleRight"]},{"icon":"faSchool","aliases":[]},{"icon":"faSchoolCircleCheck","aliases":[]},{"icon":"faSchoolCircleExclamation","aliases":[]},{"icon":"faSchoolCircleXmark","aliases":[]},{"icon":"faSchoolFlag","aliases":[]},{"icon":"faSchoolLock","aliases":[]},{"icon":"faScissors","aliases":["faCut"]},{"icon":"faScrewdriver","aliases":[]},{"icon":"faScrewdriverWrench","aliases":["faTools"]},{"icon":"faScroll","aliases":[]},{"icon":"faScrollTorah","aliases":["faTorah"]},{"icon":"faSdCard","aliases":[]},{"icon":"faSearch","aliases":["faSearch"]},{"icon":"faSearchDollar","aliases":["faSearchDollar"]},{"icon":"faSearchLocation","aliases":["faSearchLocation"]},{"icon":"faSearchMinus","aliases":["faSearchMinus"]},{"icon":"faSearchPlus","aliases":["faSearchPlus"]},{"icon":"faSection","aliases":[]},{"icon":"faSeedling","aliases":["faSprout"]},{"icon":"faServer","aliases":[]},{"icon":"faShapes","aliases":["faTriangleCircleSquare"]},{"icon":"faShare","aliases":["faMailForward"]},{"icon":"faShareAlt","aliases":["faShareAlt"]},{"icon":"faShareAltSquare","aliases":["faShareAltSquare"]},{"icon":"faShareFromSquare","aliases":["faShareSquare"]},{"icon":"faShareNodes","aliases":["faShareAlt"]},{"icon":"faShareSquare","aliases":["faShareSquare"]},{"icon":"faSheetPlastic","aliases":[]},{"icon":"faShekel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShekelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faSheqel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faSheqelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShield","aliases":["faShieldBlank"]},{"icon":"faShieldAlt","aliases":["faShieldAlt"]},{"icon":"faShieldBlank","aliases":["faShieldBlank"]},{"icon":"faShieldCat","aliases":[]},{"icon":"faShieldDog","aliases":[]},{"icon":"faShieldHalved","aliases":["faShieldAlt"]},{"icon":"faShieldHeart","aliases":[]},{"icon":"faShieldVirus","aliases":[]},{"icon":"faShip","aliases":[]},{"icon":"faShippingFast","aliases":["faShippingFast"]},{"icon":"faShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faShoePrints","aliases":[]},{"icon":"faShop","aliases":["faStoreAlt"]},{"icon":"faShopLock","aliases":[]},{"icon":"faShopSlash","aliases":["faStoreAltSlash"]},{"icon":"faShoppingBag","aliases":["faShoppingBag"]},{"icon":"faShoppingBasket","aliases":["faShoppingBasket"]},{"icon":"faShoppingCart","aliases":["faShoppingCart"]},{"icon":"faShower","aliases":[]},{"icon":"faShrimp","aliases":[]},{"icon":"faShuffle","aliases":["faRandom"]},{"icon":"faShuttleSpace","aliases":["faSpaceShuttle"]},{"icon":"faShuttleVan","aliases":["faShuttleVan"]},{"icon":"faSign","aliases":["faSign"]},{"icon":"faSignHanging","aliases":["faSign"]},{"icon":"faSignIn","aliases":["faSignIn"]},{"icon":"faSignInAlt","aliases":["faSignInAlt"]},{"icon":"faSignLanguage","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignOut","aliases":["faSignOut"]},{"icon":"faSignOutAlt","aliases":["faSignOutAlt"]},{"icon":"faSignal","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignal5","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignalPerfect","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignature","aliases":[]},{"icon":"faSigning","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignsPost","aliases":["faMapSigns"]},{"icon":"faSimCard","aliases":[]},{"icon":"faSink","aliases":[]},{"icon":"faSitemap","aliases":[]},{"icon":"faSkating","aliases":["faSkating"]},{"icon":"faSkiing","aliases":["faSkiing"]},{"icon":"faSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faSkull","aliases":[]},{"icon":"faSkullCrossbones","aliases":[]},{"icon":"faSlash","aliases":[]},{"icon":"faSleigh","aliases":[]},{"icon":"faSliders","aliases":["faSlidersH"]},{"icon":"faSlidersH","aliases":["faSlidersH"]},{"icon":"faSmile","aliases":["faSmile"]},{"icon":"faSmileBeam","aliases":["faSmileBeam"]},{"icon":"faSmileWink","aliases":["faSmileWink"]},{"icon":"faSmog","aliases":[]},{"icon":"faSmoking","aliases":[]},{"icon":"faSmokingBan","aliases":["faSmokingBan"]},{"icon":"faSms","aliases":["faSms"]},{"icon":"faSnowboarding","aliases":["faSnowboarding"]},{"icon":"faSnowflake","aliases":[]},{"icon":"faSnowman","aliases":[]},{"icon":"faSnowplow","aliases":[]},{"icon":"faSoap","aliases":[]},{"icon":"faSoccerBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faSocks","aliases":[]},{"icon":"faSolarPanel","aliases":[]},{"icon":"faSort","aliases":["faUnsorted"]},{"icon":"faSortAlphaAsc","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDesc","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaDown","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDownAlt","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaUp","aliases":["faSortAlphaUp"]},{"icon":"faSortAlphaUpAlt","aliases":["faSortAlphaUpAlt"]},{"icon":"faSortAmountAsc","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDesc","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountDown","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDownAlt","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountUp","aliases":["faSortAmountUp"]},{"icon":"faSortAmountUpAlt","aliases":["faSortAmountUpAlt"]},{"icon":"faSortAsc","aliases":["faSortAsc"]},{"icon":"faSortDesc","aliases":["faSortDesc"]},{"icon":"faSortDown","aliases":["faSortDesc"]},{"icon":"faSortNumericAsc","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDesc","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericDown","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDownAlt","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericUp","aliases":["faSortNumericUp"]},{"icon":"faSortNumericUpAlt","aliases":["faSortNumericUpAlt"]},{"icon":"faSortUp","aliases":["faSortAsc"]},{"icon":"faSpa","aliases":[]},{"icon":"faSpaceShuttle","aliases":["faSpaceShuttle"]},{"icon":"faSpaghettiMonsterFlying","aliases":["faPastafarianism"]},{"icon":"faSpellCheck","aliases":[]},{"icon":"faSpider","aliases":[]},{"icon":"faSpinner","aliases":[]},{"icon":"faSplotch","aliases":[]},{"icon":"faSpoon","aliases":["faUtensilSpoon"]},{"icon":"faSprayCan","aliases":[]},{"icon":"faSprayCanSparkles","aliases":["faAirFreshener"]},{"icon":"faSprout","aliases":["faSprout"]},{"icon":"faSquare","aliases":[]},{"icon":"faSquareArrowUpRight","aliases":["faExternalLinkSquare"]},{"icon":"faSquareBinary","aliases":[]},{"icon":"faSquareCaretDown","aliases":["faCaretSquareDown"]},{"icon":"faSquareCaretLeft","aliases":["faCaretSquareLeft"]},{"icon":"faSquareCaretRight","aliases":["faCaretSquareRight"]},{"icon":"faSquareCaretUp","aliases":["faCaretSquareUp"]},{"icon":"faSquareCheck","aliases":["faCheckSquare"]},{"icon":"faSquareEnvelope","aliases":["faEnvelopeSquare"]},{"icon":"faSquareFull","aliases":[]},{"icon":"faSquareH","aliases":["faHSquare"]},{"icon":"faSquareMinus","aliases":["faMinusSquare"]},{"icon":"faSquareNfi","aliases":[]},{"icon":"faSquareParking","aliases":["faParking"]},{"icon":"faSquarePen","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faSquarePersonConfined","aliases":[]},{"icon":"faSquarePhone","aliases":["faPhoneSquare"]},{"icon":"faSquarePhoneFlip","aliases":["faPhoneSquareAlt"]},{"icon":"faSquarePlus","aliases":["faPlusSquare"]},{"icon":"faSquarePollHorizontal","aliases":["faPollH"]},{"icon":"faSquarePollVertical","aliases":["faPoll"]},{"icon":"faSquareRootAlt","aliases":["faSquareRootAlt"]},{"icon":"faSquareRootVariable","aliases":["faSquareRootAlt"]},{"icon":"faSquareRss","aliases":["faRssSquare"]},{"icon":"faSquareShareNodes","aliases":["faShareAltSquare"]},{"icon":"faSquareUpRight","aliases":["faExternalLinkSquareAlt"]},{"icon":"faSquareVirus","aliases":[]},{"icon":"faSquareXmark","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faStaffAesculapius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStaffSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStairs","aliases":[]},{"icon":"faStamp","aliases":[]},{"icon":"faStapler","aliases":[]},{"icon":"faStar","aliases":[]},{"icon":"faStarAndCrescent","aliases":[]},{"icon":"faStarHalf","aliases":[]},{"icon":"faStarHalfAlt","aliases":["faStarHalfAlt"]},{"icon":"faStarHalfStroke","aliases":["faStarHalfAlt"]},{"icon":"faStarOfDavid","aliases":[]},{"icon":"faStarOfLife","aliases":[]},{"icon":"faStepBackward","aliases":["faStepBackward"]},{"icon":"faStepForward","aliases":["faStepForward"]},{"icon":"faSterlingSign","aliases":["faGbp","faPoundSign"]},{"icon":"faStethoscope","aliases":[]},{"icon":"faStickyNote","aliases":["faStickyNote"]},{"icon":"faStop","aliases":[]},{"icon":"faStopCircle","aliases":["faStopCircle"]},{"icon":"faStopwatch","aliases":[]},{"icon":"faStopwatch20","aliases":[]},{"icon":"faStore","aliases":[]},{"icon":"faStoreAlt","aliases":["faStoreAlt"]},{"icon":"faStoreAltSlash","aliases":["faStoreAltSlash"]},{"icon":"faStoreSlash","aliases":[]},{"icon":"faStream","aliases":["faReorder","faStream"]},{"icon":"faStreetView","aliases":[]},{"icon":"faStrikethrough","aliases":[]},{"icon":"faStroopwafel","aliases":[]},{"icon":"faSubscript","aliases":[]},{"icon":"faSubtract","aliases":["faSubtract"]},{"icon":"faSubway","aliases":["faSubway"]},{"icon":"faSuitcase","aliases":[]},{"icon":"faSuitcaseMedical","aliases":["faMedkit"]},{"icon":"faSuitcaseRolling","aliases":[]},{"icon":"faSun","aliases":[]},{"icon":"faSunPlantWilt","aliases":[]},{"icon":"faSuperscript","aliases":[]},{"icon":"faSurprise","aliases":["faSurprise"]},{"icon":"faSwatchbook","aliases":[]},{"icon":"faSwimmer","aliases":["faSwimmer"]},{"icon":"faSwimmingPool","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faSynagogue","aliases":[]},{"icon":"faSync","aliases":["faRefresh","faSync"]},{"icon":"faSyncAlt","aliases":["faSyncAlt"]},{"icon":"faSyringe","aliases":[]},{"icon":"faT","aliases":[]},{"icon":"faTShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faTable","aliases":[]},{"icon":"faTableCells","aliases":["faTh"]},{"icon":"faTableCellsColumnLock","aliases":[]},{"icon":"faTableCellsLarge","aliases":["faThLarge"]},{"icon":"faTableCellsRowLock","aliases":[]},{"icon":"faTableCellsRowUnlock","aliases":[]},{"icon":"faTableColumns","aliases":["faColumns"]},{"icon":"faTableList","aliases":["faThList"]},{"icon":"faTableTennis","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTableTennisPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTablet","aliases":["faTabletAndroid"]},{"icon":"faTabletAlt","aliases":["faTabletAlt"]},{"icon":"faTabletAndroid","aliases":["faTabletAndroid"]},{"icon":"faTabletButton","aliases":[]},{"icon":"faTabletScreenButton","aliases":["faTabletAlt"]},{"icon":"faTablets","aliases":[]},{"icon":"faTachographDigital","aliases":["faDigitalTachograph"]},{"icon":"faTachometer","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTachometerAlt","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAltAverage","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faTachometerAltFast","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAverage","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faTachometerFast","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTag","aliases":[]},{"icon":"faTags","aliases":[]},{"icon":"faTanakh","aliases":["faTanakh"]},{"icon":"faTape","aliases":[]},{"icon":"faTarp","aliases":[]},{"icon":"faTarpDroplet","aliases":[]},{"icon":"faTasks","aliases":["faTasks"]},{"icon":"faTasksAlt","aliases":["faTasksAlt"]},{"icon":"faTaxi","aliases":["faCab"]},{"icon":"faTeeth","aliases":[]},{"icon":"faTeethOpen","aliases":[]},{"icon":"faTeletype","aliases":["faTeletype"]},{"icon":"faTelevision","aliases":["faTelevision","faTvAlt"]},{"icon":"faTemperature0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperature1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperature2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperature3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperature4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureArrowDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureArrowUp","aliases":["faTemperatureUp"]},{"icon":"faTemperatureDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperatureFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperatureHigh","aliases":[]},{"icon":"faTemperatureLow","aliases":[]},{"icon":"faTemperatureQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperatureThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperatureUp","aliases":["faTemperatureUp"]},{"icon":"faTenge","aliases":["faTenge"]},{"icon":"faTengeSign","aliases":["faTenge"]},{"icon":"faTent","aliases":[]},{"icon":"faTentArrowDownToLine","aliases":[]},{"icon":"faTentArrowLeftRight","aliases":[]},{"icon":"faTentArrowTurnLeft","aliases":[]},{"icon":"faTentArrowsDown","aliases":[]},{"icon":"faTents","aliases":[]},{"icon":"faTerminal","aliases":[]},{"icon":"faTextHeight","aliases":[]},{"icon":"faTextSlash","aliases":["faRemoveFormat"]},{"icon":"faTextWidth","aliases":[]},{"icon":"faTh","aliases":["faTh"]},{"icon":"faThLarge","aliases":["faThLarge"]},{"icon":"faThList","aliases":["faThList"]},{"icon":"faTheaterMasks","aliases":["faTheaterMasks"]},{"icon":"faThermometer","aliases":[]},{"icon":"faThermometer0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometer1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometer2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometer3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faThermometer4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometerFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometerQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometerThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faThumbsDown","aliases":[]},{"icon":"faThumbsUp","aliases":[]},{"icon":"faThumbtack","aliases":["faThumbTack"]},{"icon":"faThumbtackSlash","aliases":["faThumbTackSlash"]},{"icon":"faThunderstorm","aliases":["faThunderstorm"]},{"icon":"faTicket","aliases":[]},{"icon":"faTicketAlt","aliases":["faTicketAlt"]},{"icon":"faTicketSimple","aliases":["faTicketAlt"]},{"icon":"faTimeline","aliases":[]},{"icon":"faTimes","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faTimesCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faTimesRectangle","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faTimesSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faTint","aliases":["faTint"]},{"icon":"faTintSlash","aliases":["faTintSlash"]},{"icon":"faTired","aliases":["faTired"]},{"icon":"faToggleOff","aliases":[]},{"icon":"faToggleOn","aliases":[]},{"icon":"faToilet","aliases":[]},{"icon":"faToiletPaper","aliases":[]},{"icon":"faToiletPaperSlash","aliases":[]},{"icon":"faToiletPortable","aliases":[]},{"icon":"faToiletsPortable","aliases":[]},{"icon":"faToolbox","aliases":[]},{"icon":"faTools","aliases":["faTools"]},{"icon":"faTooth","aliases":[]},{"icon":"faTorah","aliases":["faTorah"]},{"icon":"faToriiGate","aliases":[]},{"icon":"faTornado","aliases":[]},{"icon":"faTowerBroadcast","aliases":["faBroadcastTower"]},{"icon":"faTowerCell","aliases":[]},{"icon":"faTowerObservation","aliases":[]},{"icon":"faTractor","aliases":[]},{"icon":"faTrademark","aliases":[]},{"icon":"faTrafficLight","aliases":[]},{"icon":"faTrailer","aliases":[]},{"icon":"faTrain","aliases":[]},{"icon":"faTrainSubway","aliases":["faSubway"]},{"icon":"faTrainTram","aliases":[]},{"icon":"faTram","aliases":["faTram"]},{"icon":"faTransgender","aliases":["faTransgenderAlt"]},{"icon":"faTransgenderAlt","aliases":["faTransgenderAlt"]},{"icon":"faTrash","aliases":[]},{"icon":"faTrashAlt","aliases":["faTrashAlt"]},{"icon":"faTrashArrowUp","aliases":["faTrashRestore"]},{"icon":"faTrashCan","aliases":["faTrashAlt"]},{"icon":"faTrashCanArrowUp","aliases":["faTrashRestoreAlt"]},{"icon":"faTrashRestore","aliases":["faTrashRestore"]},{"icon":"faTrashRestoreAlt","aliases":["faTrashRestoreAlt"]},{"icon":"faTree","aliases":[]},{"icon":"faTreeCity","aliases":[]},{"icon":"faTriangleCircleSquare","aliases":["faTriangleCircleSquare"]},{"icon":"faTriangleExclamation","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faTrophy","aliases":[]},{"icon":"faTrowel","aliases":[]},{"icon":"faTrowelBricks","aliases":[]},{"icon":"faTruck","aliases":[]},{"icon":"faTruckArrowRight","aliases":[]},{"icon":"faTruckDroplet","aliases":[]},{"icon":"faTruckFast","aliases":["faShippingFast"]},{"icon":"faTruckField","aliases":[]},{"icon":"faTruckFieldUn","aliases":[]},{"icon":"faTruckFront","aliases":[]},{"icon":"faTruckLoading","aliases":["faTruckLoading"]},{"icon":"faTruckMedical","aliases":["faAmbulance"]},{"icon":"faTruckMonster","aliases":[]},{"icon":"faTruckMoving","aliases":[]},{"icon":"faTruckPickup","aliases":[]},{"icon":"faTruckPlane","aliases":[]},{"icon":"faTruckRampBox","aliases":["faTruckLoading"]},{"icon":"faTry","aliases":["faTry","faTurkishLira"]},{"icon":"faTty","aliases":["faTeletype"]},{"icon":"faTurkishLira","aliases":["faTry","faTurkishLira"]},{"icon":"faTurkishLiraSign","aliases":["faTry","faTurkishLira"]},{"icon":"faTurnDown","aliases":["faLevelDownAlt"]},{"icon":"faTurnUp","aliases":["faLevelUpAlt"]},{"icon":"faTv","aliases":["faTelevision","faTvAlt"]},{"icon":"faTvAlt","aliases":["faTelevision","faTvAlt"]},{"icon":"faU","aliases":[]},{"icon":"faUmbrella","aliases":[]},{"icon":"faUmbrellaBeach","aliases":[]},{"icon":"faUnderline","aliases":[]},{"icon":"faUndo","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faUndoAlt","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faUniversalAccess","aliases":[]},{"icon":"faUniversity","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faUnlink","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faUnlock","aliases":[]},{"icon":"faUnlockAlt","aliases":["faUnlockAlt"]},{"icon":"faUnlockKeyhole","aliases":["faUnlockAlt"]},{"icon":"faUnsorted","aliases":["faUnsorted"]},{"icon":"faUpDown","aliases":["faArrowsAltV"]},{"icon":"faUpDownLeftRight","aliases":["faArrowsAlt"]},{"icon":"faUpLong","aliases":["faLongArrowAltUp"]},{"icon":"faUpRightAndDownLeftFromCenter","aliases":["faExpandAlt"]},{"icon":"faUpRightFromSquare","aliases":["faExternalLinkAlt"]},{"icon":"faUpload","aliases":[]},{"icon":"faUsd","aliases":["faDollar","faUsd"]},{"icon":"faUser","aliases":[]},{"icon":"faUserAlt","aliases":["faUserAlt"]},{"icon":"faUserAltSlash","aliases":["faUserAltSlash"]},{"icon":"faUserAstronaut","aliases":[]},{"icon":"faUserCheck","aliases":[]},{"icon":"faUserCircle","aliases":["faUserCircle"]},{"icon":"faUserClock","aliases":[]},{"icon":"faUserCog","aliases":["faUserCog"]},{"icon":"faUserDoctor","aliases":["faUserMd"]},{"icon":"faUserEdit","aliases":["faUserEdit"]},{"icon":"faUserFriends","aliases":["faUserFriends"]},{"icon":"faUserGear","aliases":["faUserCog"]},{"icon":"faUserGraduate","aliases":[]},{"icon":"faUserGroup","aliases":["faUserFriends"]},{"icon":"faUserInjured","aliases":[]},{"icon":"faUserLarge","aliases":["faUserAlt"]},{"icon":"faUserLargeSlash","aliases":["faUserAltSlash"]},{"icon":"faUserLock","aliases":[]},{"icon":"faUserMd","aliases":["faUserMd"]},{"icon":"faUserMinus","aliases":[]},{"icon":"faUserNinja","aliases":[]},{"icon":"faUserNurse","aliases":[]},{"icon":"faUserPen","aliases":["faUserEdit"]},{"icon":"faUserPlus","aliases":[]},{"icon":"faUserSecret","aliases":[]},{"icon":"faUserShield","aliases":[]},{"icon":"faUserSlash","aliases":[]},{"icon":"faUserTag","aliases":[]},{"icon":"faUserTie","aliases":[]},{"icon":"faUserTimes","aliases":["faUserTimes"]},{"icon":"faUserXmark","aliases":["faUserTimes"]},{"icon":"faUsers","aliases":[]},{"icon":"faUsersBetweenLines","aliases":[]},{"icon":"faUsersCog","aliases":["faUsersCog"]},{"icon":"faUsersGear","aliases":["faUsersCog"]},{"icon":"faUsersLine","aliases":[]},{"icon":"faUsersRays","aliases":[]},{"icon":"faUsersRectangle","aliases":[]},{"icon":"faUsersSlash","aliases":[]},{"icon":"faUsersViewfinder","aliases":[]},{"icon":"faUtensilSpoon","aliases":["faUtensilSpoon"]},{"icon":"faUtensils","aliases":["faCutlery"]},{"icon":"faV","aliases":[]},{"icon":"faVanShuttle","aliases":["faShuttleVan"]},{"icon":"faVault","aliases":[]},{"icon":"faVcard","aliases":["faContactCard","faVcard"]},{"icon":"faVectorSquare","aliases":[]},{"icon":"faVenus","aliases":[]},{"icon":"faVenusDouble","aliases":[]},{"icon":"faVenusMars","aliases":[]},{"icon":"faVest","aliases":[]},{"icon":"faVestPatches","aliases":[]},{"icon":"faVial","aliases":[]},{"icon":"faVialCircleCheck","aliases":[]},{"icon":"faVialVirus","aliases":[]},{"icon":"faVials","aliases":[]},{"icon":"faVideo","aliases":["faVideoCamera"]},{"icon":"faVideoCamera","aliases":["faVideoCamera"]},{"icon":"faVideoSlash","aliases":[]},{"icon":"faVihara","aliases":[]},{"icon":"faVirus","aliases":[]},{"icon":"faVirusCovid","aliases":[]},{"icon":"faVirusCovidSlash","aliases":[]},{"icon":"faVirusSlash","aliases":[]},{"icon":"faViruses","aliases":[]},{"icon":"faVoicemail","aliases":[]},{"icon":"faVolcano","aliases":[]},{"icon":"faVolleyball","aliases":["faVolleyballBall"]},{"icon":"faVolleyballBall","aliases":["faVolleyballBall"]},{"icon":"faVolumeControlPhone","aliases":["faVolumeControlPhone"]},{"icon":"faVolumeDown","aliases":["faVolumeDown"]},{"icon":"faVolumeHigh","aliases":["faVolumeUp"]},{"icon":"faVolumeLow","aliases":["faVolumeDown"]},{"icon":"faVolumeMute","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeOff","aliases":[]},{"icon":"faVolumeTimes","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeUp","aliases":["faVolumeUp"]},{"icon":"faVolumeXmark","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVoteYea","aliases":["faVoteYea"]},{"icon":"faVrCardboard","aliases":[]},{"icon":"faW","aliases":[]},{"icon":"faWalkieTalkie","aliases":[]},{"icon":"faWalking","aliases":["faWalking"]},{"icon":"faWallet","aliases":[]},{"icon":"faWandMagic","aliases":["faMagic"]},{"icon":"faWandMagicSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faWandSparkles","aliases":[]},{"icon":"faWarehouse","aliases":[]},{"icon":"faWarning","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faWater","aliases":[]},{"icon":"faWaterLadder","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faWaveSquare","aliases":[]},{"icon":"faWebAwesome","aliases":[]},{"icon":"faWeight","aliases":["faWeight"]},{"icon":"faWeightHanging","aliases":[]},{"icon":"faWeightScale","aliases":["faWeight"]},{"icon":"faWheatAlt","aliases":["faWheatAlt"]},{"icon":"faWheatAwn","aliases":["faWheatAlt"]},{"icon":"faWheatAwnCircleExclamation","aliases":[]},{"icon":"faWheelchair","aliases":[]},{"icon":"faWheelchairAlt","aliases":["faWheelchairAlt"]},{"icon":"faWheelchairMove","aliases":["faWheelchairAlt"]},{"icon":"faWhiskeyGlass","aliases":["faGlassWhiskey"]},{"icon":"faWifi","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifi3","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifiStrong","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWind","aliases":[]},{"icon":"faWindowClose","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faWindowMaximize","aliases":[]},{"icon":"faWindowMinimize","aliases":[]},{"icon":"faWindowRestore","aliases":[]},{"icon":"faWineBottle","aliases":[]},{"icon":"faWineGlass","aliases":[]},{"icon":"faWineGlassAlt","aliases":["faWineGlassAlt"]},{"icon":"faWineGlassEmpty","aliases":["faWineGlassAlt"]},{"icon":"faWon","aliases":["faKrw","faWon"]},{"icon":"faWonSign","aliases":["faKrw","faWon"]},{"icon":"faWorm","aliases":[]},{"icon":"faWrench","aliases":[]},{"icon":"faX","aliases":[]},{"icon":"faXRay","aliases":[]},{"icon":"faXmark","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faXmarkCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faXmarkSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faXmarksLines","aliases":[]},{"icon":"faY","aliases":[]},{"icon":"faYen","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYenSign","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYinYang","aliases":[]},{"icon":"faZ","aliases":[]},{"icon":"faZap","aliases":["faZap"]}],"prefix":"fas"},"@fortawesome/free-brands-svg-icons":{"icons":[{"icon":"fa42Group","aliases":["faInnosoft"]},{"icon":"fa500px","aliases":[]},{"icon":"faAccessibleIcon","aliases":[]},{"icon":"faAccusoft","aliases":[]},{"icon":"faAdn","aliases":[]},{"icon":"faAdversal","aliases":[]},{"icon":"faAffiliatetheme","aliases":[]},{"icon":"faAirbnb","aliases":[]},{"icon":"faAlgolia","aliases":[]},{"icon":"faAlipay","aliases":[]},{"icon":"faAmazon","aliases":[]},{"icon":"faAmazonPay","aliases":[]},{"icon":"faAmilia","aliases":[]},{"icon":"faAndroid","aliases":[]},{"icon":"faAngellist","aliases":[]},{"icon":"faAngrycreative","aliases":[]},{"icon":"faAngular","aliases":[]},{"icon":"faAppStore","aliases":[]},{"icon":"faAppStoreIos","aliases":[]},{"icon":"faApper","aliases":[]},{"icon":"faApple","aliases":[]},{"icon":"faApplePay","aliases":[]},{"icon":"faArtstation","aliases":[]},{"icon":"faAsymmetrik","aliases":[]},{"icon":"faAtlassian","aliases":[]},{"icon":"faAudible","aliases":[]},{"icon":"faAutoprefixer","aliases":[]},{"icon":"faAvianex","aliases":[]},{"icon":"faAviato","aliases":[]},{"icon":"faAws","aliases":[]},{"icon":"faBandcamp","aliases":[]},{"icon":"faBattleNet","aliases":[]},{"icon":"faBehance","aliases":[]},{"icon":"faBehanceSquare","aliases":["faBehanceSquare"]},{"icon":"faBilibili","aliases":[]},{"icon":"faBimobject","aliases":[]},{"icon":"faBitbucket","aliases":[]},{"icon":"faBitcoin","aliases":[]},{"icon":"faBity","aliases":[]},{"icon":"faBlackTie","aliases":[]},{"icon":"faBlackberry","aliases":[]},{"icon":"faBlogger","aliases":[]},{"icon":"faBloggerB","aliases":[]},{"icon":"faBluesky","aliases":[]},{"icon":"faBluetooth","aliases":[]},{"icon":"faBluetoothB","aliases":[]},{"icon":"faBootstrap","aliases":[]},{"icon":"faBots","aliases":[]},{"icon":"faBrave","aliases":[]},{"icon":"faBraveReverse","aliases":[]},{"icon":"faBtc","aliases":[]},{"icon":"faBuffer","aliases":[]},{"icon":"faBuromobelexperte","aliases":[]},{"icon":"faBuyNLarge","aliases":[]},{"icon":"faBuysellads","aliases":[]},{"icon":"faCanadianMapleLeaf","aliases":[]},{"icon":"faCcAmazonPay","aliases":[]},{"icon":"faCcAmex","aliases":[]},{"icon":"faCcApplePay","aliases":[]},{"icon":"faCcDinersClub","aliases":[]},{"icon":"faCcDiscover","aliases":[]},{"icon":"faCcJcb","aliases":[]},{"icon":"faCcMastercard","aliases":[]},{"icon":"faCcPaypal","aliases":[]},{"icon":"faCcStripe","aliases":[]},{"icon":"faCcVisa","aliases":[]},{"icon":"faCentercode","aliases":[]},{"icon":"faCentos","aliases":[]},{"icon":"faChrome","aliases":[]},{"icon":"faChromecast","aliases":[]},{"icon":"faCloudflare","aliases":[]},{"icon":"faCloudscale","aliases":[]},{"icon":"faCloudsmith","aliases":[]},{"icon":"faCloudversify","aliases":[]},{"icon":"faCmplid","aliases":[]},{"icon":"faCodepen","aliases":[]},{"icon":"faCodiepie","aliases":[]},{"icon":"faConfluence","aliases":[]},{"icon":"faConnectdevelop","aliases":[]},{"icon":"faContao","aliases":[]},{"icon":"faCottonBureau","aliases":[]},{"icon":"faCpanel","aliases":[]},{"icon":"faCreativeCommons","aliases":[]},{"icon":"faCreativeCommonsBy","aliases":[]},{"icon":"faCreativeCommonsNc","aliases":[]},{"icon":"faCreativeCommonsNcEu","aliases":[]},{"icon":"faCreativeCommonsNcJp","aliases":[]},{"icon":"faCreativeCommonsNd","aliases":[]},{"icon":"faCreativeCommonsPd","aliases":[]},{"icon":"faCreativeCommonsPdAlt","aliases":[]},{"icon":"faCreativeCommonsRemix","aliases":[]},{"icon":"faCreativeCommonsSa","aliases":[]},{"icon":"faCreativeCommonsSampling","aliases":[]},{"icon":"faCreativeCommonsSamplingPlus","aliases":[]},{"icon":"faCreativeCommonsShare","aliases":[]},{"icon":"faCreativeCommonsZero","aliases":[]},{"icon":"faCriticalRole","aliases":[]},{"icon":"faCss","aliases":[]},{"icon":"faCss3","aliases":[]},{"icon":"faCss3Alt","aliases":[]},{"icon":"faCuttlefish","aliases":[]},{"icon":"faDAndD","aliases":[]},{"icon":"faDAndDBeyond","aliases":[]},{"icon":"faDailymotion","aliases":[]},{"icon":"faDartLang","aliases":[]},{"icon":"faDashcube","aliases":[]},{"icon":"faDebian","aliases":[]},{"icon":"faDeezer","aliases":[]},{"icon":"faDelicious","aliases":[]},{"icon":"faDeploydog","aliases":[]},{"icon":"faDeskpro","aliases":[]},{"icon":"faDev","aliases":[]},{"icon":"faDeviantart","aliases":[]},{"icon":"faDhl","aliases":[]},{"icon":"faDiaspora","aliases":[]},{"icon":"faDigg","aliases":[]},{"icon":"faDigitalOcean","aliases":[]},{"icon":"faDiscord","aliases":[]},{"icon":"faDiscourse","aliases":[]},{"icon":"faDochub","aliases":[]},{"icon":"faDocker","aliases":[]},{"icon":"faDraft2digital","aliases":[]},{"icon":"faDribbble","aliases":[]},{"icon":"faDribbbleSquare","aliases":["faDribbbleSquare"]},{"icon":"faDropbox","aliases":[]},{"icon":"faDrupal","aliases":[]},{"icon":"faDyalog","aliases":[]},{"icon":"faEarlybirds","aliases":[]},{"icon":"faEbay","aliases":[]},{"icon":"faEdge","aliases":[]},{"icon":"faEdgeLegacy","aliases":[]},{"icon":"faElementor","aliases":[]},{"icon":"faEllo","aliases":[]},{"icon":"faEmber","aliases":[]},{"icon":"faEmpire","aliases":[]},{"icon":"faEnvira","aliases":[]},{"icon":"faErlang","aliases":[]},{"icon":"faEthereum","aliases":[]},{"icon":"faEtsy","aliases":[]},{"icon":"faEvernote","aliases":[]},{"icon":"faExpeditedssl","aliases":[]},{"icon":"faFacebook","aliases":[]},{"icon":"faFacebookF","aliases":[]},{"icon":"faFacebookMessenger","aliases":[]},{"icon":"faFacebookSquare","aliases":["faFacebookSquare"]},{"icon":"faFantasyFlightGames","aliases":[]},{"icon":"faFedex","aliases":[]},{"icon":"faFedora","aliases":[]},{"icon":"faFigma","aliases":[]},{"icon":"faFilesPinwheel","aliases":[]},{"icon":"faFirefox","aliases":[]},{"icon":"faFirefoxBrowser","aliases":[]},{"icon":"faFirstOrder","aliases":[]},{"icon":"faFirstOrderAlt","aliases":[]},{"icon":"faFirstdraft","aliases":[]},{"icon":"faFlickr","aliases":[]},{"icon":"faFlipboard","aliases":[]},{"icon":"faFlutter","aliases":[]},{"icon":"faFly","aliases":[]},{"icon":"faFontAwesome","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeAlt","aliases":["faFontAwesomeAlt"]},{"icon":"faFontAwesomeFlag","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeLogoFull","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFonticons","aliases":[]},{"icon":"faFonticonsFi","aliases":[]},{"icon":"faFortAwesome","aliases":[]},{"icon":"faFortAwesomeAlt","aliases":[]},{"icon":"faForumbee","aliases":[]},{"icon":"faFoursquare","aliases":[]},{"icon":"faFreeCodeCamp","aliases":[]},{"icon":"faFreebsd","aliases":[]},{"icon":"faFulcrum","aliases":[]},{"icon":"faGalacticRepublic","aliases":[]},{"icon":"faGalacticSenate","aliases":[]},{"icon":"faGetPocket","aliases":[]},{"icon":"faGg","aliases":[]},{"icon":"faGgCircle","aliases":[]},{"icon":"faGit","aliases":[]},{"icon":"faGitAlt","aliases":[]},{"icon":"faGitSquare","aliases":["faGitSquare"]},{"icon":"faGithub","aliases":[]},{"icon":"faGithubAlt","aliases":[]},{"icon":"faGithubSquare","aliases":["faGithubSquare"]},{"icon":"faGitkraken","aliases":[]},{"icon":"faGitlab","aliases":[]},{"icon":"faGitlabSquare","aliases":["faGitlabSquare"]},{"icon":"faGitter","aliases":[]},{"icon":"faGlide","aliases":[]},{"icon":"faGlideG","aliases":[]},{"icon":"faGofore","aliases":[]},{"icon":"faGolang","aliases":[]},{"icon":"faGoodreads","aliases":[]},{"icon":"faGoodreadsG","aliases":[]},{"icon":"faGoogle","aliases":[]},{"icon":"faGoogleDrive","aliases":[]},{"icon":"faGooglePay","aliases":[]},{"icon":"faGooglePlay","aliases":[]},{"icon":"faGooglePlus","aliases":[]},{"icon":"faGooglePlusG","aliases":[]},{"icon":"faGooglePlusSquare","aliases":["faGooglePlusSquare"]},{"icon":"faGoogleScholar","aliases":[]},{"icon":"faGoogleWallet","aliases":[]},{"icon":"faGratipay","aliases":[]},{"icon":"faGrav","aliases":[]},{"icon":"faGripfire","aliases":[]},{"icon":"faGrunt","aliases":[]},{"icon":"faGuilded","aliases":[]},{"icon":"faGulp","aliases":[]},{"icon":"faHackerNews","aliases":[]},{"icon":"faHackerNewsSquare","aliases":["faHackerNewsSquare"]},{"icon":"faHackerrank","aliases":[]},{"icon":"faHashnode","aliases":[]},{"icon":"faHips","aliases":[]},{"icon":"faHireAHelper","aliases":[]},{"icon":"faHive","aliases":[]},{"icon":"faHooli","aliases":[]},{"icon":"faHornbill","aliases":[]},{"icon":"faHotjar","aliases":[]},{"icon":"faHouzz","aliases":[]},{"icon":"faHtml5","aliases":[]},{"icon":"faHubspot","aliases":[]},{"icon":"faIdeal","aliases":[]},{"icon":"faImdb","aliases":[]},{"icon":"faInnosoft","aliases":["faInnosoft"]},{"icon":"faInstagram","aliases":[]},{"icon":"faInstagramSquare","aliases":["faInstagramSquare"]},{"icon":"faInstalod","aliases":[]},{"icon":"faIntercom","aliases":[]},{"icon":"faInternetExplorer","aliases":[]},{"icon":"faInvision","aliases":[]},{"icon":"faIoxhost","aliases":[]},{"icon":"faItchIo","aliases":[]},{"icon":"faItunes","aliases":[]},{"icon":"faItunesNote","aliases":[]},{"icon":"faJava","aliases":[]},{"icon":"faJediOrder","aliases":[]},{"icon":"faJenkins","aliases":[]},{"icon":"faJira","aliases":[]},{"icon":"faJoget","aliases":[]},{"icon":"faJoomla","aliases":[]},{"icon":"faJs","aliases":[]},{"icon":"faJsSquare","aliases":["faJsSquare"]},{"icon":"faJsfiddle","aliases":[]},{"icon":"faJxl","aliases":[]},{"icon":"faKaggle","aliases":[]},{"icon":"faKeybase","aliases":[]},{"icon":"faKeycdn","aliases":[]},{"icon":"faKickstarter","aliases":["faSquareKickstarter"]},{"icon":"faKickstarterK","aliases":[]},{"icon":"faKorvue","aliases":[]},{"icon":"faLaravel","aliases":[]},{"icon":"faLastfm","aliases":[]},{"icon":"faLastfmSquare","aliases":["faLastfmSquare"]},{"icon":"faLeanpub","aliases":[]},{"icon":"faLess","aliases":[]},{"icon":"faLetterboxd","aliases":[]},{"icon":"faLine","aliases":[]},{"icon":"faLinkedin","aliases":[]},{"icon":"faLinkedinIn","aliases":[]},{"icon":"faLinode","aliases":[]},{"icon":"faLinux","aliases":[]},{"icon":"faLyft","aliases":[]},{"icon":"faMagento","aliases":[]},{"icon":"faMailchimp","aliases":[]},{"icon":"faMandalorian","aliases":[]},{"icon":"faMarkdown","aliases":[]},{"icon":"faMastodon","aliases":[]},{"icon":"faMaxcdn","aliases":[]},{"icon":"faMdb","aliases":[]},{"icon":"faMedapps","aliases":[]},{"icon":"faMedium","aliases":["faMediumM"]},{"icon":"faMediumM","aliases":["faMediumM"]},{"icon":"faMedrt","aliases":[]},{"icon":"faMeetup","aliases":[]},{"icon":"faMegaport","aliases":[]},{"icon":"faMendeley","aliases":[]},{"icon":"faMeta","aliases":[]},{"icon":"faMicroblog","aliases":[]},{"icon":"faMicrosoft","aliases":[]},{"icon":"faMintbit","aliases":[]},{"icon":"faMix","aliases":[]},{"icon":"faMixcloud","aliases":[]},{"icon":"faMixer","aliases":[]},{"icon":"faMizuni","aliases":[]},{"icon":"faModx","aliases":[]},{"icon":"faMonero","aliases":[]},{"icon":"faNapster","aliases":[]},{"icon":"faNeos","aliases":[]},{"icon":"faNfcDirectional","aliases":[]},{"icon":"faNfcSymbol","aliases":[]},{"icon":"faNimblr","aliases":[]},{"icon":"faNode","aliases":[]},{"icon":"faNodeJs","aliases":[]},{"icon":"faNpm","aliases":[]},{"icon":"faNs8","aliases":[]},{"icon":"faNutritionix","aliases":[]},{"icon":"faOctopusDeploy","aliases":[]},{"icon":"faOdnoklassniki","aliases":[]},{"icon":"faOdnoklassnikiSquare","aliases":["faOdnoklassnikiSquare"]},{"icon":"faOdysee","aliases":[]},{"icon":"faOldRepublic","aliases":[]},{"icon":"faOpencart","aliases":[]},{"icon":"faOpenid","aliases":[]},{"icon":"faOpensuse","aliases":[]},{"icon":"faOpera","aliases":[]},{"icon":"faOptinMonster","aliases":[]},{"icon":"faOrcid","aliases":[]},{"icon":"faOsi","aliases":[]},{"icon":"faPadlet","aliases":[]},{"icon":"faPage4","aliases":[]},{"icon":"faPagelines","aliases":[]},{"icon":"faPalfed","aliases":[]},{"icon":"faPatreon","aliases":[]},{"icon":"faPaypal","aliases":[]},{"icon":"faPerbyte","aliases":[]},{"icon":"faPeriscope","aliases":[]},{"icon":"faPhabricator","aliases":[]},{"icon":"faPhoenixFramework","aliases":[]},{"icon":"faPhoenixSquadron","aliases":[]},{"icon":"faPhp","aliases":[]},{"icon":"faPiedPiper","aliases":[]},{"icon":"faPiedPiperAlt","aliases":[]},{"icon":"faPiedPiperHat","aliases":[]},{"icon":"faPiedPiperPp","aliases":[]},{"icon":"faPiedPiperSquare","aliases":["faPiedPiperSquare"]},{"icon":"faPinterest","aliases":[]},{"icon":"faPinterestP","aliases":[]},{"icon":"faPinterestSquare","aliases":["faPinterestSquare"]},{"icon":"faPix","aliases":[]},{"icon":"faPixiv","aliases":[]},{"icon":"faPlaystation","aliases":[]},{"icon":"faProductHunt","aliases":[]},{"icon":"faPushed","aliases":[]},{"icon":"faPython","aliases":[]},{"icon":"faQq","aliases":[]},{"icon":"faQuinscape","aliases":[]},{"icon":"faQuora","aliases":[]},{"icon":"faRProject","aliases":[]},{"icon":"faRaspberryPi","aliases":[]},{"icon":"faRavelry","aliases":[]},{"icon":"faReact","aliases":[]},{"icon":"faReacteurope","aliases":[]},{"icon":"faReadme","aliases":[]},{"icon":"faRebel","aliases":[]},{"icon":"faRedRiver","aliases":[]},{"icon":"faReddit","aliases":[]},{"icon":"faRedditAlien","aliases":[]},{"icon":"faRedditSquare","aliases":["faRedditSquare"]},{"icon":"faRedhat","aliases":[]},{"icon":"faRendact","aliases":["faRendact"]},{"icon":"faRenren","aliases":[]},{"icon":"faReplyd","aliases":[]},{"icon":"faResearchgate","aliases":[]},{"icon":"faResolving","aliases":[]},{"icon":"faRev","aliases":[]},{"icon":"faRocketchat","aliases":[]},{"icon":"faRockrms","aliases":[]},{"icon":"faRust","aliases":[]},{"icon":"faSafari","aliases":[]},{"icon":"faSalesforce","aliases":[]},{"icon":"faSass","aliases":[]},{"icon":"faSchlix","aliases":[]},{"icon":"faScreenpal","aliases":[]},{"icon":"faScribd","aliases":[]},{"icon":"faSearchengin","aliases":[]},{"icon":"faSellcast","aliases":[]},{"icon":"faSellsy","aliases":[]},{"icon":"faServicestack","aliases":[]},{"icon":"faShirtsinbulk","aliases":[]},{"icon":"faShoelace","aliases":[]},{"icon":"faShopify","aliases":[]},{"icon":"faShopware","aliases":[]},{"icon":"faSignalMessenger","aliases":[]},{"icon":"faSimplybuilt","aliases":[]},{"icon":"faSistrix","aliases":[]},{"icon":"faSith","aliases":[]},{"icon":"faSitrox","aliases":[]},{"icon":"faSketch","aliases":[]},{"icon":"faSkyatlas","aliases":[]},{"icon":"faSkype","aliases":[]},{"icon":"faSlack","aliases":["faSlackHash"]},{"icon":"faSlackHash","aliases":["faSlackHash"]},{"icon":"faSlideshare","aliases":[]},{"icon":"faSnapchat","aliases":["faSnapchatGhost"]},{"icon":"faSnapchatGhost","aliases":["faSnapchatGhost"]},{"icon":"faSnapchatSquare","aliases":["faSnapchatSquare"]},{"icon":"faSoundcloud","aliases":[]},{"icon":"faSourcetree","aliases":[]},{"icon":"faSpaceAwesome","aliases":[]},{"icon":"faSpeakap","aliases":[]},{"icon":"faSpeakerDeck","aliases":[]},{"icon":"faSpotify","aliases":[]},{"icon":"faSquareBehance","aliases":["faBehanceSquare"]},{"icon":"faSquareBluesky","aliases":[]},{"icon":"faSquareDribbble","aliases":["faDribbbleSquare"]},{"icon":"faSquareFacebook","aliases":["faFacebookSquare"]},{"icon":"faSquareFontAwesome","aliases":[]},{"icon":"faSquareFontAwesomeStroke","aliases":["faFontAwesomeAlt"]},{"icon":"faSquareGit","aliases":["faGitSquare"]},{"icon":"faSquareGithub","aliases":["faGithubSquare"]},{"icon":"faSquareGitlab","aliases":["faGitlabSquare"]},{"icon":"faSquareGooglePlus","aliases":["faGooglePlusSquare"]},{"icon":"faSquareHackerNews","aliases":["faHackerNewsSquare"]},{"icon":"faSquareInstagram","aliases":["faInstagramSquare"]},{"icon":"faSquareJs","aliases":["faJsSquare"]},{"icon":"faSquareKickstarter","aliases":["faSquareKickstarter"]},{"icon":"faSquareLastfm","aliases":["faLastfmSquare"]},{"icon":"faSquareLetterboxd","aliases":[]},{"icon":"faSquareOdnoklassniki","aliases":["faOdnoklassnikiSquare"]},{"icon":"faSquarePiedPiper","aliases":["faPiedPiperSquare"]},{"icon":"faSquarePinterest","aliases":["faPinterestSquare"]},{"icon":"faSquareReddit","aliases":["faRedditSquare"]},{"icon":"faSquareSnapchat","aliases":["faSnapchatSquare"]},{"icon":"faSquareSteam","aliases":["faSteamSquare"]},{"icon":"faSquareThreads","aliases":[]},{"icon":"faSquareTumblr","aliases":["faTumblrSquare"]},{"icon":"faSquareTwitter","aliases":["faTwitterSquare"]},{"icon":"faSquareUpwork","aliases":[]},{"icon":"faSquareViadeo","aliases":["faViadeoSquare"]},{"icon":"faSquareVimeo","aliases":["faVimeoSquare"]},{"icon":"faSquareWebAwesome","aliases":[]},{"icon":"faSquareWebAwesomeStroke","aliases":[]},{"icon":"faSquareWhatsapp","aliases":["faWhatsappSquare"]},{"icon":"faSquareXTwitter","aliases":[]},{"icon":"faSquareXing","aliases":["faXingSquare"]},{"icon":"faSquareYoutube","aliases":["faYoutubeSquare"]},{"icon":"faSquarespace","aliases":[]},{"icon":"faStackExchange","aliases":[]},{"icon":"faStackOverflow","aliases":[]},{"icon":"faStackpath","aliases":[]},{"icon":"faStaylinked","aliases":[]},{"icon":"faSteam","aliases":[]},{"icon":"faSteamSquare","aliases":["faSteamSquare"]},{"icon":"faSteamSymbol","aliases":[]},{"icon":"faStickerMule","aliases":[]},{"icon":"faStrava","aliases":[]},{"icon":"faStripe","aliases":[]},{"icon":"faStripeS","aliases":[]},{"icon":"faStubber","aliases":[]},{"icon":"faStudiovinari","aliases":[]},{"icon":"faStumbleupon","aliases":[]},{"icon":"faStumbleuponCircle","aliases":[]},{"icon":"faSuperpowers","aliases":[]},{"icon":"faSupple","aliases":[]},{"icon":"faSuse","aliases":[]},{"icon":"faSwift","aliases":[]},{"icon":"faSymfony","aliases":[]},{"icon":"faTeamspeak","aliases":[]},{"icon":"faTelegram","aliases":["faTelegramPlane"]},{"icon":"faTelegramPlane","aliases":["faTelegramPlane"]},{"icon":"faTencentWeibo","aliases":[]},{"icon":"faTheRedYeti","aliases":[]},{"icon":"faThemeco","aliases":[]},{"icon":"faThemeisle","aliases":[]},{"icon":"faThinkPeaks","aliases":[]},{"icon":"faThreads","aliases":[]},{"icon":"faTiktok","aliases":[]},{"icon":"faTradeFederation","aliases":[]},{"icon":"faTrello","aliases":[]},{"icon":"faTumblr","aliases":[]},{"icon":"faTumblrSquare","aliases":["faTumblrSquare"]},{"icon":"faTwitch","aliases":[]},{"icon":"faTwitter","aliases":[]},{"icon":"faTwitterSquare","aliases":["faTwitterSquare"]},{"icon":"faTypo3","aliases":[]},{"icon":"faUber","aliases":[]},{"icon":"faUbuntu","aliases":[]},{"icon":"faUikit","aliases":[]},{"icon":"faUmbraco","aliases":[]},{"icon":"faUncharted","aliases":[]},{"icon":"faUniregistry","aliases":[]},{"icon":"faUnity","aliases":[]},{"icon":"faUnsplash","aliases":[]},{"icon":"faUntappd","aliases":[]},{"icon":"faUps","aliases":[]},{"icon":"faUpwork","aliases":[]},{"icon":"faUsb","aliases":[]},{"icon":"faUsps","aliases":[]},{"icon":"faUssunnah","aliases":[]},{"icon":"faVaadin","aliases":[]},{"icon":"faViacoin","aliases":[]},{"icon":"faViadeo","aliases":[]},{"icon":"faViadeoSquare","aliases":["faViadeoSquare"]},{"icon":"faViber","aliases":[]},{"icon":"faVimeo","aliases":[]},{"icon":"faVimeoSquare","aliases":["faVimeoSquare"]},{"icon":"faVimeoV","aliases":[]},{"icon":"faVine","aliases":[]},{"icon":"faVk","aliases":[]},{"icon":"faVnv","aliases":[]},{"icon":"faVuejs","aliases":[]},{"icon":"faWatchmanMonitoring","aliases":[]},{"icon":"faWaze","aliases":[]},{"icon":"faWebAwesome","aliases":[]},{"icon":"faWebflow","aliases":[]},{"icon":"faWeebly","aliases":[]},{"icon":"faWeibo","aliases":[]},{"icon":"faWeixin","aliases":[]},{"icon":"faWhatsapp","aliases":[]},{"icon":"faWhatsappSquare","aliases":["faWhatsappSquare"]},{"icon":"faWhmcs","aliases":[]},{"icon":"faWikipediaW","aliases":[]},{"icon":"faWindows","aliases":[]},{"icon":"faWirsindhandwerk","aliases":["faWsh"]},{"icon":"faWix","aliases":[]},{"icon":"faWizardsOfTheCoast","aliases":[]},{"icon":"faWodu","aliases":[]},{"icon":"faWolfPackBattalion","aliases":[]},{"icon":"faWordpress","aliases":[]},{"icon":"faWordpressSimple","aliases":[]},{"icon":"faWpbeginner","aliases":[]},{"icon":"faWpexplorer","aliases":[]},{"icon":"faWpforms","aliases":[]},{"icon":"faWpressr","aliases":["faRendact"]},{"icon":"faWsh","aliases":["faWsh"]},{"icon":"faXTwitter","aliases":[]},{"icon":"faXbox","aliases":[]},{"icon":"faXing","aliases":[]},{"icon":"faXingSquare","aliases":["faXingSquare"]},{"icon":"faYCombinator","aliases":[]},{"icon":"faYahoo","aliases":[]},{"icon":"faYammer","aliases":[]},{"icon":"faYandex","aliases":[]},{"icon":"faYandexInternational","aliases":[]},{"icon":"faYarn","aliases":[]},{"icon":"faYelp","aliases":[]},{"icon":"faYoast","aliases":[]},{"icon":"faYoutube","aliases":[]},{"icon":"faYoutubeSquare","aliases":["faYoutubeSquare"]},{"icon":"faZhihu","aliases":[]}],"prefix":"fab"},"@fortawesome/pro-solid-svg-icons":{"icons":[{"icon":"fa0","aliases":[]},{"icon":"fa00","aliases":[]},{"icon":"fa1","aliases":[]},{"icon":"fa100","aliases":["fa100"]},{"icon":"fa2","aliases":[]},{"icon":"fa3","aliases":[]},{"icon":"fa360Degrees","aliases":[]},{"icon":"fa4","aliases":[]},{"icon":"fa5","aliases":[]},{"icon":"fa6","aliases":[]},{"icon":"fa7","aliases":[]},{"icon":"fa8","aliases":[]},{"icon":"fa9","aliases":[]},{"icon":"faA","aliases":[]},{"icon":"faAbacus","aliases":[]},{"icon":"faAccentGrave","aliases":[]},{"icon":"faAcorn","aliases":[]},{"icon":"faAd","aliases":["faAd"]},{"icon":"faAdd","aliases":["faAdd"]},{"icon":"faAddressBook","aliases":["faContactBook"]},{"icon":"faAddressCard","aliases":["faContactCard","faVcard"]},{"icon":"faAdjust","aliases":["faAdjust"]},{"icon":"faAirConditioner","aliases":[]},{"icon":"faAirFreshener","aliases":["faAirFreshener"]},{"icon":"faAirplay","aliases":[]},{"icon":"faAlarmClock","aliases":[]},{"icon":"faAlarmExclamation","aliases":[]},{"icon":"faAlarmPlus","aliases":[]},{"icon":"faAlarmSnooze","aliases":[]},{"icon":"faAlbum","aliases":[]},{"icon":"faAlbumCirclePlus","aliases":[]},{"icon":"faAlbumCircleUser","aliases":[]},{"icon":"faAlbumCollection","aliases":[]},{"icon":"faAlbumCollectionCirclePlus","aliases":[]},{"icon":"faAlbumCollectionCircleUser","aliases":[]},{"icon":"faAlicorn","aliases":[]},{"icon":"faAlien","aliases":[]},{"icon":"faAlien8bit","aliases":["faAlienMonster"]},{"icon":"faAlienMonster","aliases":["faAlienMonster"]},{"icon":"faAlignCenter","aliases":[]},{"icon":"faAlignJustify","aliases":[]},{"icon":"faAlignLeft","aliases":[]},{"icon":"faAlignRight","aliases":[]},{"icon":"faAlignSlash","aliases":[]},{"icon":"faAllergies","aliases":["faAllergies"]},{"icon":"faAlt","aliases":[]},{"icon":"faAmbulance","aliases":["faAmbulance"]},{"icon":"faAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAmpGuitar","aliases":[]},{"icon":"faAmpersand","aliases":[]},{"icon":"faAnalytics","aliases":["faAnalytics"]},{"icon":"faAnchor","aliases":[]},{"icon":"faAnchorCircleCheck","aliases":[]},{"icon":"faAnchorCircleExclamation","aliases":[]},{"icon":"faAnchorCircleXmark","aliases":[]},{"icon":"faAnchorLock","aliases":[]},{"icon":"faAngel","aliases":[]},{"icon":"faAngle","aliases":[]},{"icon":"faAngle90","aliases":[]},{"icon":"faAngleDoubleDown","aliases":["faAngleDoubleDown"]},{"icon":"faAngleDoubleLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAngleDoubleRight","aliases":["faAngleDoubleRight"]},{"icon":"faAngleDoubleUp","aliases":["faAngleDoubleUp"]},{"icon":"faAngleDown","aliases":[]},{"icon":"faAngleLeft","aliases":[]},{"icon":"faAngleRight","aliases":[]},{"icon":"faAngleUp","aliases":[]},{"icon":"faAnglesDown","aliases":["faAngleDoubleDown"]},{"icon":"faAnglesLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAnglesRight","aliases":["faAngleDoubleRight"]},{"icon":"faAnglesUp","aliases":["faAngleDoubleUp"]},{"icon":"faAnglesUpDown","aliases":[]},{"icon":"faAngry","aliases":["faAngry"]},{"icon":"faAnkh","aliases":[]},{"icon":"faAnt","aliases":[]},{"icon":"faApartment","aliases":[]},{"icon":"faAperture","aliases":[]},{"icon":"faApostrophe","aliases":[]},{"icon":"faAppleAlt","aliases":["faAppleAlt"]},{"icon":"faAppleCore","aliases":[]},{"icon":"faAppleCrate","aliases":["faAppleCrate"]},{"icon":"faAppleWhole","aliases":["faAppleAlt"]},{"icon":"faArchive","aliases":["faArchive"]},{"icon":"faArchway","aliases":[]},{"icon":"faAreaChart","aliases":["faAreaChart"]},{"icon":"faArrowAltCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faArrowAltCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faArrowAltCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faArrowAltCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faArrowAltDown","aliases":["faArrowAltDown"]},{"icon":"faArrowAltFromBottom","aliases":["faArrowAltFromBottom"]},{"icon":"faArrowAltFromLeft","aliases":["faArrowAltFromLeft"]},{"icon":"faArrowAltFromRight","aliases":["faArrowAltFromRight"]},{"icon":"faArrowAltFromTop","aliases":["faArrowAltFromTop"]},{"icon":"faArrowAltLeft","aliases":["faArrowAltLeft"]},{"icon":"faArrowAltRight","aliases":["faArrowAltRight"]},{"icon":"faArrowAltSquareDown","aliases":["faArrowAltSquareDown"]},{"icon":"faArrowAltSquareLeft","aliases":["faArrowAltSquareLeft"]},{"icon":"faArrowAltSquareRight","aliases":["faArrowAltSquareRight"]},{"icon":"faArrowAltSquareUp","aliases":["faArrowAltSquareUp"]},{"icon":"faArrowAltToBottom","aliases":["faArrowAltToBottom"]},{"icon":"faArrowAltToLeft","aliases":["faArrowAltToLeft"]},{"icon":"faArrowAltToRight","aliases":["faArrowAltToRight"]},{"icon":"faArrowAltToTop","aliases":["faArrowAltToTop"]},{"icon":"faArrowAltUp","aliases":["faArrowAltUp"]},{"icon":"faArrowCircleDown","aliases":["faArrowCircleDown"]},{"icon":"faArrowCircleLeft","aliases":["faArrowCircleLeft"]},{"icon":"faArrowCircleRight","aliases":["faArrowCircleRight"]},{"icon":"faArrowCircleUp","aliases":["faArrowCircleUp"]},{"icon":"faArrowDown","aliases":[]},{"icon":"faArrowDown19","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faArrowDown91","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faArrowDownAZ","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faArrowDownArrowUp","aliases":["faSortAlt"]},{"icon":"faArrowDownBigSmall","aliases":["faSortSizeDown"]},{"icon":"faArrowDownFromArc","aliases":[]},{"icon":"faArrowDownFromBracket","aliases":[]},{"icon":"faArrowDownFromDottedLine","aliases":[]},{"icon":"faArrowDownFromLine","aliases":["faArrowFromTop"]},{"icon":"faArrowDownLeft","aliases":[]},{"icon":"faArrowDownLeftAndArrowUpRightToCenter","aliases":[]},{"icon":"faArrowDownLong","aliases":["faLongArrowDown"]},{"icon":"faArrowDownRight","aliases":[]},{"icon":"faArrowDownShortWide","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faArrowDownSmallBig","aliases":["faSortSizeDownAlt"]},{"icon":"faArrowDownSquareTriangle","aliases":["faSortShapesDownAlt"]},{"icon":"faArrowDownToArc","aliases":[]},{"icon":"faArrowDownToBracket","aliases":[]},{"icon":"faArrowDownToDottedLine","aliases":[]},{"icon":"faArrowDownToLine","aliases":["faArrowToBottom"]},{"icon":"faArrowDownToSquare","aliases":[]},{"icon":"faArrowDownTriangleSquare","aliases":["faSortShapesDown"]},{"icon":"faArrowDownUpAcrossLine","aliases":[]},{"icon":"faArrowDownUpLock","aliases":[]},{"icon":"faArrowDownWideShort","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faArrowDownZA","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faArrowFromBottom","aliases":["faArrowFromBottom"]},{"icon":"faArrowFromLeft","aliases":["faArrowFromLeft"]},{"icon":"faArrowFromRight","aliases":["faArrowFromRight"]},{"icon":"faArrowFromTop","aliases":["faArrowFromTop"]},{"icon":"faArrowLeft","aliases":[]},{"icon":"faArrowLeftFromArc","aliases":[]},{"icon":"faArrowLeftFromBracket","aliases":[]},{"icon":"faArrowLeftFromLine","aliases":["faArrowFromRight"]},{"icon":"faArrowLeftLong","aliases":["faLongArrowLeft"]},{"icon":"faArrowLeftLongToLine","aliases":[]},{"icon":"faArrowLeftRotate","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowLeftToArc","aliases":[]},{"icon":"faArrowLeftToBracket","aliases":[]},{"icon":"faArrowLeftToLine","aliases":["faArrowToLeft"]},{"icon":"faArrowPointer","aliases":["faMousePointer"]},{"icon":"faArrowProgress","aliases":[]},{"icon":"faArrowRight","aliases":[]},{"icon":"faArrowRightArrowLeft","aliases":["faExchange"]},{"icon":"faArrowRightFromArc","aliases":[]},{"icon":"faArrowRightFromBracket","aliases":["faSignOut"]},{"icon":"faArrowRightFromFile","aliases":["faArrowRightFromFile"]},{"icon":"faArrowRightFromLine","aliases":["faArrowFromLeft"]},{"icon":"faArrowRightLong","aliases":["faLongArrowRight"]},{"icon":"faArrowRightLongToLine","aliases":[]},{"icon":"faArrowRightRotate","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRightToArc","aliases":[]},{"icon":"faArrowRightToBracket","aliases":["faSignIn"]},{"icon":"faArrowRightToCity","aliases":[]},{"icon":"faArrowRightToFile","aliases":["faArrowRightToFile"]},{"icon":"faArrowRightToLine","aliases":["faArrowToRight"]},{"icon":"faArrowRotateBack","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateBackward","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateForward","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRotateLeft","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateRight","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowSquareDown","aliases":["faArrowSquareDown"]},{"icon":"faArrowSquareLeft","aliases":["faArrowSquareLeft"]},{"icon":"faArrowSquareRight","aliases":["faArrowSquareRight"]},{"icon":"faArrowSquareUp","aliases":["faArrowSquareUp"]},{"icon":"faArrowToBottom","aliases":["faArrowToBottom"]},{"icon":"faArrowToLeft","aliases":["faArrowToLeft"]},{"icon":"faArrowToRight","aliases":["faArrowToRight"]},{"icon":"faArrowToTop","aliases":["faArrowToTop"]},{"icon":"faArrowTrendDown","aliases":[]},{"icon":"faArrowTrendUp","aliases":[]},{"icon":"faArrowTurnDown","aliases":["faLevelDown"]},{"icon":"faArrowTurnDownLeft","aliases":[]},{"icon":"faArrowTurnDownRight","aliases":[]},{"icon":"faArrowTurnLeft","aliases":[]},{"icon":"faArrowTurnLeftDown","aliases":[]},{"icon":"faArrowTurnLeftUp","aliases":[]},{"icon":"faArrowTurnRight","aliases":[]},{"icon":"faArrowTurnUp","aliases":["faLevelUp"]},{"icon":"faArrowUp","aliases":[]},{"icon":"faArrowUp19","aliases":["faSortNumericUp"]},{"icon":"faArrowUp91","aliases":["faSortNumericUpAlt"]},{"icon":"faArrowUpAZ","aliases":["faSortAlphaUp"]},{"icon":"faArrowUpArrowDown","aliases":["faSortUpDown"]},{"icon":"faArrowUpBigSmall","aliases":["faSortSizeUp"]},{"icon":"faArrowUpFromArc","aliases":[]},{"icon":"faArrowUpFromBracket","aliases":[]},{"icon":"faArrowUpFromDottedLine","aliases":[]},{"icon":"faArrowUpFromGroundWater","aliases":[]},{"icon":"faArrowUpFromLine","aliases":["faArrowFromBottom"]},{"icon":"faArrowUpFromSquare","aliases":[]},{"icon":"faArrowUpFromWaterPump","aliases":[]},{"icon":"faArrowUpLeft","aliases":[]},{"icon":"faArrowUpLeftFromCircle","aliases":[]},{"icon":"faArrowUpLong","aliases":["faLongArrowUp"]},{"icon":"faArrowUpRight","aliases":[]},{"icon":"faArrowUpRightAndArrowDownLeftFromCenter","aliases":[]},{"icon":"faArrowUpRightDots","aliases":[]},{"icon":"faArrowUpRightFromSquare","aliases":["faExternalLink"]},{"icon":"faArrowUpShortWide","aliases":["faSortAmountUpAlt"]},{"icon":"faArrowUpSmallBig","aliases":["faSortSizeUpAlt"]},{"icon":"faArrowUpSquareTriangle","aliases":["faSortShapesUpAlt"]},{"icon":"faArrowUpToArc","aliases":[]},{"icon":"faArrowUpToBracket","aliases":[]},{"icon":"faArrowUpToDottedLine","aliases":[]},{"icon":"faArrowUpToLine","aliases":["faArrowToTop"]},{"icon":"faArrowUpTriangleSquare","aliases":["faSortShapesUp"]},{"icon":"faArrowUpWideShort","aliases":["faSortAmountUp"]},{"icon":"faArrowUpZA","aliases":["faSortAlphaUpAlt"]},{"icon":"faArrows","aliases":["faArrows"]},{"icon":"faArrowsAlt","aliases":["faArrowsAlt"]},{"icon":"faArrowsAltH","aliases":["faArrowsAltH"]},{"icon":"faArrowsAltV","aliases":["faArrowsAltV"]},{"icon":"faArrowsCross","aliases":[]},{"icon":"faArrowsDownToLine","aliases":[]},{"icon":"faArrowsDownToPeople","aliases":[]},{"icon":"faArrowsFromDottedLine","aliases":[]},{"icon":"faArrowsFromLine","aliases":[]},{"icon":"faArrowsH","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRight","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRightToLine","aliases":[]},{"icon":"faArrowsMaximize","aliases":["faExpandArrows"]},{"icon":"faArrowsMinimize","aliases":["faCompressArrows"]},{"icon":"faArrowsRepeat","aliases":["faRepeatAlt"]},{"icon":"faArrowsRepeat1","aliases":["faRepeat1Alt"]},{"icon":"faArrowsRetweet","aliases":["faRetweetAlt"]},{"icon":"faArrowsRotate","aliases":["faRefresh","faSync"]},{"icon":"faArrowsRotateReverse","aliases":[]},{"icon":"faArrowsSpin","aliases":[]},{"icon":"faArrowsSplitUpAndLeft","aliases":[]},{"icon":"faArrowsToCircle","aliases":[]},{"icon":"faArrowsToDot","aliases":[]},{"icon":"faArrowsToDottedLine","aliases":[]},{"icon":"faArrowsToEye","aliases":[]},{"icon":"faArrowsToLine","aliases":[]},{"icon":"faArrowsTurnRight","aliases":[]},{"icon":"faArrowsTurnToDots","aliases":[]},{"icon":"faArrowsUpDown","aliases":["faArrowsV"]},{"icon":"faArrowsUpDownLeftRight","aliases":["faArrows"]},{"icon":"faArrowsUpToLine","aliases":[]},{"icon":"faArrowsV","aliases":["faArrowsV"]},{"icon":"faAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAssistiveListeningSystems","aliases":["faAssistiveListeningSystems"]},{"icon":"faAsterisk","aliases":[]},{"icon":"faAt","aliases":[]},{"icon":"faAtlas","aliases":["faAtlas"]},{"icon":"faAtom","aliases":[]},{"icon":"faAtomAlt","aliases":["faAtomAlt"]},{"icon":"faAtomSimple","aliases":["faAtomAlt"]},{"icon":"faAudioDescription","aliases":[]},{"icon":"faAudioDescriptionSlash","aliases":[]},{"icon":"faAustralSign","aliases":[]},{"icon":"faAutomobile","aliases":["faAutomobile"]},{"icon":"faAvocado","aliases":[]},{"icon":"faAward","aliases":[]},{"icon":"faAwardSimple","aliases":[]},{"icon":"faAxe","aliases":[]},{"icon":"faAxeBattle","aliases":[]},{"icon":"faB","aliases":[]},{"icon":"faBaby","aliases":[]},{"icon":"faBabyCarriage","aliases":["faCarriageBaby"]},{"icon":"faBackpack","aliases":[]},{"icon":"faBackspace","aliases":["faBackspace"]},{"icon":"faBackward","aliases":[]},{"icon":"faBackwardFast","aliases":["faFastBackward"]},{"icon":"faBackwardStep","aliases":["faStepBackward"]},{"icon":"faBacon","aliases":[]},{"icon":"faBacteria","aliases":[]},{"icon":"faBacterium","aliases":[]},{"icon":"faBadge","aliases":[]},{"icon":"faBadgeCheck","aliases":[]},{"icon":"faBadgeDollar","aliases":[]},{"icon":"faBadgePercent","aliases":[]},{"icon":"faBadgeSheriff","aliases":[]},{"icon":"faBadgerHoney","aliases":[]},{"icon":"faBadminton","aliases":[]},{"icon":"faBagSeedling","aliases":[]},{"icon":"faBagShopping","aliases":["faShoppingBag"]},{"icon":"faBagShoppingMinus","aliases":[]},{"icon":"faBagShoppingPlus","aliases":[]},{"icon":"faBagel","aliases":[]},{"icon":"faBagsShopping","aliases":[]},{"icon":"faBaguette","aliases":[]},{"icon":"faBahai","aliases":["faHaykal"]},{"icon":"faBahtSign","aliases":[]},{"icon":"faBalanceScale","aliases":["faBalanceScale"]},{"icon":"faBalanceScaleLeft","aliases":["faBalanceScaleLeft"]},{"icon":"faBalanceScaleRight","aliases":["faBalanceScaleRight"]},{"icon":"faBallPile","aliases":[]},{"icon":"faBalloon","aliases":[]},{"icon":"faBalloons","aliases":[]},{"icon":"faBallot","aliases":[]},{"icon":"faBallotCheck","aliases":[]},{"icon":"faBan","aliases":["faCancel"]},{"icon":"faBanBug","aliases":["faDebug"]},{"icon":"faBanParking","aliases":["faParkingCircleSlash"]},{"icon":"faBanSmoking","aliases":["faSmokingBan"]},{"icon":"faBanana","aliases":[]},{"icon":"faBandAid","aliases":["faBandAid"]},{"icon":"faBandage","aliases":["faBandAid"]},{"icon":"faBangladeshiTakaSign","aliases":[]},{"icon":"faBanjo","aliases":[]},{"icon":"faBank","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBarChart","aliases":["faBarChart"]},{"icon":"faBarcode","aliases":[]},{"icon":"faBarcodeAlt","aliases":["faBarcodeAlt"]},{"icon":"faBarcodeRead","aliases":[]},{"icon":"faBarcodeScan","aliases":[]},{"icon":"faBarnSilo","aliases":["faBarnSilo"]},{"icon":"faBars","aliases":["faNavicon"]},{"icon":"faBarsFilter","aliases":[]},{"icon":"faBarsProgress","aliases":["faTasksAlt"]},{"icon":"faBarsSort","aliases":[]},{"icon":"faBarsStaggered","aliases":["faReorder","faStream"]},{"icon":"faBaseball","aliases":["faBaseballBall"]},{"icon":"faBaseballBall","aliases":["faBaseballBall"]},{"icon":"faBaseballBatBall","aliases":[]},{"icon":"faBasketShopping","aliases":["faShoppingBasket"]},{"icon":"faBasketShoppingMinus","aliases":[]},{"icon":"faBasketShoppingPlus","aliases":[]},{"icon":"faBasketShoppingSimple","aliases":["faShoppingBasketAlt"]},{"icon":"faBasketball","aliases":["faBasketballBall"]},{"icon":"faBasketballBall","aliases":["faBasketballBall"]},{"icon":"faBasketballHoop","aliases":[]},{"icon":"faBat","aliases":[]},{"icon":"faBath","aliases":["faBathtub"]},{"icon":"faBathtub","aliases":["faBathtub"]},{"icon":"faBattery","aliases":["faBattery","faBattery5"]},{"icon":"faBattery0","aliases":["faBattery0"]},{"icon":"faBattery1","aliases":["faBattery1"]},{"icon":"faBattery2","aliases":["faBattery2"]},{"icon":"faBattery3","aliases":["faBattery3"]},{"icon":"faBattery4","aliases":["faBattery4"]},{"icon":"faBattery5","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryBolt","aliases":[]},{"icon":"faBatteryCar","aliases":["faBatteryCar"]},{"icon":"faBatteryEmpty","aliases":["faBattery0"]},{"icon":"faBatteryExclamation","aliases":[]},{"icon":"faBatteryFull","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryHalf","aliases":["faBattery3"]},{"icon":"faBatteryLow","aliases":["faBattery1"]},{"icon":"faBatteryQuarter","aliases":["faBattery2"]},{"icon":"faBatterySlash","aliases":[]},{"icon":"faBatteryThreeQuarters","aliases":["faBattery4"]},{"icon":"faBed","aliases":[]},{"icon":"faBedAlt","aliases":["faBedAlt"]},{"icon":"faBedBunk","aliases":[]},{"icon":"faBedEmpty","aliases":[]},{"icon":"faBedFront","aliases":["faBedAlt"]},{"icon":"faBedPulse","aliases":["faProcedures"]},{"icon":"faBee","aliases":[]},{"icon":"faBeer","aliases":["faBeer"]},{"icon":"faBeerFoam","aliases":["faBeerFoam"]},{"icon":"faBeerMug","aliases":["faBeerFoam"]},{"icon":"faBeerMugEmpty","aliases":["faBeer"]},{"icon":"faBell","aliases":[]},{"icon":"faBellConcierge","aliases":["faConciergeBell"]},{"icon":"faBellExclamation","aliases":[]},{"icon":"faBellOn","aliases":[]},{"icon":"faBellPlus","aliases":[]},{"icon":"faBellRing","aliases":[]},{"icon":"faBellSchool","aliases":[]},{"icon":"faBellSchoolSlash","aliases":[]},{"icon":"faBellSlash","aliases":[]},{"icon":"faBells","aliases":[]},{"icon":"faBenchTree","aliases":[]},{"icon":"faBetamax","aliases":["faBetamax"]},{"icon":"faBezierCurve","aliases":[]},{"icon":"faBible","aliases":["faBible"]},{"icon":"faBicycle","aliases":[]},{"icon":"faBiking","aliases":["faBiking"]},{"icon":"faBikingMountain","aliases":["faBikingMountain"]},{"icon":"faBillboard","aliases":[]},{"icon":"faBinBottles","aliases":[]},{"icon":"faBinBottlesRecycle","aliases":[]},{"icon":"faBinRecycle","aliases":[]},{"icon":"faBinary","aliases":[]},{"icon":"faBinaryCircleCheck","aliases":[]},{"icon":"faBinaryLock","aliases":[]},{"icon":"faBinarySlash","aliases":[]},{"icon":"faBinoculars","aliases":[]},{"icon":"faBiohazard","aliases":[]},{"icon":"faBird","aliases":[]},{"icon":"faBirthdayCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faBitcoinSign","aliases":[]},{"icon":"faBlackboard","aliases":["faBlackboard"]},{"icon":"faBlanket","aliases":[]},{"icon":"faBlanketFire","aliases":[]},{"icon":"faBlender","aliases":[]},{"icon":"faBlenderPhone","aliases":[]},{"icon":"faBlind","aliases":["faBlind"]},{"icon":"faBlinds","aliases":[]},{"icon":"faBlindsOpen","aliases":[]},{"icon":"faBlindsRaised","aliases":[]},{"icon":"faBlock","aliases":[]},{"icon":"faBlockBrick","aliases":["faWallBrick"]},{"icon":"faBlockBrickFire","aliases":["faFirewall"]},{"icon":"faBlockQuestion","aliases":[]},{"icon":"faBlockQuote","aliases":[]},{"icon":"faBlog","aliases":[]},{"icon":"faBlueberries","aliases":[]},{"icon":"faBluetooth","aliases":[]},{"icon":"faBold","aliases":[]},{"icon":"faBolt","aliases":["faZap"]},{"icon":"faBoltAuto","aliases":[]},{"icon":"faBoltLightning","aliases":[]},{"icon":"faBoltSlash","aliases":[]},{"icon":"faBomb","aliases":[]},{"icon":"faBone","aliases":[]},{"icon":"faBoneBreak","aliases":[]},{"icon":"faBong","aliases":[]},{"icon":"faBook","aliases":[]},{"icon":"faBookAlt","aliases":["faBookAlt"]},{"icon":"faBookArrowRight","aliases":[]},{"icon":"faBookArrowUp","aliases":[]},{"icon":"faBookAtlas","aliases":["faAtlas"]},{"icon":"faBookBible","aliases":["faBible"]},{"icon":"faBookBlank","aliases":["faBookAlt"]},{"icon":"faBookBookmark","aliases":[]},{"icon":"faBookCircle","aliases":["faBookCircle"]},{"icon":"faBookCircleArrowRight","aliases":[]},{"icon":"faBookCircleArrowUp","aliases":[]},{"icon":"faBookCopy","aliases":[]},{"icon":"faBookDead","aliases":["faBookDead"]},{"icon":"faBookFont","aliases":[]},{"icon":"faBookHeart","aliases":[]},{"icon":"faBookJournalWhills","aliases":["faJournalWhills"]},{"icon":"faBookLaw","aliases":["faBookLaw"]},{"icon":"faBookMedical","aliases":[]},{"icon":"faBookOpen","aliases":[]},{"icon":"faBookOpenAlt","aliases":["faBookOpenAlt"]},{"icon":"faBookOpenCover","aliases":["faBookOpenAlt"]},{"icon":"faBookOpenReader","aliases":["faBookReader"]},{"icon":"faBookQuran","aliases":["faQuran"]},{"icon":"faBookReader","aliases":["faBookReader"]},{"icon":"faBookSection","aliases":["faBookLaw"]},{"icon":"faBookSkull","aliases":["faBookDead"]},{"icon":"faBookSparkles","aliases":["faBookSpells"]},{"icon":"faBookSpells","aliases":["faBookSpells"]},{"icon":"faBookTanakh","aliases":["faTanakh"]},{"icon":"faBookUser","aliases":[]},{"icon":"faBookmark","aliases":[]},{"icon":"faBookmarkCircle","aliases":["faBookmarkCircle"]},{"icon":"faBookmarkSlash","aliases":[]},{"icon":"faBooks","aliases":[]},{"icon":"faBooksMedical","aliases":[]},{"icon":"faBoombox","aliases":[]},{"icon":"faBoot","aliases":[]},{"icon":"faBootHeeled","aliases":[]},{"icon":"faBoothCurtain","aliases":[]},{"icon":"faBorderAll","aliases":[]},{"icon":"faBorderBottom","aliases":[]},{"icon":"faBorderBottomRight","aliases":["faBorderStyleAlt"]},{"icon":"faBorderCenterH","aliases":[]},{"icon":"faBorderCenterV","aliases":[]},{"icon":"faBorderInner","aliases":[]},{"icon":"faBorderLeft","aliases":[]},{"icon":"faBorderNone","aliases":[]},{"icon":"faBorderOuter","aliases":[]},{"icon":"faBorderRight","aliases":[]},{"icon":"faBorderStyle","aliases":["faBorderStyle"]},{"icon":"faBorderStyleAlt","aliases":["faBorderStyleAlt"]},{"icon":"faBorderTop","aliases":[]},{"icon":"faBorderTopLeft","aliases":["faBorderStyle"]},{"icon":"faBoreHole","aliases":[]},{"icon":"faBottleBaby","aliases":[]},{"icon":"faBottleDroplet","aliases":[]},{"icon":"faBottleWater","aliases":[]},{"icon":"faBowArrow","aliases":[]},{"icon":"faBowlChopsticks","aliases":[]},{"icon":"faBowlChopsticksNoodles","aliases":[]},{"icon":"faBowlFood","aliases":[]},{"icon":"faBowlHot","aliases":["faSoup"]},{"icon":"faBowlRice","aliases":[]},{"icon":"faBowlSalad","aliases":["faBowlSalad"]},{"icon":"faBowlScoop","aliases":["faBowlShavedIce"]},{"icon":"faBowlScoops","aliases":[]},{"icon":"faBowlShavedIce","aliases":["faBowlShavedIce"]},{"icon":"faBowlSoftServe","aliases":[]},{"icon":"faBowlSpoon","aliases":[]},{"icon":"faBowlingBall","aliases":[]},{"icon":"faBowlingBallPin","aliases":[]},{"icon":"faBowlingPins","aliases":[]},{"icon":"faBox","aliases":[]},{"icon":"faBoxAlt","aliases":["faBoxAlt"]},{"icon":"faBoxArchive","aliases":["faArchive"]},{"icon":"faBoxBallot","aliases":[]},{"icon":"faBoxCheck","aliases":[]},{"icon":"faBoxCircleCheck","aliases":[]},{"icon":"faBoxDollar","aliases":["faBoxUsd"]},{"icon":"faBoxFragile","aliases":["faBoxFragile","faSquareWineGlassCrack"]},{"icon":"faBoxFull","aliases":["faBoxFull"]},{"icon":"faBoxHeart","aliases":[]},{"icon":"faBoxOpen","aliases":[]},{"icon":"faBoxOpenFull","aliases":["faBoxFull"]},{"icon":"faBoxTaped","aliases":["faBoxAlt"]},{"icon":"faBoxTissue","aliases":[]},{"icon":"faBoxUp","aliases":["faBoxUp"]},{"icon":"faBoxUsd","aliases":["faBoxUsd"]},{"icon":"faBoxes","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesAlt","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesPacking","aliases":[]},{"icon":"faBoxesStacked","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxingGlove","aliases":["faGloveBoxing"]},{"icon":"faBracket","aliases":["faBracket","faBracketLeft"]},{"icon":"faBracketCurly","aliases":["faBracketCurlyLeft"]},{"icon":"faBracketCurlyLeft","aliases":["faBracketCurlyLeft"]},{"icon":"faBracketCurlyRight","aliases":[]},{"icon":"faBracketLeft","aliases":["faBracket","faBracketLeft"]},{"icon":"faBracketRound","aliases":["faParenthesis"]},{"icon":"faBracketRoundRight","aliases":[]},{"icon":"faBracketSquare","aliases":["faBracket","faBracketLeft"]},{"icon":"faBracketSquareRight","aliases":[]},{"icon":"faBrackets","aliases":["faBrackets"]},{"icon":"faBracketsCurly","aliases":[]},{"icon":"faBracketsRound","aliases":["faParentheses"]},{"icon":"faBracketsSquare","aliases":["faBrackets"]},{"icon":"faBraille","aliases":[]},{"icon":"faBrain","aliases":[]},{"icon":"faBrainArrowCurvedRight","aliases":["faMindShare"]},{"icon":"faBrainCircuit","aliases":[]},{"icon":"faBrakeWarning","aliases":[]},{"icon":"faBrazilianRealSign","aliases":[]},{"icon":"faBreadLoaf","aliases":[]},{"icon":"faBreadSlice","aliases":[]},{"icon":"faBreadSliceButter","aliases":[]},{"icon":"faBridge","aliases":[]},{"icon":"faBridgeCircleCheck","aliases":[]},{"icon":"faBridgeCircleExclamation","aliases":[]},{"icon":"faBridgeCircleXmark","aliases":[]},{"icon":"faBridgeLock","aliases":[]},{"icon":"faBridgeSuspension","aliases":[]},{"icon":"faBridgeWater","aliases":[]},{"icon":"faBriefcase","aliases":[]},{"icon":"faBriefcaseArrowRight","aliases":[]},{"icon":"faBriefcaseBlank","aliases":[]},{"icon":"faBriefcaseClock","aliases":["faBriefcaseClock"]},{"icon":"faBriefcaseMedical","aliases":[]},{"icon":"faBrightness","aliases":[]},{"icon":"faBrightnessLow","aliases":[]},{"icon":"faBringForward","aliases":[]},{"icon":"faBringFront","aliases":[]},{"icon":"faBroadcastTower","aliases":["faBroadcastTower"]},{"icon":"faBroccoli","aliases":[]},{"icon":"faBroom","aliases":[]},{"icon":"faBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faBroomWide","aliases":[]},{"icon":"faBrowser","aliases":[]},{"icon":"faBrowsers","aliases":[]},{"icon":"faBrush","aliases":[]},{"icon":"faBucket","aliases":[]},{"icon":"faBug","aliases":[]},{"icon":"faBugSlash","aliases":[]},{"icon":"faBugs","aliases":[]},{"icon":"faBuilding","aliases":[]},{"icon":"faBuildingCircleArrowRight","aliases":[]},{"icon":"faBuildingCircleCheck","aliases":[]},{"icon":"faBuildingCircleExclamation","aliases":[]},{"icon":"faBuildingCircleXmark","aliases":[]},{"icon":"faBuildingColumns","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBuildingFlag","aliases":[]},{"icon":"faBuildingLock","aliases":[]},{"icon":"faBuildingMagnifyingGlass","aliases":[]},{"icon":"faBuildingMemo","aliases":[]},{"icon":"faBuildingNgo","aliases":[]},{"icon":"faBuildingShield","aliases":[]},{"icon":"faBuildingUn","aliases":[]},{"icon":"faBuildingUser","aliases":[]},{"icon":"faBuildingWheat","aliases":[]},{"icon":"faBuildings","aliases":[]},{"icon":"faBulldozer","aliases":[]},{"icon":"faBullhorn","aliases":[]},{"icon":"faBullseye","aliases":[]},{"icon":"faBullseyeArrow","aliases":[]},{"icon":"faBullseyePointer","aliases":[]},{"icon":"faBuoy","aliases":[]},{"icon":"faBuoyMooring","aliases":[]},{"icon":"faBurger","aliases":["faHamburger"]},{"icon":"faBurgerCheese","aliases":["faCheeseburger"]},{"icon":"faBurgerFries","aliases":[]},{"icon":"faBurgerGlass","aliases":[]},{"icon":"faBurgerLettuce","aliases":[]},{"icon":"faBurgerSoda","aliases":[]},{"icon":"faBurn","aliases":["faBurn"]},{"icon":"faBurrito","aliases":[]},{"icon":"faBurst","aliases":[]},{"icon":"faBus","aliases":[]},{"icon":"faBusAlt","aliases":["faBusAlt"]},{"icon":"faBusSchool","aliases":[]},{"icon":"faBusSimple","aliases":["faBusAlt"]},{"icon":"faBusinessFront","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faBusinessTime","aliases":["faBriefcaseClock"]},{"icon":"faButter","aliases":[]},{"icon":"faC","aliases":[]},{"icon":"faCab","aliases":["faCab"]},{"icon":"faCabin","aliases":[]},{"icon":"faCabinetFiling","aliases":[]},{"icon":"faCableCar","aliases":["faTram"]},{"icon":"faCactus","aliases":[]},{"icon":"faCaduceus","aliases":[]},{"icon":"faCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faCakeCandles","aliases":["faBirthdayCake","faCake"]},{"icon":"faCakeSlice","aliases":["faShortcake"]},{"icon":"faCalculator","aliases":[]},{"icon":"faCalculatorAlt","aliases":["faCalculatorAlt"]},{"icon":"faCalculatorSimple","aliases":["faCalculatorAlt"]},{"icon":"faCalendar","aliases":[]},{"icon":"faCalendarAlt","aliases":["faCalendarAlt"]},{"icon":"faCalendarArrowDown","aliases":["faCalendarDownload"]},{"icon":"faCalendarArrowUp","aliases":["faCalendarUpload"]},{"icon":"faCalendarCheck","aliases":[]},{"icon":"faCalendarCircle","aliases":["faCalendarCircle"]},{"icon":"faCalendarCircleExclamation","aliases":[]},{"icon":"faCalendarCircleMinus","aliases":[]},{"icon":"faCalendarCirclePlus","aliases":[]},{"icon":"faCalendarCircleUser","aliases":[]},{"icon":"faCalendarClock","aliases":["faCalendarTime"]},{"icon":"faCalendarDay","aliases":[]},{"icon":"faCalendarDays","aliases":["faCalendarAlt"]},{"icon":"faCalendarDownload","aliases":["faCalendarDownload"]},{"icon":"faCalendarEdit","aliases":["faCalendarEdit"]},{"icon":"faCalendarExclamation","aliases":[]},{"icon":"faCalendarHeart","aliases":[]},{"icon":"faCalendarImage","aliases":[]},{"icon":"faCalendarLines","aliases":["faCalendarNote"]},{"icon":"faCalendarLinesPen","aliases":[]},{"icon":"faCalendarMinus","aliases":[]},{"icon":"faCalendarNote","aliases":["faCalendarNote"]},{"icon":"faCalendarPen","aliases":["faCalendarEdit"]},{"icon":"faCalendarPlus","aliases":[]},{"icon":"faCalendarRange","aliases":[]},{"icon":"faCalendarStar","aliases":[]},{"icon":"faCalendarTime","aliases":["faCalendarTime"]},{"icon":"faCalendarTimes","aliases":["faCalendarTimes"]},{"icon":"faCalendarUpload","aliases":["faCalendarUpload"]},{"icon":"faCalendarUsers","aliases":[]},{"icon":"faCalendarWeek","aliases":[]},{"icon":"faCalendarXmark","aliases":["faCalendarTimes"]},{"icon":"faCalendars","aliases":[]},{"icon":"faCamcorder","aliases":["faVideoHandheld"]},{"icon":"faCamera","aliases":["faCameraAlt"]},{"icon":"faCameraAlt","aliases":["faCameraAlt"]},{"icon":"faCameraCctv","aliases":["faCctv"]},{"icon":"faCameraCircle","aliases":["faCameraCircle"]},{"icon":"faCameraHome","aliases":["faCameraHome"]},{"icon":"faCameraMovie","aliases":[]},{"icon":"faCameraPolaroid","aliases":[]},{"icon":"faCameraRetro","aliases":[]},{"icon":"faCameraRotate","aliases":[]},{"icon":"faCameraSecurity","aliases":["faCameraHome"]},{"icon":"faCameraSlash","aliases":[]},{"icon":"faCameraViewfinder","aliases":["faScreenshot"]},{"icon":"faCameraWeb","aliases":["faWebcam"]},{"icon":"faCameraWebSlash","aliases":["faWebcamSlash"]},{"icon":"faCampfire","aliases":[]},{"icon":"faCampground","aliases":[]},{"icon":"faCanFood","aliases":[]},{"icon":"faCancel","aliases":["faCancel"]},{"icon":"faCandleHolder","aliases":[]},{"icon":"faCandy","aliases":[]},{"icon":"faCandyBar","aliases":["faChocolateBar"]},{"icon":"faCandyCane","aliases":[]},{"icon":"faCandyCorn","aliases":[]},{"icon":"faCannabis","aliases":[]},{"icon":"faCannon","aliases":[]},{"icon":"faCapsules","aliases":[]},{"icon":"faCar","aliases":["faAutomobile"]},{"icon":"faCarAlt","aliases":["faCarAlt"]},{"icon":"faCarBattery","aliases":["faBatteryCar"]},{"icon":"faCarBolt","aliases":[]},{"icon":"faCarBuilding","aliases":[]},{"icon":"faCarBump","aliases":[]},{"icon":"faCarBurst","aliases":["faCarCrash"]},{"icon":"faCarBus","aliases":[]},{"icon":"faCarCircleBolt","aliases":[]},{"icon":"faCarCrash","aliases":["faCarCrash"]},{"icon":"faCarGarage","aliases":[]},{"icon":"faCarMechanic","aliases":["faCarMechanic"]},{"icon":"faCarMirrors","aliases":[]},{"icon":"faCarOn","aliases":[]},{"icon":"faCarRear","aliases":["faCarAlt"]},{"icon":"faCarSide","aliases":[]},{"icon":"faCarSideBolt","aliases":[]},{"icon":"faCarTilt","aliases":[]},{"icon":"faCarTunnel","aliases":[]},{"icon":"faCarWash","aliases":[]},{"icon":"faCarWrench","aliases":["faCarMechanic"]},{"icon":"faCaravan","aliases":[]},{"icon":"faCaravanAlt","aliases":["faCaravanAlt"]},{"icon":"faCaravanSimple","aliases":["faCaravanAlt"]},{"icon":"faCardClub","aliases":[]},{"icon":"faCardDiamond","aliases":[]},{"icon":"faCardHeart","aliases":[]},{"icon":"faCardSpade","aliases":[]},{"icon":"faCards","aliases":[]},{"icon":"faCardsBlank","aliases":[]},{"icon":"faCaretCircleDown","aliases":["faCaretCircleDown"]},{"icon":"faCaretCircleLeft","aliases":["faCaretCircleLeft"]},{"icon":"faCaretCircleRight","aliases":["faCaretCircleRight"]},{"icon":"faCaretCircleUp","aliases":["faCaretCircleUp"]},{"icon":"faCaretDown","aliases":[]},{"icon":"faCaretLeft","aliases":[]},{"icon":"faCaretRight","aliases":[]},{"icon":"faCaretSquareDown","aliases":["faCaretSquareDown"]},{"icon":"faCaretSquareLeft","aliases":["faCaretSquareLeft"]},{"icon":"faCaretSquareRight","aliases":["faCaretSquareRight"]},{"icon":"faCaretSquareUp","aliases":["faCaretSquareUp"]},{"icon":"faCaretUp","aliases":[]},{"icon":"faCarriageBaby","aliases":["faCarriageBaby"]},{"icon":"faCarrot","aliases":[]},{"icon":"faCars","aliases":[]},{"icon":"faCartArrowDown","aliases":[]},{"icon":"faCartArrowUp","aliases":[]},{"icon":"faCartCircleArrowDown","aliases":[]},{"icon":"faCartCircleArrowUp","aliases":[]},{"icon":"faCartCircleCheck","aliases":[]},{"icon":"faCartCircleExclamation","aliases":[]},{"icon":"faCartCirclePlus","aliases":[]},{"icon":"faCartCircleXmark","aliases":[]},{"icon":"faCartFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faCartFlatbedBoxes","aliases":["faDollyFlatbedAlt"]},{"icon":"faCartFlatbedEmpty","aliases":["faDollyFlatbedEmpty"]},{"icon":"faCartFlatbedSuitcase","aliases":["faLuggageCart"]},{"icon":"faCartMinus","aliases":[]},{"icon":"faCartPlus","aliases":[]},{"icon":"faCartShopping","aliases":["faShoppingCart"]},{"icon":"faCartShoppingFast","aliases":[]},{"icon":"faCartXmark","aliases":[]},{"icon":"faCashRegister","aliases":[]},{"icon":"faCassetteBetamax","aliases":["faBetamax"]},{"icon":"faCassetteTape","aliases":[]},{"icon":"faCassetteVhs","aliases":["faVhs"]},{"icon":"faCastle","aliases":[]},{"icon":"faCat","aliases":[]},{"icon":"faCatSpace","aliases":[]},{"icon":"faCauldron","aliases":[]},{"icon":"faCctv","aliases":["faCctv"]},{"icon":"faCediSign","aliases":[]},{"icon":"faCentSign","aliases":[]},{"icon":"faCertificate","aliases":[]},{"icon":"faChain","aliases":["faChain"]},{"icon":"faChainBroken","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChainHorizontal","aliases":["faChainHorizontal"]},{"icon":"faChainHorizontalSlash","aliases":["faChainHorizontalSlash"]},{"icon":"faChainSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChair","aliases":[]},{"icon":"faChairOffice","aliases":[]},{"icon":"faChalkboard","aliases":["faBlackboard"]},{"icon":"faChalkboardTeacher","aliases":["faChalkboardTeacher"]},{"icon":"faChalkboardUser","aliases":["faChalkboardTeacher"]},{"icon":"faChampagneGlass","aliases":["faGlassChampagne"]},{"icon":"faChampagneGlasses","aliases":["faGlassCheers"]},{"icon":"faChargingStation","aliases":[]},{"icon":"faChartArea","aliases":["faAreaChart"]},{"icon":"faChartBar","aliases":["faBarChart"]},{"icon":"faChartBullet","aliases":[]},{"icon":"faChartCandlestick","aliases":[]},{"icon":"faChartColumn","aliases":[]},{"icon":"faChartGantt","aliases":[]},{"icon":"faChartKanban","aliases":[]},{"icon":"faChartLine","aliases":["faLineChart"]},{"icon":"faChartLineDown","aliases":[]},{"icon":"faChartLineUp","aliases":[]},{"icon":"faChartLineUpDown","aliases":[]},{"icon":"faChartMixed","aliases":["faAnalytics"]},{"icon":"faChartMixedUpCircleCurrency","aliases":[]},{"icon":"faChartMixedUpCircleDollar","aliases":[]},{"icon":"faChartNetwork","aliases":[]},{"icon":"faChartPie","aliases":["faPieChart"]},{"icon":"faChartPieAlt","aliases":["faChartPieAlt"]},{"icon":"faChartPieSimple","aliases":["faChartPieAlt"]},{"icon":"faChartPieSimpleCircleCurrency","aliases":[]},{"icon":"faChartPieSimpleCircleDollar","aliases":[]},{"icon":"faChartPyramid","aliases":[]},{"icon":"faChartRadar","aliases":[]},{"icon":"faChartScatter","aliases":[]},{"icon":"faChartScatter3d","aliases":[]},{"icon":"faChartScatterBubble","aliases":[]},{"icon":"faChartSimple","aliases":[]},{"icon":"faChartSimpleHorizontal","aliases":[]},{"icon":"faChartTreeMap","aliases":[]},{"icon":"faChartUser","aliases":["faUserChart"]},{"icon":"faChartWaterfall","aliases":[]},{"icon":"faCheck","aliases":[]},{"icon":"faCheckCircle","aliases":["faCheckCircle"]},{"icon":"faCheckDouble","aliases":[]},{"icon":"faCheckSquare","aliases":["faCheckSquare"]},{"icon":"faCheckToSlot","aliases":["faVoteYea"]},{"icon":"faCheese","aliases":[]},{"icon":"faCheeseSwiss","aliases":[]},{"icon":"faCheeseburger","aliases":["faCheeseburger"]},{"icon":"faCherries","aliases":[]},{"icon":"faChess","aliases":[]},{"icon":"faChessBishop","aliases":[]},{"icon":"faChessBishopAlt","aliases":["faChessBishopAlt"]},{"icon":"faChessBishopPiece","aliases":["faChessBishopAlt"]},{"icon":"faChessBoard","aliases":[]},{"icon":"faChessClock","aliases":[]},{"icon":"faChessClockAlt","aliases":["faChessClockAlt"]},{"icon":"faChessClockFlip","aliases":["faChessClockAlt"]},{"icon":"faChessKing","aliases":[]},{"icon":"faChessKingAlt","aliases":["faChessKingAlt"]},{"icon":"faChessKingPiece","aliases":["faChessKingAlt"]},{"icon":"faChessKnight","aliases":[]},{"icon":"faChessKnightAlt","aliases":["faChessKnightAlt"]},{"icon":"faChessKnightPiece","aliases":["faChessKnightAlt"]},{"icon":"faChessPawn","aliases":[]},{"icon":"faChessPawnAlt","aliases":["faChessPawnAlt"]},{"icon":"faChessPawnPiece","aliases":["faChessPawnAlt"]},{"icon":"faChessQueen","aliases":[]},{"icon":"faChessQueenAlt","aliases":["faChessQueenAlt"]},{"icon":"faChessQueenPiece","aliases":["faChessQueenAlt"]},{"icon":"faChessRook","aliases":[]},{"icon":"faChessRookAlt","aliases":["faChessRookAlt"]},{"icon":"faChessRookPiece","aliases":["faChessRookAlt"]},{"icon":"faChestnut","aliases":[]},{"icon":"faChevronCircleDown","aliases":["faChevronCircleDown"]},{"icon":"faChevronCircleLeft","aliases":["faChevronCircleLeft"]},{"icon":"faChevronCircleRight","aliases":["faChevronCircleRight"]},{"icon":"faChevronCircleUp","aliases":["faChevronCircleUp"]},{"icon":"faChevronDoubleDown","aliases":["faChevronDoubleDown"]},{"icon":"faChevronDoubleLeft","aliases":["faChevronDoubleLeft"]},{"icon":"faChevronDoubleRight","aliases":["faChevronDoubleRight"]},{"icon":"faChevronDoubleUp","aliases":["faChevronDoubleUp"]},{"icon":"faChevronDown","aliases":[]},{"icon":"faChevronLeft","aliases":[]},{"icon":"faChevronRight","aliases":[]},{"icon":"faChevronSquareDown","aliases":["faChevronSquareDown"]},{"icon":"faChevronSquareLeft","aliases":["faChevronSquareLeft"]},{"icon":"faChevronSquareRight","aliases":["faChevronSquareRight"]},{"icon":"faChevronSquareUp","aliases":["faChevronSquareUp"]},{"icon":"faChevronUp","aliases":[]},{"icon":"faChevronsDown","aliases":["faChevronDoubleDown"]},{"icon":"faChevronsLeft","aliases":["faChevronDoubleLeft"]},{"icon":"faChevronsRight","aliases":["faChevronDoubleRight"]},{"icon":"faChevronsUp","aliases":["faChevronDoubleUp"]},{"icon":"faChfSign","aliases":[]},{"icon":"faChild","aliases":[]},{"icon":"faChildCombatant","aliases":["faChildRifle"]},{"icon":"faChildDress","aliases":[]},{"icon":"faChildReaching","aliases":[]},{"icon":"faChildRifle","aliases":["faChildRifle"]},{"icon":"faChildren","aliases":[]},{"icon":"faChimney","aliases":[]},{"icon":"faChocolateBar","aliases":["faChocolateBar"]},{"icon":"faChopsticks","aliases":[]},{"icon":"faChurch","aliases":[]},{"icon":"faCircle","aliases":[]},{"icon":"faCircle0","aliases":[]},{"icon":"faCircle1","aliases":[]},{"icon":"faCircle2","aliases":[]},{"icon":"faCircle3","aliases":[]},{"icon":"faCircle4","aliases":[]},{"icon":"faCircle5","aliases":[]},{"icon":"faCircle6","aliases":[]},{"icon":"faCircle7","aliases":[]},{"icon":"faCircle8","aliases":[]},{"icon":"faCircle9","aliases":[]},{"icon":"faCircleA","aliases":[]},{"icon":"faCircleAmpersand","aliases":[]},{"icon":"faCircleArrowDown","aliases":["faArrowCircleDown"]},{"icon":"faCircleArrowDownLeft","aliases":[]},{"icon":"faCircleArrowDownRight","aliases":[]},{"icon":"faCircleArrowLeft","aliases":["faArrowCircleLeft"]},{"icon":"faCircleArrowRight","aliases":["faArrowCircleRight"]},{"icon":"faCircleArrowUp","aliases":["faArrowCircleUp"]},{"icon":"faCircleArrowUpLeft","aliases":[]},{"icon":"faCircleArrowUpRight","aliases":[]},{"icon":"faCircleB","aliases":[]},{"icon":"faCircleBolt","aliases":[]},{"icon":"faCircleBookOpen","aliases":["faBookCircle"]},{"icon":"faCircleBookmark","aliases":["faBookmarkCircle"]},{"icon":"faCircleC","aliases":[]},{"icon":"faCircleCalendar","aliases":["faCalendarCircle"]},{"icon":"faCircleCamera","aliases":["faCameraCircle"]},{"icon":"faCircleCaretDown","aliases":["faCaretCircleDown"]},{"icon":"faCircleCaretLeft","aliases":["faCaretCircleLeft"]},{"icon":"faCircleCaretRight","aliases":["faCaretCircleRight"]},{"icon":"faCircleCaretUp","aliases":["faCaretCircleUp"]},{"icon":"faCircleCheck","aliases":["faCheckCircle"]},{"icon":"faCircleChevronDown","aliases":["faChevronCircleDown"]},{"icon":"faCircleChevronLeft","aliases":["faChevronCircleLeft"]},{"icon":"faCircleChevronRight","aliases":["faChevronCircleRight"]},{"icon":"faCircleChevronUp","aliases":["faChevronCircleUp"]},{"icon":"faCircleD","aliases":[]},{"icon":"faCircleDashed","aliases":[]},{"icon":"faCircleDivide","aliases":[]},{"icon":"faCircleDollar","aliases":["faDollarCircle","faUsdCircle"]},{"icon":"faCircleDollarToSlot","aliases":["faDonate"]},{"icon":"faCircleDot","aliases":["faDotCircle"]},{"icon":"faCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faCircleDownLeft","aliases":[]},{"icon":"faCircleDownRight","aliases":[]},{"icon":"faCircleE","aliases":[]},{"icon":"faCircleEllipsis","aliases":[]},{"icon":"faCircleEllipsisVertical","aliases":[]},{"icon":"faCircleEnvelope","aliases":["faEnvelopeCircle"]},{"icon":"faCircleEuro","aliases":[]},{"icon":"faCircleExclamation","aliases":["faExclamationCircle"]},{"icon":"faCircleExclamationCheck","aliases":[]},{"icon":"faCircleF","aliases":[]},{"icon":"faCircleG","aliases":[]},{"icon":"faCircleGf","aliases":[]},{"icon":"faCircleH","aliases":["faHospitalSymbol"]},{"icon":"faCircleHalf","aliases":[]},{"icon":"faCircleHalfStroke","aliases":["faAdjust"]},{"icon":"faCircleHeart","aliases":["faHeartCircle"]},{"icon":"faCircleI","aliases":[]},{"icon":"faCircleInfo","aliases":["faInfoCircle"]},{"icon":"faCircleJ","aliases":[]},{"icon":"faCircleK","aliases":[]},{"icon":"faCircleL","aliases":[]},{"icon":"faCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faCircleLocationArrow","aliases":["faLocationCircle"]},{"icon":"faCircleM","aliases":[]},{"icon":"faCircleMicrophone","aliases":["faMicrophoneCircle"]},{"icon":"faCircleMicrophoneLines","aliases":["faMicrophoneCircleAlt"]},{"icon":"faCircleMinus","aliases":["faMinusCircle"]},{"icon":"faCircleN","aliases":[]},{"icon":"faCircleNodes","aliases":[]},{"icon":"faCircleNotch","aliases":[]},{"icon":"faCircleO","aliases":[]},{"icon":"faCircleP","aliases":[]},{"icon":"faCircleParking","aliases":["faParkingCircle"]},{"icon":"faCirclePause","aliases":["faPauseCircle"]},{"icon":"faCirclePhone","aliases":["faPhoneCircle"]},{"icon":"faCirclePhoneFlip","aliases":["faPhoneCircleAlt"]},{"icon":"faCirclePhoneHangup","aliases":["faPhoneCircleDown"]},{"icon":"faCirclePlay","aliases":["faPlayCircle"]},{"icon":"faCirclePlus","aliases":["faPlusCircle"]},{"icon":"faCircleQ","aliases":[]},{"icon":"faCircleQuarter","aliases":[]},{"icon":"faCircleQuarterStroke","aliases":[]},{"icon":"faCircleQuarters","aliases":[]},{"icon":"faCircleQuestion","aliases":["faQuestionCircle"]},{"icon":"faCircleR","aliases":[]},{"icon":"faCircleRadiation","aliases":["faRadiationAlt"]},{"icon":"faCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faCircleS","aliases":[]},{"icon":"faCircleSmall","aliases":[]},{"icon":"faCircleSort","aliases":["faSortCircle"]},{"icon":"faCircleSortDown","aliases":["faSortCircleDown"]},{"icon":"faCircleSortUp","aliases":["faSortCircleUp"]},{"icon":"faCircleStar","aliases":["faStarCircle"]},{"icon":"faCircleSterling","aliases":[]},{"icon":"faCircleStop","aliases":["faStopCircle"]},{"icon":"faCircleT","aliases":[]},{"icon":"faCircleThreeQuarters","aliases":[]},{"icon":"faCircleThreeQuartersStroke","aliases":[]},{"icon":"faCircleTrash","aliases":["faTrashCircle"]},{"icon":"faCircleU","aliases":[]},{"icon":"faCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faCircleUpLeft","aliases":[]},{"icon":"faCircleUpRight","aliases":[]},{"icon":"faCircleUser","aliases":["faUserCircle"]},{"icon":"faCircleV","aliases":[]},{"icon":"faCircleVideo","aliases":["faVideoCircle"]},{"icon":"faCircleW","aliases":[]},{"icon":"faCircleWaveformLines","aliases":["faWaveformCircle"]},{"icon":"faCircleWifi","aliases":[]},{"icon":"faCircleWifiCircleWifi","aliases":["faCircleWifiGroup"]},{"icon":"faCircleWifiGroup","aliases":["faCircleWifiGroup"]},{"icon":"faCircleX","aliases":[]},{"icon":"faCircleXmark","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faCircleY","aliases":[]},{"icon":"faCircleYen","aliases":[]},{"icon":"faCircleZ","aliases":[]},{"icon":"faCirclesOverlap","aliases":[]},{"icon":"faCitrus","aliases":[]},{"icon":"faCitrusSlice","aliases":[]},{"icon":"faCity","aliases":[]},{"icon":"faClapperboard","aliases":[]},{"icon":"faClapperboardPlay","aliases":[]},{"icon":"faClarinet","aliases":[]},{"icon":"faClawMarks","aliases":[]},{"icon":"faClinicMedical","aliases":["faClinicMedical"]},{"icon":"faClipboard","aliases":[]},{"icon":"faClipboardCheck","aliases":[]},{"icon":"faClipboardList","aliases":[]},{"icon":"faClipboardListCheck","aliases":[]},{"icon":"faClipboardMedical","aliases":[]},{"icon":"faClipboardPrescription","aliases":[]},{"icon":"faClipboardQuestion","aliases":[]},{"icon":"faClipboardUser","aliases":[]},{"icon":"faClock","aliases":["faClockFour"]},{"icon":"faClockDesk","aliases":[]},{"icon":"faClockEight","aliases":[]},{"icon":"faClockEightThirty","aliases":[]},{"icon":"faClockEleven","aliases":[]},{"icon":"faClockElevenThirty","aliases":[]},{"icon":"faClockFive","aliases":[]},{"icon":"faClockFiveThirty","aliases":[]},{"icon":"faClockFour","aliases":["faClockFour"]},{"icon":"faClockFourThirty","aliases":[]},{"icon":"faClockNine","aliases":[]},{"icon":"faClockNineThirty","aliases":[]},{"icon":"faClockOne","aliases":[]},{"icon":"faClockOneThirty","aliases":[]},{"icon":"faClockRotateLeft","aliases":["faHistory"]},{"icon":"faClockSeven","aliases":[]},{"icon":"faClockSevenThirty","aliases":[]},{"icon":"faClockSix","aliases":[]},{"icon":"faClockSixThirty","aliases":[]},{"icon":"faClockTen","aliases":[]},{"icon":"faClockTenThirty","aliases":[]},{"icon":"faClockThree","aliases":[]},{"icon":"faClockThreeThirty","aliases":[]},{"icon":"faClockTwelve","aliases":[]},{"icon":"faClockTwelveThirty","aliases":[]},{"icon":"faClockTwo","aliases":[]},{"icon":"faClockTwoThirty","aliases":[]},{"icon":"faClone","aliases":[]},{"icon":"faClose","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faClosedCaptioning","aliases":[]},{"icon":"faClosedCaptioningSlash","aliases":[]},{"icon":"faClothesHanger","aliases":[]},{"icon":"faCloud","aliases":[]},{"icon":"faCloudArrowDown","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudArrowUp","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudBinary","aliases":[]},{"icon":"faCloudBolt","aliases":["faThunderstorm"]},{"icon":"faCloudBoltMoon","aliases":["faThunderstormMoon"]},{"icon":"faCloudBoltSun","aliases":["faThunderstormSun"]},{"icon":"faCloudCheck","aliases":[]},{"icon":"faCloudDownload","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudDownloadAlt","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudDrizzle","aliases":[]},{"icon":"faCloudExclamation","aliases":[]},{"icon":"faCloudFog","aliases":["faFog"]},{"icon":"faCloudHail","aliases":[]},{"icon":"faCloudHailMixed","aliases":[]},{"icon":"faCloudMeatball","aliases":[]},{"icon":"faCloudMinus","aliases":[]},{"icon":"faCloudMoon","aliases":[]},{"icon":"faCloudMoonRain","aliases":[]},{"icon":"faCloudMusic","aliases":[]},{"icon":"faCloudPlus","aliases":[]},{"icon":"faCloudQuestion","aliases":[]},{"icon":"faCloudRain","aliases":[]},{"icon":"faCloudRainbow","aliases":[]},{"icon":"faCloudShowers","aliases":[]},{"icon":"faCloudShowersHeavy","aliases":[]},{"icon":"faCloudShowersWater","aliases":[]},{"icon":"faCloudSlash","aliases":[]},{"icon":"faCloudSleet","aliases":[]},{"icon":"faCloudSnow","aliases":[]},{"icon":"faCloudSun","aliases":[]},{"icon":"faCloudSunRain","aliases":[]},{"icon":"faCloudUpload","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudUploadAlt","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudWord","aliases":[]},{"icon":"faCloudXmark","aliases":[]},{"icon":"faClouds","aliases":[]},{"icon":"faCloudsMoon","aliases":[]},{"icon":"faCloudsSun","aliases":[]},{"icon":"faClover","aliases":[]},{"icon":"faClub","aliases":[]},{"icon":"faCny","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faCocktail","aliases":["faCocktail"]},{"icon":"faCoconut","aliases":[]},{"icon":"faCode","aliases":[]},{"icon":"faCodeBranch","aliases":[]},{"icon":"faCodeCommit","aliases":[]},{"icon":"faCodeCompare","aliases":[]},{"icon":"faCodeFork","aliases":[]},{"icon":"faCodeMerge","aliases":[]},{"icon":"faCodePullRequest","aliases":[]},{"icon":"faCodePullRequestClosed","aliases":[]},{"icon":"faCodePullRequestDraft","aliases":[]},{"icon":"faCodeSimple","aliases":[]},{"icon":"faCoffee","aliases":["faCoffee"]},{"icon":"faCoffeeBean","aliases":[]},{"icon":"faCoffeeBeans","aliases":[]},{"icon":"faCoffeePot","aliases":[]},{"icon":"faCoffeeTogo","aliases":["faCoffeeTogo"]},{"icon":"faCoffin","aliases":[]},{"icon":"faCoffinCross","aliases":[]},{"icon":"faCog","aliases":["faCog"]},{"icon":"faCogs","aliases":["faCogs"]},{"icon":"faCoin","aliases":[]},{"icon":"faCoinBlank","aliases":[]},{"icon":"faCoinFront","aliases":[]},{"icon":"faCoinVertical","aliases":[]},{"icon":"faCoins","aliases":[]},{"icon":"faColon","aliases":[]},{"icon":"faColonSign","aliases":[]},{"icon":"faColumns","aliases":["faColumns"]},{"icon":"faColumns3","aliases":[]},{"icon":"faComet","aliases":[]},{"icon":"faComma","aliases":[]},{"icon":"faCommand","aliases":[]},{"icon":"faComment","aliases":[]},{"icon":"faCommentAlt","aliases":["faCommentAlt"]},{"icon":"faCommentAltArrowDown","aliases":["faCommentAltArrowDown"]},{"icon":"faCommentAltArrowUp","aliases":["faCommentAltArrowUp"]},{"icon":"faCommentAltCaptions","aliases":["faCommentAltCaptions"]},{"icon":"faCommentAltCheck","aliases":["faCommentAltCheck"]},{"icon":"faCommentAltDollar","aliases":["faCommentAltDollar"]},{"icon":"faCommentAltDots","aliases":["faCommentAltDots","faMessaging"]},{"icon":"faCommentAltEdit","aliases":["faCommentAltEdit","faMessageEdit"]},{"icon":"faCommentAltExclamation","aliases":["faCommentAltExclamation"]},{"icon":"faCommentAltImage","aliases":["faCommentAltImage"]},{"icon":"faCommentAltLines","aliases":["faCommentAltLines"]},{"icon":"faCommentAltMedical","aliases":["faCommentAltMedical"]},{"icon":"faCommentAltMinus","aliases":["faCommentAltMinus"]},{"icon":"faCommentAltMusic","aliases":["faCommentAltMusic"]},{"icon":"faCommentAltPlus","aliases":["faCommentAltPlus"]},{"icon":"faCommentAltQuote","aliases":["faCommentAltQuote"]},{"icon":"faCommentAltSlash","aliases":["faCommentAltSlash"]},{"icon":"faCommentAltSmile","aliases":["faCommentAltSmile"]},{"icon":"faCommentAltText","aliases":["faCommentAltText"]},{"icon":"faCommentAltTimes","aliases":["faCommentAltTimes","faMessageTimes"]},{"icon":"faCommentArrowDown","aliases":[]},{"icon":"faCommentArrowUp","aliases":[]},{"icon":"faCommentArrowUpRight","aliases":[]},{"icon":"faCommentCaptions","aliases":[]},{"icon":"faCommentCheck","aliases":[]},{"icon":"faCommentCode","aliases":[]},{"icon":"faCommentDollar","aliases":[]},{"icon":"faCommentDots","aliases":["faCommenting"]},{"icon":"faCommentEdit","aliases":["faCommentEdit"]},{"icon":"faCommentExclamation","aliases":[]},{"icon":"faCommentHeart","aliases":[]},{"icon":"faCommentImage","aliases":[]},{"icon":"faCommentLines","aliases":[]},{"icon":"faCommentMedical","aliases":[]},{"icon":"faCommentMiddle","aliases":[]},{"icon":"faCommentMiddleAlt","aliases":["faCommentMiddleAlt"]},{"icon":"faCommentMiddleTop","aliases":[]},{"icon":"faCommentMiddleTopAlt","aliases":["faCommentMiddleTopAlt"]},{"icon":"faCommentMinus","aliases":[]},{"icon":"faCommentMusic","aliases":[]},{"icon":"faCommentPen","aliases":["faCommentEdit"]},{"icon":"faCommentPlus","aliases":[]},{"icon":"faCommentQuestion","aliases":[]},{"icon":"faCommentQuote","aliases":[]},{"icon":"faCommentSlash","aliases":[]},{"icon":"faCommentSmile","aliases":[]},{"icon":"faCommentSms","aliases":["faSms"]},{"icon":"faCommentText","aliases":[]},{"icon":"faCommentTimes","aliases":["faCommentTimes"]},{"icon":"faCommentXmark","aliases":["faCommentTimes"]},{"icon":"faCommenting","aliases":["faCommenting"]},{"icon":"faComments","aliases":[]},{"icon":"faCommentsAlt","aliases":["faCommentsAlt"]},{"icon":"faCommentsAltDollar","aliases":["faCommentsAltDollar"]},{"icon":"faCommentsDollar","aliases":[]},{"icon":"faCommentsQuestion","aliases":[]},{"icon":"faCommentsQuestionCheck","aliases":[]},{"icon":"faCompactDisc","aliases":[]},{"icon":"faCompass","aliases":[]},{"icon":"faCompassDrafting","aliases":["faDraftingCompass"]},{"icon":"faCompassSlash","aliases":[]},{"icon":"faCompress","aliases":[]},{"icon":"faCompressAlt","aliases":["faCompressAlt"]},{"icon":"faCompressArrows","aliases":["faCompressArrows"]},{"icon":"faCompressArrowsAlt","aliases":["faCompressArrowsAlt"]},{"icon":"faCompressWide","aliases":[]},{"icon":"faComputer","aliases":[]},{"icon":"faComputerClassic","aliases":[]},{"icon":"faComputerMouse","aliases":["faMouse"]},{"icon":"faComputerMouseScrollwheel","aliases":["faMouseAlt"]},{"icon":"faComputerSpeaker","aliases":[]},{"icon":"faConciergeBell","aliases":["faConciergeBell"]},{"icon":"faConstruction","aliases":["faConstruction"]},{"icon":"faContactBook","aliases":["faContactBook"]},{"icon":"faContactCard","aliases":["faContactCard","faVcard"]},{"icon":"faContainerStorage","aliases":[]},{"icon":"faConveyorBelt","aliases":[]},{"icon":"faConveyorBeltAlt","aliases":["faConveyorBeltAlt"]},{"icon":"faConveyorBeltArm","aliases":[]},{"icon":"faConveyorBeltBoxes","aliases":["faConveyorBeltAlt"]},{"icon":"faConveyorBeltEmpty","aliases":[]},{"icon":"faCookie","aliases":[]},{"icon":"faCookieBite","aliases":[]},{"icon":"faCopy","aliases":[]},{"icon":"faCopyright","aliases":[]},{"icon":"faCorn","aliases":[]},{"icon":"faCorner","aliases":[]},{"icon":"faCouch","aliases":[]},{"icon":"faCouchSmall","aliases":["faCouchSmall"]},{"icon":"faCourtSport","aliases":[]},{"icon":"faCow","aliases":[]},{"icon":"faCowbell","aliases":[]},{"icon":"faCowbellCirclePlus","aliases":["faCowbellMore"]},{"icon":"faCowbellMore","aliases":["faCowbellMore"]},{"icon":"faCrab","aliases":[]},{"icon":"faCrateApple","aliases":["faAppleCrate"]},{"icon":"faCrateEmpty","aliases":[]},{"icon":"faCreditCard","aliases":["faCreditCardAlt"]},{"icon":"faCreditCardAlt","aliases":["faCreditCardAlt"]},{"icon":"faCreditCardBlank","aliases":[]},{"icon":"faCreditCardFront","aliases":[]},{"icon":"faCreemee","aliases":["faCreemee"]},{"icon":"faCricket","aliases":["faCricket"]},{"icon":"faCricketBatBall","aliases":["faCricket"]},{"icon":"faCroissant","aliases":[]},{"icon":"faCrop","aliases":[]},{"icon":"faCropAlt","aliases":["faCropAlt"]},{"icon":"faCropSimple","aliases":["faCropAlt"]},{"icon":"faCross","aliases":[]},{"icon":"faCrosshairs","aliases":[]},{"icon":"faCrosshairsSimple","aliases":[]},{"icon":"faCrow","aliases":[]},{"icon":"faCrown","aliases":[]},{"icon":"faCrutch","aliases":[]},{"icon":"faCrutches","aliases":[]},{"icon":"faCruzeiroSign","aliases":[]},{"icon":"faCrystalBall","aliases":[]},{"icon":"faCube","aliases":[]},{"icon":"faCubes","aliases":[]},{"icon":"faCubesStacked","aliases":[]},{"icon":"faCucumber","aliases":[]},{"icon":"faCupStraw","aliases":[]},{"icon":"faCupStrawSwoosh","aliases":[]},{"icon":"faCupTogo","aliases":["faCoffeeTogo"]},{"icon":"faCupcake","aliases":[]},{"icon":"faCurling","aliases":["faCurling"]},{"icon":"faCurlingStone","aliases":["faCurling"]},{"icon":"faCustard","aliases":[]},{"icon":"faCut","aliases":["faCut"]},{"icon":"faCutlery","aliases":["faCutlery"]},{"icon":"faD","aliases":[]},{"icon":"faDagger","aliases":[]},{"icon":"faDash","aliases":["faMinusLarge"]},{"icon":"faDashboard","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faDatabase","aliases":[]},{"icon":"faDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDeafness","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDebug","aliases":["faDebug"]},{"icon":"faDedent","aliases":["faDedent"]},{"icon":"faDeer","aliases":[]},{"icon":"faDeerRudolph","aliases":[]},{"icon":"faDeleteLeft","aliases":["faBackspace"]},{"icon":"faDeleteRight","aliases":[]},{"icon":"faDemocrat","aliases":[]},{"icon":"faDesktop","aliases":["faDesktopAlt"]},{"icon":"faDesktopAlt","aliases":["faDesktopAlt"]},{"icon":"faDesktopArrowDown","aliases":[]},{"icon":"faDesktopCode","aliases":["faDesktopCode"]},{"icon":"faDesktopMedical","aliases":["faDesktopMedical"]},{"icon":"faDesktopSlash","aliases":["faDesktopSlash"]},{"icon":"faDewpoint","aliases":["faDewpoint"]},{"icon":"faDharmachakra","aliases":[]},{"icon":"faDiagnoses","aliases":["faDiagnoses"]},{"icon":"faDiagramCells","aliases":[]},{"icon":"faDiagramLeanCanvas","aliases":[]},{"icon":"faDiagramNested","aliases":[]},{"icon":"faDiagramNext","aliases":[]},{"icon":"faDiagramPredecessor","aliases":[]},{"icon":"faDiagramPrevious","aliases":[]},{"icon":"faDiagramProject","aliases":["faProjectDiagram"]},{"icon":"faDiagramSankey","aliases":[]},{"icon":"faDiagramSubtask","aliases":[]},{"icon":"faDiagramSuccessor","aliases":[]},{"icon":"faDiagramVenn","aliases":[]},{"icon":"faDial","aliases":["faDialMedHigh"]},{"icon":"faDialHigh","aliases":[]},{"icon":"faDialLow","aliases":[]},{"icon":"faDialMax","aliases":[]},{"icon":"faDialMed","aliases":[]},{"icon":"faDialMedHigh","aliases":["faDialMedHigh"]},{"icon":"faDialMedLow","aliases":[]},{"icon":"faDialMin","aliases":[]},{"icon":"faDialOff","aliases":[]},{"icon":"faDiamond","aliases":[]},{"icon":"faDiamondExclamation","aliases":[]},{"icon":"faDiamondHalf","aliases":[]},{"icon":"faDiamondHalfStroke","aliases":[]},{"icon":"faDiamondTurnRight","aliases":["faDirections"]},{"icon":"faDiamonds4","aliases":[]},{"icon":"faDice","aliases":[]},{"icon":"faDiceD10","aliases":[]},{"icon":"faDiceD12","aliases":[]},{"icon":"faDiceD20","aliases":[]},{"icon":"faDiceD4","aliases":[]},{"icon":"faDiceD6","aliases":[]},{"icon":"faDiceD8","aliases":[]},{"icon":"faDiceFive","aliases":[]},{"icon":"faDiceFour","aliases":[]},{"icon":"faDiceOne","aliases":[]},{"icon":"faDiceSix","aliases":[]},{"icon":"faDiceThree","aliases":[]},{"icon":"faDiceTwo","aliases":[]},{"icon":"faDigging","aliases":["faDigging"]},{"icon":"faDigitalTachograph","aliases":["faDigitalTachograph"]},{"icon":"faDinosaur","aliases":[]},{"icon":"faDiploma","aliases":["faScrollRibbon"]},{"icon":"faDirections","aliases":["faDirections"]},{"icon":"faDiscDrive","aliases":[]},{"icon":"faDisease","aliases":[]},{"icon":"faDisplay","aliases":[]},{"icon":"faDisplayArrowDown","aliases":[]},{"icon":"faDisplayChartUp","aliases":[]},{"icon":"faDisplayChartUpCircleCurrency","aliases":[]},{"icon":"faDisplayChartUpCircleDollar","aliases":[]},{"icon":"faDisplayCode","aliases":["faDesktopCode"]},{"icon":"faDisplayMedical","aliases":["faDesktopMedical"]},{"icon":"faDisplaySlash","aliases":["faDesktopSlash"]},{"icon":"faDistributeSpacingHorizontal","aliases":[]},{"icon":"faDistributeSpacingVertical","aliases":[]},{"icon":"faDitto","aliases":[]},{"icon":"faDivide","aliases":[]},{"icon":"faDizzy","aliases":["faDizzy"]},{"icon":"faDna","aliases":[]},{"icon":"faDoNotEnter","aliases":[]},{"icon":"faDog","aliases":[]},{"icon":"faDogLeashed","aliases":[]},{"icon":"faDollar","aliases":["faDollar","faUsd"]},{"icon":"faDollarCircle","aliases":["faDollarCircle","faUsdCircle"]},{"icon":"faDollarSign","aliases":["faDollar","faUsd"]},{"icon":"faDollarSquare","aliases":["faDollarSquare","faUsdSquare"]},{"icon":"faDolly","aliases":["faDollyBox"]},{"icon":"faDollyBox","aliases":["faDollyBox"]},{"icon":"faDollyEmpty","aliases":[]},{"icon":"faDollyFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faDollyFlatbedAlt","aliases":["faDollyFlatbedAlt"]},{"icon":"faDollyFlatbedEmpty","aliases":["faDollyFlatbedEmpty"]},{"icon":"faDolphin","aliases":[]},{"icon":"faDonate","aliases":["faDonate"]},{"icon":"faDongSign","aliases":[]},{"icon":"faDonut","aliases":["faDoughnut"]},{"icon":"faDoorClosed","aliases":[]},{"icon":"faDoorOpen","aliases":[]},{"icon":"faDotCircle","aliases":["faDotCircle"]},{"icon":"faDoughnut","aliases":["faDoughnut"]},{"icon":"faDove","aliases":[]},{"icon":"faDown","aliases":["faArrowAltDown"]},{"icon":"faDownFromBracket","aliases":[]},{"icon":"faDownFromDottedLine","aliases":[]},{"icon":"faDownFromLine","aliases":["faArrowAltFromTop"]},{"icon":"faDownLeft","aliases":[]},{"icon":"faDownLeftAndUpRightToCenter","aliases":["faCompressAlt"]},{"icon":"faDownLong","aliases":["faLongArrowAltDown"]},{"icon":"faDownRight","aliases":[]},{"icon":"faDownToBracket","aliases":[]},{"icon":"faDownToDottedLine","aliases":[]},{"icon":"faDownToLine","aliases":["faArrowAltToBottom"]},{"icon":"faDownload","aliases":[]},{"icon":"faDraftingCompass","aliases":["faDraftingCompass"]},{"icon":"faDragon","aliases":[]},{"icon":"faDrawCircle","aliases":[]},{"icon":"faDrawPolygon","aliases":[]},{"icon":"faDrawSquare","aliases":[]},{"icon":"faDreidel","aliases":[]},{"icon":"faDriversLicense","aliases":["faDriversLicense"]},{"icon":"faDrone","aliases":[]},{"icon":"faDroneAlt","aliases":["faDroneAlt"]},{"icon":"faDroneFront","aliases":["faDroneAlt"]},{"icon":"faDroplet","aliases":["faTint"]},{"icon":"faDropletDegree","aliases":["faDewpoint"]},{"icon":"faDropletPercent","aliases":["faHumidity"]},{"icon":"faDropletSlash","aliases":["faTintSlash"]},{"icon":"faDrum","aliases":[]},{"icon":"faDrumSteelpan","aliases":[]},{"icon":"faDrumstick","aliases":[]},{"icon":"faDrumstickBite","aliases":[]},{"icon":"faDryer","aliases":[]},{"icon":"faDryerAlt","aliases":["faDryerAlt"]},{"icon":"faDryerHeat","aliases":["faDryerAlt"]},{"icon":"faDuck","aliases":[]},{"icon":"faDumbbell","aliases":[]},{"icon":"faDumpster","aliases":[]},{"icon":"faDumpsterFire","aliases":[]},{"icon":"faDungeon","aliases":[]},{"icon":"faE","aliases":[]},{"icon":"faEar","aliases":[]},{"icon":"faEarDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faEarListen","aliases":["faAssistiveListeningSystems"]},{"icon":"faEarMuffs","aliases":[]},{"icon":"faEarth","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAfrica","aliases":["faGlobeAfrica"]},{"icon":"faEarthAmerica","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAsia","aliases":["faGlobeAsia"]},{"icon":"faEarthEurope","aliases":["faGlobeEurope"]},{"icon":"faEarthOceania","aliases":["faGlobeOceania"]},{"icon":"faEclipse","aliases":[]},{"icon":"faEclipseAlt","aliases":["faEclipseAlt"]},{"icon":"faEdit","aliases":["faEdit"]},{"icon":"faEgg","aliases":[]},{"icon":"faEggFried","aliases":[]},{"icon":"faEggplant","aliases":[]},{"icon":"faEject","aliases":[]},{"icon":"faElephant","aliases":[]},{"icon":"faElevator","aliases":[]},{"icon":"faEllipsis","aliases":["faEllipsisH"]},{"icon":"faEllipsisH","aliases":["faEllipsisH"]},{"icon":"faEllipsisHAlt","aliases":["faEllipsisHAlt"]},{"icon":"faEllipsisStroke","aliases":["faEllipsisHAlt"]},{"icon":"faEllipsisStrokeVertical","aliases":["faEllipsisVAlt"]},{"icon":"faEllipsisV","aliases":["faEllipsisV"]},{"icon":"faEllipsisVAlt","aliases":["faEllipsisVAlt"]},{"icon":"faEllipsisVertical","aliases":["faEllipsisV"]},{"icon":"faEmptySet","aliases":[]},{"icon":"faEngine","aliases":[]},{"icon":"faEngineExclamation","aliases":["faEngineExclamation"]},{"icon":"faEngineWarning","aliases":["faEngineExclamation"]},{"icon":"faEnvelope","aliases":[]},{"icon":"faEnvelopeBadge","aliases":["faEnvelopeBadge"]},{"icon":"faEnvelopeCircle","aliases":["faEnvelopeCircle"]},{"icon":"faEnvelopeCircleCheck","aliases":[]},{"icon":"faEnvelopeDot","aliases":["faEnvelopeBadge"]},{"icon":"faEnvelopeOpen","aliases":[]},{"icon":"faEnvelopeOpenDollar","aliases":[]},{"icon":"faEnvelopeOpenText","aliases":[]},{"icon":"faEnvelopeSquare","aliases":["faEnvelopeSquare"]},{"icon":"faEnvelopes","aliases":[]},{"icon":"faEnvelopesBulk","aliases":["faMailBulk"]},{"icon":"faEquals","aliases":[]},{"icon":"faEraser","aliases":[]},{"icon":"faEscalator","aliases":[]},{"icon":"faEthernet","aliases":[]},{"icon":"faEur","aliases":["faEur","faEuro"]},{"icon":"faEuro","aliases":["faEur","faEuro"]},{"icon":"faEuroSign","aliases":["faEur","faEuro"]},{"icon":"faExcavator","aliases":[]},{"icon":"faExchange","aliases":["faExchange"]},{"icon":"faExchangeAlt","aliases":["faExchangeAlt"]},{"icon":"faExclamation","aliases":[]},{"icon":"faExclamationCircle","aliases":["faExclamationCircle"]},{"icon":"faExclamationSquare","aliases":["faExclamationSquare"]},{"icon":"faExclamationTriangle","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faExpand","aliases":[]},{"icon":"faExpandAlt","aliases":["faExpandAlt"]},{"icon":"faExpandArrows","aliases":["faExpandArrows"]},{"icon":"faExpandArrowsAlt","aliases":["faExpandArrowsAlt"]},{"icon":"faExpandWide","aliases":[]},{"icon":"faExplodingHead","aliases":["faExplodingHead"]},{"icon":"faExplosion","aliases":[]},{"icon":"faExternalLink","aliases":["faExternalLink"]},{"icon":"faExternalLinkAlt","aliases":["faExternalLinkAlt"]},{"icon":"faExternalLinkSquare","aliases":["faExternalLinkSquare"]},{"icon":"faExternalLinkSquareAlt","aliases":["faExternalLinkSquareAlt"]},{"icon":"faEye","aliases":[]},{"icon":"faEyeDropper","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeDropperEmpty","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeDropperFull","aliases":[]},{"icon":"faEyeDropperHalf","aliases":[]},{"icon":"faEyeEvil","aliases":[]},{"icon":"faEyeLowVision","aliases":["faLowVision"]},{"icon":"faEyeSlash","aliases":[]},{"icon":"faEyes","aliases":[]},{"icon":"faF","aliases":[]},{"icon":"faFaceAngry","aliases":["faAngry"]},{"icon":"faFaceAngryHorns","aliases":[]},{"icon":"faFaceAnguished","aliases":[]},{"icon":"faFaceAnxiousSweat","aliases":[]},{"icon":"faFaceAstonished","aliases":[]},{"icon":"faFaceAwesome","aliases":["faGaveDandy"]},{"icon":"faFaceBeamHandOverMouth","aliases":[]},{"icon":"faFaceClouds","aliases":[]},{"icon":"faFaceConfounded","aliases":[]},{"icon":"faFaceConfused","aliases":[]},{"icon":"faFaceCowboyHat","aliases":[]},{"icon":"faFaceDiagonalMouth","aliases":[]},{"icon":"faFaceDisappointed","aliases":[]},{"icon":"faFaceDisguise","aliases":[]},{"icon":"faFaceDizzy","aliases":["faDizzy"]},{"icon":"faFaceDotted","aliases":[]},{"icon":"faFaceDowncastSweat","aliases":[]},{"icon":"faFaceDrooling","aliases":[]},{"icon":"faFaceExhaling","aliases":[]},{"icon":"faFaceExplode","aliases":["faExplodingHead"]},{"icon":"faFaceExpressionless","aliases":[]},{"icon":"faFaceEyesXmarks","aliases":[]},{"icon":"faFaceFearful","aliases":[]},{"icon":"faFaceFlushed","aliases":["faFlushed"]},{"icon":"faFaceFrown","aliases":["faFrown"]},{"icon":"faFaceFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFaceFrownSlight","aliases":[]},{"icon":"faFaceGlasses","aliases":[]},{"icon":"faFaceGrimace","aliases":["faGrimace"]},{"icon":"faFaceGrin","aliases":["faGrin"]},{"icon":"faFaceGrinBeam","aliases":["faGrinBeam"]},{"icon":"faFaceGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faFaceGrinHearts","aliases":["faGrinHearts"]},{"icon":"faFaceGrinSquint","aliases":["faGrinSquint"]},{"icon":"faFaceGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faFaceGrinStars","aliases":["faGrinStars"]},{"icon":"faFaceGrinTears","aliases":["faGrinTears"]},{"icon":"faFaceGrinTongue","aliases":["faGrinTongue"]},{"icon":"faFaceGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faFaceGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faFaceGrinWide","aliases":["faGrinAlt"]},{"icon":"faFaceGrinWink","aliases":["faGrinWink"]},{"icon":"faFaceHandOverMouth","aliases":[]},{"icon":"faFaceHandPeeking","aliases":[]},{"icon":"faFaceHandYawn","aliases":[]},{"icon":"faFaceHeadBandage","aliases":[]},{"icon":"faFaceHoldingBackTears","aliases":[]},{"icon":"faFaceHushed","aliases":[]},{"icon":"faFaceIcicles","aliases":[]},{"icon":"faFaceKiss","aliases":["faKiss"]},{"icon":"faFaceKissBeam","aliases":["faKissBeam"]},{"icon":"faFaceKissClosedEyes","aliases":[]},{"icon":"faFaceKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faFaceLaugh","aliases":["faLaugh"]},{"icon":"faFaceLaughBeam","aliases":["faLaughBeam"]},{"icon":"faFaceLaughSquint","aliases":["faLaughSquint"]},{"icon":"faFaceLaughWink","aliases":["faLaughWink"]},{"icon":"faFaceLying","aliases":[]},{"icon":"faFaceMask","aliases":[]},{"icon":"faFaceMeh","aliases":["faMeh"]},{"icon":"faFaceMehBlank","aliases":["faMehBlank"]},{"icon":"faFaceMelting","aliases":[]},{"icon":"faFaceMonocle","aliases":[]},{"icon":"faFaceNauseated","aliases":[]},{"icon":"faFaceNoseSteam","aliases":[]},{"icon":"faFaceParty","aliases":[]},{"icon":"faFacePensive","aliases":[]},{"icon":"faFacePersevering","aliases":[]},{"icon":"faFacePleading","aliases":[]},{"icon":"faFacePouting","aliases":[]},{"icon":"faFaceRaisedEyebrow","aliases":[]},{"icon":"faFaceRelieved","aliases":[]},{"icon":"faFaceRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faFaceSadCry","aliases":["faSadCry"]},{"icon":"faFaceSadSweat","aliases":[]},{"icon":"faFaceSadTear","aliases":["faSadTear"]},{"icon":"faFaceSaluting","aliases":[]},{"icon":"faFaceScream","aliases":[]},{"icon":"faFaceShush","aliases":[]},{"icon":"faFaceSleeping","aliases":[]},{"icon":"faFaceSleepy","aliases":[]},{"icon":"faFaceSmile","aliases":["faSmile"]},{"icon":"faFaceSmileBeam","aliases":["faSmileBeam"]},{"icon":"faFaceSmileHalo","aliases":[]},{"icon":"faFaceSmileHearts","aliases":[]},{"icon":"faFaceSmileHorns","aliases":[]},{"icon":"faFaceSmilePlus","aliases":["faSmilePlus"]},{"icon":"faFaceSmileRelaxed","aliases":[]},{"icon":"faFaceSmileTear","aliases":[]},{"icon":"faFaceSmileTongue","aliases":[]},{"icon":"faFaceSmileUpsideDown","aliases":[]},{"icon":"faFaceSmileWink","aliases":["faSmileWink"]},{"icon":"faFaceSmilingHands","aliases":[]},{"icon":"faFaceSmirking","aliases":[]},{"icon":"faFaceSpiralEyes","aliases":[]},{"icon":"faFaceSunglasses","aliases":[]},{"icon":"faFaceSurprise","aliases":["faSurprise"]},{"icon":"faFaceSwear","aliases":[]},{"icon":"faFaceThermometer","aliases":[]},{"icon":"faFaceThinking","aliases":[]},{"icon":"faFaceTired","aliases":["faTired"]},{"icon":"faFaceTissue","aliases":[]},{"icon":"faFaceTongueMoney","aliases":[]},{"icon":"faFaceTongueSweat","aliases":[]},{"icon":"faFaceUnamused","aliases":[]},{"icon":"faFaceViewfinder","aliases":[]},{"icon":"faFaceVomit","aliases":[]},{"icon":"faFaceWeary","aliases":[]},{"icon":"faFaceWoozy","aliases":[]},{"icon":"faFaceWorried","aliases":[]},{"icon":"faFaceZany","aliases":[]},{"icon":"faFaceZipper","aliases":[]},{"icon":"faFalafel","aliases":[]},{"icon":"faFamily","aliases":[]},{"icon":"faFamilyDress","aliases":[]},{"icon":"faFamilyPants","aliases":[]},{"icon":"faFan","aliases":[]},{"icon":"faFanTable","aliases":[]},{"icon":"faFarm","aliases":["faBarnSilo"]},{"icon":"faFastBackward","aliases":["faFastBackward"]},{"icon":"faFastForward","aliases":["faFastForward"]},{"icon":"faFaucet","aliases":[]},{"icon":"faFaucetDrip","aliases":[]},{"icon":"faFax","aliases":[]},{"icon":"faFeather","aliases":[]},{"icon":"faFeatherAlt","aliases":["faFeatherAlt"]},{"icon":"faFeatherPointed","aliases":["faFeatherAlt"]},{"icon":"faFeed","aliases":["faFeed"]},{"icon":"faFemale","aliases":["faFemale"]},{"icon":"faFence","aliases":[]},{"icon":"faFerrisWheel","aliases":[]},{"icon":"faFerry","aliases":[]},{"icon":"faFieldHockey","aliases":["faFieldHockey"]},{"icon":"faFieldHockeyStickBall","aliases":["faFieldHockey"]},{"icon":"faFighterJet","aliases":["faFighterJet"]},{"icon":"faFile","aliases":[]},{"icon":"faFileAlt","aliases":["faFileAlt","faFileText"]},{"icon":"faFileArchive","aliases":["faFileArchive"]},{"icon":"faFileArrowDown","aliases":["faFileDownload"]},{"icon":"faFileArrowUp","aliases":["faFileUpload"]},{"icon":"faFileAudio","aliases":[]},{"icon":"faFileAward","aliases":["faFileAward"]},{"icon":"faFileBinary","aliases":[]},{"icon":"faFileCad","aliases":[]},{"icon":"faFileCaretDown","aliases":["faFileCaretDown"]},{"icon":"faFileCaretUp","aliases":["faFileCaretUp"]},{"icon":"faFileCertificate","aliases":["faFileAward"]},{"icon":"faFileChartColumn","aliases":["faFileChartLine"]},{"icon":"faFileChartLine","aliases":["faFileChartLine"]},{"icon":"faFileChartPie","aliases":[]},{"icon":"faFileCheck","aliases":[]},{"icon":"faFileCircleCheck","aliases":[]},{"icon":"faFileCircleExclamation","aliases":[]},{"icon":"faFileCircleInfo","aliases":[]},{"icon":"faFileCircleMinus","aliases":[]},{"icon":"faFileCirclePlus","aliases":[]},{"icon":"faFileCircleQuestion","aliases":[]},{"icon":"faFileCircleXmark","aliases":[]},{"icon":"faFileClipboard","aliases":["faFileClipboard"]},{"icon":"faFileCode","aliases":[]},{"icon":"faFileContract","aliases":[]},{"icon":"faFileCsv","aliases":[]},{"icon":"faFileDashedLine","aliases":["faPageBreak"]},{"icon":"faFileDoc","aliases":[]},{"icon":"faFileDownload","aliases":["faFileDownload"]},{"icon":"faFileEdit","aliases":["faFileEdit"]},{"icon":"faFileEps","aliases":[]},{"icon":"faFileExcel","aliases":[]},{"icon":"faFileExclamation","aliases":[]},{"icon":"faFileExport","aliases":["faArrowRightFromFile"]},{"icon":"faFileGif","aliases":[]},{"icon":"faFileHeart","aliases":[]},{"icon":"faFileImage","aliases":[]},{"icon":"faFileImport","aliases":["faArrowRightToFile"]},{"icon":"faFileInvoice","aliases":[]},{"icon":"faFileInvoiceDollar","aliases":[]},{"icon":"faFileJpg","aliases":[]},{"icon":"faFileLines","aliases":["faFileAlt","faFileText"]},{"icon":"faFileLock","aliases":[]},{"icon":"faFileMagnifyingGlass","aliases":["faFileSearch"]},{"icon":"faFileMedical","aliases":[]},{"icon":"faFileMedicalAlt","aliases":["faFileMedicalAlt"]},{"icon":"faFileMinus","aliases":[]},{"icon":"faFileMov","aliases":[]},{"icon":"faFileMp3","aliases":[]},{"icon":"faFileMp4","aliases":[]},{"icon":"faFileMusic","aliases":[]},{"icon":"faFilePdf","aliases":[]},{"icon":"faFilePen","aliases":["faFileEdit"]},{"icon":"faFilePlus","aliases":[]},{"icon":"faFilePlusMinus","aliases":[]},{"icon":"faFilePng","aliases":[]},{"icon":"faFilePowerpoint","aliases":[]},{"icon":"faFilePpt","aliases":[]},{"icon":"faFilePrescription","aliases":[]},{"icon":"faFileSearch","aliases":["faFileSearch"]},{"icon":"faFileShield","aliases":[]},{"icon":"faFileSignature","aliases":[]},{"icon":"faFileSlash","aliases":[]},{"icon":"faFileSpreadsheet","aliases":[]},{"icon":"faFileSvg","aliases":[]},{"icon":"faFileText","aliases":["faFileAlt","faFileText"]},{"icon":"faFileTimes","aliases":["faFileTimes"]},{"icon":"faFileUpload","aliases":["faFileUpload"]},{"icon":"faFileUser","aliases":[]},{"icon":"faFileVector","aliases":[]},{"icon":"faFileVideo","aliases":[]},{"icon":"faFileWaveform","aliases":["faFileMedicalAlt"]},{"icon":"faFileWord","aliases":[]},{"icon":"faFileXls","aliases":[]},{"icon":"faFileXmark","aliases":["faFileTimes"]},{"icon":"faFileXml","aliases":[]},{"icon":"faFileZip","aliases":[]},{"icon":"faFileZipper","aliases":["faFileArchive"]},{"icon":"faFiles","aliases":[]},{"icon":"faFilesMedical","aliases":[]},{"icon":"faFill","aliases":[]},{"icon":"faFillDrip","aliases":[]},{"icon":"faFilm","aliases":[]},{"icon":"faFilmAlt","aliases":["faFilmAlt"]},{"icon":"faFilmCanister","aliases":["faFilmCannister"]},{"icon":"faFilmCannister","aliases":["faFilmCannister"]},{"icon":"faFilmSimple","aliases":["faFilmAlt"]},{"icon":"faFilmSlash","aliases":[]},{"icon":"faFilms","aliases":[]},{"icon":"faFilter","aliases":[]},{"icon":"faFilterCircleDollar","aliases":["faFunnelDollar"]},{"icon":"faFilterCircleXmark","aliases":[]},{"icon":"faFilterList","aliases":[]},{"icon":"faFilterSlash","aliases":[]},{"icon":"faFilters","aliases":[]},{"icon":"faFingerprint","aliases":[]},{"icon":"faFire","aliases":[]},{"icon":"faFireAlt","aliases":["faFireAlt"]},{"icon":"faFireBurner","aliases":[]},{"icon":"faFireExtinguisher","aliases":[]},{"icon":"faFireFlame","aliases":["faFlame"]},{"icon":"faFireFlameCurved","aliases":["faFireAlt"]},{"icon":"faFireFlameSimple","aliases":["faBurn"]},{"icon":"faFireHydrant","aliases":[]},{"icon":"faFireSmoke","aliases":[]},{"icon":"faFireplace","aliases":[]},{"icon":"faFirewall","aliases":["faFirewall"]},{"icon":"faFirstAid","aliases":["faFirstAid"]},{"icon":"faFish","aliases":[]},{"icon":"faFishBones","aliases":[]},{"icon":"faFishCooked","aliases":[]},{"icon":"faFishFins","aliases":[]},{"icon":"faFishingRod","aliases":[]},{"icon":"faFistRaised","aliases":["faFistRaised"]},{"icon":"faFlag","aliases":[]},{"icon":"faFlagAlt","aliases":["faFlagAlt"]},{"icon":"faFlagCheckered","aliases":[]},{"icon":"faFlagPennant","aliases":["faPennant"]},{"icon":"faFlagSwallowtail","aliases":["faFlagAlt"]},{"icon":"faFlagUsa","aliases":[]},{"icon":"faFlame","aliases":["faFlame"]},{"icon":"faFlashlight","aliases":[]},{"icon":"faFlask","aliases":[]},{"icon":"faFlaskGear","aliases":[]},{"icon":"faFlaskPoison","aliases":["faFlaskPoison"]},{"icon":"faFlaskPotion","aliases":["faFlaskPotion"]},{"icon":"faFlaskRoundPoison","aliases":["faFlaskPoison"]},{"icon":"faFlaskRoundPotion","aliases":["faFlaskPotion"]},{"icon":"faFlaskVial","aliases":[]},{"icon":"faFlatbread","aliases":[]},{"icon":"faFlatbreadStuffed","aliases":[]},{"icon":"faFloppyDisk","aliases":["faSave"]},{"icon":"faFloppyDiskCircleArrowRight","aliases":["faSaveCircleArrowRight"]},{"icon":"faFloppyDiskCircleXmark","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faFloppyDiskPen","aliases":[]},{"icon":"faFloppyDiskTimes","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faFloppyDisks","aliases":[]},{"icon":"faFlorinSign","aliases":[]},{"icon":"faFlower","aliases":[]},{"icon":"faFlowerDaffodil","aliases":[]},{"icon":"faFlowerTulip","aliases":[]},{"icon":"faFlushed","aliases":["faFlushed"]},{"icon":"faFlute","aliases":[]},{"icon":"faFluxCapacitor","aliases":[]},{"icon":"faFlyingDisc","aliases":[]},{"icon":"faFog","aliases":["faFog"]},{"icon":"faFolder","aliases":["faFolderBlank"]},{"icon":"faFolderArrowDown","aliases":["faFolderDownload"]},{"icon":"faFolderArrowUp","aliases":["faFolderUpload"]},{"icon":"faFolderBlank","aliases":["faFolderBlank"]},{"icon":"faFolderBookmark","aliases":[]},{"icon":"faFolderCheck","aliases":[]},{"icon":"faFolderClosed","aliases":[]},{"icon":"faFolderCog","aliases":["faFolderCog"]},{"icon":"faFolderDownload","aliases":["faFolderDownload"]},{"icon":"faFolderGear","aliases":["faFolderCog"]},{"icon":"faFolderGrid","aliases":[]},{"icon":"faFolderHeart","aliases":[]},{"icon":"faFolderImage","aliases":[]},{"icon":"faFolderMagnifyingGlass","aliases":["faFolderSearch"]},{"icon":"faFolderMedical","aliases":[]},{"icon":"faFolderMinus","aliases":[]},{"icon":"faFolderMusic","aliases":[]},{"icon":"faFolderOpen","aliases":[]},{"icon":"faFolderPlus","aliases":[]},{"icon":"faFolderSearch","aliases":["faFolderSearch"]},{"icon":"faFolderTimes","aliases":["faFolderTimes"]},{"icon":"faFolderTree","aliases":[]},{"icon":"faFolderUpload","aliases":["faFolderUpload"]},{"icon":"faFolderUser","aliases":[]},{"icon":"faFolderXmark","aliases":["faFolderTimes"]},{"icon":"faFolders","aliases":[]},{"icon":"faFonduePot","aliases":[]},{"icon":"faFont","aliases":[]},{"icon":"faFontAwesome","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeFlag","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeLogoFull","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontCase","aliases":[]},{"icon":"faFootball","aliases":["faFootballBall"]},{"icon":"faFootballBall","aliases":["faFootballBall"]},{"icon":"faFootballHelmet","aliases":[]},{"icon":"faFork","aliases":["faUtensilFork"]},{"icon":"faForkKnife","aliases":["faUtensilsAlt"]},{"icon":"faForklift","aliases":[]},{"icon":"faFort","aliases":[]},{"icon":"faForward","aliases":[]},{"icon":"faForwardFast","aliases":["faFastForward"]},{"icon":"faForwardStep","aliases":["faStepForward"]},{"icon":"faFragile","aliases":["faFragile"]},{"icon":"faFrame","aliases":[]},{"icon":"faFrancSign","aliases":[]},{"icon":"faFrenchFries","aliases":[]},{"icon":"faFrog","aliases":[]},{"icon":"faFrostyHead","aliases":["faFrostyHead"]},{"icon":"faFrown","aliases":["faFrown"]},{"icon":"faFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFunction","aliases":[]},{"icon":"faFunnelDollar","aliases":["faFunnelDollar"]},{"icon":"faFutbol","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faFutbolBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faG","aliases":[]},{"icon":"faGalaxy","aliases":[]},{"icon":"faGalleryThumbnails","aliases":[]},{"icon":"faGameBoard","aliases":[]},{"icon":"faGameBoardAlt","aliases":["faGameBoardAlt"]},{"icon":"faGameBoardSimple","aliases":["faGameBoardAlt"]},{"icon":"faGameConsoleHandheld","aliases":[]},{"icon":"faGameConsoleHandheldCrank","aliases":[]},{"icon":"faGamepad","aliases":[]},{"icon":"faGamepadAlt","aliases":["faGamepadAlt"]},{"icon":"faGamepadModern","aliases":["faGamepadAlt"]},{"icon":"faGarage","aliases":[]},{"icon":"faGarageCar","aliases":[]},{"icon":"faGarageOpen","aliases":[]},{"icon":"faGarlic","aliases":[]},{"icon":"faGasPump","aliases":[]},{"icon":"faGasPumpSlash","aliases":[]},{"icon":"faGauge","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeCircleBolt","aliases":[]},{"icon":"faGaugeCircleMinus","aliases":[]},{"icon":"faGaugeCirclePlus","aliases":[]},{"icon":"faGaugeHigh","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faGaugeLow","aliases":["faTachometerAltSlow"]},{"icon":"faGaugeMax","aliases":["faTachometerAltFastest"]},{"icon":"faGaugeMed","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeMin","aliases":["faTachometerAltSlowest"]},{"icon":"faGaugeSimple","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGaugeSimpleHigh","aliases":["faTachometer","faTachometerFast"]},{"icon":"faGaugeSimpleLow","aliases":["faTachometerSlow"]},{"icon":"faGaugeSimpleMax","aliases":["faTachometerFastest"]},{"icon":"faGaugeSimpleMed","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGaugeSimpleMin","aliases":["faTachometerSlowest"]},{"icon":"faGaveDandy","aliases":["faGaveDandy"]},{"icon":"faGavel","aliases":["faLegal"]},{"icon":"faGbp","aliases":["faGbp","faPoundSign"]},{"icon":"faGear","aliases":["faCog"]},{"icon":"faGearCode","aliases":[]},{"icon":"faGearComplex","aliases":[]},{"icon":"faGearComplexCode","aliases":[]},{"icon":"faGears","aliases":["faCogs"]},{"icon":"faGem","aliases":[]},{"icon":"faGenderless","aliases":[]},{"icon":"faGhost","aliases":[]},{"icon":"faGif","aliases":[]},{"icon":"faGift","aliases":[]},{"icon":"faGiftCard","aliases":[]},{"icon":"faGifts","aliases":[]},{"icon":"faGingerbreadMan","aliases":[]},{"icon":"faGlass","aliases":[]},{"icon":"faGlassChampagne","aliases":["faGlassChampagne"]},{"icon":"faGlassCheers","aliases":["faGlassCheers"]},{"icon":"faGlassCitrus","aliases":[]},{"icon":"faGlassEmpty","aliases":[]},{"icon":"faGlassHalf","aliases":["faGlassHalfEmpty","faGlassHalfFull"]},{"icon":"faGlassHalfEmpty","aliases":["faGlassHalfEmpty","faGlassHalfFull"]},{"icon":"faGlassHalfFull","aliases":["faGlassHalfEmpty","faGlassHalfFull"]},{"icon":"faGlassMartini","aliases":["faGlassMartini"]},{"icon":"faGlassMartiniAlt","aliases":["faGlassMartiniAlt"]},{"icon":"faGlassWater","aliases":[]},{"icon":"faGlassWaterDroplet","aliases":[]},{"icon":"faGlassWhiskey","aliases":["faGlassWhiskey"]},{"icon":"faGlassWhiskeyRocks","aliases":["faGlassWhiskeyRocks"]},{"icon":"faGlasses","aliases":[]},{"icon":"faGlassesAlt","aliases":["faGlassesAlt"]},{"icon":"faGlassesRound","aliases":["faGlassesAlt"]},{"icon":"faGlobe","aliases":[]},{"icon":"faGlobeAfrica","aliases":["faGlobeAfrica"]},{"icon":"faGlobeAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faGlobeAsia","aliases":["faGlobeAsia"]},{"icon":"faGlobeEurope","aliases":["faGlobeEurope"]},{"icon":"faGlobeOceania","aliases":["faGlobeOceania"]},{"icon":"faGlobePointer","aliases":[]},{"icon":"faGlobeSnow","aliases":[]},{"icon":"faGlobeStand","aliases":[]},{"icon":"faGlobeWifi","aliases":[]},{"icon":"faGloveBoxing","aliases":["faGloveBoxing"]},{"icon":"faGoalNet","aliases":[]},{"icon":"faGolfBall","aliases":["faGolfBall"]},{"icon":"faGolfBallTee","aliases":["faGolfBall"]},{"icon":"faGolfClub","aliases":[]},{"icon":"faGolfFlagHole","aliases":[]},{"icon":"faGopuram","aliases":[]},{"icon":"faGraduationCap","aliases":["faMortarBoard"]},{"icon":"faGramophone","aliases":[]},{"icon":"faGrapes","aliases":[]},{"icon":"faGrate","aliases":[]},{"icon":"faGrateDroplet","aliases":[]},{"icon":"faGreaterThan","aliases":[]},{"icon":"faGreaterThanEqual","aliases":[]},{"icon":"faGrid","aliases":["faGrid3"]},{"icon":"faGrid2","aliases":[]},{"icon":"faGrid2Plus","aliases":[]},{"icon":"faGrid3","aliases":["faGrid3"]},{"icon":"faGrid4","aliases":[]},{"icon":"faGrid5","aliases":[]},{"icon":"faGridDividers","aliases":[]},{"icon":"faGridHorizontal","aliases":[]},{"icon":"faGridRound","aliases":[]},{"icon":"faGridRound2","aliases":[]},{"icon":"faGridRound2Plus","aliases":[]},{"icon":"faGridRound4","aliases":[]},{"icon":"faGridRound5","aliases":[]},{"icon":"faGrill","aliases":[]},{"icon":"faGrillFire","aliases":[]},{"icon":"faGrillHot","aliases":[]},{"icon":"faGrimace","aliases":["faGrimace"]},{"icon":"faGrin","aliases":["faGrin"]},{"icon":"faGrinAlt","aliases":["faGrinAlt"]},{"icon":"faGrinBeam","aliases":["faGrinBeam"]},{"icon":"faGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faGrinHearts","aliases":["faGrinHearts"]},{"icon":"faGrinSquint","aliases":["faGrinSquint"]},{"icon":"faGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faGrinStars","aliases":["faGrinStars"]},{"icon":"faGrinTears","aliases":["faGrinTears"]},{"icon":"faGrinTongue","aliases":["faGrinTongue"]},{"icon":"faGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faGrinWink","aliases":["faGrinWink"]},{"icon":"faGrip","aliases":["faGripHorizontal"]},{"icon":"faGripDots","aliases":[]},{"icon":"faGripDotsVertical","aliases":[]},{"icon":"faGripHorizontal","aliases":["faGripHorizontal"]},{"icon":"faGripLines","aliases":[]},{"icon":"faGripLinesVertical","aliases":[]},{"icon":"faGripVertical","aliases":[]},{"icon":"faGroupArrowsRotate","aliases":[]},{"icon":"faGuaraniSign","aliases":[]},{"icon":"faGuitar","aliases":[]},{"icon":"faGuitarElectric","aliases":[]},{"icon":"faGuitars","aliases":[]},{"icon":"faGun","aliases":[]},{"icon":"faGunSlash","aliases":[]},{"icon":"faGunSquirt","aliases":[]},{"icon":"faH","aliases":[]},{"icon":"faH1","aliases":[]},{"icon":"faH2","aliases":[]},{"icon":"faH3","aliases":[]},{"icon":"faH4","aliases":[]},{"icon":"faH5","aliases":[]},{"icon":"faH6","aliases":[]},{"icon":"faHSquare","aliases":["faHSquare"]},{"icon":"faHamburger","aliases":["faHamburger"]},{"icon":"faHammer","aliases":[]},{"icon":"faHammerBrush","aliases":[]},{"icon":"faHammerCrash","aliases":[]},{"icon":"faHammerWar","aliases":[]},{"icon":"faHamsa","aliases":[]},{"icon":"faHand","aliases":["faHandPaper"]},{"icon":"faHandBackFist","aliases":["faHandRock"]},{"icon":"faHandBackPointDown","aliases":[]},{"icon":"faHandBackPointLeft","aliases":[]},{"icon":"faHandBackPointRibbon","aliases":[]},{"icon":"faHandBackPointRight","aliases":[]},{"icon":"faHandBackPointUp","aliases":[]},{"icon":"faHandDots","aliases":["faAllergies"]},{"icon":"faHandFingersCrossed","aliases":[]},{"icon":"faHandFist","aliases":["faFistRaised"]},{"icon":"faHandHeart","aliases":[]},{"icon":"faHandHolding","aliases":[]},{"icon":"faHandHoldingBox","aliases":[]},{"icon":"faHandHoldingCircleDollar","aliases":[]},{"icon":"faHandHoldingDollar","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingDroplet","aliases":["faHandHoldingWater"]},{"icon":"faHandHoldingHand","aliases":[]},{"icon":"faHandHoldingHeart","aliases":[]},{"icon":"faHandHoldingMagic","aliases":[]},{"icon":"faHandHoldingMedical","aliases":[]},{"icon":"faHandHoldingSeedling","aliases":[]},{"icon":"faHandHoldingSkull","aliases":[]},{"icon":"faHandHoldingUsd","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingWater","aliases":["faHandHoldingWater"]},{"icon":"faHandHorns","aliases":[]},{"icon":"faHandLizard","aliases":[]},{"icon":"faHandLove","aliases":[]},{"icon":"faHandMiddleFinger","aliases":[]},{"icon":"faHandPaper","aliases":["faHandPaper"]},{"icon":"faHandPeace","aliases":[]},{"icon":"faHandPointDown","aliases":[]},{"icon":"faHandPointLeft","aliases":[]},{"icon":"faHandPointRibbon","aliases":[]},{"icon":"faHandPointRight","aliases":[]},{"icon":"faHandPointUp","aliases":[]},{"icon":"faHandPointer","aliases":[]},{"icon":"faHandReceiving","aliases":["faHandReceiving"]},{"icon":"faHandRock","aliases":["faHandRock"]},{"icon":"faHandScissors","aliases":[]},{"icon":"faHandSparkles","aliases":[]},{"icon":"faHandSpock","aliases":[]},{"icon":"faHandWave","aliases":[]},{"icon":"faHandcuffs","aliases":[]},{"icon":"faHands","aliases":["faSignLanguage","faSigning"]},{"icon":"faHandsAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsBound","aliases":[]},{"icon":"faHandsBubbles","aliases":["faHandsWash"]},{"icon":"faHandsClapping","aliases":[]},{"icon":"faHandsHeart","aliases":["faHandsHeart"]},{"icon":"faHandsHelping","aliases":["faHandsHelping"]},{"icon":"faHandsHolding","aliases":[]},{"icon":"faHandsHoldingChild","aliases":[]},{"icon":"faHandsHoldingCircle","aliases":[]},{"icon":"faHandsHoldingDiamond","aliases":["faHandReceiving"]},{"icon":"faHandsHoldingDollar","aliases":["faHandsUsd"]},{"icon":"faHandsHoldingHeart","aliases":["faHandsHeart"]},{"icon":"faHandsPraying","aliases":["faPrayingHands"]},{"icon":"faHandsUsd","aliases":["faHandsUsd"]},{"icon":"faHandsWash","aliases":["faHandsWash"]},{"icon":"faHandshake","aliases":[]},{"icon":"faHandshakeAlt","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeAltSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeAngle","aliases":["faHandsHelping"]},{"icon":"faHandshakeSimple","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeSimpleSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeSlash","aliases":[]},{"icon":"faHanukiah","aliases":[]},{"icon":"faHardDrive","aliases":["faHdd"]},{"icon":"faHardHat","aliases":["faHardHat","faHatHard"]},{"icon":"faHardOfHearing","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faHashtag","aliases":[]},{"icon":"faHashtagLock","aliases":[]},{"icon":"faHatBeach","aliases":[]},{"icon":"faHatChef","aliases":[]},{"icon":"faHatCowboy","aliases":[]},{"icon":"faHatCowboySide","aliases":[]},{"icon":"faHatHard","aliases":["faHardHat","faHatHard"]},{"icon":"faHatSanta","aliases":[]},{"icon":"faHatWinter","aliases":[]},{"icon":"faHatWitch","aliases":[]},{"icon":"faHatWizard","aliases":[]},{"icon":"faHaykal","aliases":["faHaykal"]},{"icon":"faHdd","aliases":["faHdd"]},{"icon":"faHeadSide","aliases":[]},{"icon":"faHeadSideBrain","aliases":[]},{"icon":"faHeadSideCough","aliases":[]},{"icon":"faHeadSideCoughSlash","aliases":[]},{"icon":"faHeadSideGear","aliases":[]},{"icon":"faHeadSideGoggles","aliases":["faHeadVr"]},{"icon":"faHeadSideHeadphones","aliases":[]},{"icon":"faHeadSideHeart","aliases":[]},{"icon":"faHeadSideMask","aliases":[]},{"icon":"faHeadSideMedical","aliases":[]},{"icon":"faHeadSideVirus","aliases":[]},{"icon":"faHeadVr","aliases":["faHeadVr"]},{"icon":"faHeader","aliases":["faHeader"]},{"icon":"faHeading","aliases":["faHeader"]},{"icon":"faHeadphones","aliases":[]},{"icon":"faHeadphonesAlt","aliases":["faHeadphonesAlt"]},{"icon":"faHeadphonesSimple","aliases":["faHeadphonesAlt"]},{"icon":"faHeadset","aliases":[]},{"icon":"faHeart","aliases":[]},{"icon":"faHeartBroken","aliases":["faHeartBroken"]},{"icon":"faHeartCircle","aliases":["faHeartCircle"]},{"icon":"faHeartCircleBolt","aliases":[]},{"icon":"faHeartCircleCheck","aliases":[]},{"icon":"faHeartCircleExclamation","aliases":[]},{"icon":"faHeartCircleMinus","aliases":[]},{"icon":"faHeartCirclePlus","aliases":[]},{"icon":"faHeartCircleXmark","aliases":[]},{"icon":"faHeartCrack","aliases":["faHeartBroken"]},{"icon":"faHeartHalf","aliases":[]},{"icon":"faHeartHalfAlt","aliases":["faHeartHalfAlt"]},{"icon":"faHeartHalfStroke","aliases":["faHeartHalfAlt"]},{"icon":"faHeartMusicCameraBolt","aliases":["faHeartMusicCameraBolt"]},{"icon":"faHeartPulse","aliases":["faHeartbeat"]},{"icon":"faHeartRate","aliases":["faHeartRate"]},{"icon":"faHeartSquare","aliases":["faHeartSquare"]},{"icon":"faHeartbeat","aliases":["faHeartbeat"]},{"icon":"faHeat","aliases":[]},{"icon":"faHelicopter","aliases":[]},{"icon":"faHelicopterSymbol","aliases":[]},{"icon":"faHelmetBattle","aliases":[]},{"icon":"faHelmetSafety","aliases":["faHardHat","faHatHard"]},{"icon":"faHelmetUn","aliases":[]},{"icon":"faHexagon","aliases":[]},{"icon":"faHexagonCheck","aliases":[]},{"icon":"faHexagonDivide","aliases":[]},{"icon":"faHexagonExclamation","aliases":[]},{"icon":"faHexagonImage","aliases":[]},{"icon":"faHexagonMinus","aliases":["faMinusHexagon"]},{"icon":"faHexagonPlus","aliases":["faPlusHexagon"]},{"icon":"faHexagonVerticalNft","aliases":[]},{"icon":"faHexagonVerticalNftSlanted","aliases":[]},{"icon":"faHexagonXmark","aliases":["faTimesHexagon","faXmarkHexagon"]},{"icon":"faHighDefinition","aliases":["faRectangleHd"]},{"icon":"faHighlighter","aliases":[]},{"icon":"faHighlighterLine","aliases":[]},{"icon":"faHiking","aliases":["faHiking"]},{"icon":"faHillAvalanche","aliases":[]},{"icon":"faHillRockslide","aliases":[]},{"icon":"faHippo","aliases":[]},{"icon":"faHistory","aliases":["faHistory"]},{"icon":"faHockeyMask","aliases":[]},{"icon":"faHockeyPuck","aliases":[]},{"icon":"faHockeyStickPuck","aliases":[]},{"icon":"faHockeySticks","aliases":[]},{"icon":"faHollyBerry","aliases":[]},{"icon":"faHome","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeBlank","aliases":["faHomeBlank"]},{"icon":"faHomeHeart","aliases":["faHomeHeart"]},{"icon":"faHomeLg","aliases":["faHomeLg"]},{"icon":"faHomeLgAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeUser","aliases":["faHomeUser"]},{"icon":"faHoneyPot","aliases":[]},{"icon":"faHoodCloak","aliases":[]},{"icon":"faHorizontalRule","aliases":[]},{"icon":"faHorse","aliases":[]},{"icon":"faHorseHead","aliases":[]},{"icon":"faHorseSaddle","aliases":[]},{"icon":"faHose","aliases":[]},{"icon":"faHoseReel","aliases":[]},{"icon":"faHospital","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalAlt","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalSymbol","aliases":["faHospitalSymbol"]},{"icon":"faHospitalUser","aliases":[]},{"icon":"faHospitalWide","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitals","aliases":[]},{"icon":"faHotTub","aliases":["faHotTub"]},{"icon":"faHotTubPerson","aliases":["faHotTub"]},{"icon":"faHotdog","aliases":[]},{"icon":"faHotel","aliases":[]},{"icon":"faHourglass","aliases":["faHourglassEmpty"]},{"icon":"faHourglass1","aliases":["faHourglass1"]},{"icon":"faHourglass2","aliases":["faHourglass2"]},{"icon":"faHourglass3","aliases":["faHourglass3"]},{"icon":"faHourglassClock","aliases":[]},{"icon":"faHourglassEmpty","aliases":["faHourglassEmpty"]},{"icon":"faHourglassEnd","aliases":["faHourglass3"]},{"icon":"faHourglassHalf","aliases":["faHourglass2"]},{"icon":"faHourglassStart","aliases":["faHourglass1"]},{"icon":"faHouse","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHouseBlank","aliases":["faHomeBlank"]},{"icon":"faHouseBuilding","aliases":[]},{"icon":"faHouseChimney","aliases":["faHomeLg"]},{"icon":"faHouseChimneyBlank","aliases":[]},{"icon":"faHouseChimneyCrack","aliases":["faHouseDamage"]},{"icon":"faHouseChimneyHeart","aliases":[]},{"icon":"faHouseChimneyMedical","aliases":["faClinicMedical"]},{"icon":"faHouseChimneyUser","aliases":[]},{"icon":"faHouseChimneyWindow","aliases":[]},{"icon":"faHouseCircleCheck","aliases":[]},{"icon":"faHouseCircleExclamation","aliases":[]},{"icon":"faHouseCircleXmark","aliases":[]},{"icon":"faHouseCrack","aliases":[]},{"icon":"faHouseDamage","aliases":["faHouseDamage"]},{"icon":"faHouseDay","aliases":[]},{"icon":"faHouseFire","aliases":[]},{"icon":"faHouseFlag","aliases":[]},{"icon":"faHouseFlood","aliases":["faHouseFlood"]},{"icon":"faHouseFloodWater","aliases":[]},{"icon":"faHouseFloodWaterCircleArrowRight","aliases":[]},{"icon":"faHouseHeart","aliases":["faHomeHeart"]},{"icon":"faHouseLaptop","aliases":["faLaptopHouse"]},{"icon":"faHouseLeave","aliases":["faHouseLeave","faHousePersonDepart"]},{"icon":"faHouseLock","aliases":[]},{"icon":"faHouseMedical","aliases":[]},{"icon":"faHouseMedicalCircleCheck","aliases":[]},{"icon":"faHouseMedicalCircleExclamation","aliases":[]},{"icon":"faHouseMedicalCircleXmark","aliases":[]},{"icon":"faHouseMedicalFlag","aliases":[]},{"icon":"faHouseNight","aliases":[]},{"icon":"faHousePersonArrive","aliases":["faHousePersonArrive","faHouseReturn"]},{"icon":"faHousePersonDepart","aliases":["faHouseLeave","faHousePersonDepart"]},{"icon":"faHousePersonLeave","aliases":["faHouseLeave","faHousePersonDepart"]},{"icon":"faHousePersonReturn","aliases":["faHousePersonArrive","faHouseReturn"]},{"icon":"faHouseReturn","aliases":["faHousePersonArrive","faHouseReturn"]},{"icon":"faHouseSignal","aliases":[]},{"icon":"faHouseTree","aliases":[]},{"icon":"faHouseTsunami","aliases":[]},{"icon":"faHouseTurret","aliases":[]},{"icon":"faHouseUser","aliases":["faHomeUser"]},{"icon":"faHouseWater","aliases":["faHouseFlood"]},{"icon":"faHouseWindow","aliases":[]},{"icon":"faHryvnia","aliases":["faHryvnia"]},{"icon":"faHryvniaSign","aliases":["faHryvnia"]},{"icon":"faHumidity","aliases":["faHumidity"]},{"icon":"faHundredPoints","aliases":["fa100"]},{"icon":"faHurricane","aliases":[]},{"icon":"faHydra","aliases":[]},{"icon":"faHyphen","aliases":[]},{"icon":"faI","aliases":[]},{"icon":"faICursor","aliases":[]},{"icon":"faIceCream","aliases":[]},{"icon":"faIceSkate","aliases":[]},{"icon":"faIcicles","aliases":[]},{"icon":"faIcons","aliases":["faHeartMusicCameraBolt"]},{"icon":"faIconsAlt","aliases":["faIconsAlt"]},{"icon":"faIdBadge","aliases":[]},{"icon":"faIdCard","aliases":["faDriversLicense"]},{"icon":"faIdCardAlt","aliases":["faIdCardAlt"]},{"icon":"faIdCardClip","aliases":["faIdCardAlt"]},{"icon":"faIgloo","aliases":[]},{"icon":"faIls","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faImage","aliases":[]},{"icon":"faImageLandscape","aliases":["faLandscape"]},{"icon":"faImagePolaroid","aliases":[]},{"icon":"faImagePolaroidUser","aliases":[]},{"icon":"faImagePortrait","aliases":["faPortrait"]},{"icon":"faImageSlash","aliases":[]},{"icon":"faImageUser","aliases":[]},{"icon":"faImages","aliases":[]},{"icon":"faImagesUser","aliases":[]},{"icon":"faInbox","aliases":[]},{"icon":"faInboxArrowDown","aliases":["faInboxArrowDown"]},{"icon":"faInboxArrowUp","aliases":["faInboxArrowUp"]},{"icon":"faInboxFull","aliases":[]},{"icon":"faInboxIn","aliases":["faInboxArrowDown"]},{"icon":"faInboxOut","aliases":["faInboxArrowUp"]},{"icon":"faInboxes","aliases":[]},{"icon":"faIndent","aliases":[]},{"icon":"faIndianRupee","aliases":["faIndianRupee","faInr"]},{"icon":"faIndianRupeeSign","aliases":["faIndianRupee","faInr"]},{"icon":"faIndustry","aliases":[]},{"icon":"faIndustryAlt","aliases":["faIndustryAlt"]},{"icon":"faIndustryWindows","aliases":["faIndustryAlt"]},{"icon":"faInfinity","aliases":[]},{"icon":"faInfo","aliases":[]},{"icon":"faInfoCircle","aliases":["faInfoCircle"]},{"icon":"faInfoSquare","aliases":["faInfoSquare"]},{"icon":"faInhaler","aliases":[]},{"icon":"faInputNumeric","aliases":[]},{"icon":"faInputPipe","aliases":[]},{"icon":"faInputText","aliases":[]},{"icon":"faInr","aliases":["faIndianRupee","faInr"]},{"icon":"faInstitution","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faIntegral","aliases":[]},{"icon":"faInterrobang","aliases":[]},{"icon":"faIntersection","aliases":[]},{"icon":"faInventory","aliases":["faInventory"]},{"icon":"faIslandTreePalm","aliases":["faIslandTreePalm"]},{"icon":"faIslandTropical","aliases":["faIslandTreePalm"]},{"icon":"faItalic","aliases":[]},{"icon":"faJ","aliases":[]},{"icon":"faJackOLantern","aliases":[]},{"icon":"faJar","aliases":[]},{"icon":"faJarWheat","aliases":[]},{"icon":"faJedi","aliases":[]},{"icon":"faJetFighter","aliases":["faFighterJet"]},{"icon":"faJetFighterUp","aliases":[]},{"icon":"faJoint","aliases":[]},{"icon":"faJournalWhills","aliases":["faJournalWhills"]},{"icon":"faJoystick","aliases":[]},{"icon":"faJpy","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faJug","aliases":[]},{"icon":"faJugBottle","aliases":[]},{"icon":"faJugDetergent","aliases":[]},{"icon":"faK","aliases":[]},{"icon":"faKaaba","aliases":[]},{"icon":"faKazoo","aliases":[]},{"icon":"faKerning","aliases":[]},{"icon":"faKey","aliases":[]},{"icon":"faKeySkeleton","aliases":[]},{"icon":"faKeySkeletonLeftRight","aliases":[]},{"icon":"faKeyboard","aliases":[]},{"icon":"faKeyboardBrightness","aliases":[]},{"icon":"faKeyboardBrightnessLow","aliases":[]},{"icon":"faKeyboardDown","aliases":[]},{"icon":"faKeyboardLeft","aliases":[]},{"icon":"faKeynote","aliases":[]},{"icon":"faKhanda","aliases":[]},{"icon":"faKidneys","aliases":[]},{"icon":"faKipSign","aliases":[]},{"icon":"faKiss","aliases":["faKiss"]},{"icon":"faKissBeam","aliases":["faKissBeam"]},{"icon":"faKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faKitMedical","aliases":["faFirstAid"]},{"icon":"faKitchenSet","aliases":[]},{"icon":"faKite","aliases":[]},{"icon":"faKiwiBird","aliases":[]},{"icon":"faKiwiFruit","aliases":[]},{"icon":"faKnife","aliases":["faUtensilKnife"]},{"icon":"faKnifeKitchen","aliases":[]},{"icon":"faKrw","aliases":["faKrw","faWon"]},{"icon":"faL","aliases":[]},{"icon":"faLacrosseStick","aliases":[]},{"icon":"faLacrosseStickBall","aliases":[]},{"icon":"faLadderWater","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faLambda","aliases":[]},{"icon":"faLamp","aliases":[]},{"icon":"faLampDesk","aliases":[]},{"icon":"faLampFloor","aliases":[]},{"icon":"faLampStreet","aliases":[]},{"icon":"faLandMineOn","aliases":[]},{"icon":"faLandmark","aliases":[]},{"icon":"faLandmarkAlt","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkDome","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkFlag","aliases":[]},{"icon":"faLandmarkMagnifyingGlass","aliases":[]},{"icon":"faLandscape","aliases":["faLandscape"]},{"icon":"faLanguage","aliases":[]},{"icon":"faLaptop","aliases":[]},{"icon":"faLaptopArrowDown","aliases":[]},{"icon":"faLaptopBinary","aliases":[]},{"icon":"faLaptopCode","aliases":[]},{"icon":"faLaptopFile","aliases":[]},{"icon":"faLaptopHouse","aliases":["faLaptopHouse"]},{"icon":"faLaptopMedical","aliases":[]},{"icon":"faLaptopMobile","aliases":["faPhoneLaptop"]},{"icon":"faLaptopSlash","aliases":[]},{"icon":"faLariSign","aliases":[]},{"icon":"faLasso","aliases":[]},{"icon":"faLassoSparkles","aliases":[]},{"icon":"faLaugh","aliases":["faLaugh"]},{"icon":"faLaughBeam","aliases":["faLaughBeam"]},{"icon":"faLaughSquint","aliases":["faLaughSquint"]},{"icon":"faLaughWink","aliases":["faLaughWink"]},{"icon":"faLayerGroup","aliases":[]},{"icon":"faLayerGroupMinus","aliases":["faLayerGroupMinus"]},{"icon":"faLayerGroupPlus","aliases":["faLayerGroupPlus"]},{"icon":"faLayerMinus","aliases":["faLayerGroupMinus"]},{"icon":"faLayerPlus","aliases":["faLayerGroupPlus"]},{"icon":"faLeaf","aliases":[]},{"icon":"faLeafHeart","aliases":[]},{"icon":"faLeafMaple","aliases":[]},{"icon":"faLeafOak","aliases":[]},{"icon":"faLeafyGreen","aliases":[]},{"icon":"faLeft","aliases":["faArrowAltLeft"]},{"icon":"faLeftFromBracket","aliases":[]},{"icon":"faLeftFromLine","aliases":["faArrowAltFromRight"]},{"icon":"faLeftLong","aliases":["faLongArrowAltLeft"]},{"icon":"faLeftLongToLine","aliases":[]},{"icon":"faLeftRight","aliases":["faArrowsAltH"]},{"icon":"faLeftToBracket","aliases":[]},{"icon":"faLeftToLine","aliases":["faArrowAltToLeft"]},{"icon":"faLegal","aliases":["faLegal"]},{"icon":"faLemon","aliases":[]},{"icon":"faLessThan","aliases":[]},{"icon":"faLessThanEqual","aliases":[]},{"icon":"faLevelDown","aliases":["faLevelDown"]},{"icon":"faLevelDownAlt","aliases":["faLevelDownAlt"]},{"icon":"faLevelUp","aliases":["faLevelUp"]},{"icon":"faLevelUpAlt","aliases":["faLevelUpAlt"]},{"icon":"faLifeRing","aliases":[]},{"icon":"faLightCeiling","aliases":[]},{"icon":"faLightEmergency","aliases":[]},{"icon":"faLightEmergencyOn","aliases":[]},{"icon":"faLightSwitch","aliases":[]},{"icon":"faLightSwitchOff","aliases":[]},{"icon":"faLightSwitchOn","aliases":[]},{"icon":"faLightbulb","aliases":[]},{"icon":"faLightbulbCfl","aliases":[]},{"icon":"faLightbulbCflOn","aliases":[]},{"icon":"faLightbulbDollar","aliases":[]},{"icon":"faLightbulbExclamation","aliases":[]},{"icon":"faLightbulbExclamationOn","aliases":[]},{"icon":"faLightbulbGear","aliases":[]},{"icon":"faLightbulbMessage","aliases":[]},{"icon":"faLightbulbOn","aliases":[]},{"icon":"faLightbulbSlash","aliases":[]},{"icon":"faLighthouse","aliases":[]},{"icon":"faLightsHoliday","aliases":[]},{"icon":"faLineChart","aliases":["faLineChart"]},{"icon":"faLineColumns","aliases":[]},{"icon":"faLineHeight","aliases":[]},{"icon":"faLinesLeaning","aliases":[]},{"icon":"faLink","aliases":["faChain"]},{"icon":"faLinkHorizontal","aliases":["faChainHorizontal"]},{"icon":"faLinkHorizontalSlash","aliases":["faChainHorizontalSlash"]},{"icon":"faLinkSimple","aliases":[]},{"icon":"faLinkSimpleSlash","aliases":[]},{"icon":"faLinkSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faLips","aliases":[]},{"icon":"faLiraSign","aliases":[]},{"icon":"faList","aliases":["faListSquares"]},{"icon":"faList12","aliases":["faList12","faListNumeric"]},{"icon":"faListAlt","aliases":["faListAlt"]},{"icon":"faListCheck","aliases":["faTasks"]},{"icon":"faListDots","aliases":["faListDots"]},{"icon":"faListDropdown","aliases":[]},{"icon":"faListMusic","aliases":[]},{"icon":"faListNumeric","aliases":["faList12","faListNumeric"]},{"icon":"faListOl","aliases":["faList12","faListNumeric"]},{"icon":"faListRadio","aliases":[]},{"icon":"faListSquares","aliases":["faListSquares"]},{"icon":"faListTimeline","aliases":[]},{"icon":"faListTree","aliases":[]},{"icon":"faListUl","aliases":["faListDots"]},{"icon":"faLitecoinSign","aliases":[]},{"icon":"faLoader","aliases":[]},{"icon":"faLobster","aliases":[]},{"icon":"faLocation","aliases":["faLocation"]},{"icon":"faLocationArrow","aliases":[]},{"icon":"faLocationArrowUp","aliases":[]},{"icon":"faLocationCheck","aliases":["faMapMarkerCheck"]},{"icon":"faLocationCircle","aliases":["faLocationCircle"]},{"icon":"faLocationCrosshairs","aliases":["faLocation"]},{"icon":"faLocationCrosshairsSlash","aliases":["faLocationSlash"]},{"icon":"faLocationDot","aliases":["faMapMarkerAlt"]},{"icon":"faLocationDotSlash","aliases":["faMapMarkerAltSlash"]},{"icon":"faLocationExclamation","aliases":["faMapMarkerExclamation"]},{"icon":"faLocationMinus","aliases":["faMapMarkerMinus"]},{"icon":"faLocationPen","aliases":["faMapMarkerEdit"]},{"icon":"faLocationPin","aliases":["faMapMarker"]},{"icon":"faLocationPinLock","aliases":[]},{"icon":"faLocationPinSlash","aliases":["faMapMarkerSlash"]},{"icon":"faLocationPlus","aliases":["faMapMarkerPlus"]},{"icon":"faLocationQuestion","aliases":["faMapMarkerQuestion"]},{"icon":"faLocationSlash","aliases":["faLocationSlash"]},{"icon":"faLocationSmile","aliases":["faMapMarkerSmile"]},{"icon":"faLocationXmark","aliases":["faMapMarkerTimes","faMapMarkerXmark"]},{"icon":"faLock","aliases":[]},{"icon":"faLockA","aliases":[]},{"icon":"faLockAlt","aliases":["faLockAlt"]},{"icon":"faLockHashtag","aliases":[]},{"icon":"faLockKeyhole","aliases":["faLockAlt"]},{"icon":"faLockKeyholeOpen","aliases":["faLockOpenAlt"]},{"icon":"faLockOpen","aliases":[]},{"icon":"faLockOpenAlt","aliases":["faLockOpenAlt"]},{"icon":"faLocust","aliases":[]},{"icon":"faLollipop","aliases":["faLollypop"]},{"icon":"faLollypop","aliases":["faLollypop"]},{"icon":"faLongArrowAltDown","aliases":["faLongArrowAltDown"]},{"icon":"faLongArrowAltLeft","aliases":["faLongArrowAltLeft"]},{"icon":"faLongArrowAltRight","aliases":["faLongArrowAltRight"]},{"icon":"faLongArrowAltUp","aliases":["faLongArrowAltUp"]},{"icon":"faLongArrowDown","aliases":["faLongArrowDown"]},{"icon":"faLongArrowLeft","aliases":["faLongArrowLeft"]},{"icon":"faLongArrowRight","aliases":["faLongArrowRight"]},{"icon":"faLongArrowUp","aliases":["faLongArrowUp"]},{"icon":"faLoveseat","aliases":["faCouchSmall"]},{"icon":"faLowVision","aliases":["faLowVision"]},{"icon":"faLuchador","aliases":["faLuchador","faMaskLuchador"]},{"icon":"faLuchadorMask","aliases":["faLuchador","faMaskLuchador"]},{"icon":"faLuggageCart","aliases":["faLuggageCart"]},{"icon":"faLungs","aliases":[]},{"icon":"faLungsVirus","aliases":[]},{"icon":"faM","aliases":[]},{"icon":"faMace","aliases":[]},{"icon":"faMagic","aliases":["faMagic"]},{"icon":"faMagicWandSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faMagnet","aliases":[]},{"icon":"faMagnifyingGlass","aliases":["faSearch"]},{"icon":"faMagnifyingGlassArrowRight","aliases":[]},{"icon":"faMagnifyingGlassArrowsRotate","aliases":[]},{"icon":"faMagnifyingGlassChart","aliases":[]},{"icon":"faMagnifyingGlassDollar","aliases":["faSearchDollar"]},{"icon":"faMagnifyingGlassLocation","aliases":["faSearchLocation"]},{"icon":"faMagnifyingGlassMinus","aliases":["faSearchMinus"]},{"icon":"faMagnifyingGlassMusic","aliases":[]},{"icon":"faMagnifyingGlassPlay","aliases":[]},{"icon":"faMagnifyingGlassPlus","aliases":["faSearchPlus"]},{"icon":"faMagnifyingGlassWaveform","aliases":[]},{"icon":"faMailBulk","aliases":["faMailBulk"]},{"icon":"faMailForward","aliases":["faMailForward"]},{"icon":"faMailReply","aliases":["faMailReply"]},{"icon":"faMailReplyAll","aliases":["faMailReplyAll"]},{"icon":"faMailbox","aliases":[]},{"icon":"faMailboxFlagUp","aliases":[]},{"icon":"faMakiRoll","aliases":["faMakiRoll","faMakizushi"]},{"icon":"faMakizushi","aliases":["faMakiRoll","faMakizushi"]},{"icon":"faMale","aliases":["faMale"]},{"icon":"faManatSign","aliases":[]},{"icon":"faMandolin","aliases":[]},{"icon":"faMango","aliases":[]},{"icon":"faManhole","aliases":[]},{"icon":"faMap","aliases":[]},{"icon":"faMapLocation","aliases":["faMapMarked"]},{"icon":"faMapLocationDot","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarked","aliases":["faMapMarked"]},{"icon":"faMapMarkedAlt","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarker","aliases":["faMapMarker"]},{"icon":"faMapMarkerAlt","aliases":["faMapMarkerAlt"]},{"icon":"faMapMarkerAltSlash","aliases":["faMapMarkerAltSlash"]},{"icon":"faMapMarkerCheck","aliases":["faMapMarkerCheck"]},{"icon":"faMapMarkerEdit","aliases":["faMapMarkerEdit"]},{"icon":"faMapMarkerExclamation","aliases":["faMapMarkerExclamation"]},{"icon":"faMapMarkerMinus","aliases":["faMapMarkerMinus"]},{"icon":"faMapMarkerPlus","aliases":["faMapMarkerPlus"]},{"icon":"faMapMarkerQuestion","aliases":["faMapMarkerQuestion"]},{"icon":"faMapMarkerSlash","aliases":["faMapMarkerSlash"]},{"icon":"faMapMarkerSmile","aliases":["faMapMarkerSmile"]},{"icon":"faMapMarkerTimes","aliases":["faMapMarkerTimes","faMapMarkerXmark"]},{"icon":"faMapMarkerXmark","aliases":["faMapMarkerTimes","faMapMarkerXmark"]},{"icon":"faMapPin","aliases":[]},{"icon":"faMapSigns","aliases":["faMapSigns"]},{"icon":"faMarker","aliases":[]},{"icon":"faMars","aliases":[]},{"icon":"faMarsAndVenus","aliases":[]},{"icon":"faMarsAndVenusBurst","aliases":[]},{"icon":"faMarsDouble","aliases":[]},{"icon":"faMarsStroke","aliases":[]},{"icon":"faMarsStrokeH","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeRight","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeUp","aliases":["faMarsStrokeV"]},{"icon":"faMarsStrokeV","aliases":["faMarsStrokeV"]},{"icon":"faMartiniGlass","aliases":["faGlassMartiniAlt"]},{"icon":"faMartiniGlassCitrus","aliases":["faCocktail"]},{"icon":"faMartiniGlassEmpty","aliases":["faGlassMartini"]},{"icon":"faMask","aliases":[]},{"icon":"faMaskFace","aliases":[]},{"icon":"faMaskLuchador","aliases":["faLuchador","faMaskLuchador"]},{"icon":"faMaskSnorkel","aliases":[]},{"icon":"faMaskVentilator","aliases":[]},{"icon":"faMasksTheater","aliases":["faTheaterMasks"]},{"icon":"faMattressPillow","aliases":[]},{"icon":"faMaximize","aliases":["faExpandArrowsAlt"]},{"icon":"faMeat","aliases":[]},{"icon":"faMedal","aliases":[]},{"icon":"faMedkit","aliases":["faMedkit"]},{"icon":"faMegaphone","aliases":[]},{"icon":"faMeh","aliases":["faMeh"]},{"icon":"faMehBlank","aliases":["faMehBlank"]},{"icon":"faMehRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faMelon","aliases":[]},{"icon":"faMelonSlice","aliases":[]},{"icon":"faMemo","aliases":[]},{"icon":"faMemoCircleCheck","aliases":[]},{"icon":"faMemoCircleInfo","aliases":[]},{"icon":"faMemoPad","aliases":[]},{"icon":"faMemory","aliases":[]},{"icon":"faMenorah","aliases":[]},{"icon":"faMercury","aliases":[]},{"icon":"faMerge","aliases":[]},{"icon":"faMessage","aliases":["faCommentAlt"]},{"icon":"faMessageArrowDown","aliases":["faCommentAltArrowDown"]},{"icon":"faMessageArrowUp","aliases":["faCommentAltArrowUp"]},{"icon":"faMessageArrowUpRight","aliases":[]},{"icon":"faMessageBot","aliases":[]},{"icon":"faMessageCaptions","aliases":["faCommentAltCaptions"]},{"icon":"faMessageCheck","aliases":["faCommentAltCheck"]},{"icon":"faMessageCode","aliases":[]},{"icon":"faMessageDollar","aliases":["faCommentAltDollar"]},{"icon":"faMessageDots","aliases":["faCommentAltDots","faMessaging"]},{"icon":"faMessageEdit","aliases":["faCommentAltEdit","faMessageEdit"]},{"icon":"faMessageExclamation","aliases":["faCommentAltExclamation"]},{"icon":"faMessageHeart","aliases":[]},{"icon":"faMessageImage","aliases":["faCommentAltImage"]},{"icon":"faMessageLines","aliases":["faCommentAltLines"]},{"icon":"faMessageMedical","aliases":["faCommentAltMedical"]},{"icon":"faMessageMiddle","aliases":["faCommentMiddleAlt"]},{"icon":"faMessageMiddleTop","aliases":["faCommentMiddleTopAlt"]},{"icon":"faMessageMinus","aliases":["faCommentAltMinus"]},{"icon":"faMessageMusic","aliases":["faCommentAltMusic"]},{"icon":"faMessagePen","aliases":["faCommentAltEdit","faMessageEdit"]},{"icon":"faMessagePlus","aliases":["faCommentAltPlus"]},{"icon":"faMessageQuestion","aliases":[]},{"icon":"faMessageQuote","aliases":["faCommentAltQuote"]},{"icon":"faMessageSlash","aliases":["faCommentAltSlash"]},{"icon":"faMessageSmile","aliases":["faCommentAltSmile"]},{"icon":"faMessageSms","aliases":[]},{"icon":"faMessageText","aliases":["faCommentAltText"]},{"icon":"faMessageTimes","aliases":["faCommentAltTimes","faMessageTimes"]},{"icon":"faMessageXmark","aliases":["faCommentAltTimes","faMessageTimes"]},{"icon":"faMessages","aliases":["faCommentsAlt"]},{"icon":"faMessagesDollar","aliases":["faCommentsAltDollar"]},{"icon":"faMessagesQuestion","aliases":[]},{"icon":"faMessaging","aliases":["faCommentAltDots","faMessaging"]},{"icon":"faMeteor","aliases":[]},{"icon":"faMeter","aliases":[]},{"icon":"faMeterBolt","aliases":[]},{"icon":"faMeterDroplet","aliases":[]},{"icon":"faMeterFire","aliases":[]},{"icon":"faMicrochip","aliases":[]},{"icon":"faMicrochipAi","aliases":[]},{"icon":"faMicrophone","aliases":[]},{"icon":"faMicrophoneAlt","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneAltSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneCircle","aliases":["faMicrophoneCircle"]},{"icon":"faMicrophoneCircleAlt","aliases":["faMicrophoneCircleAlt"]},{"icon":"faMicrophoneLines","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneLinesSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneSlash","aliases":[]},{"icon":"faMicrophoneStand","aliases":[]},{"icon":"faMicroscope","aliases":[]},{"icon":"faMicrowave","aliases":[]},{"icon":"faMillSign","aliases":[]},{"icon":"faMindShare","aliases":["faMindShare"]},{"icon":"faMinimize","aliases":["faCompressArrowsAlt"]},{"icon":"faMinus","aliases":["faSubtract"]},{"icon":"faMinusCircle","aliases":["faMinusCircle"]},{"icon":"faMinusHexagon","aliases":["faMinusHexagon"]},{"icon":"faMinusLarge","aliases":["faMinusLarge"]},{"icon":"faMinusOctagon","aliases":["faMinusOctagon"]},{"icon":"faMinusSquare","aliases":["faMinusSquare"]},{"icon":"faMistletoe","aliases":[]},{"icon":"faMitten","aliases":[]},{"icon":"faMobile","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAlt","aliases":["faMobileAlt"]},{"icon":"faMobileAndroid","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAndroidAlt","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileButton","aliases":[]},{"icon":"faMobileIphone","aliases":["faMobileIphone"]},{"icon":"faMobileNotch","aliases":["faMobileIphone"]},{"icon":"faMobilePhone","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileRetro","aliases":[]},{"icon":"faMobileScreen","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileScreenButton","aliases":["faMobileAlt"]},{"icon":"faMobileSignal","aliases":[]},{"icon":"faMobileSignalOut","aliases":[]},{"icon":"faMoneyBill","aliases":[]},{"icon":"faMoneyBill1","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBill1Wave","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillAlt","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBillSimple","aliases":[]},{"icon":"faMoneyBillSimpleWave","aliases":[]},{"icon":"faMoneyBillTransfer","aliases":[]},{"icon":"faMoneyBillTrendUp","aliases":[]},{"icon":"faMoneyBillWave","aliases":[]},{"icon":"faMoneyBillWaveAlt","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillWheat","aliases":[]},{"icon":"faMoneyBills","aliases":[]},{"icon":"faMoneyBillsAlt","aliases":["faMoneyBillsAlt"]},{"icon":"faMoneyBillsSimple","aliases":["faMoneyBillsAlt"]},{"icon":"faMoneyCheck","aliases":[]},{"icon":"faMoneyCheckAlt","aliases":["faMoneyCheckAlt"]},{"icon":"faMoneyCheckDollar","aliases":["faMoneyCheckAlt"]},{"icon":"faMoneyCheckDollarPen","aliases":["faMoneyCheckEditAlt"]},{"icon":"faMoneyCheckEdit","aliases":["faMoneyCheckEdit"]},{"icon":"faMoneyCheckEditAlt","aliases":["faMoneyCheckEditAlt"]},{"icon":"faMoneyCheckPen","aliases":["faMoneyCheckEdit"]},{"icon":"faMoneyFromBracket","aliases":[]},{"icon":"faMoneySimpleFromBracket","aliases":[]},{"icon":"faMonitorHeartRate","aliases":["faMonitorHeartRate"]},{"icon":"faMonitorWaveform","aliases":["faMonitorHeartRate"]},{"icon":"faMonkey","aliases":[]},{"icon":"faMonument","aliases":[]},{"icon":"faMoon","aliases":[]},{"icon":"faMoonCloud","aliases":[]},{"icon":"faMoonOverSun","aliases":["faEclipseAlt"]},{"icon":"faMoonStars","aliases":[]},{"icon":"faMoped","aliases":[]},{"icon":"faMortarBoard","aliases":["faMortarBoard"]},{"icon":"faMortarPestle","aliases":[]},{"icon":"faMosque","aliases":[]},{"icon":"faMosquito","aliases":[]},{"icon":"faMosquitoNet","aliases":[]},{"icon":"faMotorcycle","aliases":[]},{"icon":"faMound","aliases":[]},{"icon":"faMountain","aliases":[]},{"icon":"faMountainCity","aliases":[]},{"icon":"faMountainSun","aliases":[]},{"icon":"faMountains","aliases":[]},{"icon":"faMouse","aliases":["faMouse"]},{"icon":"faMouseAlt","aliases":["faMouseAlt"]},{"icon":"faMouseField","aliases":[]},{"icon":"faMousePointer","aliases":["faMousePointer"]},{"icon":"faMp3Player","aliases":[]},{"icon":"faMug","aliases":[]},{"icon":"faMugHot","aliases":[]},{"icon":"faMugMarshmallows","aliases":[]},{"icon":"faMugSaucer","aliases":["faCoffee"]},{"icon":"faMugTea","aliases":[]},{"icon":"faMugTeaSaucer","aliases":[]},{"icon":"faMultiply","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faMuseum","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faMushroom","aliases":[]},{"icon":"faMusic","aliases":[]},{"icon":"faMusicAlt","aliases":["faMusicAlt"]},{"icon":"faMusicAltSlash","aliases":["faMusicAltSlash"]},{"icon":"faMusicMagnifyingGlass","aliases":[]},{"icon":"faMusicNote","aliases":["faMusicAlt"]},{"icon":"faMusicNoteSlash","aliases":["faMusicAltSlash"]},{"icon":"faMusicSlash","aliases":[]},{"icon":"faMustache","aliases":[]},{"icon":"faN","aliases":[]},{"icon":"faNairaSign","aliases":[]},{"icon":"faNarwhal","aliases":[]},{"icon":"faNavicon","aliases":["faNavicon"]},{"icon":"faNestingDolls","aliases":[]},{"icon":"faNetworkWired","aliases":[]},{"icon":"faNeuter","aliases":[]},{"icon":"faNewspaper","aliases":[]},{"icon":"faNfc","aliases":[]},{"icon":"faNfcLock","aliases":[]},{"icon":"faNfcMagnifyingGlass","aliases":[]},{"icon":"faNfcPen","aliases":[]},{"icon":"faNfcSignal","aliases":[]},{"icon":"faNfcSlash","aliases":[]},{"icon":"faNfcSymbol","aliases":[]},{"icon":"faNfcTrash","aliases":[]},{"icon":"faNigiri","aliases":["faNigiri"]},{"icon":"faNose","aliases":[]},{"icon":"faNotEqual","aliases":[]},{"icon":"faNotdef","aliases":[]},{"icon":"faNote","aliases":[]},{"icon":"faNoteMedical","aliases":[]},{"icon":"faNoteSticky","aliases":["faStickyNote"]},{"icon":"faNotebook","aliases":[]},{"icon":"faNotes","aliases":[]},{"icon":"faNotesMedical","aliases":[]},{"icon":"faO","aliases":[]},{"icon":"faObjectExclude","aliases":[]},{"icon":"faObjectGroup","aliases":[]},{"icon":"faObjectIntersect","aliases":[]},{"icon":"faObjectSubtract","aliases":[]},{"icon":"faObjectUngroup","aliases":[]},{"icon":"faObjectUnion","aliases":[]},{"icon":"faObjectsAlignBottom","aliases":[]},{"icon":"faObjectsAlignCenterHorizontal","aliases":[]},{"icon":"faObjectsAlignCenterVertical","aliases":[]},{"icon":"faObjectsAlignLeft","aliases":[]},{"icon":"faObjectsAlignRight","aliases":[]},{"icon":"faObjectsAlignTop","aliases":[]},{"icon":"faObjectsColumn","aliases":[]},{"icon":"faOctagon","aliases":[]},{"icon":"faOctagonCheck","aliases":[]},{"icon":"faOctagonDivide","aliases":[]},{"icon":"faOctagonExclamation","aliases":[]},{"icon":"faOctagonMinus","aliases":["faMinusOctagon"]},{"icon":"faOctagonPlus","aliases":["faPlusOctagon"]},{"icon":"faOctagonXmark","aliases":["faTimesOctagon","faXmarkOctagon"]},{"icon":"faOctopus","aliases":[]},{"icon":"faOilCan","aliases":[]},{"icon":"faOilCanDrip","aliases":[]},{"icon":"faOilTemp","aliases":["faOilTemp"]},{"icon":"faOilTemperature","aliases":["faOilTemp"]},{"icon":"faOilWell","aliases":[]},{"icon":"faOlive","aliases":[]},{"icon":"faOliveBranch","aliases":[]},{"icon":"faOm","aliases":[]},{"icon":"faOmega","aliases":[]},{"icon":"faOnion","aliases":[]},{"icon":"faOption","aliases":[]},{"icon":"faOrnament","aliases":[]},{"icon":"faOtter","aliases":[]},{"icon":"faOutdent","aliases":["faDedent"]},{"icon":"faOutlet","aliases":[]},{"icon":"faOven","aliases":[]},{"icon":"faOverline","aliases":[]},{"icon":"faP","aliases":[]},{"icon":"faPage","aliases":[]},{"icon":"faPageBreak","aliases":["faPageBreak"]},{"icon":"faPageCaretDown","aliases":["faFileCaretDown"]},{"icon":"faPageCaretUp","aliases":["faFileCaretUp"]},{"icon":"faPager","aliases":[]},{"icon":"faPaintBrushAlt","aliases":["faPaintBrushAlt","faPaintBrushFine","faPaintbrushAlt"]},{"icon":"faPaintRoller","aliases":[]},{"icon":"faPaintbrush","aliases":["faPaintBrush"]},{"icon":"faPaintbrushFine","aliases":["faPaintBrushAlt","faPaintBrushFine","faPaintbrushAlt"]},{"icon":"faPaintbrushPencil","aliases":[]},{"icon":"faPalette","aliases":[]},{"icon":"faPaletteBoxes","aliases":["faPaletteBoxes","faPalletAlt"]},{"icon":"faPallet","aliases":[]},{"icon":"faPalletAlt","aliases":["faPaletteBoxes","faPalletAlt"]},{"icon":"faPalletBox","aliases":[]},{"icon":"faPalletBoxes","aliases":["faPaletteBoxes","faPalletAlt"]},{"icon":"faPanFood","aliases":[]},{"icon":"faPanFrying","aliases":[]},{"icon":"faPancakes","aliases":[]},{"icon":"faPanelEws","aliases":[]},{"icon":"faPanelFire","aliases":[]},{"icon":"faPanorama","aliases":[]},{"icon":"faPaperPlane","aliases":[]},{"icon":"faPaperPlaneAlt","aliases":["faPaperPlaneAlt","faSend"]},{"icon":"faPaperPlaneTop","aliases":["faPaperPlaneAlt","faSend"]},{"icon":"faPaperclip","aliases":[]},{"icon":"faPaperclipVertical","aliases":[]},{"icon":"faParachuteBox","aliases":[]},{"icon":"faParagraph","aliases":[]},{"icon":"faParagraphLeft","aliases":["faParagraphRtl"]},{"icon":"faParagraphRtl","aliases":["faParagraphRtl"]},{"icon":"faParentheses","aliases":["faParentheses"]},{"icon":"faParenthesis","aliases":["faParenthesis"]},{"icon":"faParking","aliases":["faParking"]},{"icon":"faParkingCircle","aliases":["faParkingCircle"]},{"icon":"faParkingCircleSlash","aliases":["faParkingCircleSlash"]},{"icon":"faParkingSlash","aliases":["faParkingSlash"]},{"icon":"faPartyBack","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faPartyBell","aliases":[]},{"icon":"faPartyHorn","aliases":[]},{"icon":"faPassport","aliases":[]},{"icon":"faPastafarianism","aliases":["faPastafarianism"]},{"icon":"faPaste","aliases":["faFileClipboard"]},{"icon":"faPause","aliases":[]},{"icon":"faPauseCircle","aliases":["faPauseCircle"]},{"icon":"faPaw","aliases":[]},{"icon":"faPawAlt","aliases":["faPawAlt"]},{"icon":"faPawClaws","aliases":[]},{"icon":"faPawSimple","aliases":["faPawAlt"]},{"icon":"faPeace","aliases":[]},{"icon":"faPeach","aliases":[]},{"icon":"faPeanut","aliases":[]},{"icon":"faPeanuts","aliases":[]},{"icon":"faPeapod","aliases":[]},{"icon":"faPear","aliases":[]},{"icon":"faPedestal","aliases":[]},{"icon":"faPegasus","aliases":[]},{"icon":"faPen","aliases":[]},{"icon":"faPenAlt","aliases":["faPenAlt"]},{"icon":"faPenAltSlash","aliases":["faPenAltSlash"]},{"icon":"faPenCircle","aliases":[]},{"icon":"faPenClip","aliases":["faPenAlt"]},{"icon":"faPenClipSlash","aliases":["faPenAltSlash"]},{"icon":"faPenFancy","aliases":[]},{"icon":"faPenFancySlash","aliases":[]},{"icon":"faPenField","aliases":[]},{"icon":"faPenLine","aliases":[]},{"icon":"faPenNib","aliases":[]},{"icon":"faPenNibSlash","aliases":[]},{"icon":"faPenPaintbrush","aliases":["faPencilPaintbrush"]},{"icon":"faPenRuler","aliases":["faPencilRuler"]},{"icon":"faPenSlash","aliases":[]},{"icon":"faPenSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPenSwirl","aliases":[]},{"icon":"faPenToSquare","aliases":["faEdit"]},{"icon":"faPencil","aliases":["faPencilAlt"]},{"icon":"faPencilAlt","aliases":["faPencilAlt"]},{"icon":"faPencilMechanical","aliases":[]},{"icon":"faPencilPaintbrush","aliases":["faPencilPaintbrush"]},{"icon":"faPencilRuler","aliases":["faPencilRuler"]},{"icon":"faPencilSlash","aliases":[]},{"icon":"faPencilSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPennant","aliases":["faPennant"]},{"icon":"faPeople","aliases":[]},{"icon":"faPeopleArrows","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleArrowsLeftRight","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleCarry","aliases":["faPeopleCarry"]},{"icon":"faPeopleCarryBox","aliases":["faPeopleCarry"]},{"icon":"faPeopleDress","aliases":[]},{"icon":"faPeopleDressSimple","aliases":[]},{"icon":"faPeopleGroup","aliases":[]},{"icon":"faPeopleLine","aliases":[]},{"icon":"faPeoplePants","aliases":[]},{"icon":"faPeoplePantsSimple","aliases":[]},{"icon":"faPeoplePulling","aliases":[]},{"icon":"faPeopleRobbery","aliases":[]},{"icon":"faPeopleRoof","aliases":[]},{"icon":"faPeopleSimple","aliases":[]},{"icon":"faPepper","aliases":[]},{"icon":"faPepperHot","aliases":[]},{"icon":"faPercent","aliases":["faPercentage"]},{"icon":"faPercentage","aliases":["faPercentage"]},{"icon":"faPeriod","aliases":[]},{"icon":"faPerson","aliases":["faMale"]},{"icon":"faPersonArrowDownToLine","aliases":[]},{"icon":"faPersonArrowUpFromLine","aliases":[]},{"icon":"faPersonBiking","aliases":["faBiking"]},{"icon":"faPersonBikingMountain","aliases":["faBikingMountain"]},{"icon":"faPersonBooth","aliases":[]},{"icon":"faPersonBreastfeeding","aliases":[]},{"icon":"faPersonBurst","aliases":[]},{"icon":"faPersonCane","aliases":[]},{"icon":"faPersonCarry","aliases":["faPersonCarry"]},{"icon":"faPersonCarryBox","aliases":["faPersonCarry"]},{"icon":"faPersonChalkboard","aliases":[]},{"icon":"faPersonCircleCheck","aliases":[]},{"icon":"faPersonCircleExclamation","aliases":[]},{"icon":"faPersonCircleMinus","aliases":[]},{"icon":"faPersonCirclePlus","aliases":[]},{"icon":"faPersonCircleQuestion","aliases":[]},{"icon":"faPersonCircleXmark","aliases":[]},{"icon":"faPersonDigging","aliases":["faDigging"]},{"icon":"faPersonDolly","aliases":[]},{"icon":"faPersonDollyEmpty","aliases":[]},{"icon":"faPersonDotsFromLine","aliases":["faDiagnoses"]},{"icon":"faPersonDress","aliases":["faFemale"]},{"icon":"faPersonDressBurst","aliases":[]},{"icon":"faPersonDressFairy","aliases":[]},{"icon":"faPersonDressSimple","aliases":[]},{"icon":"faPersonDrowning","aliases":[]},{"icon":"faPersonFairy","aliases":[]},{"icon":"faPersonFalling","aliases":[]},{"icon":"faPersonFallingBurst","aliases":[]},{"icon":"faPersonFromPortal","aliases":["faPortalExit"]},{"icon":"faPersonHalfDress","aliases":[]},{"icon":"faPersonHarassing","aliases":[]},{"icon":"faPersonHiking","aliases":["faHiking"]},{"icon":"faPersonMilitaryPointing","aliases":[]},{"icon":"faPersonMilitaryRifle","aliases":[]},{"icon":"faPersonMilitaryToPerson","aliases":[]},{"icon":"faPersonPinball","aliases":[]},{"icon":"faPersonPraying","aliases":["faPray"]},{"icon":"faPersonPregnant","aliases":[]},{"icon":"faPersonRays","aliases":[]},{"icon":"faPersonRifle","aliases":[]},{"icon":"faPersonRunning","aliases":["faRunning"]},{"icon":"faPersonRunningFast","aliases":[]},{"icon":"faPersonSeat","aliases":[]},{"icon":"faPersonSeatReclined","aliases":[]},{"icon":"faPersonShelter","aliases":[]},{"icon":"faPersonSign","aliases":[]},{"icon":"faPersonSimple","aliases":[]},{"icon":"faPersonSkating","aliases":["faSkating"]},{"icon":"faPersonSkiJumping","aliases":["faSkiJump"]},{"icon":"faPersonSkiLift","aliases":["faSkiLift"]},{"icon":"faPersonSkiing","aliases":["faSkiing"]},{"icon":"faPersonSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faPersonSledding","aliases":["faSledding"]},{"icon":"faPersonSnowboarding","aliases":["faSnowboarding"]},{"icon":"faPersonSnowmobiling","aliases":["faSnowmobile"]},{"icon":"faPersonSwimming","aliases":["faSwimmer"]},{"icon":"faPersonThroughWindow","aliases":[]},{"icon":"faPersonToDoor","aliases":[]},{"icon":"faPersonToPortal","aliases":["faPortalEnter"]},{"icon":"faPersonWalking","aliases":["faWalking"]},{"icon":"faPersonWalkingArrowLoopLeft","aliases":[]},{"icon":"faPersonWalkingArrowRight","aliases":[]},{"icon":"faPersonWalkingDashedLineArrowRight","aliases":[]},{"icon":"faPersonWalkingLuggage","aliases":[]},{"icon":"faPersonWalkingWithCane","aliases":["faBlind"]},{"icon":"faPesetaSign","aliases":[]},{"icon":"faPesoSign","aliases":[]},{"icon":"faPhone","aliases":[]},{"icon":"faPhoneAlt","aliases":["faPhoneAlt"]},{"icon":"faPhoneArrowDown","aliases":["faPhoneArrowDown","faPhoneIncoming"]},{"icon":"faPhoneArrowDownLeft","aliases":["faPhoneArrowDown","faPhoneIncoming"]},{"icon":"faPhoneArrowRight","aliases":[]},{"icon":"faPhoneArrowUp","aliases":["faPhoneArrowUp","faPhoneOutgoing"]},{"icon":"faPhoneArrowUpRight","aliases":["faPhoneArrowUp","faPhoneOutgoing"]},{"icon":"faPhoneCircle","aliases":["faPhoneCircle"]},{"icon":"faPhoneCircleAlt","aliases":["faPhoneCircleAlt"]},{"icon":"faPhoneCircleDown","aliases":["faPhoneCircleDown"]},{"icon":"faPhoneFlip","aliases":["faPhoneAlt"]},{"icon":"faPhoneHangup","aliases":[]},{"icon":"faPhoneIncoming","aliases":["faPhoneArrowDown","faPhoneIncoming"]},{"icon":"faPhoneIntercom","aliases":[]},{"icon":"faPhoneLaptop","aliases":["faPhoneLaptop"]},{"icon":"faPhoneMissed","aliases":[]},{"icon":"faPhoneOffice","aliases":[]},{"icon":"faPhoneOutgoing","aliases":["faPhoneArrowUp","faPhoneOutgoing"]},{"icon":"faPhonePlus","aliases":[]},{"icon":"faPhoneRotary","aliases":[]},{"icon":"faPhoneSlash","aliases":[]},{"icon":"faPhoneSquare","aliases":["faPhoneSquare"]},{"icon":"faPhoneSquareAlt","aliases":["faPhoneSquareAlt"]},{"icon":"faPhoneSquareDown","aliases":["faPhoneSquareDown"]},{"icon":"faPhoneVolume","aliases":["faVolumeControlPhone"]},{"icon":"faPhoneXmark","aliases":[]},{"icon":"faPhotoFilm","aliases":["faPhotoVideo"]},{"icon":"faPhotoFilmMusic","aliases":[]},{"icon":"faPhotoVideo","aliases":["faPhotoVideo"]},{"icon":"faPi","aliases":[]},{"icon":"faPiano","aliases":[]},{"icon":"faPianoKeyboard","aliases":[]},{"icon":"faPickaxe","aliases":[]},{"icon":"faPickleball","aliases":[]},{"icon":"faPie","aliases":[]},{"icon":"faPieChart","aliases":["faPieChart"]},{"icon":"faPig","aliases":[]},{"icon":"faPiggyBank","aliases":[]},{"icon":"faPills","aliases":[]},{"icon":"faPinata","aliases":[]},{"icon":"faPinball","aliases":[]},{"icon":"faPineapple","aliases":[]},{"icon":"faPingPongPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faPipe","aliases":[]},{"icon":"faPipeCircleCheck","aliases":[]},{"icon":"faPipeCollar","aliases":[]},{"icon":"faPipeSection","aliases":[]},{"icon":"faPipeSmoking","aliases":[]},{"icon":"faPipeValve","aliases":[]},{"icon":"faPizza","aliases":[]},{"icon":"faPizzaSlice","aliases":[]},{"icon":"faPlaceOfWorship","aliases":[]},{"icon":"faPlane","aliases":[]},{"icon":"faPlaneAlt","aliases":["faPlaneAlt"]},{"icon":"faPlaneArrival","aliases":[]},{"icon":"faPlaneCircleCheck","aliases":[]},{"icon":"faPlaneCircleExclamation","aliases":[]},{"icon":"faPlaneCircleXmark","aliases":[]},{"icon":"faPlaneDeparture","aliases":[]},{"icon":"faPlaneEngines","aliases":["faPlaneAlt"]},{"icon":"faPlaneLock","aliases":[]},{"icon":"faPlaneProp","aliases":[]},{"icon":"faPlaneSlash","aliases":[]},{"icon":"faPlaneTail","aliases":[]},{"icon":"faPlaneUp","aliases":[]},{"icon":"faPlaneUpSlash","aliases":[]},{"icon":"faPlanetMoon","aliases":[]},{"icon":"faPlanetRinged","aliases":[]},{"icon":"faPlantWilt","aliases":[]},{"icon":"faPlateUtensils","aliases":[]},{"icon":"faPlateWheat","aliases":[]},{"icon":"faPlay","aliases":[]},{"icon":"faPlayCircle","aliases":["faPlayCircle"]},{"icon":"faPlayPause","aliases":[]},{"icon":"faPlug","aliases":[]},{"icon":"faPlugCircleBolt","aliases":[]},{"icon":"faPlugCircleCheck","aliases":[]},{"icon":"faPlugCircleExclamation","aliases":[]},{"icon":"faPlugCircleMinus","aliases":[]},{"icon":"faPlugCirclePlus","aliases":[]},{"icon":"faPlugCircleXmark","aliases":[]},{"icon":"faPlus","aliases":["faAdd"]},{"icon":"faPlusCircle","aliases":["faPlusCircle"]},{"icon":"faPlusHexagon","aliases":["faPlusHexagon"]},{"icon":"faPlusLarge","aliases":[]},{"icon":"faPlusMinus","aliases":[]},{"icon":"faPlusOctagon","aliases":["faPlusOctagon"]},{"icon":"faPlusSquare","aliases":["faPlusSquare"]},{"icon":"faPodcast","aliases":[]},{"icon":"faPodium","aliases":[]},{"icon":"faPodiumStar","aliases":[]},{"icon":"faPoliceBox","aliases":[]},{"icon":"faPoll","aliases":["faPoll"]},{"icon":"faPollH","aliases":["faPollH"]},{"icon":"faPollPeople","aliases":[]},{"icon":"faPompebled","aliases":[]},{"icon":"faPoo","aliases":[]},{"icon":"faPooBolt","aliases":["faPooBolt"]},{"icon":"faPooStorm","aliases":["faPooBolt"]},{"icon":"faPool8Ball","aliases":[]},{"icon":"faPoop","aliases":[]},{"icon":"faPopcorn","aliases":[]},{"icon":"faPopsicle","aliases":[]},{"icon":"faPortalEnter","aliases":["faPortalEnter"]},{"icon":"faPortalExit","aliases":["faPortalExit"]},{"icon":"faPortrait","aliases":["faPortrait"]},{"icon":"faPotFood","aliases":[]},{"icon":"faPotato","aliases":[]},{"icon":"faPoundSign","aliases":["faGbp","faPoundSign"]},{"icon":"faPowerOff","aliases":[]},{"icon":"faPray","aliases":["faPray"]},{"icon":"faPrayingHands","aliases":["faPrayingHands"]},{"icon":"faPrescription","aliases":[]},{"icon":"faPrescriptionBottle","aliases":[]},{"icon":"faPrescriptionBottleAlt","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrescriptionBottleMedical","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrescriptionBottlePill","aliases":[]},{"icon":"faPresentation","aliases":["faPresentation"]},{"icon":"faPresentationScreen","aliases":["faPresentation"]},{"icon":"faPretzel","aliases":[]},{"icon":"faPrint","aliases":[]},{"icon":"faPrintMagnifyingGlass","aliases":["faPrintSearch"]},{"icon":"faPrintSearch","aliases":["faPrintSearch"]},{"icon":"faPrintSlash","aliases":[]},{"icon":"faPro","aliases":["faPro"]},{"icon":"faProcedures","aliases":["faProcedures"]},{"icon":"faProjectDiagram","aliases":["faProjectDiagram"]},{"icon":"faProjector","aliases":[]},{"icon":"faPump","aliases":[]},{"icon":"faPumpMedical","aliases":[]},{"icon":"faPumpSoap","aliases":[]},{"icon":"faPumpkin","aliases":[]},{"icon":"faPuzzle","aliases":[]},{"icon":"faPuzzlePiece","aliases":[]},{"icon":"faPuzzlePieceAlt","aliases":["faPuzzlePieceAlt"]},{"icon":"faPuzzlePieceSimple","aliases":["faPuzzlePieceAlt"]},{"icon":"faQ","aliases":[]},{"icon":"faQrcode","aliases":[]},{"icon":"faQuestion","aliases":[]},{"icon":"faQuestionCircle","aliases":["faQuestionCircle"]},{"icon":"faQuestionSquare","aliases":["faQuestionSquare"]},{"icon":"faQuidditch","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuidditchBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuoteLeft","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteLeftAlt","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteRight","aliases":["faQuoteRightAlt"]},{"icon":"faQuoteRightAlt","aliases":["faQuoteRightAlt"]},{"icon":"faQuotes","aliases":[]},{"icon":"faQuran","aliases":["faQuran"]},{"icon":"faR","aliases":[]},{"icon":"faRabbit","aliases":[]},{"icon":"faRabbitFast","aliases":["faRabbitFast"]},{"icon":"faRabbitRunning","aliases":["faRabbitFast"]},{"icon":"faRaccoon","aliases":[]},{"icon":"faRacquet","aliases":[]},{"icon":"faRadar","aliases":[]},{"icon":"faRadiation","aliases":[]},{"icon":"faRadiationAlt","aliases":["faRadiationAlt"]},{"icon":"faRadio","aliases":[]},{"icon":"faRadioAlt","aliases":["faRadioAlt"]},{"icon":"faRadioTuner","aliases":["faRadioAlt"]},{"icon":"faRainbow","aliases":[]},{"icon":"faRaindrops","aliases":[]},{"icon":"faRam","aliases":[]},{"icon":"faRampLoading","aliases":[]},{"icon":"faRandom","aliases":["faRandom"]},{"icon":"faRankingStar","aliases":[]},{"icon":"faRaygun","aliases":[]},{"icon":"faReceipt","aliases":[]},{"icon":"faRecordVinyl","aliases":[]},{"icon":"faRectangle","aliases":["faRectangleLandscape"]},{"icon":"faRectangleAd","aliases":["faAd"]},{"icon":"faRectangleBarcode","aliases":["faBarcodeAlt"]},{"icon":"faRectangleCode","aliases":[]},{"icon":"faRectangleHd","aliases":["faRectangleHd"]},{"icon":"faRectangleHistory","aliases":[]},{"icon":"faRectangleHistoryCirclePlus","aliases":[]},{"icon":"faRectangleHistoryCircleUser","aliases":[]},{"icon":"faRectangleLandscape","aliases":["faRectangleLandscape"]},{"icon":"faRectangleList","aliases":["faListAlt"]},{"icon":"faRectanglePortrait","aliases":["faRectanglePortrait"]},{"icon":"faRectanglePro","aliases":["faPro"]},{"icon":"faRectangleSd","aliases":["faRectangleSd"]},{"icon":"faRectangleTerminal","aliases":[]},{"icon":"faRectangleTimes","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRectangleVertical","aliases":["faRectanglePortrait"]},{"icon":"faRectangleVerticalHistory","aliases":[]},{"icon":"faRectangleWide","aliases":[]},{"icon":"faRectangleXmark","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRectanglesMixed","aliases":[]},{"icon":"faRecycle","aliases":[]},{"icon":"faRedo","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faRedoAlt","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faReel","aliases":[]},{"icon":"faReflectBoth","aliases":[]},{"icon":"faReflectHorizontal","aliases":[]},{"icon":"faReflectVertical","aliases":[]},{"icon":"faRefresh","aliases":["faRefresh","faSync"]},{"icon":"faRefrigerator","aliases":[]},{"icon":"faRegistered","aliases":[]},{"icon":"faRemove","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faRemoveFormat","aliases":["faRemoveFormat"]},{"icon":"faReorder","aliases":["faReorder","faStream"]},{"icon":"faRepeat","aliases":[]},{"icon":"faRepeat1","aliases":[]},{"icon":"faRepeat1Alt","aliases":["faRepeat1Alt"]},{"icon":"faRepeatAlt","aliases":["faRepeatAlt"]},{"icon":"faReply","aliases":["faMailReply"]},{"icon":"faReplyAll","aliases":["faMailReplyAll"]},{"icon":"faReplyClock","aliases":["faReplyTime"]},{"icon":"faReplyTime","aliases":["faReplyTime"]},{"icon":"faRepublican","aliases":[]},{"icon":"faRestroom","aliases":[]},{"icon":"faRestroomSimple","aliases":[]},{"icon":"faRetweet","aliases":[]},{"icon":"faRetweetAlt","aliases":["faRetweetAlt"]},{"icon":"faRhombus","aliases":[]},{"icon":"faRibbon","aliases":[]},{"icon":"faRight","aliases":["faArrowAltRight"]},{"icon":"faRightFromBracket","aliases":["faSignOutAlt"]},{"icon":"faRightFromLine","aliases":["faArrowAltFromLeft"]},{"icon":"faRightLeft","aliases":["faExchangeAlt"]},{"icon":"faRightLeftLarge","aliases":[]},{"icon":"faRightLong","aliases":["faLongArrowAltRight"]},{"icon":"faRightLongToLine","aliases":[]},{"icon":"faRightToBracket","aliases":["faSignInAlt"]},{"icon":"faRightToLine","aliases":["faArrowAltToRight"]},{"icon":"faRing","aliases":[]},{"icon":"faRingDiamond","aliases":[]},{"icon":"faRingsWedding","aliases":[]},{"icon":"faRmb","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faRoad","aliases":[]},{"icon":"faRoadBarrier","aliases":[]},{"icon":"faRoadBridge","aliases":[]},{"icon":"faRoadCircleCheck","aliases":[]},{"icon":"faRoadCircleExclamation","aliases":[]},{"icon":"faRoadCircleXmark","aliases":[]},{"icon":"faRoadLock","aliases":[]},{"icon":"faRoadSpikes","aliases":[]},{"icon":"faRobot","aliases":[]},{"icon":"faRobotAstromech","aliases":[]},{"icon":"faRocket","aliases":[]},{"icon":"faRocketLaunch","aliases":[]},{"icon":"faRodAsclepius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRodSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRollerCoaster","aliases":[]},{"icon":"faRotate","aliases":["faSyncAlt"]},{"icon":"faRotateBack","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateBackward","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateExclamation","aliases":[]},{"icon":"faRotateForward","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRotateLeft","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateReverse","aliases":[]},{"icon":"faRotateRight","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRouble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRoute","aliases":[]},{"icon":"faRouteHighway","aliases":[]},{"icon":"faRouteInterstate","aliases":[]},{"icon":"faRouter","aliases":[]},{"icon":"faRows","aliases":["faRows"]},{"icon":"faRss","aliases":["faFeed"]},{"icon":"faRssSquare","aliases":["faRssSquare"]},{"icon":"faRub","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRuble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRubleSign","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRug","aliases":[]},{"icon":"faRugbyBall","aliases":[]},{"icon":"faRuler","aliases":[]},{"icon":"faRulerCombined","aliases":[]},{"icon":"faRulerHorizontal","aliases":[]},{"icon":"faRulerTriangle","aliases":[]},{"icon":"faRulerVertical","aliases":[]},{"icon":"faRunning","aliases":["faRunning"]},{"icon":"faRupee","aliases":["faRupee"]},{"icon":"faRupeeSign","aliases":["faRupee"]},{"icon":"faRupiahSign","aliases":[]},{"icon":"faRv","aliases":[]},{"icon":"faS","aliases":[]},{"icon":"faSack","aliases":[]},{"icon":"faSackDollar","aliases":[]},{"icon":"faSackXmark","aliases":[]},{"icon":"faSadCry","aliases":["faSadCry"]},{"icon":"faSadTear","aliases":["faSadTear"]},{"icon":"faSailboat","aliases":[]},{"icon":"faSalad","aliases":["faBowlSalad"]},{"icon":"faSaltShaker","aliases":[]},{"icon":"faSandwich","aliases":[]},{"icon":"faSatellite","aliases":[]},{"icon":"faSatelliteDish","aliases":[]},{"icon":"faSausage","aliases":[]},{"icon":"faSave","aliases":["faSave"]},{"icon":"faSaveCircleArrowRight","aliases":["faSaveCircleArrowRight"]},{"icon":"faSaveCircleXmark","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faSaveTimes","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faSaxHot","aliases":["faSaxHot"]},{"icon":"faSaxophone","aliases":[]},{"icon":"faSaxophoneFire","aliases":["faSaxHot"]},{"icon":"faScaleBalanced","aliases":["faBalanceScale"]},{"icon":"faScaleUnbalanced","aliases":["faBalanceScaleLeft"]},{"icon":"faScaleUnbalancedFlip","aliases":["faBalanceScaleRight"]},{"icon":"faScalpel","aliases":[]},{"icon":"faScalpelLineDashed","aliases":["faScalpelPath"]},{"icon":"faScalpelPath","aliases":["faScalpelPath"]},{"icon":"faScanner","aliases":["faScanner"]},{"icon":"faScannerGun","aliases":["faScanner"]},{"icon":"faScannerImage","aliases":[]},{"icon":"faScannerKeyboard","aliases":[]},{"icon":"faScannerTouchscreen","aliases":[]},{"icon":"faScarecrow","aliases":[]},{"icon":"faScarf","aliases":[]},{"icon":"faSchool","aliases":[]},{"icon":"faSchoolCircleCheck","aliases":[]},{"icon":"faSchoolCircleExclamation","aliases":[]},{"icon":"faSchoolCircleXmark","aliases":[]},{"icon":"faSchoolFlag","aliases":[]},{"icon":"faSchoolLock","aliases":[]},{"icon":"faScissors","aliases":["faCut"]},{"icon":"faScreenUsers","aliases":["faUsersClass"]},{"icon":"faScreencast","aliases":[]},{"icon":"faScreenshot","aliases":["faScreenshot"]},{"icon":"faScrewdriver","aliases":[]},{"icon":"faScrewdriverWrench","aliases":["faTools"]},{"icon":"faScribble","aliases":[]},{"icon":"faScroll","aliases":[]},{"icon":"faScrollOld","aliases":[]},{"icon":"faScrollRibbon","aliases":["faScrollRibbon"]},{"icon":"faScrollTorah","aliases":["faTorah"]},{"icon":"faScrubber","aliases":[]},{"icon":"faScythe","aliases":[]},{"icon":"faSdCard","aliases":[]},{"icon":"faSdCards","aliases":[]},{"icon":"faSeal","aliases":[]},{"icon":"faSealExclamation","aliases":[]},{"icon":"faSealQuestion","aliases":[]},{"icon":"faSearch","aliases":["faSearch"]},{"icon":"faSearchDollar","aliases":["faSearchDollar"]},{"icon":"faSearchLocation","aliases":["faSearchLocation"]},{"icon":"faSearchMinus","aliases":["faSearchMinus"]},{"icon":"faSearchPlus","aliases":["faSearchPlus"]},{"icon":"faSeatAirline","aliases":[]},{"icon":"faSection","aliases":[]},{"icon":"faSeedling","aliases":["faSprout"]},{"icon":"faSemicolon","aliases":[]},{"icon":"faSend","aliases":["faPaperPlaneAlt","faSend"]},{"icon":"faSendBack","aliases":[]},{"icon":"faSendBackward","aliases":[]},{"icon":"faSensor","aliases":[]},{"icon":"faSensorAlert","aliases":["faSensorAlert"]},{"icon":"faSensorCloud","aliases":["faSensorSmoke"]},{"icon":"faSensorFire","aliases":[]},{"icon":"faSensorOn","aliases":[]},{"icon":"faSensorSmoke","aliases":["faSensorSmoke"]},{"icon":"faSensorTriangleExclamation","aliases":["faSensorAlert"]},{"icon":"faServer","aliases":[]},{"icon":"faShapes","aliases":["faTriangleCircleSquare"]},{"icon":"faShare","aliases":["faMailForward"]},{"icon":"faShareAll","aliases":[]},{"icon":"faShareAlt","aliases":["faShareAlt"]},{"icon":"faShareAltSquare","aliases":["faShareAltSquare"]},{"icon":"faShareFromSquare","aliases":["faShareSquare"]},{"icon":"faShareNodes","aliases":["faShareAlt"]},{"icon":"faShareSquare","aliases":["faShareSquare"]},{"icon":"faSheep","aliases":[]},{"icon":"faSheetPlastic","aliases":[]},{"icon":"faShekel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShekelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShelves","aliases":["faInventory"]},{"icon":"faShelvesEmpty","aliases":[]},{"icon":"faSheqel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faSheqelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShield","aliases":["faShieldBlank"]},{"icon":"faShieldAlt","aliases":["faShieldAlt"]},{"icon":"faShieldBlank","aliases":["faShieldBlank"]},{"icon":"faShieldCat","aliases":[]},{"icon":"faShieldCheck","aliases":[]},{"icon":"faShieldCross","aliases":[]},{"icon":"faShieldDog","aliases":[]},{"icon":"faShieldExclamation","aliases":[]},{"icon":"faShieldHalved","aliases":["faShieldAlt"]},{"icon":"faShieldHeart","aliases":[]},{"icon":"faShieldKeyhole","aliases":[]},{"icon":"faShieldMinus","aliases":[]},{"icon":"faShieldPlus","aliases":[]},{"icon":"faShieldQuartered","aliases":[]},{"icon":"faShieldSlash","aliases":[]},{"icon":"faShieldTimes","aliases":["faShieldTimes"]},{"icon":"faShieldVirus","aliases":[]},{"icon":"faShieldXmark","aliases":["faShieldTimes"]},{"icon":"faShip","aliases":[]},{"icon":"faShippingFast","aliases":["faShippingFast"]},{"icon":"faShippingTimed","aliases":["faShippingTimed"]},{"icon":"faShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faShirtLongSleeve","aliases":[]},{"icon":"faShirtRunning","aliases":[]},{"icon":"faShirtTankTop","aliases":[]},{"icon":"faShishKebab","aliases":[]},{"icon":"faShoePrints","aliases":[]},{"icon":"faShop","aliases":["faStoreAlt"]},{"icon":"faShopLock","aliases":[]},{"icon":"faShopSlash","aliases":["faStoreAltSlash"]},{"icon":"faShoppingBag","aliases":["faShoppingBag"]},{"icon":"faShoppingBasket","aliases":["faShoppingBasket"]},{"icon":"faShoppingBasketAlt","aliases":["faShoppingBasketAlt"]},{"icon":"faShoppingCart","aliases":["faShoppingCart"]},{"icon":"faShortcake","aliases":["faShortcake"]},{"icon":"faShovel","aliases":[]},{"icon":"faShovelSnow","aliases":[]},{"icon":"faShower","aliases":[]},{"icon":"faShowerAlt","aliases":["faShowerAlt"]},{"icon":"faShowerDown","aliases":["faShowerAlt"]},{"icon":"faShredder","aliases":[]},{"icon":"faShrimp","aliases":[]},{"icon":"faShuffle","aliases":["faRandom"]},{"icon":"faShutters","aliases":[]},{"icon":"faShuttleSpace","aliases":["faSpaceShuttle"]},{"icon":"faShuttleVan","aliases":["faShuttleVan"]},{"icon":"faShuttlecock","aliases":[]},{"icon":"faSickle","aliases":[]},{"icon":"faSidebar","aliases":[]},{"icon":"faSidebarFlip","aliases":[]},{"icon":"faSigma","aliases":[]},{"icon":"faSign","aliases":["faSign"]},{"icon":"faSignHanging","aliases":["faSign"]},{"icon":"faSignIn","aliases":["faSignIn"]},{"icon":"faSignInAlt","aliases":["faSignInAlt"]},{"icon":"faSignLanguage","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignOut","aliases":["faSignOut"]},{"icon":"faSignOutAlt","aliases":["faSignOutAlt"]},{"icon":"faSignPost","aliases":[]},{"icon":"faSignPosts","aliases":[]},{"icon":"faSignPostsWrench","aliases":[]},{"icon":"faSignal","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignal1","aliases":["faSignal1"]},{"icon":"faSignal2","aliases":["faSignal2"]},{"icon":"faSignal3","aliases":["faSignal3"]},{"icon":"faSignal4","aliases":["faSignal4"]},{"icon":"faSignal5","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignalAlt","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalAlt1","aliases":["faSignalAlt1"]},{"icon":"faSignalAlt2","aliases":["faSignalAlt2"]},{"icon":"faSignalAlt3","aliases":["faSignalAlt3"]},{"icon":"faSignalAlt4","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalAltSlash","aliases":["faSignalAltSlash"]},{"icon":"faSignalBars","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalBarsFair","aliases":["faSignalAlt2"]},{"icon":"faSignalBarsGood","aliases":["faSignalAlt3"]},{"icon":"faSignalBarsSlash","aliases":["faSignalAltSlash"]},{"icon":"faSignalBarsStrong","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalBarsWeak","aliases":["faSignalAlt1"]},{"icon":"faSignalFair","aliases":["faSignal2"]},{"icon":"faSignalGood","aliases":["faSignal3"]},{"icon":"faSignalPerfect","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignalSlash","aliases":[]},{"icon":"faSignalStream","aliases":[]},{"icon":"faSignalStreamSlash","aliases":[]},{"icon":"faSignalStrong","aliases":["faSignal4"]},{"icon":"faSignalWeak","aliases":["faSignal1"]},{"icon":"faSignature","aliases":[]},{"icon":"faSignatureLock","aliases":[]},{"icon":"faSignatureSlash","aliases":[]},{"icon":"faSigning","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignsPost","aliases":["faMapSigns"]},{"icon":"faSimCard","aliases":[]},{"icon":"faSimCards","aliases":[]},{"icon":"faSink","aliases":[]},{"icon":"faSiren","aliases":[]},{"icon":"faSirenOn","aliases":[]},{"icon":"faSitemap","aliases":[]},{"icon":"faSkating","aliases":["faSkating"]},{"icon":"faSkeleton","aliases":[]},{"icon":"faSkeletonRibs","aliases":[]},{"icon":"faSkiBoot","aliases":[]},{"icon":"faSkiBootSki","aliases":[]},{"icon":"faSkiJump","aliases":["faSkiJump"]},{"icon":"faSkiLift","aliases":["faSkiLift"]},{"icon":"faSkiing","aliases":["faSkiing"]},{"icon":"faSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faSkull","aliases":[]},{"icon":"faSkullCow","aliases":[]},{"icon":"faSkullCrossbones","aliases":[]},{"icon":"faSlash","aliases":[]},{"icon":"faSlashBack","aliases":[]},{"icon":"faSlashForward","aliases":[]},{"icon":"faSledding","aliases":["faSledding"]},{"icon":"faSleigh","aliases":[]},{"icon":"faSlider","aliases":[]},{"icon":"faSliders","aliases":["faSlidersH"]},{"icon":"faSlidersH","aliases":["faSlidersH"]},{"icon":"faSlidersHSquare","aliases":["faSlidersHSquare"]},{"icon":"faSlidersSimple","aliases":[]},{"icon":"faSlidersUp","aliases":["faSlidersV"]},{"icon":"faSlidersV","aliases":["faSlidersV"]},{"icon":"faSlidersVSquare","aliases":["faSlidersVSquare"]},{"icon":"faSlotMachine","aliases":[]},{"icon":"faSmile","aliases":["faSmile"]},{"icon":"faSmileBeam","aliases":["faSmileBeam"]},{"icon":"faSmilePlus","aliases":["faSmilePlus"]},{"icon":"faSmileWink","aliases":["faSmileWink"]},{"icon":"faSmog","aliases":[]},{"icon":"faSmoke","aliases":[]},{"icon":"faSmoking","aliases":[]},{"icon":"faSmokingBan","aliases":["faSmokingBan"]},{"icon":"faSms","aliases":["faSms"]},{"icon":"faSnake","aliases":[]},{"icon":"faSnooze","aliases":["faZzz"]},{"icon":"faSnowBlowing","aliases":[]},{"icon":"faSnowboarding","aliases":["faSnowboarding"]},{"icon":"faSnowflake","aliases":[]},{"icon":"faSnowflakeDroplets","aliases":[]},{"icon":"faSnowflakes","aliases":[]},{"icon":"faSnowman","aliases":[]},{"icon":"faSnowmanHead","aliases":["faFrostyHead"]},{"icon":"faSnowmobile","aliases":["faSnowmobile"]},{"icon":"faSnowplow","aliases":[]},{"icon":"faSoap","aliases":[]},{"icon":"faSoccerBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faSocks","aliases":[]},{"icon":"faSoftServe","aliases":["faCreemee"]},{"icon":"faSolarPanel","aliases":[]},{"icon":"faSolarSystem","aliases":[]},{"icon":"faSort","aliases":["faUnsorted"]},{"icon":"faSortAlphaAsc","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDesc","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaDown","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDownAlt","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaUp","aliases":["faSortAlphaUp"]},{"icon":"faSortAlphaUpAlt","aliases":["faSortAlphaUpAlt"]},{"icon":"faSortAlt","aliases":["faSortAlt"]},{"icon":"faSortAmountAsc","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDesc","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountDown","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDownAlt","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountUp","aliases":["faSortAmountUp"]},{"icon":"faSortAmountUpAlt","aliases":["faSortAmountUpAlt"]},{"icon":"faSortAsc","aliases":["faSortAsc"]},{"icon":"faSortCircle","aliases":["faSortCircle"]},{"icon":"faSortCircleDown","aliases":["faSortCircleDown"]},{"icon":"faSortCircleUp","aliases":["faSortCircleUp"]},{"icon":"faSortDesc","aliases":["faSortDesc"]},{"icon":"faSortDown","aliases":["faSortDesc"]},{"icon":"faSortNumericAsc","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDesc","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericDown","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDownAlt","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericUp","aliases":["faSortNumericUp"]},{"icon":"faSortNumericUpAlt","aliases":["faSortNumericUpAlt"]},{"icon":"faSortShapesDown","aliases":["faSortShapesDown"]},{"icon":"faSortShapesDownAlt","aliases":["faSortShapesDownAlt"]},{"icon":"faSortShapesUp","aliases":["faSortShapesUp"]},{"icon":"faSortShapesUpAlt","aliases":["faSortShapesUpAlt"]},{"icon":"faSortSizeDown","aliases":["faSortSizeDown"]},{"icon":"faSortSizeDownAlt","aliases":["faSortSizeDownAlt"]},{"icon":"faSortSizeUp","aliases":["faSortSizeUp"]},{"icon":"faSortSizeUpAlt","aliases":["faSortSizeUpAlt"]},{"icon":"faSortUp","aliases":["faSortAsc"]},{"icon":"faSortUpDown","aliases":["faSortUpDown"]},{"icon":"faSoup","aliases":["faSoup"]},{"icon":"faSpa","aliases":[]},{"icon":"faSpaceShuttle","aliases":["faSpaceShuttle"]},{"icon":"faSpaceStationMoon","aliases":[]},{"icon":"faSpaceStationMoonAlt","aliases":["faSpaceStationMoonAlt"]},{"icon":"faSpaceStationMoonConstruction","aliases":["faSpaceStationMoonAlt"]},{"icon":"faSpade","aliases":[]},{"icon":"faSpaghettiMonsterFlying","aliases":["faPastafarianism"]},{"icon":"faSparkle","aliases":[]},{"icon":"faSparkles","aliases":[]},{"icon":"faSpeaker","aliases":[]},{"icon":"faSpeakers","aliases":[]},{"icon":"faSpellCheck","aliases":[]},{"icon":"faSpider","aliases":[]},{"icon":"faSpiderBlackWidow","aliases":[]},{"icon":"faSpiderWeb","aliases":[]},{"icon":"faSpinner","aliases":[]},{"icon":"faSpinnerScale","aliases":[]},{"icon":"faSpinnerThird","aliases":[]},{"icon":"faSplit","aliases":[]},{"icon":"faSplotch","aliases":[]},{"icon":"faSpoon","aliases":["faUtensilSpoon"]},{"icon":"faSportsball","aliases":[]},{"icon":"faSprayCan","aliases":[]},{"icon":"faSprayCanSparkles","aliases":["faAirFreshener"]},{"icon":"faSprinkler","aliases":[]},{"icon":"faSprinklerCeiling","aliases":[]},{"icon":"faSprout","aliases":["faSprout"]},{"icon":"faSquare","aliases":[]},{"icon":"faSquare0","aliases":[]},{"icon":"faSquare1","aliases":[]},{"icon":"faSquare2","aliases":[]},{"icon":"faSquare3","aliases":[]},{"icon":"faSquare4","aliases":[]},{"icon":"faSquare5","aliases":[]},{"icon":"faSquare6","aliases":[]},{"icon":"faSquare7","aliases":[]},{"icon":"faSquare8","aliases":[]},{"icon":"faSquare9","aliases":[]},{"icon":"faSquareA","aliases":[]},{"icon":"faSquareALock","aliases":[]},{"icon":"faSquareAmpersand","aliases":[]},{"icon":"faSquareArrowDown","aliases":["faArrowSquareDown"]},{"icon":"faSquareArrowDownLeft","aliases":[]},{"icon":"faSquareArrowDownRight","aliases":[]},{"icon":"faSquareArrowLeft","aliases":["faArrowSquareLeft"]},{"icon":"faSquareArrowRight","aliases":["faArrowSquareRight"]},{"icon":"faSquareArrowUp","aliases":["faArrowSquareUp"]},{"icon":"faSquareArrowUpLeft","aliases":[]},{"icon":"faSquareArrowUpRight","aliases":["faExternalLinkSquare"]},{"icon":"faSquareB","aliases":[]},{"icon":"faSquareBolt","aliases":[]},{"icon":"faSquareC","aliases":[]},{"icon":"faSquareCaretDown","aliases":["faCaretSquareDown"]},{"icon":"faSquareCaretLeft","aliases":["faCaretSquareLeft"]},{"icon":"faSquareCaretRight","aliases":["faCaretSquareRight"]},{"icon":"faSquareCaretUp","aliases":["faCaretSquareUp"]},{"icon":"faSquareCheck","aliases":["faCheckSquare"]},{"icon":"faSquareChevronDown","aliases":["faChevronSquareDown"]},{"icon":"faSquareChevronLeft","aliases":["faChevronSquareLeft"]},{"icon":"faSquareChevronRight","aliases":["faChevronSquareRight"]},{"icon":"faSquareChevronUp","aliases":["faChevronSquareUp"]},{"icon":"faSquareCode","aliases":[]},{"icon":"faSquareD","aliases":[]},{"icon":"faSquareDashed","aliases":[]},{"icon":"faSquareDashedCirclePlus","aliases":[]},{"icon":"faSquareDivide","aliases":[]},{"icon":"faSquareDollar","aliases":["faDollarSquare","faUsdSquare"]},{"icon":"faSquareDown","aliases":["faArrowAltSquareDown"]},{"icon":"faSquareDownLeft","aliases":[]},{"icon":"faSquareDownRight","aliases":[]},{"icon":"faSquareE","aliases":[]},{"icon":"faSquareEllipsis","aliases":[]},{"icon":"faSquareEllipsisVertical","aliases":[]},{"icon":"faSquareEnvelope","aliases":["faEnvelopeSquare"]},{"icon":"faSquareExclamation","aliases":["faExclamationSquare"]},{"icon":"faSquareF","aliases":[]},{"icon":"faSquareFragile","aliases":["faBoxFragile","faSquareWineGlassCrack"]},{"icon":"faSquareFull","aliases":[]},{"icon":"faSquareG","aliases":[]},{"icon":"faSquareH","aliases":["faHSquare"]},{"icon":"faSquareHeart","aliases":["faHeartSquare"]},{"icon":"faSquareI","aliases":[]},{"icon":"faSquareInfo","aliases":["faInfoSquare"]},{"icon":"faSquareJ","aliases":[]},{"icon":"faSquareK","aliases":[]},{"icon":"faSquareKanban","aliases":[]},{"icon":"faSquareL","aliases":[]},{"icon":"faSquareLeft","aliases":["faArrowAltSquareLeft"]},{"icon":"faSquareList","aliases":[]},{"icon":"faSquareM","aliases":[]},{"icon":"faSquareMinus","aliases":["faMinusSquare"]},{"icon":"faSquareN","aliases":[]},{"icon":"faSquareNfi","aliases":[]},{"icon":"faSquareO","aliases":[]},{"icon":"faSquareP","aliases":[]},{"icon":"faSquareParking","aliases":["faParking"]},{"icon":"faSquareParkingSlash","aliases":["faParkingSlash"]},{"icon":"faSquarePen","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faSquarePersonConfined","aliases":[]},{"icon":"faSquarePhone","aliases":["faPhoneSquare"]},{"icon":"faSquarePhoneFlip","aliases":["faPhoneSquareAlt"]},{"icon":"faSquarePhoneHangup","aliases":["faPhoneSquareDown"]},{"icon":"faSquarePlus","aliases":["faPlusSquare"]},{"icon":"faSquarePollHorizontal","aliases":["faPollH"]},{"icon":"faSquarePollVertical","aliases":["faPoll"]},{"icon":"faSquareQ","aliases":[]},{"icon":"faSquareQuarters","aliases":[]},{"icon":"faSquareQuestion","aliases":["faQuestionSquare"]},{"icon":"faSquareQuote","aliases":[]},{"icon":"faSquareR","aliases":[]},{"icon":"faSquareRight","aliases":["faArrowAltSquareRight"]},{"icon":"faSquareRing","aliases":[]},{"icon":"faSquareRoot","aliases":[]},{"icon":"faSquareRootAlt","aliases":["faSquareRootAlt"]},{"icon":"faSquareRootVariable","aliases":["faSquareRootAlt"]},{"icon":"faSquareRss","aliases":["faRssSquare"]},{"icon":"faSquareS","aliases":[]},{"icon":"faSquareShareNodes","aliases":["faShareAltSquare"]},{"icon":"faSquareSliders","aliases":["faSlidersHSquare"]},{"icon":"faSquareSlidersVertical","aliases":["faSlidersVSquare"]},{"icon":"faSquareSmall","aliases":[]},{"icon":"faSquareStar","aliases":[]},{"icon":"faSquareT","aliases":[]},{"icon":"faSquareTerminal","aliases":[]},{"icon":"faSquareThisWayUp","aliases":["faBoxUp"]},{"icon":"faSquareU","aliases":[]},{"icon":"faSquareUp","aliases":["faArrowAltSquareUp"]},{"icon":"faSquareUpLeft","aliases":[]},{"icon":"faSquareUpRight","aliases":["faExternalLinkSquareAlt"]},{"icon":"faSquareUser","aliases":[]},{"icon":"faSquareV","aliases":[]},{"icon":"faSquareVirus","aliases":[]},{"icon":"faSquareW","aliases":[]},{"icon":"faSquareWineGlassCrack","aliases":["faBoxFragile","faSquareWineGlassCrack"]},{"icon":"faSquareX","aliases":[]},{"icon":"faSquareXmark","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faSquareY","aliases":[]},{"icon":"faSquareZ","aliases":[]},{"icon":"faSquid","aliases":[]},{"icon":"faSquirrel","aliases":[]},{"icon":"faStaff","aliases":[]},{"icon":"faStaffAesculapius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStaffSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStairs","aliases":[]},{"icon":"faStamp","aliases":[]},{"icon":"faStandardDefinition","aliases":["faRectangleSd"]},{"icon":"faStapler","aliases":[]},{"icon":"faStar","aliases":[]},{"icon":"faStarAndCrescent","aliases":[]},{"icon":"faStarChristmas","aliases":[]},{"icon":"faStarCircle","aliases":["faStarCircle"]},{"icon":"faStarExclamation","aliases":[]},{"icon":"faStarHalf","aliases":[]},{"icon":"faStarHalfAlt","aliases":["faStarHalfAlt"]},{"icon":"faStarHalfStroke","aliases":["faStarHalfAlt"]},{"icon":"faStarOfDavid","aliases":[]},{"icon":"faStarOfLife","aliases":[]},{"icon":"faStarSharp","aliases":[]},{"icon":"faStarSharpHalf","aliases":[]},{"icon":"faStarSharpHalfAlt","aliases":["faStarSharpHalfAlt"]},{"icon":"faStarSharpHalfStroke","aliases":["faStarSharpHalfAlt"]},{"icon":"faStarShooting","aliases":[]},{"icon":"faStarfighter","aliases":[]},{"icon":"faStarfighterAlt","aliases":["faStarfighterAlt"]},{"icon":"faStarfighterAltAdvanced","aliases":["faStarfighterAltAdvanced"]},{"icon":"faStarfighterTwinIonEngine","aliases":["faStarfighterAlt"]},{"icon":"faStarfighterTwinIonEngineAdvanced","aliases":["faStarfighterAltAdvanced"]},{"icon":"faStars","aliases":[]},{"icon":"faStarship","aliases":[]},{"icon":"faStarshipFreighter","aliases":[]},{"icon":"faSteak","aliases":[]},{"icon":"faSteeringWheel","aliases":[]},{"icon":"faStepBackward","aliases":["faStepBackward"]},{"icon":"faStepForward","aliases":["faStepForward"]},{"icon":"faSterlingSign","aliases":["faGbp","faPoundSign"]},{"icon":"faStethoscope","aliases":[]},{"icon":"faStickyNote","aliases":["faStickyNote"]},{"icon":"faStocking","aliases":[]},{"icon":"faStomach","aliases":[]},{"icon":"faStop","aliases":[]},{"icon":"faStopCircle","aliases":["faStopCircle"]},{"icon":"faStopwatch","aliases":[]},{"icon":"faStopwatch20","aliases":[]},{"icon":"faStore","aliases":[]},{"icon":"faStoreAlt","aliases":["faStoreAlt"]},{"icon":"faStoreAltSlash","aliases":["faStoreAltSlash"]},{"icon":"faStoreLock","aliases":[]},{"icon":"faStoreSlash","aliases":[]},{"icon":"faStrawberry","aliases":[]},{"icon":"faStream","aliases":["faReorder","faStream"]},{"icon":"faStreetView","aliases":[]},{"icon":"faStretcher","aliases":[]},{"icon":"faStrikethrough","aliases":[]},{"icon":"faStroopwafel","aliases":[]},{"icon":"faSubscript","aliases":[]},{"icon":"faSubtitles","aliases":[]},{"icon":"faSubtitlesSlash","aliases":[]},{"icon":"faSubtract","aliases":["faSubtract"]},{"icon":"faSubway","aliases":["faSubway"]},{"icon":"faSubwayTunnel","aliases":["faSubwayTunnel"]},{"icon":"faSuitcase","aliases":[]},{"icon":"faSuitcaseMedical","aliases":["faMedkit"]},{"icon":"faSuitcaseRolling","aliases":[]},{"icon":"faSun","aliases":[]},{"icon":"faSunAlt","aliases":["faSunAlt"]},{"icon":"faSunBright","aliases":["faSunAlt"]},{"icon":"faSunCloud","aliases":[]},{"icon":"faSunDust","aliases":[]},{"icon":"faSunHaze","aliases":[]},{"icon":"faSunPlantWilt","aliases":[]},{"icon":"faSunglasses","aliases":[]},{"icon":"faSunrise","aliases":[]},{"icon":"faSunset","aliases":[]},{"icon":"faSuperscript","aliases":[]},{"icon":"faSurprise","aliases":["faSurprise"]},{"icon":"faSushi","aliases":["faNigiri"]},{"icon":"faSushiRoll","aliases":["faMakiRoll","faMakizushi"]},{"icon":"faSwap","aliases":[]},{"icon":"faSwapArrows","aliases":[]},{"icon":"faSwatchbook","aliases":[]},{"icon":"faSwimmer","aliases":["faSwimmer"]},{"icon":"faSwimmingPool","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faSword","aliases":[]},{"icon":"faSwordLaser","aliases":[]},{"icon":"faSwordLaserAlt","aliases":[]},{"icon":"faSwords","aliases":[]},{"icon":"faSwordsLaser","aliases":[]},{"icon":"faSymbols","aliases":["faIconsAlt"]},{"icon":"faSynagogue","aliases":[]},{"icon":"faSync","aliases":["faRefresh","faSync"]},{"icon":"faSyncAlt","aliases":["faSyncAlt"]},{"icon":"faSyringe","aliases":[]},{"icon":"faT","aliases":[]},{"icon":"faTRex","aliases":[]},{"icon":"faTShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faTable","aliases":[]},{"icon":"faTableCells","aliases":["faTh"]},{"icon":"faTableCellsColumnLock","aliases":[]},{"icon":"faTableCellsColumnUnlock","aliases":[]},{"icon":"faTableCellsLarge","aliases":["faThLarge"]},{"icon":"faTableCellsLock","aliases":[]},{"icon":"faTableCellsRowLock","aliases":[]},{"icon":"faTableCellsRowUnlock","aliases":[]},{"icon":"faTableCellsUnlock","aliases":[]},{"icon":"faTableColumns","aliases":["faColumns"]},{"icon":"faTableLayout","aliases":[]},{"icon":"faTableList","aliases":["faThList"]},{"icon":"faTablePicnic","aliases":[]},{"icon":"faTablePivot","aliases":[]},{"icon":"faTableRows","aliases":["faRows"]},{"icon":"faTableTennis","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTableTennisPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTableTree","aliases":[]},{"icon":"faTablet","aliases":["faTabletAndroid"]},{"icon":"faTabletAlt","aliases":["faTabletAlt"]},{"icon":"faTabletAndroid","aliases":["faTabletAndroid"]},{"icon":"faTabletAndroidAlt","aliases":["faTabletAndroidAlt"]},{"icon":"faTabletButton","aliases":[]},{"icon":"faTabletRugged","aliases":[]},{"icon":"faTabletScreen","aliases":["faTabletAndroidAlt"]},{"icon":"faTabletScreenButton","aliases":["faTabletAlt"]},{"icon":"faTablets","aliases":[]},{"icon":"faTachographDigital","aliases":["faDigitalTachograph"]},{"icon":"faTachometer","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTachometerAlt","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAltAverage","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faTachometerAltFast","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAltFastest","aliases":["faTachometerAltFastest"]},{"icon":"faTachometerAltSlow","aliases":["faTachometerAltSlow"]},{"icon":"faTachometerAltSlowest","aliases":["faTachometerAltSlowest"]},{"icon":"faTachometerAverage","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faTachometerFast","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTachometerFastest","aliases":["faTachometerFastest"]},{"icon":"faTachometerSlow","aliases":["faTachometerSlow"]},{"icon":"faTachometerSlowest","aliases":["faTachometerSlowest"]},{"icon":"faTaco","aliases":[]},{"icon":"faTag","aliases":[]},{"icon":"faTags","aliases":[]},{"icon":"faTally","aliases":["faTally5"]},{"icon":"faTally1","aliases":[]},{"icon":"faTally2","aliases":[]},{"icon":"faTally3","aliases":[]},{"icon":"faTally4","aliases":[]},{"icon":"faTally5","aliases":["faTally5"]},{"icon":"faTamale","aliases":[]},{"icon":"faTanakh","aliases":["faTanakh"]},{"icon":"faTankWater","aliases":[]},{"icon":"faTape","aliases":[]},{"icon":"faTarp","aliases":[]},{"icon":"faTarpDroplet","aliases":[]},{"icon":"faTasks","aliases":["faTasks"]},{"icon":"faTasksAlt","aliases":["faTasksAlt"]},{"icon":"faTaxi","aliases":["faCab"]},{"icon":"faTaxiBus","aliases":[]},{"icon":"faTeddyBear","aliases":[]},{"icon":"faTeeth","aliases":[]},{"icon":"faTeethOpen","aliases":[]},{"icon":"faTelescope","aliases":[]},{"icon":"faTeletype","aliases":["faTeletype"]},{"icon":"faTeletypeAnswer","aliases":["faTeletypeAnswer"]},{"icon":"faTelevision","aliases":["faTelevision","faTvAlt"]},{"icon":"faTemperature0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperature1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperature2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperature3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperature4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureArrowDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureArrowUp","aliases":["faTemperatureUp"]},{"icon":"faTemperatureDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperatureFrigid","aliases":["faTemperatureFrigid"]},{"icon":"faTemperatureFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperatureHigh","aliases":[]},{"icon":"faTemperatureHot","aliases":["faTemperatureHot"]},{"icon":"faTemperatureList","aliases":[]},{"icon":"faTemperatureLow","aliases":[]},{"icon":"faTemperatureQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperatureSnow","aliases":["faTemperatureFrigid"]},{"icon":"faTemperatureSun","aliases":["faTemperatureHot"]},{"icon":"faTemperatureThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperatureUp","aliases":["faTemperatureUp"]},{"icon":"faTenge","aliases":["faTenge"]},{"icon":"faTengeSign","aliases":["faTenge"]},{"icon":"faTennisBall","aliases":[]},{"icon":"faTent","aliases":[]},{"icon":"faTentArrowDownToLine","aliases":[]},{"icon":"faTentArrowLeftRight","aliases":[]},{"icon":"faTentArrowTurnLeft","aliases":[]},{"icon":"faTentArrowsDown","aliases":[]},{"icon":"faTentDoublePeak","aliases":[]},{"icon":"faTents","aliases":[]},{"icon":"faTerminal","aliases":[]},{"icon":"faText","aliases":[]},{"icon":"faTextHeight","aliases":[]},{"icon":"faTextSize","aliases":[]},{"icon":"faTextSlash","aliases":["faRemoveFormat"]},{"icon":"faTextWidth","aliases":[]},{"icon":"faTh","aliases":["faTh"]},{"icon":"faThLarge","aliases":["faThLarge"]},{"icon":"faThList","aliases":["faThList"]},{"icon":"faTheaterMasks","aliases":["faTheaterMasks"]},{"icon":"faThermometer","aliases":[]},{"icon":"faThermometer0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometer1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometer2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometer3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faThermometer4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometerFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometerQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometerThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTheta","aliases":[]},{"icon":"faThoughtBubble","aliases":[]},{"icon":"faThumbsDown","aliases":[]},{"icon":"faThumbsUp","aliases":[]},{"icon":"faThumbtack","aliases":["faThumbTack"]},{"icon":"faThumbtackSlash","aliases":["faThumbTackSlash"]},{"icon":"faThunderstorm","aliases":["faThunderstorm"]},{"icon":"faThunderstormMoon","aliases":["faThunderstormMoon"]},{"icon":"faThunderstormSun","aliases":["faThunderstormSun"]},{"icon":"faTick","aliases":[]},{"icon":"faTicket","aliases":[]},{"icon":"faTicketAirline","aliases":["faTicketPerforatedPlane","faTicketPlane"]},{"icon":"faTicketAlt","aliases":["faTicketAlt"]},{"icon":"faTicketPerforated","aliases":[]},{"icon":"faTicketPerforatedPlane","aliases":["faTicketPerforatedPlane","faTicketPlane"]},{"icon":"faTicketPlane","aliases":["faTicketPerforatedPlane","faTicketPlane"]},{"icon":"faTicketSimple","aliases":["faTicketAlt"]},{"icon":"faTickets","aliases":[]},{"icon":"faTicketsAirline","aliases":["faTicketsPerforatedPlane","faTicketsPlane"]},{"icon":"faTicketsPerforated","aliases":[]},{"icon":"faTicketsPerforatedPlane","aliases":["faTicketsPerforatedPlane","faTicketsPlane"]},{"icon":"faTicketsPlane","aliases":["faTicketsPerforatedPlane","faTicketsPlane"]},{"icon":"faTicketsSimple","aliases":[]},{"icon":"faTilde","aliases":[]},{"icon":"faTimeline","aliases":[]},{"icon":"faTimelineArrow","aliases":[]},{"icon":"faTimer","aliases":[]},{"icon":"faTimes","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faTimesCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faTimesHexagon","aliases":["faTimesHexagon","faXmarkHexagon"]},{"icon":"faTimesOctagon","aliases":["faTimesOctagon","faXmarkOctagon"]},{"icon":"faTimesRectangle","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faTimesSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faTimesToSlot","aliases":["faTimesToSlot","faVoteNay"]},{"icon":"faTint","aliases":["faTint"]},{"icon":"faTintSlash","aliases":["faTintSlash"]},{"icon":"faTire","aliases":[]},{"icon":"faTireFlat","aliases":[]},{"icon":"faTirePressureWarning","aliases":[]},{"icon":"faTireRugged","aliases":[]},{"icon":"faTired","aliases":["faTired"]},{"icon":"faToggleLargeOff","aliases":[]},{"icon":"faToggleLargeOn","aliases":[]},{"icon":"faToggleOff","aliases":[]},{"icon":"faToggleOn","aliases":[]},{"icon":"faToilet","aliases":[]},{"icon":"faToiletPaper","aliases":[]},{"icon":"faToiletPaperAlt","aliases":["faToiletPaperAlt"]},{"icon":"faToiletPaperBlank","aliases":["faToiletPaperAlt"]},{"icon":"faToiletPaperBlankUnder","aliases":["faToiletPaperReverseAlt"]},{"icon":"faToiletPaperCheck","aliases":[]},{"icon":"faToiletPaperReverse","aliases":["faToiletPaperReverse"]},{"icon":"faToiletPaperReverseAlt","aliases":["faToiletPaperReverseAlt"]},{"icon":"faToiletPaperReverseSlash","aliases":["faToiletPaperReverseSlash"]},{"icon":"faToiletPaperSlash","aliases":[]},{"icon":"faToiletPaperUnder","aliases":["faToiletPaperReverse"]},{"icon":"faToiletPaperUnderSlash","aliases":["faToiletPaperReverseSlash"]},{"icon":"faToiletPaperXmark","aliases":[]},{"icon":"faToiletPortable","aliases":[]},{"icon":"faToiletsPortable","aliases":[]},{"icon":"faTomato","aliases":[]},{"icon":"faTombstone","aliases":[]},{"icon":"faTombstoneAlt","aliases":["faTombstoneAlt"]},{"icon":"faTombstoneBlank","aliases":["faTombstoneAlt"]},{"icon":"faToolbox","aliases":[]},{"icon":"faTools","aliases":["faTools"]},{"icon":"faTooth","aliases":[]},{"icon":"faToothbrush","aliases":[]},{"icon":"faTorah","aliases":["faTorah"]},{"icon":"faToriiGate","aliases":[]},{"icon":"faTornado","aliases":[]},{"icon":"faTowerBroadcast","aliases":["faBroadcastTower"]},{"icon":"faTowerCell","aliases":[]},{"icon":"faTowerControl","aliases":[]},{"icon":"faTowerObservation","aliases":[]},{"icon":"faTractor","aliases":[]},{"icon":"faTrademark","aliases":[]},{"icon":"faTrafficCone","aliases":[]},{"icon":"faTrafficLight","aliases":[]},{"icon":"faTrafficLightGo","aliases":[]},{"icon":"faTrafficLightSlow","aliases":[]},{"icon":"faTrafficLightStop","aliases":[]},{"icon":"faTrailer","aliases":[]},{"icon":"faTrain","aliases":[]},{"icon":"faTrainSubway","aliases":["faSubway"]},{"icon":"faTrainSubwayTunnel","aliases":["faSubwayTunnel"]},{"icon":"faTrainTrack","aliases":[]},{"icon":"faTrainTram","aliases":[]},{"icon":"faTrainTunnel","aliases":[]},{"icon":"faTram","aliases":["faTram"]},{"icon":"faTransformerBolt","aliases":[]},{"icon":"faTransgender","aliases":["faTransgenderAlt"]},{"icon":"faTransgenderAlt","aliases":["faTransgenderAlt"]},{"icon":"faTransporter","aliases":[]},{"icon":"faTransporter1","aliases":[]},{"icon":"faTransporter2","aliases":[]},{"icon":"faTransporter3","aliases":[]},{"icon":"faTransporter4","aliases":[]},{"icon":"faTransporter5","aliases":[]},{"icon":"faTransporter6","aliases":[]},{"icon":"faTransporter7","aliases":[]},{"icon":"faTransporterEmpty","aliases":[]},{"icon":"faTrash","aliases":[]},{"icon":"faTrashAlt","aliases":["faTrashAlt"]},{"icon":"faTrashAltSlash","aliases":["faTrashAltSlash"]},{"icon":"faTrashArrowTurnLeft","aliases":["faTrashArrowTurnLeft"]},{"icon":"faTrashArrowUp","aliases":["faTrashRestore"]},{"icon":"faTrashCan","aliases":["faTrashAlt"]},{"icon":"faTrashCanArrowTurnLeft","aliases":["faTrashCanArrowTurnLeft","faTrashUndoAlt"]},{"icon":"faTrashCanArrowUp","aliases":["faTrashRestoreAlt"]},{"icon":"faTrashCanCheck","aliases":[]},{"icon":"faTrashCanClock","aliases":[]},{"icon":"faTrashCanList","aliases":[]},{"icon":"faTrashCanPlus","aliases":[]},{"icon":"faTrashCanSlash","aliases":["faTrashAltSlash"]},{"icon":"faTrashCanUndo","aliases":["faTrashCanArrowTurnLeft","faTrashUndoAlt"]},{"icon":"faTrashCanXmark","aliases":[]},{"icon":"faTrashCheck","aliases":[]},{"icon":"faTrashCircle","aliases":["faTrashCircle"]},{"icon":"faTrashClock","aliases":[]},{"icon":"faTrashList","aliases":[]},{"icon":"faTrashPlus","aliases":[]},{"icon":"faTrashRestore","aliases":["faTrashRestore"]},{"icon":"faTrashRestoreAlt","aliases":["faTrashRestoreAlt"]},{"icon":"faTrashSlash","aliases":[]},{"icon":"faTrashUndo","aliases":["faTrashArrowTurnLeft"]},{"icon":"faTrashUndoAlt","aliases":["faTrashCanArrowTurnLeft","faTrashUndoAlt"]},{"icon":"faTrashXmark","aliases":[]},{"icon":"faTreasureChest","aliases":[]},{"icon":"faTree","aliases":[]},{"icon":"faTreeAlt","aliases":["faTreeAlt"]},{"icon":"faTreeChristmas","aliases":[]},{"icon":"faTreeCity","aliases":[]},{"icon":"faTreeDeciduous","aliases":["faTreeAlt"]},{"icon":"faTreeDecorated","aliases":[]},{"icon":"faTreeLarge","aliases":[]},{"icon":"faTreePalm","aliases":[]},{"icon":"faTrees","aliases":[]},{"icon":"faTrianBalbot","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faTriangle","aliases":[]},{"icon":"faTriangleCircleSquare","aliases":["faTriangleCircleSquare"]},{"icon":"faTriangleExclamation","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faTriangleInstrument","aliases":["faTriangleMusic"]},{"icon":"faTriangleMusic","aliases":["faTriangleMusic"]},{"icon":"faTrianglePersonDigging","aliases":["faConstruction"]},{"icon":"faTricycle","aliases":[]},{"icon":"faTricycleAdult","aliases":[]},{"icon":"faTrillium","aliases":[]},{"icon":"faTrophy","aliases":[]},{"icon":"faTrophyAlt","aliases":["faTrophyAlt"]},{"icon":"faTrophyStar","aliases":["faTrophyAlt"]},{"icon":"faTrowel","aliases":[]},{"icon":"faTrowelBricks","aliases":[]},{"icon":"faTruck","aliases":[]},{"icon":"faTruckArrowRight","aliases":[]},{"icon":"faTruckBolt","aliases":[]},{"icon":"faTruckClock","aliases":["faShippingTimed"]},{"icon":"faTruckContainer","aliases":[]},{"icon":"faTruckContainerEmpty","aliases":[]},{"icon":"faTruckCouch","aliases":["faTruckCouch"]},{"icon":"faTruckDroplet","aliases":[]},{"icon":"faTruckFast","aliases":["faShippingFast"]},{"icon":"faTruckField","aliases":[]},{"icon":"faTruckFieldUn","aliases":[]},{"icon":"faTruckFire","aliases":[]},{"icon":"faTruckFlatbed","aliases":[]},{"icon":"faTruckFront","aliases":[]},{"icon":"faTruckLadder","aliases":[]},{"icon":"faTruckLoading","aliases":["faTruckLoading"]},{"icon":"faTruckMedical","aliases":["faAmbulance"]},{"icon":"faTruckMonster","aliases":[]},{"icon":"faTruckMoving","aliases":[]},{"icon":"faTruckPickup","aliases":[]},{"icon":"faTruckPlane","aliases":[]},{"icon":"faTruckPlow","aliases":[]},{"icon":"faTruckRamp","aliases":[]},{"icon":"faTruckRampBox","aliases":["faTruckLoading"]},{"icon":"faTruckRampCouch","aliases":["faTruckCouch"]},{"icon":"faTruckTow","aliases":[]},{"icon":"faTruckUtensils","aliases":[]},{"icon":"faTrumpet","aliases":[]},{"icon":"faTry","aliases":["faTry","faTurkishLira"]},{"icon":"faTty","aliases":["faTeletype"]},{"icon":"faTtyAnswer","aliases":["faTeletypeAnswer"]},{"icon":"faTugrikSign","aliases":[]},{"icon":"faTurkey","aliases":[]},{"icon":"faTurkishLira","aliases":["faTry","faTurkishLira"]},{"icon":"faTurkishLiraSign","aliases":["faTry","faTurkishLira"]},{"icon":"faTurnDown","aliases":["faLevelDownAlt"]},{"icon":"faTurnDownLeft","aliases":[]},{"icon":"faTurnDownRight","aliases":[]},{"icon":"faTurnLeft","aliases":[]},{"icon":"faTurnLeftDown","aliases":[]},{"icon":"faTurnLeftUp","aliases":[]},{"icon":"faTurnRight","aliases":[]},{"icon":"faTurnUp","aliases":["faLevelUpAlt"]},{"icon":"faTurntable","aliases":[]},{"icon":"faTurtle","aliases":[]},{"icon":"faTv","aliases":["faTelevision","faTvAlt"]},{"icon":"faTvAlt","aliases":["faTelevision","faTvAlt"]},{"icon":"faTvMusic","aliases":[]},{"icon":"faTvRetro","aliases":[]},{"icon":"faTypewriter","aliases":[]},{"icon":"faU","aliases":[]},{"icon":"faUfo","aliases":[]},{"icon":"faUfoBeam","aliases":[]},{"icon":"faUmbrella","aliases":[]},{"icon":"faUmbrellaAlt","aliases":["faUmbrellaAlt"]},{"icon":"faUmbrellaBeach","aliases":[]},{"icon":"faUmbrellaSimple","aliases":["faUmbrellaAlt"]},{"icon":"faUnderline","aliases":[]},{"icon":"faUndo","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faUndoAlt","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faUnicorn","aliases":[]},{"icon":"faUniformMartialArts","aliases":[]},{"icon":"faUnion","aliases":[]},{"icon":"faUniversalAccess","aliases":[]},{"icon":"faUniversity","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faUnlink","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faUnlock","aliases":[]},{"icon":"faUnlockAlt","aliases":["faUnlockAlt"]},{"icon":"faUnlockKeyhole","aliases":["faUnlockAlt"]},{"icon":"faUnsorted","aliases":["faUnsorted"]},{"icon":"faUp","aliases":["faArrowAltUp"]},{"icon":"faUpDown","aliases":["faArrowsAltV"]},{"icon":"faUpDownLeftRight","aliases":["faArrowsAlt"]},{"icon":"faUpFromBracket","aliases":[]},{"icon":"faUpFromDottedLine","aliases":[]},{"icon":"faUpFromLine","aliases":["faArrowAltFromBottom"]},{"icon":"faUpLeft","aliases":[]},{"icon":"faUpLong","aliases":["faLongArrowAltUp"]},{"icon":"faUpRight","aliases":[]},{"icon":"faUpRightAndDownLeftFromCenter","aliases":["faExpandAlt"]},{"icon":"faUpRightFromSquare","aliases":["faExternalLinkAlt"]},{"icon":"faUpToBracket","aliases":[]},{"icon":"faUpToDottedLine","aliases":[]},{"icon":"faUpToLine","aliases":["faArrowAltToTop"]},{"icon":"faUpload","aliases":[]},{"icon":"faUsbDrive","aliases":[]},{"icon":"faUsd","aliases":["faDollar","faUsd"]},{"icon":"faUsdCircle","aliases":["faDollarCircle","faUsdCircle"]},{"icon":"faUsdSquare","aliases":["faDollarSquare","faUsdSquare"]},{"icon":"faUser","aliases":[]},{"icon":"faUserAlien","aliases":[]},{"icon":"faUserAlt","aliases":["faUserAlt"]},{"icon":"faUserAltSlash","aliases":["faUserAltSlash"]},{"icon":"faUserAstronaut","aliases":[]},{"icon":"faUserBeardBolt","aliases":[]},{"icon":"faUserBountyHunter","aliases":[]},{"icon":"faUserChart","aliases":["faUserChart"]},{"icon":"faUserCheck","aliases":[]},{"icon":"faUserChef","aliases":[]},{"icon":"faUserCircle","aliases":["faUserCircle"]},{"icon":"faUserClock","aliases":[]},{"icon":"faUserCog","aliases":["faUserCog"]},{"icon":"faUserConstruction","aliases":["faUserConstruction","faUserHardHat"]},{"icon":"faUserCowboy","aliases":[]},{"icon":"faUserCrown","aliases":[]},{"icon":"faUserDoctor","aliases":["faUserMd"]},{"icon":"faUserDoctorHair","aliases":[]},{"icon":"faUserDoctorHairLong","aliases":[]},{"icon":"faUserDoctorMessage","aliases":["faUserMdChat"]},{"icon":"faUserEdit","aliases":["faUserEdit"]},{"icon":"faUserFriends","aliases":["faUserFriends"]},{"icon":"faUserGear","aliases":["faUserCog"]},{"icon":"faUserGraduate","aliases":[]},{"icon":"faUserGroup","aliases":["faUserFriends"]},{"icon":"faUserGroupCrown","aliases":["faUsersCrown"]},{"icon":"faUserGroupSimple","aliases":[]},{"icon":"faUserHair","aliases":[]},{"icon":"faUserHairBuns","aliases":[]},{"icon":"faUserHairLong","aliases":[]},{"icon":"faUserHairMullet","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faUserHardHat","aliases":["faUserConstruction","faUserHardHat"]},{"icon":"faUserHeadset","aliases":[]},{"icon":"faUserHelmetSafety","aliases":["faUserConstruction","faUserHardHat"]},{"icon":"faUserHoodie","aliases":[]},{"icon":"faUserInjured","aliases":[]},{"icon":"faUserLarge","aliases":["faUserAlt"]},{"icon":"faUserLargeSlash","aliases":["faUserAltSlash"]},{"icon":"faUserLock","aliases":[]},{"icon":"faUserMagnifyingGlass","aliases":[]},{"icon":"faUserMd","aliases":["faUserMd"]},{"icon":"faUserMdChat","aliases":["faUserMdChat"]},{"icon":"faUserMinus","aliases":[]},{"icon":"faUserMusic","aliases":[]},{"icon":"faUserNinja","aliases":[]},{"icon":"faUserNurse","aliases":[]},{"icon":"faUserNurseHair","aliases":[]},{"icon":"faUserNurseHairLong","aliases":[]},{"icon":"faUserPen","aliases":["faUserEdit"]},{"icon":"faUserPilot","aliases":[]},{"icon":"faUserPilotTie","aliases":[]},{"icon":"faUserPlus","aliases":[]},{"icon":"faUserPolice","aliases":[]},{"icon":"faUserPoliceTie","aliases":[]},{"icon":"faUserRobot","aliases":[]},{"icon":"faUserRobotXmarks","aliases":[]},{"icon":"faUserSecret","aliases":[]},{"icon":"faUserShakespeare","aliases":[]},{"icon":"faUserShield","aliases":[]},{"icon":"faUserSlash","aliases":[]},{"icon":"faUserTag","aliases":[]},{"icon":"faUserTie","aliases":[]},{"icon":"faUserTieHair","aliases":[]},{"icon":"faUserTieHairLong","aliases":[]},{"icon":"faUserTimes","aliases":["faUserTimes"]},{"icon":"faUserUnlock","aliases":[]},{"icon":"faUserVisor","aliases":[]},{"icon":"faUserVneck","aliases":[]},{"icon":"faUserVneckHair","aliases":[]},{"icon":"faUserVneckHairLong","aliases":[]},{"icon":"faUserXmark","aliases":["faUserTimes"]},{"icon":"faUsers","aliases":[]},{"icon":"faUsersBetweenLines","aliases":[]},{"icon":"faUsersClass","aliases":["faUsersClass"]},{"icon":"faUsersCog","aliases":["faUsersCog"]},{"icon":"faUsersCrown","aliases":["faUsersCrown"]},{"icon":"faUsersGear","aliases":["faUsersCog"]},{"icon":"faUsersLine","aliases":[]},{"icon":"faUsersMedical","aliases":[]},{"icon":"faUsersRays","aliases":[]},{"icon":"faUsersRectangle","aliases":[]},{"icon":"faUsersSlash","aliases":[]},{"icon":"faUsersViewfinder","aliases":[]},{"icon":"faUtensilFork","aliases":["faUtensilFork"]},{"icon":"faUtensilKnife","aliases":["faUtensilKnife"]},{"icon":"faUtensilSpoon","aliases":["faUtensilSpoon"]},{"icon":"faUtensils","aliases":["faCutlery"]},{"icon":"faUtensilsAlt","aliases":["faUtensilsAlt"]},{"icon":"faUtensilsSlash","aliases":[]},{"icon":"faUtilityPole","aliases":[]},{"icon":"faUtilityPoleDouble","aliases":[]},{"icon":"faV","aliases":[]},{"icon":"faVacuum","aliases":[]},{"icon":"faVacuumRobot","aliases":[]},{"icon":"faValueAbsolute","aliases":[]},{"icon":"faVanShuttle","aliases":["faShuttleVan"]},{"icon":"faVault","aliases":[]},{"icon":"faVcard","aliases":["faContactCard","faVcard"]},{"icon":"faVectorCircle","aliases":[]},{"icon":"faVectorPolygon","aliases":[]},{"icon":"faVectorSquare","aliases":[]},{"icon":"faVentDamper","aliases":[]},{"icon":"faVenus","aliases":[]},{"icon":"faVenusDouble","aliases":[]},{"icon":"faVenusMars","aliases":[]},{"icon":"faVest","aliases":[]},{"icon":"faVestPatches","aliases":[]},{"icon":"faVhs","aliases":["faVhs"]},{"icon":"faVial","aliases":[]},{"icon":"faVialCircleCheck","aliases":[]},{"icon":"faVialVirus","aliases":[]},{"icon":"faVials","aliases":[]},{"icon":"faVideo","aliases":["faVideoCamera"]},{"icon":"faVideoArrowDownLeft","aliases":[]},{"icon":"faVideoArrowUpRight","aliases":[]},{"icon":"faVideoCamera","aliases":["faVideoCamera"]},{"icon":"faVideoCircle","aliases":["faVideoCircle"]},{"icon":"faVideoHandheld","aliases":["faVideoHandheld"]},{"icon":"faVideoPlus","aliases":[]},{"icon":"faVideoSlash","aliases":[]},{"icon":"faVihara","aliases":[]},{"icon":"faViolin","aliases":[]},{"icon":"faVirus","aliases":[]},{"icon":"faVirusCovid","aliases":[]},{"icon":"faVirusCovidSlash","aliases":[]},{"icon":"faVirusSlash","aliases":[]},{"icon":"faViruses","aliases":[]},{"icon":"faVoicemail","aliases":[]},{"icon":"faVolcano","aliases":[]},{"icon":"faVolleyball","aliases":["faVolleyballBall"]},{"icon":"faVolleyballBall","aliases":["faVolleyballBall"]},{"icon":"faVolume","aliases":["faVolumeMedium"]},{"icon":"faVolumeControlPhone","aliases":["faVolumeControlPhone"]},{"icon":"faVolumeDown","aliases":["faVolumeDown"]},{"icon":"faVolumeHigh","aliases":["faVolumeUp"]},{"icon":"faVolumeLow","aliases":["faVolumeDown"]},{"icon":"faVolumeMedium","aliases":["faVolumeMedium"]},{"icon":"faVolumeMute","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeOff","aliases":[]},{"icon":"faVolumeSlash","aliases":[]},{"icon":"faVolumeTimes","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeUp","aliases":["faVolumeUp"]},{"icon":"faVolumeXmark","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVoteNay","aliases":["faTimesToSlot","faVoteNay"]},{"icon":"faVoteYea","aliases":["faVoteYea"]},{"icon":"faVrCardboard","aliases":[]},{"icon":"faW","aliases":[]},{"icon":"faWaffle","aliases":[]},{"icon":"faWagonCovered","aliases":[]},{"icon":"faWalker","aliases":[]},{"icon":"faWalkieTalkie","aliases":[]},{"icon":"faWalking","aliases":["faWalking"]},{"icon":"faWallBrick","aliases":["faWallBrick"]},{"icon":"faWallet","aliases":[]},{"icon":"faWand","aliases":[]},{"icon":"faWandMagic","aliases":["faMagic"]},{"icon":"faWandMagicSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faWandSparkles","aliases":[]},{"icon":"faWarehouse","aliases":[]},{"icon":"faWarehouseAlt","aliases":["faWarehouseAlt"]},{"icon":"faWarehouseFull","aliases":["faWarehouseAlt"]},{"icon":"faWarning","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faWasher","aliases":["faWasher"]},{"icon":"faWashingMachine","aliases":["faWasher"]},{"icon":"faWatch","aliases":[]},{"icon":"faWatchApple","aliases":[]},{"icon":"faWatchCalculator","aliases":[]},{"icon":"faWatchFitness","aliases":[]},{"icon":"faWatchSmart","aliases":[]},{"icon":"faWater","aliases":[]},{"icon":"faWaterArrowDown","aliases":["faWaterLower"]},{"icon":"faWaterArrowUp","aliases":["faWaterRise"]},{"icon":"faWaterLadder","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faWaterLower","aliases":["faWaterLower"]},{"icon":"faWaterRise","aliases":["faWaterRise"]},{"icon":"faWatermelonSlice","aliases":[]},{"icon":"faWave","aliases":[]},{"icon":"faWavePulse","aliases":["faHeartRate"]},{"icon":"faWaveSine","aliases":[]},{"icon":"faWaveSquare","aliases":[]},{"icon":"faWaveTriangle","aliases":[]},{"icon":"faWaveform","aliases":[]},{"icon":"faWaveformCircle","aliases":["faWaveformCircle"]},{"icon":"faWaveformLines","aliases":["faWaveformPath"]},{"icon":"faWaveformPath","aliases":["faWaveformPath"]},{"icon":"faWavesSine","aliases":[]},{"icon":"faWebAwesome","aliases":[]},{"icon":"faWebcam","aliases":["faWebcam"]},{"icon":"faWebcamSlash","aliases":["faWebcamSlash"]},{"icon":"faWebhook","aliases":[]},{"icon":"faWeight","aliases":["faWeight"]},{"icon":"faWeightHanging","aliases":[]},{"icon":"faWeightScale","aliases":["faWeight"]},{"icon":"faWhale","aliases":[]},{"icon":"faWheat","aliases":[]},{"icon":"faWheatAlt","aliases":["faWheatAlt"]},{"icon":"faWheatAwn","aliases":["faWheatAlt"]},{"icon":"faWheatAwnCircleExclamation","aliases":[]},{"icon":"faWheatAwnSlash","aliases":[]},{"icon":"faWheatSlash","aliases":[]},{"icon":"faWheelchair","aliases":[]},{"icon":"faWheelchairAlt","aliases":["faWheelchairAlt"]},{"icon":"faWheelchairMove","aliases":["faWheelchairAlt"]},{"icon":"faWhiskeyGlass","aliases":["faGlassWhiskey"]},{"icon":"faWhiskeyGlassIce","aliases":["faGlassWhiskeyRocks"]},{"icon":"faWhistle","aliases":[]},{"icon":"faWifi","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifi1","aliases":["faWifi1"]},{"icon":"faWifi2","aliases":["faWifi2"]},{"icon":"faWifi3","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifiExclamation","aliases":[]},{"icon":"faWifiFair","aliases":["faWifi2"]},{"icon":"faWifiSlash","aliases":[]},{"icon":"faWifiStrong","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifiWeak","aliases":["faWifi1"]},{"icon":"faWind","aliases":[]},{"icon":"faWindCircleExclamation","aliases":["faWindCircleExclamation"]},{"icon":"faWindTurbine","aliases":[]},{"icon":"faWindWarning","aliases":["faWindCircleExclamation"]},{"icon":"faWindow","aliases":[]},{"icon":"faWindowAlt","aliases":["faWindowAlt"]},{"icon":"faWindowClose","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faWindowFlip","aliases":["faWindowAlt"]},{"icon":"faWindowFrame","aliases":[]},{"icon":"faWindowFrameOpen","aliases":[]},{"icon":"faWindowMaximize","aliases":[]},{"icon":"faWindowMinimize","aliases":[]},{"icon":"faWindowRestore","aliases":[]},{"icon":"faWindsock","aliases":[]},{"icon":"faWineBottle","aliases":[]},{"icon":"faWineGlass","aliases":[]},{"icon":"faWineGlassAlt","aliases":["faWineGlassAlt"]},{"icon":"faWineGlassCrack","aliases":["faFragile"]},{"icon":"faWineGlassEmpty","aliases":["faWineGlassAlt"]},{"icon":"faWon","aliases":["faKrw","faWon"]},{"icon":"faWonSign","aliases":["faKrw","faWon"]},{"icon":"faWorm","aliases":[]},{"icon":"faWreath","aliases":[]},{"icon":"faWreathLaurel","aliases":[]},{"icon":"faWrench","aliases":[]},{"icon":"faWrenchSimple","aliases":[]},{"icon":"faX","aliases":[]},{"icon":"faXRay","aliases":[]},{"icon":"faXmark","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faXmarkCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faXmarkHexagon","aliases":["faTimesHexagon","faXmarkHexagon"]},{"icon":"faXmarkLarge","aliases":[]},{"icon":"faXmarkOctagon","aliases":["faTimesOctagon","faXmarkOctagon"]},{"icon":"faXmarkSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faXmarkToSlot","aliases":["faTimesToSlot","faVoteNay"]},{"icon":"faXmarksLines","aliases":[]},{"icon":"faY","aliases":[]},{"icon":"faYen","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYenSign","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYinYang","aliases":[]},{"icon":"faZ","aliases":[]},{"icon":"faZap","aliases":["faZap"]},{"icon":"faZzz","aliases":["faZzz"]}],"prefix":"fas"},"@awesome.me/kit-63db24046b/icons/kit/custom":{"icons":[{"icon":"faActors","aliases":[]},{"icon":"faActorsBorderless","aliases":[]},{"icon":"faFreestyle","aliases":[]},{"icon":"faGb","aliases":[]},{"icon":"faGoogleCloud","aliases":[]},{"icon":"faHetzner","aliases":[]},{"icon":"faHetznerH","aliases":[]},{"icon":"faKubernetes","aliases":[]},{"icon":"faLinear","aliases":[]},{"icon":"faProject","aliases":[]},{"icon":"faRailway","aliases":[]},{"icon":"faRegex","aliases":[]},{"icon":"faRivet","aliases":[]},{"icon":"faSelect","aliases":[]},{"icon":"faTs","aliases":[]},{"icon":"faVercel","aliases":[]},{"icon":"faWord","aliases":[]}]}} +{"@fortawesome/free-solid-svg-icons":{"icons":[{"icon":"fa0","aliases":[]},{"icon":"fa1","aliases":[]},{"icon":"fa2","aliases":[]},{"icon":"fa3","aliases":[]},{"icon":"fa4","aliases":[]},{"icon":"fa5","aliases":[]},{"icon":"fa6","aliases":[]},{"icon":"fa7","aliases":[]},{"icon":"fa8","aliases":[]},{"icon":"fa9","aliases":[]},{"icon":"faA","aliases":[]},{"icon":"faAd","aliases":["faAd"]},{"icon":"faAdd","aliases":["faAdd"]},{"icon":"faAddressBook","aliases":["faContactBook"]},{"icon":"faAddressCard","aliases":["faContactCard","faVcard"]},{"icon":"faAdjust","aliases":["faAdjust"]},{"icon":"faAirFreshener","aliases":["faAirFreshener"]},{"icon":"faAlignCenter","aliases":[]},{"icon":"faAlignJustify","aliases":[]},{"icon":"faAlignLeft","aliases":[]},{"icon":"faAlignRight","aliases":[]},{"icon":"faAllergies","aliases":["faAllergies"]},{"icon":"faAmbulance","aliases":["faAmbulance"]},{"icon":"faAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAnchor","aliases":[]},{"icon":"faAnchorCircleCheck","aliases":[]},{"icon":"faAnchorCircleExclamation","aliases":[]},{"icon":"faAnchorCircleXmark","aliases":[]},{"icon":"faAnchorLock","aliases":[]},{"icon":"faAngleDoubleDown","aliases":["faAngleDoubleDown"]},{"icon":"faAngleDoubleLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAngleDoubleRight","aliases":["faAngleDoubleRight"]},{"icon":"faAngleDoubleUp","aliases":["faAngleDoubleUp"]},{"icon":"faAngleDown","aliases":[]},{"icon":"faAngleLeft","aliases":[]},{"icon":"faAngleRight","aliases":[]},{"icon":"faAngleUp","aliases":[]},{"icon":"faAnglesDown","aliases":["faAngleDoubleDown"]},{"icon":"faAnglesLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAnglesRight","aliases":["faAngleDoubleRight"]},{"icon":"faAnglesUp","aliases":["faAngleDoubleUp"]},{"icon":"faAngry","aliases":["faAngry"]},{"icon":"faAnkh","aliases":[]},{"icon":"faAppleAlt","aliases":["faAppleAlt"]},{"icon":"faAppleWhole","aliases":["faAppleAlt"]},{"icon":"faArchive","aliases":["faArchive"]},{"icon":"faArchway","aliases":[]},{"icon":"faAreaChart","aliases":["faAreaChart"]},{"icon":"faArrowAltCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faArrowAltCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faArrowAltCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faArrowAltCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faArrowCircleDown","aliases":["faArrowCircleDown"]},{"icon":"faArrowCircleLeft","aliases":["faArrowCircleLeft"]},{"icon":"faArrowCircleRight","aliases":["faArrowCircleRight"]},{"icon":"faArrowCircleUp","aliases":["faArrowCircleUp"]},{"icon":"faArrowDown","aliases":[]},{"icon":"faArrowDown19","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faArrowDown91","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faArrowDownAZ","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faArrowDownLong","aliases":["faLongArrowDown"]},{"icon":"faArrowDownShortWide","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faArrowDownUpAcrossLine","aliases":[]},{"icon":"faArrowDownUpLock","aliases":[]},{"icon":"faArrowDownWideShort","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faArrowDownZA","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faArrowLeft","aliases":[]},{"icon":"faArrowLeftLong","aliases":["faLongArrowLeft"]},{"icon":"faArrowLeftRotate","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowPointer","aliases":["faMousePointer"]},{"icon":"faArrowRight","aliases":[]},{"icon":"faArrowRightArrowLeft","aliases":["faExchange"]},{"icon":"faArrowRightFromBracket","aliases":["faSignOut"]},{"icon":"faArrowRightFromFile","aliases":["faArrowRightFromFile"]},{"icon":"faArrowRightLong","aliases":["faLongArrowRight"]},{"icon":"faArrowRightRotate","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRightToBracket","aliases":["faSignIn"]},{"icon":"faArrowRightToCity","aliases":[]},{"icon":"faArrowRightToFile","aliases":["faArrowRightToFile"]},{"icon":"faArrowRotateBack","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateBackward","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateForward","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRotateLeft","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateRight","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowTrendDown","aliases":[]},{"icon":"faArrowTrendUp","aliases":[]},{"icon":"faArrowTurnDown","aliases":["faLevelDown"]},{"icon":"faArrowTurnUp","aliases":["faLevelUp"]},{"icon":"faArrowUp","aliases":[]},{"icon":"faArrowUp19","aliases":["faSortNumericUp"]},{"icon":"faArrowUp91","aliases":["faSortNumericUpAlt"]},{"icon":"faArrowUpAZ","aliases":["faSortAlphaUp"]},{"icon":"faArrowUpFromBracket","aliases":[]},{"icon":"faArrowUpFromGroundWater","aliases":[]},{"icon":"faArrowUpFromWaterPump","aliases":[]},{"icon":"faArrowUpLong","aliases":["faLongArrowUp"]},{"icon":"faArrowUpRightDots","aliases":[]},{"icon":"faArrowUpRightFromSquare","aliases":["faExternalLink"]},{"icon":"faArrowUpShortWide","aliases":["faSortAmountUpAlt"]},{"icon":"faArrowUpWideShort","aliases":["faSortAmountUp"]},{"icon":"faArrowUpZA","aliases":["faSortAlphaUpAlt"]},{"icon":"faArrows","aliases":["faArrows"]},{"icon":"faArrowsAlt","aliases":["faArrowsAlt"]},{"icon":"faArrowsAltH","aliases":["faArrowsAltH"]},{"icon":"faArrowsAltV","aliases":["faArrowsAltV"]},{"icon":"faArrowsDownToLine","aliases":[]},{"icon":"faArrowsDownToPeople","aliases":[]},{"icon":"faArrowsH","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRight","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRightToLine","aliases":[]},{"icon":"faArrowsRotate","aliases":["faRefresh","faSync"]},{"icon":"faArrowsSpin","aliases":[]},{"icon":"faArrowsSplitUpAndLeft","aliases":[]},{"icon":"faArrowsToCircle","aliases":[]},{"icon":"faArrowsToDot","aliases":[]},{"icon":"faArrowsToEye","aliases":[]},{"icon":"faArrowsTurnRight","aliases":[]},{"icon":"faArrowsTurnToDots","aliases":[]},{"icon":"faArrowsUpDown","aliases":["faArrowsV"]},{"icon":"faArrowsUpDownLeftRight","aliases":["faArrows"]},{"icon":"faArrowsUpToLine","aliases":[]},{"icon":"faArrowsV","aliases":["faArrowsV"]},{"icon":"faAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAssistiveListeningSystems","aliases":["faAssistiveListeningSystems"]},{"icon":"faAsterisk","aliases":[]},{"icon":"faAt","aliases":[]},{"icon":"faAtlas","aliases":["faAtlas"]},{"icon":"faAtom","aliases":[]},{"icon":"faAudioDescription","aliases":[]},{"icon":"faAustralSign","aliases":[]},{"icon":"faAutomobile","aliases":["faAutomobile"]},{"icon":"faAward","aliases":[]},{"icon":"faB","aliases":[]},{"icon":"faBaby","aliases":[]},{"icon":"faBabyCarriage","aliases":["faCarriageBaby"]},{"icon":"faBackspace","aliases":["faBackspace"]},{"icon":"faBackward","aliases":[]},{"icon":"faBackwardFast","aliases":["faFastBackward"]},{"icon":"faBackwardStep","aliases":["faStepBackward"]},{"icon":"faBacon","aliases":[]},{"icon":"faBacteria","aliases":[]},{"icon":"faBacterium","aliases":[]},{"icon":"faBagShopping","aliases":["faShoppingBag"]},{"icon":"faBahai","aliases":["faHaykal"]},{"icon":"faBahtSign","aliases":[]},{"icon":"faBalanceScale","aliases":["faBalanceScale"]},{"icon":"faBalanceScaleLeft","aliases":["faBalanceScaleLeft"]},{"icon":"faBalanceScaleRight","aliases":["faBalanceScaleRight"]},{"icon":"faBan","aliases":["faCancel"]},{"icon":"faBanSmoking","aliases":["faSmokingBan"]},{"icon":"faBandAid","aliases":["faBandAid"]},{"icon":"faBandage","aliases":["faBandAid"]},{"icon":"faBangladeshiTakaSign","aliases":[]},{"icon":"faBank","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBarChart","aliases":["faBarChart"]},{"icon":"faBarcode","aliases":[]},{"icon":"faBars","aliases":["faNavicon"]},{"icon":"faBarsProgress","aliases":["faTasksAlt"]},{"icon":"faBarsStaggered","aliases":["faReorder","faStream"]},{"icon":"faBaseball","aliases":["faBaseballBall"]},{"icon":"faBaseballBall","aliases":["faBaseballBall"]},{"icon":"faBaseballBatBall","aliases":[]},{"icon":"faBasketShopping","aliases":["faShoppingBasket"]},{"icon":"faBasketball","aliases":["faBasketballBall"]},{"icon":"faBasketballBall","aliases":["faBasketballBall"]},{"icon":"faBath","aliases":["faBathtub"]},{"icon":"faBathtub","aliases":["faBathtub"]},{"icon":"faBattery","aliases":["faBattery","faBattery5"]},{"icon":"faBattery0","aliases":["faBattery0"]},{"icon":"faBattery2","aliases":["faBattery2"]},{"icon":"faBattery3","aliases":["faBattery3"]},{"icon":"faBattery4","aliases":["faBattery4"]},{"icon":"faBattery5","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryCar","aliases":["faBatteryCar"]},{"icon":"faBatteryEmpty","aliases":["faBattery0"]},{"icon":"faBatteryFull","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryHalf","aliases":["faBattery3"]},{"icon":"faBatteryQuarter","aliases":["faBattery2"]},{"icon":"faBatteryThreeQuarters","aliases":["faBattery4"]},{"icon":"faBed","aliases":[]},{"icon":"faBedPulse","aliases":["faProcedures"]},{"icon":"faBeer","aliases":["faBeer"]},{"icon":"faBeerMugEmpty","aliases":["faBeer"]},{"icon":"faBell","aliases":[]},{"icon":"faBellConcierge","aliases":["faConciergeBell"]},{"icon":"faBellSlash","aliases":[]},{"icon":"faBezierCurve","aliases":[]},{"icon":"faBible","aliases":["faBible"]},{"icon":"faBicycle","aliases":[]},{"icon":"faBiking","aliases":["faBiking"]},{"icon":"faBinoculars","aliases":[]},{"icon":"faBiohazard","aliases":[]},{"icon":"faBirthdayCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faBitcoinSign","aliases":[]},{"icon":"faBlackboard","aliases":["faBlackboard"]},{"icon":"faBlender","aliases":[]},{"icon":"faBlenderPhone","aliases":[]},{"icon":"faBlind","aliases":["faBlind"]},{"icon":"faBlog","aliases":[]},{"icon":"faBold","aliases":[]},{"icon":"faBolt","aliases":["faZap"]},{"icon":"faBoltLightning","aliases":[]},{"icon":"faBomb","aliases":[]},{"icon":"faBone","aliases":[]},{"icon":"faBong","aliases":[]},{"icon":"faBook","aliases":[]},{"icon":"faBookAtlas","aliases":["faAtlas"]},{"icon":"faBookBible","aliases":["faBible"]},{"icon":"faBookBookmark","aliases":[]},{"icon":"faBookDead","aliases":["faBookDead"]},{"icon":"faBookJournalWhills","aliases":["faJournalWhills"]},{"icon":"faBookMedical","aliases":[]},{"icon":"faBookOpen","aliases":[]},{"icon":"faBookOpenReader","aliases":["faBookReader"]},{"icon":"faBookQuran","aliases":["faQuran"]},{"icon":"faBookReader","aliases":["faBookReader"]},{"icon":"faBookSkull","aliases":["faBookDead"]},{"icon":"faBookTanakh","aliases":["faTanakh"]},{"icon":"faBookmark","aliases":[]},{"icon":"faBorderAll","aliases":[]},{"icon":"faBorderNone","aliases":[]},{"icon":"faBorderStyle","aliases":["faBorderStyle"]},{"icon":"faBorderTopLeft","aliases":["faBorderStyle"]},{"icon":"faBoreHole","aliases":[]},{"icon":"faBottleDroplet","aliases":[]},{"icon":"faBottleWater","aliases":[]},{"icon":"faBowlFood","aliases":[]},{"icon":"faBowlRice","aliases":[]},{"icon":"faBowlingBall","aliases":[]},{"icon":"faBox","aliases":[]},{"icon":"faBoxArchive","aliases":["faArchive"]},{"icon":"faBoxOpen","aliases":[]},{"icon":"faBoxTissue","aliases":[]},{"icon":"faBoxes","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesAlt","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesPacking","aliases":[]},{"icon":"faBoxesStacked","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBraille","aliases":[]},{"icon":"faBrain","aliases":[]},{"icon":"faBrazilianRealSign","aliases":[]},{"icon":"faBreadSlice","aliases":[]},{"icon":"faBridge","aliases":[]},{"icon":"faBridgeCircleCheck","aliases":[]},{"icon":"faBridgeCircleExclamation","aliases":[]},{"icon":"faBridgeCircleXmark","aliases":[]},{"icon":"faBridgeLock","aliases":[]},{"icon":"faBridgeWater","aliases":[]},{"icon":"faBriefcase","aliases":[]},{"icon":"faBriefcaseClock","aliases":["faBriefcaseClock"]},{"icon":"faBriefcaseMedical","aliases":[]},{"icon":"faBroadcastTower","aliases":["faBroadcastTower"]},{"icon":"faBroom","aliases":[]},{"icon":"faBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faBrush","aliases":[]},{"icon":"faBucket","aliases":[]},{"icon":"faBug","aliases":[]},{"icon":"faBugSlash","aliases":[]},{"icon":"faBugs","aliases":[]},{"icon":"faBuilding","aliases":[]},{"icon":"faBuildingCircleArrowRight","aliases":[]},{"icon":"faBuildingCircleCheck","aliases":[]},{"icon":"faBuildingCircleExclamation","aliases":[]},{"icon":"faBuildingCircleXmark","aliases":[]},{"icon":"faBuildingColumns","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBuildingFlag","aliases":[]},{"icon":"faBuildingLock","aliases":[]},{"icon":"faBuildingNgo","aliases":[]},{"icon":"faBuildingShield","aliases":[]},{"icon":"faBuildingUn","aliases":[]},{"icon":"faBuildingUser","aliases":[]},{"icon":"faBuildingWheat","aliases":[]},{"icon":"faBullhorn","aliases":[]},{"icon":"faBullseye","aliases":[]},{"icon":"faBurger","aliases":["faHamburger"]},{"icon":"faBurn","aliases":["faBurn"]},{"icon":"faBurst","aliases":[]},{"icon":"faBus","aliases":[]},{"icon":"faBusAlt","aliases":["faBusAlt"]},{"icon":"faBusSimple","aliases":["faBusAlt"]},{"icon":"faBusinessTime","aliases":["faBriefcaseClock"]},{"icon":"faC","aliases":[]},{"icon":"faCab","aliases":["faCab"]},{"icon":"faCableCar","aliases":["faTram"]},{"icon":"faCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faCakeCandles","aliases":["faBirthdayCake","faCake"]},{"icon":"faCalculator","aliases":[]},{"icon":"faCalendar","aliases":[]},{"icon":"faCalendarAlt","aliases":["faCalendarAlt"]},{"icon":"faCalendarCheck","aliases":[]},{"icon":"faCalendarDay","aliases":[]},{"icon":"faCalendarDays","aliases":["faCalendarAlt"]},{"icon":"faCalendarMinus","aliases":[]},{"icon":"faCalendarPlus","aliases":[]},{"icon":"faCalendarTimes","aliases":["faCalendarTimes"]},{"icon":"faCalendarWeek","aliases":[]},{"icon":"faCalendarXmark","aliases":["faCalendarTimes"]},{"icon":"faCamera","aliases":["faCameraAlt"]},{"icon":"faCameraAlt","aliases":["faCameraAlt"]},{"icon":"faCameraRetro","aliases":[]},{"icon":"faCameraRotate","aliases":[]},{"icon":"faCampground","aliases":[]},{"icon":"faCancel","aliases":["faCancel"]},{"icon":"faCandyCane","aliases":[]},{"icon":"faCannabis","aliases":[]},{"icon":"faCapsules","aliases":[]},{"icon":"faCar","aliases":["faAutomobile"]},{"icon":"faCarAlt","aliases":["faCarAlt"]},{"icon":"faCarBattery","aliases":["faBatteryCar"]},{"icon":"faCarBurst","aliases":["faCarCrash"]},{"icon":"faCarCrash","aliases":["faCarCrash"]},{"icon":"faCarOn","aliases":[]},{"icon":"faCarRear","aliases":["faCarAlt"]},{"icon":"faCarSide","aliases":[]},{"icon":"faCarTunnel","aliases":[]},{"icon":"faCaravan","aliases":[]},{"icon":"faCaretDown","aliases":[]},{"icon":"faCaretLeft","aliases":[]},{"icon":"faCaretRight","aliases":[]},{"icon":"faCaretSquareDown","aliases":["faCaretSquareDown"]},{"icon":"faCaretSquareLeft","aliases":["faCaretSquareLeft"]},{"icon":"faCaretSquareRight","aliases":["faCaretSquareRight"]},{"icon":"faCaretSquareUp","aliases":["faCaretSquareUp"]},{"icon":"faCaretUp","aliases":[]},{"icon":"faCarriageBaby","aliases":["faCarriageBaby"]},{"icon":"faCarrot","aliases":[]},{"icon":"faCartArrowDown","aliases":[]},{"icon":"faCartFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faCartFlatbedSuitcase","aliases":["faLuggageCart"]},{"icon":"faCartPlus","aliases":[]},{"icon":"faCartShopping","aliases":["faShoppingCart"]},{"icon":"faCashRegister","aliases":[]},{"icon":"faCat","aliases":[]},{"icon":"faCediSign","aliases":[]},{"icon":"faCentSign","aliases":[]},{"icon":"faCertificate","aliases":[]},{"icon":"faChain","aliases":["faChain"]},{"icon":"faChainBroken","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChainSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChair","aliases":[]},{"icon":"faChalkboard","aliases":["faBlackboard"]},{"icon":"faChalkboardTeacher","aliases":["faChalkboardTeacher"]},{"icon":"faChalkboardUser","aliases":["faChalkboardTeacher"]},{"icon":"faChampagneGlasses","aliases":["faGlassCheers"]},{"icon":"faChargingStation","aliases":[]},{"icon":"faChartArea","aliases":["faAreaChart"]},{"icon":"faChartBar","aliases":["faBarChart"]},{"icon":"faChartColumn","aliases":[]},{"icon":"faChartDiagram","aliases":[]},{"icon":"faChartGantt","aliases":[]},{"icon":"faChartLine","aliases":["faLineChart"]},{"icon":"faChartPie","aliases":["faPieChart"]},{"icon":"faChartSimple","aliases":[]},{"icon":"faCheck","aliases":[]},{"icon":"faCheckCircle","aliases":["faCheckCircle"]},{"icon":"faCheckDouble","aliases":[]},{"icon":"faCheckSquare","aliases":["faCheckSquare"]},{"icon":"faCheckToSlot","aliases":["faVoteYea"]},{"icon":"faCheese","aliases":[]},{"icon":"faChess","aliases":[]},{"icon":"faChessBishop","aliases":[]},{"icon":"faChessBoard","aliases":[]},{"icon":"faChessKing","aliases":[]},{"icon":"faChessKnight","aliases":[]},{"icon":"faChessPawn","aliases":[]},{"icon":"faChessQueen","aliases":[]},{"icon":"faChessRook","aliases":[]},{"icon":"faChevronCircleDown","aliases":["faChevronCircleDown"]},{"icon":"faChevronCircleLeft","aliases":["faChevronCircleLeft"]},{"icon":"faChevronCircleRight","aliases":["faChevronCircleRight"]},{"icon":"faChevronCircleUp","aliases":["faChevronCircleUp"]},{"icon":"faChevronDown","aliases":[]},{"icon":"faChevronLeft","aliases":[]},{"icon":"faChevronRight","aliases":[]},{"icon":"faChevronUp","aliases":[]},{"icon":"faChild","aliases":[]},{"icon":"faChildCombatant","aliases":["faChildRifle"]},{"icon":"faChildDress","aliases":[]},{"icon":"faChildReaching","aliases":[]},{"icon":"faChildRifle","aliases":["faChildRifle"]},{"icon":"faChildren","aliases":[]},{"icon":"faChurch","aliases":[]},{"icon":"faCircle","aliases":[]},{"icon":"faCircleArrowDown","aliases":["faArrowCircleDown"]},{"icon":"faCircleArrowLeft","aliases":["faArrowCircleLeft"]},{"icon":"faCircleArrowRight","aliases":["faArrowCircleRight"]},{"icon":"faCircleArrowUp","aliases":["faArrowCircleUp"]},{"icon":"faCircleCheck","aliases":["faCheckCircle"]},{"icon":"faCircleChevronDown","aliases":["faChevronCircleDown"]},{"icon":"faCircleChevronLeft","aliases":["faChevronCircleLeft"]},{"icon":"faCircleChevronRight","aliases":["faChevronCircleRight"]},{"icon":"faCircleChevronUp","aliases":["faChevronCircleUp"]},{"icon":"faCircleDollarToSlot","aliases":["faDonate"]},{"icon":"faCircleDot","aliases":["faDotCircle"]},{"icon":"faCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faCircleExclamation","aliases":["faExclamationCircle"]},{"icon":"faCircleH","aliases":["faHospitalSymbol"]},{"icon":"faCircleHalfStroke","aliases":["faAdjust"]},{"icon":"faCircleInfo","aliases":["faInfoCircle"]},{"icon":"faCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faCircleMinus","aliases":["faMinusCircle"]},{"icon":"faCircleNodes","aliases":[]},{"icon":"faCircleNotch","aliases":[]},{"icon":"faCirclePause","aliases":["faPauseCircle"]},{"icon":"faCirclePlay","aliases":["faPlayCircle"]},{"icon":"faCirclePlus","aliases":["faPlusCircle"]},{"icon":"faCircleQuestion","aliases":["faQuestionCircle"]},{"icon":"faCircleRadiation","aliases":["faRadiationAlt"]},{"icon":"faCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faCircleStop","aliases":["faStopCircle"]},{"icon":"faCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faCircleUser","aliases":["faUserCircle"]},{"icon":"faCircleXmark","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faCity","aliases":[]},{"icon":"faClapperboard","aliases":[]},{"icon":"faClinicMedical","aliases":["faClinicMedical"]},{"icon":"faClipboard","aliases":[]},{"icon":"faClipboardCheck","aliases":[]},{"icon":"faClipboardList","aliases":[]},{"icon":"faClipboardQuestion","aliases":[]},{"icon":"faClipboardUser","aliases":[]},{"icon":"faClock","aliases":["faClockFour"]},{"icon":"faClockFour","aliases":["faClockFour"]},{"icon":"faClockRotateLeft","aliases":["faHistory"]},{"icon":"faClone","aliases":[]},{"icon":"faClose","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faClosedCaptioning","aliases":[]},{"icon":"faCloud","aliases":[]},{"icon":"faCloudArrowDown","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudArrowUp","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudBolt","aliases":["faThunderstorm"]},{"icon":"faCloudDownload","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudDownloadAlt","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudMeatball","aliases":[]},{"icon":"faCloudMoon","aliases":[]},{"icon":"faCloudMoonRain","aliases":[]},{"icon":"faCloudRain","aliases":[]},{"icon":"faCloudShowersHeavy","aliases":[]},{"icon":"faCloudShowersWater","aliases":[]},{"icon":"faCloudSun","aliases":[]},{"icon":"faCloudSunRain","aliases":[]},{"icon":"faCloudUpload","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudUploadAlt","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faClover","aliases":[]},{"icon":"faCny","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faCocktail","aliases":["faCocktail"]},{"icon":"faCode","aliases":[]},{"icon":"faCodeBranch","aliases":[]},{"icon":"faCodeCommit","aliases":[]},{"icon":"faCodeCompare","aliases":[]},{"icon":"faCodeFork","aliases":[]},{"icon":"faCodeMerge","aliases":[]},{"icon":"faCodePullRequest","aliases":[]},{"icon":"faCoffee","aliases":["faCoffee"]},{"icon":"faCog","aliases":["faCog"]},{"icon":"faCogs","aliases":["faCogs"]},{"icon":"faCoins","aliases":[]},{"icon":"faColonSign","aliases":[]},{"icon":"faColumns","aliases":["faColumns"]},{"icon":"faComment","aliases":[]},{"icon":"faCommentAlt","aliases":["faCommentAlt"]},{"icon":"faCommentDollar","aliases":[]},{"icon":"faCommentDots","aliases":["faCommenting"]},{"icon":"faCommentMedical","aliases":[]},{"icon":"faCommentNodes","aliases":[]},{"icon":"faCommentSlash","aliases":[]},{"icon":"faCommentSms","aliases":["faSms"]},{"icon":"faCommenting","aliases":["faCommenting"]},{"icon":"faComments","aliases":[]},{"icon":"faCommentsDollar","aliases":[]},{"icon":"faCompactDisc","aliases":[]},{"icon":"faCompass","aliases":[]},{"icon":"faCompassDrafting","aliases":["faDraftingCompass"]},{"icon":"faCompress","aliases":[]},{"icon":"faCompressAlt","aliases":["faCompressAlt"]},{"icon":"faCompressArrowsAlt","aliases":["faCompressArrowsAlt"]},{"icon":"faComputer","aliases":[]},{"icon":"faComputerMouse","aliases":["faMouse"]},{"icon":"faConciergeBell","aliases":["faConciergeBell"]},{"icon":"faContactBook","aliases":["faContactBook"]},{"icon":"faContactCard","aliases":["faContactCard","faVcard"]},{"icon":"faCookie","aliases":[]},{"icon":"faCookieBite","aliases":[]},{"icon":"faCopy","aliases":[]},{"icon":"faCopyright","aliases":[]},{"icon":"faCouch","aliases":[]},{"icon":"faCow","aliases":[]},{"icon":"faCreditCard","aliases":["faCreditCardAlt"]},{"icon":"faCreditCardAlt","aliases":["faCreditCardAlt"]},{"icon":"faCrop","aliases":[]},{"icon":"faCropAlt","aliases":["faCropAlt"]},{"icon":"faCropSimple","aliases":["faCropAlt"]},{"icon":"faCross","aliases":[]},{"icon":"faCrosshairs","aliases":[]},{"icon":"faCrow","aliases":[]},{"icon":"faCrown","aliases":[]},{"icon":"faCrutch","aliases":[]},{"icon":"faCruzeiroSign","aliases":[]},{"icon":"faCube","aliases":[]},{"icon":"faCubes","aliases":[]},{"icon":"faCubesStacked","aliases":[]},{"icon":"faCut","aliases":["faCut"]},{"icon":"faCutlery","aliases":["faCutlery"]},{"icon":"faD","aliases":[]},{"icon":"faDashboard","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faDatabase","aliases":[]},{"icon":"faDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDeafness","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDedent","aliases":["faDedent"]},{"icon":"faDeleteLeft","aliases":["faBackspace"]},{"icon":"faDemocrat","aliases":[]},{"icon":"faDesktop","aliases":["faDesktopAlt"]},{"icon":"faDesktopAlt","aliases":["faDesktopAlt"]},{"icon":"faDharmachakra","aliases":[]},{"icon":"faDiagnoses","aliases":["faDiagnoses"]},{"icon":"faDiagramNext","aliases":[]},{"icon":"faDiagramPredecessor","aliases":[]},{"icon":"faDiagramProject","aliases":["faProjectDiagram"]},{"icon":"faDiagramSuccessor","aliases":[]},{"icon":"faDiamond","aliases":[]},{"icon":"faDiamondTurnRight","aliases":["faDirections"]},{"icon":"faDice","aliases":[]},{"icon":"faDiceD20","aliases":[]},{"icon":"faDiceD6","aliases":[]},{"icon":"faDiceFive","aliases":[]},{"icon":"faDiceFour","aliases":[]},{"icon":"faDiceOne","aliases":[]},{"icon":"faDiceSix","aliases":[]},{"icon":"faDiceThree","aliases":[]},{"icon":"faDiceTwo","aliases":[]},{"icon":"faDigging","aliases":["faDigging"]},{"icon":"faDigitalTachograph","aliases":["faDigitalTachograph"]},{"icon":"faDirections","aliases":["faDirections"]},{"icon":"faDisease","aliases":[]},{"icon":"faDisplay","aliases":[]},{"icon":"faDivide","aliases":[]},{"icon":"faDizzy","aliases":["faDizzy"]},{"icon":"faDna","aliases":[]},{"icon":"faDog","aliases":[]},{"icon":"faDollar","aliases":["faDollar","faUsd"]},{"icon":"faDollarSign","aliases":["faDollar","faUsd"]},{"icon":"faDolly","aliases":["faDollyBox"]},{"icon":"faDollyBox","aliases":["faDollyBox"]},{"icon":"faDollyFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faDonate","aliases":["faDonate"]},{"icon":"faDongSign","aliases":[]},{"icon":"faDoorClosed","aliases":[]},{"icon":"faDoorOpen","aliases":[]},{"icon":"faDotCircle","aliases":["faDotCircle"]},{"icon":"faDove","aliases":[]},{"icon":"faDownLeftAndUpRightToCenter","aliases":["faCompressAlt"]},{"icon":"faDownLong","aliases":["faLongArrowAltDown"]},{"icon":"faDownload","aliases":[]},{"icon":"faDraftingCompass","aliases":["faDraftingCompass"]},{"icon":"faDragon","aliases":[]},{"icon":"faDrawPolygon","aliases":[]},{"icon":"faDriversLicense","aliases":["faDriversLicense"]},{"icon":"faDroplet","aliases":["faTint"]},{"icon":"faDropletSlash","aliases":["faTintSlash"]},{"icon":"faDrum","aliases":[]},{"icon":"faDrumSteelpan","aliases":[]},{"icon":"faDrumstickBite","aliases":[]},{"icon":"faDumbbell","aliases":[]},{"icon":"faDumpster","aliases":[]},{"icon":"faDumpsterFire","aliases":[]},{"icon":"faDungeon","aliases":[]},{"icon":"faE","aliases":[]},{"icon":"faEarDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faEarListen","aliases":["faAssistiveListeningSystems"]},{"icon":"faEarth","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAfrica","aliases":["faGlobeAfrica"]},{"icon":"faEarthAmerica","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAsia","aliases":["faGlobeAsia"]},{"icon":"faEarthEurope","aliases":["faGlobeEurope"]},{"icon":"faEarthOceania","aliases":["faGlobeOceania"]},{"icon":"faEdit","aliases":["faEdit"]},{"icon":"faEgg","aliases":[]},{"icon":"faEject","aliases":[]},{"icon":"faElevator","aliases":[]},{"icon":"faEllipsis","aliases":["faEllipsisH"]},{"icon":"faEllipsisH","aliases":["faEllipsisH"]},{"icon":"faEllipsisV","aliases":["faEllipsisV"]},{"icon":"faEllipsisVertical","aliases":["faEllipsisV"]},{"icon":"faEnvelope","aliases":[]},{"icon":"faEnvelopeCircleCheck","aliases":[]},{"icon":"faEnvelopeOpen","aliases":[]},{"icon":"faEnvelopeOpenText","aliases":[]},{"icon":"faEnvelopeSquare","aliases":["faEnvelopeSquare"]},{"icon":"faEnvelopesBulk","aliases":["faMailBulk"]},{"icon":"faEquals","aliases":[]},{"icon":"faEraser","aliases":[]},{"icon":"faEthernet","aliases":[]},{"icon":"faEur","aliases":["faEur","faEuro"]},{"icon":"faEuro","aliases":["faEur","faEuro"]},{"icon":"faEuroSign","aliases":["faEur","faEuro"]},{"icon":"faExchange","aliases":["faExchange"]},{"icon":"faExchangeAlt","aliases":["faExchangeAlt"]},{"icon":"faExclamation","aliases":[]},{"icon":"faExclamationCircle","aliases":["faExclamationCircle"]},{"icon":"faExclamationTriangle","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faExpand","aliases":[]},{"icon":"faExpandAlt","aliases":["faExpandAlt"]},{"icon":"faExpandArrowsAlt","aliases":["faExpandArrowsAlt"]},{"icon":"faExplosion","aliases":[]},{"icon":"faExternalLink","aliases":["faExternalLink"]},{"icon":"faExternalLinkAlt","aliases":["faExternalLinkAlt"]},{"icon":"faExternalLinkSquare","aliases":["faExternalLinkSquare"]},{"icon":"faExternalLinkSquareAlt","aliases":["faExternalLinkSquareAlt"]},{"icon":"faEye","aliases":[]},{"icon":"faEyeDropper","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeDropperEmpty","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeLowVision","aliases":["faLowVision"]},{"icon":"faEyeSlash","aliases":[]},{"icon":"faF","aliases":[]},{"icon":"faFaceAngry","aliases":["faAngry"]},{"icon":"faFaceDizzy","aliases":["faDizzy"]},{"icon":"faFaceFlushed","aliases":["faFlushed"]},{"icon":"faFaceFrown","aliases":["faFrown"]},{"icon":"faFaceFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFaceGrimace","aliases":["faGrimace"]},{"icon":"faFaceGrin","aliases":["faGrin"]},{"icon":"faFaceGrinBeam","aliases":["faGrinBeam"]},{"icon":"faFaceGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faFaceGrinHearts","aliases":["faGrinHearts"]},{"icon":"faFaceGrinSquint","aliases":["faGrinSquint"]},{"icon":"faFaceGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faFaceGrinStars","aliases":["faGrinStars"]},{"icon":"faFaceGrinTears","aliases":["faGrinTears"]},{"icon":"faFaceGrinTongue","aliases":["faGrinTongue"]},{"icon":"faFaceGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faFaceGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faFaceGrinWide","aliases":["faGrinAlt"]},{"icon":"faFaceGrinWink","aliases":["faGrinWink"]},{"icon":"faFaceKiss","aliases":["faKiss"]},{"icon":"faFaceKissBeam","aliases":["faKissBeam"]},{"icon":"faFaceKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faFaceLaugh","aliases":["faLaugh"]},{"icon":"faFaceLaughBeam","aliases":["faLaughBeam"]},{"icon":"faFaceLaughSquint","aliases":["faLaughSquint"]},{"icon":"faFaceLaughWink","aliases":["faLaughWink"]},{"icon":"faFaceMeh","aliases":["faMeh"]},{"icon":"faFaceMehBlank","aliases":["faMehBlank"]},{"icon":"faFaceRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faFaceSadCry","aliases":["faSadCry"]},{"icon":"faFaceSadTear","aliases":["faSadTear"]},{"icon":"faFaceSmile","aliases":["faSmile"]},{"icon":"faFaceSmileBeam","aliases":["faSmileBeam"]},{"icon":"faFaceSmileWink","aliases":["faSmileWink"]},{"icon":"faFaceSurprise","aliases":["faSurprise"]},{"icon":"faFaceTired","aliases":["faTired"]},{"icon":"faFan","aliases":[]},{"icon":"faFastBackward","aliases":["faFastBackward"]},{"icon":"faFastForward","aliases":["faFastForward"]},{"icon":"faFaucet","aliases":[]},{"icon":"faFaucetDrip","aliases":[]},{"icon":"faFax","aliases":[]},{"icon":"faFeather","aliases":[]},{"icon":"faFeatherAlt","aliases":["faFeatherAlt"]},{"icon":"faFeatherPointed","aliases":["faFeatherAlt"]},{"icon":"faFeed","aliases":["faFeed"]},{"icon":"faFemale","aliases":["faFemale"]},{"icon":"faFerry","aliases":[]},{"icon":"faFighterJet","aliases":["faFighterJet"]},{"icon":"faFile","aliases":[]},{"icon":"faFileAlt","aliases":["faFileAlt","faFileText"]},{"icon":"faFileArchive","aliases":["faFileArchive"]},{"icon":"faFileArrowDown","aliases":["faFileDownload"]},{"icon":"faFileArrowUp","aliases":["faFileUpload"]},{"icon":"faFileAudio","aliases":[]},{"icon":"faFileCircleCheck","aliases":[]},{"icon":"faFileCircleExclamation","aliases":[]},{"icon":"faFileCircleMinus","aliases":[]},{"icon":"faFileCirclePlus","aliases":[]},{"icon":"faFileCircleQuestion","aliases":[]},{"icon":"faFileCircleXmark","aliases":[]},{"icon":"faFileClipboard","aliases":["faFileClipboard"]},{"icon":"faFileCode","aliases":[]},{"icon":"faFileContract","aliases":[]},{"icon":"faFileCsv","aliases":[]},{"icon":"faFileDownload","aliases":["faFileDownload"]},{"icon":"faFileEdit","aliases":["faFileEdit"]},{"icon":"faFileExcel","aliases":[]},{"icon":"faFileExport","aliases":["faArrowRightFromFile"]},{"icon":"faFileFragment","aliases":[]},{"icon":"faFileHalfDashed","aliases":[]},{"icon":"faFileImage","aliases":[]},{"icon":"faFileImport","aliases":["faArrowRightToFile"]},{"icon":"faFileInvoice","aliases":[]},{"icon":"faFileInvoiceDollar","aliases":[]},{"icon":"faFileLines","aliases":["faFileAlt","faFileText"]},{"icon":"faFileMedical","aliases":[]},{"icon":"faFileMedicalAlt","aliases":["faFileMedicalAlt"]},{"icon":"faFilePdf","aliases":[]},{"icon":"faFilePen","aliases":["faFileEdit"]},{"icon":"faFilePowerpoint","aliases":[]},{"icon":"faFilePrescription","aliases":[]},{"icon":"faFileShield","aliases":[]},{"icon":"faFileSignature","aliases":[]},{"icon":"faFileText","aliases":["faFileAlt","faFileText"]},{"icon":"faFileUpload","aliases":["faFileUpload"]},{"icon":"faFileVideo","aliases":[]},{"icon":"faFileWaveform","aliases":["faFileMedicalAlt"]},{"icon":"faFileWord","aliases":[]},{"icon":"faFileZipper","aliases":["faFileArchive"]},{"icon":"faFill","aliases":[]},{"icon":"faFillDrip","aliases":[]},{"icon":"faFilm","aliases":[]},{"icon":"faFilter","aliases":[]},{"icon":"faFilterCircleDollar","aliases":["faFunnelDollar"]},{"icon":"faFilterCircleXmark","aliases":[]},{"icon":"faFingerprint","aliases":[]},{"icon":"faFire","aliases":[]},{"icon":"faFireAlt","aliases":["faFireAlt"]},{"icon":"faFireBurner","aliases":[]},{"icon":"faFireExtinguisher","aliases":[]},{"icon":"faFireFlameCurved","aliases":["faFireAlt"]},{"icon":"faFireFlameSimple","aliases":["faBurn"]},{"icon":"faFirstAid","aliases":["faFirstAid"]},{"icon":"faFish","aliases":[]},{"icon":"faFishFins","aliases":[]},{"icon":"faFistRaised","aliases":["faFistRaised"]},{"icon":"faFlag","aliases":[]},{"icon":"faFlagCheckered","aliases":[]},{"icon":"faFlagUsa","aliases":[]},{"icon":"faFlask","aliases":[]},{"icon":"faFlaskVial","aliases":[]},{"icon":"faFloppyDisk","aliases":["faSave"]},{"icon":"faFlorinSign","aliases":[]},{"icon":"faFlushed","aliases":["faFlushed"]},{"icon":"faFolder","aliases":["faFolderBlank"]},{"icon":"faFolderBlank","aliases":["faFolderBlank"]},{"icon":"faFolderClosed","aliases":[]},{"icon":"faFolderMinus","aliases":[]},{"icon":"faFolderOpen","aliases":[]},{"icon":"faFolderPlus","aliases":[]},{"icon":"faFolderTree","aliases":[]},{"icon":"faFont","aliases":[]},{"icon":"faFontAwesome","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeFlag","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeLogoFull","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFootball","aliases":["faFootballBall"]},{"icon":"faFootballBall","aliases":["faFootballBall"]},{"icon":"faForward","aliases":[]},{"icon":"faForwardFast","aliases":["faFastForward"]},{"icon":"faForwardStep","aliases":["faStepForward"]},{"icon":"faFrancSign","aliases":[]},{"icon":"faFrog","aliases":[]},{"icon":"faFrown","aliases":["faFrown"]},{"icon":"faFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFunnelDollar","aliases":["faFunnelDollar"]},{"icon":"faFutbol","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faFutbolBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faG","aliases":[]},{"icon":"faGamepad","aliases":[]},{"icon":"faGasPump","aliases":[]},{"icon":"faGauge","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeHigh","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faGaugeMed","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeSimple","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGaugeSimpleHigh","aliases":["faTachometer","faTachometerFast"]},{"icon":"faGaugeSimpleMed","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGavel","aliases":["faLegal"]},{"icon":"faGbp","aliases":["faGbp","faPoundSign"]},{"icon":"faGear","aliases":["faCog"]},{"icon":"faGears","aliases":["faCogs"]},{"icon":"faGem","aliases":[]},{"icon":"faGenderless","aliases":[]},{"icon":"faGhost","aliases":[]},{"icon":"faGift","aliases":[]},{"icon":"faGifts","aliases":[]},{"icon":"faGlassCheers","aliases":["faGlassCheers"]},{"icon":"faGlassMartini","aliases":["faGlassMartini"]},{"icon":"faGlassMartiniAlt","aliases":["faGlassMartiniAlt"]},{"icon":"faGlassWater","aliases":[]},{"icon":"faGlassWaterDroplet","aliases":[]},{"icon":"faGlassWhiskey","aliases":["faGlassWhiskey"]},{"icon":"faGlasses","aliases":[]},{"icon":"faGlobe","aliases":[]},{"icon":"faGlobeAfrica","aliases":["faGlobeAfrica"]},{"icon":"faGlobeAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faGlobeAsia","aliases":["faGlobeAsia"]},{"icon":"faGlobeEurope","aliases":["faGlobeEurope"]},{"icon":"faGlobeOceania","aliases":["faGlobeOceania"]},{"icon":"faGolfBall","aliases":["faGolfBall"]},{"icon":"faGolfBallTee","aliases":["faGolfBall"]},{"icon":"faGopuram","aliases":[]},{"icon":"faGraduationCap","aliases":["faMortarBoard"]},{"icon":"faGreaterThan","aliases":[]},{"icon":"faGreaterThanEqual","aliases":[]},{"icon":"faGrimace","aliases":["faGrimace"]},{"icon":"faGrin","aliases":["faGrin"]},{"icon":"faGrinAlt","aliases":["faGrinAlt"]},{"icon":"faGrinBeam","aliases":["faGrinBeam"]},{"icon":"faGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faGrinHearts","aliases":["faGrinHearts"]},{"icon":"faGrinSquint","aliases":["faGrinSquint"]},{"icon":"faGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faGrinStars","aliases":["faGrinStars"]},{"icon":"faGrinTears","aliases":["faGrinTears"]},{"icon":"faGrinTongue","aliases":["faGrinTongue"]},{"icon":"faGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faGrinWink","aliases":["faGrinWink"]},{"icon":"faGrip","aliases":["faGripHorizontal"]},{"icon":"faGripHorizontal","aliases":["faGripHorizontal"]},{"icon":"faGripLines","aliases":[]},{"icon":"faGripLinesVertical","aliases":[]},{"icon":"faGripVertical","aliases":[]},{"icon":"faGroupArrowsRotate","aliases":[]},{"icon":"faGuaraniSign","aliases":[]},{"icon":"faGuitar","aliases":[]},{"icon":"faGun","aliases":[]},{"icon":"faH","aliases":[]},{"icon":"faHSquare","aliases":["faHSquare"]},{"icon":"faHamburger","aliases":["faHamburger"]},{"icon":"faHammer","aliases":[]},{"icon":"faHamsa","aliases":[]},{"icon":"faHand","aliases":["faHandPaper"]},{"icon":"faHandBackFist","aliases":["faHandRock"]},{"icon":"faHandDots","aliases":["faAllergies"]},{"icon":"faHandFist","aliases":["faFistRaised"]},{"icon":"faHandHolding","aliases":[]},{"icon":"faHandHoldingDollar","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingDroplet","aliases":["faHandHoldingWater"]},{"icon":"faHandHoldingHand","aliases":[]},{"icon":"faHandHoldingHeart","aliases":[]},{"icon":"faHandHoldingMedical","aliases":[]},{"icon":"faHandHoldingUsd","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingWater","aliases":["faHandHoldingWater"]},{"icon":"faHandLizard","aliases":[]},{"icon":"faHandMiddleFinger","aliases":[]},{"icon":"faHandPaper","aliases":["faHandPaper"]},{"icon":"faHandPeace","aliases":[]},{"icon":"faHandPointDown","aliases":[]},{"icon":"faHandPointLeft","aliases":[]},{"icon":"faHandPointRight","aliases":[]},{"icon":"faHandPointUp","aliases":[]},{"icon":"faHandPointer","aliases":[]},{"icon":"faHandRock","aliases":["faHandRock"]},{"icon":"faHandScissors","aliases":[]},{"icon":"faHandSparkles","aliases":[]},{"icon":"faHandSpock","aliases":[]},{"icon":"faHandcuffs","aliases":[]},{"icon":"faHands","aliases":["faSignLanguage","faSigning"]},{"icon":"faHandsAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsBound","aliases":[]},{"icon":"faHandsBubbles","aliases":["faHandsWash"]},{"icon":"faHandsClapping","aliases":[]},{"icon":"faHandsHelping","aliases":["faHandsHelping"]},{"icon":"faHandsHolding","aliases":[]},{"icon":"faHandsHoldingChild","aliases":[]},{"icon":"faHandsHoldingCircle","aliases":[]},{"icon":"faHandsPraying","aliases":["faPrayingHands"]},{"icon":"faHandsWash","aliases":["faHandsWash"]},{"icon":"faHandshake","aliases":[]},{"icon":"faHandshakeAlt","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeAltSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeAngle","aliases":["faHandsHelping"]},{"icon":"faHandshakeSimple","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeSimpleSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeSlash","aliases":[]},{"icon":"faHanukiah","aliases":[]},{"icon":"faHardDrive","aliases":["faHdd"]},{"icon":"faHardHat","aliases":["faHardHat","faHatHard"]},{"icon":"faHardOfHearing","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faHashtag","aliases":[]},{"icon":"faHatCowboy","aliases":[]},{"icon":"faHatCowboySide","aliases":[]},{"icon":"faHatHard","aliases":["faHardHat","faHatHard"]},{"icon":"faHatWizard","aliases":[]},{"icon":"faHaykal","aliases":["faHaykal"]},{"icon":"faHdd","aliases":["faHdd"]},{"icon":"faHeadSideCough","aliases":[]},{"icon":"faHeadSideCoughSlash","aliases":[]},{"icon":"faHeadSideMask","aliases":[]},{"icon":"faHeadSideVirus","aliases":[]},{"icon":"faHeader","aliases":["faHeader"]},{"icon":"faHeading","aliases":["faHeader"]},{"icon":"faHeadphones","aliases":[]},{"icon":"faHeadphonesAlt","aliases":["faHeadphonesAlt"]},{"icon":"faHeadphonesSimple","aliases":["faHeadphonesAlt"]},{"icon":"faHeadset","aliases":[]},{"icon":"faHeart","aliases":[]},{"icon":"faHeartBroken","aliases":["faHeartBroken"]},{"icon":"faHeartCircleBolt","aliases":[]},{"icon":"faHeartCircleCheck","aliases":[]},{"icon":"faHeartCircleExclamation","aliases":[]},{"icon":"faHeartCircleMinus","aliases":[]},{"icon":"faHeartCirclePlus","aliases":[]},{"icon":"faHeartCircleXmark","aliases":[]},{"icon":"faHeartCrack","aliases":["faHeartBroken"]},{"icon":"faHeartMusicCameraBolt","aliases":["faHeartMusicCameraBolt"]},{"icon":"faHeartPulse","aliases":["faHeartbeat"]},{"icon":"faHeartbeat","aliases":["faHeartbeat"]},{"icon":"faHelicopter","aliases":[]},{"icon":"faHelicopterSymbol","aliases":[]},{"icon":"faHelmetSafety","aliases":["faHardHat","faHatHard"]},{"icon":"faHelmetUn","aliases":[]},{"icon":"faHexagonNodes","aliases":[]},{"icon":"faHexagonNodesBolt","aliases":[]},{"icon":"faHighlighter","aliases":[]},{"icon":"faHiking","aliases":["faHiking"]},{"icon":"faHillAvalanche","aliases":[]},{"icon":"faHillRockslide","aliases":[]},{"icon":"faHippo","aliases":[]},{"icon":"faHistory","aliases":["faHistory"]},{"icon":"faHockeyPuck","aliases":[]},{"icon":"faHollyBerry","aliases":[]},{"icon":"faHome","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeLg","aliases":["faHomeLg"]},{"icon":"faHomeLgAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeUser","aliases":["faHomeUser"]},{"icon":"faHorse","aliases":[]},{"icon":"faHorseHead","aliases":[]},{"icon":"faHospital","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalAlt","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalSymbol","aliases":["faHospitalSymbol"]},{"icon":"faHospitalUser","aliases":[]},{"icon":"faHospitalWide","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHotTub","aliases":["faHotTub"]},{"icon":"faHotTubPerson","aliases":["faHotTub"]},{"icon":"faHotdog","aliases":[]},{"icon":"faHotel","aliases":[]},{"icon":"faHourglass","aliases":["faHourglassEmpty"]},{"icon":"faHourglass1","aliases":["faHourglass1"]},{"icon":"faHourglass2","aliases":["faHourglass2"]},{"icon":"faHourglass3","aliases":["faHourglass3"]},{"icon":"faHourglassEmpty","aliases":["faHourglassEmpty"]},{"icon":"faHourglassEnd","aliases":["faHourglass3"]},{"icon":"faHourglassHalf","aliases":["faHourglass2"]},{"icon":"faHourglassStart","aliases":["faHourglass1"]},{"icon":"faHouse","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHouseChimney","aliases":["faHomeLg"]},{"icon":"faHouseChimneyCrack","aliases":["faHouseDamage"]},{"icon":"faHouseChimneyMedical","aliases":["faClinicMedical"]},{"icon":"faHouseChimneyUser","aliases":[]},{"icon":"faHouseChimneyWindow","aliases":[]},{"icon":"faHouseCircleCheck","aliases":[]},{"icon":"faHouseCircleExclamation","aliases":[]},{"icon":"faHouseCircleXmark","aliases":[]},{"icon":"faHouseCrack","aliases":[]},{"icon":"faHouseDamage","aliases":["faHouseDamage"]},{"icon":"faHouseFire","aliases":[]},{"icon":"faHouseFlag","aliases":[]},{"icon":"faHouseFloodWater","aliases":[]},{"icon":"faHouseFloodWaterCircleArrowRight","aliases":[]},{"icon":"faHouseLaptop","aliases":["faLaptopHouse"]},{"icon":"faHouseLock","aliases":[]},{"icon":"faHouseMedical","aliases":[]},{"icon":"faHouseMedicalCircleCheck","aliases":[]},{"icon":"faHouseMedicalCircleExclamation","aliases":[]},{"icon":"faHouseMedicalCircleXmark","aliases":[]},{"icon":"faHouseMedicalFlag","aliases":[]},{"icon":"faHouseSignal","aliases":[]},{"icon":"faHouseTsunami","aliases":[]},{"icon":"faHouseUser","aliases":["faHomeUser"]},{"icon":"faHryvnia","aliases":["faHryvnia"]},{"icon":"faHryvniaSign","aliases":["faHryvnia"]},{"icon":"faHurricane","aliases":[]},{"icon":"faI","aliases":[]},{"icon":"faICursor","aliases":[]},{"icon":"faIceCream","aliases":[]},{"icon":"faIcicles","aliases":[]},{"icon":"faIcons","aliases":["faHeartMusicCameraBolt"]},{"icon":"faIdBadge","aliases":[]},{"icon":"faIdCard","aliases":["faDriversLicense"]},{"icon":"faIdCardAlt","aliases":["faIdCardAlt"]},{"icon":"faIdCardClip","aliases":["faIdCardAlt"]},{"icon":"faIgloo","aliases":[]},{"icon":"faIls","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faImage","aliases":[]},{"icon":"faImagePortrait","aliases":["faPortrait"]},{"icon":"faImages","aliases":[]},{"icon":"faInbox","aliases":[]},{"icon":"faIndent","aliases":[]},{"icon":"faIndianRupee","aliases":["faIndianRupee","faInr"]},{"icon":"faIndianRupeeSign","aliases":["faIndianRupee","faInr"]},{"icon":"faIndustry","aliases":[]},{"icon":"faInfinity","aliases":[]},{"icon":"faInfo","aliases":[]},{"icon":"faInfoCircle","aliases":["faInfoCircle"]},{"icon":"faInr","aliases":["faIndianRupee","faInr"]},{"icon":"faInstitution","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faItalic","aliases":[]},{"icon":"faJ","aliases":[]},{"icon":"faJar","aliases":[]},{"icon":"faJarWheat","aliases":[]},{"icon":"faJedi","aliases":[]},{"icon":"faJetFighter","aliases":["faFighterJet"]},{"icon":"faJetFighterUp","aliases":[]},{"icon":"faJoint","aliases":[]},{"icon":"faJournalWhills","aliases":["faJournalWhills"]},{"icon":"faJpy","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faJugDetergent","aliases":[]},{"icon":"faK","aliases":[]},{"icon":"faKaaba","aliases":[]},{"icon":"faKey","aliases":[]},{"icon":"faKeyboard","aliases":[]},{"icon":"faKhanda","aliases":[]},{"icon":"faKipSign","aliases":[]},{"icon":"faKiss","aliases":["faKiss"]},{"icon":"faKissBeam","aliases":["faKissBeam"]},{"icon":"faKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faKitMedical","aliases":["faFirstAid"]},{"icon":"faKitchenSet","aliases":[]},{"icon":"faKiwiBird","aliases":[]},{"icon":"faKrw","aliases":["faKrw","faWon"]},{"icon":"faL","aliases":[]},{"icon":"faLadderWater","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faLandMineOn","aliases":[]},{"icon":"faLandmark","aliases":[]},{"icon":"faLandmarkAlt","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkDome","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkFlag","aliases":[]},{"icon":"faLanguage","aliases":[]},{"icon":"faLaptop","aliases":[]},{"icon":"faLaptopCode","aliases":[]},{"icon":"faLaptopFile","aliases":[]},{"icon":"faLaptopHouse","aliases":["faLaptopHouse"]},{"icon":"faLaptopMedical","aliases":[]},{"icon":"faLariSign","aliases":[]},{"icon":"faLaugh","aliases":["faLaugh"]},{"icon":"faLaughBeam","aliases":["faLaughBeam"]},{"icon":"faLaughSquint","aliases":["faLaughSquint"]},{"icon":"faLaughWink","aliases":["faLaughWink"]},{"icon":"faLayerGroup","aliases":[]},{"icon":"faLeaf","aliases":[]},{"icon":"faLeftLong","aliases":["faLongArrowAltLeft"]},{"icon":"faLeftRight","aliases":["faArrowsAltH"]},{"icon":"faLegal","aliases":["faLegal"]},{"icon":"faLemon","aliases":[]},{"icon":"faLessThan","aliases":[]},{"icon":"faLessThanEqual","aliases":[]},{"icon":"faLevelDown","aliases":["faLevelDown"]},{"icon":"faLevelDownAlt","aliases":["faLevelDownAlt"]},{"icon":"faLevelUp","aliases":["faLevelUp"]},{"icon":"faLevelUpAlt","aliases":["faLevelUpAlt"]},{"icon":"faLifeRing","aliases":[]},{"icon":"faLightbulb","aliases":[]},{"icon":"faLineChart","aliases":["faLineChart"]},{"icon":"faLinesLeaning","aliases":[]},{"icon":"faLink","aliases":["faChain"]},{"icon":"faLinkSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faLiraSign","aliases":[]},{"icon":"faList","aliases":["faListSquares"]},{"icon":"faList12","aliases":["faList12","faListNumeric"]},{"icon":"faListAlt","aliases":["faListAlt"]},{"icon":"faListCheck","aliases":["faTasks"]},{"icon":"faListDots","aliases":["faListDots"]},{"icon":"faListNumeric","aliases":["faList12","faListNumeric"]},{"icon":"faListOl","aliases":["faList12","faListNumeric"]},{"icon":"faListSquares","aliases":["faListSquares"]},{"icon":"faListUl","aliases":["faListDots"]},{"icon":"faLitecoinSign","aliases":[]},{"icon":"faLocation","aliases":["faLocation"]},{"icon":"faLocationArrow","aliases":[]},{"icon":"faLocationCrosshairs","aliases":["faLocation"]},{"icon":"faLocationDot","aliases":["faMapMarkerAlt"]},{"icon":"faLocationPin","aliases":["faMapMarker"]},{"icon":"faLocationPinLock","aliases":[]},{"icon":"faLock","aliases":[]},{"icon":"faLockOpen","aliases":[]},{"icon":"faLocust","aliases":[]},{"icon":"faLongArrowAltDown","aliases":["faLongArrowAltDown"]},{"icon":"faLongArrowAltLeft","aliases":["faLongArrowAltLeft"]},{"icon":"faLongArrowAltRight","aliases":["faLongArrowAltRight"]},{"icon":"faLongArrowAltUp","aliases":["faLongArrowAltUp"]},{"icon":"faLongArrowDown","aliases":["faLongArrowDown"]},{"icon":"faLongArrowLeft","aliases":["faLongArrowLeft"]},{"icon":"faLongArrowRight","aliases":["faLongArrowRight"]},{"icon":"faLongArrowUp","aliases":["faLongArrowUp"]},{"icon":"faLowVision","aliases":["faLowVision"]},{"icon":"faLuggageCart","aliases":["faLuggageCart"]},{"icon":"faLungs","aliases":[]},{"icon":"faLungsVirus","aliases":[]},{"icon":"faM","aliases":[]},{"icon":"faMagic","aliases":["faMagic"]},{"icon":"faMagicWandSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faMagnet","aliases":[]},{"icon":"faMagnifyingGlass","aliases":["faSearch"]},{"icon":"faMagnifyingGlassArrowRight","aliases":[]},{"icon":"faMagnifyingGlassChart","aliases":[]},{"icon":"faMagnifyingGlassDollar","aliases":["faSearchDollar"]},{"icon":"faMagnifyingGlassLocation","aliases":["faSearchLocation"]},{"icon":"faMagnifyingGlassMinus","aliases":["faSearchMinus"]},{"icon":"faMagnifyingGlassPlus","aliases":["faSearchPlus"]},{"icon":"faMailBulk","aliases":["faMailBulk"]},{"icon":"faMailForward","aliases":["faMailForward"]},{"icon":"faMailReply","aliases":["faMailReply"]},{"icon":"faMailReplyAll","aliases":["faMailReplyAll"]},{"icon":"faMale","aliases":["faMale"]},{"icon":"faManatSign","aliases":[]},{"icon":"faMap","aliases":[]},{"icon":"faMapLocation","aliases":["faMapMarked"]},{"icon":"faMapLocationDot","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarked","aliases":["faMapMarked"]},{"icon":"faMapMarkedAlt","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarker","aliases":["faMapMarker"]},{"icon":"faMapMarkerAlt","aliases":["faMapMarkerAlt"]},{"icon":"faMapPin","aliases":[]},{"icon":"faMapSigns","aliases":["faMapSigns"]},{"icon":"faMarker","aliases":[]},{"icon":"faMars","aliases":[]},{"icon":"faMarsAndVenus","aliases":[]},{"icon":"faMarsAndVenusBurst","aliases":[]},{"icon":"faMarsDouble","aliases":[]},{"icon":"faMarsStroke","aliases":[]},{"icon":"faMarsStrokeH","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeRight","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeUp","aliases":["faMarsStrokeV"]},{"icon":"faMarsStrokeV","aliases":["faMarsStrokeV"]},{"icon":"faMartiniGlass","aliases":["faGlassMartiniAlt"]},{"icon":"faMartiniGlassCitrus","aliases":["faCocktail"]},{"icon":"faMartiniGlassEmpty","aliases":["faGlassMartini"]},{"icon":"faMask","aliases":[]},{"icon":"faMaskFace","aliases":[]},{"icon":"faMaskVentilator","aliases":[]},{"icon":"faMasksTheater","aliases":["faTheaterMasks"]},{"icon":"faMattressPillow","aliases":[]},{"icon":"faMaximize","aliases":["faExpandArrowsAlt"]},{"icon":"faMedal","aliases":[]},{"icon":"faMedkit","aliases":["faMedkit"]},{"icon":"faMeh","aliases":["faMeh"]},{"icon":"faMehBlank","aliases":["faMehBlank"]},{"icon":"faMehRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faMemory","aliases":[]},{"icon":"faMenorah","aliases":[]},{"icon":"faMercury","aliases":[]},{"icon":"faMessage","aliases":["faCommentAlt"]},{"icon":"faMeteor","aliases":[]},{"icon":"faMicrochip","aliases":[]},{"icon":"faMicrophone","aliases":[]},{"icon":"faMicrophoneAlt","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneAltSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneLines","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneLinesSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneSlash","aliases":[]},{"icon":"faMicroscope","aliases":[]},{"icon":"faMillSign","aliases":[]},{"icon":"faMinimize","aliases":["faCompressArrowsAlt"]},{"icon":"faMinus","aliases":["faSubtract"]},{"icon":"faMinusCircle","aliases":["faMinusCircle"]},{"icon":"faMinusSquare","aliases":["faMinusSquare"]},{"icon":"faMitten","aliases":[]},{"icon":"faMobile","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAlt","aliases":["faMobileAlt"]},{"icon":"faMobileAndroid","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAndroidAlt","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileButton","aliases":[]},{"icon":"faMobilePhone","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileRetro","aliases":[]},{"icon":"faMobileScreen","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileScreenButton","aliases":["faMobileAlt"]},{"icon":"faMoneyBill","aliases":[]},{"icon":"faMoneyBill1","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBill1Wave","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillAlt","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBillTransfer","aliases":[]},{"icon":"faMoneyBillTrendUp","aliases":[]},{"icon":"faMoneyBillWave","aliases":[]},{"icon":"faMoneyBillWaveAlt","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillWheat","aliases":[]},{"icon":"faMoneyBills","aliases":[]},{"icon":"faMoneyCheck","aliases":[]},{"icon":"faMoneyCheckAlt","aliases":["faMoneyCheckAlt"]},{"icon":"faMoneyCheckDollar","aliases":["faMoneyCheckAlt"]},{"icon":"faMonument","aliases":[]},{"icon":"faMoon","aliases":[]},{"icon":"faMortarBoard","aliases":["faMortarBoard"]},{"icon":"faMortarPestle","aliases":[]},{"icon":"faMosque","aliases":[]},{"icon":"faMosquito","aliases":[]},{"icon":"faMosquitoNet","aliases":[]},{"icon":"faMotorcycle","aliases":[]},{"icon":"faMound","aliases":[]},{"icon":"faMountain","aliases":[]},{"icon":"faMountainCity","aliases":[]},{"icon":"faMountainSun","aliases":[]},{"icon":"faMouse","aliases":["faMouse"]},{"icon":"faMousePointer","aliases":["faMousePointer"]},{"icon":"faMugHot","aliases":[]},{"icon":"faMugSaucer","aliases":["faCoffee"]},{"icon":"faMultiply","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faMuseum","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faMusic","aliases":[]},{"icon":"faN","aliases":[]},{"icon":"faNairaSign","aliases":[]},{"icon":"faNavicon","aliases":["faNavicon"]},{"icon":"faNetworkWired","aliases":[]},{"icon":"faNeuter","aliases":[]},{"icon":"faNewspaper","aliases":[]},{"icon":"faNotEqual","aliases":[]},{"icon":"faNotdef","aliases":[]},{"icon":"faNoteSticky","aliases":["faStickyNote"]},{"icon":"faNotesMedical","aliases":[]},{"icon":"faO","aliases":[]},{"icon":"faObjectGroup","aliases":[]},{"icon":"faObjectUngroup","aliases":[]},{"icon":"faOilCan","aliases":[]},{"icon":"faOilWell","aliases":[]},{"icon":"faOm","aliases":[]},{"icon":"faOtter","aliases":[]},{"icon":"faOutdent","aliases":["faDedent"]},{"icon":"faP","aliases":[]},{"icon":"faPager","aliases":[]},{"icon":"faPaintRoller","aliases":[]},{"icon":"faPaintbrush","aliases":["faPaintBrush"]},{"icon":"faPalette","aliases":[]},{"icon":"faPallet","aliases":[]},{"icon":"faPanorama","aliases":[]},{"icon":"faPaperPlane","aliases":[]},{"icon":"faPaperclip","aliases":[]},{"icon":"faParachuteBox","aliases":[]},{"icon":"faParagraph","aliases":[]},{"icon":"faParking","aliases":["faParking"]},{"icon":"faPassport","aliases":[]},{"icon":"faPastafarianism","aliases":["faPastafarianism"]},{"icon":"faPaste","aliases":["faFileClipboard"]},{"icon":"faPause","aliases":[]},{"icon":"faPauseCircle","aliases":["faPauseCircle"]},{"icon":"faPaw","aliases":[]},{"icon":"faPeace","aliases":[]},{"icon":"faPen","aliases":[]},{"icon":"faPenAlt","aliases":["faPenAlt"]},{"icon":"faPenClip","aliases":["faPenAlt"]},{"icon":"faPenFancy","aliases":[]},{"icon":"faPenNib","aliases":[]},{"icon":"faPenRuler","aliases":["faPencilRuler"]},{"icon":"faPenSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPenToSquare","aliases":["faEdit"]},{"icon":"faPencil","aliases":["faPencilAlt"]},{"icon":"faPencilAlt","aliases":["faPencilAlt"]},{"icon":"faPencilRuler","aliases":["faPencilRuler"]},{"icon":"faPencilSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPeopleArrows","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleArrowsLeftRight","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleCarry","aliases":["faPeopleCarry"]},{"icon":"faPeopleCarryBox","aliases":["faPeopleCarry"]},{"icon":"faPeopleGroup","aliases":[]},{"icon":"faPeopleLine","aliases":[]},{"icon":"faPeoplePulling","aliases":[]},{"icon":"faPeopleRobbery","aliases":[]},{"icon":"faPeopleRoof","aliases":[]},{"icon":"faPepperHot","aliases":[]},{"icon":"faPercent","aliases":["faPercentage"]},{"icon":"faPercentage","aliases":["faPercentage"]},{"icon":"faPerson","aliases":["faMale"]},{"icon":"faPersonArrowDownToLine","aliases":[]},{"icon":"faPersonArrowUpFromLine","aliases":[]},{"icon":"faPersonBiking","aliases":["faBiking"]},{"icon":"faPersonBooth","aliases":[]},{"icon":"faPersonBreastfeeding","aliases":[]},{"icon":"faPersonBurst","aliases":[]},{"icon":"faPersonCane","aliases":[]},{"icon":"faPersonChalkboard","aliases":[]},{"icon":"faPersonCircleCheck","aliases":[]},{"icon":"faPersonCircleExclamation","aliases":[]},{"icon":"faPersonCircleMinus","aliases":[]},{"icon":"faPersonCirclePlus","aliases":[]},{"icon":"faPersonCircleQuestion","aliases":[]},{"icon":"faPersonCircleXmark","aliases":[]},{"icon":"faPersonDigging","aliases":["faDigging"]},{"icon":"faPersonDotsFromLine","aliases":["faDiagnoses"]},{"icon":"faPersonDress","aliases":["faFemale"]},{"icon":"faPersonDressBurst","aliases":[]},{"icon":"faPersonDrowning","aliases":[]},{"icon":"faPersonFalling","aliases":[]},{"icon":"faPersonFallingBurst","aliases":[]},{"icon":"faPersonHalfDress","aliases":[]},{"icon":"faPersonHarassing","aliases":[]},{"icon":"faPersonHiking","aliases":["faHiking"]},{"icon":"faPersonMilitaryPointing","aliases":[]},{"icon":"faPersonMilitaryRifle","aliases":[]},{"icon":"faPersonMilitaryToPerson","aliases":[]},{"icon":"faPersonPraying","aliases":["faPray"]},{"icon":"faPersonPregnant","aliases":[]},{"icon":"faPersonRays","aliases":[]},{"icon":"faPersonRifle","aliases":[]},{"icon":"faPersonRunning","aliases":["faRunning"]},{"icon":"faPersonShelter","aliases":[]},{"icon":"faPersonSkating","aliases":["faSkating"]},{"icon":"faPersonSkiing","aliases":["faSkiing"]},{"icon":"faPersonSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faPersonSnowboarding","aliases":["faSnowboarding"]},{"icon":"faPersonSwimming","aliases":["faSwimmer"]},{"icon":"faPersonThroughWindow","aliases":[]},{"icon":"faPersonWalking","aliases":["faWalking"]},{"icon":"faPersonWalkingArrowLoopLeft","aliases":[]},{"icon":"faPersonWalkingArrowRight","aliases":[]},{"icon":"faPersonWalkingDashedLineArrowRight","aliases":[]},{"icon":"faPersonWalkingLuggage","aliases":[]},{"icon":"faPersonWalkingWithCane","aliases":["faBlind"]},{"icon":"faPesetaSign","aliases":[]},{"icon":"faPesoSign","aliases":[]},{"icon":"faPhone","aliases":[]},{"icon":"faPhoneAlt","aliases":["faPhoneAlt"]},{"icon":"faPhoneFlip","aliases":["faPhoneAlt"]},{"icon":"faPhoneSlash","aliases":[]},{"icon":"faPhoneSquare","aliases":["faPhoneSquare"]},{"icon":"faPhoneSquareAlt","aliases":["faPhoneSquareAlt"]},{"icon":"faPhoneVolume","aliases":["faVolumeControlPhone"]},{"icon":"faPhotoFilm","aliases":["faPhotoVideo"]},{"icon":"faPhotoVideo","aliases":["faPhotoVideo"]},{"icon":"faPieChart","aliases":["faPieChart"]},{"icon":"faPiggyBank","aliases":[]},{"icon":"faPills","aliases":[]},{"icon":"faPingPongPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faPizzaSlice","aliases":[]},{"icon":"faPlaceOfWorship","aliases":[]},{"icon":"faPlane","aliases":[]},{"icon":"faPlaneArrival","aliases":[]},{"icon":"faPlaneCircleCheck","aliases":[]},{"icon":"faPlaneCircleExclamation","aliases":[]},{"icon":"faPlaneCircleXmark","aliases":[]},{"icon":"faPlaneDeparture","aliases":[]},{"icon":"faPlaneLock","aliases":[]},{"icon":"faPlaneSlash","aliases":[]},{"icon":"faPlaneUp","aliases":[]},{"icon":"faPlantWilt","aliases":[]},{"icon":"faPlateWheat","aliases":[]},{"icon":"faPlay","aliases":[]},{"icon":"faPlayCircle","aliases":["faPlayCircle"]},{"icon":"faPlug","aliases":[]},{"icon":"faPlugCircleBolt","aliases":[]},{"icon":"faPlugCircleCheck","aliases":[]},{"icon":"faPlugCircleExclamation","aliases":[]},{"icon":"faPlugCircleMinus","aliases":[]},{"icon":"faPlugCirclePlus","aliases":[]},{"icon":"faPlugCircleXmark","aliases":[]},{"icon":"faPlus","aliases":["faAdd"]},{"icon":"faPlusCircle","aliases":["faPlusCircle"]},{"icon":"faPlusMinus","aliases":[]},{"icon":"faPlusSquare","aliases":["faPlusSquare"]},{"icon":"faPodcast","aliases":[]},{"icon":"faPoll","aliases":["faPoll"]},{"icon":"faPollH","aliases":["faPollH"]},{"icon":"faPoo","aliases":[]},{"icon":"faPooBolt","aliases":["faPooBolt"]},{"icon":"faPooStorm","aliases":["faPooBolt"]},{"icon":"faPoop","aliases":[]},{"icon":"faPortrait","aliases":["faPortrait"]},{"icon":"faPoundSign","aliases":["faGbp","faPoundSign"]},{"icon":"faPowerOff","aliases":[]},{"icon":"faPray","aliases":["faPray"]},{"icon":"faPrayingHands","aliases":["faPrayingHands"]},{"icon":"faPrescription","aliases":[]},{"icon":"faPrescriptionBottle","aliases":[]},{"icon":"faPrescriptionBottleAlt","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrescriptionBottleMedical","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrint","aliases":[]},{"icon":"faProcedures","aliases":["faProcedures"]},{"icon":"faProjectDiagram","aliases":["faProjectDiagram"]},{"icon":"faPumpMedical","aliases":[]},{"icon":"faPumpSoap","aliases":[]},{"icon":"faPuzzlePiece","aliases":[]},{"icon":"faQ","aliases":[]},{"icon":"faQrcode","aliases":[]},{"icon":"faQuestion","aliases":[]},{"icon":"faQuestionCircle","aliases":["faQuestionCircle"]},{"icon":"faQuidditch","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuidditchBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuoteLeft","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteLeftAlt","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteRight","aliases":["faQuoteRightAlt"]},{"icon":"faQuoteRightAlt","aliases":["faQuoteRightAlt"]},{"icon":"faQuran","aliases":["faQuran"]},{"icon":"faR","aliases":[]},{"icon":"faRadiation","aliases":[]},{"icon":"faRadiationAlt","aliases":["faRadiationAlt"]},{"icon":"faRadio","aliases":[]},{"icon":"faRainbow","aliases":[]},{"icon":"faRandom","aliases":["faRandom"]},{"icon":"faRankingStar","aliases":[]},{"icon":"faReceipt","aliases":[]},{"icon":"faRecordVinyl","aliases":[]},{"icon":"faRectangleAd","aliases":["faAd"]},{"icon":"faRectangleList","aliases":["faListAlt"]},{"icon":"faRectangleTimes","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRectangleXmark","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRecycle","aliases":[]},{"icon":"faRedo","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faRedoAlt","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRefresh","aliases":["faRefresh","faSync"]},{"icon":"faRegistered","aliases":[]},{"icon":"faRemove","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faRemoveFormat","aliases":["faRemoveFormat"]},{"icon":"faReorder","aliases":["faReorder","faStream"]},{"icon":"faRepeat","aliases":[]},{"icon":"faReply","aliases":["faMailReply"]},{"icon":"faReplyAll","aliases":["faMailReplyAll"]},{"icon":"faRepublican","aliases":[]},{"icon":"faRestroom","aliases":[]},{"icon":"faRetweet","aliases":[]},{"icon":"faRibbon","aliases":[]},{"icon":"faRightFromBracket","aliases":["faSignOutAlt"]},{"icon":"faRightLeft","aliases":["faExchangeAlt"]},{"icon":"faRightLong","aliases":["faLongArrowAltRight"]},{"icon":"faRightToBracket","aliases":["faSignInAlt"]},{"icon":"faRing","aliases":[]},{"icon":"faRmb","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faRoad","aliases":[]},{"icon":"faRoadBarrier","aliases":[]},{"icon":"faRoadBridge","aliases":[]},{"icon":"faRoadCircleCheck","aliases":[]},{"icon":"faRoadCircleExclamation","aliases":[]},{"icon":"faRoadCircleXmark","aliases":[]},{"icon":"faRoadLock","aliases":[]},{"icon":"faRoadSpikes","aliases":[]},{"icon":"faRobot","aliases":[]},{"icon":"faRocket","aliases":[]},{"icon":"faRodAsclepius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRodSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRotate","aliases":["faSyncAlt"]},{"icon":"faRotateBack","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateBackward","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateForward","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRotateLeft","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateRight","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRouble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRoute","aliases":[]},{"icon":"faRss","aliases":["faFeed"]},{"icon":"faRssSquare","aliases":["faRssSquare"]},{"icon":"faRub","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRuble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRubleSign","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRug","aliases":[]},{"icon":"faRuler","aliases":[]},{"icon":"faRulerCombined","aliases":[]},{"icon":"faRulerHorizontal","aliases":[]},{"icon":"faRulerVertical","aliases":[]},{"icon":"faRunning","aliases":["faRunning"]},{"icon":"faRupee","aliases":["faRupee"]},{"icon":"faRupeeSign","aliases":["faRupee"]},{"icon":"faRupiahSign","aliases":[]},{"icon":"faS","aliases":[]},{"icon":"faSackDollar","aliases":[]},{"icon":"faSackXmark","aliases":[]},{"icon":"faSadCry","aliases":["faSadCry"]},{"icon":"faSadTear","aliases":["faSadTear"]},{"icon":"faSailboat","aliases":[]},{"icon":"faSatellite","aliases":[]},{"icon":"faSatelliteDish","aliases":[]},{"icon":"faSave","aliases":["faSave"]},{"icon":"faScaleBalanced","aliases":["faBalanceScale"]},{"icon":"faScaleUnbalanced","aliases":["faBalanceScaleLeft"]},{"icon":"faScaleUnbalancedFlip","aliases":["faBalanceScaleRight"]},{"icon":"faSchool","aliases":[]},{"icon":"faSchoolCircleCheck","aliases":[]},{"icon":"faSchoolCircleExclamation","aliases":[]},{"icon":"faSchoolCircleXmark","aliases":[]},{"icon":"faSchoolFlag","aliases":[]},{"icon":"faSchoolLock","aliases":[]},{"icon":"faScissors","aliases":["faCut"]},{"icon":"faScrewdriver","aliases":[]},{"icon":"faScrewdriverWrench","aliases":["faTools"]},{"icon":"faScroll","aliases":[]},{"icon":"faScrollTorah","aliases":["faTorah"]},{"icon":"faSdCard","aliases":[]},{"icon":"faSearch","aliases":["faSearch"]},{"icon":"faSearchDollar","aliases":["faSearchDollar"]},{"icon":"faSearchLocation","aliases":["faSearchLocation"]},{"icon":"faSearchMinus","aliases":["faSearchMinus"]},{"icon":"faSearchPlus","aliases":["faSearchPlus"]},{"icon":"faSection","aliases":[]},{"icon":"faSeedling","aliases":["faSprout"]},{"icon":"faServer","aliases":[]},{"icon":"faShapes","aliases":["faTriangleCircleSquare"]},{"icon":"faShare","aliases":["faMailForward"]},{"icon":"faShareAlt","aliases":["faShareAlt"]},{"icon":"faShareAltSquare","aliases":["faShareAltSquare"]},{"icon":"faShareFromSquare","aliases":["faShareSquare"]},{"icon":"faShareNodes","aliases":["faShareAlt"]},{"icon":"faShareSquare","aliases":["faShareSquare"]},{"icon":"faSheetPlastic","aliases":[]},{"icon":"faShekel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShekelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faSheqel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faSheqelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShield","aliases":["faShieldBlank"]},{"icon":"faShieldAlt","aliases":["faShieldAlt"]},{"icon":"faShieldBlank","aliases":["faShieldBlank"]},{"icon":"faShieldCat","aliases":[]},{"icon":"faShieldDog","aliases":[]},{"icon":"faShieldHalved","aliases":["faShieldAlt"]},{"icon":"faShieldHeart","aliases":[]},{"icon":"faShieldVirus","aliases":[]},{"icon":"faShip","aliases":[]},{"icon":"faShippingFast","aliases":["faShippingFast"]},{"icon":"faShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faShoePrints","aliases":[]},{"icon":"faShop","aliases":["faStoreAlt"]},{"icon":"faShopLock","aliases":[]},{"icon":"faShopSlash","aliases":["faStoreAltSlash"]},{"icon":"faShoppingBag","aliases":["faShoppingBag"]},{"icon":"faShoppingBasket","aliases":["faShoppingBasket"]},{"icon":"faShoppingCart","aliases":["faShoppingCart"]},{"icon":"faShower","aliases":[]},{"icon":"faShrimp","aliases":[]},{"icon":"faShuffle","aliases":["faRandom"]},{"icon":"faShuttleSpace","aliases":["faSpaceShuttle"]},{"icon":"faShuttleVan","aliases":["faShuttleVan"]},{"icon":"faSign","aliases":["faSign"]},{"icon":"faSignHanging","aliases":["faSign"]},{"icon":"faSignIn","aliases":["faSignIn"]},{"icon":"faSignInAlt","aliases":["faSignInAlt"]},{"icon":"faSignLanguage","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignOut","aliases":["faSignOut"]},{"icon":"faSignOutAlt","aliases":["faSignOutAlt"]},{"icon":"faSignal","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignal5","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignalPerfect","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignature","aliases":[]},{"icon":"faSigning","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignsPost","aliases":["faMapSigns"]},{"icon":"faSimCard","aliases":[]},{"icon":"faSink","aliases":[]},{"icon":"faSitemap","aliases":[]},{"icon":"faSkating","aliases":["faSkating"]},{"icon":"faSkiing","aliases":["faSkiing"]},{"icon":"faSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faSkull","aliases":[]},{"icon":"faSkullCrossbones","aliases":[]},{"icon":"faSlash","aliases":[]},{"icon":"faSleigh","aliases":[]},{"icon":"faSliders","aliases":["faSlidersH"]},{"icon":"faSlidersH","aliases":["faSlidersH"]},{"icon":"faSmile","aliases":["faSmile"]},{"icon":"faSmileBeam","aliases":["faSmileBeam"]},{"icon":"faSmileWink","aliases":["faSmileWink"]},{"icon":"faSmog","aliases":[]},{"icon":"faSmoking","aliases":[]},{"icon":"faSmokingBan","aliases":["faSmokingBan"]},{"icon":"faSms","aliases":["faSms"]},{"icon":"faSnowboarding","aliases":["faSnowboarding"]},{"icon":"faSnowflake","aliases":[]},{"icon":"faSnowman","aliases":[]},{"icon":"faSnowplow","aliases":[]},{"icon":"faSoap","aliases":[]},{"icon":"faSoccerBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faSocks","aliases":[]},{"icon":"faSolarPanel","aliases":[]},{"icon":"faSort","aliases":["faUnsorted"]},{"icon":"faSortAlphaAsc","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDesc","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaDown","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDownAlt","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaUp","aliases":["faSortAlphaUp"]},{"icon":"faSortAlphaUpAlt","aliases":["faSortAlphaUpAlt"]},{"icon":"faSortAmountAsc","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDesc","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountDown","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDownAlt","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountUp","aliases":["faSortAmountUp"]},{"icon":"faSortAmountUpAlt","aliases":["faSortAmountUpAlt"]},{"icon":"faSortAsc","aliases":["faSortAsc"]},{"icon":"faSortDesc","aliases":["faSortDesc"]},{"icon":"faSortDown","aliases":["faSortDesc"]},{"icon":"faSortNumericAsc","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDesc","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericDown","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDownAlt","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericUp","aliases":["faSortNumericUp"]},{"icon":"faSortNumericUpAlt","aliases":["faSortNumericUpAlt"]},{"icon":"faSortUp","aliases":["faSortAsc"]},{"icon":"faSpa","aliases":[]},{"icon":"faSpaceShuttle","aliases":["faSpaceShuttle"]},{"icon":"faSpaghettiMonsterFlying","aliases":["faPastafarianism"]},{"icon":"faSpellCheck","aliases":[]},{"icon":"faSpider","aliases":[]},{"icon":"faSpinner","aliases":[]},{"icon":"faSplotch","aliases":[]},{"icon":"faSpoon","aliases":["faUtensilSpoon"]},{"icon":"faSprayCan","aliases":[]},{"icon":"faSprayCanSparkles","aliases":["faAirFreshener"]},{"icon":"faSprout","aliases":["faSprout"]},{"icon":"faSquare","aliases":[]},{"icon":"faSquareArrowUpRight","aliases":["faExternalLinkSquare"]},{"icon":"faSquareBinary","aliases":[]},{"icon":"faSquareCaretDown","aliases":["faCaretSquareDown"]},{"icon":"faSquareCaretLeft","aliases":["faCaretSquareLeft"]},{"icon":"faSquareCaretRight","aliases":["faCaretSquareRight"]},{"icon":"faSquareCaretUp","aliases":["faCaretSquareUp"]},{"icon":"faSquareCheck","aliases":["faCheckSquare"]},{"icon":"faSquareEnvelope","aliases":["faEnvelopeSquare"]},{"icon":"faSquareFull","aliases":[]},{"icon":"faSquareH","aliases":["faHSquare"]},{"icon":"faSquareMinus","aliases":["faMinusSquare"]},{"icon":"faSquareNfi","aliases":[]},{"icon":"faSquareParking","aliases":["faParking"]},{"icon":"faSquarePen","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faSquarePersonConfined","aliases":[]},{"icon":"faSquarePhone","aliases":["faPhoneSquare"]},{"icon":"faSquarePhoneFlip","aliases":["faPhoneSquareAlt"]},{"icon":"faSquarePlus","aliases":["faPlusSquare"]},{"icon":"faSquarePollHorizontal","aliases":["faPollH"]},{"icon":"faSquarePollVertical","aliases":["faPoll"]},{"icon":"faSquareRootAlt","aliases":["faSquareRootAlt"]},{"icon":"faSquareRootVariable","aliases":["faSquareRootAlt"]},{"icon":"faSquareRss","aliases":["faRssSquare"]},{"icon":"faSquareShareNodes","aliases":["faShareAltSquare"]},{"icon":"faSquareUpRight","aliases":["faExternalLinkSquareAlt"]},{"icon":"faSquareVirus","aliases":[]},{"icon":"faSquareXmark","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faStaffAesculapius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStaffSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStairs","aliases":[]},{"icon":"faStamp","aliases":[]},{"icon":"faStapler","aliases":[]},{"icon":"faStar","aliases":[]},{"icon":"faStarAndCrescent","aliases":[]},{"icon":"faStarHalf","aliases":[]},{"icon":"faStarHalfAlt","aliases":["faStarHalfAlt"]},{"icon":"faStarHalfStroke","aliases":["faStarHalfAlt"]},{"icon":"faStarOfDavid","aliases":[]},{"icon":"faStarOfLife","aliases":[]},{"icon":"faStepBackward","aliases":["faStepBackward"]},{"icon":"faStepForward","aliases":["faStepForward"]},{"icon":"faSterlingSign","aliases":["faGbp","faPoundSign"]},{"icon":"faStethoscope","aliases":[]},{"icon":"faStickyNote","aliases":["faStickyNote"]},{"icon":"faStop","aliases":[]},{"icon":"faStopCircle","aliases":["faStopCircle"]},{"icon":"faStopwatch","aliases":[]},{"icon":"faStopwatch20","aliases":[]},{"icon":"faStore","aliases":[]},{"icon":"faStoreAlt","aliases":["faStoreAlt"]},{"icon":"faStoreAltSlash","aliases":["faStoreAltSlash"]},{"icon":"faStoreSlash","aliases":[]},{"icon":"faStream","aliases":["faReorder","faStream"]},{"icon":"faStreetView","aliases":[]},{"icon":"faStrikethrough","aliases":[]},{"icon":"faStroopwafel","aliases":[]},{"icon":"faSubscript","aliases":[]},{"icon":"faSubtract","aliases":["faSubtract"]},{"icon":"faSubway","aliases":["faSubway"]},{"icon":"faSuitcase","aliases":[]},{"icon":"faSuitcaseMedical","aliases":["faMedkit"]},{"icon":"faSuitcaseRolling","aliases":[]},{"icon":"faSun","aliases":[]},{"icon":"faSunPlantWilt","aliases":[]},{"icon":"faSuperscript","aliases":[]},{"icon":"faSurprise","aliases":["faSurprise"]},{"icon":"faSwatchbook","aliases":[]},{"icon":"faSwimmer","aliases":["faSwimmer"]},{"icon":"faSwimmingPool","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faSynagogue","aliases":[]},{"icon":"faSync","aliases":["faRefresh","faSync"]},{"icon":"faSyncAlt","aliases":["faSyncAlt"]},{"icon":"faSyringe","aliases":[]},{"icon":"faT","aliases":[]},{"icon":"faTShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faTable","aliases":[]},{"icon":"faTableCells","aliases":["faTh"]},{"icon":"faTableCellsColumnLock","aliases":[]},{"icon":"faTableCellsLarge","aliases":["faThLarge"]},{"icon":"faTableCellsRowLock","aliases":[]},{"icon":"faTableCellsRowUnlock","aliases":[]},{"icon":"faTableColumns","aliases":["faColumns"]},{"icon":"faTableList","aliases":["faThList"]},{"icon":"faTableTennis","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTableTennisPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTablet","aliases":["faTabletAndroid"]},{"icon":"faTabletAlt","aliases":["faTabletAlt"]},{"icon":"faTabletAndroid","aliases":["faTabletAndroid"]},{"icon":"faTabletButton","aliases":[]},{"icon":"faTabletScreenButton","aliases":["faTabletAlt"]},{"icon":"faTablets","aliases":[]},{"icon":"faTachographDigital","aliases":["faDigitalTachograph"]},{"icon":"faTachometer","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTachometerAlt","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAltAverage","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faTachometerAltFast","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAverage","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faTachometerFast","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTag","aliases":[]},{"icon":"faTags","aliases":[]},{"icon":"faTanakh","aliases":["faTanakh"]},{"icon":"faTape","aliases":[]},{"icon":"faTarp","aliases":[]},{"icon":"faTarpDroplet","aliases":[]},{"icon":"faTasks","aliases":["faTasks"]},{"icon":"faTasksAlt","aliases":["faTasksAlt"]},{"icon":"faTaxi","aliases":["faCab"]},{"icon":"faTeeth","aliases":[]},{"icon":"faTeethOpen","aliases":[]},{"icon":"faTeletype","aliases":["faTeletype"]},{"icon":"faTelevision","aliases":["faTelevision","faTvAlt"]},{"icon":"faTemperature0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperature1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperature2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperature3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperature4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureArrowDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureArrowUp","aliases":["faTemperatureUp"]},{"icon":"faTemperatureDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperatureFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperatureHigh","aliases":[]},{"icon":"faTemperatureLow","aliases":[]},{"icon":"faTemperatureQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperatureThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperatureUp","aliases":["faTemperatureUp"]},{"icon":"faTenge","aliases":["faTenge"]},{"icon":"faTengeSign","aliases":["faTenge"]},{"icon":"faTent","aliases":[]},{"icon":"faTentArrowDownToLine","aliases":[]},{"icon":"faTentArrowLeftRight","aliases":[]},{"icon":"faTentArrowTurnLeft","aliases":[]},{"icon":"faTentArrowsDown","aliases":[]},{"icon":"faTents","aliases":[]},{"icon":"faTerminal","aliases":[]},{"icon":"faTextHeight","aliases":[]},{"icon":"faTextSlash","aliases":["faRemoveFormat"]},{"icon":"faTextWidth","aliases":[]},{"icon":"faTh","aliases":["faTh"]},{"icon":"faThLarge","aliases":["faThLarge"]},{"icon":"faThList","aliases":["faThList"]},{"icon":"faTheaterMasks","aliases":["faTheaterMasks"]},{"icon":"faThermometer","aliases":[]},{"icon":"faThermometer0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometer1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometer2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometer3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faThermometer4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometerFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometerQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometerThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faThumbsDown","aliases":[]},{"icon":"faThumbsUp","aliases":[]},{"icon":"faThumbtack","aliases":["faThumbTack"]},{"icon":"faThumbtackSlash","aliases":["faThumbTackSlash"]},{"icon":"faThunderstorm","aliases":["faThunderstorm"]},{"icon":"faTicket","aliases":[]},{"icon":"faTicketAlt","aliases":["faTicketAlt"]},{"icon":"faTicketSimple","aliases":["faTicketAlt"]},{"icon":"faTimeline","aliases":[]},{"icon":"faTimes","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faTimesCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faTimesRectangle","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faTimesSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faTint","aliases":["faTint"]},{"icon":"faTintSlash","aliases":["faTintSlash"]},{"icon":"faTired","aliases":["faTired"]},{"icon":"faToggleOff","aliases":[]},{"icon":"faToggleOn","aliases":[]},{"icon":"faToilet","aliases":[]},{"icon":"faToiletPaper","aliases":[]},{"icon":"faToiletPaperSlash","aliases":[]},{"icon":"faToiletPortable","aliases":[]},{"icon":"faToiletsPortable","aliases":[]},{"icon":"faToolbox","aliases":[]},{"icon":"faTools","aliases":["faTools"]},{"icon":"faTooth","aliases":[]},{"icon":"faTorah","aliases":["faTorah"]},{"icon":"faToriiGate","aliases":[]},{"icon":"faTornado","aliases":[]},{"icon":"faTowerBroadcast","aliases":["faBroadcastTower"]},{"icon":"faTowerCell","aliases":[]},{"icon":"faTowerObservation","aliases":[]},{"icon":"faTractor","aliases":[]},{"icon":"faTrademark","aliases":[]},{"icon":"faTrafficLight","aliases":[]},{"icon":"faTrailer","aliases":[]},{"icon":"faTrain","aliases":[]},{"icon":"faTrainSubway","aliases":["faSubway"]},{"icon":"faTrainTram","aliases":[]},{"icon":"faTram","aliases":["faTram"]},{"icon":"faTransgender","aliases":["faTransgenderAlt"]},{"icon":"faTransgenderAlt","aliases":["faTransgenderAlt"]},{"icon":"faTrash","aliases":[]},{"icon":"faTrashAlt","aliases":["faTrashAlt"]},{"icon":"faTrashArrowUp","aliases":["faTrashRestore"]},{"icon":"faTrashCan","aliases":["faTrashAlt"]},{"icon":"faTrashCanArrowUp","aliases":["faTrashRestoreAlt"]},{"icon":"faTrashRestore","aliases":["faTrashRestore"]},{"icon":"faTrashRestoreAlt","aliases":["faTrashRestoreAlt"]},{"icon":"faTree","aliases":[]},{"icon":"faTreeCity","aliases":[]},{"icon":"faTriangleCircleSquare","aliases":["faTriangleCircleSquare"]},{"icon":"faTriangleExclamation","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faTrophy","aliases":[]},{"icon":"faTrowel","aliases":[]},{"icon":"faTrowelBricks","aliases":[]},{"icon":"faTruck","aliases":[]},{"icon":"faTruckArrowRight","aliases":[]},{"icon":"faTruckDroplet","aliases":[]},{"icon":"faTruckFast","aliases":["faShippingFast"]},{"icon":"faTruckField","aliases":[]},{"icon":"faTruckFieldUn","aliases":[]},{"icon":"faTruckFront","aliases":[]},{"icon":"faTruckLoading","aliases":["faTruckLoading"]},{"icon":"faTruckMedical","aliases":["faAmbulance"]},{"icon":"faTruckMonster","aliases":[]},{"icon":"faTruckMoving","aliases":[]},{"icon":"faTruckPickup","aliases":[]},{"icon":"faTruckPlane","aliases":[]},{"icon":"faTruckRampBox","aliases":["faTruckLoading"]},{"icon":"faTry","aliases":["faTry","faTurkishLira"]},{"icon":"faTty","aliases":["faTeletype"]},{"icon":"faTurkishLira","aliases":["faTry","faTurkishLira"]},{"icon":"faTurkishLiraSign","aliases":["faTry","faTurkishLira"]},{"icon":"faTurnDown","aliases":["faLevelDownAlt"]},{"icon":"faTurnUp","aliases":["faLevelUpAlt"]},{"icon":"faTv","aliases":["faTelevision","faTvAlt"]},{"icon":"faTvAlt","aliases":["faTelevision","faTvAlt"]},{"icon":"faU","aliases":[]},{"icon":"faUmbrella","aliases":[]},{"icon":"faUmbrellaBeach","aliases":[]},{"icon":"faUnderline","aliases":[]},{"icon":"faUndo","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faUndoAlt","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faUniversalAccess","aliases":[]},{"icon":"faUniversity","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faUnlink","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faUnlock","aliases":[]},{"icon":"faUnlockAlt","aliases":["faUnlockAlt"]},{"icon":"faUnlockKeyhole","aliases":["faUnlockAlt"]},{"icon":"faUnsorted","aliases":["faUnsorted"]},{"icon":"faUpDown","aliases":["faArrowsAltV"]},{"icon":"faUpDownLeftRight","aliases":["faArrowsAlt"]},{"icon":"faUpLong","aliases":["faLongArrowAltUp"]},{"icon":"faUpRightAndDownLeftFromCenter","aliases":["faExpandAlt"]},{"icon":"faUpRightFromSquare","aliases":["faExternalLinkAlt"]},{"icon":"faUpload","aliases":[]},{"icon":"faUsd","aliases":["faDollar","faUsd"]},{"icon":"faUser","aliases":[]},{"icon":"faUserAlt","aliases":["faUserAlt"]},{"icon":"faUserAltSlash","aliases":["faUserAltSlash"]},{"icon":"faUserAstronaut","aliases":[]},{"icon":"faUserCheck","aliases":[]},{"icon":"faUserCircle","aliases":["faUserCircle"]},{"icon":"faUserClock","aliases":[]},{"icon":"faUserCog","aliases":["faUserCog"]},{"icon":"faUserDoctor","aliases":["faUserMd"]},{"icon":"faUserEdit","aliases":["faUserEdit"]},{"icon":"faUserFriends","aliases":["faUserFriends"]},{"icon":"faUserGear","aliases":["faUserCog"]},{"icon":"faUserGraduate","aliases":[]},{"icon":"faUserGroup","aliases":["faUserFriends"]},{"icon":"faUserInjured","aliases":[]},{"icon":"faUserLarge","aliases":["faUserAlt"]},{"icon":"faUserLargeSlash","aliases":["faUserAltSlash"]},{"icon":"faUserLock","aliases":[]},{"icon":"faUserMd","aliases":["faUserMd"]},{"icon":"faUserMinus","aliases":[]},{"icon":"faUserNinja","aliases":[]},{"icon":"faUserNurse","aliases":[]},{"icon":"faUserPen","aliases":["faUserEdit"]},{"icon":"faUserPlus","aliases":[]},{"icon":"faUserSecret","aliases":[]},{"icon":"faUserShield","aliases":[]},{"icon":"faUserSlash","aliases":[]},{"icon":"faUserTag","aliases":[]},{"icon":"faUserTie","aliases":[]},{"icon":"faUserTimes","aliases":["faUserTimes"]},{"icon":"faUserXmark","aliases":["faUserTimes"]},{"icon":"faUsers","aliases":[]},{"icon":"faUsersBetweenLines","aliases":[]},{"icon":"faUsersCog","aliases":["faUsersCog"]},{"icon":"faUsersGear","aliases":["faUsersCog"]},{"icon":"faUsersLine","aliases":[]},{"icon":"faUsersRays","aliases":[]},{"icon":"faUsersRectangle","aliases":[]},{"icon":"faUsersSlash","aliases":[]},{"icon":"faUsersViewfinder","aliases":[]},{"icon":"faUtensilSpoon","aliases":["faUtensilSpoon"]},{"icon":"faUtensils","aliases":["faCutlery"]},{"icon":"faV","aliases":[]},{"icon":"faVanShuttle","aliases":["faShuttleVan"]},{"icon":"faVault","aliases":[]},{"icon":"faVcard","aliases":["faContactCard","faVcard"]},{"icon":"faVectorSquare","aliases":[]},{"icon":"faVenus","aliases":[]},{"icon":"faVenusDouble","aliases":[]},{"icon":"faVenusMars","aliases":[]},{"icon":"faVest","aliases":[]},{"icon":"faVestPatches","aliases":[]},{"icon":"faVial","aliases":[]},{"icon":"faVialCircleCheck","aliases":[]},{"icon":"faVialVirus","aliases":[]},{"icon":"faVials","aliases":[]},{"icon":"faVideo","aliases":["faVideoCamera"]},{"icon":"faVideoCamera","aliases":["faVideoCamera"]},{"icon":"faVideoSlash","aliases":[]},{"icon":"faVihara","aliases":[]},{"icon":"faVirus","aliases":[]},{"icon":"faVirusCovid","aliases":[]},{"icon":"faVirusCovidSlash","aliases":[]},{"icon":"faVirusSlash","aliases":[]},{"icon":"faViruses","aliases":[]},{"icon":"faVoicemail","aliases":[]},{"icon":"faVolcano","aliases":[]},{"icon":"faVolleyball","aliases":["faVolleyballBall"]},{"icon":"faVolleyballBall","aliases":["faVolleyballBall"]},{"icon":"faVolumeControlPhone","aliases":["faVolumeControlPhone"]},{"icon":"faVolumeDown","aliases":["faVolumeDown"]},{"icon":"faVolumeHigh","aliases":["faVolumeUp"]},{"icon":"faVolumeLow","aliases":["faVolumeDown"]},{"icon":"faVolumeMute","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeOff","aliases":[]},{"icon":"faVolumeTimes","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeUp","aliases":["faVolumeUp"]},{"icon":"faVolumeXmark","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVoteYea","aliases":["faVoteYea"]},{"icon":"faVrCardboard","aliases":[]},{"icon":"faW","aliases":[]},{"icon":"faWalkieTalkie","aliases":[]},{"icon":"faWalking","aliases":["faWalking"]},{"icon":"faWallet","aliases":[]},{"icon":"faWandMagic","aliases":["faMagic"]},{"icon":"faWandMagicSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faWandSparkles","aliases":[]},{"icon":"faWarehouse","aliases":[]},{"icon":"faWarning","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faWater","aliases":[]},{"icon":"faWaterLadder","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faWaveSquare","aliases":[]},{"icon":"faWebAwesome","aliases":[]},{"icon":"faWeight","aliases":["faWeight"]},{"icon":"faWeightHanging","aliases":[]},{"icon":"faWeightScale","aliases":["faWeight"]},{"icon":"faWheatAlt","aliases":["faWheatAlt"]},{"icon":"faWheatAwn","aliases":["faWheatAlt"]},{"icon":"faWheatAwnCircleExclamation","aliases":[]},{"icon":"faWheelchair","aliases":[]},{"icon":"faWheelchairAlt","aliases":["faWheelchairAlt"]},{"icon":"faWheelchairMove","aliases":["faWheelchairAlt"]},{"icon":"faWhiskeyGlass","aliases":["faGlassWhiskey"]},{"icon":"faWifi","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifi3","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifiStrong","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWind","aliases":[]},{"icon":"faWindowClose","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faWindowMaximize","aliases":[]},{"icon":"faWindowMinimize","aliases":[]},{"icon":"faWindowRestore","aliases":[]},{"icon":"faWineBottle","aliases":[]},{"icon":"faWineGlass","aliases":[]},{"icon":"faWineGlassAlt","aliases":["faWineGlassAlt"]},{"icon":"faWineGlassEmpty","aliases":["faWineGlassAlt"]},{"icon":"faWon","aliases":["faKrw","faWon"]},{"icon":"faWonSign","aliases":["faKrw","faWon"]},{"icon":"faWorm","aliases":[]},{"icon":"faWrench","aliases":[]},{"icon":"faX","aliases":[]},{"icon":"faXRay","aliases":[]},{"icon":"faXmark","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faXmarkCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faXmarkSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faXmarksLines","aliases":[]},{"icon":"faY","aliases":[]},{"icon":"faYen","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYenSign","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYinYang","aliases":[]},{"icon":"faZ","aliases":[]},{"icon":"faZap","aliases":["faZap"]}],"prefix":"fas"},"@fortawesome/free-brands-svg-icons":{"icons":[{"icon":"fa42Group","aliases":["faInnosoft"]},{"icon":"fa500px","aliases":[]},{"icon":"faAccessibleIcon","aliases":[]},{"icon":"faAccusoft","aliases":[]},{"icon":"faAdn","aliases":[]},{"icon":"faAdversal","aliases":[]},{"icon":"faAffiliatetheme","aliases":[]},{"icon":"faAirbnb","aliases":[]},{"icon":"faAlgolia","aliases":[]},{"icon":"faAlipay","aliases":[]},{"icon":"faAmazon","aliases":[]},{"icon":"faAmazonPay","aliases":[]},{"icon":"faAmilia","aliases":[]},{"icon":"faAndroid","aliases":[]},{"icon":"faAngellist","aliases":[]},{"icon":"faAngrycreative","aliases":[]},{"icon":"faAngular","aliases":[]},{"icon":"faAppStore","aliases":[]},{"icon":"faAppStoreIos","aliases":[]},{"icon":"faApper","aliases":[]},{"icon":"faApple","aliases":[]},{"icon":"faApplePay","aliases":[]},{"icon":"faArtstation","aliases":[]},{"icon":"faAsymmetrik","aliases":[]},{"icon":"faAtlassian","aliases":[]},{"icon":"faAudible","aliases":[]},{"icon":"faAutoprefixer","aliases":[]},{"icon":"faAvianex","aliases":[]},{"icon":"faAviato","aliases":[]},{"icon":"faAws","aliases":[]},{"icon":"faBandcamp","aliases":[]},{"icon":"faBattleNet","aliases":[]},{"icon":"faBehance","aliases":[]},{"icon":"faBehanceSquare","aliases":["faBehanceSquare"]},{"icon":"faBilibili","aliases":[]},{"icon":"faBimobject","aliases":[]},{"icon":"faBitbucket","aliases":[]},{"icon":"faBitcoin","aliases":[]},{"icon":"faBity","aliases":[]},{"icon":"faBlackTie","aliases":[]},{"icon":"faBlackberry","aliases":[]},{"icon":"faBlogger","aliases":[]},{"icon":"faBloggerB","aliases":[]},{"icon":"faBluesky","aliases":[]},{"icon":"faBluetooth","aliases":[]},{"icon":"faBluetoothB","aliases":[]},{"icon":"faBootstrap","aliases":[]},{"icon":"faBots","aliases":[]},{"icon":"faBrave","aliases":[]},{"icon":"faBraveReverse","aliases":[]},{"icon":"faBtc","aliases":[]},{"icon":"faBuffer","aliases":[]},{"icon":"faBuromobelexperte","aliases":[]},{"icon":"faBuyNLarge","aliases":[]},{"icon":"faBuysellads","aliases":[]},{"icon":"faCanadianMapleLeaf","aliases":[]},{"icon":"faCcAmazonPay","aliases":[]},{"icon":"faCcAmex","aliases":[]},{"icon":"faCcApplePay","aliases":[]},{"icon":"faCcDinersClub","aliases":[]},{"icon":"faCcDiscover","aliases":[]},{"icon":"faCcJcb","aliases":[]},{"icon":"faCcMastercard","aliases":[]},{"icon":"faCcPaypal","aliases":[]},{"icon":"faCcStripe","aliases":[]},{"icon":"faCcVisa","aliases":[]},{"icon":"faCentercode","aliases":[]},{"icon":"faCentos","aliases":[]},{"icon":"faChrome","aliases":[]},{"icon":"faChromecast","aliases":[]},{"icon":"faCloudflare","aliases":[]},{"icon":"faCloudscale","aliases":[]},{"icon":"faCloudsmith","aliases":[]},{"icon":"faCloudversify","aliases":[]},{"icon":"faCmplid","aliases":[]},{"icon":"faCodepen","aliases":[]},{"icon":"faCodiepie","aliases":[]},{"icon":"faConfluence","aliases":[]},{"icon":"faConnectdevelop","aliases":[]},{"icon":"faContao","aliases":[]},{"icon":"faCottonBureau","aliases":[]},{"icon":"faCpanel","aliases":[]},{"icon":"faCreativeCommons","aliases":[]},{"icon":"faCreativeCommonsBy","aliases":[]},{"icon":"faCreativeCommonsNc","aliases":[]},{"icon":"faCreativeCommonsNcEu","aliases":[]},{"icon":"faCreativeCommonsNcJp","aliases":[]},{"icon":"faCreativeCommonsNd","aliases":[]},{"icon":"faCreativeCommonsPd","aliases":[]},{"icon":"faCreativeCommonsPdAlt","aliases":[]},{"icon":"faCreativeCommonsRemix","aliases":[]},{"icon":"faCreativeCommonsSa","aliases":[]},{"icon":"faCreativeCommonsSampling","aliases":[]},{"icon":"faCreativeCommonsSamplingPlus","aliases":[]},{"icon":"faCreativeCommonsShare","aliases":[]},{"icon":"faCreativeCommonsZero","aliases":[]},{"icon":"faCriticalRole","aliases":[]},{"icon":"faCss","aliases":[]},{"icon":"faCss3","aliases":[]},{"icon":"faCss3Alt","aliases":[]},{"icon":"faCuttlefish","aliases":[]},{"icon":"faDAndD","aliases":[]},{"icon":"faDAndDBeyond","aliases":[]},{"icon":"faDailymotion","aliases":[]},{"icon":"faDartLang","aliases":[]},{"icon":"faDashcube","aliases":[]},{"icon":"faDebian","aliases":[]},{"icon":"faDeezer","aliases":[]},{"icon":"faDelicious","aliases":[]},{"icon":"faDeploydog","aliases":[]},{"icon":"faDeskpro","aliases":[]},{"icon":"faDev","aliases":[]},{"icon":"faDeviantart","aliases":[]},{"icon":"faDhl","aliases":[]},{"icon":"faDiaspora","aliases":[]},{"icon":"faDigg","aliases":[]},{"icon":"faDigitalOcean","aliases":[]},{"icon":"faDiscord","aliases":[]},{"icon":"faDiscourse","aliases":[]},{"icon":"faDochub","aliases":[]},{"icon":"faDocker","aliases":[]},{"icon":"faDraft2digital","aliases":[]},{"icon":"faDribbble","aliases":[]},{"icon":"faDribbbleSquare","aliases":["faDribbbleSquare"]},{"icon":"faDropbox","aliases":[]},{"icon":"faDrupal","aliases":[]},{"icon":"faDyalog","aliases":[]},{"icon":"faEarlybirds","aliases":[]},{"icon":"faEbay","aliases":[]},{"icon":"faEdge","aliases":[]},{"icon":"faEdgeLegacy","aliases":[]},{"icon":"faElementor","aliases":[]},{"icon":"faEllo","aliases":[]},{"icon":"faEmber","aliases":[]},{"icon":"faEmpire","aliases":[]},{"icon":"faEnvira","aliases":[]},{"icon":"faErlang","aliases":[]},{"icon":"faEthereum","aliases":[]},{"icon":"faEtsy","aliases":[]},{"icon":"faEvernote","aliases":[]},{"icon":"faExpeditedssl","aliases":[]},{"icon":"faFacebook","aliases":[]},{"icon":"faFacebookF","aliases":[]},{"icon":"faFacebookMessenger","aliases":[]},{"icon":"faFacebookSquare","aliases":["faFacebookSquare"]},{"icon":"faFantasyFlightGames","aliases":[]},{"icon":"faFedex","aliases":[]},{"icon":"faFedora","aliases":[]},{"icon":"faFigma","aliases":[]},{"icon":"faFilesPinwheel","aliases":[]},{"icon":"faFirefox","aliases":[]},{"icon":"faFirefoxBrowser","aliases":[]},{"icon":"faFirstOrder","aliases":[]},{"icon":"faFirstOrderAlt","aliases":[]},{"icon":"faFirstdraft","aliases":[]},{"icon":"faFlickr","aliases":[]},{"icon":"faFlipboard","aliases":[]},{"icon":"faFlutter","aliases":[]},{"icon":"faFly","aliases":[]},{"icon":"faFontAwesome","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeAlt","aliases":["faFontAwesomeAlt"]},{"icon":"faFontAwesomeFlag","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeLogoFull","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFonticons","aliases":[]},{"icon":"faFonticonsFi","aliases":[]},{"icon":"faFortAwesome","aliases":[]},{"icon":"faFortAwesomeAlt","aliases":[]},{"icon":"faForumbee","aliases":[]},{"icon":"faFoursquare","aliases":[]},{"icon":"faFreeCodeCamp","aliases":[]},{"icon":"faFreebsd","aliases":[]},{"icon":"faFulcrum","aliases":[]},{"icon":"faGalacticRepublic","aliases":[]},{"icon":"faGalacticSenate","aliases":[]},{"icon":"faGetPocket","aliases":[]},{"icon":"faGg","aliases":[]},{"icon":"faGgCircle","aliases":[]},{"icon":"faGit","aliases":[]},{"icon":"faGitAlt","aliases":[]},{"icon":"faGitSquare","aliases":["faGitSquare"]},{"icon":"faGithub","aliases":[]},{"icon":"faGithubAlt","aliases":[]},{"icon":"faGithubSquare","aliases":["faGithubSquare"]},{"icon":"faGitkraken","aliases":[]},{"icon":"faGitlab","aliases":[]},{"icon":"faGitlabSquare","aliases":["faGitlabSquare"]},{"icon":"faGitter","aliases":[]},{"icon":"faGlide","aliases":[]},{"icon":"faGlideG","aliases":[]},{"icon":"faGofore","aliases":[]},{"icon":"faGolang","aliases":[]},{"icon":"faGoodreads","aliases":[]},{"icon":"faGoodreadsG","aliases":[]},{"icon":"faGoogle","aliases":[]},{"icon":"faGoogleDrive","aliases":[]},{"icon":"faGooglePay","aliases":[]},{"icon":"faGooglePlay","aliases":[]},{"icon":"faGooglePlus","aliases":[]},{"icon":"faGooglePlusG","aliases":[]},{"icon":"faGooglePlusSquare","aliases":["faGooglePlusSquare"]},{"icon":"faGoogleScholar","aliases":[]},{"icon":"faGoogleWallet","aliases":[]},{"icon":"faGratipay","aliases":[]},{"icon":"faGrav","aliases":[]},{"icon":"faGripfire","aliases":[]},{"icon":"faGrunt","aliases":[]},{"icon":"faGuilded","aliases":[]},{"icon":"faGulp","aliases":[]},{"icon":"faHackerNews","aliases":[]},{"icon":"faHackerNewsSquare","aliases":["faHackerNewsSquare"]},{"icon":"faHackerrank","aliases":[]},{"icon":"faHashnode","aliases":[]},{"icon":"faHips","aliases":[]},{"icon":"faHireAHelper","aliases":[]},{"icon":"faHive","aliases":[]},{"icon":"faHooli","aliases":[]},{"icon":"faHornbill","aliases":[]},{"icon":"faHotjar","aliases":[]},{"icon":"faHouzz","aliases":[]},{"icon":"faHtml5","aliases":[]},{"icon":"faHubspot","aliases":[]},{"icon":"faIdeal","aliases":[]},{"icon":"faImdb","aliases":[]},{"icon":"faInnosoft","aliases":["faInnosoft"]},{"icon":"faInstagram","aliases":[]},{"icon":"faInstagramSquare","aliases":["faInstagramSquare"]},{"icon":"faInstalod","aliases":[]},{"icon":"faIntercom","aliases":[]},{"icon":"faInternetExplorer","aliases":[]},{"icon":"faInvision","aliases":[]},{"icon":"faIoxhost","aliases":[]},{"icon":"faItchIo","aliases":[]},{"icon":"faItunes","aliases":[]},{"icon":"faItunesNote","aliases":[]},{"icon":"faJava","aliases":[]},{"icon":"faJediOrder","aliases":[]},{"icon":"faJenkins","aliases":[]},{"icon":"faJira","aliases":[]},{"icon":"faJoget","aliases":[]},{"icon":"faJoomla","aliases":[]},{"icon":"faJs","aliases":[]},{"icon":"faJsSquare","aliases":["faJsSquare"]},{"icon":"faJsfiddle","aliases":[]},{"icon":"faJxl","aliases":[]},{"icon":"faKaggle","aliases":[]},{"icon":"faKeybase","aliases":[]},{"icon":"faKeycdn","aliases":[]},{"icon":"faKickstarter","aliases":["faSquareKickstarter"]},{"icon":"faKickstarterK","aliases":[]},{"icon":"faKorvue","aliases":[]},{"icon":"faLaravel","aliases":[]},{"icon":"faLastfm","aliases":[]},{"icon":"faLastfmSquare","aliases":["faLastfmSquare"]},{"icon":"faLeanpub","aliases":[]},{"icon":"faLess","aliases":[]},{"icon":"faLetterboxd","aliases":[]},{"icon":"faLine","aliases":[]},{"icon":"faLinkedin","aliases":[]},{"icon":"faLinkedinIn","aliases":[]},{"icon":"faLinode","aliases":[]},{"icon":"faLinux","aliases":[]},{"icon":"faLyft","aliases":[]},{"icon":"faMagento","aliases":[]},{"icon":"faMailchimp","aliases":[]},{"icon":"faMandalorian","aliases":[]},{"icon":"faMarkdown","aliases":[]},{"icon":"faMastodon","aliases":[]},{"icon":"faMaxcdn","aliases":[]},{"icon":"faMdb","aliases":[]},{"icon":"faMedapps","aliases":[]},{"icon":"faMedium","aliases":["faMediumM"]},{"icon":"faMediumM","aliases":["faMediumM"]},{"icon":"faMedrt","aliases":[]},{"icon":"faMeetup","aliases":[]},{"icon":"faMegaport","aliases":[]},{"icon":"faMendeley","aliases":[]},{"icon":"faMeta","aliases":[]},{"icon":"faMicroblog","aliases":[]},{"icon":"faMicrosoft","aliases":[]},{"icon":"faMintbit","aliases":[]},{"icon":"faMix","aliases":[]},{"icon":"faMixcloud","aliases":[]},{"icon":"faMixer","aliases":[]},{"icon":"faMizuni","aliases":[]},{"icon":"faModx","aliases":[]},{"icon":"faMonero","aliases":[]},{"icon":"faNapster","aliases":[]},{"icon":"faNeos","aliases":[]},{"icon":"faNfcDirectional","aliases":[]},{"icon":"faNfcSymbol","aliases":[]},{"icon":"faNimblr","aliases":[]},{"icon":"faNode","aliases":[]},{"icon":"faNodeJs","aliases":[]},{"icon":"faNpm","aliases":[]},{"icon":"faNs8","aliases":[]},{"icon":"faNutritionix","aliases":[]},{"icon":"faOctopusDeploy","aliases":[]},{"icon":"faOdnoklassniki","aliases":[]},{"icon":"faOdnoklassnikiSquare","aliases":["faOdnoklassnikiSquare"]},{"icon":"faOdysee","aliases":[]},{"icon":"faOldRepublic","aliases":[]},{"icon":"faOpencart","aliases":[]},{"icon":"faOpenid","aliases":[]},{"icon":"faOpensuse","aliases":[]},{"icon":"faOpera","aliases":[]},{"icon":"faOptinMonster","aliases":[]},{"icon":"faOrcid","aliases":[]},{"icon":"faOsi","aliases":[]},{"icon":"faPadlet","aliases":[]},{"icon":"faPage4","aliases":[]},{"icon":"faPagelines","aliases":[]},{"icon":"faPalfed","aliases":[]},{"icon":"faPatreon","aliases":[]},{"icon":"faPaypal","aliases":[]},{"icon":"faPerbyte","aliases":[]},{"icon":"faPeriscope","aliases":[]},{"icon":"faPhabricator","aliases":[]},{"icon":"faPhoenixFramework","aliases":[]},{"icon":"faPhoenixSquadron","aliases":[]},{"icon":"faPhp","aliases":[]},{"icon":"faPiedPiper","aliases":[]},{"icon":"faPiedPiperAlt","aliases":[]},{"icon":"faPiedPiperHat","aliases":[]},{"icon":"faPiedPiperPp","aliases":[]},{"icon":"faPiedPiperSquare","aliases":["faPiedPiperSquare"]},{"icon":"faPinterest","aliases":[]},{"icon":"faPinterestP","aliases":[]},{"icon":"faPinterestSquare","aliases":["faPinterestSquare"]},{"icon":"faPix","aliases":[]},{"icon":"faPixiv","aliases":[]},{"icon":"faPlaystation","aliases":[]},{"icon":"faProductHunt","aliases":[]},{"icon":"faPushed","aliases":[]},{"icon":"faPython","aliases":[]},{"icon":"faQq","aliases":[]},{"icon":"faQuinscape","aliases":[]},{"icon":"faQuora","aliases":[]},{"icon":"faRProject","aliases":[]},{"icon":"faRaspberryPi","aliases":[]},{"icon":"faRavelry","aliases":[]},{"icon":"faReact","aliases":[]},{"icon":"faReacteurope","aliases":[]},{"icon":"faReadme","aliases":[]},{"icon":"faRebel","aliases":[]},{"icon":"faRedRiver","aliases":[]},{"icon":"faReddit","aliases":[]},{"icon":"faRedditAlien","aliases":[]},{"icon":"faRedditSquare","aliases":["faRedditSquare"]},{"icon":"faRedhat","aliases":[]},{"icon":"faRendact","aliases":["faRendact"]},{"icon":"faRenren","aliases":[]},{"icon":"faReplyd","aliases":[]},{"icon":"faResearchgate","aliases":[]},{"icon":"faResolving","aliases":[]},{"icon":"faRev","aliases":[]},{"icon":"faRocketchat","aliases":[]},{"icon":"faRockrms","aliases":[]},{"icon":"faRust","aliases":[]},{"icon":"faSafari","aliases":[]},{"icon":"faSalesforce","aliases":[]},{"icon":"faSass","aliases":[]},{"icon":"faSchlix","aliases":[]},{"icon":"faScreenpal","aliases":[]},{"icon":"faScribd","aliases":[]},{"icon":"faSearchengin","aliases":[]},{"icon":"faSellcast","aliases":[]},{"icon":"faSellsy","aliases":[]},{"icon":"faServicestack","aliases":[]},{"icon":"faShirtsinbulk","aliases":[]},{"icon":"faShoelace","aliases":[]},{"icon":"faShopify","aliases":[]},{"icon":"faShopware","aliases":[]},{"icon":"faSignalMessenger","aliases":[]},{"icon":"faSimplybuilt","aliases":[]},{"icon":"faSistrix","aliases":[]},{"icon":"faSith","aliases":[]},{"icon":"faSitrox","aliases":[]},{"icon":"faSketch","aliases":[]},{"icon":"faSkyatlas","aliases":[]},{"icon":"faSkype","aliases":[]},{"icon":"faSlack","aliases":["faSlackHash"]},{"icon":"faSlackHash","aliases":["faSlackHash"]},{"icon":"faSlideshare","aliases":[]},{"icon":"faSnapchat","aliases":["faSnapchatGhost"]},{"icon":"faSnapchatGhost","aliases":["faSnapchatGhost"]},{"icon":"faSnapchatSquare","aliases":["faSnapchatSquare"]},{"icon":"faSoundcloud","aliases":[]},{"icon":"faSourcetree","aliases":[]},{"icon":"faSpaceAwesome","aliases":[]},{"icon":"faSpeakap","aliases":[]},{"icon":"faSpeakerDeck","aliases":[]},{"icon":"faSpotify","aliases":[]},{"icon":"faSquareBehance","aliases":["faBehanceSquare"]},{"icon":"faSquareBluesky","aliases":[]},{"icon":"faSquareDribbble","aliases":["faDribbbleSquare"]},{"icon":"faSquareFacebook","aliases":["faFacebookSquare"]},{"icon":"faSquareFontAwesome","aliases":[]},{"icon":"faSquareFontAwesomeStroke","aliases":["faFontAwesomeAlt"]},{"icon":"faSquareGit","aliases":["faGitSquare"]},{"icon":"faSquareGithub","aliases":["faGithubSquare"]},{"icon":"faSquareGitlab","aliases":["faGitlabSquare"]},{"icon":"faSquareGooglePlus","aliases":["faGooglePlusSquare"]},{"icon":"faSquareHackerNews","aliases":["faHackerNewsSquare"]},{"icon":"faSquareInstagram","aliases":["faInstagramSquare"]},{"icon":"faSquareJs","aliases":["faJsSquare"]},{"icon":"faSquareKickstarter","aliases":["faSquareKickstarter"]},{"icon":"faSquareLastfm","aliases":["faLastfmSquare"]},{"icon":"faSquareLetterboxd","aliases":[]},{"icon":"faSquareOdnoklassniki","aliases":["faOdnoklassnikiSquare"]},{"icon":"faSquarePiedPiper","aliases":["faPiedPiperSquare"]},{"icon":"faSquarePinterest","aliases":["faPinterestSquare"]},{"icon":"faSquareReddit","aliases":["faRedditSquare"]},{"icon":"faSquareSnapchat","aliases":["faSnapchatSquare"]},{"icon":"faSquareSteam","aliases":["faSteamSquare"]},{"icon":"faSquareThreads","aliases":[]},{"icon":"faSquareTumblr","aliases":["faTumblrSquare"]},{"icon":"faSquareTwitter","aliases":["faTwitterSquare"]},{"icon":"faSquareUpwork","aliases":[]},{"icon":"faSquareViadeo","aliases":["faViadeoSquare"]},{"icon":"faSquareVimeo","aliases":["faVimeoSquare"]},{"icon":"faSquareWebAwesome","aliases":[]},{"icon":"faSquareWebAwesomeStroke","aliases":[]},{"icon":"faSquareWhatsapp","aliases":["faWhatsappSquare"]},{"icon":"faSquareXTwitter","aliases":[]},{"icon":"faSquareXing","aliases":["faXingSquare"]},{"icon":"faSquareYoutube","aliases":["faYoutubeSquare"]},{"icon":"faSquarespace","aliases":[]},{"icon":"faStackExchange","aliases":[]},{"icon":"faStackOverflow","aliases":[]},{"icon":"faStackpath","aliases":[]},{"icon":"faStaylinked","aliases":[]},{"icon":"faSteam","aliases":[]},{"icon":"faSteamSquare","aliases":["faSteamSquare"]},{"icon":"faSteamSymbol","aliases":[]},{"icon":"faStickerMule","aliases":[]},{"icon":"faStrava","aliases":[]},{"icon":"faStripe","aliases":[]},{"icon":"faStripeS","aliases":[]},{"icon":"faStubber","aliases":[]},{"icon":"faStudiovinari","aliases":[]},{"icon":"faStumbleupon","aliases":[]},{"icon":"faStumbleuponCircle","aliases":[]},{"icon":"faSuperpowers","aliases":[]},{"icon":"faSupple","aliases":[]},{"icon":"faSuse","aliases":[]},{"icon":"faSwift","aliases":[]},{"icon":"faSymfony","aliases":[]},{"icon":"faTeamspeak","aliases":[]},{"icon":"faTelegram","aliases":["faTelegramPlane"]},{"icon":"faTelegramPlane","aliases":["faTelegramPlane"]},{"icon":"faTencentWeibo","aliases":[]},{"icon":"faTheRedYeti","aliases":[]},{"icon":"faThemeco","aliases":[]},{"icon":"faThemeisle","aliases":[]},{"icon":"faThinkPeaks","aliases":[]},{"icon":"faThreads","aliases":[]},{"icon":"faTiktok","aliases":[]},{"icon":"faTradeFederation","aliases":[]},{"icon":"faTrello","aliases":[]},{"icon":"faTumblr","aliases":[]},{"icon":"faTumblrSquare","aliases":["faTumblrSquare"]},{"icon":"faTwitch","aliases":[]},{"icon":"faTwitter","aliases":[]},{"icon":"faTwitterSquare","aliases":["faTwitterSquare"]},{"icon":"faTypo3","aliases":[]},{"icon":"faUber","aliases":[]},{"icon":"faUbuntu","aliases":[]},{"icon":"faUikit","aliases":[]},{"icon":"faUmbraco","aliases":[]},{"icon":"faUncharted","aliases":[]},{"icon":"faUniregistry","aliases":[]},{"icon":"faUnity","aliases":[]},{"icon":"faUnsplash","aliases":[]},{"icon":"faUntappd","aliases":[]},{"icon":"faUps","aliases":[]},{"icon":"faUpwork","aliases":[]},{"icon":"faUsb","aliases":[]},{"icon":"faUsps","aliases":[]},{"icon":"faUssunnah","aliases":[]},{"icon":"faVaadin","aliases":[]},{"icon":"faViacoin","aliases":[]},{"icon":"faViadeo","aliases":[]},{"icon":"faViadeoSquare","aliases":["faViadeoSquare"]},{"icon":"faViber","aliases":[]},{"icon":"faVimeo","aliases":[]},{"icon":"faVimeoSquare","aliases":["faVimeoSquare"]},{"icon":"faVimeoV","aliases":[]},{"icon":"faVine","aliases":[]},{"icon":"faVk","aliases":[]},{"icon":"faVnv","aliases":[]},{"icon":"faVuejs","aliases":[]},{"icon":"faWatchmanMonitoring","aliases":[]},{"icon":"faWaze","aliases":[]},{"icon":"faWebAwesome","aliases":[]},{"icon":"faWebflow","aliases":[]},{"icon":"faWeebly","aliases":[]},{"icon":"faWeibo","aliases":[]},{"icon":"faWeixin","aliases":[]},{"icon":"faWhatsapp","aliases":[]},{"icon":"faWhatsappSquare","aliases":["faWhatsappSquare"]},{"icon":"faWhmcs","aliases":[]},{"icon":"faWikipediaW","aliases":[]},{"icon":"faWindows","aliases":[]},{"icon":"faWirsindhandwerk","aliases":["faWsh"]},{"icon":"faWix","aliases":[]},{"icon":"faWizardsOfTheCoast","aliases":[]},{"icon":"faWodu","aliases":[]},{"icon":"faWolfPackBattalion","aliases":[]},{"icon":"faWordpress","aliases":[]},{"icon":"faWordpressSimple","aliases":[]},{"icon":"faWpbeginner","aliases":[]},{"icon":"faWpexplorer","aliases":[]},{"icon":"faWpforms","aliases":[]},{"icon":"faWpressr","aliases":["faRendact"]},{"icon":"faWsh","aliases":["faWsh"]},{"icon":"faXTwitter","aliases":[]},{"icon":"faXbox","aliases":[]},{"icon":"faXing","aliases":[]},{"icon":"faXingSquare","aliases":["faXingSquare"]},{"icon":"faYCombinator","aliases":[]},{"icon":"faYahoo","aliases":[]},{"icon":"faYammer","aliases":[]},{"icon":"faYandex","aliases":[]},{"icon":"faYandexInternational","aliases":[]},{"icon":"faYarn","aliases":[]},{"icon":"faYelp","aliases":[]},{"icon":"faYoast","aliases":[]},{"icon":"faYoutube","aliases":[]},{"icon":"faYoutubeSquare","aliases":["faYoutubeSquare"]},{"icon":"faZhihu","aliases":[]}],"prefix":"fab"},"@fortawesome/pro-solid-svg-icons":{"icons":[{"icon":"fa0","aliases":[]},{"icon":"fa00","aliases":[]},{"icon":"fa1","aliases":[]},{"icon":"fa100","aliases":["fa100"]},{"icon":"fa2","aliases":[]},{"icon":"fa3","aliases":[]},{"icon":"fa360Degrees","aliases":[]},{"icon":"fa4","aliases":[]},{"icon":"fa5","aliases":[]},{"icon":"fa6","aliases":[]},{"icon":"fa7","aliases":[]},{"icon":"fa8","aliases":[]},{"icon":"fa9","aliases":[]},{"icon":"faA","aliases":[]},{"icon":"faAbacus","aliases":[]},{"icon":"faAccentGrave","aliases":[]},{"icon":"faAcorn","aliases":[]},{"icon":"faAd","aliases":["faAd"]},{"icon":"faAdd","aliases":["faAdd"]},{"icon":"faAddressBook","aliases":["faContactBook"]},{"icon":"faAddressCard","aliases":["faContactCard","faVcard"]},{"icon":"faAdjust","aliases":["faAdjust"]},{"icon":"faAirConditioner","aliases":[]},{"icon":"faAirFreshener","aliases":["faAirFreshener"]},{"icon":"faAirplay","aliases":[]},{"icon":"faAlarmClock","aliases":[]},{"icon":"faAlarmExclamation","aliases":[]},{"icon":"faAlarmPlus","aliases":[]},{"icon":"faAlarmSnooze","aliases":[]},{"icon":"faAlbum","aliases":[]},{"icon":"faAlbumCirclePlus","aliases":[]},{"icon":"faAlbumCircleUser","aliases":[]},{"icon":"faAlbumCollection","aliases":[]},{"icon":"faAlbumCollectionCirclePlus","aliases":[]},{"icon":"faAlbumCollectionCircleUser","aliases":[]},{"icon":"faAlicorn","aliases":[]},{"icon":"faAlien","aliases":[]},{"icon":"faAlien8bit","aliases":["faAlienMonster"]},{"icon":"faAlienMonster","aliases":["faAlienMonster"]},{"icon":"faAlignCenter","aliases":[]},{"icon":"faAlignJustify","aliases":[]},{"icon":"faAlignLeft","aliases":[]},{"icon":"faAlignRight","aliases":[]},{"icon":"faAlignSlash","aliases":[]},{"icon":"faAllergies","aliases":["faAllergies"]},{"icon":"faAlt","aliases":[]},{"icon":"faAmbulance","aliases":["faAmbulance"]},{"icon":"faAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAmpGuitar","aliases":[]},{"icon":"faAmpersand","aliases":[]},{"icon":"faAnalytics","aliases":["faAnalytics"]},{"icon":"faAnchor","aliases":[]},{"icon":"faAnchorCircleCheck","aliases":[]},{"icon":"faAnchorCircleExclamation","aliases":[]},{"icon":"faAnchorCircleXmark","aliases":[]},{"icon":"faAnchorLock","aliases":[]},{"icon":"faAngel","aliases":[]},{"icon":"faAngle","aliases":[]},{"icon":"faAngle90","aliases":[]},{"icon":"faAngleDoubleDown","aliases":["faAngleDoubleDown"]},{"icon":"faAngleDoubleLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAngleDoubleRight","aliases":["faAngleDoubleRight"]},{"icon":"faAngleDoubleUp","aliases":["faAngleDoubleUp"]},{"icon":"faAngleDown","aliases":[]},{"icon":"faAngleLeft","aliases":[]},{"icon":"faAngleRight","aliases":[]},{"icon":"faAngleUp","aliases":[]},{"icon":"faAnglesDown","aliases":["faAngleDoubleDown"]},{"icon":"faAnglesLeft","aliases":["faAngleDoubleLeft"]},{"icon":"faAnglesRight","aliases":["faAngleDoubleRight"]},{"icon":"faAnglesUp","aliases":["faAngleDoubleUp"]},{"icon":"faAnglesUpDown","aliases":[]},{"icon":"faAngry","aliases":["faAngry"]},{"icon":"faAnkh","aliases":[]},{"icon":"faAnt","aliases":[]},{"icon":"faApartment","aliases":[]},{"icon":"faAperture","aliases":[]},{"icon":"faApostrophe","aliases":[]},{"icon":"faAppleAlt","aliases":["faAppleAlt"]},{"icon":"faAppleCore","aliases":[]},{"icon":"faAppleCrate","aliases":["faAppleCrate"]},{"icon":"faAppleWhole","aliases":["faAppleAlt"]},{"icon":"faArchive","aliases":["faArchive"]},{"icon":"faArchway","aliases":[]},{"icon":"faAreaChart","aliases":["faAreaChart"]},{"icon":"faArrowAltCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faArrowAltCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faArrowAltCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faArrowAltCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faArrowAltDown","aliases":["faArrowAltDown"]},{"icon":"faArrowAltFromBottom","aliases":["faArrowAltFromBottom"]},{"icon":"faArrowAltFromLeft","aliases":["faArrowAltFromLeft"]},{"icon":"faArrowAltFromRight","aliases":["faArrowAltFromRight"]},{"icon":"faArrowAltFromTop","aliases":["faArrowAltFromTop"]},{"icon":"faArrowAltLeft","aliases":["faArrowAltLeft"]},{"icon":"faArrowAltRight","aliases":["faArrowAltRight"]},{"icon":"faArrowAltSquareDown","aliases":["faArrowAltSquareDown"]},{"icon":"faArrowAltSquareLeft","aliases":["faArrowAltSquareLeft"]},{"icon":"faArrowAltSquareRight","aliases":["faArrowAltSquareRight"]},{"icon":"faArrowAltSquareUp","aliases":["faArrowAltSquareUp"]},{"icon":"faArrowAltToBottom","aliases":["faArrowAltToBottom"]},{"icon":"faArrowAltToLeft","aliases":["faArrowAltToLeft"]},{"icon":"faArrowAltToRight","aliases":["faArrowAltToRight"]},{"icon":"faArrowAltToTop","aliases":["faArrowAltToTop"]},{"icon":"faArrowAltUp","aliases":["faArrowAltUp"]},{"icon":"faArrowCircleDown","aliases":["faArrowCircleDown"]},{"icon":"faArrowCircleLeft","aliases":["faArrowCircleLeft"]},{"icon":"faArrowCircleRight","aliases":["faArrowCircleRight"]},{"icon":"faArrowCircleUp","aliases":["faArrowCircleUp"]},{"icon":"faArrowDown","aliases":[]},{"icon":"faArrowDown19","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faArrowDown91","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faArrowDownAZ","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faArrowDownArrowUp","aliases":["faSortAlt"]},{"icon":"faArrowDownBigSmall","aliases":["faSortSizeDown"]},{"icon":"faArrowDownFromArc","aliases":[]},{"icon":"faArrowDownFromBracket","aliases":[]},{"icon":"faArrowDownFromDottedLine","aliases":[]},{"icon":"faArrowDownFromLine","aliases":["faArrowFromTop"]},{"icon":"faArrowDownLeft","aliases":[]},{"icon":"faArrowDownLeftAndArrowUpRightToCenter","aliases":[]},{"icon":"faArrowDownLong","aliases":["faLongArrowDown"]},{"icon":"faArrowDownRight","aliases":[]},{"icon":"faArrowDownShortWide","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faArrowDownSmallBig","aliases":["faSortSizeDownAlt"]},{"icon":"faArrowDownSquareTriangle","aliases":["faSortShapesDownAlt"]},{"icon":"faArrowDownToArc","aliases":[]},{"icon":"faArrowDownToBracket","aliases":[]},{"icon":"faArrowDownToDottedLine","aliases":[]},{"icon":"faArrowDownToLine","aliases":["faArrowToBottom"]},{"icon":"faArrowDownToSquare","aliases":[]},{"icon":"faArrowDownTriangleSquare","aliases":["faSortShapesDown"]},{"icon":"faArrowDownUpAcrossLine","aliases":[]},{"icon":"faArrowDownUpLock","aliases":[]},{"icon":"faArrowDownWideShort","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faArrowDownZA","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faArrowFromBottom","aliases":["faArrowFromBottom"]},{"icon":"faArrowFromLeft","aliases":["faArrowFromLeft"]},{"icon":"faArrowFromRight","aliases":["faArrowFromRight"]},{"icon":"faArrowFromTop","aliases":["faArrowFromTop"]},{"icon":"faArrowLeft","aliases":[]},{"icon":"faArrowLeftFromArc","aliases":[]},{"icon":"faArrowLeftFromBracket","aliases":[]},{"icon":"faArrowLeftFromLine","aliases":["faArrowFromRight"]},{"icon":"faArrowLeftLong","aliases":["faLongArrowLeft"]},{"icon":"faArrowLeftLongToLine","aliases":[]},{"icon":"faArrowLeftRotate","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowLeftToArc","aliases":[]},{"icon":"faArrowLeftToBracket","aliases":[]},{"icon":"faArrowLeftToLine","aliases":["faArrowToLeft"]},{"icon":"faArrowPointer","aliases":["faMousePointer"]},{"icon":"faArrowProgress","aliases":[]},{"icon":"faArrowRight","aliases":[]},{"icon":"faArrowRightArrowLeft","aliases":["faExchange"]},{"icon":"faArrowRightFromArc","aliases":[]},{"icon":"faArrowRightFromBracket","aliases":["faSignOut"]},{"icon":"faArrowRightFromFile","aliases":["faArrowRightFromFile"]},{"icon":"faArrowRightFromLine","aliases":["faArrowFromLeft"]},{"icon":"faArrowRightLong","aliases":["faLongArrowRight"]},{"icon":"faArrowRightLongToLine","aliases":[]},{"icon":"faArrowRightRotate","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRightToArc","aliases":[]},{"icon":"faArrowRightToBracket","aliases":["faSignIn"]},{"icon":"faArrowRightToCity","aliases":[]},{"icon":"faArrowRightToFile","aliases":["faArrowRightToFile"]},{"icon":"faArrowRightToLine","aliases":["faArrowToRight"]},{"icon":"faArrowRotateBack","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateBackward","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateForward","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowRotateLeft","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faArrowRotateRight","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faArrowSquareDown","aliases":["faArrowSquareDown"]},{"icon":"faArrowSquareLeft","aliases":["faArrowSquareLeft"]},{"icon":"faArrowSquareRight","aliases":["faArrowSquareRight"]},{"icon":"faArrowSquareUp","aliases":["faArrowSquareUp"]},{"icon":"faArrowToBottom","aliases":["faArrowToBottom"]},{"icon":"faArrowToLeft","aliases":["faArrowToLeft"]},{"icon":"faArrowToRight","aliases":["faArrowToRight"]},{"icon":"faArrowToTop","aliases":["faArrowToTop"]},{"icon":"faArrowTrendDown","aliases":[]},{"icon":"faArrowTrendUp","aliases":[]},{"icon":"faArrowTurnDown","aliases":["faLevelDown"]},{"icon":"faArrowTurnDownLeft","aliases":[]},{"icon":"faArrowTurnDownRight","aliases":[]},{"icon":"faArrowTurnLeft","aliases":[]},{"icon":"faArrowTurnLeftDown","aliases":[]},{"icon":"faArrowTurnLeftUp","aliases":[]},{"icon":"faArrowTurnRight","aliases":[]},{"icon":"faArrowTurnUp","aliases":["faLevelUp"]},{"icon":"faArrowUp","aliases":[]},{"icon":"faArrowUp19","aliases":["faSortNumericUp"]},{"icon":"faArrowUp91","aliases":["faSortNumericUpAlt"]},{"icon":"faArrowUpAZ","aliases":["faSortAlphaUp"]},{"icon":"faArrowUpArrowDown","aliases":["faSortUpDown"]},{"icon":"faArrowUpBigSmall","aliases":["faSortSizeUp"]},{"icon":"faArrowUpFromArc","aliases":[]},{"icon":"faArrowUpFromBracket","aliases":[]},{"icon":"faArrowUpFromDottedLine","aliases":[]},{"icon":"faArrowUpFromGroundWater","aliases":[]},{"icon":"faArrowUpFromLine","aliases":["faArrowFromBottom"]},{"icon":"faArrowUpFromSquare","aliases":[]},{"icon":"faArrowUpFromWaterPump","aliases":[]},{"icon":"faArrowUpLeft","aliases":[]},{"icon":"faArrowUpLeftFromCircle","aliases":[]},{"icon":"faArrowUpLong","aliases":["faLongArrowUp"]},{"icon":"faArrowUpRight","aliases":[]},{"icon":"faArrowUpRightAndArrowDownLeftFromCenter","aliases":[]},{"icon":"faArrowUpRightDots","aliases":[]},{"icon":"faArrowUpRightFromSquare","aliases":["faExternalLink"]},{"icon":"faArrowUpShortWide","aliases":["faSortAmountUpAlt"]},{"icon":"faArrowUpSmallBig","aliases":["faSortSizeUpAlt"]},{"icon":"faArrowUpSquareTriangle","aliases":["faSortShapesUpAlt"]},{"icon":"faArrowUpToArc","aliases":[]},{"icon":"faArrowUpToBracket","aliases":[]},{"icon":"faArrowUpToDottedLine","aliases":[]},{"icon":"faArrowUpToLine","aliases":["faArrowToTop"]},{"icon":"faArrowUpTriangleSquare","aliases":["faSortShapesUp"]},{"icon":"faArrowUpWideShort","aliases":["faSortAmountUp"]},{"icon":"faArrowUpZA","aliases":["faSortAlphaUpAlt"]},{"icon":"faArrows","aliases":["faArrows"]},{"icon":"faArrowsAlt","aliases":["faArrowsAlt"]},{"icon":"faArrowsAltH","aliases":["faArrowsAltH"]},{"icon":"faArrowsAltV","aliases":["faArrowsAltV"]},{"icon":"faArrowsCross","aliases":[]},{"icon":"faArrowsDownToLine","aliases":[]},{"icon":"faArrowsDownToPeople","aliases":[]},{"icon":"faArrowsFromDottedLine","aliases":[]},{"icon":"faArrowsFromLine","aliases":[]},{"icon":"faArrowsH","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRight","aliases":["faArrowsH"]},{"icon":"faArrowsLeftRightToLine","aliases":[]},{"icon":"faArrowsMaximize","aliases":["faExpandArrows"]},{"icon":"faArrowsMinimize","aliases":["faCompressArrows"]},{"icon":"faArrowsRepeat","aliases":["faRepeatAlt"]},{"icon":"faArrowsRepeat1","aliases":["faRepeat1Alt"]},{"icon":"faArrowsRetweet","aliases":["faRetweetAlt"]},{"icon":"faArrowsRotate","aliases":["faRefresh","faSync"]},{"icon":"faArrowsRotateReverse","aliases":[]},{"icon":"faArrowsSpin","aliases":[]},{"icon":"faArrowsSplitUpAndLeft","aliases":[]},{"icon":"faArrowsToCircle","aliases":[]},{"icon":"faArrowsToDot","aliases":[]},{"icon":"faArrowsToDottedLine","aliases":[]},{"icon":"faArrowsToEye","aliases":[]},{"icon":"faArrowsToLine","aliases":[]},{"icon":"faArrowsTurnRight","aliases":[]},{"icon":"faArrowsTurnToDots","aliases":[]},{"icon":"faArrowsUpDown","aliases":["faArrowsV"]},{"icon":"faArrowsUpDownLeftRight","aliases":["faArrows"]},{"icon":"faArrowsUpToLine","aliases":[]},{"icon":"faArrowsV","aliases":["faArrowsV"]},{"icon":"faAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faAssistiveListeningSystems","aliases":["faAssistiveListeningSystems"]},{"icon":"faAsterisk","aliases":[]},{"icon":"faAt","aliases":[]},{"icon":"faAtlas","aliases":["faAtlas"]},{"icon":"faAtom","aliases":[]},{"icon":"faAtomAlt","aliases":["faAtomAlt"]},{"icon":"faAtomSimple","aliases":["faAtomAlt"]},{"icon":"faAudioDescription","aliases":[]},{"icon":"faAudioDescriptionSlash","aliases":[]},{"icon":"faAustralSign","aliases":[]},{"icon":"faAutomobile","aliases":["faAutomobile"]},{"icon":"faAvocado","aliases":[]},{"icon":"faAward","aliases":[]},{"icon":"faAwardSimple","aliases":[]},{"icon":"faAxe","aliases":[]},{"icon":"faAxeBattle","aliases":[]},{"icon":"faB","aliases":[]},{"icon":"faBaby","aliases":[]},{"icon":"faBabyCarriage","aliases":["faCarriageBaby"]},{"icon":"faBackpack","aliases":[]},{"icon":"faBackspace","aliases":["faBackspace"]},{"icon":"faBackward","aliases":[]},{"icon":"faBackwardFast","aliases":["faFastBackward"]},{"icon":"faBackwardStep","aliases":["faStepBackward"]},{"icon":"faBacon","aliases":[]},{"icon":"faBacteria","aliases":[]},{"icon":"faBacterium","aliases":[]},{"icon":"faBadge","aliases":[]},{"icon":"faBadgeCheck","aliases":[]},{"icon":"faBadgeDollar","aliases":[]},{"icon":"faBadgePercent","aliases":[]},{"icon":"faBadgeSheriff","aliases":[]},{"icon":"faBadgerHoney","aliases":[]},{"icon":"faBadminton","aliases":[]},{"icon":"faBagSeedling","aliases":[]},{"icon":"faBagShopping","aliases":["faShoppingBag"]},{"icon":"faBagShoppingMinus","aliases":[]},{"icon":"faBagShoppingPlus","aliases":[]},{"icon":"faBagel","aliases":[]},{"icon":"faBagsShopping","aliases":[]},{"icon":"faBaguette","aliases":[]},{"icon":"faBahai","aliases":["faHaykal"]},{"icon":"faBahtSign","aliases":[]},{"icon":"faBalanceScale","aliases":["faBalanceScale"]},{"icon":"faBalanceScaleLeft","aliases":["faBalanceScaleLeft"]},{"icon":"faBalanceScaleRight","aliases":["faBalanceScaleRight"]},{"icon":"faBallPile","aliases":[]},{"icon":"faBalloon","aliases":[]},{"icon":"faBalloons","aliases":[]},{"icon":"faBallot","aliases":[]},{"icon":"faBallotCheck","aliases":[]},{"icon":"faBan","aliases":["faCancel"]},{"icon":"faBanBug","aliases":["faDebug"]},{"icon":"faBanParking","aliases":["faParkingCircleSlash"]},{"icon":"faBanSmoking","aliases":["faSmokingBan"]},{"icon":"faBanana","aliases":[]},{"icon":"faBandAid","aliases":["faBandAid"]},{"icon":"faBandage","aliases":["faBandAid"]},{"icon":"faBangladeshiTakaSign","aliases":[]},{"icon":"faBanjo","aliases":[]},{"icon":"faBank","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBarChart","aliases":["faBarChart"]},{"icon":"faBarcode","aliases":[]},{"icon":"faBarcodeAlt","aliases":["faBarcodeAlt"]},{"icon":"faBarcodeRead","aliases":[]},{"icon":"faBarcodeScan","aliases":[]},{"icon":"faBarnSilo","aliases":["faBarnSilo"]},{"icon":"faBars","aliases":["faNavicon"]},{"icon":"faBarsFilter","aliases":[]},{"icon":"faBarsProgress","aliases":["faTasksAlt"]},{"icon":"faBarsSort","aliases":[]},{"icon":"faBarsStaggered","aliases":["faReorder","faStream"]},{"icon":"faBaseball","aliases":["faBaseballBall"]},{"icon":"faBaseballBall","aliases":["faBaseballBall"]},{"icon":"faBaseballBatBall","aliases":[]},{"icon":"faBasketShopping","aliases":["faShoppingBasket"]},{"icon":"faBasketShoppingMinus","aliases":[]},{"icon":"faBasketShoppingPlus","aliases":[]},{"icon":"faBasketShoppingSimple","aliases":["faShoppingBasketAlt"]},{"icon":"faBasketball","aliases":["faBasketballBall"]},{"icon":"faBasketballBall","aliases":["faBasketballBall"]},{"icon":"faBasketballHoop","aliases":[]},{"icon":"faBat","aliases":[]},{"icon":"faBath","aliases":["faBathtub"]},{"icon":"faBathtub","aliases":["faBathtub"]},{"icon":"faBattery","aliases":["faBattery","faBattery5"]},{"icon":"faBattery0","aliases":["faBattery0"]},{"icon":"faBattery1","aliases":["faBattery1"]},{"icon":"faBattery2","aliases":["faBattery2"]},{"icon":"faBattery3","aliases":["faBattery3"]},{"icon":"faBattery4","aliases":["faBattery4"]},{"icon":"faBattery5","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryBolt","aliases":[]},{"icon":"faBatteryCar","aliases":["faBatteryCar"]},{"icon":"faBatteryEmpty","aliases":["faBattery0"]},{"icon":"faBatteryExclamation","aliases":[]},{"icon":"faBatteryFull","aliases":["faBattery","faBattery5"]},{"icon":"faBatteryHalf","aliases":["faBattery3"]},{"icon":"faBatteryLow","aliases":["faBattery1"]},{"icon":"faBatteryQuarter","aliases":["faBattery2"]},{"icon":"faBatterySlash","aliases":[]},{"icon":"faBatteryThreeQuarters","aliases":["faBattery4"]},{"icon":"faBed","aliases":[]},{"icon":"faBedAlt","aliases":["faBedAlt"]},{"icon":"faBedBunk","aliases":[]},{"icon":"faBedEmpty","aliases":[]},{"icon":"faBedFront","aliases":["faBedAlt"]},{"icon":"faBedPulse","aliases":["faProcedures"]},{"icon":"faBee","aliases":[]},{"icon":"faBeer","aliases":["faBeer"]},{"icon":"faBeerFoam","aliases":["faBeerFoam"]},{"icon":"faBeerMug","aliases":["faBeerFoam"]},{"icon":"faBeerMugEmpty","aliases":["faBeer"]},{"icon":"faBell","aliases":[]},{"icon":"faBellConcierge","aliases":["faConciergeBell"]},{"icon":"faBellExclamation","aliases":[]},{"icon":"faBellOn","aliases":[]},{"icon":"faBellPlus","aliases":[]},{"icon":"faBellRing","aliases":[]},{"icon":"faBellSchool","aliases":[]},{"icon":"faBellSchoolSlash","aliases":[]},{"icon":"faBellSlash","aliases":[]},{"icon":"faBells","aliases":[]},{"icon":"faBenchTree","aliases":[]},{"icon":"faBetamax","aliases":["faBetamax"]},{"icon":"faBezierCurve","aliases":[]},{"icon":"faBible","aliases":["faBible"]},{"icon":"faBicycle","aliases":[]},{"icon":"faBiking","aliases":["faBiking"]},{"icon":"faBikingMountain","aliases":["faBikingMountain"]},{"icon":"faBillboard","aliases":[]},{"icon":"faBinBottles","aliases":[]},{"icon":"faBinBottlesRecycle","aliases":[]},{"icon":"faBinRecycle","aliases":[]},{"icon":"faBinary","aliases":[]},{"icon":"faBinaryCircleCheck","aliases":[]},{"icon":"faBinaryLock","aliases":[]},{"icon":"faBinarySlash","aliases":[]},{"icon":"faBinoculars","aliases":[]},{"icon":"faBiohazard","aliases":[]},{"icon":"faBird","aliases":[]},{"icon":"faBirthdayCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faBitcoinSign","aliases":[]},{"icon":"faBlackboard","aliases":["faBlackboard"]},{"icon":"faBlanket","aliases":[]},{"icon":"faBlanketFire","aliases":[]},{"icon":"faBlender","aliases":[]},{"icon":"faBlenderPhone","aliases":[]},{"icon":"faBlind","aliases":["faBlind"]},{"icon":"faBlinds","aliases":[]},{"icon":"faBlindsOpen","aliases":[]},{"icon":"faBlindsRaised","aliases":[]},{"icon":"faBlock","aliases":[]},{"icon":"faBlockBrick","aliases":["faWallBrick"]},{"icon":"faBlockBrickFire","aliases":["faFirewall"]},{"icon":"faBlockQuestion","aliases":[]},{"icon":"faBlockQuote","aliases":[]},{"icon":"faBlog","aliases":[]},{"icon":"faBlueberries","aliases":[]},{"icon":"faBluetooth","aliases":[]},{"icon":"faBold","aliases":[]},{"icon":"faBolt","aliases":["faZap"]},{"icon":"faBoltAuto","aliases":[]},{"icon":"faBoltLightning","aliases":[]},{"icon":"faBoltSlash","aliases":[]},{"icon":"faBomb","aliases":[]},{"icon":"faBone","aliases":[]},{"icon":"faBoneBreak","aliases":[]},{"icon":"faBong","aliases":[]},{"icon":"faBook","aliases":[]},{"icon":"faBookAlt","aliases":["faBookAlt"]},{"icon":"faBookArrowRight","aliases":[]},{"icon":"faBookArrowUp","aliases":[]},{"icon":"faBookAtlas","aliases":["faAtlas"]},{"icon":"faBookBible","aliases":["faBible"]},{"icon":"faBookBlank","aliases":["faBookAlt"]},{"icon":"faBookBookmark","aliases":[]},{"icon":"faBookCircle","aliases":["faBookCircle"]},{"icon":"faBookCircleArrowRight","aliases":[]},{"icon":"faBookCircleArrowUp","aliases":[]},{"icon":"faBookCopy","aliases":[]},{"icon":"faBookDead","aliases":["faBookDead"]},{"icon":"faBookFont","aliases":[]},{"icon":"faBookHeart","aliases":[]},{"icon":"faBookJournalWhills","aliases":["faJournalWhills"]},{"icon":"faBookLaw","aliases":["faBookLaw"]},{"icon":"faBookMedical","aliases":[]},{"icon":"faBookOpen","aliases":[]},{"icon":"faBookOpenAlt","aliases":["faBookOpenAlt"]},{"icon":"faBookOpenCover","aliases":["faBookOpenAlt"]},{"icon":"faBookOpenReader","aliases":["faBookReader"]},{"icon":"faBookQuran","aliases":["faQuran"]},{"icon":"faBookReader","aliases":["faBookReader"]},{"icon":"faBookSection","aliases":["faBookLaw"]},{"icon":"faBookSkull","aliases":["faBookDead"]},{"icon":"faBookSparkles","aliases":["faBookSpells"]},{"icon":"faBookSpells","aliases":["faBookSpells"]},{"icon":"faBookTanakh","aliases":["faTanakh"]},{"icon":"faBookUser","aliases":[]},{"icon":"faBookmark","aliases":[]},{"icon":"faBookmarkCircle","aliases":["faBookmarkCircle"]},{"icon":"faBookmarkSlash","aliases":[]},{"icon":"faBooks","aliases":[]},{"icon":"faBooksMedical","aliases":[]},{"icon":"faBoombox","aliases":[]},{"icon":"faBoot","aliases":[]},{"icon":"faBootHeeled","aliases":[]},{"icon":"faBoothCurtain","aliases":[]},{"icon":"faBorderAll","aliases":[]},{"icon":"faBorderBottom","aliases":[]},{"icon":"faBorderBottomRight","aliases":["faBorderStyleAlt"]},{"icon":"faBorderCenterH","aliases":[]},{"icon":"faBorderCenterV","aliases":[]},{"icon":"faBorderInner","aliases":[]},{"icon":"faBorderLeft","aliases":[]},{"icon":"faBorderNone","aliases":[]},{"icon":"faBorderOuter","aliases":[]},{"icon":"faBorderRight","aliases":[]},{"icon":"faBorderStyle","aliases":["faBorderStyle"]},{"icon":"faBorderStyleAlt","aliases":["faBorderStyleAlt"]},{"icon":"faBorderTop","aliases":[]},{"icon":"faBorderTopLeft","aliases":["faBorderStyle"]},{"icon":"faBoreHole","aliases":[]},{"icon":"faBottleBaby","aliases":[]},{"icon":"faBottleDroplet","aliases":[]},{"icon":"faBottleWater","aliases":[]},{"icon":"faBowArrow","aliases":[]},{"icon":"faBowlChopsticks","aliases":[]},{"icon":"faBowlChopsticksNoodles","aliases":[]},{"icon":"faBowlFood","aliases":[]},{"icon":"faBowlHot","aliases":["faSoup"]},{"icon":"faBowlRice","aliases":[]},{"icon":"faBowlSalad","aliases":["faBowlSalad"]},{"icon":"faBowlScoop","aliases":["faBowlShavedIce"]},{"icon":"faBowlScoops","aliases":[]},{"icon":"faBowlShavedIce","aliases":["faBowlShavedIce"]},{"icon":"faBowlSoftServe","aliases":[]},{"icon":"faBowlSpoon","aliases":[]},{"icon":"faBowlingBall","aliases":[]},{"icon":"faBowlingBallPin","aliases":[]},{"icon":"faBowlingPins","aliases":[]},{"icon":"faBox","aliases":[]},{"icon":"faBoxAlt","aliases":["faBoxAlt"]},{"icon":"faBoxArchive","aliases":["faArchive"]},{"icon":"faBoxBallot","aliases":[]},{"icon":"faBoxCheck","aliases":[]},{"icon":"faBoxCircleCheck","aliases":[]},{"icon":"faBoxDollar","aliases":["faBoxUsd"]},{"icon":"faBoxFragile","aliases":["faBoxFragile","faSquareWineGlassCrack"]},{"icon":"faBoxFull","aliases":["faBoxFull"]},{"icon":"faBoxHeart","aliases":[]},{"icon":"faBoxOpen","aliases":[]},{"icon":"faBoxOpenFull","aliases":["faBoxFull"]},{"icon":"faBoxTaped","aliases":["faBoxAlt"]},{"icon":"faBoxTissue","aliases":[]},{"icon":"faBoxUp","aliases":["faBoxUp"]},{"icon":"faBoxUsd","aliases":["faBoxUsd"]},{"icon":"faBoxes","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesAlt","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxesPacking","aliases":[]},{"icon":"faBoxesStacked","aliases":["faBoxes","faBoxesAlt"]},{"icon":"faBoxingGlove","aliases":["faGloveBoxing"]},{"icon":"faBracket","aliases":["faBracket","faBracketLeft"]},{"icon":"faBracketCurly","aliases":["faBracketCurlyLeft"]},{"icon":"faBracketCurlyLeft","aliases":["faBracketCurlyLeft"]},{"icon":"faBracketCurlyRight","aliases":[]},{"icon":"faBracketLeft","aliases":["faBracket","faBracketLeft"]},{"icon":"faBracketRound","aliases":["faParenthesis"]},{"icon":"faBracketRoundRight","aliases":[]},{"icon":"faBracketSquare","aliases":["faBracket","faBracketLeft"]},{"icon":"faBracketSquareRight","aliases":[]},{"icon":"faBrackets","aliases":["faBrackets"]},{"icon":"faBracketsCurly","aliases":[]},{"icon":"faBracketsRound","aliases":["faParentheses"]},{"icon":"faBracketsSquare","aliases":["faBrackets"]},{"icon":"faBraille","aliases":[]},{"icon":"faBrain","aliases":[]},{"icon":"faBrainArrowCurvedRight","aliases":["faMindShare"]},{"icon":"faBrainCircuit","aliases":[]},{"icon":"faBrakeWarning","aliases":[]},{"icon":"faBrazilianRealSign","aliases":[]},{"icon":"faBreadLoaf","aliases":[]},{"icon":"faBreadSlice","aliases":[]},{"icon":"faBreadSliceButter","aliases":[]},{"icon":"faBridge","aliases":[]},{"icon":"faBridgeCircleCheck","aliases":[]},{"icon":"faBridgeCircleExclamation","aliases":[]},{"icon":"faBridgeCircleXmark","aliases":[]},{"icon":"faBridgeLock","aliases":[]},{"icon":"faBridgeSuspension","aliases":[]},{"icon":"faBridgeWater","aliases":[]},{"icon":"faBriefcase","aliases":[]},{"icon":"faBriefcaseArrowRight","aliases":[]},{"icon":"faBriefcaseBlank","aliases":[]},{"icon":"faBriefcaseClock","aliases":["faBriefcaseClock"]},{"icon":"faBriefcaseMedical","aliases":[]},{"icon":"faBrightness","aliases":[]},{"icon":"faBrightnessLow","aliases":[]},{"icon":"faBringForward","aliases":[]},{"icon":"faBringFront","aliases":[]},{"icon":"faBroadcastTower","aliases":["faBroadcastTower"]},{"icon":"faBroccoli","aliases":[]},{"icon":"faBroom","aliases":[]},{"icon":"faBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faBroomWide","aliases":[]},{"icon":"faBrowser","aliases":[]},{"icon":"faBrowsers","aliases":[]},{"icon":"faBrush","aliases":[]},{"icon":"faBucket","aliases":[]},{"icon":"faBug","aliases":[]},{"icon":"faBugSlash","aliases":[]},{"icon":"faBugs","aliases":[]},{"icon":"faBuilding","aliases":[]},{"icon":"faBuildingCircleArrowRight","aliases":[]},{"icon":"faBuildingCircleCheck","aliases":[]},{"icon":"faBuildingCircleExclamation","aliases":[]},{"icon":"faBuildingCircleXmark","aliases":[]},{"icon":"faBuildingColumns","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faBuildingFlag","aliases":[]},{"icon":"faBuildingLock","aliases":[]},{"icon":"faBuildingMagnifyingGlass","aliases":[]},{"icon":"faBuildingMemo","aliases":[]},{"icon":"faBuildingNgo","aliases":[]},{"icon":"faBuildingShield","aliases":[]},{"icon":"faBuildingUn","aliases":[]},{"icon":"faBuildingUser","aliases":[]},{"icon":"faBuildingWheat","aliases":[]},{"icon":"faBuildings","aliases":[]},{"icon":"faBulldozer","aliases":[]},{"icon":"faBullhorn","aliases":[]},{"icon":"faBullseye","aliases":[]},{"icon":"faBullseyeArrow","aliases":[]},{"icon":"faBullseyePointer","aliases":[]},{"icon":"faBuoy","aliases":[]},{"icon":"faBuoyMooring","aliases":[]},{"icon":"faBurger","aliases":["faHamburger"]},{"icon":"faBurgerCheese","aliases":["faCheeseburger"]},{"icon":"faBurgerFries","aliases":[]},{"icon":"faBurgerGlass","aliases":[]},{"icon":"faBurgerLettuce","aliases":[]},{"icon":"faBurgerSoda","aliases":[]},{"icon":"faBurn","aliases":["faBurn"]},{"icon":"faBurrito","aliases":[]},{"icon":"faBurst","aliases":[]},{"icon":"faBus","aliases":[]},{"icon":"faBusAlt","aliases":["faBusAlt"]},{"icon":"faBusSchool","aliases":[]},{"icon":"faBusSimple","aliases":["faBusAlt"]},{"icon":"faBusinessFront","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faBusinessTime","aliases":["faBriefcaseClock"]},{"icon":"faButter","aliases":[]},{"icon":"faC","aliases":[]},{"icon":"faCab","aliases":["faCab"]},{"icon":"faCabin","aliases":[]},{"icon":"faCabinetFiling","aliases":[]},{"icon":"faCableCar","aliases":["faTram"]},{"icon":"faCactus","aliases":[]},{"icon":"faCaduceus","aliases":[]},{"icon":"faCake","aliases":["faBirthdayCake","faCake"]},{"icon":"faCakeCandles","aliases":["faBirthdayCake","faCake"]},{"icon":"faCakeSlice","aliases":["faShortcake"]},{"icon":"faCalculator","aliases":[]},{"icon":"faCalculatorAlt","aliases":["faCalculatorAlt"]},{"icon":"faCalculatorSimple","aliases":["faCalculatorAlt"]},{"icon":"faCalendar","aliases":[]},{"icon":"faCalendarAlt","aliases":["faCalendarAlt"]},{"icon":"faCalendarArrowDown","aliases":["faCalendarDownload"]},{"icon":"faCalendarArrowUp","aliases":["faCalendarUpload"]},{"icon":"faCalendarCheck","aliases":[]},{"icon":"faCalendarCircle","aliases":["faCalendarCircle"]},{"icon":"faCalendarCircleExclamation","aliases":[]},{"icon":"faCalendarCircleMinus","aliases":[]},{"icon":"faCalendarCirclePlus","aliases":[]},{"icon":"faCalendarCircleUser","aliases":[]},{"icon":"faCalendarClock","aliases":["faCalendarTime"]},{"icon":"faCalendarDay","aliases":[]},{"icon":"faCalendarDays","aliases":["faCalendarAlt"]},{"icon":"faCalendarDownload","aliases":["faCalendarDownload"]},{"icon":"faCalendarEdit","aliases":["faCalendarEdit"]},{"icon":"faCalendarExclamation","aliases":[]},{"icon":"faCalendarHeart","aliases":[]},{"icon":"faCalendarImage","aliases":[]},{"icon":"faCalendarLines","aliases":["faCalendarNote"]},{"icon":"faCalendarLinesPen","aliases":[]},{"icon":"faCalendarMinus","aliases":[]},{"icon":"faCalendarNote","aliases":["faCalendarNote"]},{"icon":"faCalendarPen","aliases":["faCalendarEdit"]},{"icon":"faCalendarPlus","aliases":[]},{"icon":"faCalendarRange","aliases":[]},{"icon":"faCalendarStar","aliases":[]},{"icon":"faCalendarTime","aliases":["faCalendarTime"]},{"icon":"faCalendarTimes","aliases":["faCalendarTimes"]},{"icon":"faCalendarUpload","aliases":["faCalendarUpload"]},{"icon":"faCalendarUsers","aliases":[]},{"icon":"faCalendarWeek","aliases":[]},{"icon":"faCalendarXmark","aliases":["faCalendarTimes"]},{"icon":"faCalendars","aliases":[]},{"icon":"faCamcorder","aliases":["faVideoHandheld"]},{"icon":"faCamera","aliases":["faCameraAlt"]},{"icon":"faCameraAlt","aliases":["faCameraAlt"]},{"icon":"faCameraCctv","aliases":["faCctv"]},{"icon":"faCameraCircle","aliases":["faCameraCircle"]},{"icon":"faCameraHome","aliases":["faCameraHome"]},{"icon":"faCameraMovie","aliases":[]},{"icon":"faCameraPolaroid","aliases":[]},{"icon":"faCameraRetro","aliases":[]},{"icon":"faCameraRotate","aliases":[]},{"icon":"faCameraSecurity","aliases":["faCameraHome"]},{"icon":"faCameraSlash","aliases":[]},{"icon":"faCameraViewfinder","aliases":["faScreenshot"]},{"icon":"faCameraWeb","aliases":["faWebcam"]},{"icon":"faCameraWebSlash","aliases":["faWebcamSlash"]},{"icon":"faCampfire","aliases":[]},{"icon":"faCampground","aliases":[]},{"icon":"faCanFood","aliases":[]},{"icon":"faCancel","aliases":["faCancel"]},{"icon":"faCandleHolder","aliases":[]},{"icon":"faCandy","aliases":[]},{"icon":"faCandyBar","aliases":["faChocolateBar"]},{"icon":"faCandyCane","aliases":[]},{"icon":"faCandyCorn","aliases":[]},{"icon":"faCannabis","aliases":[]},{"icon":"faCannon","aliases":[]},{"icon":"faCapsules","aliases":[]},{"icon":"faCar","aliases":["faAutomobile"]},{"icon":"faCarAlt","aliases":["faCarAlt"]},{"icon":"faCarBattery","aliases":["faBatteryCar"]},{"icon":"faCarBolt","aliases":[]},{"icon":"faCarBuilding","aliases":[]},{"icon":"faCarBump","aliases":[]},{"icon":"faCarBurst","aliases":["faCarCrash"]},{"icon":"faCarBus","aliases":[]},{"icon":"faCarCircleBolt","aliases":[]},{"icon":"faCarCrash","aliases":["faCarCrash"]},{"icon":"faCarGarage","aliases":[]},{"icon":"faCarMechanic","aliases":["faCarMechanic"]},{"icon":"faCarMirrors","aliases":[]},{"icon":"faCarOn","aliases":[]},{"icon":"faCarRear","aliases":["faCarAlt"]},{"icon":"faCarSide","aliases":[]},{"icon":"faCarSideBolt","aliases":[]},{"icon":"faCarTilt","aliases":[]},{"icon":"faCarTunnel","aliases":[]},{"icon":"faCarWash","aliases":[]},{"icon":"faCarWrench","aliases":["faCarMechanic"]},{"icon":"faCaravan","aliases":[]},{"icon":"faCaravanAlt","aliases":["faCaravanAlt"]},{"icon":"faCaravanSimple","aliases":["faCaravanAlt"]},{"icon":"faCardClub","aliases":[]},{"icon":"faCardDiamond","aliases":[]},{"icon":"faCardHeart","aliases":[]},{"icon":"faCardSpade","aliases":[]},{"icon":"faCards","aliases":[]},{"icon":"faCardsBlank","aliases":[]},{"icon":"faCaretCircleDown","aliases":["faCaretCircleDown"]},{"icon":"faCaretCircleLeft","aliases":["faCaretCircleLeft"]},{"icon":"faCaretCircleRight","aliases":["faCaretCircleRight"]},{"icon":"faCaretCircleUp","aliases":["faCaretCircleUp"]},{"icon":"faCaretDown","aliases":[]},{"icon":"faCaretLeft","aliases":[]},{"icon":"faCaretRight","aliases":[]},{"icon":"faCaretSquareDown","aliases":["faCaretSquareDown"]},{"icon":"faCaretSquareLeft","aliases":["faCaretSquareLeft"]},{"icon":"faCaretSquareRight","aliases":["faCaretSquareRight"]},{"icon":"faCaretSquareUp","aliases":["faCaretSquareUp"]},{"icon":"faCaretUp","aliases":[]},{"icon":"faCarriageBaby","aliases":["faCarriageBaby"]},{"icon":"faCarrot","aliases":[]},{"icon":"faCars","aliases":[]},{"icon":"faCartArrowDown","aliases":[]},{"icon":"faCartArrowUp","aliases":[]},{"icon":"faCartCircleArrowDown","aliases":[]},{"icon":"faCartCircleArrowUp","aliases":[]},{"icon":"faCartCircleCheck","aliases":[]},{"icon":"faCartCircleExclamation","aliases":[]},{"icon":"faCartCirclePlus","aliases":[]},{"icon":"faCartCircleXmark","aliases":[]},{"icon":"faCartFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faCartFlatbedBoxes","aliases":["faDollyFlatbedAlt"]},{"icon":"faCartFlatbedEmpty","aliases":["faDollyFlatbedEmpty"]},{"icon":"faCartFlatbedSuitcase","aliases":["faLuggageCart"]},{"icon":"faCartMinus","aliases":[]},{"icon":"faCartPlus","aliases":[]},{"icon":"faCartShopping","aliases":["faShoppingCart"]},{"icon":"faCartShoppingFast","aliases":[]},{"icon":"faCartXmark","aliases":[]},{"icon":"faCashRegister","aliases":[]},{"icon":"faCassetteBetamax","aliases":["faBetamax"]},{"icon":"faCassetteTape","aliases":[]},{"icon":"faCassetteVhs","aliases":["faVhs"]},{"icon":"faCastle","aliases":[]},{"icon":"faCat","aliases":[]},{"icon":"faCatSpace","aliases":[]},{"icon":"faCauldron","aliases":[]},{"icon":"faCctv","aliases":["faCctv"]},{"icon":"faCediSign","aliases":[]},{"icon":"faCentSign","aliases":[]},{"icon":"faCertificate","aliases":[]},{"icon":"faChain","aliases":["faChain"]},{"icon":"faChainBroken","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChainHorizontal","aliases":["faChainHorizontal"]},{"icon":"faChainHorizontalSlash","aliases":["faChainHorizontalSlash"]},{"icon":"faChainSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faChair","aliases":[]},{"icon":"faChairOffice","aliases":[]},{"icon":"faChalkboard","aliases":["faBlackboard"]},{"icon":"faChalkboardTeacher","aliases":["faChalkboardTeacher"]},{"icon":"faChalkboardUser","aliases":["faChalkboardTeacher"]},{"icon":"faChampagneGlass","aliases":["faGlassChampagne"]},{"icon":"faChampagneGlasses","aliases":["faGlassCheers"]},{"icon":"faChargingStation","aliases":[]},{"icon":"faChartArea","aliases":["faAreaChart"]},{"icon":"faChartBar","aliases":["faBarChart"]},{"icon":"faChartBullet","aliases":[]},{"icon":"faChartCandlestick","aliases":[]},{"icon":"faChartColumn","aliases":[]},{"icon":"faChartGantt","aliases":[]},{"icon":"faChartKanban","aliases":[]},{"icon":"faChartLine","aliases":["faLineChart"]},{"icon":"faChartLineDown","aliases":[]},{"icon":"faChartLineUp","aliases":[]},{"icon":"faChartLineUpDown","aliases":[]},{"icon":"faChartMixed","aliases":["faAnalytics"]},{"icon":"faChartMixedUpCircleCurrency","aliases":[]},{"icon":"faChartMixedUpCircleDollar","aliases":[]},{"icon":"faChartNetwork","aliases":[]},{"icon":"faChartPie","aliases":["faPieChart"]},{"icon":"faChartPieAlt","aliases":["faChartPieAlt"]},{"icon":"faChartPieSimple","aliases":["faChartPieAlt"]},{"icon":"faChartPieSimpleCircleCurrency","aliases":[]},{"icon":"faChartPieSimpleCircleDollar","aliases":[]},{"icon":"faChartPyramid","aliases":[]},{"icon":"faChartRadar","aliases":[]},{"icon":"faChartScatter","aliases":[]},{"icon":"faChartScatter3d","aliases":[]},{"icon":"faChartScatterBubble","aliases":[]},{"icon":"faChartSimple","aliases":[]},{"icon":"faChartSimpleHorizontal","aliases":[]},{"icon":"faChartTreeMap","aliases":[]},{"icon":"faChartUser","aliases":["faUserChart"]},{"icon":"faChartWaterfall","aliases":[]},{"icon":"faCheck","aliases":[]},{"icon":"faCheckCircle","aliases":["faCheckCircle"]},{"icon":"faCheckDouble","aliases":[]},{"icon":"faCheckSquare","aliases":["faCheckSquare"]},{"icon":"faCheckToSlot","aliases":["faVoteYea"]},{"icon":"faCheese","aliases":[]},{"icon":"faCheeseSwiss","aliases":[]},{"icon":"faCheeseburger","aliases":["faCheeseburger"]},{"icon":"faCherries","aliases":[]},{"icon":"faChess","aliases":[]},{"icon":"faChessBishop","aliases":[]},{"icon":"faChessBishopAlt","aliases":["faChessBishopAlt"]},{"icon":"faChessBishopPiece","aliases":["faChessBishopAlt"]},{"icon":"faChessBoard","aliases":[]},{"icon":"faChessClock","aliases":[]},{"icon":"faChessClockAlt","aliases":["faChessClockAlt"]},{"icon":"faChessClockFlip","aliases":["faChessClockAlt"]},{"icon":"faChessKing","aliases":[]},{"icon":"faChessKingAlt","aliases":["faChessKingAlt"]},{"icon":"faChessKingPiece","aliases":["faChessKingAlt"]},{"icon":"faChessKnight","aliases":[]},{"icon":"faChessKnightAlt","aliases":["faChessKnightAlt"]},{"icon":"faChessKnightPiece","aliases":["faChessKnightAlt"]},{"icon":"faChessPawn","aliases":[]},{"icon":"faChessPawnAlt","aliases":["faChessPawnAlt"]},{"icon":"faChessPawnPiece","aliases":["faChessPawnAlt"]},{"icon":"faChessQueen","aliases":[]},{"icon":"faChessQueenAlt","aliases":["faChessQueenAlt"]},{"icon":"faChessQueenPiece","aliases":["faChessQueenAlt"]},{"icon":"faChessRook","aliases":[]},{"icon":"faChessRookAlt","aliases":["faChessRookAlt"]},{"icon":"faChessRookPiece","aliases":["faChessRookAlt"]},{"icon":"faChestnut","aliases":[]},{"icon":"faChevronCircleDown","aliases":["faChevronCircleDown"]},{"icon":"faChevronCircleLeft","aliases":["faChevronCircleLeft"]},{"icon":"faChevronCircleRight","aliases":["faChevronCircleRight"]},{"icon":"faChevronCircleUp","aliases":["faChevronCircleUp"]},{"icon":"faChevronDoubleDown","aliases":["faChevronDoubleDown"]},{"icon":"faChevronDoubleLeft","aliases":["faChevronDoubleLeft"]},{"icon":"faChevronDoubleRight","aliases":["faChevronDoubleRight"]},{"icon":"faChevronDoubleUp","aliases":["faChevronDoubleUp"]},{"icon":"faChevronDown","aliases":[]},{"icon":"faChevronLeft","aliases":[]},{"icon":"faChevronRight","aliases":[]},{"icon":"faChevronSquareDown","aliases":["faChevronSquareDown"]},{"icon":"faChevronSquareLeft","aliases":["faChevronSquareLeft"]},{"icon":"faChevronSquareRight","aliases":["faChevronSquareRight"]},{"icon":"faChevronSquareUp","aliases":["faChevronSquareUp"]},{"icon":"faChevronUp","aliases":[]},{"icon":"faChevronsDown","aliases":["faChevronDoubleDown"]},{"icon":"faChevronsLeft","aliases":["faChevronDoubleLeft"]},{"icon":"faChevronsRight","aliases":["faChevronDoubleRight"]},{"icon":"faChevronsUp","aliases":["faChevronDoubleUp"]},{"icon":"faChfSign","aliases":[]},{"icon":"faChild","aliases":[]},{"icon":"faChildCombatant","aliases":["faChildRifle"]},{"icon":"faChildDress","aliases":[]},{"icon":"faChildReaching","aliases":[]},{"icon":"faChildRifle","aliases":["faChildRifle"]},{"icon":"faChildren","aliases":[]},{"icon":"faChimney","aliases":[]},{"icon":"faChocolateBar","aliases":["faChocolateBar"]},{"icon":"faChopsticks","aliases":[]},{"icon":"faChurch","aliases":[]},{"icon":"faCircle","aliases":[]},{"icon":"faCircle0","aliases":[]},{"icon":"faCircle1","aliases":[]},{"icon":"faCircle2","aliases":[]},{"icon":"faCircle3","aliases":[]},{"icon":"faCircle4","aliases":[]},{"icon":"faCircle5","aliases":[]},{"icon":"faCircle6","aliases":[]},{"icon":"faCircle7","aliases":[]},{"icon":"faCircle8","aliases":[]},{"icon":"faCircle9","aliases":[]},{"icon":"faCircleA","aliases":[]},{"icon":"faCircleAmpersand","aliases":[]},{"icon":"faCircleArrowDown","aliases":["faArrowCircleDown"]},{"icon":"faCircleArrowDownLeft","aliases":[]},{"icon":"faCircleArrowDownRight","aliases":[]},{"icon":"faCircleArrowLeft","aliases":["faArrowCircleLeft"]},{"icon":"faCircleArrowRight","aliases":["faArrowCircleRight"]},{"icon":"faCircleArrowUp","aliases":["faArrowCircleUp"]},{"icon":"faCircleArrowUpLeft","aliases":[]},{"icon":"faCircleArrowUpRight","aliases":[]},{"icon":"faCircleB","aliases":[]},{"icon":"faCircleBolt","aliases":[]},{"icon":"faCircleBookOpen","aliases":["faBookCircle"]},{"icon":"faCircleBookmark","aliases":["faBookmarkCircle"]},{"icon":"faCircleC","aliases":[]},{"icon":"faCircleCalendar","aliases":["faCalendarCircle"]},{"icon":"faCircleCamera","aliases":["faCameraCircle"]},{"icon":"faCircleCaretDown","aliases":["faCaretCircleDown"]},{"icon":"faCircleCaretLeft","aliases":["faCaretCircleLeft"]},{"icon":"faCircleCaretRight","aliases":["faCaretCircleRight"]},{"icon":"faCircleCaretUp","aliases":["faCaretCircleUp"]},{"icon":"faCircleCheck","aliases":["faCheckCircle"]},{"icon":"faCircleChevronDown","aliases":["faChevronCircleDown"]},{"icon":"faCircleChevronLeft","aliases":["faChevronCircleLeft"]},{"icon":"faCircleChevronRight","aliases":["faChevronCircleRight"]},{"icon":"faCircleChevronUp","aliases":["faChevronCircleUp"]},{"icon":"faCircleD","aliases":[]},{"icon":"faCircleDashed","aliases":[]},{"icon":"faCircleDivide","aliases":[]},{"icon":"faCircleDollar","aliases":["faDollarCircle","faUsdCircle"]},{"icon":"faCircleDollarToSlot","aliases":["faDonate"]},{"icon":"faCircleDot","aliases":["faDotCircle"]},{"icon":"faCircleDown","aliases":["faArrowAltCircleDown"]},{"icon":"faCircleDownLeft","aliases":[]},{"icon":"faCircleDownRight","aliases":[]},{"icon":"faCircleE","aliases":[]},{"icon":"faCircleEllipsis","aliases":[]},{"icon":"faCircleEllipsisVertical","aliases":[]},{"icon":"faCircleEnvelope","aliases":["faEnvelopeCircle"]},{"icon":"faCircleEuro","aliases":[]},{"icon":"faCircleExclamation","aliases":["faExclamationCircle"]},{"icon":"faCircleExclamationCheck","aliases":[]},{"icon":"faCircleF","aliases":[]},{"icon":"faCircleG","aliases":[]},{"icon":"faCircleGf","aliases":[]},{"icon":"faCircleH","aliases":["faHospitalSymbol"]},{"icon":"faCircleHalf","aliases":[]},{"icon":"faCircleHalfStroke","aliases":["faAdjust"]},{"icon":"faCircleHeart","aliases":["faHeartCircle"]},{"icon":"faCircleI","aliases":[]},{"icon":"faCircleInfo","aliases":["faInfoCircle"]},{"icon":"faCircleJ","aliases":[]},{"icon":"faCircleK","aliases":[]},{"icon":"faCircleL","aliases":[]},{"icon":"faCircleLeft","aliases":["faArrowAltCircleLeft"]},{"icon":"faCircleLocationArrow","aliases":["faLocationCircle"]},{"icon":"faCircleM","aliases":[]},{"icon":"faCircleMicrophone","aliases":["faMicrophoneCircle"]},{"icon":"faCircleMicrophoneLines","aliases":["faMicrophoneCircleAlt"]},{"icon":"faCircleMinus","aliases":["faMinusCircle"]},{"icon":"faCircleN","aliases":[]},{"icon":"faCircleNodes","aliases":[]},{"icon":"faCircleNotch","aliases":[]},{"icon":"faCircleO","aliases":[]},{"icon":"faCircleP","aliases":[]},{"icon":"faCircleParking","aliases":["faParkingCircle"]},{"icon":"faCirclePause","aliases":["faPauseCircle"]},{"icon":"faCirclePhone","aliases":["faPhoneCircle"]},{"icon":"faCirclePhoneFlip","aliases":["faPhoneCircleAlt"]},{"icon":"faCirclePhoneHangup","aliases":["faPhoneCircleDown"]},{"icon":"faCirclePlay","aliases":["faPlayCircle"]},{"icon":"faCirclePlus","aliases":["faPlusCircle"]},{"icon":"faCircleQ","aliases":[]},{"icon":"faCircleQuarter","aliases":[]},{"icon":"faCircleQuarterStroke","aliases":[]},{"icon":"faCircleQuarters","aliases":[]},{"icon":"faCircleQuestion","aliases":["faQuestionCircle"]},{"icon":"faCircleR","aliases":[]},{"icon":"faCircleRadiation","aliases":["faRadiationAlt"]},{"icon":"faCircleRight","aliases":["faArrowAltCircleRight"]},{"icon":"faCircleS","aliases":[]},{"icon":"faCircleSmall","aliases":[]},{"icon":"faCircleSort","aliases":["faSortCircle"]},{"icon":"faCircleSortDown","aliases":["faSortCircleDown"]},{"icon":"faCircleSortUp","aliases":["faSortCircleUp"]},{"icon":"faCircleStar","aliases":["faStarCircle"]},{"icon":"faCircleSterling","aliases":[]},{"icon":"faCircleStop","aliases":["faStopCircle"]},{"icon":"faCircleT","aliases":[]},{"icon":"faCircleThreeQuarters","aliases":[]},{"icon":"faCircleThreeQuartersStroke","aliases":[]},{"icon":"faCircleTrash","aliases":["faTrashCircle"]},{"icon":"faCircleU","aliases":[]},{"icon":"faCircleUp","aliases":["faArrowAltCircleUp"]},{"icon":"faCircleUpLeft","aliases":[]},{"icon":"faCircleUpRight","aliases":[]},{"icon":"faCircleUser","aliases":["faUserCircle"]},{"icon":"faCircleV","aliases":[]},{"icon":"faCircleVideo","aliases":["faVideoCircle"]},{"icon":"faCircleW","aliases":[]},{"icon":"faCircleWaveformLines","aliases":["faWaveformCircle"]},{"icon":"faCircleWifi","aliases":[]},{"icon":"faCircleWifiCircleWifi","aliases":["faCircleWifiGroup"]},{"icon":"faCircleWifiGroup","aliases":["faCircleWifiGroup"]},{"icon":"faCircleX","aliases":[]},{"icon":"faCircleXmark","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faCircleY","aliases":[]},{"icon":"faCircleYen","aliases":[]},{"icon":"faCircleZ","aliases":[]},{"icon":"faCirclesOverlap","aliases":[]},{"icon":"faCitrus","aliases":[]},{"icon":"faCitrusSlice","aliases":[]},{"icon":"faCity","aliases":[]},{"icon":"faClapperboard","aliases":[]},{"icon":"faClapperboardPlay","aliases":[]},{"icon":"faClarinet","aliases":[]},{"icon":"faClawMarks","aliases":[]},{"icon":"faClinicMedical","aliases":["faClinicMedical"]},{"icon":"faClipboard","aliases":[]},{"icon":"faClipboardCheck","aliases":[]},{"icon":"faClipboardList","aliases":[]},{"icon":"faClipboardListCheck","aliases":[]},{"icon":"faClipboardMedical","aliases":[]},{"icon":"faClipboardPrescription","aliases":[]},{"icon":"faClipboardQuestion","aliases":[]},{"icon":"faClipboardUser","aliases":[]},{"icon":"faClock","aliases":["faClockFour"]},{"icon":"faClockDesk","aliases":[]},{"icon":"faClockEight","aliases":[]},{"icon":"faClockEightThirty","aliases":[]},{"icon":"faClockEleven","aliases":[]},{"icon":"faClockElevenThirty","aliases":[]},{"icon":"faClockFive","aliases":[]},{"icon":"faClockFiveThirty","aliases":[]},{"icon":"faClockFour","aliases":["faClockFour"]},{"icon":"faClockFourThirty","aliases":[]},{"icon":"faClockNine","aliases":[]},{"icon":"faClockNineThirty","aliases":[]},{"icon":"faClockOne","aliases":[]},{"icon":"faClockOneThirty","aliases":[]},{"icon":"faClockRotateLeft","aliases":["faHistory"]},{"icon":"faClockSeven","aliases":[]},{"icon":"faClockSevenThirty","aliases":[]},{"icon":"faClockSix","aliases":[]},{"icon":"faClockSixThirty","aliases":[]},{"icon":"faClockTen","aliases":[]},{"icon":"faClockTenThirty","aliases":[]},{"icon":"faClockThree","aliases":[]},{"icon":"faClockThreeThirty","aliases":[]},{"icon":"faClockTwelve","aliases":[]},{"icon":"faClockTwelveThirty","aliases":[]},{"icon":"faClockTwo","aliases":[]},{"icon":"faClockTwoThirty","aliases":[]},{"icon":"faClone","aliases":[]},{"icon":"faClose","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faClosedCaptioning","aliases":[]},{"icon":"faClosedCaptioningSlash","aliases":[]},{"icon":"faClothesHanger","aliases":[]},{"icon":"faCloud","aliases":[]},{"icon":"faCloudArrowDown","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudArrowUp","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudBinary","aliases":[]},{"icon":"faCloudBolt","aliases":["faThunderstorm"]},{"icon":"faCloudBoltMoon","aliases":["faThunderstormMoon"]},{"icon":"faCloudBoltSun","aliases":["faThunderstormSun"]},{"icon":"faCloudCheck","aliases":[]},{"icon":"faCloudDownload","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudDownloadAlt","aliases":["faCloudDownload","faCloudDownloadAlt"]},{"icon":"faCloudDrizzle","aliases":[]},{"icon":"faCloudExclamation","aliases":[]},{"icon":"faCloudFog","aliases":["faFog"]},{"icon":"faCloudHail","aliases":[]},{"icon":"faCloudHailMixed","aliases":[]},{"icon":"faCloudMeatball","aliases":[]},{"icon":"faCloudMinus","aliases":[]},{"icon":"faCloudMoon","aliases":[]},{"icon":"faCloudMoonRain","aliases":[]},{"icon":"faCloudMusic","aliases":[]},{"icon":"faCloudPlus","aliases":[]},{"icon":"faCloudQuestion","aliases":[]},{"icon":"faCloudRain","aliases":[]},{"icon":"faCloudRainbow","aliases":[]},{"icon":"faCloudShowers","aliases":[]},{"icon":"faCloudShowersHeavy","aliases":[]},{"icon":"faCloudShowersWater","aliases":[]},{"icon":"faCloudSlash","aliases":[]},{"icon":"faCloudSleet","aliases":[]},{"icon":"faCloudSnow","aliases":[]},{"icon":"faCloudSun","aliases":[]},{"icon":"faCloudSunRain","aliases":[]},{"icon":"faCloudUpload","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudUploadAlt","aliases":["faCloudUpload","faCloudUploadAlt"]},{"icon":"faCloudWord","aliases":[]},{"icon":"faCloudXmark","aliases":[]},{"icon":"faClouds","aliases":[]},{"icon":"faCloudsMoon","aliases":[]},{"icon":"faCloudsSun","aliases":[]},{"icon":"faClover","aliases":[]},{"icon":"faClub","aliases":[]},{"icon":"faCny","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faCocktail","aliases":["faCocktail"]},{"icon":"faCoconut","aliases":[]},{"icon":"faCode","aliases":[]},{"icon":"faCodeBranch","aliases":[]},{"icon":"faCodeCommit","aliases":[]},{"icon":"faCodeCompare","aliases":[]},{"icon":"faCodeFork","aliases":[]},{"icon":"faCodeMerge","aliases":[]},{"icon":"faCodePullRequest","aliases":[]},{"icon":"faCodePullRequestClosed","aliases":[]},{"icon":"faCodePullRequestDraft","aliases":[]},{"icon":"faCodeSimple","aliases":[]},{"icon":"faCoffee","aliases":["faCoffee"]},{"icon":"faCoffeeBean","aliases":[]},{"icon":"faCoffeeBeans","aliases":[]},{"icon":"faCoffeePot","aliases":[]},{"icon":"faCoffeeTogo","aliases":["faCoffeeTogo"]},{"icon":"faCoffin","aliases":[]},{"icon":"faCoffinCross","aliases":[]},{"icon":"faCog","aliases":["faCog"]},{"icon":"faCogs","aliases":["faCogs"]},{"icon":"faCoin","aliases":[]},{"icon":"faCoinBlank","aliases":[]},{"icon":"faCoinFront","aliases":[]},{"icon":"faCoinVertical","aliases":[]},{"icon":"faCoins","aliases":[]},{"icon":"faColon","aliases":[]},{"icon":"faColonSign","aliases":[]},{"icon":"faColumns","aliases":["faColumns"]},{"icon":"faColumns3","aliases":[]},{"icon":"faComet","aliases":[]},{"icon":"faComma","aliases":[]},{"icon":"faCommand","aliases":[]},{"icon":"faComment","aliases":[]},{"icon":"faCommentAlt","aliases":["faCommentAlt"]},{"icon":"faCommentAltArrowDown","aliases":["faCommentAltArrowDown"]},{"icon":"faCommentAltArrowUp","aliases":["faCommentAltArrowUp"]},{"icon":"faCommentAltCaptions","aliases":["faCommentAltCaptions"]},{"icon":"faCommentAltCheck","aliases":["faCommentAltCheck"]},{"icon":"faCommentAltDollar","aliases":["faCommentAltDollar"]},{"icon":"faCommentAltDots","aliases":["faCommentAltDots","faMessaging"]},{"icon":"faCommentAltEdit","aliases":["faCommentAltEdit","faMessageEdit"]},{"icon":"faCommentAltExclamation","aliases":["faCommentAltExclamation"]},{"icon":"faCommentAltImage","aliases":["faCommentAltImage"]},{"icon":"faCommentAltLines","aliases":["faCommentAltLines"]},{"icon":"faCommentAltMedical","aliases":["faCommentAltMedical"]},{"icon":"faCommentAltMinus","aliases":["faCommentAltMinus"]},{"icon":"faCommentAltMusic","aliases":["faCommentAltMusic"]},{"icon":"faCommentAltPlus","aliases":["faCommentAltPlus"]},{"icon":"faCommentAltQuote","aliases":["faCommentAltQuote"]},{"icon":"faCommentAltSlash","aliases":["faCommentAltSlash"]},{"icon":"faCommentAltSmile","aliases":["faCommentAltSmile"]},{"icon":"faCommentAltText","aliases":["faCommentAltText"]},{"icon":"faCommentAltTimes","aliases":["faCommentAltTimes","faMessageTimes"]},{"icon":"faCommentArrowDown","aliases":[]},{"icon":"faCommentArrowUp","aliases":[]},{"icon":"faCommentArrowUpRight","aliases":[]},{"icon":"faCommentCaptions","aliases":[]},{"icon":"faCommentCheck","aliases":[]},{"icon":"faCommentCode","aliases":[]},{"icon":"faCommentDollar","aliases":[]},{"icon":"faCommentDots","aliases":["faCommenting"]},{"icon":"faCommentEdit","aliases":["faCommentEdit"]},{"icon":"faCommentExclamation","aliases":[]},{"icon":"faCommentHeart","aliases":[]},{"icon":"faCommentImage","aliases":[]},{"icon":"faCommentLines","aliases":[]},{"icon":"faCommentMedical","aliases":[]},{"icon":"faCommentMiddle","aliases":[]},{"icon":"faCommentMiddleAlt","aliases":["faCommentMiddleAlt"]},{"icon":"faCommentMiddleTop","aliases":[]},{"icon":"faCommentMiddleTopAlt","aliases":["faCommentMiddleTopAlt"]},{"icon":"faCommentMinus","aliases":[]},{"icon":"faCommentMusic","aliases":[]},{"icon":"faCommentPen","aliases":["faCommentEdit"]},{"icon":"faCommentPlus","aliases":[]},{"icon":"faCommentQuestion","aliases":[]},{"icon":"faCommentQuote","aliases":[]},{"icon":"faCommentSlash","aliases":[]},{"icon":"faCommentSmile","aliases":[]},{"icon":"faCommentSms","aliases":["faSms"]},{"icon":"faCommentText","aliases":[]},{"icon":"faCommentTimes","aliases":["faCommentTimes"]},{"icon":"faCommentXmark","aliases":["faCommentTimes"]},{"icon":"faCommenting","aliases":["faCommenting"]},{"icon":"faComments","aliases":[]},{"icon":"faCommentsAlt","aliases":["faCommentsAlt"]},{"icon":"faCommentsAltDollar","aliases":["faCommentsAltDollar"]},{"icon":"faCommentsDollar","aliases":[]},{"icon":"faCommentsQuestion","aliases":[]},{"icon":"faCommentsQuestionCheck","aliases":[]},{"icon":"faCompactDisc","aliases":[]},{"icon":"faCompass","aliases":[]},{"icon":"faCompassDrafting","aliases":["faDraftingCompass"]},{"icon":"faCompassSlash","aliases":[]},{"icon":"faCompress","aliases":[]},{"icon":"faCompressAlt","aliases":["faCompressAlt"]},{"icon":"faCompressArrows","aliases":["faCompressArrows"]},{"icon":"faCompressArrowsAlt","aliases":["faCompressArrowsAlt"]},{"icon":"faCompressWide","aliases":[]},{"icon":"faComputer","aliases":[]},{"icon":"faComputerClassic","aliases":[]},{"icon":"faComputerMouse","aliases":["faMouse"]},{"icon":"faComputerMouseScrollwheel","aliases":["faMouseAlt"]},{"icon":"faComputerSpeaker","aliases":[]},{"icon":"faConciergeBell","aliases":["faConciergeBell"]},{"icon":"faConstruction","aliases":["faConstruction"]},{"icon":"faContactBook","aliases":["faContactBook"]},{"icon":"faContactCard","aliases":["faContactCard","faVcard"]},{"icon":"faContainerStorage","aliases":[]},{"icon":"faConveyorBelt","aliases":[]},{"icon":"faConveyorBeltAlt","aliases":["faConveyorBeltAlt"]},{"icon":"faConveyorBeltArm","aliases":[]},{"icon":"faConveyorBeltBoxes","aliases":["faConveyorBeltAlt"]},{"icon":"faConveyorBeltEmpty","aliases":[]},{"icon":"faCookie","aliases":[]},{"icon":"faCookieBite","aliases":[]},{"icon":"faCopy","aliases":[]},{"icon":"faCopyright","aliases":[]},{"icon":"faCorn","aliases":[]},{"icon":"faCorner","aliases":[]},{"icon":"faCouch","aliases":[]},{"icon":"faCouchSmall","aliases":["faCouchSmall"]},{"icon":"faCourtSport","aliases":[]},{"icon":"faCow","aliases":[]},{"icon":"faCowbell","aliases":[]},{"icon":"faCowbellCirclePlus","aliases":["faCowbellMore"]},{"icon":"faCowbellMore","aliases":["faCowbellMore"]},{"icon":"faCrab","aliases":[]},{"icon":"faCrateApple","aliases":["faAppleCrate"]},{"icon":"faCrateEmpty","aliases":[]},{"icon":"faCreditCard","aliases":["faCreditCardAlt"]},{"icon":"faCreditCardAlt","aliases":["faCreditCardAlt"]},{"icon":"faCreditCardBlank","aliases":[]},{"icon":"faCreditCardFront","aliases":[]},{"icon":"faCreemee","aliases":["faCreemee"]},{"icon":"faCricket","aliases":["faCricket"]},{"icon":"faCricketBatBall","aliases":["faCricket"]},{"icon":"faCroissant","aliases":[]},{"icon":"faCrop","aliases":[]},{"icon":"faCropAlt","aliases":["faCropAlt"]},{"icon":"faCropSimple","aliases":["faCropAlt"]},{"icon":"faCross","aliases":[]},{"icon":"faCrosshairs","aliases":[]},{"icon":"faCrosshairsSimple","aliases":[]},{"icon":"faCrow","aliases":[]},{"icon":"faCrown","aliases":[]},{"icon":"faCrutch","aliases":[]},{"icon":"faCrutches","aliases":[]},{"icon":"faCruzeiroSign","aliases":[]},{"icon":"faCrystalBall","aliases":[]},{"icon":"faCube","aliases":[]},{"icon":"faCubes","aliases":[]},{"icon":"faCubesStacked","aliases":[]},{"icon":"faCucumber","aliases":[]},{"icon":"faCupStraw","aliases":[]},{"icon":"faCupStrawSwoosh","aliases":[]},{"icon":"faCupTogo","aliases":["faCoffeeTogo"]},{"icon":"faCupcake","aliases":[]},{"icon":"faCurling","aliases":["faCurling"]},{"icon":"faCurlingStone","aliases":["faCurling"]},{"icon":"faCustard","aliases":[]},{"icon":"faCut","aliases":["faCut"]},{"icon":"faCutlery","aliases":["faCutlery"]},{"icon":"faD","aliases":[]},{"icon":"faDagger","aliases":[]},{"icon":"faDash","aliases":["faMinusLarge"]},{"icon":"faDashboard","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faDatabase","aliases":[]},{"icon":"faDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDeafness","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faDebug","aliases":["faDebug"]},{"icon":"faDedent","aliases":["faDedent"]},{"icon":"faDeer","aliases":[]},{"icon":"faDeerRudolph","aliases":[]},{"icon":"faDeleteLeft","aliases":["faBackspace"]},{"icon":"faDeleteRight","aliases":[]},{"icon":"faDemocrat","aliases":[]},{"icon":"faDesktop","aliases":["faDesktopAlt"]},{"icon":"faDesktopAlt","aliases":["faDesktopAlt"]},{"icon":"faDesktopArrowDown","aliases":[]},{"icon":"faDesktopCode","aliases":["faDesktopCode"]},{"icon":"faDesktopMedical","aliases":["faDesktopMedical"]},{"icon":"faDesktopSlash","aliases":["faDesktopSlash"]},{"icon":"faDewpoint","aliases":["faDewpoint"]},{"icon":"faDharmachakra","aliases":[]},{"icon":"faDiagnoses","aliases":["faDiagnoses"]},{"icon":"faDiagramCells","aliases":[]},{"icon":"faDiagramLeanCanvas","aliases":[]},{"icon":"faDiagramNested","aliases":[]},{"icon":"faDiagramNext","aliases":[]},{"icon":"faDiagramPredecessor","aliases":[]},{"icon":"faDiagramPrevious","aliases":[]},{"icon":"faDiagramProject","aliases":["faProjectDiagram"]},{"icon":"faDiagramSankey","aliases":[]},{"icon":"faDiagramSubtask","aliases":[]},{"icon":"faDiagramSuccessor","aliases":[]},{"icon":"faDiagramVenn","aliases":[]},{"icon":"faDial","aliases":["faDialMedHigh"]},{"icon":"faDialHigh","aliases":[]},{"icon":"faDialLow","aliases":[]},{"icon":"faDialMax","aliases":[]},{"icon":"faDialMed","aliases":[]},{"icon":"faDialMedHigh","aliases":["faDialMedHigh"]},{"icon":"faDialMedLow","aliases":[]},{"icon":"faDialMin","aliases":[]},{"icon":"faDialOff","aliases":[]},{"icon":"faDiamond","aliases":[]},{"icon":"faDiamondExclamation","aliases":[]},{"icon":"faDiamondHalf","aliases":[]},{"icon":"faDiamondHalfStroke","aliases":[]},{"icon":"faDiamondTurnRight","aliases":["faDirections"]},{"icon":"faDiamonds4","aliases":[]},{"icon":"faDice","aliases":[]},{"icon":"faDiceD10","aliases":[]},{"icon":"faDiceD12","aliases":[]},{"icon":"faDiceD20","aliases":[]},{"icon":"faDiceD4","aliases":[]},{"icon":"faDiceD6","aliases":[]},{"icon":"faDiceD8","aliases":[]},{"icon":"faDiceFive","aliases":[]},{"icon":"faDiceFour","aliases":[]},{"icon":"faDiceOne","aliases":[]},{"icon":"faDiceSix","aliases":[]},{"icon":"faDiceThree","aliases":[]},{"icon":"faDiceTwo","aliases":[]},{"icon":"faDigging","aliases":["faDigging"]},{"icon":"faDigitalTachograph","aliases":["faDigitalTachograph"]},{"icon":"faDinosaur","aliases":[]},{"icon":"faDiploma","aliases":["faScrollRibbon"]},{"icon":"faDirections","aliases":["faDirections"]},{"icon":"faDiscDrive","aliases":[]},{"icon":"faDisease","aliases":[]},{"icon":"faDisplay","aliases":[]},{"icon":"faDisplayArrowDown","aliases":[]},{"icon":"faDisplayChartUp","aliases":[]},{"icon":"faDisplayChartUpCircleCurrency","aliases":[]},{"icon":"faDisplayChartUpCircleDollar","aliases":[]},{"icon":"faDisplayCode","aliases":["faDesktopCode"]},{"icon":"faDisplayMedical","aliases":["faDesktopMedical"]},{"icon":"faDisplaySlash","aliases":["faDesktopSlash"]},{"icon":"faDistributeSpacingHorizontal","aliases":[]},{"icon":"faDistributeSpacingVertical","aliases":[]},{"icon":"faDitto","aliases":[]},{"icon":"faDivide","aliases":[]},{"icon":"faDizzy","aliases":["faDizzy"]},{"icon":"faDna","aliases":[]},{"icon":"faDoNotEnter","aliases":[]},{"icon":"faDog","aliases":[]},{"icon":"faDogLeashed","aliases":[]},{"icon":"faDollar","aliases":["faDollar","faUsd"]},{"icon":"faDollarCircle","aliases":["faDollarCircle","faUsdCircle"]},{"icon":"faDollarSign","aliases":["faDollar","faUsd"]},{"icon":"faDollarSquare","aliases":["faDollarSquare","faUsdSquare"]},{"icon":"faDolly","aliases":["faDollyBox"]},{"icon":"faDollyBox","aliases":["faDollyBox"]},{"icon":"faDollyEmpty","aliases":[]},{"icon":"faDollyFlatbed","aliases":["faDollyFlatbed"]},{"icon":"faDollyFlatbedAlt","aliases":["faDollyFlatbedAlt"]},{"icon":"faDollyFlatbedEmpty","aliases":["faDollyFlatbedEmpty"]},{"icon":"faDolphin","aliases":[]},{"icon":"faDonate","aliases":["faDonate"]},{"icon":"faDongSign","aliases":[]},{"icon":"faDonut","aliases":["faDoughnut"]},{"icon":"faDoorClosed","aliases":[]},{"icon":"faDoorOpen","aliases":[]},{"icon":"faDotCircle","aliases":["faDotCircle"]},{"icon":"faDoughnut","aliases":["faDoughnut"]},{"icon":"faDove","aliases":[]},{"icon":"faDown","aliases":["faArrowAltDown"]},{"icon":"faDownFromBracket","aliases":[]},{"icon":"faDownFromDottedLine","aliases":[]},{"icon":"faDownFromLine","aliases":["faArrowAltFromTop"]},{"icon":"faDownLeft","aliases":[]},{"icon":"faDownLeftAndUpRightToCenter","aliases":["faCompressAlt"]},{"icon":"faDownLong","aliases":["faLongArrowAltDown"]},{"icon":"faDownRight","aliases":[]},{"icon":"faDownToBracket","aliases":[]},{"icon":"faDownToDottedLine","aliases":[]},{"icon":"faDownToLine","aliases":["faArrowAltToBottom"]},{"icon":"faDownload","aliases":[]},{"icon":"faDraftingCompass","aliases":["faDraftingCompass"]},{"icon":"faDragon","aliases":[]},{"icon":"faDrawCircle","aliases":[]},{"icon":"faDrawPolygon","aliases":[]},{"icon":"faDrawSquare","aliases":[]},{"icon":"faDreidel","aliases":[]},{"icon":"faDriversLicense","aliases":["faDriversLicense"]},{"icon":"faDrone","aliases":[]},{"icon":"faDroneAlt","aliases":["faDroneAlt"]},{"icon":"faDroneFront","aliases":["faDroneAlt"]},{"icon":"faDroplet","aliases":["faTint"]},{"icon":"faDropletDegree","aliases":["faDewpoint"]},{"icon":"faDropletPercent","aliases":["faHumidity"]},{"icon":"faDropletSlash","aliases":["faTintSlash"]},{"icon":"faDrum","aliases":[]},{"icon":"faDrumSteelpan","aliases":[]},{"icon":"faDrumstick","aliases":[]},{"icon":"faDrumstickBite","aliases":[]},{"icon":"faDryer","aliases":[]},{"icon":"faDryerAlt","aliases":["faDryerAlt"]},{"icon":"faDryerHeat","aliases":["faDryerAlt"]},{"icon":"faDuck","aliases":[]},{"icon":"faDumbbell","aliases":[]},{"icon":"faDumpster","aliases":[]},{"icon":"faDumpsterFire","aliases":[]},{"icon":"faDungeon","aliases":[]},{"icon":"faE","aliases":[]},{"icon":"faEar","aliases":[]},{"icon":"faEarDeaf","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faEarListen","aliases":["faAssistiveListeningSystems"]},{"icon":"faEarMuffs","aliases":[]},{"icon":"faEarth","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAfrica","aliases":["faGlobeAfrica"]},{"icon":"faEarthAmerica","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faEarthAsia","aliases":["faGlobeAsia"]},{"icon":"faEarthEurope","aliases":["faGlobeEurope"]},{"icon":"faEarthOceania","aliases":["faGlobeOceania"]},{"icon":"faEclipse","aliases":[]},{"icon":"faEclipseAlt","aliases":["faEclipseAlt"]},{"icon":"faEdit","aliases":["faEdit"]},{"icon":"faEgg","aliases":[]},{"icon":"faEggFried","aliases":[]},{"icon":"faEggplant","aliases":[]},{"icon":"faEject","aliases":[]},{"icon":"faElephant","aliases":[]},{"icon":"faElevator","aliases":[]},{"icon":"faEllipsis","aliases":["faEllipsisH"]},{"icon":"faEllipsisH","aliases":["faEllipsisH"]},{"icon":"faEllipsisHAlt","aliases":["faEllipsisHAlt"]},{"icon":"faEllipsisStroke","aliases":["faEllipsisHAlt"]},{"icon":"faEllipsisStrokeVertical","aliases":["faEllipsisVAlt"]},{"icon":"faEllipsisV","aliases":["faEllipsisV"]},{"icon":"faEllipsisVAlt","aliases":["faEllipsisVAlt"]},{"icon":"faEllipsisVertical","aliases":["faEllipsisV"]},{"icon":"faEmptySet","aliases":[]},{"icon":"faEngine","aliases":[]},{"icon":"faEngineExclamation","aliases":["faEngineExclamation"]},{"icon":"faEngineWarning","aliases":["faEngineExclamation"]},{"icon":"faEnvelope","aliases":[]},{"icon":"faEnvelopeBadge","aliases":["faEnvelopeBadge"]},{"icon":"faEnvelopeCircle","aliases":["faEnvelopeCircle"]},{"icon":"faEnvelopeCircleCheck","aliases":[]},{"icon":"faEnvelopeDot","aliases":["faEnvelopeBadge"]},{"icon":"faEnvelopeOpen","aliases":[]},{"icon":"faEnvelopeOpenDollar","aliases":[]},{"icon":"faEnvelopeOpenText","aliases":[]},{"icon":"faEnvelopeSquare","aliases":["faEnvelopeSquare"]},{"icon":"faEnvelopes","aliases":[]},{"icon":"faEnvelopesBulk","aliases":["faMailBulk"]},{"icon":"faEquals","aliases":[]},{"icon":"faEraser","aliases":[]},{"icon":"faEscalator","aliases":[]},{"icon":"faEthernet","aliases":[]},{"icon":"faEur","aliases":["faEur","faEuro"]},{"icon":"faEuro","aliases":["faEur","faEuro"]},{"icon":"faEuroSign","aliases":["faEur","faEuro"]},{"icon":"faExcavator","aliases":[]},{"icon":"faExchange","aliases":["faExchange"]},{"icon":"faExchangeAlt","aliases":["faExchangeAlt"]},{"icon":"faExclamation","aliases":[]},{"icon":"faExclamationCircle","aliases":["faExclamationCircle"]},{"icon":"faExclamationSquare","aliases":["faExclamationSquare"]},{"icon":"faExclamationTriangle","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faExpand","aliases":[]},{"icon":"faExpandAlt","aliases":["faExpandAlt"]},{"icon":"faExpandArrows","aliases":["faExpandArrows"]},{"icon":"faExpandArrowsAlt","aliases":["faExpandArrowsAlt"]},{"icon":"faExpandWide","aliases":[]},{"icon":"faExplodingHead","aliases":["faExplodingHead"]},{"icon":"faExplosion","aliases":[]},{"icon":"faExternalLink","aliases":["faExternalLink"]},{"icon":"faExternalLinkAlt","aliases":["faExternalLinkAlt"]},{"icon":"faExternalLinkSquare","aliases":["faExternalLinkSquare"]},{"icon":"faExternalLinkSquareAlt","aliases":["faExternalLinkSquareAlt"]},{"icon":"faEye","aliases":[]},{"icon":"faEyeDropper","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeDropperEmpty","aliases":["faEyeDropperEmpty","faEyedropper"]},{"icon":"faEyeDropperFull","aliases":[]},{"icon":"faEyeDropperHalf","aliases":[]},{"icon":"faEyeEvil","aliases":[]},{"icon":"faEyeLowVision","aliases":["faLowVision"]},{"icon":"faEyeSlash","aliases":[]},{"icon":"faEyes","aliases":[]},{"icon":"faF","aliases":[]},{"icon":"faFaceAngry","aliases":["faAngry"]},{"icon":"faFaceAngryHorns","aliases":[]},{"icon":"faFaceAnguished","aliases":[]},{"icon":"faFaceAnxiousSweat","aliases":[]},{"icon":"faFaceAstonished","aliases":[]},{"icon":"faFaceAwesome","aliases":["faGaveDandy"]},{"icon":"faFaceBeamHandOverMouth","aliases":[]},{"icon":"faFaceClouds","aliases":[]},{"icon":"faFaceConfounded","aliases":[]},{"icon":"faFaceConfused","aliases":[]},{"icon":"faFaceCowboyHat","aliases":[]},{"icon":"faFaceDiagonalMouth","aliases":[]},{"icon":"faFaceDisappointed","aliases":[]},{"icon":"faFaceDisguise","aliases":[]},{"icon":"faFaceDizzy","aliases":["faDizzy"]},{"icon":"faFaceDotted","aliases":[]},{"icon":"faFaceDowncastSweat","aliases":[]},{"icon":"faFaceDrooling","aliases":[]},{"icon":"faFaceExhaling","aliases":[]},{"icon":"faFaceExplode","aliases":["faExplodingHead"]},{"icon":"faFaceExpressionless","aliases":[]},{"icon":"faFaceEyesXmarks","aliases":[]},{"icon":"faFaceFearful","aliases":[]},{"icon":"faFaceFlushed","aliases":["faFlushed"]},{"icon":"faFaceFrown","aliases":["faFrown"]},{"icon":"faFaceFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFaceFrownSlight","aliases":[]},{"icon":"faFaceGlasses","aliases":[]},{"icon":"faFaceGrimace","aliases":["faGrimace"]},{"icon":"faFaceGrin","aliases":["faGrin"]},{"icon":"faFaceGrinBeam","aliases":["faGrinBeam"]},{"icon":"faFaceGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faFaceGrinHearts","aliases":["faGrinHearts"]},{"icon":"faFaceGrinSquint","aliases":["faGrinSquint"]},{"icon":"faFaceGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faFaceGrinStars","aliases":["faGrinStars"]},{"icon":"faFaceGrinTears","aliases":["faGrinTears"]},{"icon":"faFaceGrinTongue","aliases":["faGrinTongue"]},{"icon":"faFaceGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faFaceGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faFaceGrinWide","aliases":["faGrinAlt"]},{"icon":"faFaceGrinWink","aliases":["faGrinWink"]},{"icon":"faFaceHandOverMouth","aliases":[]},{"icon":"faFaceHandPeeking","aliases":[]},{"icon":"faFaceHandYawn","aliases":[]},{"icon":"faFaceHeadBandage","aliases":[]},{"icon":"faFaceHoldingBackTears","aliases":[]},{"icon":"faFaceHushed","aliases":[]},{"icon":"faFaceIcicles","aliases":[]},{"icon":"faFaceKiss","aliases":["faKiss"]},{"icon":"faFaceKissBeam","aliases":["faKissBeam"]},{"icon":"faFaceKissClosedEyes","aliases":[]},{"icon":"faFaceKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faFaceLaugh","aliases":["faLaugh"]},{"icon":"faFaceLaughBeam","aliases":["faLaughBeam"]},{"icon":"faFaceLaughSquint","aliases":["faLaughSquint"]},{"icon":"faFaceLaughWink","aliases":["faLaughWink"]},{"icon":"faFaceLying","aliases":[]},{"icon":"faFaceMask","aliases":[]},{"icon":"faFaceMeh","aliases":["faMeh"]},{"icon":"faFaceMehBlank","aliases":["faMehBlank"]},{"icon":"faFaceMelting","aliases":[]},{"icon":"faFaceMonocle","aliases":[]},{"icon":"faFaceNauseated","aliases":[]},{"icon":"faFaceNoseSteam","aliases":[]},{"icon":"faFaceParty","aliases":[]},{"icon":"faFacePensive","aliases":[]},{"icon":"faFacePersevering","aliases":[]},{"icon":"faFacePleading","aliases":[]},{"icon":"faFacePouting","aliases":[]},{"icon":"faFaceRaisedEyebrow","aliases":[]},{"icon":"faFaceRelieved","aliases":[]},{"icon":"faFaceRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faFaceSadCry","aliases":["faSadCry"]},{"icon":"faFaceSadSweat","aliases":[]},{"icon":"faFaceSadTear","aliases":["faSadTear"]},{"icon":"faFaceSaluting","aliases":[]},{"icon":"faFaceScream","aliases":[]},{"icon":"faFaceShush","aliases":[]},{"icon":"faFaceSleeping","aliases":[]},{"icon":"faFaceSleepy","aliases":[]},{"icon":"faFaceSmile","aliases":["faSmile"]},{"icon":"faFaceSmileBeam","aliases":["faSmileBeam"]},{"icon":"faFaceSmileHalo","aliases":[]},{"icon":"faFaceSmileHearts","aliases":[]},{"icon":"faFaceSmileHorns","aliases":[]},{"icon":"faFaceSmilePlus","aliases":["faSmilePlus"]},{"icon":"faFaceSmileRelaxed","aliases":[]},{"icon":"faFaceSmileTear","aliases":[]},{"icon":"faFaceSmileTongue","aliases":[]},{"icon":"faFaceSmileUpsideDown","aliases":[]},{"icon":"faFaceSmileWink","aliases":["faSmileWink"]},{"icon":"faFaceSmilingHands","aliases":[]},{"icon":"faFaceSmirking","aliases":[]},{"icon":"faFaceSpiralEyes","aliases":[]},{"icon":"faFaceSunglasses","aliases":[]},{"icon":"faFaceSurprise","aliases":["faSurprise"]},{"icon":"faFaceSwear","aliases":[]},{"icon":"faFaceThermometer","aliases":[]},{"icon":"faFaceThinking","aliases":[]},{"icon":"faFaceTired","aliases":["faTired"]},{"icon":"faFaceTissue","aliases":[]},{"icon":"faFaceTongueMoney","aliases":[]},{"icon":"faFaceTongueSweat","aliases":[]},{"icon":"faFaceUnamused","aliases":[]},{"icon":"faFaceViewfinder","aliases":[]},{"icon":"faFaceVomit","aliases":[]},{"icon":"faFaceWeary","aliases":[]},{"icon":"faFaceWoozy","aliases":[]},{"icon":"faFaceWorried","aliases":[]},{"icon":"faFaceZany","aliases":[]},{"icon":"faFaceZipper","aliases":[]},{"icon":"faFalafel","aliases":[]},{"icon":"faFamily","aliases":[]},{"icon":"faFamilyDress","aliases":[]},{"icon":"faFamilyPants","aliases":[]},{"icon":"faFan","aliases":[]},{"icon":"faFanTable","aliases":[]},{"icon":"faFarm","aliases":["faBarnSilo"]},{"icon":"faFastBackward","aliases":["faFastBackward"]},{"icon":"faFastForward","aliases":["faFastForward"]},{"icon":"faFaucet","aliases":[]},{"icon":"faFaucetDrip","aliases":[]},{"icon":"faFax","aliases":[]},{"icon":"faFeather","aliases":[]},{"icon":"faFeatherAlt","aliases":["faFeatherAlt"]},{"icon":"faFeatherPointed","aliases":["faFeatherAlt"]},{"icon":"faFeed","aliases":["faFeed"]},{"icon":"faFemale","aliases":["faFemale"]},{"icon":"faFence","aliases":[]},{"icon":"faFerrisWheel","aliases":[]},{"icon":"faFerry","aliases":[]},{"icon":"faFieldHockey","aliases":["faFieldHockey"]},{"icon":"faFieldHockeyStickBall","aliases":["faFieldHockey"]},{"icon":"faFighterJet","aliases":["faFighterJet"]},{"icon":"faFile","aliases":[]},{"icon":"faFileAlt","aliases":["faFileAlt","faFileText"]},{"icon":"faFileArchive","aliases":["faFileArchive"]},{"icon":"faFileArrowDown","aliases":["faFileDownload"]},{"icon":"faFileArrowUp","aliases":["faFileUpload"]},{"icon":"faFileAudio","aliases":[]},{"icon":"faFileAward","aliases":["faFileAward"]},{"icon":"faFileBinary","aliases":[]},{"icon":"faFileCad","aliases":[]},{"icon":"faFileCaretDown","aliases":["faFileCaretDown"]},{"icon":"faFileCaretUp","aliases":["faFileCaretUp"]},{"icon":"faFileCertificate","aliases":["faFileAward"]},{"icon":"faFileChartColumn","aliases":["faFileChartLine"]},{"icon":"faFileChartLine","aliases":["faFileChartLine"]},{"icon":"faFileChartPie","aliases":[]},{"icon":"faFileCheck","aliases":[]},{"icon":"faFileCircleCheck","aliases":[]},{"icon":"faFileCircleExclamation","aliases":[]},{"icon":"faFileCircleInfo","aliases":[]},{"icon":"faFileCircleMinus","aliases":[]},{"icon":"faFileCirclePlus","aliases":[]},{"icon":"faFileCircleQuestion","aliases":[]},{"icon":"faFileCircleXmark","aliases":[]},{"icon":"faFileClipboard","aliases":["faFileClipboard"]},{"icon":"faFileCode","aliases":[]},{"icon":"faFileContract","aliases":[]},{"icon":"faFileCsv","aliases":[]},{"icon":"faFileDashedLine","aliases":["faPageBreak"]},{"icon":"faFileDoc","aliases":[]},{"icon":"faFileDownload","aliases":["faFileDownload"]},{"icon":"faFileEdit","aliases":["faFileEdit"]},{"icon":"faFileEps","aliases":[]},{"icon":"faFileExcel","aliases":[]},{"icon":"faFileExclamation","aliases":[]},{"icon":"faFileExport","aliases":["faArrowRightFromFile"]},{"icon":"faFileGif","aliases":[]},{"icon":"faFileHeart","aliases":[]},{"icon":"faFileImage","aliases":[]},{"icon":"faFileImport","aliases":["faArrowRightToFile"]},{"icon":"faFileInvoice","aliases":[]},{"icon":"faFileInvoiceDollar","aliases":[]},{"icon":"faFileJpg","aliases":[]},{"icon":"faFileLines","aliases":["faFileAlt","faFileText"]},{"icon":"faFileLock","aliases":[]},{"icon":"faFileMagnifyingGlass","aliases":["faFileSearch"]},{"icon":"faFileMedical","aliases":[]},{"icon":"faFileMedicalAlt","aliases":["faFileMedicalAlt"]},{"icon":"faFileMinus","aliases":[]},{"icon":"faFileMov","aliases":[]},{"icon":"faFileMp3","aliases":[]},{"icon":"faFileMp4","aliases":[]},{"icon":"faFileMusic","aliases":[]},{"icon":"faFilePdf","aliases":[]},{"icon":"faFilePen","aliases":["faFileEdit"]},{"icon":"faFilePlus","aliases":[]},{"icon":"faFilePlusMinus","aliases":[]},{"icon":"faFilePng","aliases":[]},{"icon":"faFilePowerpoint","aliases":[]},{"icon":"faFilePpt","aliases":[]},{"icon":"faFilePrescription","aliases":[]},{"icon":"faFileSearch","aliases":["faFileSearch"]},{"icon":"faFileShield","aliases":[]},{"icon":"faFileSignature","aliases":[]},{"icon":"faFileSlash","aliases":[]},{"icon":"faFileSpreadsheet","aliases":[]},{"icon":"faFileSvg","aliases":[]},{"icon":"faFileText","aliases":["faFileAlt","faFileText"]},{"icon":"faFileTimes","aliases":["faFileTimes"]},{"icon":"faFileUpload","aliases":["faFileUpload"]},{"icon":"faFileUser","aliases":[]},{"icon":"faFileVector","aliases":[]},{"icon":"faFileVideo","aliases":[]},{"icon":"faFileWaveform","aliases":["faFileMedicalAlt"]},{"icon":"faFileWord","aliases":[]},{"icon":"faFileXls","aliases":[]},{"icon":"faFileXmark","aliases":["faFileTimes"]},{"icon":"faFileXml","aliases":[]},{"icon":"faFileZip","aliases":[]},{"icon":"faFileZipper","aliases":["faFileArchive"]},{"icon":"faFiles","aliases":[]},{"icon":"faFilesMedical","aliases":[]},{"icon":"faFill","aliases":[]},{"icon":"faFillDrip","aliases":[]},{"icon":"faFilm","aliases":[]},{"icon":"faFilmAlt","aliases":["faFilmAlt"]},{"icon":"faFilmCanister","aliases":["faFilmCannister"]},{"icon":"faFilmCannister","aliases":["faFilmCannister"]},{"icon":"faFilmSimple","aliases":["faFilmAlt"]},{"icon":"faFilmSlash","aliases":[]},{"icon":"faFilms","aliases":[]},{"icon":"faFilter","aliases":[]},{"icon":"faFilterCircleDollar","aliases":["faFunnelDollar"]},{"icon":"faFilterCircleXmark","aliases":[]},{"icon":"faFilterList","aliases":[]},{"icon":"faFilterSlash","aliases":[]},{"icon":"faFilters","aliases":[]},{"icon":"faFingerprint","aliases":[]},{"icon":"faFire","aliases":[]},{"icon":"faFireAlt","aliases":["faFireAlt"]},{"icon":"faFireBurner","aliases":[]},{"icon":"faFireExtinguisher","aliases":[]},{"icon":"faFireFlame","aliases":["faFlame"]},{"icon":"faFireFlameCurved","aliases":["faFireAlt"]},{"icon":"faFireFlameSimple","aliases":["faBurn"]},{"icon":"faFireHydrant","aliases":[]},{"icon":"faFireSmoke","aliases":[]},{"icon":"faFireplace","aliases":[]},{"icon":"faFirewall","aliases":["faFirewall"]},{"icon":"faFirstAid","aliases":["faFirstAid"]},{"icon":"faFish","aliases":[]},{"icon":"faFishBones","aliases":[]},{"icon":"faFishCooked","aliases":[]},{"icon":"faFishFins","aliases":[]},{"icon":"faFishingRod","aliases":[]},{"icon":"faFistRaised","aliases":["faFistRaised"]},{"icon":"faFlag","aliases":[]},{"icon":"faFlagAlt","aliases":["faFlagAlt"]},{"icon":"faFlagCheckered","aliases":[]},{"icon":"faFlagPennant","aliases":["faPennant"]},{"icon":"faFlagSwallowtail","aliases":["faFlagAlt"]},{"icon":"faFlagUsa","aliases":[]},{"icon":"faFlame","aliases":["faFlame"]},{"icon":"faFlashlight","aliases":[]},{"icon":"faFlask","aliases":[]},{"icon":"faFlaskGear","aliases":[]},{"icon":"faFlaskPoison","aliases":["faFlaskPoison"]},{"icon":"faFlaskPotion","aliases":["faFlaskPotion"]},{"icon":"faFlaskRoundPoison","aliases":["faFlaskPoison"]},{"icon":"faFlaskRoundPotion","aliases":["faFlaskPotion"]},{"icon":"faFlaskVial","aliases":[]},{"icon":"faFlatbread","aliases":[]},{"icon":"faFlatbreadStuffed","aliases":[]},{"icon":"faFloppyDisk","aliases":["faSave"]},{"icon":"faFloppyDiskCircleArrowRight","aliases":["faSaveCircleArrowRight"]},{"icon":"faFloppyDiskCircleXmark","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faFloppyDiskPen","aliases":[]},{"icon":"faFloppyDiskTimes","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faFloppyDisks","aliases":[]},{"icon":"faFlorinSign","aliases":[]},{"icon":"faFlower","aliases":[]},{"icon":"faFlowerDaffodil","aliases":[]},{"icon":"faFlowerTulip","aliases":[]},{"icon":"faFlushed","aliases":["faFlushed"]},{"icon":"faFlute","aliases":[]},{"icon":"faFluxCapacitor","aliases":[]},{"icon":"faFlyingDisc","aliases":[]},{"icon":"faFog","aliases":["faFog"]},{"icon":"faFolder","aliases":["faFolderBlank"]},{"icon":"faFolderArrowDown","aliases":["faFolderDownload"]},{"icon":"faFolderArrowUp","aliases":["faFolderUpload"]},{"icon":"faFolderBlank","aliases":["faFolderBlank"]},{"icon":"faFolderBookmark","aliases":[]},{"icon":"faFolderCheck","aliases":[]},{"icon":"faFolderClosed","aliases":[]},{"icon":"faFolderCog","aliases":["faFolderCog"]},{"icon":"faFolderDownload","aliases":["faFolderDownload"]},{"icon":"faFolderGear","aliases":["faFolderCog"]},{"icon":"faFolderGrid","aliases":[]},{"icon":"faFolderHeart","aliases":[]},{"icon":"faFolderImage","aliases":[]},{"icon":"faFolderMagnifyingGlass","aliases":["faFolderSearch"]},{"icon":"faFolderMedical","aliases":[]},{"icon":"faFolderMinus","aliases":[]},{"icon":"faFolderMusic","aliases":[]},{"icon":"faFolderOpen","aliases":[]},{"icon":"faFolderPlus","aliases":[]},{"icon":"faFolderSearch","aliases":["faFolderSearch"]},{"icon":"faFolderTimes","aliases":["faFolderTimes"]},{"icon":"faFolderTree","aliases":[]},{"icon":"faFolderUpload","aliases":["faFolderUpload"]},{"icon":"faFolderUser","aliases":[]},{"icon":"faFolderXmark","aliases":["faFolderTimes"]},{"icon":"faFolders","aliases":[]},{"icon":"faFonduePot","aliases":[]},{"icon":"faFont","aliases":[]},{"icon":"faFontAwesome","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeFlag","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontAwesomeLogoFull","aliases":["faFontAwesomeFlag","faFontAwesomeLogoFull"]},{"icon":"faFontCase","aliases":[]},{"icon":"faFootball","aliases":["faFootballBall"]},{"icon":"faFootballBall","aliases":["faFootballBall"]},{"icon":"faFootballHelmet","aliases":[]},{"icon":"faFork","aliases":["faUtensilFork"]},{"icon":"faForkKnife","aliases":["faUtensilsAlt"]},{"icon":"faForklift","aliases":[]},{"icon":"faFort","aliases":[]},{"icon":"faForward","aliases":[]},{"icon":"faForwardFast","aliases":["faFastForward"]},{"icon":"faForwardStep","aliases":["faStepForward"]},{"icon":"faFragile","aliases":["faFragile"]},{"icon":"faFrame","aliases":[]},{"icon":"faFrancSign","aliases":[]},{"icon":"faFrenchFries","aliases":[]},{"icon":"faFrog","aliases":[]},{"icon":"faFrostyHead","aliases":["faFrostyHead"]},{"icon":"faFrown","aliases":["faFrown"]},{"icon":"faFrownOpen","aliases":["faFrownOpen"]},{"icon":"faFunction","aliases":[]},{"icon":"faFunnelDollar","aliases":["faFunnelDollar"]},{"icon":"faFutbol","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faFutbolBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faG","aliases":[]},{"icon":"faGalaxy","aliases":[]},{"icon":"faGalleryThumbnails","aliases":[]},{"icon":"faGameBoard","aliases":[]},{"icon":"faGameBoardAlt","aliases":["faGameBoardAlt"]},{"icon":"faGameBoardSimple","aliases":["faGameBoardAlt"]},{"icon":"faGameConsoleHandheld","aliases":[]},{"icon":"faGameConsoleHandheldCrank","aliases":[]},{"icon":"faGamepad","aliases":[]},{"icon":"faGamepadAlt","aliases":["faGamepadAlt"]},{"icon":"faGamepadModern","aliases":["faGamepadAlt"]},{"icon":"faGarage","aliases":[]},{"icon":"faGarageCar","aliases":[]},{"icon":"faGarageOpen","aliases":[]},{"icon":"faGarlic","aliases":[]},{"icon":"faGasPump","aliases":[]},{"icon":"faGasPumpSlash","aliases":[]},{"icon":"faGauge","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeCircleBolt","aliases":[]},{"icon":"faGaugeCircleMinus","aliases":[]},{"icon":"faGaugeCirclePlus","aliases":[]},{"icon":"faGaugeHigh","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faGaugeLow","aliases":["faTachometerAltSlow"]},{"icon":"faGaugeMax","aliases":["faTachometerAltFastest"]},{"icon":"faGaugeMed","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faGaugeMin","aliases":["faTachometerAltSlowest"]},{"icon":"faGaugeSimple","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGaugeSimpleHigh","aliases":["faTachometer","faTachometerFast"]},{"icon":"faGaugeSimpleLow","aliases":["faTachometerSlow"]},{"icon":"faGaugeSimpleMax","aliases":["faTachometerFastest"]},{"icon":"faGaugeSimpleMed","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faGaugeSimpleMin","aliases":["faTachometerSlowest"]},{"icon":"faGaveDandy","aliases":["faGaveDandy"]},{"icon":"faGavel","aliases":["faLegal"]},{"icon":"faGbp","aliases":["faGbp","faPoundSign"]},{"icon":"faGear","aliases":["faCog"]},{"icon":"faGearCode","aliases":[]},{"icon":"faGearComplex","aliases":[]},{"icon":"faGearComplexCode","aliases":[]},{"icon":"faGears","aliases":["faCogs"]},{"icon":"faGem","aliases":[]},{"icon":"faGenderless","aliases":[]},{"icon":"faGhost","aliases":[]},{"icon":"faGif","aliases":[]},{"icon":"faGift","aliases":[]},{"icon":"faGiftCard","aliases":[]},{"icon":"faGifts","aliases":[]},{"icon":"faGingerbreadMan","aliases":[]},{"icon":"faGlass","aliases":[]},{"icon":"faGlassChampagne","aliases":["faGlassChampagne"]},{"icon":"faGlassCheers","aliases":["faGlassCheers"]},{"icon":"faGlassCitrus","aliases":[]},{"icon":"faGlassEmpty","aliases":[]},{"icon":"faGlassHalf","aliases":["faGlassHalfEmpty","faGlassHalfFull"]},{"icon":"faGlassHalfEmpty","aliases":["faGlassHalfEmpty","faGlassHalfFull"]},{"icon":"faGlassHalfFull","aliases":["faGlassHalfEmpty","faGlassHalfFull"]},{"icon":"faGlassMartini","aliases":["faGlassMartini"]},{"icon":"faGlassMartiniAlt","aliases":["faGlassMartiniAlt"]},{"icon":"faGlassWater","aliases":[]},{"icon":"faGlassWaterDroplet","aliases":[]},{"icon":"faGlassWhiskey","aliases":["faGlassWhiskey"]},{"icon":"faGlassWhiskeyRocks","aliases":["faGlassWhiskeyRocks"]},{"icon":"faGlasses","aliases":[]},{"icon":"faGlassesAlt","aliases":["faGlassesAlt"]},{"icon":"faGlassesRound","aliases":["faGlassesAlt"]},{"icon":"faGlobe","aliases":[]},{"icon":"faGlobeAfrica","aliases":["faGlobeAfrica"]},{"icon":"faGlobeAmericas","aliases":["faEarth","faEarthAmerica","faGlobeAmericas"]},{"icon":"faGlobeAsia","aliases":["faGlobeAsia"]},{"icon":"faGlobeEurope","aliases":["faGlobeEurope"]},{"icon":"faGlobeOceania","aliases":["faGlobeOceania"]},{"icon":"faGlobePointer","aliases":[]},{"icon":"faGlobeSnow","aliases":[]},{"icon":"faGlobeStand","aliases":[]},{"icon":"faGlobeWifi","aliases":[]},{"icon":"faGloveBoxing","aliases":["faGloveBoxing"]},{"icon":"faGoalNet","aliases":[]},{"icon":"faGolfBall","aliases":["faGolfBall"]},{"icon":"faGolfBallTee","aliases":["faGolfBall"]},{"icon":"faGolfClub","aliases":[]},{"icon":"faGolfFlagHole","aliases":[]},{"icon":"faGopuram","aliases":[]},{"icon":"faGraduationCap","aliases":["faMortarBoard"]},{"icon":"faGramophone","aliases":[]},{"icon":"faGrapes","aliases":[]},{"icon":"faGrate","aliases":[]},{"icon":"faGrateDroplet","aliases":[]},{"icon":"faGreaterThan","aliases":[]},{"icon":"faGreaterThanEqual","aliases":[]},{"icon":"faGrid","aliases":["faGrid3"]},{"icon":"faGrid2","aliases":[]},{"icon":"faGrid2Plus","aliases":[]},{"icon":"faGrid3","aliases":["faGrid3"]},{"icon":"faGrid4","aliases":[]},{"icon":"faGrid5","aliases":[]},{"icon":"faGridDividers","aliases":[]},{"icon":"faGridHorizontal","aliases":[]},{"icon":"faGridRound","aliases":[]},{"icon":"faGridRound2","aliases":[]},{"icon":"faGridRound2Plus","aliases":[]},{"icon":"faGridRound4","aliases":[]},{"icon":"faGridRound5","aliases":[]},{"icon":"faGrill","aliases":[]},{"icon":"faGrillFire","aliases":[]},{"icon":"faGrillHot","aliases":[]},{"icon":"faGrimace","aliases":["faGrimace"]},{"icon":"faGrin","aliases":["faGrin"]},{"icon":"faGrinAlt","aliases":["faGrinAlt"]},{"icon":"faGrinBeam","aliases":["faGrinBeam"]},{"icon":"faGrinBeamSweat","aliases":["faGrinBeamSweat"]},{"icon":"faGrinHearts","aliases":["faGrinHearts"]},{"icon":"faGrinSquint","aliases":["faGrinSquint"]},{"icon":"faGrinSquintTears","aliases":["faGrinSquintTears"]},{"icon":"faGrinStars","aliases":["faGrinStars"]},{"icon":"faGrinTears","aliases":["faGrinTears"]},{"icon":"faGrinTongue","aliases":["faGrinTongue"]},{"icon":"faGrinTongueSquint","aliases":["faGrinTongueSquint"]},{"icon":"faGrinTongueWink","aliases":["faGrinTongueWink"]},{"icon":"faGrinWink","aliases":["faGrinWink"]},{"icon":"faGrip","aliases":["faGripHorizontal"]},{"icon":"faGripDots","aliases":[]},{"icon":"faGripDotsVertical","aliases":[]},{"icon":"faGripHorizontal","aliases":["faGripHorizontal"]},{"icon":"faGripLines","aliases":[]},{"icon":"faGripLinesVertical","aliases":[]},{"icon":"faGripVertical","aliases":[]},{"icon":"faGroupArrowsRotate","aliases":[]},{"icon":"faGuaraniSign","aliases":[]},{"icon":"faGuitar","aliases":[]},{"icon":"faGuitarElectric","aliases":[]},{"icon":"faGuitars","aliases":[]},{"icon":"faGun","aliases":[]},{"icon":"faGunSlash","aliases":[]},{"icon":"faGunSquirt","aliases":[]},{"icon":"faH","aliases":[]},{"icon":"faH1","aliases":[]},{"icon":"faH2","aliases":[]},{"icon":"faH3","aliases":[]},{"icon":"faH4","aliases":[]},{"icon":"faH5","aliases":[]},{"icon":"faH6","aliases":[]},{"icon":"faHSquare","aliases":["faHSquare"]},{"icon":"faHamburger","aliases":["faHamburger"]},{"icon":"faHammer","aliases":[]},{"icon":"faHammerBrush","aliases":[]},{"icon":"faHammerCrash","aliases":[]},{"icon":"faHammerWar","aliases":[]},{"icon":"faHamsa","aliases":[]},{"icon":"faHand","aliases":["faHandPaper"]},{"icon":"faHandBackFist","aliases":["faHandRock"]},{"icon":"faHandBackPointDown","aliases":[]},{"icon":"faHandBackPointLeft","aliases":[]},{"icon":"faHandBackPointRibbon","aliases":[]},{"icon":"faHandBackPointRight","aliases":[]},{"icon":"faHandBackPointUp","aliases":[]},{"icon":"faHandDots","aliases":["faAllergies"]},{"icon":"faHandFingersCrossed","aliases":[]},{"icon":"faHandFist","aliases":["faFistRaised"]},{"icon":"faHandHeart","aliases":[]},{"icon":"faHandHolding","aliases":[]},{"icon":"faHandHoldingBox","aliases":[]},{"icon":"faHandHoldingCircleDollar","aliases":[]},{"icon":"faHandHoldingDollar","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingDroplet","aliases":["faHandHoldingWater"]},{"icon":"faHandHoldingHand","aliases":[]},{"icon":"faHandHoldingHeart","aliases":[]},{"icon":"faHandHoldingMagic","aliases":[]},{"icon":"faHandHoldingMedical","aliases":[]},{"icon":"faHandHoldingSeedling","aliases":[]},{"icon":"faHandHoldingSkull","aliases":[]},{"icon":"faHandHoldingUsd","aliases":["faHandHoldingUsd"]},{"icon":"faHandHoldingWater","aliases":["faHandHoldingWater"]},{"icon":"faHandHorns","aliases":[]},{"icon":"faHandLizard","aliases":[]},{"icon":"faHandLove","aliases":[]},{"icon":"faHandMiddleFinger","aliases":[]},{"icon":"faHandPaper","aliases":["faHandPaper"]},{"icon":"faHandPeace","aliases":[]},{"icon":"faHandPointDown","aliases":[]},{"icon":"faHandPointLeft","aliases":[]},{"icon":"faHandPointRibbon","aliases":[]},{"icon":"faHandPointRight","aliases":[]},{"icon":"faHandPointUp","aliases":[]},{"icon":"faHandPointer","aliases":[]},{"icon":"faHandReceiving","aliases":["faHandReceiving"]},{"icon":"faHandRock","aliases":["faHandRock"]},{"icon":"faHandScissors","aliases":[]},{"icon":"faHandSparkles","aliases":[]},{"icon":"faHandSpock","aliases":[]},{"icon":"faHandWave","aliases":[]},{"icon":"faHandcuffs","aliases":[]},{"icon":"faHands","aliases":["faSignLanguage","faSigning"]},{"icon":"faHandsAmericanSignLanguageInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsAslInterpreting","aliases":["faAmericanSignLanguageInterpreting","faAslInterpreting","faHandsAmericanSignLanguageInterpreting"]},{"icon":"faHandsBound","aliases":[]},{"icon":"faHandsBubbles","aliases":["faHandsWash"]},{"icon":"faHandsClapping","aliases":[]},{"icon":"faHandsHeart","aliases":["faHandsHeart"]},{"icon":"faHandsHelping","aliases":["faHandsHelping"]},{"icon":"faHandsHolding","aliases":[]},{"icon":"faHandsHoldingChild","aliases":[]},{"icon":"faHandsHoldingCircle","aliases":[]},{"icon":"faHandsHoldingDiamond","aliases":["faHandReceiving"]},{"icon":"faHandsHoldingDollar","aliases":["faHandsUsd"]},{"icon":"faHandsHoldingHeart","aliases":["faHandsHeart"]},{"icon":"faHandsPraying","aliases":["faPrayingHands"]},{"icon":"faHandsUsd","aliases":["faHandsUsd"]},{"icon":"faHandsWash","aliases":["faHandsWash"]},{"icon":"faHandshake","aliases":[]},{"icon":"faHandshakeAlt","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeAltSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeAngle","aliases":["faHandsHelping"]},{"icon":"faHandshakeSimple","aliases":["faHandshakeAlt"]},{"icon":"faHandshakeSimpleSlash","aliases":["faHandshakeAltSlash"]},{"icon":"faHandshakeSlash","aliases":[]},{"icon":"faHanukiah","aliases":[]},{"icon":"faHardDrive","aliases":["faHdd"]},{"icon":"faHardHat","aliases":["faHardHat","faHatHard"]},{"icon":"faHardOfHearing","aliases":["faDeaf","faDeafness","faHardOfHearing"]},{"icon":"faHashtag","aliases":[]},{"icon":"faHashtagLock","aliases":[]},{"icon":"faHatBeach","aliases":[]},{"icon":"faHatChef","aliases":[]},{"icon":"faHatCowboy","aliases":[]},{"icon":"faHatCowboySide","aliases":[]},{"icon":"faHatHard","aliases":["faHardHat","faHatHard"]},{"icon":"faHatSanta","aliases":[]},{"icon":"faHatWinter","aliases":[]},{"icon":"faHatWitch","aliases":[]},{"icon":"faHatWizard","aliases":[]},{"icon":"faHaykal","aliases":["faHaykal"]},{"icon":"faHdd","aliases":["faHdd"]},{"icon":"faHeadSide","aliases":[]},{"icon":"faHeadSideBrain","aliases":[]},{"icon":"faHeadSideCough","aliases":[]},{"icon":"faHeadSideCoughSlash","aliases":[]},{"icon":"faHeadSideGear","aliases":[]},{"icon":"faHeadSideGoggles","aliases":["faHeadVr"]},{"icon":"faHeadSideHeadphones","aliases":[]},{"icon":"faHeadSideHeart","aliases":[]},{"icon":"faHeadSideMask","aliases":[]},{"icon":"faHeadSideMedical","aliases":[]},{"icon":"faHeadSideVirus","aliases":[]},{"icon":"faHeadVr","aliases":["faHeadVr"]},{"icon":"faHeader","aliases":["faHeader"]},{"icon":"faHeading","aliases":["faHeader"]},{"icon":"faHeadphones","aliases":[]},{"icon":"faHeadphonesAlt","aliases":["faHeadphonesAlt"]},{"icon":"faHeadphonesSimple","aliases":["faHeadphonesAlt"]},{"icon":"faHeadset","aliases":[]},{"icon":"faHeart","aliases":[]},{"icon":"faHeartBroken","aliases":["faHeartBroken"]},{"icon":"faHeartCircle","aliases":["faHeartCircle"]},{"icon":"faHeartCircleBolt","aliases":[]},{"icon":"faHeartCircleCheck","aliases":[]},{"icon":"faHeartCircleExclamation","aliases":[]},{"icon":"faHeartCircleMinus","aliases":[]},{"icon":"faHeartCirclePlus","aliases":[]},{"icon":"faHeartCircleXmark","aliases":[]},{"icon":"faHeartCrack","aliases":["faHeartBroken"]},{"icon":"faHeartHalf","aliases":[]},{"icon":"faHeartHalfAlt","aliases":["faHeartHalfAlt"]},{"icon":"faHeartHalfStroke","aliases":["faHeartHalfAlt"]},{"icon":"faHeartMusicCameraBolt","aliases":["faHeartMusicCameraBolt"]},{"icon":"faHeartPulse","aliases":["faHeartbeat"]},{"icon":"faHeartRate","aliases":["faHeartRate"]},{"icon":"faHeartSquare","aliases":["faHeartSquare"]},{"icon":"faHeartbeat","aliases":["faHeartbeat"]},{"icon":"faHeat","aliases":[]},{"icon":"faHelicopter","aliases":[]},{"icon":"faHelicopterSymbol","aliases":[]},{"icon":"faHelmetBattle","aliases":[]},{"icon":"faHelmetSafety","aliases":["faHardHat","faHatHard"]},{"icon":"faHelmetUn","aliases":[]},{"icon":"faHexagon","aliases":[]},{"icon":"faHexagonCheck","aliases":[]},{"icon":"faHexagonDivide","aliases":[]},{"icon":"faHexagonExclamation","aliases":[]},{"icon":"faHexagonImage","aliases":[]},{"icon":"faHexagonMinus","aliases":["faMinusHexagon"]},{"icon":"faHexagonPlus","aliases":["faPlusHexagon"]},{"icon":"faHexagonVerticalNft","aliases":[]},{"icon":"faHexagonVerticalNftSlanted","aliases":[]},{"icon":"faHexagonXmark","aliases":["faTimesHexagon","faXmarkHexagon"]},{"icon":"faHighDefinition","aliases":["faRectangleHd"]},{"icon":"faHighlighter","aliases":[]},{"icon":"faHighlighterLine","aliases":[]},{"icon":"faHiking","aliases":["faHiking"]},{"icon":"faHillAvalanche","aliases":[]},{"icon":"faHillRockslide","aliases":[]},{"icon":"faHippo","aliases":[]},{"icon":"faHistory","aliases":["faHistory"]},{"icon":"faHockeyMask","aliases":[]},{"icon":"faHockeyPuck","aliases":[]},{"icon":"faHockeyStickPuck","aliases":[]},{"icon":"faHockeySticks","aliases":[]},{"icon":"faHollyBerry","aliases":[]},{"icon":"faHome","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeBlank","aliases":["faHomeBlank"]},{"icon":"faHomeHeart","aliases":["faHomeHeart"]},{"icon":"faHomeLg","aliases":["faHomeLg"]},{"icon":"faHomeLgAlt","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHomeUser","aliases":["faHomeUser"]},{"icon":"faHoneyPot","aliases":[]},{"icon":"faHoodCloak","aliases":[]},{"icon":"faHorizontalRule","aliases":[]},{"icon":"faHorse","aliases":[]},{"icon":"faHorseHead","aliases":[]},{"icon":"faHorseSaddle","aliases":[]},{"icon":"faHose","aliases":[]},{"icon":"faHoseReel","aliases":[]},{"icon":"faHospital","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalAlt","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitalSymbol","aliases":["faHospitalSymbol"]},{"icon":"faHospitalUser","aliases":[]},{"icon":"faHospitalWide","aliases":["faHospitalAlt","faHospitalWide"]},{"icon":"faHospitals","aliases":[]},{"icon":"faHotTub","aliases":["faHotTub"]},{"icon":"faHotTubPerson","aliases":["faHotTub"]},{"icon":"faHotdog","aliases":[]},{"icon":"faHotel","aliases":[]},{"icon":"faHourglass","aliases":["faHourglassEmpty"]},{"icon":"faHourglass1","aliases":["faHourglass1"]},{"icon":"faHourglass2","aliases":["faHourglass2"]},{"icon":"faHourglass3","aliases":["faHourglass3"]},{"icon":"faHourglassClock","aliases":[]},{"icon":"faHourglassEmpty","aliases":["faHourglassEmpty"]},{"icon":"faHourglassEnd","aliases":["faHourglass3"]},{"icon":"faHourglassHalf","aliases":["faHourglass2"]},{"icon":"faHourglassStart","aliases":["faHourglass1"]},{"icon":"faHouse","aliases":["faHome","faHomeAlt","faHomeLgAlt"]},{"icon":"faHouseBlank","aliases":["faHomeBlank"]},{"icon":"faHouseBuilding","aliases":[]},{"icon":"faHouseChimney","aliases":["faHomeLg"]},{"icon":"faHouseChimneyBlank","aliases":[]},{"icon":"faHouseChimneyCrack","aliases":["faHouseDamage"]},{"icon":"faHouseChimneyHeart","aliases":[]},{"icon":"faHouseChimneyMedical","aliases":["faClinicMedical"]},{"icon":"faHouseChimneyUser","aliases":[]},{"icon":"faHouseChimneyWindow","aliases":[]},{"icon":"faHouseCircleCheck","aliases":[]},{"icon":"faHouseCircleExclamation","aliases":[]},{"icon":"faHouseCircleXmark","aliases":[]},{"icon":"faHouseCrack","aliases":[]},{"icon":"faHouseDamage","aliases":["faHouseDamage"]},{"icon":"faHouseDay","aliases":[]},{"icon":"faHouseFire","aliases":[]},{"icon":"faHouseFlag","aliases":[]},{"icon":"faHouseFlood","aliases":["faHouseFlood"]},{"icon":"faHouseFloodWater","aliases":[]},{"icon":"faHouseFloodWaterCircleArrowRight","aliases":[]},{"icon":"faHouseHeart","aliases":["faHomeHeart"]},{"icon":"faHouseLaptop","aliases":["faLaptopHouse"]},{"icon":"faHouseLeave","aliases":["faHouseLeave","faHousePersonDepart"]},{"icon":"faHouseLock","aliases":[]},{"icon":"faHouseMedical","aliases":[]},{"icon":"faHouseMedicalCircleCheck","aliases":[]},{"icon":"faHouseMedicalCircleExclamation","aliases":[]},{"icon":"faHouseMedicalCircleXmark","aliases":[]},{"icon":"faHouseMedicalFlag","aliases":[]},{"icon":"faHouseNight","aliases":[]},{"icon":"faHousePersonArrive","aliases":["faHousePersonArrive","faHouseReturn"]},{"icon":"faHousePersonDepart","aliases":["faHouseLeave","faHousePersonDepart"]},{"icon":"faHousePersonLeave","aliases":["faHouseLeave","faHousePersonDepart"]},{"icon":"faHousePersonReturn","aliases":["faHousePersonArrive","faHouseReturn"]},{"icon":"faHouseReturn","aliases":["faHousePersonArrive","faHouseReturn"]},{"icon":"faHouseSignal","aliases":[]},{"icon":"faHouseTree","aliases":[]},{"icon":"faHouseTsunami","aliases":[]},{"icon":"faHouseTurret","aliases":[]},{"icon":"faHouseUser","aliases":["faHomeUser"]},{"icon":"faHouseWater","aliases":["faHouseFlood"]},{"icon":"faHouseWindow","aliases":[]},{"icon":"faHryvnia","aliases":["faHryvnia"]},{"icon":"faHryvniaSign","aliases":["faHryvnia"]},{"icon":"faHumidity","aliases":["faHumidity"]},{"icon":"faHundredPoints","aliases":["fa100"]},{"icon":"faHurricane","aliases":[]},{"icon":"faHydra","aliases":[]},{"icon":"faHyphen","aliases":[]},{"icon":"faI","aliases":[]},{"icon":"faICursor","aliases":[]},{"icon":"faIceCream","aliases":[]},{"icon":"faIceSkate","aliases":[]},{"icon":"faIcicles","aliases":[]},{"icon":"faIcons","aliases":["faHeartMusicCameraBolt"]},{"icon":"faIconsAlt","aliases":["faIconsAlt"]},{"icon":"faIdBadge","aliases":[]},{"icon":"faIdCard","aliases":["faDriversLicense"]},{"icon":"faIdCardAlt","aliases":["faIdCardAlt"]},{"icon":"faIdCardClip","aliases":["faIdCardAlt"]},{"icon":"faIgloo","aliases":[]},{"icon":"faIls","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faImage","aliases":[]},{"icon":"faImageLandscape","aliases":["faLandscape"]},{"icon":"faImagePolaroid","aliases":[]},{"icon":"faImagePolaroidUser","aliases":[]},{"icon":"faImagePortrait","aliases":["faPortrait"]},{"icon":"faImageSlash","aliases":[]},{"icon":"faImageUser","aliases":[]},{"icon":"faImages","aliases":[]},{"icon":"faImagesUser","aliases":[]},{"icon":"faInbox","aliases":[]},{"icon":"faInboxArrowDown","aliases":["faInboxArrowDown"]},{"icon":"faInboxArrowUp","aliases":["faInboxArrowUp"]},{"icon":"faInboxFull","aliases":[]},{"icon":"faInboxIn","aliases":["faInboxArrowDown"]},{"icon":"faInboxOut","aliases":["faInboxArrowUp"]},{"icon":"faInboxes","aliases":[]},{"icon":"faIndent","aliases":[]},{"icon":"faIndianRupee","aliases":["faIndianRupee","faInr"]},{"icon":"faIndianRupeeSign","aliases":["faIndianRupee","faInr"]},{"icon":"faIndustry","aliases":[]},{"icon":"faIndustryAlt","aliases":["faIndustryAlt"]},{"icon":"faIndustryWindows","aliases":["faIndustryAlt"]},{"icon":"faInfinity","aliases":[]},{"icon":"faInfo","aliases":[]},{"icon":"faInfoCircle","aliases":["faInfoCircle"]},{"icon":"faInfoSquare","aliases":["faInfoSquare"]},{"icon":"faInhaler","aliases":[]},{"icon":"faInputNumeric","aliases":[]},{"icon":"faInputPipe","aliases":[]},{"icon":"faInputText","aliases":[]},{"icon":"faInr","aliases":["faIndianRupee","faInr"]},{"icon":"faInstitution","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faIntegral","aliases":[]},{"icon":"faInterrobang","aliases":[]},{"icon":"faIntersection","aliases":[]},{"icon":"faInventory","aliases":["faInventory"]},{"icon":"faIslandTreePalm","aliases":["faIslandTreePalm"]},{"icon":"faIslandTropical","aliases":["faIslandTreePalm"]},{"icon":"faItalic","aliases":[]},{"icon":"faJ","aliases":[]},{"icon":"faJackOLantern","aliases":[]},{"icon":"faJar","aliases":[]},{"icon":"faJarWheat","aliases":[]},{"icon":"faJedi","aliases":[]},{"icon":"faJetFighter","aliases":["faFighterJet"]},{"icon":"faJetFighterUp","aliases":[]},{"icon":"faJoint","aliases":[]},{"icon":"faJournalWhills","aliases":["faJournalWhills"]},{"icon":"faJoystick","aliases":[]},{"icon":"faJpy","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faJug","aliases":[]},{"icon":"faJugBottle","aliases":[]},{"icon":"faJugDetergent","aliases":[]},{"icon":"faK","aliases":[]},{"icon":"faKaaba","aliases":[]},{"icon":"faKazoo","aliases":[]},{"icon":"faKerning","aliases":[]},{"icon":"faKey","aliases":[]},{"icon":"faKeySkeleton","aliases":[]},{"icon":"faKeySkeletonLeftRight","aliases":[]},{"icon":"faKeyboard","aliases":[]},{"icon":"faKeyboardBrightness","aliases":[]},{"icon":"faKeyboardBrightnessLow","aliases":[]},{"icon":"faKeyboardDown","aliases":[]},{"icon":"faKeyboardLeft","aliases":[]},{"icon":"faKeynote","aliases":[]},{"icon":"faKhanda","aliases":[]},{"icon":"faKidneys","aliases":[]},{"icon":"faKipSign","aliases":[]},{"icon":"faKiss","aliases":["faKiss"]},{"icon":"faKissBeam","aliases":["faKissBeam"]},{"icon":"faKissWinkHeart","aliases":["faKissWinkHeart"]},{"icon":"faKitMedical","aliases":["faFirstAid"]},{"icon":"faKitchenSet","aliases":[]},{"icon":"faKite","aliases":[]},{"icon":"faKiwiBird","aliases":[]},{"icon":"faKiwiFruit","aliases":[]},{"icon":"faKnife","aliases":["faUtensilKnife"]},{"icon":"faKnifeKitchen","aliases":[]},{"icon":"faKrw","aliases":["faKrw","faWon"]},{"icon":"faL","aliases":[]},{"icon":"faLacrosseStick","aliases":[]},{"icon":"faLacrosseStickBall","aliases":[]},{"icon":"faLadderWater","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faLambda","aliases":[]},{"icon":"faLamp","aliases":[]},{"icon":"faLampDesk","aliases":[]},{"icon":"faLampFloor","aliases":[]},{"icon":"faLampStreet","aliases":[]},{"icon":"faLandMineOn","aliases":[]},{"icon":"faLandmark","aliases":[]},{"icon":"faLandmarkAlt","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkDome","aliases":["faLandmarkAlt"]},{"icon":"faLandmarkFlag","aliases":[]},{"icon":"faLandmarkMagnifyingGlass","aliases":[]},{"icon":"faLandscape","aliases":["faLandscape"]},{"icon":"faLanguage","aliases":[]},{"icon":"faLaptop","aliases":[]},{"icon":"faLaptopArrowDown","aliases":[]},{"icon":"faLaptopBinary","aliases":[]},{"icon":"faLaptopCode","aliases":[]},{"icon":"faLaptopFile","aliases":[]},{"icon":"faLaptopHouse","aliases":["faLaptopHouse"]},{"icon":"faLaptopMedical","aliases":[]},{"icon":"faLaptopMobile","aliases":["faPhoneLaptop"]},{"icon":"faLaptopSlash","aliases":[]},{"icon":"faLariSign","aliases":[]},{"icon":"faLasso","aliases":[]},{"icon":"faLassoSparkles","aliases":[]},{"icon":"faLaugh","aliases":["faLaugh"]},{"icon":"faLaughBeam","aliases":["faLaughBeam"]},{"icon":"faLaughSquint","aliases":["faLaughSquint"]},{"icon":"faLaughWink","aliases":["faLaughWink"]},{"icon":"faLayerGroup","aliases":[]},{"icon":"faLayerGroupMinus","aliases":["faLayerGroupMinus"]},{"icon":"faLayerGroupPlus","aliases":["faLayerGroupPlus"]},{"icon":"faLayerMinus","aliases":["faLayerGroupMinus"]},{"icon":"faLayerPlus","aliases":["faLayerGroupPlus"]},{"icon":"faLeaf","aliases":[]},{"icon":"faLeafHeart","aliases":[]},{"icon":"faLeafMaple","aliases":[]},{"icon":"faLeafOak","aliases":[]},{"icon":"faLeafyGreen","aliases":[]},{"icon":"faLeft","aliases":["faArrowAltLeft"]},{"icon":"faLeftFromBracket","aliases":[]},{"icon":"faLeftFromLine","aliases":["faArrowAltFromRight"]},{"icon":"faLeftLong","aliases":["faLongArrowAltLeft"]},{"icon":"faLeftLongToLine","aliases":[]},{"icon":"faLeftRight","aliases":["faArrowsAltH"]},{"icon":"faLeftToBracket","aliases":[]},{"icon":"faLeftToLine","aliases":["faArrowAltToLeft"]},{"icon":"faLegal","aliases":["faLegal"]},{"icon":"faLemon","aliases":[]},{"icon":"faLessThan","aliases":[]},{"icon":"faLessThanEqual","aliases":[]},{"icon":"faLevelDown","aliases":["faLevelDown"]},{"icon":"faLevelDownAlt","aliases":["faLevelDownAlt"]},{"icon":"faLevelUp","aliases":["faLevelUp"]},{"icon":"faLevelUpAlt","aliases":["faLevelUpAlt"]},{"icon":"faLifeRing","aliases":[]},{"icon":"faLightCeiling","aliases":[]},{"icon":"faLightEmergency","aliases":[]},{"icon":"faLightEmergencyOn","aliases":[]},{"icon":"faLightSwitch","aliases":[]},{"icon":"faLightSwitchOff","aliases":[]},{"icon":"faLightSwitchOn","aliases":[]},{"icon":"faLightbulb","aliases":[]},{"icon":"faLightbulbCfl","aliases":[]},{"icon":"faLightbulbCflOn","aliases":[]},{"icon":"faLightbulbDollar","aliases":[]},{"icon":"faLightbulbExclamation","aliases":[]},{"icon":"faLightbulbExclamationOn","aliases":[]},{"icon":"faLightbulbGear","aliases":[]},{"icon":"faLightbulbMessage","aliases":[]},{"icon":"faLightbulbOn","aliases":[]},{"icon":"faLightbulbSlash","aliases":[]},{"icon":"faLighthouse","aliases":[]},{"icon":"faLightsHoliday","aliases":[]},{"icon":"faLineChart","aliases":["faLineChart"]},{"icon":"faLineColumns","aliases":[]},{"icon":"faLineHeight","aliases":[]},{"icon":"faLinesLeaning","aliases":[]},{"icon":"faLink","aliases":["faChain"]},{"icon":"faLinkHorizontal","aliases":["faChainHorizontal"]},{"icon":"faLinkHorizontalSlash","aliases":["faChainHorizontalSlash"]},{"icon":"faLinkSimple","aliases":[]},{"icon":"faLinkSimpleSlash","aliases":[]},{"icon":"faLinkSlash","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faLips","aliases":[]},{"icon":"faLiraSign","aliases":[]},{"icon":"faList","aliases":["faListSquares"]},{"icon":"faList12","aliases":["faList12","faListNumeric"]},{"icon":"faListAlt","aliases":["faListAlt"]},{"icon":"faListCheck","aliases":["faTasks"]},{"icon":"faListDots","aliases":["faListDots"]},{"icon":"faListDropdown","aliases":[]},{"icon":"faListMusic","aliases":[]},{"icon":"faListNumeric","aliases":["faList12","faListNumeric"]},{"icon":"faListOl","aliases":["faList12","faListNumeric"]},{"icon":"faListRadio","aliases":[]},{"icon":"faListSquares","aliases":["faListSquares"]},{"icon":"faListTimeline","aliases":[]},{"icon":"faListTree","aliases":[]},{"icon":"faListUl","aliases":["faListDots"]},{"icon":"faLitecoinSign","aliases":[]},{"icon":"faLoader","aliases":[]},{"icon":"faLobster","aliases":[]},{"icon":"faLocation","aliases":["faLocation"]},{"icon":"faLocationArrow","aliases":[]},{"icon":"faLocationArrowUp","aliases":[]},{"icon":"faLocationCheck","aliases":["faMapMarkerCheck"]},{"icon":"faLocationCircle","aliases":["faLocationCircle"]},{"icon":"faLocationCrosshairs","aliases":["faLocation"]},{"icon":"faLocationCrosshairsSlash","aliases":["faLocationSlash"]},{"icon":"faLocationDot","aliases":["faMapMarkerAlt"]},{"icon":"faLocationDotSlash","aliases":["faMapMarkerAltSlash"]},{"icon":"faLocationExclamation","aliases":["faMapMarkerExclamation"]},{"icon":"faLocationMinus","aliases":["faMapMarkerMinus"]},{"icon":"faLocationPen","aliases":["faMapMarkerEdit"]},{"icon":"faLocationPin","aliases":["faMapMarker"]},{"icon":"faLocationPinLock","aliases":[]},{"icon":"faLocationPinSlash","aliases":["faMapMarkerSlash"]},{"icon":"faLocationPlus","aliases":["faMapMarkerPlus"]},{"icon":"faLocationQuestion","aliases":["faMapMarkerQuestion"]},{"icon":"faLocationSlash","aliases":["faLocationSlash"]},{"icon":"faLocationSmile","aliases":["faMapMarkerSmile"]},{"icon":"faLocationXmark","aliases":["faMapMarkerTimes","faMapMarkerXmark"]},{"icon":"faLock","aliases":[]},{"icon":"faLockA","aliases":[]},{"icon":"faLockAlt","aliases":["faLockAlt"]},{"icon":"faLockHashtag","aliases":[]},{"icon":"faLockKeyhole","aliases":["faLockAlt"]},{"icon":"faLockKeyholeOpen","aliases":["faLockOpenAlt"]},{"icon":"faLockOpen","aliases":[]},{"icon":"faLockOpenAlt","aliases":["faLockOpenAlt"]},{"icon":"faLocust","aliases":[]},{"icon":"faLollipop","aliases":["faLollypop"]},{"icon":"faLollypop","aliases":["faLollypop"]},{"icon":"faLongArrowAltDown","aliases":["faLongArrowAltDown"]},{"icon":"faLongArrowAltLeft","aliases":["faLongArrowAltLeft"]},{"icon":"faLongArrowAltRight","aliases":["faLongArrowAltRight"]},{"icon":"faLongArrowAltUp","aliases":["faLongArrowAltUp"]},{"icon":"faLongArrowDown","aliases":["faLongArrowDown"]},{"icon":"faLongArrowLeft","aliases":["faLongArrowLeft"]},{"icon":"faLongArrowRight","aliases":["faLongArrowRight"]},{"icon":"faLongArrowUp","aliases":["faLongArrowUp"]},{"icon":"faLoveseat","aliases":["faCouchSmall"]},{"icon":"faLowVision","aliases":["faLowVision"]},{"icon":"faLuchador","aliases":["faLuchador","faMaskLuchador"]},{"icon":"faLuchadorMask","aliases":["faLuchador","faMaskLuchador"]},{"icon":"faLuggageCart","aliases":["faLuggageCart"]},{"icon":"faLungs","aliases":[]},{"icon":"faLungsVirus","aliases":[]},{"icon":"faM","aliases":[]},{"icon":"faMace","aliases":[]},{"icon":"faMagic","aliases":["faMagic"]},{"icon":"faMagicWandSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faMagnet","aliases":[]},{"icon":"faMagnifyingGlass","aliases":["faSearch"]},{"icon":"faMagnifyingGlassArrowRight","aliases":[]},{"icon":"faMagnifyingGlassArrowsRotate","aliases":[]},{"icon":"faMagnifyingGlassChart","aliases":[]},{"icon":"faMagnifyingGlassDollar","aliases":["faSearchDollar"]},{"icon":"faMagnifyingGlassLocation","aliases":["faSearchLocation"]},{"icon":"faMagnifyingGlassMinus","aliases":["faSearchMinus"]},{"icon":"faMagnifyingGlassMusic","aliases":[]},{"icon":"faMagnifyingGlassPlay","aliases":[]},{"icon":"faMagnifyingGlassPlus","aliases":["faSearchPlus"]},{"icon":"faMagnifyingGlassWaveform","aliases":[]},{"icon":"faMailBulk","aliases":["faMailBulk"]},{"icon":"faMailForward","aliases":["faMailForward"]},{"icon":"faMailReply","aliases":["faMailReply"]},{"icon":"faMailReplyAll","aliases":["faMailReplyAll"]},{"icon":"faMailbox","aliases":[]},{"icon":"faMailboxFlagUp","aliases":[]},{"icon":"faMakiRoll","aliases":["faMakiRoll","faMakizushi"]},{"icon":"faMakizushi","aliases":["faMakiRoll","faMakizushi"]},{"icon":"faMale","aliases":["faMale"]},{"icon":"faManatSign","aliases":[]},{"icon":"faMandolin","aliases":[]},{"icon":"faMango","aliases":[]},{"icon":"faManhole","aliases":[]},{"icon":"faMap","aliases":[]},{"icon":"faMapLocation","aliases":["faMapMarked"]},{"icon":"faMapLocationDot","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarked","aliases":["faMapMarked"]},{"icon":"faMapMarkedAlt","aliases":["faMapMarkedAlt"]},{"icon":"faMapMarker","aliases":["faMapMarker"]},{"icon":"faMapMarkerAlt","aliases":["faMapMarkerAlt"]},{"icon":"faMapMarkerAltSlash","aliases":["faMapMarkerAltSlash"]},{"icon":"faMapMarkerCheck","aliases":["faMapMarkerCheck"]},{"icon":"faMapMarkerEdit","aliases":["faMapMarkerEdit"]},{"icon":"faMapMarkerExclamation","aliases":["faMapMarkerExclamation"]},{"icon":"faMapMarkerMinus","aliases":["faMapMarkerMinus"]},{"icon":"faMapMarkerPlus","aliases":["faMapMarkerPlus"]},{"icon":"faMapMarkerQuestion","aliases":["faMapMarkerQuestion"]},{"icon":"faMapMarkerSlash","aliases":["faMapMarkerSlash"]},{"icon":"faMapMarkerSmile","aliases":["faMapMarkerSmile"]},{"icon":"faMapMarkerTimes","aliases":["faMapMarkerTimes","faMapMarkerXmark"]},{"icon":"faMapMarkerXmark","aliases":["faMapMarkerTimes","faMapMarkerXmark"]},{"icon":"faMapPin","aliases":[]},{"icon":"faMapSigns","aliases":["faMapSigns"]},{"icon":"faMarker","aliases":[]},{"icon":"faMars","aliases":[]},{"icon":"faMarsAndVenus","aliases":[]},{"icon":"faMarsAndVenusBurst","aliases":[]},{"icon":"faMarsDouble","aliases":[]},{"icon":"faMarsStroke","aliases":[]},{"icon":"faMarsStrokeH","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeRight","aliases":["faMarsStrokeH"]},{"icon":"faMarsStrokeUp","aliases":["faMarsStrokeV"]},{"icon":"faMarsStrokeV","aliases":["faMarsStrokeV"]},{"icon":"faMartiniGlass","aliases":["faGlassMartiniAlt"]},{"icon":"faMartiniGlassCitrus","aliases":["faCocktail"]},{"icon":"faMartiniGlassEmpty","aliases":["faGlassMartini"]},{"icon":"faMask","aliases":[]},{"icon":"faMaskFace","aliases":[]},{"icon":"faMaskLuchador","aliases":["faLuchador","faMaskLuchador"]},{"icon":"faMaskSnorkel","aliases":[]},{"icon":"faMaskVentilator","aliases":[]},{"icon":"faMasksTheater","aliases":["faTheaterMasks"]},{"icon":"faMattressPillow","aliases":[]},{"icon":"faMaximize","aliases":["faExpandArrowsAlt"]},{"icon":"faMeat","aliases":[]},{"icon":"faMedal","aliases":[]},{"icon":"faMedkit","aliases":["faMedkit"]},{"icon":"faMegaphone","aliases":[]},{"icon":"faMeh","aliases":["faMeh"]},{"icon":"faMehBlank","aliases":["faMehBlank"]},{"icon":"faMehRollingEyes","aliases":["faMehRollingEyes"]},{"icon":"faMelon","aliases":[]},{"icon":"faMelonSlice","aliases":[]},{"icon":"faMemo","aliases":[]},{"icon":"faMemoCircleCheck","aliases":[]},{"icon":"faMemoCircleInfo","aliases":[]},{"icon":"faMemoPad","aliases":[]},{"icon":"faMemory","aliases":[]},{"icon":"faMenorah","aliases":[]},{"icon":"faMercury","aliases":[]},{"icon":"faMerge","aliases":[]},{"icon":"faMessage","aliases":["faCommentAlt"]},{"icon":"faMessageArrowDown","aliases":["faCommentAltArrowDown"]},{"icon":"faMessageArrowUp","aliases":["faCommentAltArrowUp"]},{"icon":"faMessageArrowUpRight","aliases":[]},{"icon":"faMessageBot","aliases":[]},{"icon":"faMessageCaptions","aliases":["faCommentAltCaptions"]},{"icon":"faMessageCheck","aliases":["faCommentAltCheck"]},{"icon":"faMessageCode","aliases":[]},{"icon":"faMessageDollar","aliases":["faCommentAltDollar"]},{"icon":"faMessageDots","aliases":["faCommentAltDots","faMessaging"]},{"icon":"faMessageEdit","aliases":["faCommentAltEdit","faMessageEdit"]},{"icon":"faMessageExclamation","aliases":["faCommentAltExclamation"]},{"icon":"faMessageHeart","aliases":[]},{"icon":"faMessageImage","aliases":["faCommentAltImage"]},{"icon":"faMessageLines","aliases":["faCommentAltLines"]},{"icon":"faMessageMedical","aliases":["faCommentAltMedical"]},{"icon":"faMessageMiddle","aliases":["faCommentMiddleAlt"]},{"icon":"faMessageMiddleTop","aliases":["faCommentMiddleTopAlt"]},{"icon":"faMessageMinus","aliases":["faCommentAltMinus"]},{"icon":"faMessageMusic","aliases":["faCommentAltMusic"]},{"icon":"faMessagePen","aliases":["faCommentAltEdit","faMessageEdit"]},{"icon":"faMessagePlus","aliases":["faCommentAltPlus"]},{"icon":"faMessageQuestion","aliases":[]},{"icon":"faMessageQuote","aliases":["faCommentAltQuote"]},{"icon":"faMessageSlash","aliases":["faCommentAltSlash"]},{"icon":"faMessageSmile","aliases":["faCommentAltSmile"]},{"icon":"faMessageSms","aliases":[]},{"icon":"faMessageText","aliases":["faCommentAltText"]},{"icon":"faMessageTimes","aliases":["faCommentAltTimes","faMessageTimes"]},{"icon":"faMessageXmark","aliases":["faCommentAltTimes","faMessageTimes"]},{"icon":"faMessages","aliases":["faCommentsAlt"]},{"icon":"faMessagesDollar","aliases":["faCommentsAltDollar"]},{"icon":"faMessagesQuestion","aliases":[]},{"icon":"faMessaging","aliases":["faCommentAltDots","faMessaging"]},{"icon":"faMeteor","aliases":[]},{"icon":"faMeter","aliases":[]},{"icon":"faMeterBolt","aliases":[]},{"icon":"faMeterDroplet","aliases":[]},{"icon":"faMeterFire","aliases":[]},{"icon":"faMicrochip","aliases":[]},{"icon":"faMicrochipAi","aliases":[]},{"icon":"faMicrophone","aliases":[]},{"icon":"faMicrophoneAlt","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneAltSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneCircle","aliases":["faMicrophoneCircle"]},{"icon":"faMicrophoneCircleAlt","aliases":["faMicrophoneCircleAlt"]},{"icon":"faMicrophoneLines","aliases":["faMicrophoneAlt"]},{"icon":"faMicrophoneLinesSlash","aliases":["faMicrophoneAltSlash"]},{"icon":"faMicrophoneSlash","aliases":[]},{"icon":"faMicrophoneStand","aliases":[]},{"icon":"faMicroscope","aliases":[]},{"icon":"faMicrowave","aliases":[]},{"icon":"faMillSign","aliases":[]},{"icon":"faMindShare","aliases":["faMindShare"]},{"icon":"faMinimize","aliases":["faCompressArrowsAlt"]},{"icon":"faMinus","aliases":["faSubtract"]},{"icon":"faMinusCircle","aliases":["faMinusCircle"]},{"icon":"faMinusHexagon","aliases":["faMinusHexagon"]},{"icon":"faMinusLarge","aliases":["faMinusLarge"]},{"icon":"faMinusOctagon","aliases":["faMinusOctagon"]},{"icon":"faMinusSquare","aliases":["faMinusSquare"]},{"icon":"faMistletoe","aliases":[]},{"icon":"faMitten","aliases":[]},{"icon":"faMobile","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAlt","aliases":["faMobileAlt"]},{"icon":"faMobileAndroid","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileAndroidAlt","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileButton","aliases":[]},{"icon":"faMobileIphone","aliases":["faMobileIphone"]},{"icon":"faMobileNotch","aliases":["faMobileIphone"]},{"icon":"faMobilePhone","aliases":["faMobileAndroid","faMobilePhone"]},{"icon":"faMobileRetro","aliases":[]},{"icon":"faMobileScreen","aliases":["faMobileAndroidAlt"]},{"icon":"faMobileScreenButton","aliases":["faMobileAlt"]},{"icon":"faMobileSignal","aliases":[]},{"icon":"faMobileSignalOut","aliases":[]},{"icon":"faMoneyBill","aliases":[]},{"icon":"faMoneyBill1","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBill1Wave","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillAlt","aliases":["faMoneyBillAlt"]},{"icon":"faMoneyBillSimple","aliases":[]},{"icon":"faMoneyBillSimpleWave","aliases":[]},{"icon":"faMoneyBillTransfer","aliases":[]},{"icon":"faMoneyBillTrendUp","aliases":[]},{"icon":"faMoneyBillWave","aliases":[]},{"icon":"faMoneyBillWaveAlt","aliases":["faMoneyBillWaveAlt"]},{"icon":"faMoneyBillWheat","aliases":[]},{"icon":"faMoneyBills","aliases":[]},{"icon":"faMoneyBillsAlt","aliases":["faMoneyBillsAlt"]},{"icon":"faMoneyBillsSimple","aliases":["faMoneyBillsAlt"]},{"icon":"faMoneyCheck","aliases":[]},{"icon":"faMoneyCheckAlt","aliases":["faMoneyCheckAlt"]},{"icon":"faMoneyCheckDollar","aliases":["faMoneyCheckAlt"]},{"icon":"faMoneyCheckDollarPen","aliases":["faMoneyCheckEditAlt"]},{"icon":"faMoneyCheckEdit","aliases":["faMoneyCheckEdit"]},{"icon":"faMoneyCheckEditAlt","aliases":["faMoneyCheckEditAlt"]},{"icon":"faMoneyCheckPen","aliases":["faMoneyCheckEdit"]},{"icon":"faMoneyFromBracket","aliases":[]},{"icon":"faMoneySimpleFromBracket","aliases":[]},{"icon":"faMonitorHeartRate","aliases":["faMonitorHeartRate"]},{"icon":"faMonitorWaveform","aliases":["faMonitorHeartRate"]},{"icon":"faMonkey","aliases":[]},{"icon":"faMonument","aliases":[]},{"icon":"faMoon","aliases":[]},{"icon":"faMoonCloud","aliases":[]},{"icon":"faMoonOverSun","aliases":["faEclipseAlt"]},{"icon":"faMoonStars","aliases":[]},{"icon":"faMoped","aliases":[]},{"icon":"faMortarBoard","aliases":["faMortarBoard"]},{"icon":"faMortarPestle","aliases":[]},{"icon":"faMosque","aliases":[]},{"icon":"faMosquito","aliases":[]},{"icon":"faMosquitoNet","aliases":[]},{"icon":"faMotorcycle","aliases":[]},{"icon":"faMound","aliases":[]},{"icon":"faMountain","aliases":[]},{"icon":"faMountainCity","aliases":[]},{"icon":"faMountainSun","aliases":[]},{"icon":"faMountains","aliases":[]},{"icon":"faMouse","aliases":["faMouse"]},{"icon":"faMouseAlt","aliases":["faMouseAlt"]},{"icon":"faMouseField","aliases":[]},{"icon":"faMousePointer","aliases":["faMousePointer"]},{"icon":"faMp3Player","aliases":[]},{"icon":"faMug","aliases":[]},{"icon":"faMugHot","aliases":[]},{"icon":"faMugMarshmallows","aliases":[]},{"icon":"faMugSaucer","aliases":["faCoffee"]},{"icon":"faMugTea","aliases":[]},{"icon":"faMugTeaSaucer","aliases":[]},{"icon":"faMultiply","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faMuseum","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faMushroom","aliases":[]},{"icon":"faMusic","aliases":[]},{"icon":"faMusicAlt","aliases":["faMusicAlt"]},{"icon":"faMusicAltSlash","aliases":["faMusicAltSlash"]},{"icon":"faMusicMagnifyingGlass","aliases":[]},{"icon":"faMusicNote","aliases":["faMusicAlt"]},{"icon":"faMusicNoteSlash","aliases":["faMusicAltSlash"]},{"icon":"faMusicSlash","aliases":[]},{"icon":"faMustache","aliases":[]},{"icon":"faN","aliases":[]},{"icon":"faNairaSign","aliases":[]},{"icon":"faNarwhal","aliases":[]},{"icon":"faNavicon","aliases":["faNavicon"]},{"icon":"faNestingDolls","aliases":[]},{"icon":"faNetworkWired","aliases":[]},{"icon":"faNeuter","aliases":[]},{"icon":"faNewspaper","aliases":[]},{"icon":"faNfc","aliases":[]},{"icon":"faNfcLock","aliases":[]},{"icon":"faNfcMagnifyingGlass","aliases":[]},{"icon":"faNfcPen","aliases":[]},{"icon":"faNfcSignal","aliases":[]},{"icon":"faNfcSlash","aliases":[]},{"icon":"faNfcSymbol","aliases":[]},{"icon":"faNfcTrash","aliases":[]},{"icon":"faNigiri","aliases":["faNigiri"]},{"icon":"faNose","aliases":[]},{"icon":"faNotEqual","aliases":[]},{"icon":"faNotdef","aliases":[]},{"icon":"faNote","aliases":[]},{"icon":"faNoteMedical","aliases":[]},{"icon":"faNoteSticky","aliases":["faStickyNote"]},{"icon":"faNotebook","aliases":[]},{"icon":"faNotes","aliases":[]},{"icon":"faNotesMedical","aliases":[]},{"icon":"faO","aliases":[]},{"icon":"faObjectExclude","aliases":[]},{"icon":"faObjectGroup","aliases":[]},{"icon":"faObjectIntersect","aliases":[]},{"icon":"faObjectSubtract","aliases":[]},{"icon":"faObjectUngroup","aliases":[]},{"icon":"faObjectUnion","aliases":[]},{"icon":"faObjectsAlignBottom","aliases":[]},{"icon":"faObjectsAlignCenterHorizontal","aliases":[]},{"icon":"faObjectsAlignCenterVertical","aliases":[]},{"icon":"faObjectsAlignLeft","aliases":[]},{"icon":"faObjectsAlignRight","aliases":[]},{"icon":"faObjectsAlignTop","aliases":[]},{"icon":"faObjectsColumn","aliases":[]},{"icon":"faOctagon","aliases":[]},{"icon":"faOctagonCheck","aliases":[]},{"icon":"faOctagonDivide","aliases":[]},{"icon":"faOctagonExclamation","aliases":[]},{"icon":"faOctagonMinus","aliases":["faMinusOctagon"]},{"icon":"faOctagonPlus","aliases":["faPlusOctagon"]},{"icon":"faOctagonXmark","aliases":["faTimesOctagon","faXmarkOctagon"]},{"icon":"faOctopus","aliases":[]},{"icon":"faOilCan","aliases":[]},{"icon":"faOilCanDrip","aliases":[]},{"icon":"faOilTemp","aliases":["faOilTemp"]},{"icon":"faOilTemperature","aliases":["faOilTemp"]},{"icon":"faOilWell","aliases":[]},{"icon":"faOlive","aliases":[]},{"icon":"faOliveBranch","aliases":[]},{"icon":"faOm","aliases":[]},{"icon":"faOmega","aliases":[]},{"icon":"faOnion","aliases":[]},{"icon":"faOption","aliases":[]},{"icon":"faOrnament","aliases":[]},{"icon":"faOtter","aliases":[]},{"icon":"faOutdent","aliases":["faDedent"]},{"icon":"faOutlet","aliases":[]},{"icon":"faOven","aliases":[]},{"icon":"faOverline","aliases":[]},{"icon":"faP","aliases":[]},{"icon":"faPage","aliases":[]},{"icon":"faPageBreak","aliases":["faPageBreak"]},{"icon":"faPageCaretDown","aliases":["faFileCaretDown"]},{"icon":"faPageCaretUp","aliases":["faFileCaretUp"]},{"icon":"faPager","aliases":[]},{"icon":"faPaintBrushAlt","aliases":["faPaintBrushAlt","faPaintBrushFine","faPaintbrushAlt"]},{"icon":"faPaintRoller","aliases":[]},{"icon":"faPaintbrush","aliases":["faPaintBrush"]},{"icon":"faPaintbrushFine","aliases":["faPaintBrushAlt","faPaintBrushFine","faPaintbrushAlt"]},{"icon":"faPaintbrushPencil","aliases":[]},{"icon":"faPalette","aliases":[]},{"icon":"faPaletteBoxes","aliases":["faPaletteBoxes","faPalletAlt"]},{"icon":"faPallet","aliases":[]},{"icon":"faPalletAlt","aliases":["faPaletteBoxes","faPalletAlt"]},{"icon":"faPalletBox","aliases":[]},{"icon":"faPalletBoxes","aliases":["faPaletteBoxes","faPalletAlt"]},{"icon":"faPanFood","aliases":[]},{"icon":"faPanFrying","aliases":[]},{"icon":"faPancakes","aliases":[]},{"icon":"faPanelEws","aliases":[]},{"icon":"faPanelFire","aliases":[]},{"icon":"faPanorama","aliases":[]},{"icon":"faPaperPlane","aliases":[]},{"icon":"faPaperPlaneAlt","aliases":["faPaperPlaneAlt","faSend"]},{"icon":"faPaperPlaneTop","aliases":["faPaperPlaneAlt","faSend"]},{"icon":"faPaperclip","aliases":[]},{"icon":"faPaperclipVertical","aliases":[]},{"icon":"faParachuteBox","aliases":[]},{"icon":"faParagraph","aliases":[]},{"icon":"faParagraphLeft","aliases":["faParagraphRtl"]},{"icon":"faParagraphRtl","aliases":["faParagraphRtl"]},{"icon":"faParentheses","aliases":["faParentheses"]},{"icon":"faParenthesis","aliases":["faParenthesis"]},{"icon":"faParking","aliases":["faParking"]},{"icon":"faParkingCircle","aliases":["faParkingCircle"]},{"icon":"faParkingCircleSlash","aliases":["faParkingCircleSlash"]},{"icon":"faParkingSlash","aliases":["faParkingSlash"]},{"icon":"faPartyBack","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faPartyBell","aliases":[]},{"icon":"faPartyHorn","aliases":[]},{"icon":"faPassport","aliases":[]},{"icon":"faPastafarianism","aliases":["faPastafarianism"]},{"icon":"faPaste","aliases":["faFileClipboard"]},{"icon":"faPause","aliases":[]},{"icon":"faPauseCircle","aliases":["faPauseCircle"]},{"icon":"faPaw","aliases":[]},{"icon":"faPawAlt","aliases":["faPawAlt"]},{"icon":"faPawClaws","aliases":[]},{"icon":"faPawSimple","aliases":["faPawAlt"]},{"icon":"faPeace","aliases":[]},{"icon":"faPeach","aliases":[]},{"icon":"faPeanut","aliases":[]},{"icon":"faPeanuts","aliases":[]},{"icon":"faPeapod","aliases":[]},{"icon":"faPear","aliases":[]},{"icon":"faPedestal","aliases":[]},{"icon":"faPegasus","aliases":[]},{"icon":"faPen","aliases":[]},{"icon":"faPenAlt","aliases":["faPenAlt"]},{"icon":"faPenAltSlash","aliases":["faPenAltSlash"]},{"icon":"faPenCircle","aliases":[]},{"icon":"faPenClip","aliases":["faPenAlt"]},{"icon":"faPenClipSlash","aliases":["faPenAltSlash"]},{"icon":"faPenFancy","aliases":[]},{"icon":"faPenFancySlash","aliases":[]},{"icon":"faPenField","aliases":[]},{"icon":"faPenLine","aliases":[]},{"icon":"faPenNib","aliases":[]},{"icon":"faPenNibSlash","aliases":[]},{"icon":"faPenPaintbrush","aliases":["faPencilPaintbrush"]},{"icon":"faPenRuler","aliases":["faPencilRuler"]},{"icon":"faPenSlash","aliases":[]},{"icon":"faPenSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPenSwirl","aliases":[]},{"icon":"faPenToSquare","aliases":["faEdit"]},{"icon":"faPencil","aliases":["faPencilAlt"]},{"icon":"faPencilAlt","aliases":["faPencilAlt"]},{"icon":"faPencilMechanical","aliases":[]},{"icon":"faPencilPaintbrush","aliases":["faPencilPaintbrush"]},{"icon":"faPencilRuler","aliases":["faPencilRuler"]},{"icon":"faPencilSlash","aliases":[]},{"icon":"faPencilSquare","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faPennant","aliases":["faPennant"]},{"icon":"faPeople","aliases":[]},{"icon":"faPeopleArrows","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleArrowsLeftRight","aliases":["faPeopleArrowsLeftRight"]},{"icon":"faPeopleCarry","aliases":["faPeopleCarry"]},{"icon":"faPeopleCarryBox","aliases":["faPeopleCarry"]},{"icon":"faPeopleDress","aliases":[]},{"icon":"faPeopleDressSimple","aliases":[]},{"icon":"faPeopleGroup","aliases":[]},{"icon":"faPeopleLine","aliases":[]},{"icon":"faPeoplePants","aliases":[]},{"icon":"faPeoplePantsSimple","aliases":[]},{"icon":"faPeoplePulling","aliases":[]},{"icon":"faPeopleRobbery","aliases":[]},{"icon":"faPeopleRoof","aliases":[]},{"icon":"faPeopleSimple","aliases":[]},{"icon":"faPepper","aliases":[]},{"icon":"faPepperHot","aliases":[]},{"icon":"faPercent","aliases":["faPercentage"]},{"icon":"faPercentage","aliases":["faPercentage"]},{"icon":"faPeriod","aliases":[]},{"icon":"faPerson","aliases":["faMale"]},{"icon":"faPersonArrowDownToLine","aliases":[]},{"icon":"faPersonArrowUpFromLine","aliases":[]},{"icon":"faPersonBiking","aliases":["faBiking"]},{"icon":"faPersonBikingMountain","aliases":["faBikingMountain"]},{"icon":"faPersonBooth","aliases":[]},{"icon":"faPersonBreastfeeding","aliases":[]},{"icon":"faPersonBurst","aliases":[]},{"icon":"faPersonCane","aliases":[]},{"icon":"faPersonCarry","aliases":["faPersonCarry"]},{"icon":"faPersonCarryBox","aliases":["faPersonCarry"]},{"icon":"faPersonChalkboard","aliases":[]},{"icon":"faPersonCircleCheck","aliases":[]},{"icon":"faPersonCircleExclamation","aliases":[]},{"icon":"faPersonCircleMinus","aliases":[]},{"icon":"faPersonCirclePlus","aliases":[]},{"icon":"faPersonCircleQuestion","aliases":[]},{"icon":"faPersonCircleXmark","aliases":[]},{"icon":"faPersonDigging","aliases":["faDigging"]},{"icon":"faPersonDolly","aliases":[]},{"icon":"faPersonDollyEmpty","aliases":[]},{"icon":"faPersonDotsFromLine","aliases":["faDiagnoses"]},{"icon":"faPersonDress","aliases":["faFemale"]},{"icon":"faPersonDressBurst","aliases":[]},{"icon":"faPersonDressFairy","aliases":[]},{"icon":"faPersonDressSimple","aliases":[]},{"icon":"faPersonDrowning","aliases":[]},{"icon":"faPersonFairy","aliases":[]},{"icon":"faPersonFalling","aliases":[]},{"icon":"faPersonFallingBurst","aliases":[]},{"icon":"faPersonFromPortal","aliases":["faPortalExit"]},{"icon":"faPersonHalfDress","aliases":[]},{"icon":"faPersonHarassing","aliases":[]},{"icon":"faPersonHiking","aliases":["faHiking"]},{"icon":"faPersonMilitaryPointing","aliases":[]},{"icon":"faPersonMilitaryRifle","aliases":[]},{"icon":"faPersonMilitaryToPerson","aliases":[]},{"icon":"faPersonPinball","aliases":[]},{"icon":"faPersonPraying","aliases":["faPray"]},{"icon":"faPersonPregnant","aliases":[]},{"icon":"faPersonRays","aliases":[]},{"icon":"faPersonRifle","aliases":[]},{"icon":"faPersonRunning","aliases":["faRunning"]},{"icon":"faPersonRunningFast","aliases":[]},{"icon":"faPersonSeat","aliases":[]},{"icon":"faPersonSeatReclined","aliases":[]},{"icon":"faPersonShelter","aliases":[]},{"icon":"faPersonSign","aliases":[]},{"icon":"faPersonSimple","aliases":[]},{"icon":"faPersonSkating","aliases":["faSkating"]},{"icon":"faPersonSkiJumping","aliases":["faSkiJump"]},{"icon":"faPersonSkiLift","aliases":["faSkiLift"]},{"icon":"faPersonSkiing","aliases":["faSkiing"]},{"icon":"faPersonSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faPersonSledding","aliases":["faSledding"]},{"icon":"faPersonSnowboarding","aliases":["faSnowboarding"]},{"icon":"faPersonSnowmobiling","aliases":["faSnowmobile"]},{"icon":"faPersonSwimming","aliases":["faSwimmer"]},{"icon":"faPersonThroughWindow","aliases":[]},{"icon":"faPersonToDoor","aliases":[]},{"icon":"faPersonToPortal","aliases":["faPortalEnter"]},{"icon":"faPersonWalking","aliases":["faWalking"]},{"icon":"faPersonWalkingArrowLoopLeft","aliases":[]},{"icon":"faPersonWalkingArrowRight","aliases":[]},{"icon":"faPersonWalkingDashedLineArrowRight","aliases":[]},{"icon":"faPersonWalkingLuggage","aliases":[]},{"icon":"faPersonWalkingWithCane","aliases":["faBlind"]},{"icon":"faPesetaSign","aliases":[]},{"icon":"faPesoSign","aliases":[]},{"icon":"faPhone","aliases":[]},{"icon":"faPhoneAlt","aliases":["faPhoneAlt"]},{"icon":"faPhoneArrowDown","aliases":["faPhoneArrowDown","faPhoneIncoming"]},{"icon":"faPhoneArrowDownLeft","aliases":["faPhoneArrowDown","faPhoneIncoming"]},{"icon":"faPhoneArrowRight","aliases":[]},{"icon":"faPhoneArrowUp","aliases":["faPhoneArrowUp","faPhoneOutgoing"]},{"icon":"faPhoneArrowUpRight","aliases":["faPhoneArrowUp","faPhoneOutgoing"]},{"icon":"faPhoneCircle","aliases":["faPhoneCircle"]},{"icon":"faPhoneCircleAlt","aliases":["faPhoneCircleAlt"]},{"icon":"faPhoneCircleDown","aliases":["faPhoneCircleDown"]},{"icon":"faPhoneFlip","aliases":["faPhoneAlt"]},{"icon":"faPhoneHangup","aliases":[]},{"icon":"faPhoneIncoming","aliases":["faPhoneArrowDown","faPhoneIncoming"]},{"icon":"faPhoneIntercom","aliases":[]},{"icon":"faPhoneLaptop","aliases":["faPhoneLaptop"]},{"icon":"faPhoneMissed","aliases":[]},{"icon":"faPhoneOffice","aliases":[]},{"icon":"faPhoneOutgoing","aliases":["faPhoneArrowUp","faPhoneOutgoing"]},{"icon":"faPhonePlus","aliases":[]},{"icon":"faPhoneRotary","aliases":[]},{"icon":"faPhoneSlash","aliases":[]},{"icon":"faPhoneSquare","aliases":["faPhoneSquare"]},{"icon":"faPhoneSquareAlt","aliases":["faPhoneSquareAlt"]},{"icon":"faPhoneSquareDown","aliases":["faPhoneSquareDown"]},{"icon":"faPhoneVolume","aliases":["faVolumeControlPhone"]},{"icon":"faPhoneXmark","aliases":[]},{"icon":"faPhotoFilm","aliases":["faPhotoVideo"]},{"icon":"faPhotoFilmMusic","aliases":[]},{"icon":"faPhotoVideo","aliases":["faPhotoVideo"]},{"icon":"faPi","aliases":[]},{"icon":"faPiano","aliases":[]},{"icon":"faPianoKeyboard","aliases":[]},{"icon":"faPickaxe","aliases":[]},{"icon":"faPickleball","aliases":[]},{"icon":"faPie","aliases":[]},{"icon":"faPieChart","aliases":["faPieChart"]},{"icon":"faPig","aliases":[]},{"icon":"faPiggyBank","aliases":[]},{"icon":"faPills","aliases":[]},{"icon":"faPinata","aliases":[]},{"icon":"faPinball","aliases":[]},{"icon":"faPineapple","aliases":[]},{"icon":"faPingPongPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faPipe","aliases":[]},{"icon":"faPipeCircleCheck","aliases":[]},{"icon":"faPipeCollar","aliases":[]},{"icon":"faPipeSection","aliases":[]},{"icon":"faPipeSmoking","aliases":[]},{"icon":"faPipeValve","aliases":[]},{"icon":"faPizza","aliases":[]},{"icon":"faPizzaSlice","aliases":[]},{"icon":"faPlaceOfWorship","aliases":[]},{"icon":"faPlane","aliases":[]},{"icon":"faPlaneAlt","aliases":["faPlaneAlt"]},{"icon":"faPlaneArrival","aliases":[]},{"icon":"faPlaneCircleCheck","aliases":[]},{"icon":"faPlaneCircleExclamation","aliases":[]},{"icon":"faPlaneCircleXmark","aliases":[]},{"icon":"faPlaneDeparture","aliases":[]},{"icon":"faPlaneEngines","aliases":["faPlaneAlt"]},{"icon":"faPlaneLock","aliases":[]},{"icon":"faPlaneProp","aliases":[]},{"icon":"faPlaneSlash","aliases":[]},{"icon":"faPlaneTail","aliases":[]},{"icon":"faPlaneUp","aliases":[]},{"icon":"faPlaneUpSlash","aliases":[]},{"icon":"faPlanetMoon","aliases":[]},{"icon":"faPlanetRinged","aliases":[]},{"icon":"faPlantWilt","aliases":[]},{"icon":"faPlateUtensils","aliases":[]},{"icon":"faPlateWheat","aliases":[]},{"icon":"faPlay","aliases":[]},{"icon":"faPlayCircle","aliases":["faPlayCircle"]},{"icon":"faPlayPause","aliases":[]},{"icon":"faPlug","aliases":[]},{"icon":"faPlugCircleBolt","aliases":[]},{"icon":"faPlugCircleCheck","aliases":[]},{"icon":"faPlugCircleExclamation","aliases":[]},{"icon":"faPlugCircleMinus","aliases":[]},{"icon":"faPlugCirclePlus","aliases":[]},{"icon":"faPlugCircleXmark","aliases":[]},{"icon":"faPlus","aliases":["faAdd"]},{"icon":"faPlusCircle","aliases":["faPlusCircle"]},{"icon":"faPlusHexagon","aliases":["faPlusHexagon"]},{"icon":"faPlusLarge","aliases":[]},{"icon":"faPlusMinus","aliases":[]},{"icon":"faPlusOctagon","aliases":["faPlusOctagon"]},{"icon":"faPlusSquare","aliases":["faPlusSquare"]},{"icon":"faPodcast","aliases":[]},{"icon":"faPodium","aliases":[]},{"icon":"faPodiumStar","aliases":[]},{"icon":"faPoliceBox","aliases":[]},{"icon":"faPoll","aliases":["faPoll"]},{"icon":"faPollH","aliases":["faPollH"]},{"icon":"faPollPeople","aliases":[]},{"icon":"faPompebled","aliases":[]},{"icon":"faPoo","aliases":[]},{"icon":"faPooBolt","aliases":["faPooBolt"]},{"icon":"faPooStorm","aliases":["faPooBolt"]},{"icon":"faPool8Ball","aliases":[]},{"icon":"faPoop","aliases":[]},{"icon":"faPopcorn","aliases":[]},{"icon":"faPopsicle","aliases":[]},{"icon":"faPortalEnter","aliases":["faPortalEnter"]},{"icon":"faPortalExit","aliases":["faPortalExit"]},{"icon":"faPortrait","aliases":["faPortrait"]},{"icon":"faPotFood","aliases":[]},{"icon":"faPotato","aliases":[]},{"icon":"faPoundSign","aliases":["faGbp","faPoundSign"]},{"icon":"faPowerOff","aliases":[]},{"icon":"faPray","aliases":["faPray"]},{"icon":"faPrayingHands","aliases":["faPrayingHands"]},{"icon":"faPrescription","aliases":[]},{"icon":"faPrescriptionBottle","aliases":[]},{"icon":"faPrescriptionBottleAlt","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrescriptionBottleMedical","aliases":["faPrescriptionBottleAlt"]},{"icon":"faPrescriptionBottlePill","aliases":[]},{"icon":"faPresentation","aliases":["faPresentation"]},{"icon":"faPresentationScreen","aliases":["faPresentation"]},{"icon":"faPretzel","aliases":[]},{"icon":"faPrint","aliases":[]},{"icon":"faPrintMagnifyingGlass","aliases":["faPrintSearch"]},{"icon":"faPrintSearch","aliases":["faPrintSearch"]},{"icon":"faPrintSlash","aliases":[]},{"icon":"faPro","aliases":["faPro"]},{"icon":"faProcedures","aliases":["faProcedures"]},{"icon":"faProjectDiagram","aliases":["faProjectDiagram"]},{"icon":"faProjector","aliases":[]},{"icon":"faPump","aliases":[]},{"icon":"faPumpMedical","aliases":[]},{"icon":"faPumpSoap","aliases":[]},{"icon":"faPumpkin","aliases":[]},{"icon":"faPuzzle","aliases":[]},{"icon":"faPuzzlePiece","aliases":[]},{"icon":"faPuzzlePieceAlt","aliases":["faPuzzlePieceAlt"]},{"icon":"faPuzzlePieceSimple","aliases":["faPuzzlePieceAlt"]},{"icon":"faQ","aliases":[]},{"icon":"faQrcode","aliases":[]},{"icon":"faQuestion","aliases":[]},{"icon":"faQuestionCircle","aliases":["faQuestionCircle"]},{"icon":"faQuestionSquare","aliases":["faQuestionSquare"]},{"icon":"faQuidditch","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuidditchBroomBall","aliases":["faQuidditch","faQuidditchBroomBall"]},{"icon":"faQuoteLeft","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteLeftAlt","aliases":["faQuoteLeftAlt"]},{"icon":"faQuoteRight","aliases":["faQuoteRightAlt"]},{"icon":"faQuoteRightAlt","aliases":["faQuoteRightAlt"]},{"icon":"faQuotes","aliases":[]},{"icon":"faQuran","aliases":["faQuran"]},{"icon":"faR","aliases":[]},{"icon":"faRabbit","aliases":[]},{"icon":"faRabbitFast","aliases":["faRabbitFast"]},{"icon":"faRabbitRunning","aliases":["faRabbitFast"]},{"icon":"faRaccoon","aliases":[]},{"icon":"faRacquet","aliases":[]},{"icon":"faRadar","aliases":[]},{"icon":"faRadiation","aliases":[]},{"icon":"faRadiationAlt","aliases":["faRadiationAlt"]},{"icon":"faRadio","aliases":[]},{"icon":"faRadioAlt","aliases":["faRadioAlt"]},{"icon":"faRadioTuner","aliases":["faRadioAlt"]},{"icon":"faRainbow","aliases":[]},{"icon":"faRaindrops","aliases":[]},{"icon":"faRam","aliases":[]},{"icon":"faRampLoading","aliases":[]},{"icon":"faRandom","aliases":["faRandom"]},{"icon":"faRankingStar","aliases":[]},{"icon":"faRaygun","aliases":[]},{"icon":"faReceipt","aliases":[]},{"icon":"faRecordVinyl","aliases":[]},{"icon":"faRectangle","aliases":["faRectangleLandscape"]},{"icon":"faRectangleAd","aliases":["faAd"]},{"icon":"faRectangleBarcode","aliases":["faBarcodeAlt"]},{"icon":"faRectangleCode","aliases":[]},{"icon":"faRectangleHd","aliases":["faRectangleHd"]},{"icon":"faRectangleHistory","aliases":[]},{"icon":"faRectangleHistoryCirclePlus","aliases":[]},{"icon":"faRectangleHistoryCircleUser","aliases":[]},{"icon":"faRectangleLandscape","aliases":["faRectangleLandscape"]},{"icon":"faRectangleList","aliases":["faListAlt"]},{"icon":"faRectanglePortrait","aliases":["faRectanglePortrait"]},{"icon":"faRectanglePro","aliases":["faPro"]},{"icon":"faRectangleSd","aliases":["faRectangleSd"]},{"icon":"faRectangleTerminal","aliases":[]},{"icon":"faRectangleTimes","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRectangleVertical","aliases":["faRectanglePortrait"]},{"icon":"faRectangleVerticalHistory","aliases":[]},{"icon":"faRectangleWide","aliases":[]},{"icon":"faRectangleXmark","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faRectanglesMixed","aliases":[]},{"icon":"faRecycle","aliases":[]},{"icon":"faRedo","aliases":["faArrowRightRotate","faArrowRotateForward","faRedo"]},{"icon":"faRedoAlt","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faReel","aliases":[]},{"icon":"faReflectBoth","aliases":[]},{"icon":"faReflectHorizontal","aliases":[]},{"icon":"faReflectVertical","aliases":[]},{"icon":"faRefresh","aliases":["faRefresh","faSync"]},{"icon":"faRefrigerator","aliases":[]},{"icon":"faRegistered","aliases":[]},{"icon":"faRemove","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faRemoveFormat","aliases":["faRemoveFormat"]},{"icon":"faReorder","aliases":["faReorder","faStream"]},{"icon":"faRepeat","aliases":[]},{"icon":"faRepeat1","aliases":[]},{"icon":"faRepeat1Alt","aliases":["faRepeat1Alt"]},{"icon":"faRepeatAlt","aliases":["faRepeatAlt"]},{"icon":"faReply","aliases":["faMailReply"]},{"icon":"faReplyAll","aliases":["faMailReplyAll"]},{"icon":"faReplyClock","aliases":["faReplyTime"]},{"icon":"faReplyTime","aliases":["faReplyTime"]},{"icon":"faRepublican","aliases":[]},{"icon":"faRestroom","aliases":[]},{"icon":"faRestroomSimple","aliases":[]},{"icon":"faRetweet","aliases":[]},{"icon":"faRetweetAlt","aliases":["faRetweetAlt"]},{"icon":"faRhombus","aliases":[]},{"icon":"faRibbon","aliases":[]},{"icon":"faRight","aliases":["faArrowAltRight"]},{"icon":"faRightFromBracket","aliases":["faSignOutAlt"]},{"icon":"faRightFromLine","aliases":["faArrowAltFromLeft"]},{"icon":"faRightLeft","aliases":["faExchangeAlt"]},{"icon":"faRightLeftLarge","aliases":[]},{"icon":"faRightLong","aliases":["faLongArrowAltRight"]},{"icon":"faRightLongToLine","aliases":[]},{"icon":"faRightToBracket","aliases":["faSignInAlt"]},{"icon":"faRightToLine","aliases":["faArrowAltToRight"]},{"icon":"faRing","aliases":[]},{"icon":"faRingDiamond","aliases":[]},{"icon":"faRingsWedding","aliases":[]},{"icon":"faRmb","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faRoad","aliases":[]},{"icon":"faRoadBarrier","aliases":[]},{"icon":"faRoadBridge","aliases":[]},{"icon":"faRoadCircleCheck","aliases":[]},{"icon":"faRoadCircleExclamation","aliases":[]},{"icon":"faRoadCircleXmark","aliases":[]},{"icon":"faRoadLock","aliases":[]},{"icon":"faRoadSpikes","aliases":[]},{"icon":"faRobot","aliases":[]},{"icon":"faRobotAstromech","aliases":[]},{"icon":"faRocket","aliases":[]},{"icon":"faRocketLaunch","aliases":[]},{"icon":"faRodAsclepius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRodSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faRollerCoaster","aliases":[]},{"icon":"faRotate","aliases":["faSyncAlt"]},{"icon":"faRotateBack","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateBackward","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateExclamation","aliases":[]},{"icon":"faRotateForward","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRotateLeft","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faRotateReverse","aliases":[]},{"icon":"faRotateRight","aliases":["faRedoAlt","faRotateForward"]},{"icon":"faRouble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRoute","aliases":[]},{"icon":"faRouteHighway","aliases":[]},{"icon":"faRouteInterstate","aliases":[]},{"icon":"faRouter","aliases":[]},{"icon":"faRows","aliases":["faRows"]},{"icon":"faRss","aliases":["faFeed"]},{"icon":"faRssSquare","aliases":["faRssSquare"]},{"icon":"faRub","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRuble","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRubleSign","aliases":["faRouble","faRub","faRuble"]},{"icon":"faRug","aliases":[]},{"icon":"faRugbyBall","aliases":[]},{"icon":"faRuler","aliases":[]},{"icon":"faRulerCombined","aliases":[]},{"icon":"faRulerHorizontal","aliases":[]},{"icon":"faRulerTriangle","aliases":[]},{"icon":"faRulerVertical","aliases":[]},{"icon":"faRunning","aliases":["faRunning"]},{"icon":"faRupee","aliases":["faRupee"]},{"icon":"faRupeeSign","aliases":["faRupee"]},{"icon":"faRupiahSign","aliases":[]},{"icon":"faRv","aliases":[]},{"icon":"faS","aliases":[]},{"icon":"faSack","aliases":[]},{"icon":"faSackDollar","aliases":[]},{"icon":"faSackXmark","aliases":[]},{"icon":"faSadCry","aliases":["faSadCry"]},{"icon":"faSadTear","aliases":["faSadTear"]},{"icon":"faSailboat","aliases":[]},{"icon":"faSalad","aliases":["faBowlSalad"]},{"icon":"faSaltShaker","aliases":[]},{"icon":"faSandwich","aliases":[]},{"icon":"faSatellite","aliases":[]},{"icon":"faSatelliteDish","aliases":[]},{"icon":"faSausage","aliases":[]},{"icon":"faSave","aliases":["faSave"]},{"icon":"faSaveCircleArrowRight","aliases":["faSaveCircleArrowRight"]},{"icon":"faSaveCircleXmark","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faSaveTimes","aliases":["faFloppyDiskTimes","faSaveCircleXmark","faSaveTimes"]},{"icon":"faSaxHot","aliases":["faSaxHot"]},{"icon":"faSaxophone","aliases":[]},{"icon":"faSaxophoneFire","aliases":["faSaxHot"]},{"icon":"faScaleBalanced","aliases":["faBalanceScale"]},{"icon":"faScaleUnbalanced","aliases":["faBalanceScaleLeft"]},{"icon":"faScaleUnbalancedFlip","aliases":["faBalanceScaleRight"]},{"icon":"faScalpel","aliases":[]},{"icon":"faScalpelLineDashed","aliases":["faScalpelPath"]},{"icon":"faScalpelPath","aliases":["faScalpelPath"]},{"icon":"faScanner","aliases":["faScanner"]},{"icon":"faScannerGun","aliases":["faScanner"]},{"icon":"faScannerImage","aliases":[]},{"icon":"faScannerKeyboard","aliases":[]},{"icon":"faScannerTouchscreen","aliases":[]},{"icon":"faScarecrow","aliases":[]},{"icon":"faScarf","aliases":[]},{"icon":"faSchool","aliases":[]},{"icon":"faSchoolCircleCheck","aliases":[]},{"icon":"faSchoolCircleExclamation","aliases":[]},{"icon":"faSchoolCircleXmark","aliases":[]},{"icon":"faSchoolFlag","aliases":[]},{"icon":"faSchoolLock","aliases":[]},{"icon":"faScissors","aliases":["faCut"]},{"icon":"faScreenUsers","aliases":["faUsersClass"]},{"icon":"faScreencast","aliases":[]},{"icon":"faScreenshot","aliases":["faScreenshot"]},{"icon":"faScrewdriver","aliases":[]},{"icon":"faScrewdriverWrench","aliases":["faTools"]},{"icon":"faScribble","aliases":[]},{"icon":"faScroll","aliases":[]},{"icon":"faScrollOld","aliases":[]},{"icon":"faScrollRibbon","aliases":["faScrollRibbon"]},{"icon":"faScrollTorah","aliases":["faTorah"]},{"icon":"faScrubber","aliases":[]},{"icon":"faScythe","aliases":[]},{"icon":"faSdCard","aliases":[]},{"icon":"faSdCards","aliases":[]},{"icon":"faSeal","aliases":[]},{"icon":"faSealExclamation","aliases":[]},{"icon":"faSealQuestion","aliases":[]},{"icon":"faSearch","aliases":["faSearch"]},{"icon":"faSearchDollar","aliases":["faSearchDollar"]},{"icon":"faSearchLocation","aliases":["faSearchLocation"]},{"icon":"faSearchMinus","aliases":["faSearchMinus"]},{"icon":"faSearchPlus","aliases":["faSearchPlus"]},{"icon":"faSeatAirline","aliases":[]},{"icon":"faSection","aliases":[]},{"icon":"faSeedling","aliases":["faSprout"]},{"icon":"faSemicolon","aliases":[]},{"icon":"faSend","aliases":["faPaperPlaneAlt","faSend"]},{"icon":"faSendBack","aliases":[]},{"icon":"faSendBackward","aliases":[]},{"icon":"faSensor","aliases":[]},{"icon":"faSensorAlert","aliases":["faSensorAlert"]},{"icon":"faSensorCloud","aliases":["faSensorSmoke"]},{"icon":"faSensorFire","aliases":[]},{"icon":"faSensorOn","aliases":[]},{"icon":"faSensorSmoke","aliases":["faSensorSmoke"]},{"icon":"faSensorTriangleExclamation","aliases":["faSensorAlert"]},{"icon":"faServer","aliases":[]},{"icon":"faShapes","aliases":["faTriangleCircleSquare"]},{"icon":"faShare","aliases":["faMailForward"]},{"icon":"faShareAll","aliases":[]},{"icon":"faShareAlt","aliases":["faShareAlt"]},{"icon":"faShareAltSquare","aliases":["faShareAltSquare"]},{"icon":"faShareFromSquare","aliases":["faShareSquare"]},{"icon":"faShareNodes","aliases":["faShareAlt"]},{"icon":"faShareSquare","aliases":["faShareSquare"]},{"icon":"faSheep","aliases":[]},{"icon":"faSheetPlastic","aliases":[]},{"icon":"faShekel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShekelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShelves","aliases":["faInventory"]},{"icon":"faShelvesEmpty","aliases":[]},{"icon":"faSheqel","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faSheqelSign","aliases":["faIls","faShekel","faSheqel","faSheqelSign"]},{"icon":"faShield","aliases":["faShieldBlank"]},{"icon":"faShieldAlt","aliases":["faShieldAlt"]},{"icon":"faShieldBlank","aliases":["faShieldBlank"]},{"icon":"faShieldCat","aliases":[]},{"icon":"faShieldCheck","aliases":[]},{"icon":"faShieldCross","aliases":[]},{"icon":"faShieldDog","aliases":[]},{"icon":"faShieldExclamation","aliases":[]},{"icon":"faShieldHalved","aliases":["faShieldAlt"]},{"icon":"faShieldHeart","aliases":[]},{"icon":"faShieldKeyhole","aliases":[]},{"icon":"faShieldMinus","aliases":[]},{"icon":"faShieldPlus","aliases":[]},{"icon":"faShieldQuartered","aliases":[]},{"icon":"faShieldSlash","aliases":[]},{"icon":"faShieldTimes","aliases":["faShieldTimes"]},{"icon":"faShieldVirus","aliases":[]},{"icon":"faShieldXmark","aliases":["faShieldTimes"]},{"icon":"faShip","aliases":[]},{"icon":"faShippingFast","aliases":["faShippingFast"]},{"icon":"faShippingTimed","aliases":["faShippingTimed"]},{"icon":"faShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faShirtLongSleeve","aliases":[]},{"icon":"faShirtRunning","aliases":[]},{"icon":"faShirtTankTop","aliases":[]},{"icon":"faShishKebab","aliases":[]},{"icon":"faShoePrints","aliases":[]},{"icon":"faShop","aliases":["faStoreAlt"]},{"icon":"faShopLock","aliases":[]},{"icon":"faShopSlash","aliases":["faStoreAltSlash"]},{"icon":"faShoppingBag","aliases":["faShoppingBag"]},{"icon":"faShoppingBasket","aliases":["faShoppingBasket"]},{"icon":"faShoppingBasketAlt","aliases":["faShoppingBasketAlt"]},{"icon":"faShoppingCart","aliases":["faShoppingCart"]},{"icon":"faShortcake","aliases":["faShortcake"]},{"icon":"faShovel","aliases":[]},{"icon":"faShovelSnow","aliases":[]},{"icon":"faShower","aliases":[]},{"icon":"faShowerAlt","aliases":["faShowerAlt"]},{"icon":"faShowerDown","aliases":["faShowerAlt"]},{"icon":"faShredder","aliases":[]},{"icon":"faShrimp","aliases":[]},{"icon":"faShuffle","aliases":["faRandom"]},{"icon":"faShutters","aliases":[]},{"icon":"faShuttleSpace","aliases":["faSpaceShuttle"]},{"icon":"faShuttleVan","aliases":["faShuttleVan"]},{"icon":"faShuttlecock","aliases":[]},{"icon":"faSickle","aliases":[]},{"icon":"faSidebar","aliases":[]},{"icon":"faSidebarFlip","aliases":[]},{"icon":"faSigma","aliases":[]},{"icon":"faSign","aliases":["faSign"]},{"icon":"faSignHanging","aliases":["faSign"]},{"icon":"faSignIn","aliases":["faSignIn"]},{"icon":"faSignInAlt","aliases":["faSignInAlt"]},{"icon":"faSignLanguage","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignOut","aliases":["faSignOut"]},{"icon":"faSignOutAlt","aliases":["faSignOutAlt"]},{"icon":"faSignPost","aliases":[]},{"icon":"faSignPosts","aliases":[]},{"icon":"faSignPostsWrench","aliases":[]},{"icon":"faSignal","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignal1","aliases":["faSignal1"]},{"icon":"faSignal2","aliases":["faSignal2"]},{"icon":"faSignal3","aliases":["faSignal3"]},{"icon":"faSignal4","aliases":["faSignal4"]},{"icon":"faSignal5","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignalAlt","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalAlt1","aliases":["faSignalAlt1"]},{"icon":"faSignalAlt2","aliases":["faSignalAlt2"]},{"icon":"faSignalAlt3","aliases":["faSignalAlt3"]},{"icon":"faSignalAlt4","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalAltSlash","aliases":["faSignalAltSlash"]},{"icon":"faSignalBars","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalBarsFair","aliases":["faSignalAlt2"]},{"icon":"faSignalBarsGood","aliases":["faSignalAlt3"]},{"icon":"faSignalBarsSlash","aliases":["faSignalAltSlash"]},{"icon":"faSignalBarsStrong","aliases":["faSignalAlt","faSignalAlt4","faSignalBarsStrong"]},{"icon":"faSignalBarsWeak","aliases":["faSignalAlt1"]},{"icon":"faSignalFair","aliases":["faSignal2"]},{"icon":"faSignalGood","aliases":["faSignal3"]},{"icon":"faSignalPerfect","aliases":["faSignal5","faSignalPerfect"]},{"icon":"faSignalSlash","aliases":[]},{"icon":"faSignalStream","aliases":[]},{"icon":"faSignalStreamSlash","aliases":[]},{"icon":"faSignalStrong","aliases":["faSignal4"]},{"icon":"faSignalWeak","aliases":["faSignal1"]},{"icon":"faSignature","aliases":[]},{"icon":"faSignatureLock","aliases":[]},{"icon":"faSignatureSlash","aliases":[]},{"icon":"faSigning","aliases":["faSignLanguage","faSigning"]},{"icon":"faSignsPost","aliases":["faMapSigns"]},{"icon":"faSimCard","aliases":[]},{"icon":"faSimCards","aliases":[]},{"icon":"faSink","aliases":[]},{"icon":"faSiren","aliases":[]},{"icon":"faSirenOn","aliases":[]},{"icon":"faSitemap","aliases":[]},{"icon":"faSkating","aliases":["faSkating"]},{"icon":"faSkeleton","aliases":[]},{"icon":"faSkeletonRibs","aliases":[]},{"icon":"faSkiBoot","aliases":[]},{"icon":"faSkiBootSki","aliases":[]},{"icon":"faSkiJump","aliases":["faSkiJump"]},{"icon":"faSkiLift","aliases":["faSkiLift"]},{"icon":"faSkiing","aliases":["faSkiing"]},{"icon":"faSkiingNordic","aliases":["faSkiingNordic"]},{"icon":"faSkull","aliases":[]},{"icon":"faSkullCow","aliases":[]},{"icon":"faSkullCrossbones","aliases":[]},{"icon":"faSlash","aliases":[]},{"icon":"faSlashBack","aliases":[]},{"icon":"faSlashForward","aliases":[]},{"icon":"faSledding","aliases":["faSledding"]},{"icon":"faSleigh","aliases":[]},{"icon":"faSlider","aliases":[]},{"icon":"faSliders","aliases":["faSlidersH"]},{"icon":"faSlidersH","aliases":["faSlidersH"]},{"icon":"faSlidersHSquare","aliases":["faSlidersHSquare"]},{"icon":"faSlidersSimple","aliases":[]},{"icon":"faSlidersUp","aliases":["faSlidersV"]},{"icon":"faSlidersV","aliases":["faSlidersV"]},{"icon":"faSlidersVSquare","aliases":["faSlidersVSquare"]},{"icon":"faSlotMachine","aliases":[]},{"icon":"faSmile","aliases":["faSmile"]},{"icon":"faSmileBeam","aliases":["faSmileBeam"]},{"icon":"faSmilePlus","aliases":["faSmilePlus"]},{"icon":"faSmileWink","aliases":["faSmileWink"]},{"icon":"faSmog","aliases":[]},{"icon":"faSmoke","aliases":[]},{"icon":"faSmoking","aliases":[]},{"icon":"faSmokingBan","aliases":["faSmokingBan"]},{"icon":"faSms","aliases":["faSms"]},{"icon":"faSnake","aliases":[]},{"icon":"faSnooze","aliases":["faZzz"]},{"icon":"faSnowBlowing","aliases":[]},{"icon":"faSnowboarding","aliases":["faSnowboarding"]},{"icon":"faSnowflake","aliases":[]},{"icon":"faSnowflakeDroplets","aliases":[]},{"icon":"faSnowflakes","aliases":[]},{"icon":"faSnowman","aliases":[]},{"icon":"faSnowmanHead","aliases":["faFrostyHead"]},{"icon":"faSnowmobile","aliases":["faSnowmobile"]},{"icon":"faSnowplow","aliases":[]},{"icon":"faSoap","aliases":[]},{"icon":"faSoccerBall","aliases":["faFutbolBall","faSoccerBall"]},{"icon":"faSocks","aliases":[]},{"icon":"faSoftServe","aliases":["faCreemee"]},{"icon":"faSolarPanel","aliases":[]},{"icon":"faSolarSystem","aliases":[]},{"icon":"faSort","aliases":["faUnsorted"]},{"icon":"faSortAlphaAsc","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDesc","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaDown","aliases":["faSortAlphaAsc","faSortAlphaDown"]},{"icon":"faSortAlphaDownAlt","aliases":["faSortAlphaDesc","faSortAlphaDownAlt"]},{"icon":"faSortAlphaUp","aliases":["faSortAlphaUp"]},{"icon":"faSortAlphaUpAlt","aliases":["faSortAlphaUpAlt"]},{"icon":"faSortAlt","aliases":["faSortAlt"]},{"icon":"faSortAmountAsc","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDesc","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountDown","aliases":["faSortAmountAsc","faSortAmountDown"]},{"icon":"faSortAmountDownAlt","aliases":["faSortAmountDesc","faSortAmountDownAlt"]},{"icon":"faSortAmountUp","aliases":["faSortAmountUp"]},{"icon":"faSortAmountUpAlt","aliases":["faSortAmountUpAlt"]},{"icon":"faSortAsc","aliases":["faSortAsc"]},{"icon":"faSortCircle","aliases":["faSortCircle"]},{"icon":"faSortCircleDown","aliases":["faSortCircleDown"]},{"icon":"faSortCircleUp","aliases":["faSortCircleUp"]},{"icon":"faSortDesc","aliases":["faSortDesc"]},{"icon":"faSortDown","aliases":["faSortDesc"]},{"icon":"faSortNumericAsc","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDesc","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericDown","aliases":["faSortNumericAsc","faSortNumericDown"]},{"icon":"faSortNumericDownAlt","aliases":["faSortNumericDesc","faSortNumericDownAlt"]},{"icon":"faSortNumericUp","aliases":["faSortNumericUp"]},{"icon":"faSortNumericUpAlt","aliases":["faSortNumericUpAlt"]},{"icon":"faSortShapesDown","aliases":["faSortShapesDown"]},{"icon":"faSortShapesDownAlt","aliases":["faSortShapesDownAlt"]},{"icon":"faSortShapesUp","aliases":["faSortShapesUp"]},{"icon":"faSortShapesUpAlt","aliases":["faSortShapesUpAlt"]},{"icon":"faSortSizeDown","aliases":["faSortSizeDown"]},{"icon":"faSortSizeDownAlt","aliases":["faSortSizeDownAlt"]},{"icon":"faSortSizeUp","aliases":["faSortSizeUp"]},{"icon":"faSortSizeUpAlt","aliases":["faSortSizeUpAlt"]},{"icon":"faSortUp","aliases":["faSortAsc"]},{"icon":"faSortUpDown","aliases":["faSortUpDown"]},{"icon":"faSoup","aliases":["faSoup"]},{"icon":"faSpa","aliases":[]},{"icon":"faSpaceShuttle","aliases":["faSpaceShuttle"]},{"icon":"faSpaceStationMoon","aliases":[]},{"icon":"faSpaceStationMoonAlt","aliases":["faSpaceStationMoonAlt"]},{"icon":"faSpaceStationMoonConstruction","aliases":["faSpaceStationMoonAlt"]},{"icon":"faSpade","aliases":[]},{"icon":"faSpaghettiMonsterFlying","aliases":["faPastafarianism"]},{"icon":"faSparkle","aliases":[]},{"icon":"faSparkles","aliases":[]},{"icon":"faSpeaker","aliases":[]},{"icon":"faSpeakers","aliases":[]},{"icon":"faSpellCheck","aliases":[]},{"icon":"faSpider","aliases":[]},{"icon":"faSpiderBlackWidow","aliases":[]},{"icon":"faSpiderWeb","aliases":[]},{"icon":"faSpinner","aliases":[]},{"icon":"faSpinnerScale","aliases":[]},{"icon":"faSpinnerThird","aliases":[]},{"icon":"faSplit","aliases":[]},{"icon":"faSplotch","aliases":[]},{"icon":"faSpoon","aliases":["faUtensilSpoon"]},{"icon":"faSportsball","aliases":[]},{"icon":"faSprayCan","aliases":[]},{"icon":"faSprayCanSparkles","aliases":["faAirFreshener"]},{"icon":"faSprinkler","aliases":[]},{"icon":"faSprinklerCeiling","aliases":[]},{"icon":"faSprout","aliases":["faSprout"]},{"icon":"faSquare","aliases":[]},{"icon":"faSquare0","aliases":[]},{"icon":"faSquare1","aliases":[]},{"icon":"faSquare2","aliases":[]},{"icon":"faSquare3","aliases":[]},{"icon":"faSquare4","aliases":[]},{"icon":"faSquare5","aliases":[]},{"icon":"faSquare6","aliases":[]},{"icon":"faSquare7","aliases":[]},{"icon":"faSquare8","aliases":[]},{"icon":"faSquare9","aliases":[]},{"icon":"faSquareA","aliases":[]},{"icon":"faSquareALock","aliases":[]},{"icon":"faSquareAmpersand","aliases":[]},{"icon":"faSquareArrowDown","aliases":["faArrowSquareDown"]},{"icon":"faSquareArrowDownLeft","aliases":[]},{"icon":"faSquareArrowDownRight","aliases":[]},{"icon":"faSquareArrowLeft","aliases":["faArrowSquareLeft"]},{"icon":"faSquareArrowRight","aliases":["faArrowSquareRight"]},{"icon":"faSquareArrowUp","aliases":["faArrowSquareUp"]},{"icon":"faSquareArrowUpLeft","aliases":[]},{"icon":"faSquareArrowUpRight","aliases":["faExternalLinkSquare"]},{"icon":"faSquareB","aliases":[]},{"icon":"faSquareBolt","aliases":[]},{"icon":"faSquareC","aliases":[]},{"icon":"faSquareCaretDown","aliases":["faCaretSquareDown"]},{"icon":"faSquareCaretLeft","aliases":["faCaretSquareLeft"]},{"icon":"faSquareCaretRight","aliases":["faCaretSquareRight"]},{"icon":"faSquareCaretUp","aliases":["faCaretSquareUp"]},{"icon":"faSquareCheck","aliases":["faCheckSquare"]},{"icon":"faSquareChevronDown","aliases":["faChevronSquareDown"]},{"icon":"faSquareChevronLeft","aliases":["faChevronSquareLeft"]},{"icon":"faSquareChevronRight","aliases":["faChevronSquareRight"]},{"icon":"faSquareChevronUp","aliases":["faChevronSquareUp"]},{"icon":"faSquareCode","aliases":[]},{"icon":"faSquareD","aliases":[]},{"icon":"faSquareDashed","aliases":[]},{"icon":"faSquareDashedCirclePlus","aliases":[]},{"icon":"faSquareDivide","aliases":[]},{"icon":"faSquareDollar","aliases":["faDollarSquare","faUsdSquare"]},{"icon":"faSquareDown","aliases":["faArrowAltSquareDown"]},{"icon":"faSquareDownLeft","aliases":[]},{"icon":"faSquareDownRight","aliases":[]},{"icon":"faSquareE","aliases":[]},{"icon":"faSquareEllipsis","aliases":[]},{"icon":"faSquareEllipsisVertical","aliases":[]},{"icon":"faSquareEnvelope","aliases":["faEnvelopeSquare"]},{"icon":"faSquareExclamation","aliases":["faExclamationSquare"]},{"icon":"faSquareF","aliases":[]},{"icon":"faSquareFragile","aliases":["faBoxFragile","faSquareWineGlassCrack"]},{"icon":"faSquareFull","aliases":[]},{"icon":"faSquareG","aliases":[]},{"icon":"faSquareH","aliases":["faHSquare"]},{"icon":"faSquareHeart","aliases":["faHeartSquare"]},{"icon":"faSquareI","aliases":[]},{"icon":"faSquareInfo","aliases":["faInfoSquare"]},{"icon":"faSquareJ","aliases":[]},{"icon":"faSquareK","aliases":[]},{"icon":"faSquareKanban","aliases":[]},{"icon":"faSquareL","aliases":[]},{"icon":"faSquareLeft","aliases":["faArrowAltSquareLeft"]},{"icon":"faSquareList","aliases":[]},{"icon":"faSquareM","aliases":[]},{"icon":"faSquareMinus","aliases":["faMinusSquare"]},{"icon":"faSquareN","aliases":[]},{"icon":"faSquareNfi","aliases":[]},{"icon":"faSquareO","aliases":[]},{"icon":"faSquareP","aliases":[]},{"icon":"faSquareParking","aliases":["faParking"]},{"icon":"faSquareParkingSlash","aliases":["faParkingSlash"]},{"icon":"faSquarePen","aliases":["faPenSquare","faPencilSquare"]},{"icon":"faSquarePersonConfined","aliases":[]},{"icon":"faSquarePhone","aliases":["faPhoneSquare"]},{"icon":"faSquarePhoneFlip","aliases":["faPhoneSquareAlt"]},{"icon":"faSquarePhoneHangup","aliases":["faPhoneSquareDown"]},{"icon":"faSquarePlus","aliases":["faPlusSquare"]},{"icon":"faSquarePollHorizontal","aliases":["faPollH"]},{"icon":"faSquarePollVertical","aliases":["faPoll"]},{"icon":"faSquareQ","aliases":[]},{"icon":"faSquareQuarters","aliases":[]},{"icon":"faSquareQuestion","aliases":["faQuestionSquare"]},{"icon":"faSquareQuote","aliases":[]},{"icon":"faSquareR","aliases":[]},{"icon":"faSquareRight","aliases":["faArrowAltSquareRight"]},{"icon":"faSquareRing","aliases":[]},{"icon":"faSquareRoot","aliases":[]},{"icon":"faSquareRootAlt","aliases":["faSquareRootAlt"]},{"icon":"faSquareRootVariable","aliases":["faSquareRootAlt"]},{"icon":"faSquareRss","aliases":["faRssSquare"]},{"icon":"faSquareS","aliases":[]},{"icon":"faSquareShareNodes","aliases":["faShareAltSquare"]},{"icon":"faSquareSliders","aliases":["faSlidersHSquare"]},{"icon":"faSquareSlidersVertical","aliases":["faSlidersVSquare"]},{"icon":"faSquareSmall","aliases":[]},{"icon":"faSquareStar","aliases":[]},{"icon":"faSquareT","aliases":[]},{"icon":"faSquareTerminal","aliases":[]},{"icon":"faSquareThisWayUp","aliases":["faBoxUp"]},{"icon":"faSquareU","aliases":[]},{"icon":"faSquareUp","aliases":["faArrowAltSquareUp"]},{"icon":"faSquareUpLeft","aliases":[]},{"icon":"faSquareUpRight","aliases":["faExternalLinkSquareAlt"]},{"icon":"faSquareUser","aliases":[]},{"icon":"faSquareV","aliases":[]},{"icon":"faSquareVirus","aliases":[]},{"icon":"faSquareW","aliases":[]},{"icon":"faSquareWineGlassCrack","aliases":["faBoxFragile","faSquareWineGlassCrack"]},{"icon":"faSquareX","aliases":[]},{"icon":"faSquareXmark","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faSquareY","aliases":[]},{"icon":"faSquareZ","aliases":[]},{"icon":"faSquid","aliases":[]},{"icon":"faSquirrel","aliases":[]},{"icon":"faStaff","aliases":[]},{"icon":"faStaffAesculapius","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStaffSnake","aliases":["faRodAsclepius","faRodSnake","faStaffAesculapius"]},{"icon":"faStairs","aliases":[]},{"icon":"faStamp","aliases":[]},{"icon":"faStandardDefinition","aliases":["faRectangleSd"]},{"icon":"faStapler","aliases":[]},{"icon":"faStar","aliases":[]},{"icon":"faStarAndCrescent","aliases":[]},{"icon":"faStarChristmas","aliases":[]},{"icon":"faStarCircle","aliases":["faStarCircle"]},{"icon":"faStarExclamation","aliases":[]},{"icon":"faStarHalf","aliases":[]},{"icon":"faStarHalfAlt","aliases":["faStarHalfAlt"]},{"icon":"faStarHalfStroke","aliases":["faStarHalfAlt"]},{"icon":"faStarOfDavid","aliases":[]},{"icon":"faStarOfLife","aliases":[]},{"icon":"faStarSharp","aliases":[]},{"icon":"faStarSharpHalf","aliases":[]},{"icon":"faStarSharpHalfAlt","aliases":["faStarSharpHalfAlt"]},{"icon":"faStarSharpHalfStroke","aliases":["faStarSharpHalfAlt"]},{"icon":"faStarShooting","aliases":[]},{"icon":"faStarfighter","aliases":[]},{"icon":"faStarfighterAlt","aliases":["faStarfighterAlt"]},{"icon":"faStarfighterAltAdvanced","aliases":["faStarfighterAltAdvanced"]},{"icon":"faStarfighterTwinIonEngine","aliases":["faStarfighterAlt"]},{"icon":"faStarfighterTwinIonEngineAdvanced","aliases":["faStarfighterAltAdvanced"]},{"icon":"faStars","aliases":[]},{"icon":"faStarship","aliases":[]},{"icon":"faStarshipFreighter","aliases":[]},{"icon":"faSteak","aliases":[]},{"icon":"faSteeringWheel","aliases":[]},{"icon":"faStepBackward","aliases":["faStepBackward"]},{"icon":"faStepForward","aliases":["faStepForward"]},{"icon":"faSterlingSign","aliases":["faGbp","faPoundSign"]},{"icon":"faStethoscope","aliases":[]},{"icon":"faStickyNote","aliases":["faStickyNote"]},{"icon":"faStocking","aliases":[]},{"icon":"faStomach","aliases":[]},{"icon":"faStop","aliases":[]},{"icon":"faStopCircle","aliases":["faStopCircle"]},{"icon":"faStopwatch","aliases":[]},{"icon":"faStopwatch20","aliases":[]},{"icon":"faStore","aliases":[]},{"icon":"faStoreAlt","aliases":["faStoreAlt"]},{"icon":"faStoreAltSlash","aliases":["faStoreAltSlash"]},{"icon":"faStoreLock","aliases":[]},{"icon":"faStoreSlash","aliases":[]},{"icon":"faStrawberry","aliases":[]},{"icon":"faStream","aliases":["faReorder","faStream"]},{"icon":"faStreetView","aliases":[]},{"icon":"faStretcher","aliases":[]},{"icon":"faStrikethrough","aliases":[]},{"icon":"faStroopwafel","aliases":[]},{"icon":"faSubscript","aliases":[]},{"icon":"faSubtitles","aliases":[]},{"icon":"faSubtitlesSlash","aliases":[]},{"icon":"faSubtract","aliases":["faSubtract"]},{"icon":"faSubway","aliases":["faSubway"]},{"icon":"faSubwayTunnel","aliases":["faSubwayTunnel"]},{"icon":"faSuitcase","aliases":[]},{"icon":"faSuitcaseMedical","aliases":["faMedkit"]},{"icon":"faSuitcaseRolling","aliases":[]},{"icon":"faSun","aliases":[]},{"icon":"faSunAlt","aliases":["faSunAlt"]},{"icon":"faSunBright","aliases":["faSunAlt"]},{"icon":"faSunCloud","aliases":[]},{"icon":"faSunDust","aliases":[]},{"icon":"faSunHaze","aliases":[]},{"icon":"faSunPlantWilt","aliases":[]},{"icon":"faSunglasses","aliases":[]},{"icon":"faSunrise","aliases":[]},{"icon":"faSunset","aliases":[]},{"icon":"faSuperscript","aliases":[]},{"icon":"faSurprise","aliases":["faSurprise"]},{"icon":"faSushi","aliases":["faNigiri"]},{"icon":"faSushiRoll","aliases":["faMakiRoll","faMakizushi"]},{"icon":"faSwap","aliases":[]},{"icon":"faSwapArrows","aliases":[]},{"icon":"faSwatchbook","aliases":[]},{"icon":"faSwimmer","aliases":["faSwimmer"]},{"icon":"faSwimmingPool","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faSword","aliases":[]},{"icon":"faSwordLaser","aliases":[]},{"icon":"faSwordLaserAlt","aliases":[]},{"icon":"faSwords","aliases":[]},{"icon":"faSwordsLaser","aliases":[]},{"icon":"faSymbols","aliases":["faIconsAlt"]},{"icon":"faSynagogue","aliases":[]},{"icon":"faSync","aliases":["faRefresh","faSync"]},{"icon":"faSyncAlt","aliases":["faSyncAlt"]},{"icon":"faSyringe","aliases":[]},{"icon":"faT","aliases":[]},{"icon":"faTRex","aliases":[]},{"icon":"faTShirt","aliases":["faTShirt","faTshirt"]},{"icon":"faTable","aliases":[]},{"icon":"faTableCells","aliases":["faTh"]},{"icon":"faTableCellsColumnLock","aliases":[]},{"icon":"faTableCellsColumnUnlock","aliases":[]},{"icon":"faTableCellsLarge","aliases":["faThLarge"]},{"icon":"faTableCellsLock","aliases":[]},{"icon":"faTableCellsRowLock","aliases":[]},{"icon":"faTableCellsRowUnlock","aliases":[]},{"icon":"faTableCellsUnlock","aliases":[]},{"icon":"faTableColumns","aliases":["faColumns"]},{"icon":"faTableLayout","aliases":[]},{"icon":"faTableList","aliases":["faThList"]},{"icon":"faTablePicnic","aliases":[]},{"icon":"faTablePivot","aliases":[]},{"icon":"faTableRows","aliases":["faRows"]},{"icon":"faTableTennis","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTableTennisPaddleBall","aliases":["faPingPongPaddleBall","faTableTennis"]},{"icon":"faTableTree","aliases":[]},{"icon":"faTablet","aliases":["faTabletAndroid"]},{"icon":"faTabletAlt","aliases":["faTabletAlt"]},{"icon":"faTabletAndroid","aliases":["faTabletAndroid"]},{"icon":"faTabletAndroidAlt","aliases":["faTabletAndroidAlt"]},{"icon":"faTabletButton","aliases":[]},{"icon":"faTabletRugged","aliases":[]},{"icon":"faTabletScreen","aliases":["faTabletAndroidAlt"]},{"icon":"faTabletScreenButton","aliases":["faTabletAlt"]},{"icon":"faTablets","aliases":[]},{"icon":"faTachographDigital","aliases":["faDigitalTachograph"]},{"icon":"faTachometer","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTachometerAlt","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAltAverage","aliases":["faDashboard","faGaugeMed","faTachometerAltAverage"]},{"icon":"faTachometerAltFast","aliases":["faTachometerAlt","faTachometerAltFast"]},{"icon":"faTachometerAltFastest","aliases":["faTachometerAltFastest"]},{"icon":"faTachometerAltSlow","aliases":["faTachometerAltSlow"]},{"icon":"faTachometerAltSlowest","aliases":["faTachometerAltSlowest"]},{"icon":"faTachometerAverage","aliases":["faGaugeSimpleMed","faTachometerAverage"]},{"icon":"faTachometerFast","aliases":["faTachometer","faTachometerFast"]},{"icon":"faTachometerFastest","aliases":["faTachometerFastest"]},{"icon":"faTachometerSlow","aliases":["faTachometerSlow"]},{"icon":"faTachometerSlowest","aliases":["faTachometerSlowest"]},{"icon":"faTaco","aliases":[]},{"icon":"faTag","aliases":[]},{"icon":"faTags","aliases":[]},{"icon":"faTally","aliases":["faTally5"]},{"icon":"faTally1","aliases":[]},{"icon":"faTally2","aliases":[]},{"icon":"faTally3","aliases":[]},{"icon":"faTally4","aliases":[]},{"icon":"faTally5","aliases":["faTally5"]},{"icon":"faTamale","aliases":[]},{"icon":"faTanakh","aliases":["faTanakh"]},{"icon":"faTankWater","aliases":[]},{"icon":"faTape","aliases":[]},{"icon":"faTarp","aliases":[]},{"icon":"faTarpDroplet","aliases":[]},{"icon":"faTasks","aliases":["faTasks"]},{"icon":"faTasksAlt","aliases":["faTasksAlt"]},{"icon":"faTaxi","aliases":["faCab"]},{"icon":"faTaxiBus","aliases":[]},{"icon":"faTeddyBear","aliases":[]},{"icon":"faTeeth","aliases":[]},{"icon":"faTeethOpen","aliases":[]},{"icon":"faTelescope","aliases":[]},{"icon":"faTeletype","aliases":["faTeletype"]},{"icon":"faTeletypeAnswer","aliases":["faTeletypeAnswer"]},{"icon":"faTelevision","aliases":["faTelevision","faTvAlt"]},{"icon":"faTemperature0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperature1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperature2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperature3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperature4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureArrowDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureArrowUp","aliases":["faTemperatureUp"]},{"icon":"faTemperatureDown","aliases":["faTemperatureDown"]},{"icon":"faTemperatureEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faTemperatureFrigid","aliases":["faTemperatureFrigid"]},{"icon":"faTemperatureFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faTemperatureHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faTemperatureHigh","aliases":[]},{"icon":"faTemperatureHot","aliases":["faTemperatureHot"]},{"icon":"faTemperatureList","aliases":[]},{"icon":"faTemperatureLow","aliases":[]},{"icon":"faTemperatureQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faTemperatureSnow","aliases":["faTemperatureFrigid"]},{"icon":"faTemperatureSun","aliases":["faTemperatureHot"]},{"icon":"faTemperatureThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTemperatureUp","aliases":["faTemperatureUp"]},{"icon":"faTenge","aliases":["faTenge"]},{"icon":"faTengeSign","aliases":["faTenge"]},{"icon":"faTennisBall","aliases":[]},{"icon":"faTent","aliases":[]},{"icon":"faTentArrowDownToLine","aliases":[]},{"icon":"faTentArrowLeftRight","aliases":[]},{"icon":"faTentArrowTurnLeft","aliases":[]},{"icon":"faTentArrowsDown","aliases":[]},{"icon":"faTentDoublePeak","aliases":[]},{"icon":"faTents","aliases":[]},{"icon":"faTerminal","aliases":[]},{"icon":"faText","aliases":[]},{"icon":"faTextHeight","aliases":[]},{"icon":"faTextSize","aliases":[]},{"icon":"faTextSlash","aliases":["faRemoveFormat"]},{"icon":"faTextWidth","aliases":[]},{"icon":"faTh","aliases":["faTh"]},{"icon":"faThLarge","aliases":["faThLarge"]},{"icon":"faThList","aliases":["faThList"]},{"icon":"faTheaterMasks","aliases":["faTheaterMasks"]},{"icon":"faThermometer","aliases":[]},{"icon":"faThermometer0","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometer1","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometer2","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometer3","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faThermometer4","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerEmpty","aliases":["faTemperature0","faThermometer0","faThermometerEmpty"]},{"icon":"faThermometerFull","aliases":["faTemperature4","faThermometer4","faThermometerFull"]},{"icon":"faThermometerHalf","aliases":["faTemperature2","faThermometer2","faThermometerHalf"]},{"icon":"faThermometerQuarter","aliases":["faTemperature1","faThermometer1","faThermometerQuarter"]},{"icon":"faThermometerThreeQuarters","aliases":["faTemperature3","faThermometer3","faThermometerThreeQuarters"]},{"icon":"faTheta","aliases":[]},{"icon":"faThoughtBubble","aliases":[]},{"icon":"faThumbsDown","aliases":[]},{"icon":"faThumbsUp","aliases":[]},{"icon":"faThumbtack","aliases":["faThumbTack"]},{"icon":"faThumbtackSlash","aliases":["faThumbTackSlash"]},{"icon":"faThunderstorm","aliases":["faThunderstorm"]},{"icon":"faThunderstormMoon","aliases":["faThunderstormMoon"]},{"icon":"faThunderstormSun","aliases":["faThunderstormSun"]},{"icon":"faTick","aliases":[]},{"icon":"faTicket","aliases":[]},{"icon":"faTicketAirline","aliases":["faTicketPerforatedPlane","faTicketPlane"]},{"icon":"faTicketAlt","aliases":["faTicketAlt"]},{"icon":"faTicketPerforated","aliases":[]},{"icon":"faTicketPerforatedPlane","aliases":["faTicketPerforatedPlane","faTicketPlane"]},{"icon":"faTicketPlane","aliases":["faTicketPerforatedPlane","faTicketPlane"]},{"icon":"faTicketSimple","aliases":["faTicketAlt"]},{"icon":"faTickets","aliases":[]},{"icon":"faTicketsAirline","aliases":["faTicketsPerforatedPlane","faTicketsPlane"]},{"icon":"faTicketsPerforated","aliases":[]},{"icon":"faTicketsPerforatedPlane","aliases":["faTicketsPerforatedPlane","faTicketsPlane"]},{"icon":"faTicketsPlane","aliases":["faTicketsPerforatedPlane","faTicketsPlane"]},{"icon":"faTicketsSimple","aliases":[]},{"icon":"faTilde","aliases":[]},{"icon":"faTimeline","aliases":[]},{"icon":"faTimelineArrow","aliases":[]},{"icon":"faTimer","aliases":[]},{"icon":"faTimes","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faTimesCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faTimesHexagon","aliases":["faTimesHexagon","faXmarkHexagon"]},{"icon":"faTimesOctagon","aliases":["faTimesOctagon","faXmarkOctagon"]},{"icon":"faTimesRectangle","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faTimesSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faTimesToSlot","aliases":["faTimesToSlot","faVoteNay"]},{"icon":"faTint","aliases":["faTint"]},{"icon":"faTintSlash","aliases":["faTintSlash"]},{"icon":"faTire","aliases":[]},{"icon":"faTireFlat","aliases":[]},{"icon":"faTirePressureWarning","aliases":[]},{"icon":"faTireRugged","aliases":[]},{"icon":"faTired","aliases":["faTired"]},{"icon":"faToggleLargeOff","aliases":[]},{"icon":"faToggleLargeOn","aliases":[]},{"icon":"faToggleOff","aliases":[]},{"icon":"faToggleOn","aliases":[]},{"icon":"faToilet","aliases":[]},{"icon":"faToiletPaper","aliases":[]},{"icon":"faToiletPaperAlt","aliases":["faToiletPaperAlt"]},{"icon":"faToiletPaperBlank","aliases":["faToiletPaperAlt"]},{"icon":"faToiletPaperBlankUnder","aliases":["faToiletPaperReverseAlt"]},{"icon":"faToiletPaperCheck","aliases":[]},{"icon":"faToiletPaperReverse","aliases":["faToiletPaperReverse"]},{"icon":"faToiletPaperReverseAlt","aliases":["faToiletPaperReverseAlt"]},{"icon":"faToiletPaperReverseSlash","aliases":["faToiletPaperReverseSlash"]},{"icon":"faToiletPaperSlash","aliases":[]},{"icon":"faToiletPaperUnder","aliases":["faToiletPaperReverse"]},{"icon":"faToiletPaperUnderSlash","aliases":["faToiletPaperReverseSlash"]},{"icon":"faToiletPaperXmark","aliases":[]},{"icon":"faToiletPortable","aliases":[]},{"icon":"faToiletsPortable","aliases":[]},{"icon":"faTomato","aliases":[]},{"icon":"faTombstone","aliases":[]},{"icon":"faTombstoneAlt","aliases":["faTombstoneAlt"]},{"icon":"faTombstoneBlank","aliases":["faTombstoneAlt"]},{"icon":"faToolbox","aliases":[]},{"icon":"faTools","aliases":["faTools"]},{"icon":"faTooth","aliases":[]},{"icon":"faToothbrush","aliases":[]},{"icon":"faTorah","aliases":["faTorah"]},{"icon":"faToriiGate","aliases":[]},{"icon":"faTornado","aliases":[]},{"icon":"faTowerBroadcast","aliases":["faBroadcastTower"]},{"icon":"faTowerCell","aliases":[]},{"icon":"faTowerControl","aliases":[]},{"icon":"faTowerObservation","aliases":[]},{"icon":"faTractor","aliases":[]},{"icon":"faTrademark","aliases":[]},{"icon":"faTrafficCone","aliases":[]},{"icon":"faTrafficLight","aliases":[]},{"icon":"faTrafficLightGo","aliases":[]},{"icon":"faTrafficLightSlow","aliases":[]},{"icon":"faTrafficLightStop","aliases":[]},{"icon":"faTrailer","aliases":[]},{"icon":"faTrain","aliases":[]},{"icon":"faTrainSubway","aliases":["faSubway"]},{"icon":"faTrainSubwayTunnel","aliases":["faSubwayTunnel"]},{"icon":"faTrainTrack","aliases":[]},{"icon":"faTrainTram","aliases":[]},{"icon":"faTrainTunnel","aliases":[]},{"icon":"faTram","aliases":["faTram"]},{"icon":"faTransformerBolt","aliases":[]},{"icon":"faTransgender","aliases":["faTransgenderAlt"]},{"icon":"faTransgenderAlt","aliases":["faTransgenderAlt"]},{"icon":"faTransporter","aliases":[]},{"icon":"faTransporter1","aliases":[]},{"icon":"faTransporter2","aliases":[]},{"icon":"faTransporter3","aliases":[]},{"icon":"faTransporter4","aliases":[]},{"icon":"faTransporter5","aliases":[]},{"icon":"faTransporter6","aliases":[]},{"icon":"faTransporter7","aliases":[]},{"icon":"faTransporterEmpty","aliases":[]},{"icon":"faTrash","aliases":[]},{"icon":"faTrashAlt","aliases":["faTrashAlt"]},{"icon":"faTrashAltSlash","aliases":["faTrashAltSlash"]},{"icon":"faTrashArrowTurnLeft","aliases":["faTrashArrowTurnLeft"]},{"icon":"faTrashArrowUp","aliases":["faTrashRestore"]},{"icon":"faTrashCan","aliases":["faTrashAlt"]},{"icon":"faTrashCanArrowTurnLeft","aliases":["faTrashCanArrowTurnLeft","faTrashUndoAlt"]},{"icon":"faTrashCanArrowUp","aliases":["faTrashRestoreAlt"]},{"icon":"faTrashCanCheck","aliases":[]},{"icon":"faTrashCanClock","aliases":[]},{"icon":"faTrashCanList","aliases":[]},{"icon":"faTrashCanPlus","aliases":[]},{"icon":"faTrashCanSlash","aliases":["faTrashAltSlash"]},{"icon":"faTrashCanUndo","aliases":["faTrashCanArrowTurnLeft","faTrashUndoAlt"]},{"icon":"faTrashCanXmark","aliases":[]},{"icon":"faTrashCheck","aliases":[]},{"icon":"faTrashCircle","aliases":["faTrashCircle"]},{"icon":"faTrashClock","aliases":[]},{"icon":"faTrashList","aliases":[]},{"icon":"faTrashPlus","aliases":[]},{"icon":"faTrashRestore","aliases":["faTrashRestore"]},{"icon":"faTrashRestoreAlt","aliases":["faTrashRestoreAlt"]},{"icon":"faTrashSlash","aliases":[]},{"icon":"faTrashUndo","aliases":["faTrashArrowTurnLeft"]},{"icon":"faTrashUndoAlt","aliases":["faTrashCanArrowTurnLeft","faTrashUndoAlt"]},{"icon":"faTrashXmark","aliases":[]},{"icon":"faTreasureChest","aliases":[]},{"icon":"faTree","aliases":[]},{"icon":"faTreeAlt","aliases":["faTreeAlt"]},{"icon":"faTreeChristmas","aliases":[]},{"icon":"faTreeCity","aliases":[]},{"icon":"faTreeDeciduous","aliases":["faTreeAlt"]},{"icon":"faTreeDecorated","aliases":[]},{"icon":"faTreeLarge","aliases":[]},{"icon":"faTreePalm","aliases":[]},{"icon":"faTrees","aliases":[]},{"icon":"faTrianBalbot","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faTriangle","aliases":[]},{"icon":"faTriangleCircleSquare","aliases":["faTriangleCircleSquare"]},{"icon":"faTriangleExclamation","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faTriangleInstrument","aliases":["faTriangleMusic"]},{"icon":"faTriangleMusic","aliases":["faTriangleMusic"]},{"icon":"faTrianglePersonDigging","aliases":["faConstruction"]},{"icon":"faTricycle","aliases":[]},{"icon":"faTricycleAdult","aliases":[]},{"icon":"faTrillium","aliases":[]},{"icon":"faTrophy","aliases":[]},{"icon":"faTrophyAlt","aliases":["faTrophyAlt"]},{"icon":"faTrophyStar","aliases":["faTrophyAlt"]},{"icon":"faTrowel","aliases":[]},{"icon":"faTrowelBricks","aliases":[]},{"icon":"faTruck","aliases":[]},{"icon":"faTruckArrowRight","aliases":[]},{"icon":"faTruckBolt","aliases":[]},{"icon":"faTruckClock","aliases":["faShippingTimed"]},{"icon":"faTruckContainer","aliases":[]},{"icon":"faTruckContainerEmpty","aliases":[]},{"icon":"faTruckCouch","aliases":["faTruckCouch"]},{"icon":"faTruckDroplet","aliases":[]},{"icon":"faTruckFast","aliases":["faShippingFast"]},{"icon":"faTruckField","aliases":[]},{"icon":"faTruckFieldUn","aliases":[]},{"icon":"faTruckFire","aliases":[]},{"icon":"faTruckFlatbed","aliases":[]},{"icon":"faTruckFront","aliases":[]},{"icon":"faTruckLadder","aliases":[]},{"icon":"faTruckLoading","aliases":["faTruckLoading"]},{"icon":"faTruckMedical","aliases":["faAmbulance"]},{"icon":"faTruckMonster","aliases":[]},{"icon":"faTruckMoving","aliases":[]},{"icon":"faTruckPickup","aliases":[]},{"icon":"faTruckPlane","aliases":[]},{"icon":"faTruckPlow","aliases":[]},{"icon":"faTruckRamp","aliases":[]},{"icon":"faTruckRampBox","aliases":["faTruckLoading"]},{"icon":"faTruckRampCouch","aliases":["faTruckCouch"]},{"icon":"faTruckTow","aliases":[]},{"icon":"faTruckUtensils","aliases":[]},{"icon":"faTrumpet","aliases":[]},{"icon":"faTry","aliases":["faTry","faTurkishLira"]},{"icon":"faTty","aliases":["faTeletype"]},{"icon":"faTtyAnswer","aliases":["faTeletypeAnswer"]},{"icon":"faTugrikSign","aliases":[]},{"icon":"faTurkey","aliases":[]},{"icon":"faTurkishLira","aliases":["faTry","faTurkishLira"]},{"icon":"faTurkishLiraSign","aliases":["faTry","faTurkishLira"]},{"icon":"faTurnDown","aliases":["faLevelDownAlt"]},{"icon":"faTurnDownLeft","aliases":[]},{"icon":"faTurnDownRight","aliases":[]},{"icon":"faTurnLeft","aliases":[]},{"icon":"faTurnLeftDown","aliases":[]},{"icon":"faTurnLeftUp","aliases":[]},{"icon":"faTurnRight","aliases":[]},{"icon":"faTurnUp","aliases":["faLevelUpAlt"]},{"icon":"faTurntable","aliases":[]},{"icon":"faTurtle","aliases":[]},{"icon":"faTv","aliases":["faTelevision","faTvAlt"]},{"icon":"faTvAlt","aliases":["faTelevision","faTvAlt"]},{"icon":"faTvMusic","aliases":[]},{"icon":"faTvRetro","aliases":[]},{"icon":"faTypewriter","aliases":[]},{"icon":"faU","aliases":[]},{"icon":"faUfo","aliases":[]},{"icon":"faUfoBeam","aliases":[]},{"icon":"faUmbrella","aliases":[]},{"icon":"faUmbrellaAlt","aliases":["faUmbrellaAlt"]},{"icon":"faUmbrellaBeach","aliases":[]},{"icon":"faUmbrellaSimple","aliases":["faUmbrellaAlt"]},{"icon":"faUnderline","aliases":[]},{"icon":"faUndo","aliases":["faArrowLeftRotate","faArrowRotateBack","faArrowRotateBackward","faUndo"]},{"icon":"faUndoAlt","aliases":["faRotateBack","faRotateBackward","faUndoAlt"]},{"icon":"faUnicorn","aliases":[]},{"icon":"faUniformMartialArts","aliases":[]},{"icon":"faUnion","aliases":[]},{"icon":"faUniversalAccess","aliases":[]},{"icon":"faUniversity","aliases":["faBank","faInstitution","faMuseum","faUniversity"]},{"icon":"faUnlink","aliases":["faChainBroken","faChainSlash","faUnlink"]},{"icon":"faUnlock","aliases":[]},{"icon":"faUnlockAlt","aliases":["faUnlockAlt"]},{"icon":"faUnlockKeyhole","aliases":["faUnlockAlt"]},{"icon":"faUnsorted","aliases":["faUnsorted"]},{"icon":"faUp","aliases":["faArrowAltUp"]},{"icon":"faUpDown","aliases":["faArrowsAltV"]},{"icon":"faUpDownLeftRight","aliases":["faArrowsAlt"]},{"icon":"faUpFromBracket","aliases":[]},{"icon":"faUpFromDottedLine","aliases":[]},{"icon":"faUpFromLine","aliases":["faArrowAltFromBottom"]},{"icon":"faUpLeft","aliases":[]},{"icon":"faUpLong","aliases":["faLongArrowAltUp"]},{"icon":"faUpRight","aliases":[]},{"icon":"faUpRightAndDownLeftFromCenter","aliases":["faExpandAlt"]},{"icon":"faUpRightFromSquare","aliases":["faExternalLinkAlt"]},{"icon":"faUpToBracket","aliases":[]},{"icon":"faUpToDottedLine","aliases":[]},{"icon":"faUpToLine","aliases":["faArrowAltToTop"]},{"icon":"faUpload","aliases":[]},{"icon":"faUsbDrive","aliases":[]},{"icon":"faUsd","aliases":["faDollar","faUsd"]},{"icon":"faUsdCircle","aliases":["faDollarCircle","faUsdCircle"]},{"icon":"faUsdSquare","aliases":["faDollarSquare","faUsdSquare"]},{"icon":"faUser","aliases":[]},{"icon":"faUserAlien","aliases":[]},{"icon":"faUserAlt","aliases":["faUserAlt"]},{"icon":"faUserAltSlash","aliases":["faUserAltSlash"]},{"icon":"faUserAstronaut","aliases":[]},{"icon":"faUserBeardBolt","aliases":[]},{"icon":"faUserBountyHunter","aliases":[]},{"icon":"faUserChart","aliases":["faUserChart"]},{"icon":"faUserCheck","aliases":[]},{"icon":"faUserChef","aliases":[]},{"icon":"faUserCircle","aliases":["faUserCircle"]},{"icon":"faUserClock","aliases":[]},{"icon":"faUserCog","aliases":["faUserCog"]},{"icon":"faUserConstruction","aliases":["faUserConstruction","faUserHardHat"]},{"icon":"faUserCowboy","aliases":[]},{"icon":"faUserCrown","aliases":[]},{"icon":"faUserDoctor","aliases":["faUserMd"]},{"icon":"faUserDoctorHair","aliases":[]},{"icon":"faUserDoctorHairLong","aliases":[]},{"icon":"faUserDoctorMessage","aliases":["faUserMdChat"]},{"icon":"faUserEdit","aliases":["faUserEdit"]},{"icon":"faUserFriends","aliases":["faUserFriends"]},{"icon":"faUserGear","aliases":["faUserCog"]},{"icon":"faUserGraduate","aliases":[]},{"icon":"faUserGroup","aliases":["faUserFriends"]},{"icon":"faUserGroupCrown","aliases":["faUsersCrown"]},{"icon":"faUserGroupSimple","aliases":[]},{"icon":"faUserHair","aliases":[]},{"icon":"faUserHairBuns","aliases":[]},{"icon":"faUserHairLong","aliases":[]},{"icon":"faUserHairMullet","aliases":["faBusinessFront","faPartyBack","faTrianBalbot"]},{"icon":"faUserHardHat","aliases":["faUserConstruction","faUserHardHat"]},{"icon":"faUserHeadset","aliases":[]},{"icon":"faUserHelmetSafety","aliases":["faUserConstruction","faUserHardHat"]},{"icon":"faUserHoodie","aliases":[]},{"icon":"faUserInjured","aliases":[]},{"icon":"faUserLarge","aliases":["faUserAlt"]},{"icon":"faUserLargeSlash","aliases":["faUserAltSlash"]},{"icon":"faUserLock","aliases":[]},{"icon":"faUserMagnifyingGlass","aliases":[]},{"icon":"faUserMd","aliases":["faUserMd"]},{"icon":"faUserMdChat","aliases":["faUserMdChat"]},{"icon":"faUserMinus","aliases":[]},{"icon":"faUserMusic","aliases":[]},{"icon":"faUserNinja","aliases":[]},{"icon":"faUserNurse","aliases":[]},{"icon":"faUserNurseHair","aliases":[]},{"icon":"faUserNurseHairLong","aliases":[]},{"icon":"faUserPen","aliases":["faUserEdit"]},{"icon":"faUserPilot","aliases":[]},{"icon":"faUserPilotTie","aliases":[]},{"icon":"faUserPlus","aliases":[]},{"icon":"faUserPolice","aliases":[]},{"icon":"faUserPoliceTie","aliases":[]},{"icon":"faUserRobot","aliases":[]},{"icon":"faUserRobotXmarks","aliases":[]},{"icon":"faUserSecret","aliases":[]},{"icon":"faUserShakespeare","aliases":[]},{"icon":"faUserShield","aliases":[]},{"icon":"faUserSlash","aliases":[]},{"icon":"faUserTag","aliases":[]},{"icon":"faUserTie","aliases":[]},{"icon":"faUserTieHair","aliases":[]},{"icon":"faUserTieHairLong","aliases":[]},{"icon":"faUserTimes","aliases":["faUserTimes"]},{"icon":"faUserUnlock","aliases":[]},{"icon":"faUserVisor","aliases":[]},{"icon":"faUserVneck","aliases":[]},{"icon":"faUserVneckHair","aliases":[]},{"icon":"faUserVneckHairLong","aliases":[]},{"icon":"faUserXmark","aliases":["faUserTimes"]},{"icon":"faUsers","aliases":[]},{"icon":"faUsersBetweenLines","aliases":[]},{"icon":"faUsersClass","aliases":["faUsersClass"]},{"icon":"faUsersCog","aliases":["faUsersCog"]},{"icon":"faUsersCrown","aliases":["faUsersCrown"]},{"icon":"faUsersGear","aliases":["faUsersCog"]},{"icon":"faUsersLine","aliases":[]},{"icon":"faUsersMedical","aliases":[]},{"icon":"faUsersRays","aliases":[]},{"icon":"faUsersRectangle","aliases":[]},{"icon":"faUsersSlash","aliases":[]},{"icon":"faUsersViewfinder","aliases":[]},{"icon":"faUtensilFork","aliases":["faUtensilFork"]},{"icon":"faUtensilKnife","aliases":["faUtensilKnife"]},{"icon":"faUtensilSpoon","aliases":["faUtensilSpoon"]},{"icon":"faUtensils","aliases":["faCutlery"]},{"icon":"faUtensilsAlt","aliases":["faUtensilsAlt"]},{"icon":"faUtensilsSlash","aliases":[]},{"icon":"faUtilityPole","aliases":[]},{"icon":"faUtilityPoleDouble","aliases":[]},{"icon":"faV","aliases":[]},{"icon":"faVacuum","aliases":[]},{"icon":"faVacuumRobot","aliases":[]},{"icon":"faValueAbsolute","aliases":[]},{"icon":"faVanShuttle","aliases":["faShuttleVan"]},{"icon":"faVault","aliases":[]},{"icon":"faVcard","aliases":["faContactCard","faVcard"]},{"icon":"faVectorCircle","aliases":[]},{"icon":"faVectorPolygon","aliases":[]},{"icon":"faVectorSquare","aliases":[]},{"icon":"faVentDamper","aliases":[]},{"icon":"faVenus","aliases":[]},{"icon":"faVenusDouble","aliases":[]},{"icon":"faVenusMars","aliases":[]},{"icon":"faVest","aliases":[]},{"icon":"faVestPatches","aliases":[]},{"icon":"faVhs","aliases":["faVhs"]},{"icon":"faVial","aliases":[]},{"icon":"faVialCircleCheck","aliases":[]},{"icon":"faVialVirus","aliases":[]},{"icon":"faVials","aliases":[]},{"icon":"faVideo","aliases":["faVideoCamera"]},{"icon":"faVideoArrowDownLeft","aliases":[]},{"icon":"faVideoArrowUpRight","aliases":[]},{"icon":"faVideoCamera","aliases":["faVideoCamera"]},{"icon":"faVideoCircle","aliases":["faVideoCircle"]},{"icon":"faVideoHandheld","aliases":["faVideoHandheld"]},{"icon":"faVideoPlus","aliases":[]},{"icon":"faVideoSlash","aliases":[]},{"icon":"faVihara","aliases":[]},{"icon":"faViolin","aliases":[]},{"icon":"faVirus","aliases":[]},{"icon":"faVirusCovid","aliases":[]},{"icon":"faVirusCovidSlash","aliases":[]},{"icon":"faVirusSlash","aliases":[]},{"icon":"faViruses","aliases":[]},{"icon":"faVoicemail","aliases":[]},{"icon":"faVolcano","aliases":[]},{"icon":"faVolleyball","aliases":["faVolleyballBall"]},{"icon":"faVolleyballBall","aliases":["faVolleyballBall"]},{"icon":"faVolume","aliases":["faVolumeMedium"]},{"icon":"faVolumeControlPhone","aliases":["faVolumeControlPhone"]},{"icon":"faVolumeDown","aliases":["faVolumeDown"]},{"icon":"faVolumeHigh","aliases":["faVolumeUp"]},{"icon":"faVolumeLow","aliases":["faVolumeDown"]},{"icon":"faVolumeMedium","aliases":["faVolumeMedium"]},{"icon":"faVolumeMute","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeOff","aliases":[]},{"icon":"faVolumeSlash","aliases":[]},{"icon":"faVolumeTimes","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVolumeUp","aliases":["faVolumeUp"]},{"icon":"faVolumeXmark","aliases":["faVolumeMute","faVolumeTimes"]},{"icon":"faVoteNay","aliases":["faTimesToSlot","faVoteNay"]},{"icon":"faVoteYea","aliases":["faVoteYea"]},{"icon":"faVrCardboard","aliases":[]},{"icon":"faW","aliases":[]},{"icon":"faWaffle","aliases":[]},{"icon":"faWagonCovered","aliases":[]},{"icon":"faWalker","aliases":[]},{"icon":"faWalkieTalkie","aliases":[]},{"icon":"faWalking","aliases":["faWalking"]},{"icon":"faWallBrick","aliases":["faWallBrick"]},{"icon":"faWallet","aliases":[]},{"icon":"faWand","aliases":[]},{"icon":"faWandMagic","aliases":["faMagic"]},{"icon":"faWandMagicSparkles","aliases":["faMagicWandSparkles"]},{"icon":"faWandSparkles","aliases":[]},{"icon":"faWarehouse","aliases":[]},{"icon":"faWarehouseAlt","aliases":["faWarehouseAlt"]},{"icon":"faWarehouseFull","aliases":["faWarehouseAlt"]},{"icon":"faWarning","aliases":["faExclamationTriangle","faWarning"]},{"icon":"faWasher","aliases":["faWasher"]},{"icon":"faWashingMachine","aliases":["faWasher"]},{"icon":"faWatch","aliases":[]},{"icon":"faWatchApple","aliases":[]},{"icon":"faWatchCalculator","aliases":[]},{"icon":"faWatchFitness","aliases":[]},{"icon":"faWatchSmart","aliases":[]},{"icon":"faWater","aliases":[]},{"icon":"faWaterArrowDown","aliases":["faWaterLower"]},{"icon":"faWaterArrowUp","aliases":["faWaterRise"]},{"icon":"faWaterLadder","aliases":["faLadderWater","faSwimmingPool"]},{"icon":"faWaterLower","aliases":["faWaterLower"]},{"icon":"faWaterRise","aliases":["faWaterRise"]},{"icon":"faWatermelonSlice","aliases":[]},{"icon":"faWave","aliases":[]},{"icon":"faWavePulse","aliases":["faHeartRate"]},{"icon":"faWaveSine","aliases":[]},{"icon":"faWaveSquare","aliases":[]},{"icon":"faWaveTriangle","aliases":[]},{"icon":"faWaveform","aliases":[]},{"icon":"faWaveformCircle","aliases":["faWaveformCircle"]},{"icon":"faWaveformLines","aliases":["faWaveformPath"]},{"icon":"faWaveformPath","aliases":["faWaveformPath"]},{"icon":"faWavesSine","aliases":[]},{"icon":"faWebAwesome","aliases":[]},{"icon":"faWebcam","aliases":["faWebcam"]},{"icon":"faWebcamSlash","aliases":["faWebcamSlash"]},{"icon":"faWebhook","aliases":[]},{"icon":"faWeight","aliases":["faWeight"]},{"icon":"faWeightHanging","aliases":[]},{"icon":"faWeightScale","aliases":["faWeight"]},{"icon":"faWhale","aliases":[]},{"icon":"faWheat","aliases":[]},{"icon":"faWheatAlt","aliases":["faWheatAlt"]},{"icon":"faWheatAwn","aliases":["faWheatAlt"]},{"icon":"faWheatAwnCircleExclamation","aliases":[]},{"icon":"faWheatAwnSlash","aliases":[]},{"icon":"faWheatSlash","aliases":[]},{"icon":"faWheelchair","aliases":[]},{"icon":"faWheelchairAlt","aliases":["faWheelchairAlt"]},{"icon":"faWheelchairMove","aliases":["faWheelchairAlt"]},{"icon":"faWhiskeyGlass","aliases":["faGlassWhiskey"]},{"icon":"faWhiskeyGlassIce","aliases":["faGlassWhiskeyRocks"]},{"icon":"faWhistle","aliases":[]},{"icon":"faWifi","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifi1","aliases":["faWifi1"]},{"icon":"faWifi2","aliases":["faWifi2"]},{"icon":"faWifi3","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifiExclamation","aliases":[]},{"icon":"faWifiFair","aliases":["faWifi2"]},{"icon":"faWifiSlash","aliases":[]},{"icon":"faWifiStrong","aliases":["faWifi3","faWifiStrong"]},{"icon":"faWifiWeak","aliases":["faWifi1"]},{"icon":"faWind","aliases":[]},{"icon":"faWindCircleExclamation","aliases":["faWindCircleExclamation"]},{"icon":"faWindTurbine","aliases":[]},{"icon":"faWindWarning","aliases":["faWindCircleExclamation"]},{"icon":"faWindow","aliases":[]},{"icon":"faWindowAlt","aliases":["faWindowAlt"]},{"icon":"faWindowClose","aliases":["faRectangleTimes","faTimesRectangle","faWindowClose"]},{"icon":"faWindowFlip","aliases":["faWindowAlt"]},{"icon":"faWindowFrame","aliases":[]},{"icon":"faWindowFrameOpen","aliases":[]},{"icon":"faWindowMaximize","aliases":[]},{"icon":"faWindowMinimize","aliases":[]},{"icon":"faWindowRestore","aliases":[]},{"icon":"faWindsock","aliases":[]},{"icon":"faWineBottle","aliases":[]},{"icon":"faWineGlass","aliases":[]},{"icon":"faWineGlassAlt","aliases":["faWineGlassAlt"]},{"icon":"faWineGlassCrack","aliases":["faFragile"]},{"icon":"faWineGlassEmpty","aliases":["faWineGlassAlt"]},{"icon":"faWon","aliases":["faKrw","faWon"]},{"icon":"faWonSign","aliases":["faKrw","faWon"]},{"icon":"faWorm","aliases":[]},{"icon":"faWreath","aliases":[]},{"icon":"faWreathLaurel","aliases":[]},{"icon":"faWrench","aliases":[]},{"icon":"faWrenchSimple","aliases":[]},{"icon":"faX","aliases":[]},{"icon":"faXRay","aliases":[]},{"icon":"faXmark","aliases":["faClose","faMultiply","faRemove","faTimes"]},{"icon":"faXmarkCircle","aliases":["faTimesCircle","faXmarkCircle"]},{"icon":"faXmarkHexagon","aliases":["faTimesHexagon","faXmarkHexagon"]},{"icon":"faXmarkLarge","aliases":[]},{"icon":"faXmarkOctagon","aliases":["faTimesOctagon","faXmarkOctagon"]},{"icon":"faXmarkSquare","aliases":["faTimesSquare","faXmarkSquare"]},{"icon":"faXmarkToSlot","aliases":["faTimesToSlot","faVoteNay"]},{"icon":"faXmarksLines","aliases":[]},{"icon":"faY","aliases":[]},{"icon":"faYen","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYenSign","aliases":["faCny","faJpy","faRmb","faYen"]},{"icon":"faYinYang","aliases":[]},{"icon":"faZ","aliases":[]},{"icon":"faZap","aliases":["faZap"]},{"icon":"faZzz","aliases":["faZzz"]}],"prefix":"fas"},"@awesome.me/kit-63db24046b/icons/kit/custom":{"icons":[{"icon":"faActors","aliases":[]},{"icon":"faActorsBorderless","aliases":[]},{"icon":"faFreestyle","aliases":[]},{"icon":"faGb","aliases":[]},{"icon":"faGoogleCloud","aliases":[]},{"icon":"faHetzner","aliases":[]},{"icon":"faHetznerH","aliases":[]},{"icon":"faKubernetes","aliases":[]},{"icon":"faLinear","aliases":[]},{"icon":"faNextjs","aliases":[]},{"icon":"faProject","aliases":[]},{"icon":"faRailway","aliases":[]},{"icon":"faRegex","aliases":[]},{"icon":"faRivet","aliases":[]},{"icon":"faSelect","aliases":[]},{"icon":"faTs","aliases":[]},{"icon":"faVercel","aliases":[]},{"icon":"faWord","aliases":[]}]}} \ No newline at end of file diff --git a/frontend/packages/icons/scripts/postinstall.js b/frontend/packages/icons/scripts/postinstall.js index 8a5595025b..6f9c835c30 100644 --- a/frontend/packages/icons/scripts/postinstall.js +++ b/frontend/packages/icons/scripts/postinstall.js @@ -34,7 +34,7 @@ if (process.env.FONTAWESOME_PACKAGE_TOKEN) { private: true, sideEffects: false, dependencies: { - "@awesome.me/kit-63db24046b": "1.0.26", + "@awesome.me/kit-63db24046b": "1.0.27", "@fortawesome/pro-regular-svg-icons": "6.6.0", "@fortawesome/pro-solid-svg-icons": "6.6.0", }, diff --git a/site/public/docs.md b/site/public/docs.md index dfe930d82a..6cbe2f4756 100644 --- a/site/public/docs.md +++ b/site/public/docs.md @@ -2,30 +2,13 @@ Rivet is a library for long-lived processes with durable state, realtime, and scalability. It is easily self-hostable and works with your infrastructure. -## Features - -- **Stateful Workloads**: Keep memory between operations & run complex logic that requires stateful processes -- **Realtime**: Powered by WebSockets or SSE without the complexity -- **Elastic Scalability**: Scale from zero to millions without cold starts -- **Multi-Region Durable Storage**: Keep state & operations near your users or comply with data soveirgnty - -## Tools +## Libraries Long-lived processes with durable state, realtime, and hibernation ## Use Cases - Deploy assistants that reason and act with durable memory - - Sync state instantly over WebSockets or SSE - - Run long-lived services with automatic failover - - Isolate customer data with multi-tenant storage - - Throttle requests using stateful counters per client - - Build chat and workflow bots with actor logic +))} ## Deploy Options diff --git a/site/public/icons/bolt.svg b/site/public/icons/bolt.svg new file mode 100644 index 0000000000..33b8c1074e --- /dev/null +++ b/site/public/icons/bolt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/public/icons/database.svg b/site/public/icons/database.svg new file mode 100644 index 0000000000..af98bd5a33 --- /dev/null +++ b/site/public/icons/database.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/public/icons/microchip.svg b/site/public/icons/microchip.svg new file mode 100644 index 0000000000..f0c93ee082 --- /dev/null +++ b/site/public/icons/microchip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/public/llms-full.txt b/site/public/llms-full.txt index 2dd048574d..d3ef36e184 100644 --- a/site/public/llms-full.txt +++ b/site/public/llms-full.txt @@ -1870,13 +1870,13 @@ Actors for long-lived processes with durable state, realtime, and hibernate when ## Quickstart - Set up actors with Node.js, Bun, and web frameworks + Set up Rivet with Node.js, Bun, and web frameworks - Build real-time React applications with actors + Set up Rivet with React - Build server-rendered Next.js experiences backed by actors + Set up Rivet with Next.js - Deploy actors on Cloudflare Workers with zero infrastructure + Set up Rivet with Cloudflare Workers ## Features @@ -2745,7 +2745,6 @@ Create a simple counter actor: ```ts } const counter = actor(, actions: , - getCount: (c) => c.state.count, }, }); @@ -2852,12 +2851,11 @@ await connection.increment(1); See the [JavaScript client documentation](/docs/clients/javascript) for more information. ```tsx } -const client = createClient("http://localhost:8080"); -const = createRivetKit(client); +const = createRivetKit("http://localhost:8080"); function Counter() ); - counter.useEvent("countChanged", (newCount: number) => ); + counter.useEvent("newCount", (x: number) => setCount(x)); const increment = async () => ; @@ -2904,7 +2902,6 @@ Create a simple counter actor: ```ts } const counter = actor(, actions: , - getCount: (c) => c.state.count, }, }); @@ -2983,6 +2980,8 @@ wrangler deploy Your actors will now run on Cloudflare's edge with persistent state backed by Durable Objects. +See the [Cloudflare Workers deployment guide](/docs/deploy/cloudflare-workers) for detailed deployment instructions and configuration options. + ## Configuration Options ### Connect Frontend To The Rivet Actor @@ -3015,12 +3014,11 @@ await connection.increment(1); See the [JavaScript client documentation](/docs/clients/javascript) for more information. ```tsx } -const client = createClient("https://your-app.workers.dev/rivet"); -const = createRivetKit(client); +const = createRivetKit("https://your-app.workers.dev/rivet"); function Counter() ); - counter.useEvent("countChanged", (newCount: number) => ); + counter.useEvent("newCount", (x: number) => setCount(x)); const increment = async () => ; @@ -3061,6 +3059,10 @@ See the [Rust client documentation](/docs/clients/rust) for more information. Set up actors with Node.js, Bun, and web frameworks Build real-time React applications with actors + + Build server-rendered Next.js experiences backed by actors + + Deploy actors on Cloudflare Workers with zero infrastructure ## Next.js Quickstart # Next.js Quickstart @@ -3072,12 +3074,11 @@ npx create-next-app@latest my-app cd my-app ``` -Create a simple counter actor: +Create a file at `src/rivet/registry.ts` with a simple counter actor: ```ts } const counter = actor(, actions: , - getCount: (c) => c.state.count, }, }); @@ -3085,33 +3086,26 @@ const registry = setup(, }); ``` -Create a RivetKit client to connect to your actor: - -```ts } -"use client"; -const client = createClient(/api/rivet`, - transport: "sse", -}); - -const = createRivetKit(client); - -``` - -It's important to use SSE (Server-Sent Events) for real-time updates in Next.js. +Create a file at `src/app/api/rivet/[...all]/route.ts` to setup the API routes: ```ts } -// Export the Next.js handler for the API routes const = toNextHandler(registry); ``` +Create a file at `src/components/Counter.tsx` to use the actor in a component: + ```tsx } "use client"; + +const = createRivetKit( + process.env.NEXT_RIVET_ENDPOINT ?? "http://localhost:3000/api/rivet", +); + function Counter() ); - const [count, setCount] = useState(0); - counter.on("countChanged", (newCount) => ); + counter.useEvent("newCount", (x: number) => setCount(x)); - const increment = () => ; + const increment = async () => ; return ( @@ -3122,9 +3116,15 @@ function Counter() ); } ``` -Make sure to import the `Counter` component in your page or layout. +Import the `Counter` component in your page or layout to use it. + +For more examples on connecting to your actors using React, check the [React documentation for RivetKit](/docs/clients/react). + +See the [Vercel deployment guide](/docs/deploy/vercel) for detailed instructions on deploying your RivetKit app to Vercel. + +## API Reference -For more examples how to connect to your actors using React, check the [RivetKit React documentation](http://rivet.dev/docs/clients/react/). +For detailed information about the Next.js client API, see the [React Client API Reference](/docs/clients/react). ## React Quickstart # React Quickstart @@ -3138,10 +3138,8 @@ npm install rivetkit @rivetkit/react Create your actor registry on the backend: ```ts } -const counter = actor(, // Skip authentication (can be configured later) - state: , +const counter = actor(, actions: , - getCount: (c) => c.state.count, }, }); @@ -3159,19 +3157,15 @@ registry.start(); Set up your React application: ```tsx } -// Create typed client -const client = createClient("http://localhost:8080"); +const client = createClient(); const = createRivetKit(client); function App() ); - // Listen for real-time count updates - counter.useEvent("countChanged", (newCount: number) => ); + counter.useEvent("newCount", (x: number) => setCount(x)); const increment = async () => ; - const incrementBy = async (amount: number) => ; - return ( Rivet Counter @@ -3182,13 +3176,7 @@ function App() ); style=} /> - +1 - - incrementBy(5)}> - +5 - - incrementBy(10)}> - +10 + Increment Connection Status: Try opening multiple tabs to see real-time sync. @@ -3229,6 +3217,10 @@ Open `http://localhost:5173` in your browser. Try opening multiple tabs to see r Add custom HTTP endpoints alongside your actors to handle additional business logic, authentication, and integrations with external services. See [backend quickstart](/docs/actors/quickstart/backend) for more information. + +## API Reference + +For detailed information about the React client API, see the [React Client API Reference](/docs/clients/react). ## Scaling & Concurrency # Scaling & Concurrency @@ -3669,28 +3661,13 @@ This is where the technical API docs live. The Rivet JavaScript client allows you to connect to and interact with actors from browser and Node.js applications. -## Basic Usage - -Install the RivetKit package: - - Make sure you have a running Rivet actor server to connect to. You can follow the [Node.js & Bun Quickstart](https://rivet.dev/docs/actors/quickstart/backend/) to set up a simple actor server. +## Getting Started -Create client and connect to actors and listen for real-time updates: - -```tsx } -async function main() - - await new Promise((resolve) => setTimeout(resolve, 10000)); - await counter.dispose(); -} - -main(); - -``` +See the [backend quickstart guide](/docs/actors/quickstart/backend) for getting started. ## API Reference -Follows the same [API as the Node.js client](http://rivet.dev/docs/actors/clients/#actor-client), allowing you to use the same methods and properties for interacting with actors. +See the [RivetKit client API](http://rivet.dev/docs/actors/clients/#actor-client). ## Next.js # Next.js @@ -3701,46 +3678,9 @@ The Rivet Next.js client allows you to connect to and interact with actors in Ne Use Next.js API routes to run RivetKit Registry -## Basic Usage - -Install the RivetKit React package: - - Follow the [Next.js backend integration guide](https://rivet.dev/docs/integrations/next-js/) to set up your Next.js backend with Rivet. - -Create a RivetKit client to connect to your actor: - -```ts } -"use client"; -const client = createClient(/api/rivet`, - transport: "sse", -}); - -const = createRivetKit(client); - -``` - -It's important to use SSE (Server-Sent Events) for real-time updates in Next.js. - -Connect to actors and listen for real-time updates: -```tsx } -"use client"; -function Counter() ); - const [count, setCount] = useState(0); +## Getting Started - counter.on("countChanged", (newCount) => ); - - const increment = () => ; - - return ( - - Count: - Increment - - ); -} -``` - -Make sure to import the `Counter` component in your page or layout. +See the [Next.js quickstart guide](/docs/actors/quickstart/next-js) for getting started. ## API Reference @@ -3750,47 +3690,17 @@ It's the same as the [React client API reference](https://rivet.dev/docs/clients # OpenAPI The Rivet OpenAPI spec is available [here](https://github.com/rivet-dev/rivetkit/blob/main/clients/openapi/openapi.json) + +The OpenAPI spec currently only exposes creating & managing actors. It does not expose how to communicate with actors. See the [HTTP client implementation](https://github.com/rivet-dev/rivetkit/blob/b5072fdac18d90a27bb6cd36e9ee73b00d36d42c/packages/rivetkit/src/client/actor-handle.ts) for reference. ## React # React Learn how to create real-time, stateful React applications with Rivet's actor model. The React integration provides intuitive hooks for managing actor connections and real-time updates. -## Basic Usage - -Install the RivetKit React package: - - Make sure you have a running Rivet actor server to connect to. You can follow the [Node.js & Bun Quickstart](https://rivet.dev/docs/actors/quickstart/backend/) to set up a simple actor server. +## Getting Started -Connect to actors and listen for real-time updates: - -```tsx } -function App() ); - - // Listen for real-time count updates - counter.useEvent("countChanged", (newCount: number) => ); - - const increment = async () => ; - - return ( - - Rivet Counter - Count: - - Counter Name: - setCounterName(e.target.value)} - style=} - /> - - Increment - - Status: - - ); -} - -default App; -``` +See the [React quickstart guide](/docs/actors/quickstart/react) for getting started. ## API Reference @@ -3799,7 +3709,7 @@ default App; Creates the Rivet hooks for React integration. ```tsx -const client = createClient("http://localhost:8080"); +const client = createClient(); const = createRivetKit(client); ``` @@ -3832,7 +3742,6 @@ const actor = useActor(, - `createWithInput`: Optional input to pass to the actor on creation - `createInRegion`: Optional region to create the actor in if does not exist - `enabled`: Optional boolean to conditionally enable/disable the connection (default: true) - - `enabled`: Optional boolean to conditionally enable/disable the connection (default: true) #### Returns @@ -3849,7 +3758,7 @@ Subscribe to events emitted by the actor. ```tsx const actor = useActor(); -actor.useEvent("countChanged", (newCount: number) => ); +actor.useEvent("newCount", (count: number) => ); ``` #### Parameters @@ -4006,8 +3915,6 @@ The Rivet Rust client provides a way to connect to and interact with actors from ## API Reference -_Coming Soon_ - For detailed API documentation, please refer to the [RivetKit Rust client implementation](https://github.com/rivet-dev/rivetkit/blob/main/clients/rust). ## Deploying to AWS ECS @@ -4099,90 +4006,43 @@ _AWS Lambda is coming soon_ ## Deploying to Cloudflare Workers # Deploying to Cloudflare Workers -# -Run Rivet Actors on Cloudflare Workers with Durable Objects. If you still need a sample app, walk through the [Cloudflare Workers Quickstart](/docs/actors/quickstart/cloudflare-workers) first. - -- [Cloudflare account](https://dash.cloudflare.com/) with Durable Objects enabled -- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/install-and-update/) v3 -- RivetKit project (or use the [Quickstart](/docs/actors/quickstart/cloudflare-workers)) - -Install the Cloudflare Worker driver alongside RivetKit: - -```sh -npm install rivetkit @rivetkit/cloudflare-workers -``` - -Wire your actors into a Cloudflare Worker using the same setup as the quickstart: - -```ts } -const counter = actor(, - actions: , - getCount: (c) => c.state.count, - }, -}); - -const registry = setup(, -}); -``` - -```ts } -const app = new Hono } }>(); - -app.post("/increment/:name", async (c) => ); -}); - -const = createHandler(registry, ); -; -``` - -```ts } -const = createHandler(registry, ), , - }); - } - return new Response("Not Found", ); - } -}); +Deploy your Cloudflare Workers + RivetKit app to [Cloudflare Workers](https://workers.cloudflare.com/). -; -``` +Complete example Cloudflare Workers + RivetKit app. -Configure Durable Objects and KV namespaces in `wrangler.json` (same as the quickstart): +## Guide -```json } +- [Cloudflare account](https://dash.cloudflare.com/) with Durable Objects enabled +- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/install-and-update/) v3 +- Access to the [Rivet Cloud](https://dashboard.rivet.dev/) or a self-hosted [Rivet Engine](/docs/general/self-hosting) +- A Cloudflare Worker app integrated with RivetKit + - See the [Cloudflare Workers quickstart](/docs/actors/quickstart/cloudflare-workers/) or [Cloudflare Workers example](https://github.com/rivet-dev/rivetkit/tree/main/examples/cloudflare-workers) to get started - ], - "durable_objects": - ] - }, - "kv_namespaces": [ - - ] -} -``` +Your project should have the following files: -Configuration requirements: +- `src/index.ts` (or similar entry point with `createHandler`) +- `src/registry.ts` (or similar actor registry file) +- `wrangler.json` with proper Durable Objects and KV namespace configuration -- `ACTOR_DO` durable object binding for actor persistence -- `ACTOR_KV` KV namespace binding for metadata storage -- `nodejs_compat` compatibility flag -- Migration entry defining the `ActorHandler` class +If your project is not integrated with RivetKit yet, follow the [Cloudflare Workers quickstart guide](/docs/actors/quickstart/cloudflare-workers/) or see the [Cloudflare Workers example](https://github.com/rivet-dev/rivetkit/tree/main/examples/cloudflare-workers). -Start the worker locally: +Deploy to Cloudflare's global network: ```sh -wrangler dev +wrangler deploy ``` -Call your actor at `http://localhost:8787/increment/my-counter`. +Your worker will be deployed and you'll receive a URL like `https://my-rivetkit-worker.workers.dev`. -When you're ready, deploy to Cloudflare's network: +More information on deployments is available in [Cloudflare's docs](https://developers.cloudflare.com/workers/wrangler/commands/#deploy). -```sh -wrangler deploy -``` +After running `wrangler deploy`, note the URL printed in the output (e.g., `https://my-rivetkit-worker.workers.dev`). + +Your RivetKit endpoint will be available at this URL with `/rivet` appended: +- Example: `https://my-rivetkit-worker.workers.dev/rivet` -Durable Objects back your actor state globally, and the Rivet endpoint is automatically mounted at `/rivet`. +Use this endpoint URL when configuring your RivetKit client or connecting from the Rivet dashboard. ## Advanced @@ -4563,11 +4423,10 @@ Create or update your `vercel.json`: More information on deployments are available in [Vercel's docs](https://vercel.com/docs/deployments). -1. Visit the Rivet dashboard +1. Visit the [Rivet dashboard](https://dashboard.rivet.dev) 2. Navigate to _Connect > Vercel_ 3. Skip to the _Deploy to Vercel_ step 4. Input your deployed Vercel site URL (e.g. `https://my-app.vercel.app/api/rivet`) - - **Important**: Make sure to include the path `/api/rivet` 5. Once it shows as successfully connected, click _Done_ Your Vercel Functions deployment is now connected to Rivet. @@ -5235,30 +5094,13 @@ TODO Rivet is a library for long-lived processes with durable state, realtime, and scalability. It is easily self-hostable and works with your infrastructure. -## Features - -- **Stateful Workloads**: Keep memory between operations & run complex logic that requires stateful processes -- **Realtime**: Powered by WebSockets or SSE without the complexity -- **Elastic Scalability**: Scale from zero to millions without cold starts -- **Multi-Region Durable Storage**: Keep state & operations near your users or comply with data soveirgnty - -## Tools +## Libraries Long-lived processes with durable state, realtime, and hibernation ## Use Cases - Deploy assistants that reason and act with durable memory - - Sync state instantly over WebSockets or SSE - - Run long-lived services with automatic failover - - Isolate customer data with multi-tenant storage - - Throttle requests using stateful counters per client - - Build chat and workflow bots with actor logic +))} ## Deploy Options @@ -5410,8 +5252,7 @@ Use authenticated sessions with Rivet: ```tsx // ChatRoom.tsx -const client = createClient("http://localhost:8080"); -const = createRivetKit(client); +const = createRivetKit("http://localhost:8080"); interface ChatRoomProps }; roomId: string; @@ -6452,57 +6293,416 @@ Follow the [Railway Quick Start guide](https://docs.railway.com/quick-start) to # AI Agents -Build durable assistants that keep memory between conversations, call tools, and react instantly to user input. +## Challenges of Building AI Agents + +Common tools: LangChain, OpenAI SDK, custom state management systems, Redis for memory storage + +Main pain points: +- Managing conversation history and agent memory across sessions requires external databases +- Keeping context and state synchronized while handling multiple concurrent conversations +- High latency from database round trips to fetch conversation history +- Complex infrastructure for realtime streaming responses to users +- Handling tool calls and maintaining agent state during long-running operations + +## How Rivet Solves This + +Rivet makes building stateful AI agents simple by providing durable actors that keep conversation history and agent state in memory without external databases. + +**Persistent Memory**: Each agent actor maintains its own state including conversation history, tool results, and context. State survives restarts and deployments automatically. + +```typescript +const aiAgent = actor( + }, + + actions: ); + + const response = await callLLM(c.state.messages); + c.state.messages.push(); + + c.broadcast("message", ); + return response; + } + } +}); +``` + +**Realtime Streaming**: Use WebSocket connections to stream LLM responses in realtime without additional infrastructure. Learn more about [events](/docs/actors/events). + +**Tool Integration**: Execute tool calls within the actor context while maintaining state consistency. See [actions](/docs/actors/actions) for more details. + +**No Cold Starts**: Agents hibernate when idle and wake instantly when needed, keeping conversation context ready without paying for idle time. Read about [actor lifecycle](/docs/actors/lifecycle). + +## Full Example Projects +## Background Jobs + +# Background Jobs + +## Challenges of Building Background Job Systems + +Common tools: Celery, Bull, Sidekiq, AWS SQS, RabbitMQ, Redis queues, cron jobs + +Main pain points: +- Managing separate job queue infrastructure and worker processes +- Tracking job state and results across distributed systems +- Handling job retries, failures, and dead letter queues +- Coordinating scheduled and recurring jobs with cron syntax +- Persisting job state and intermediate results during long-running tasks + +## How Rivet Solves This + +Rivet actors provide built-in job scheduling and execution with automatic state persistence and no external queue infrastructure. + +**Self-Contained Job Execution**: Each actor can schedule and execute background tasks with full access to its persistent state. + +```typescript +const jobProcessor = actor( as Record, + queue: [] as string[] + }, + + actions: ; + c.state.queue.push(jobId); + + if (delay) else + + return jobId; + }, + + processJob: async (c, jobId: string) => ); + + try ; + c.broadcast("jobUpdate", ); + } catch (error) ; + c.broadcast("jobUpdate", ); + } + } + } +}); +``` + +**Built-in Scheduling**: Schedule delayed and recurring jobs using [scheduled actions](/docs/actors/schedule) without cron or external schedulers. + +**Durable State**: Job state persists automatically, surviving restarts and failures. See [state management](/docs/actors/state). -**Examples** -- [AI Agent Starter](https://github.com/rivet-dev/rivetkit/tree/main/examples/ai-agent) +**Realtime Progress**: Stream job progress and results to clients using [events](/docs/actors/events). + +**No Queue Infrastructure**: Execute jobs directly within actors without Redis, RabbitMQ, or other message queues. + +## Full Example Projects ## Bots # Bots -Run bots for Slack, Discord, or autonomous agents that need persistent workers listening, responding, and executing background tasks. +## Challenges of Building Bots + +Common tools: Discord.js, Slack Bolt, Telegraf, traditional web servers with databases, message queues + +Main pain points: +- Managing bot state and conversation context across sessions requires external storage +- Handling concurrent conversations with multiple users while maintaining per-user state +- Keeping bots online 24/7 on traditional servers is expensive +- Complex infrastructure for event-driven responses and background tasks +- Difficulty maintaining WebSocket connections to chat platforms reliably + +## How Rivet Solves This + +Rivet provides long-lived actors that maintain persistent connections and state for chat bots without managing infrastructure. + +**Always-On Bot Instances**: Each bot actor stays alive with persistent state, maintaining connections to chat platforms like Discord, Slack, or Telegram. Actors hibernate when idle but wake instantly when messages arrive. + +```typescript +const discordBot = actor( as Record, + userPreferences: as Record + }, + + actions: ; + + return response; + } + } +}); +``` + +**Persistent State**: Bot memory, user preferences, and conversation history persist automatically without external databases. See [state management](/docs/actors/state). + +**Background Tasks**: Use [scheduled actions](/docs/actors/schedule) to run periodic tasks like reminders, notifications, or cleanup jobs. + +**Realtime Events**: Send and receive messages in realtime using WebSocket connections. Learn more about [events](/docs/actors/events). + +## Full Example Projects +## Realtime Docs + +# Realtime Docs + +## Challenges of Building Realtime Collaborative Documents + +Common tools: Yjs, Automerge, operational transforms, WebSocket servers, Redis for pub/sub, database for persistence + +Main pain points: +- Coordinating realtime updates across multiple users requires complex pub/sub infrastructure +- Persisting document state and CRDT data structures to databases adds latency +- Managing conflict resolution and synchronization logic is complex +- Scaling WebSocket connections and state management across servers +- Handling offline users and reconnection scenarios + +## How Rivet Solves This + +Rivet provides actors that maintain CRDT document state in memory and broadcast updates in realtime without external infrastructure. + +**In-Memory CRDTs**: Store Yjs or Automerge documents directly in actor state for ultra-fast reads and writes with zero database latency. + +```typescript +const collaborativeDoc = actor(, + + actions: ); + } + } +}); +``` + +**Built-in Realtime**: WebSocket connections are built into actors, eliminating the need for separate pub/sub systems. See [events](/docs/actors/events). + +**Automatic Persistence**: Document state persists automatically without database round trips. Learn about [state management](/docs/actors/state). + +**Multi-User Support**: Track connected users and their cursor positions using [connection state](/docs/actors/connections). + +## Full Example Projects +## Per-User Database + +# Per-User Database + +## Challenges of Building Per-User Databases + +Common tools: PostgreSQL with row-level security, MongoDB with tenant isolation, SQLite per-user files, DynamoDB with partition keys + +Main pain points: +- High latency from database round trips for every read/write operation +- Complex query patterns to ensure tenant isolation and prevent data leaks +- Scaling challenges when users have large datasets +- Managing database connections and connection pooling per-tenant +- Expensive database operations for simple key-value access patterns + +## How Rivet Solves This + +Rivet actors provide isolated in-memory databases for each user with automatic persistence and zero-latency access. + +**Isolated User State**: Each user gets their own actor with completely isolated state, eliminating tenant isolation concerns. + +```typescript +const userDatabase = actor( as Record, + settings: , + metadata: + }, + + actions: , + + get: (c, key: string) => , + + query: (c, filter: (doc: any) => boolean) => )); + } + } +}); +``` + +**Zero-Latency Reads**: State lives in memory on the same machine as compute, making reads instant with no database round trips. See [state management](/docs/actors/state). -**Examples** -- [AI Agent Starter](https://github.com/rivet-dev/rivetkit/tree/main/examples/ai-agent) -- [Realtime Chat Room](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) -## Durable Compute +**Automatic Persistence**: Data persists automatically without manual save operations or database drivers. -# Durable Compute +**Built-in SQLite Support**: Use SQLite databases within actors for relational data. See [external SQL](/docs/actors/external-sql) for integration with traditional databases. -Run long-lived workloads that survive restarts, keep state close to users, and recover automatically when nodes shift. +**Realtime Updates**: Broadcast data changes to connected clients using [events](/docs/actors/events). -**Examples** -- [Sync Offline Data](https://github.com/rivet-dev/rivetkit/tree/main/examples/sync) -- [Tenant Isolation](https://github.com/rivet-dev/rivetkit/tree/main/examples/tenant) -- [Realtime Counter](https://github.com/rivet-dev/rivetkit/tree/main/examples/counter) -- [Realtime Chat Room](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) -- [Collaborative CRDT Docs](https://github.com/rivet-dev/rivetkit/tree/main/examples/crdt) -- [Multiplayer Game State](https://github.com/rivet-dev/rivetkit/tree/main/examples/game) -## Per-Tenant Databases +## Full Example Projects +## Multiplayer Game -# Per-Tenant Databases +# Multiplayer Game -Provision isolated storage per customer while sharing infrastructure, keeping noisy neighbours separated and compliant. +## Challenges of Building Multiplayer Games -**Examples** -- [Tenant Isolation](https://github.com/rivet-dev/rivetkit/tree/main/examples/tenant) -- [SQLite Sharding](https://github.com/rivet-dev/rivetkit/tree/main/examples/database) +Common tools: Unity Netcode, Photon, Colyseus, custom WebSocket servers, Redis for state, game server hosting + +Main pain points: +- Managing game state synchronization across multiple players with low latency +- Handling player connections, disconnections, and reconnections gracefully +- Scaling game servers and matchmaking infrastructure +- Persisting game state between sessions +- Complex networking code for state replication and conflict resolution + +## How Rivet Solves This + +Rivet actors provide authoritative game servers with built-in state management and realtime networking. + +**Authoritative Game State**: Each game room runs in its own actor with server-authoritative state management. + +```typescript +const gameRoom = actor( as Record, + gameState: "waiting" as "waiting" | "playing" | "ended", + startTime: 0 + }, + + createConnState: (c, opts, params: ) => (), + + actions: ); + } + }, + + startGame: (c) => ); + } + } +}); +``` + +**Low-Latency Updates**: Broadcast game state changes in realtime using WebSockets with built-in [events](/docs/actors/events). + +**State Persistence**: Game state persists automatically, allowing players to rejoin games after disconnections. Learn about [state management](/docs/actors/state). + +**Connection Tracking**: Track connected players and handle disconnections gracefully using [connections](/docs/actors/connections). + +**Tick-Based Updates**: Use [scheduled actions](/docs/actors/schedule) for fixed-rate game loops and physics updates. + +## Full Example Projects ## Rate Limiting # Rate Limiting -Throttle abusive clients with actors that track counters, rolling windows, and quotas without sharing mutable state. +## Challenges of Building Rate Limiting + +Common tools: Redis with sliding windows, token bucket algorithms, NGINX rate limiting, Kong, custom middleware + +Main pain points: +- Coordinating rate limits across distributed servers requires shared state +- High latency from Redis lookups on every request +- Complex sliding window or token bucket implementations +- Handling rate limit resets and per-user quotas +- Managing rate limit state for millions of users + +## How Rivet Solves This + +Rivet actors provide low-latency distributed rate limiting with in-memory counters and automatic persistence. + +**Per-User Rate Limiting**: Each user gets their own actor to track request counts and enforce limits with zero-latency access. + +```typescript +const rateLimiter = actor(, + + actions: ; + } + + // Add new request + c.state.requests.push(now); + + return ; + }, + + getStatus: (c) => ; + } + } +}); +``` + +**Zero-Latency Checks**: Rate limit counters live in memory, eliminating Redis round trips for every request. + +**Automatic Persistence**: Counter state persists automatically without manual Redis operations. See [state management](/docs/actors/state). + +**Flexible Algorithms**: Implement sliding windows, token buckets, or custom rate limiting logic directly in actor code. + +**Per-User Isolation**: Each user's rate limit is isolated in their own actor, providing natural horizontal scaling. + +**Realtime Notifications**: Send rate limit warnings to users via [events](/docs/actors/events). + +## Full Example Projects +## Local-First Sync + +# Local-First Sync + +## Challenges of Building Local-First Sync + +Common tools: ElectricSQL, PowerSync, custom sync protocols, CRDTs, WebSockets, PostgreSQL logical replication + +Main pain points: +- Complex conflict resolution when syncing offline changes to server +- Managing sync state and tracking changes across devices +- Handling partial syncs and large datasets efficiently +- Infrastructure for WebSocket connections and pub/sub for realtime updates +- Coordinating between client-side databases and server-side storage + +## How Rivet Solves This + +Rivet actors provide stateful sync coordination with built-in realtime updates and automatic persistence. + +**Per-User Sync Actors**: Each user gets a dedicated actor to manage their sync state and coordinate updates across devices. + +```typescript +const userSync = actor( as Record, + lastSyncTimestamp: 0, + deviceStates: as Record + }, + + actions: ; + + // Broadcast to other devices + for (const conn of c.conns) ); + } + } + + return ; + } + }, + + createConnState: (c, opts, params: ) => () +}); +``` + +**Automatic State Persistence**: Sync state persists automatically without external databases. See [state management](/docs/actors/state). + +**Realtime Cross-Device Sync**: Broadcast updates to all connected devices instantly using [events](/docs/actors/events). + +**Connection Tracking**: Monitor online/offline devices using [connection state](/docs/actors/connections). + +**Conflict Resolution**: Implement custom merge strategies directly in actor logic with full access to state history. + +## Full Example Projects +## Workflows + +# Workflows + +## Challenges of Building Workflows + +Common tools: Temporal, Cadence, Apache Airflow, AWS Step Functions, custom orchestration systems + +Main pain points: +- Complex infrastructure setup and maintenance for workflow orchestration +- Managing state across long-running multi-step processes +- Handling retries, timeouts, and failure recovery across distributed steps +- Coordinating between different services and maintaining transaction boundaries +- High operational cost of running dedicated workflow engines + +## How Rivet Solves This + +Rivet actors provide built-in workflow capabilities with durable execution and automatic state management without external orchestration systems. + +**Durable Execution**: Actor actions automatically persist state between steps, surviving restarts and failures without additional infrastructure. + +```typescript +const orderWorkflow = actor(, + + actions: ); + + // Step 2: Schedule shipment + c.schedule.after(1000 * 60 * 60, "shipOrder"); // 1 hour + }, + + shipOrder: async (c) => ); + } + } +}); +``` + +**Scheduled Steps**: Use [scheduling](/docs/actors/schedule) to delay workflow steps or implement timeouts and reminders. -**Examples** -- [Stateful Rate Limiter](https://github.com/rivet-dev/rivetkit/tree/main/examples/rate) -## Realtime +**State Checkpointing**: State automatically persists after each action, ensuring workflow progress is never lost. Learn about [state management](/docs/actors/state). -# Realtime +**Actor Communication**: Coordinate across services using [actor-to-actor communication](/docs/actors/communicating-between-actors) without message queues. -Deliver sub-second updates with actors that push changes over WebSockets or SSE without juggling infrastructure. +**Realtime Updates**: Stream workflow progress to clients using [events](/docs/actors/events). -**Examples** -- [Chat Room](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) -- [Multiplayer Game State](https://github.com/rivet-dev/rivetkit/tree/main/examples/game) -- [Stream Processing](https://github.com/rivet-dev/rivetkit/tree/main/examples/stream) -- [Sync Offline Data](https://github.com/rivet-dev/rivetkit/tree/main/examples/sync) \ No newline at end of file +## Full Example Projects \ No newline at end of file diff --git a/site/public/llms.txt b/site/public/llms.txt index a2a50a07f8..0ce9a10368 100644 --- a/site/public/llms.txt +++ b/site/public/llms.txt @@ -122,12 +122,15 @@ https://rivet.dev/docs/self-hosting/install https://rivet.dev/docs/self-hosting/kubernetes https://rivet.dev/docs/self-hosting/multi-region https://rivet.dev/docs/self-hosting/railway -https://rivet.dev/docs/use-cases/ai-agents +https://rivet.dev/docs/use-cases/ai-agent +https://rivet.dev/docs/use-cases/background-jobs https://rivet.dev/docs/use-cases/bots -https://rivet.dev/docs/use-cases/durable-compute -https://rivet.dev/docs/use-cases/per-tenant-databases -https://rivet.dev/docs/use-cases/rate-limiting -https://rivet.dev/docs/use-cases/realtime +https://rivet.dev/docs/use-cases/crdt +https://rivet.dev/docs/use-cases/database +https://rivet.dev/docs/use-cases/game +https://rivet.dev/docs/use-cases/rate +https://rivet.dev/docs/use-cases/sync +https://rivet.dev/docs/use-cases/workflows https://rivet.dev/guides/chat https://rivet.dev/meme/wired-in https://rivet.dev/oss-friends diff --git a/site/scripts/examplesData.mjs b/site/scripts/examplesData.mjs index e06ca5f9ca..b1439a763a 100644 --- a/site/scripts/examplesData.mjs +++ b/site/scripts/examplesData.mjs @@ -1,58 +1,58 @@ // Shared example metadata used by both generateExamples.mjs and generateReadme.mjs export const EXAMPLE_METADATA = { - "ai-agent": { - icon: "faRobot", + "ai-agent": { + icon: "faRobot", title: "AI Agent", filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], tab: "memory" }, - "chat-room": { - icon: "faMessage", - title: "Chat Room", + "crdt": { + icon: "faFilePen", + title: "Realtime Docs", filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], tab: "memory" }, - "crdt": { - icon: "faFilePen", - title: "Collab (Yjs)", - filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], - tab: "memory" - }, - "game": { - icon: "faGamepad", - title: "Multiplayer Game", - filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], + "workflows": { + icon: "faDiagramNext", + title: "Workflows", + filesToOpen: ['src/registry.ts', 'src/server.ts'], tab: "memory" }, - "sync": { - icon: "faRotate", + "sync": { + icon: "faRotate", title: "Local-First Sync", filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], tab: "memory" }, - "rate": { - icon: "faGaugeHigh", - title: "Rate Limiter", + "database": { + icon: "faDatabase", + title: "Per-User Database", filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], + tab: "sqlite" + }, + "background-jobs": { + icon: "faClock", + title: "Background Jobs", + filesToOpen: ['src/registry.ts', 'src/server.ts'], tab: "memory" }, - "database": { - icon: "faDatabase", - title: "Per-User DB", + "rate": { + icon: "faGaugeHigh", + title: "Rate Limiting", filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], - tab: "sqlite" + tab: "memory" }, - "tenant": { - icon: "faBuilding", - title: "Multi-Tenant SaaS", + "game": { + icon: "faGamepad", + title: "Multiplayer Game", filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], tab: "memory" }, - "stream": { - icon: "faWaveSine", - title: "Stream Processing", - filesToOpen: ['src/backend/registry.ts', 'src/frontend/App.tsx'], + "bots": { + icon: "faUserRobot", + title: "Bots", + filesToOpen: ['src/registry.ts', 'src/server.ts'], tab: "memory" }, -}; \ No newline at end of file +}; diff --git a/site/scripts/generateExamples.mjs b/site/scripts/generateExamples.mjs index b09582c0c9..778a623eb7 100644 --- a/site/scripts/generateExamples.mjs +++ b/site/scripts/generateExamples.mjs @@ -5,8 +5,8 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync, cpSync, rmSync } fr import { join } from 'path'; import { EXAMPLE_METADATA } from './examplesData.mjs'; -const REPO_URL = 'https://github.com/rivet-gg/rivetkit.git'; -const BRANCH = '07-09-chore_add_new_examples'; +const REPO_URL = 'https://github.com/rivet-dev/rivetkit.git'; +const BRANCH = 'main'; const TEMP_DIR = '/tmp/rivetkit-examples'; const TEMP_EXAMPLE_DIR = '/tmp/rivet-example-temp'; const OUTPUT_DIR = './src/data/examples'; @@ -34,7 +34,9 @@ function updateRepo() { // Replace workspace dependencies with version numbers function replaceWorkspaceDependencies(content) { - return content.replace(/@rivetkit\/([^"]+)": "workspace:\*"/g, '@rivetkit/$1": "^0.9.1"'); + return content + .replace(/@rivetkit\/([^"]+)": "workspace:\*"/g, '@rivetkit/$1": "^0.9.1"') + .replace(/"workspace:\*"/g, '"^0.9.1"'); } // Get only the examples defined in metadata diff --git a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippets.tsx b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippets.tsx index e20aac2b77..21b86537cf 100644 --- a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippets.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippets.tsx @@ -11,15 +11,9 @@ export default function CodeSnippets() { useState("memory"); return ( -
-
-

- Examples -

-
- + <> {/* Desktop view - hidden on small screens */} -
+
-
+ ); -} \ No newline at end of file +} diff --git a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsDesktop.tsx b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsDesktop.tsx index 0e7c671695..bd024301c1 100644 --- a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsDesktop.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsDesktop.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState, useEffect } from "react"; +import { useState, useEffect, useRef } from "react"; import { faFolder, faFolderOpen, @@ -137,15 +137,15 @@ function FileTreeItem({ } }} className={`w-full text-left px-2 py-1 rounded text-xs transition-colors flex items-center gap-1 ${isActive && node.type === "file" - ? "bg-white/10 text-white/50" - : "text-white/40 hover:text-white/60 hover:bg-white/5" + ? "bg-white/15 text-white/80" + : "text-white/60 hover:text-white/80 hover:bg-white/8" }`} style={{ paddingLeft: `${8 + indentSize}px` }} > {node.type === "folder" && ( )} {node.name} @@ -187,18 +187,47 @@ interface TabProps { } function Tab({ children, isActive, onClick, className = "" }: TabProps) { + const buttonRef = useRef(null); + const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }); + + const handleMouseMove = (e: React.MouseEvent) => { + if (!buttonRef.current) return; + const rect = buttonRef.current.getBoundingClientRect(); + setMousePosition({ + x: e.clientX - rect.left, + y: e.clientY - rect.top, + }); + }; + return ( ); } @@ -225,25 +254,17 @@ function TabGroup({ })); return ( -
- {/* Example Tabs */} -
-
- {examplesWithIcons.map((example) => ( - setActiveExample(example.id)} - > - - {example.title} - - ))} -
-
+
+ {examplesWithIcons.map((example) => ( + setActiveExample(example.id)} + > + + {example.title} + + ))}
); } @@ -260,7 +281,7 @@ function BottomBarButton({ onClick, icon, children }: BottomBarButtonProps) { return ( -
-
+ {/* Left sidebar - File tree */} +
+
+ {fileTree.map((node) => ( + -
+ ))}
- {/* Bottom bar */} - + {/* Right side - Code viewer */} +
+ {/* Copy button */} + +
+
+
+
); } @@ -447,7 +459,13 @@ export default function CodeSnippetsDesktop({ setActiveStateType, }: CodeSnippetsDesktopProps) { return ( - <> +
+ {/* Examples Header */} +

+ Examples +

+ + {/* Tabs */} - - + + {/* Code Editor with inset rounded rect */} +
+ +
+ + {/* Bottom bar - outside the inner rect */} + +
); -} \ No newline at end of file +} diff --git a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsMobile.tsx b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsMobile.tsx index 1345b9c1cb..051dcb4cdd 100644 --- a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsMobile.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/CodeSnippetsMobile.tsx @@ -1,10 +1,11 @@ "use client"; +import { useState, useEffect } from "react"; import { Icon, faGithub, - faFileZip, - faBolt, + faChevronDown, + faChevronRight, faCode, } from "@rivet-gg/icons"; import { @@ -12,69 +13,152 @@ import { type ExampleData, } from "@/data/examples/examples"; import { EXAMPLE_ICON_MAP, createExampleActions } from "./utils"; +import * as shiki from "shiki"; +import theme from "@/lib/textmate-code-theme"; interface ExampleListItemProps { example: ExampleData; icon: any; + isExpanded: boolean; + onToggle: () => void; } -function ExampleListItem({ example, icon }: ExampleListItemProps) { - const { handleOpenGithub, handleOpenStackBlitz, handleDownloadZip } = - createExampleActions(example.id, example.files); +let highlighter: shiki.Highlighter; + +function ExampleListItem({ example, icon, isExpanded, onToggle }: ExampleListItemProps) { + const [fileContent, setFileContent] = useState(""); + const [isCodeExpanded, setIsCodeExpanded] = useState(false); + const { handleOpenGithub } = createExampleActions(example.id, example.files); + + // Get the main file to display + const mainFile = example.filesToOpen[0] || Object.keys(example.files)[0]; + + // Reset code expanded state when accordion is collapsed + useEffect(() => { + if (!isExpanded) { + setIsCodeExpanded(false); + } + }, [isExpanded]); + + // Initialize highlighter and highlight code when expanded + useEffect(() => { + const highlightCode = async () => { + if (!isExpanded || !mainFile) return; + + highlighter ??= await shiki.getSingletonHighlighter({ + langs: ["typescript", "json"], + themes: [theme], + }); + + const code = example.files[mainFile] || ""; + const lang = mainFile.endsWith(".json") ? "json" : "typescript"; + + const highlighted = highlighter.codeToHtml(code, { + lang, + theme: theme.name, + }); + + setFileContent(highlighted); + }; + + highlightCode(); + }, [isExpanded, mainFile, example.files]); return ( -
-
- -
+
+
-
- - - -
+ + + {isExpanded && ( +
+ {/* Code snippet */} +
+
+
+ + {/* Gradient overlay and Show More button */} + {!isCodeExpanded && ( +
+ +
+ )} +
+
+ + {/* GitHub button - only shown when expanded */} +
+ +
+
+ )}
); } export default function CodeSnippetsMobile() { + const [expandedExamples, setExpandedExamples] = useState>(new Set()); + + const toggleExample = (exampleId: string) => { + setExpandedExamples(prev => { + const next = new Set(prev); + if (next.has(exampleId)) { + next.delete(exampleId); + } else { + next.add(exampleId); + } + return next; + }); + }; + const examplesWithIcons = examples.map((example) => ({ ...example, icon: EXAMPLE_ICON_MAP[example.id] || faCode, })); return ( -
-
+
+

+ Examples +

+
{examplesWithIcons.map((example) => ( toggleExample(example.id)} /> ))}
); -} \ No newline at end of file +} diff --git a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/utils.ts b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/utils.ts index 291abefa95..721dea6227 100644 --- a/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/utils.ts +++ b/site/src/app/(v2)/(marketing)/(index)/components/code-snippets/utils.ts @@ -16,6 +16,9 @@ import { faBracketsCurly, faJs, faFile, + faClock, + faUserRobot, + faDiagramNext, } from "@rivet-gg/icons"; import { examples } from "@/data/examples/examples"; import JSZip from "jszip"; @@ -30,6 +33,9 @@ export const EXAMPLE_ICON_MAP: Record = { game: faGamepad, sync: faRotate, tenant: faBuilding, + bots: faUserRobot, + workflows: faDiagramNext, + "background-jobs": faClock, }; // Shared functionality for example actions diff --git a/site/src/app/(v2)/(marketing)/(index)/sections/CTASection.tsx b/site/src/app/(v2)/(marketing)/(index)/sections/CTASection.tsx index 3f371a10d2..8251115c82 100644 --- a/site/src/app/(v2)/(marketing)/(index)/sections/CTASection.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/sections/CTASection.tsx @@ -9,7 +9,7 @@ export function CTASection() {
- + Quickstart — 5 minutes diff --git a/site/src/app/(v2)/(marketing)/(index)/sections/FeaturesSection.tsx b/site/src/app/(v2)/(marketing)/(index)/sections/FeaturesSection.tsx index eff3d8d770..519a02a81b 100644 --- a/site/src/app/(v2)/(marketing)/(index)/sections/FeaturesSection.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/sections/FeaturesSection.tsx @@ -1,113 +1,67 @@ -import { Icon, faArrowRight } from "@rivet-gg/icons"; +"use client"; -function DocsLink({ href }: { href: string }) { - return ( - - Documentation - - - ); -} +import { useRef } from "react"; +import { IconWithSpotlight } from "./IconWithSpotlight"; interface FeatureCardProps { title: string; description: string; - color: string; className?: string; docLink?: string; + iconPath?: string; } function FeatureCard({ title, description, - color, className = "", docLink, + iconPath, }: FeatureCardProps) { - return ( -
-
-
-

{title}

-

- {description} -

- {docLink && } -
-
-
-
- ); -} + const cardRef = useRef(null); -interface LargeFeatureCardProps { - title: string; - description: string; - color: string; - className?: string; - docLink?: string; -} + const handleMouseMove = (e: React.MouseEvent) => { + if (!cardRef.current) return; + const card = cardRef.current; + + // Find the icon container and convert coordinates to icon-relative + const iconContainer = card.querySelector('.icon-spotlight-container') as HTMLElement; + if (!iconContainer) return; + + // Get the icon's position relative to viewport + const iconRect = iconContainer.getBoundingClientRect(); + + // Calculate mouse position relative to the icon (not the card) + const x = ((e.clientX - iconRect.left) / iconRect.width) * 100; + const y = ((e.clientY - iconRect.top) / iconRect.height) * 100; + + // Set CSS custom properties on the icon container + iconContainer.style.setProperty('--mouse-x', `${x}%`); + iconContainer.style.setProperty('--mouse-y', `${y}%`); + }; -function LargeFeatureCard({ - title, - description, - color, - className = "", - docLink, -}: LargeFeatureCardProps) { return ( -
-
-
-

{title}

-

- {description} -

- {docLink && } -
-
+ +
+ {iconPath && ( + <> +
+
+ +
+ + )} +

{title}

+

+ {description} +

-
+
); } @@ -120,66 +74,67 @@ export function FeaturesSection() { Built for Modern Applications

- Everything you need to build fast, scalable, and real-time + Everything you need to build fast, scalable, and realtime applications without the complexity.

-
- + + + + +
diff --git a/site/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx b/site/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx index c59eb83ba5..c06450219f 100644 --- a/site/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/sections/HeroSection.tsx @@ -2,6 +2,7 @@ import { PlatformIcons } from "../components/PlatformIcons"; import { MarketingButton } from "../components/MarketingButton"; import { CopyCommand } from "../components/CopyCommand"; import Link from "next/link"; +import { WithTooltip } from "@rivet-gg/components"; export function HeroSection() { return ( @@ -21,12 +22,13 @@ export function HeroSection() {
-

- Rivet is a library for long-lived processes with{" "} - durable state + {/*

+ Rivet is a library for{" "} + long-lived processes{" "} with{" "} + state , realtime, and{" "} - scalability. + hibernation.
Easily{" "} self-hostable{" "} @@ -35,6 +37,25 @@ export function HeroSection() { your infrastructure . +

*/} + + +

+ Rivet is an open-source library for{" "} + long-lived processes. +
+ Like Lambda — but with{" "} + persistence,{" "} + realtime, and{" "} + hibernation. +
+ Easily{" "} + self-hostable{" "} + and works with{" "} + + your infrastructure + + .

@@ -47,7 +68,7 @@ export function HeroSection() { {/* CTA Buttons */}
Quickstart — 5 minutes diff --git a/site/src/app/(v2)/(marketing)/(index)/sections/IconWithSpotlight.tsx b/site/src/app/(v2)/(marketing)/(index)/sections/IconWithSpotlight.tsx new file mode 100644 index 0000000000..6ebc51b11a --- /dev/null +++ b/site/src/app/(v2)/(marketing)/(index)/sections/IconWithSpotlight.tsx @@ -0,0 +1,62 @@ +interface IconWithSpotlightProps { + iconPath: string; + title: string; +} + +export function IconWithSpotlight({ iconPath, title }: IconWithSpotlightProps) { + const getPathData = () => { + switch (iconPath) { + case "/icons/microchip.svg": + return "M240 88L240 64L192 64L192 128L128 128L128 192L64 192L64 240L128 240L128 296L64 296L64 344L128 344L128 400L64 400L64 448L128 448L128 512L192 512L192 576L240 576L240 512L296 512L296 576L344 576L344 512L400 512L400 576L448 576L448 512L512 512L512 448L576 448L576 400L512 400L512 344L576 344L576 296L512 296L512 240L576 240L576 192L512 192L512 128L448 128L448 64L400 64L400 128L344 128L344 64L296 64L296 128L240 128L240 88zM464 176L464 464L176 464L176 176L464 176zM368 272L368 368L272 368L272 272L368 272zM272 224L224 224L224 416L416 416L416 224L272 224z"; + case "/icons/database.svg": + return "M144 270L144 341.4L237.8 400L402.3 400L496.1 341.4L496.1 270L416.1 320L224.1 320L144.1 270zM96 240L96 144L224 64L416 64L544 144L544 496L416 576L224 576L96 496L96 240zM496 192L496 170.6L402.2 112L237.7 112L143.9 170.6L143.9 213.4L237.7 272L402.2 272L496 213.4L496 192zM144 469.4L237.8 528L402.3 528L496.1 469.4L496.1 398L416.1 448L224.1 448L144.1 398L144.1 469.4z"; + case "/icons/bolt.svg": + return "M414.7 48L407.8 54.6L103.8 342.6L60.1 384L247.5 384L193.4 561L183.9 592L225.9 592L232.8 585.4L536.8 297.4L580.5 256L393.1 256L447.2 79L456.7 48L414.7 48zM180.5 336L374.7 152C345.5 247.7 330 298.3 328.3 304L460 304L265.8 488C295 392.4 310.5 341.7 312.2 336L180.4 336z"; + default: + return ""; + } + }; + + const pathData = getPathData(); + + return ( +
+ + {/* Base stroke - always visible, lights up white on card hover */} + + + + {/* Spotlight layer with mask */} +
+ + + +
+
+ ); +} diff --git a/site/src/app/(v2)/(marketing)/(index)/sections/StudioSection.tsx b/site/src/app/(v2)/(marketing)/(index)/sections/StudioSection.tsx index 5c59af7ed2..7dd335921e 100644 --- a/site/src/app/(v2)/(marketing)/(index)/sections/StudioSection.tsx +++ b/site/src/app/(v2)/(marketing)/(index)/sections/StudioSection.tsx @@ -13,7 +13,7 @@ import { faEye, faFlask, faMagnifyingGlass, - faNetworkWired, + faNetworkWired, } from "@rivet-gg/icons"; export interface FeatureItem { @@ -29,7 +29,7 @@ interface FeatureProps { function Feature({ feature }: FeatureProps) { const title = feature.title || feature.name; - + return (
@@ -49,20 +49,23 @@ export function StudioSection() { description: "View and edit your actor state in real-time as messages are sent and processed", }, + { + name: "Event Monitoring", + icon: faChartLine, + description: + "See all events happening in your actor in real-time - track every state change and action as it happens", + }, { name: "REPL", icon: faTerminal, - description: "Debug your actor in real-time - call actions, subscribe to events, and interact directly with your code" + description: + "Debug your actor in real-time - call actions, subscribe to events, and interact directly with your code", }, { name: "Connection Inspection", icon: faNetworkWired, - description: "Monitor active connections with state and parameters for each client", - }, - { - name: "Hot Reload Code Changes", - icon: faCodeBranch, - description: "See code changes instantly without restarting - modify and test on the fly" + description: + "Monitor active connections with state and parameters for each client", }, ]; @@ -70,7 +73,8 @@ export function StudioSection() {
@@ -115,8 +123,12 @@ export function StudioSection() { {/* Watch Demo overlay that appears on hover */}
- - + + Watch Demo
@@ -136,7 +148,7 @@ export function StudioSection() { {/* Screenshot */}
{/* Screenshot wrapper */} -
{/* Studio screenshot with enhanced depth */} @@ -174,7 +187,7 @@ export function StudioSection() { > Rivet Studio dashboard {/* Gradient overlay */} -
-
); diff --git a/site/src/components/docs/Hosting.tsx b/site/src/components/docs/Hosting.tsx index a036a09cb1..a2c39fb489 100644 --- a/site/src/components/docs/Hosting.tsx +++ b/site/src/components/docs/Hosting.tsx @@ -19,9 +19,16 @@ export function Hosting() { Hosting Providers

- {hostingProviders.map(({ title, href }) => ( - - ))} + {hostingProviders + .filter((x) => !x.specializedPlatform) + .map(({ title, href, icon }) => ( + + ))} ); diff --git a/site/src/content/docs/actors/index.mdx b/site/src/content/docs/actors/index.mdx index 93556fb88f..f03d012718 100644 --- a/site/src/content/docs/actors/index.mdx +++ b/site/src/content/docs/actors/index.mdx @@ -1,4 +1,4 @@ -import { faCloudflare, faNodeJs, faReact, faSquareJs } from "@rivet-gg/icons"; +import { faCloudflare, faNodeJs, faReact, faNextjs } from "@rivet-gg/icons"; # Overview @@ -8,16 +8,16 @@ Actors for long-lived processes with durable state, realtime, and hibernate when - Set up actors with Node.js, Bun, and web frameworks + Set up Rivet with Node.js, Bun, and web frameworks - Build real-time React applications with actors + Set up Rivet with React - - Build server-rendered Next.js experiences backed by actors + + Set up Rivet with Next.js - Deploy actors on Cloudflare Workers with zero infrastructure + Set up Rivet with Cloudflare Workers diff --git a/site/src/content/docs/actors/quickstart/backend.mdx b/site/src/content/docs/actors/quickstart/backend.mdx index 6fc568839d..8d326ffaf7 100644 --- a/site/src/content/docs/actors/quickstart/backend.mdx +++ b/site/src/content/docs/actors/quickstart/backend.mdx @@ -23,12 +23,11 @@ import { actor, setup } from "rivetkit"; export const counter = actor({ state: { count: 0 }, actions: { - increment: (c, amount: number = 1) => { - c.state.count += amount; - c.broadcast("countChanged", c.state.count); + increment: (c, x: number) => { + c.state.count += x; + c.broadcast("newCount", c.state.count); return c.state.count; }, - getCount: (c) => c.state.count, }, }); @@ -194,24 +193,21 @@ See the [JavaScript client documentation](/docs/clients/javascript) for more inf ```tsx {{"title":"Counter.tsx"}} +import { createRivetKit } from "@rivetkit/react"; import { useState } from "react"; -import { createClient, createRivetKit } from "@rivetkit/react"; import type { registry } from "./registry"; -const client = createClient("http://localhost:8080"); -const { useActor } = createRivetKit(client); +const { useActor } = createRivetKit("http://localhost:8080"); function Counter() { const [count, setCount] = useState(0); - + const counter = useActor({ name: "counter", key: ["my-counter"] }); - counter.useEvent("countChanged", (newCount: number) => { - setCount(newCount); - }); + counter.useEvent("newCount", (x: number) => setCount(x)); const increment = async () => { await counter.connection?.increment(1); diff --git a/site/src/content/docs/actors/quickstart/cloudflare-workers.mdx b/site/src/content/docs/actors/quickstart/cloudflare-workers.mdx index 06630102a7..9f8081bbdf 100644 --- a/site/src/content/docs/actors/quickstart/cloudflare-workers.mdx +++ b/site/src/content/docs/actors/quickstart/cloudflare-workers.mdx @@ -23,12 +23,11 @@ import { actor, setup } from "rivetkit"; export const counter = actor({ state: { count: 0 }, actions: { - increment: (c, amount: number = 1) => { - c.state.count += amount; - c.broadcast("countChanged", c.state.count); + increment: (c, x: number) => { + c.state.count += x; + c.broadcast("newCount", c.state.count); return c.state.count; }, - getCount: (c) => c.state.count, }, }); @@ -170,7 +169,7 @@ curl -X POST http://localhost:8787/increment/my-counter - + Deploy to Cloudflare's global edge network: @@ -180,6 +179,8 @@ wrangler deploy Your actors will now run on Cloudflare's edge with persistent state backed by Durable Objects. +See the [Cloudflare Workers deployment guide](/docs/deploy/cloudflare-workers) for detailed deployment instructions and configuration options. + @@ -229,12 +230,11 @@ See the [JavaScript client documentation](/docs/clients/javascript) for more inf ```tsx {{"title":"Counter.tsx"}} +import { createRivetKit } from "@rivetkit/react"; import { useState } from "react"; -import { createClient, createRivetKit } from "@rivetkit/react"; import type { registry } from "./registry"; -const client = createClient("https://your-app.workers.dev/rivet"); -const { useActor } = createRivetKit(client); +const { useActor } = createRivetKit("https://your-app.workers.dev/rivet"); function Counter() { const [count, setCount] = useState(0); @@ -244,9 +244,7 @@ function Counter() { key: ["my-counter"] }); - counter.useEvent("countChanged", (newCount: number) => { - setCount(newCount); - }); + counter.useEvent("newCount", (x: number) => setCount(x)); const increment = async () => { await counter.connection?.increment(1); diff --git a/site/src/content/docs/actors/quickstart/index.mdx b/site/src/content/docs/actors/quickstart/index.mdx index a38d2ee56c..3a097ace9f 100644 --- a/site/src/content/docs/actors/quickstart/index.mdx +++ b/site/src/content/docs/actors/quickstart/index.mdx @@ -1,4 +1,4 @@ -import { faNodeJs, faReact } from "@rivet-gg/icons"; +import { faNodeJs, faReact, faNextjs, faCloudflare } from "@rivet-gg/icons"; # Quickstart @@ -9,5 +9,11 @@ import { faNodeJs, faReact } from "@rivet-gg/icons"; Build real-time React applications with actors + + Build server-rendered Next.js experiences backed by actors + + + Deploy actors on Cloudflare Workers with zero infrastructure + diff --git a/site/src/content/docs/actors/quickstart/next-js.mdx b/site/src/content/docs/actors/quickstart/next-js.mdx index 19c69fca29..a4c4b00880 100644 --- a/site/src/content/docs/actors/quickstart/next-js.mdx +++ b/site/src/content/docs/actors/quickstart/next-js.mdx @@ -23,7 +23,7 @@ cd my-app -Create a simple counter actor: +Create a file at `src/rivet/registry.ts` with a simple counter actor: ```ts {{"title":"src/rivet/registry.ts"}} import { actor, setup } from "rivetkit"; @@ -31,12 +31,11 @@ import { actor, setup } from "rivetkit"; export const counter = actor({ state: { count: 0 }, actions: { - increment: (c, amount: number = 1) => { - c.state.count += amount; - c.broadcast("countChanged", c.state.count); + increment: (c, x: number) => { + c.state.count += x; + c.broadcast("newCount", c.state.count); return c.state.count; }, - getCount: (c) => c.state.count, }, }); @@ -47,62 +46,46 @@ export const registry = setup({ - + -Create a RivetKit client to connect to your actor: - -```ts {{"title":"src/lib/rivet-client.ts"}} -"use client"; -import { createClient, createRivetKit } from "@rivetkit/next-js/client"; -import type { registry } from "@/rivet/registry"; - -const client = createClient({ - endpoint: `${window.location.origin}/api/rivet`, - transport: "sse", -}); - -export const { useActor } = createRivetKit(client); - -``` - -It's important to use SSE (Server-Sent Events) for real-time updates in Next.js. - - - - +Create a file at `src/app/api/rivet/[...all]/route.ts` to setup the API routes: ```ts {{"title":"src/app/api/rivet/[...all]/route.ts"}} import { toNextHandler } from "@rivetkit/next-js"; import { registry } from "@/rivet/registry"; -// Export the Next.js handler for the API routes -export const { GET, POST, HEAD, PATCH, OPTIONS } = toNextHandler(registry); +export const { GET, POST, PUT, PATCH, HEAD, OPTIONS } = toNextHandler(registry); ``` - + +Create a file at `src/components/Counter.tsx` to use the actor in a component: ```tsx {{"title":"src/components/Counter.tsx"}} "use client"; -import { useActor } from "@/lib/rivet-client"; + +import { createRivetKit } from "@rivetkit/next-js/client"; +import type { registry } from "@/rivet/registry"; import { useState } from "react"; +export const { useActor } = createRivetKit( + process.env.NEXT_RIVET_ENDPOINT ?? "http://localhost:3000/api/rivet", +); export function Counter() { + const [count, setCount] = useState(0); + const counter = useActor({ name: "counter", - key: ["test"], // Use a unique key for the actor instance + key: ["test"], }); - const [count, setCount] = useState(0); - counter.on("countChanged", (newCount) => { - setCount(newCount); - }); + counter.useEvent("newCount", (x: number) => setCount(x)); - const increment = () => { - counter.increment(); + const increment = async () => { + await counter.connection?.increment(1); }; return ( @@ -114,10 +97,20 @@ export function Counter() { } ``` -Make sure to import the `Counter` component in your page or layout. +Import the `Counter` component in your page or layout to use it. -For more examples how to connect to your actors using React, check the [RivetKit React documentation](http://rivet.dev/docs/clients/react/). +For more examples on connecting to your actors using React, check the [React documentation for RivetKit](/docs/clients/react). + + + + + +See the [Vercel deployment guide](/docs/deploy/vercel) for detailed instructions on deploying your RivetKit app to Vercel. + +## API Reference + +For detailed information about the Next.js client API, see the [React Client API Reference](/docs/clients/react). diff --git a/site/src/content/docs/actors/quickstart/react.mdx b/site/src/content/docs/actors/quickstart/react.mdx index a01ac89256..c2a3b7492c 100644 --- a/site/src/content/docs/actors/quickstart/react.mdx +++ b/site/src/content/docs/actors/quickstart/react.mdx @@ -21,15 +21,13 @@ Create your actor registry on the backend: import { actor, setup } from "rivetkit"; export const counter = actor({ - onAuth: () => {}, // Skip authentication (can be configured later) state: { count: 0 }, actions: { - increment: (c, amount: number = 1) => { - c.state.count += amount; - c.broadcast("countChanged", c.state.count); + increment: (c, x: number) => { + c.state.count += x; + c.broadcast("newCount", c.state.count); return c.state.count; }, - getCount: (c) => c.state.count, }, }); @@ -58,43 +56,33 @@ registry.start(); Set up your React application: ```tsx {{"title":"frontend/App.tsx"}} -import { useState } from "react"; import { createClient, createRivetKit } from "@rivetkit/react"; +import { useState } from "react"; import type { registry } from "../backend/registry"; -// Create typed client -const client = createClient("http://localhost:8080"); +const client = createClient(); const { useActor } = createRivetKit(client); function App() { const [count, setCount] = useState(0); - const [counterName, setCounterName] = useState("my-counter"); + const [counterName, setCounterName] = useState("test-counter"); - // Connect to the counter actor const counter = useActor({ name: "counter", key: [counterName], }); - // Listen for real-time count updates - counter.useEvent("countChanged", (newCount: number) => { - setCount(newCount); - }); + counter.useEvent("newCount", (x: number) => setCount(x)); const increment = async () => { - // Call actor action through the connection await counter.connection?.increment(1); }; - const incrementBy = async (amount: number) => { - await counter.connection?.increment(amount); - }; - return (

Rivet Counter

Count: {count}

- +
-
- - - -
+

Connection Status: {counter.isConnected ? "Connected" : "Disconnected"}

@@ -186,3 +164,7 @@ Add custom HTTP endpoints alongside your actors to handle additional business lo See [backend quickstart](/docs/actors/quickstart/backend) for more information. +## API Reference + +For detailed information about the React client API, see the [React Client API Reference](/docs/clients/react). + diff --git a/site/src/content/docs/clients/javascript.mdx b/site/src/content/docs/clients/javascript.mdx index c8417dd43c..602a15e7d2 100644 --- a/site/src/content/docs/clients/javascript.mdx +++ b/site/src/content/docs/clients/javascript.mdx @@ -5,52 +5,11 @@ import { InstallPackage } from "@/components/docs/InstallPackage"; The Rivet JavaScript client allows you to connect to and interact with actors from browser and Node.js applications. -## Basic Usage +## Getting Started - - -Install the RivetKit package: - - - - - - - Make sure you have a running Rivet actor server to connect to. You can follow the [Node.js & Bun Quickstart](https://rivet.dev/docs/actors/quickstart/backend/) to set up a simple actor server. - - -Create client and connect to actors and listen for real-time updates: - -```tsx {{"title":"index.ts"}} -import { createClient } from "rivetkit/client"; -import type { Registry } from "../src/registry"; - -async function main() { - const client = createClient( - process.env.ENDPOINT ?? "http://127.0.0.1:8080", - ); - - const counter = await client.counter.getOrCreate().connect(); - - counter.on("countChanged", (count: number) => console.log("Count changed:", count)); - - for (let i = 0; i < 5; i++) { - const out = await counter.increment(1); - console.log("Increment:", out); - - await new Promise((resolve) => setTimeout(resolve, 1000)); - } - - await new Promise((resolve) => setTimeout(resolve, 10000)); - await counter.dispose(); -} - -main(); - -``` - - +See the [backend quickstart guide](/docs/actors/quickstart/backend) for getting started. ## API Reference -Follows the same [API as the Node.js client](http://rivet.dev/docs/actors/clients/#actor-client), allowing you to use the same methods and properties for interacting with actors. \ No newline at end of file +See the [RivetKit client API](http://rivet.dev/docs/actors/clients/#actor-client). + diff --git a/site/src/content/docs/clients/next-js.mdx b/site/src/content/docs/clients/next-js.mdx index 1ca3ab6fbe..202823da1f 100644 --- a/site/src/content/docs/clients/next-js.mdx +++ b/site/src/content/docs/clients/next-js.mdx @@ -14,81 +14,10 @@ The Rivet Next.js client allows you to connect to and interact with actors in Ne -## Basic Usage +## Getting Started - - - - -Install the RivetKit React package: - - - - - - - - - Follow the [Next.js backend integration guide](https://rivet.dev/docs/integrations/next-js/) to set up your Next.js backend with Rivet. - - -Create a RivetKit client to connect to your actor: - -```ts {{"title":"src/lib/rivet-client.ts"}} -"use client"; -import { createClient, createRivetKit } from "@rivetkit/next-js/client"; -import type { registry } from "@/rivet/registry"; - -const client = createClient({ - endpoint: `${window.location.origin}/api/rivet`, - transport: "sse", -}); - -export const { useActor } = createRivetKit(client); - -``` - -It's important to use SSE (Server-Sent Events) for real-time updates in Next.js. - - - - - -Connect to actors and listen for real-time updates: -```tsx {{"title":"src/components/Counter.tsx"}} -"use client"; -import { useActor } from "@/lib/rivet-client"; -import { useState } from "react"; - - -export function Counter() { - const counter = useActor({ - name: "counter", - key: ["test"], // Use a unique key for the actor instance - }); - const [count, setCount] = useState(0); - - counter.on("countChanged", (newCount) => { - setCount(newCount); - }); - - const increment = () => { - counter.increment(); - }; - - return ( -
-

Count: {count}

- -
- ); -} -``` - -Make sure to import the `Counter` component in your page or layout. -
-
+See the [Next.js quickstart guide](/docs/actors/quickstart/next-js) for getting started. ## API Reference -It's the same as the [React client API reference](https://rivet.dev/docs/clients/react#api-reference), since the RivetKit React package is used in both Next.js and React applications. \ No newline at end of file +It's the same as the [React client API reference](https://rivet.dev/docs/clients/react#api-reference), since the RivetKit React package is used in both Next.js and React applications. diff --git a/site/src/content/docs/clients/openapi.mdx b/site/src/content/docs/clients/openapi.mdx index b4a67c9d63..21e25d4295 100644 --- a/site/src/content/docs/clients/openapi.mdx +++ b/site/src/content/docs/clients/openapi.mdx @@ -1,3 +1,6 @@ # OpenAPI The Rivet OpenAPI spec is available [here](https://github.com/rivet-dev/rivetkit/blob/main/clients/openapi/openapi.json) + +The OpenAPI spec currently only exposes creating & managing actors. It does not expose how to communicate with actors. See the [HTTP client implementation](https://github.com/rivet-dev/rivetkit/blob/b5072fdac18d90a27bb6cd36e9ee73b00d36d42c/packages/rivetkit/src/client/actor-handle.ts) for reference. + diff --git a/site/src/content/docs/clients/react.mdx b/site/src/content/docs/clients/react.mdx index 56fa27b470..4f8fbd9dba 100644 --- a/site/src/content/docs/clients/react.mdx +++ b/site/src/content/docs/clients/react.mdx @@ -4,80 +4,9 @@ import { InstallPackage } from "@/components/docs/InstallPackage"; Learn how to create real-time, stateful React applications with Rivet's actor model. The React integration provides intuitive hooks for managing actor connections and real-time updates. -## Basic Usage +## Getting Started - - - - -Install the RivetKit React package: - - - - - - - - Make sure you have a running Rivet actor server to connect to. You can follow the [Node.js & Bun Quickstart](https://rivet.dev/docs/actors/quickstart/backend/) to set up a simple actor server. - - -Connect to actors and listen for real-time updates: - -```tsx {{"title":"frontend/App.tsx"}} -import { useState } from "react"; -import { useActor } from "./rivetkit"; - -function App() { - const [count, setCount] = useState(0); - const [counterName, setCounterName] = useState("my-counter"); - - // Connect to the counter actor - const counter = useActor({ - name: "counter", - key: [counterName], - }); - - // Listen for real-time count updates - counter.useEvent("countChanged", (newCount: number) => { - setCount(newCount); - }); - - const increment = async () => { - await counter.connection?.increment(1); - }; - - return ( -
-

Rivet Counter

-

Count: {count}

- -
- -
- - - -
-

Status: {counter.isConnected ? "Connected" : "Disconnected"}

-
-
- ); -} - -export default App; -``` -
-
+See the [React quickstart guide](/docs/actors/quickstart/react) for getting started. ## API Reference @@ -87,8 +16,9 @@ Creates the Rivet hooks for React integration. ```tsx import { createClient, createRivetKit } from "@rivetkit/react"; +import type { registry } from "./backend/registry"; -const client = createClient("http://localhost:8080"); +const client = createClient(); const { useActor } = createRivetKit(client); ``` @@ -124,7 +54,6 @@ const actor = useActor({ - `createWithInput`: Optional input to pass to the actor on creation - `createInRegion`: Optional region to create the actor in if does not exist - `enabled`: Optional boolean to conditionally enable/disable the connection (default: true) - - `enabled`: Optional boolean to conditionally enable/disable the connection (default: true) #### Returns @@ -141,8 +70,8 @@ Subscribe to events emitted by the actor. ```tsx const actor = useActor({ name: "counter", key: ["my-counter"] }); -actor.useEvent("countChanged", (newCount: number) => { - console.log("Count changed:", newCount); +actor.useEvent("newCount", (count: number) => { + console.log("Count changed:", count); }); ``` diff --git a/site/src/content/docs/clients/rust.mdx b/site/src/content/docs/clients/rust.mdx index e2448ca790..f48c76e959 100644 --- a/site/src/content/docs/clients/rust.mdx +++ b/site/src/content/docs/clients/rust.mdx @@ -79,6 +79,4 @@ The Rivet Rust client provides a way to connect to and interact with actors from ## API Reference -_Coming Soon_ - For detailed API documentation, please refer to the [RivetKit Rust client implementation](https://github.com/rivet-dev/rivetkit/blob/main/clients/rust). diff --git a/site/src/content/docs/deploy/cloudflare-workers.mdx b/site/src/content/docs/deploy/cloudflare-workers.mdx index af7b5eea83..0d9cc61df0 100644 --- a/site/src/content/docs/deploy/cloudflare-workers.mdx +++ b/site/src/content/docs/deploy/cloudflare-workers.mdx @@ -1,159 +1,60 @@ +import { faGithub } from "@rivet-gg/icons"; + # Deploying to Cloudflare Workers -# -Run Rivet Actors on Cloudflare Workers with Durable Objects. If you still need a sample app, walk through the [Cloudflare Workers Quickstart](/docs/actors/quickstart/cloudflare-workers) first. + +Deploy your Cloudflare Workers + RivetKit app to [Cloudflare Workers](https://workers.cloudflare.com/). + + + +Complete example Cloudflare Workers + RivetKit app. + + + +## Guide - [Cloudflare account](https://dash.cloudflare.com/) with Durable Objects enabled - [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/install-and-update/) v3 -- RivetKit project (or use the [Quickstart](/docs/actors/quickstart/cloudflare-workers)) +- Access to the [Rivet Cloud](https://dashboard.rivet.dev/) or a self-hosted [Rivet Engine](/docs/general/self-hosting) +- A Cloudflare Worker app integrated with RivetKit + - See the [Cloudflare Workers quickstart](/docs/actors/quickstart/cloudflare-workers/) or [Cloudflare Workers example](https://github.com/rivet-dev/rivetkit/tree/main/examples/cloudflare-workers) to get started - - -Install the Cloudflare Worker driver alongside RivetKit: + +Your project should have the following files: -```sh -npm install rivetkit @rivetkit/cloudflare-workers -``` +- `src/index.ts` (or similar entry point with `createHandler`) +- `src/registry.ts` (or similar actor registry file) +- `wrangler.json` with proper Durable Objects and KV namespace configuration +If your project is not integrated with RivetKit yet, follow the [Cloudflare Workers quickstart guide](/docs/actors/quickstart/cloudflare-workers/) or see the [Cloudflare Workers example](https://github.com/rivet-dev/rivetkit/tree/main/examples/cloudflare-workers). - - -Wire your actors into a Cloudflare Worker using the same setup as the quickstart: - -```ts {{"title":"registry.ts"}} -import { actor, setup } from "rivetkit"; - -export const counter = actor({ - state: { count: 0 }, - actions: { - increment: (c, amount: number = 1) => { - c.state.count += amount; - c.broadcast("countChanged", c.state.count); - return c.state.count; - }, - getCount: (c) => c.state.count, - }, -}); - -export const registry = setup({ - use: { counter }, -}); -``` - - - -```ts {{"title":"index.ts (Hono)"}} -import { createHandler, type Client } from "@rivetkit/cloudflare-workers"; -import { Hono } from "hono"; -import { registry } from "./registry"; - -const app = new Hono<{ Bindings: { RIVET: Client } }>(); - -app.post("/increment/:name", async (c) => { - const client = c.env.RIVET; - const name = c.req.param("name"); - - // Get or create actor and call action - const counter = client.counter.getOrCreate(name); - const newCount = await counter.increment(1); - - return c.json({ count: newCount }); -}); - -const { handler, ActorHandler } = createHandler(registry, { fetch: app.fetch }); -export { handler as default, ActorHandler }; -``` - -```ts {{"title":"index.ts (No Router)"}} -import { createHandler } from "@rivetkit/cloudflare-workers"; -import { registry } from "./registry"; - -const { handler, ActorHandler } = createHandler(registry, { - fetch: async (request, env, ctx) => { - const url = new URL(request.url); - - if (url.pathname.startsWith("/increment/")) { - const name = url.pathname.split("/")[2]; - const client = env.RIVET; + - const counter = client.counter.getOrCreate(name); - const newCount = await counter.increment(1); +Deploy to Cloudflare's global network: - return new Response(JSON.stringify({ count: newCount }), { - headers: { "Content-Type": "application/json" }, - }); - } - - return new Response("Not Found", { status: 404 }); - } -}); - -export { handler as default, ActorHandler }; -``` - - - -Configure Durable Objects and KV namespaces in `wrangler.json` (same as the quickstart): - -```json {{"title":"wrangler.json"}} -{ - "name": "my-rivetkit-worker", - "main": "src/index.ts", - "compatibility_date": "2025-01-20", - "compatibility_flags": ["nodejs_compat"], - "migrations": [ - { - "tag": "v1", - "new_classes": ["ActorHandler"] - } - ], - "durable_objects": { - "bindings": [ - { - "name": "ACTOR_DO", - "class_name": "ActorHandler" - } - ] - }, - "kv_namespaces": [ - { - "binding": "ACTOR_KV", - "id": "your_namespace_id" - } - ] -} +```sh +wrangler deploy ``` -Configuration requirements: +Your worker will be deployed and you'll receive a URL like `https://my-rivetkit-worker.workers.dev`. -- `ACTOR_DO` durable object binding for actor persistence -- `ACTOR_KV` KV namespace binding for metadata storage -- `nodejs_compat` compatibility flag -- Migration entry defining the `ActorHandler` class +More information on deployments is available in [Cloudflare's docs](https://developers.cloudflare.com/workers/wrangler/commands/#deploy). - - -Start the worker locally: + -```sh -wrangler dev -``` +After running `wrangler deploy`, note the URL printed in the output (e.g., `https://my-rivetkit-worker.workers.dev`). -Call your actor at `http://localhost:8787/increment/my-counter`. +Your RivetKit endpoint will be available at this URL with `/rivet` appended: +- Example: `https://my-rivetkit-worker.workers.dev/rivet` -When you're ready, deploy to Cloudflare's network: - -```sh -wrangler deploy -``` - -Durable Objects back your actor state globally, and the Rivet endpoint is automatically mounted at `/rivet`. +Use this endpoint URL when configuring your RivetKit client or connecting from the Rivet dashboard. + ## Advanced diff --git a/site/src/content/docs/deploy/vercel.mdx b/site/src/content/docs/deploy/vercel.mdx index b41e3e6b2d..ebab2bc04e 100644 --- a/site/src/content/docs/deploy/vercel.mdx +++ b/site/src/content/docs/deploy/vercel.mdx @@ -63,11 +63,10 @@ More information on deployments are available in [Vercel's docs](https://vercel. -1. Visit the Rivet dashboard +1. Visit the [Rivet dashboard](https://dashboard.rivet.dev) 2. Navigate to _Connect > Vercel_ 3. Skip to the _Deploy to Vercel_ step 4. Input your deployed Vercel site URL (e.g. `https://my-app.vercel.app/api/rivet`) - - **Important**: Make sure to include the path `/api/rivet` 5. Once it shows as successfully connected, click _Done_ Your Vercel Functions deployment is now connected to Rivet. diff --git a/site/src/content/docs/index.mdx b/site/src/content/docs/index.mdx index 344354a167..3163386bfd 100644 --- a/site/src/content/docs/index.mdx +++ b/site/src/content/docs/index.mdx @@ -1,28 +1,14 @@ import { integrationGroups } from "@/data/integrations/shared"; import { deployOptions } from "@/data/deploy-options"; +import { useCases } from "@/data/use-cases"; import { - faNodeJs, - faReact, faActorsBorderless, - faRobot, - faWaveSine, - faServer, - faDatabase, - faGaugeHigh, - faMessage, } from "@rivet-gg/icons"; # Overview Rivet is a library for long-lived processes with durable state, realtime, and scalability. It is easily self-hostable and works with your infrastructure. -## Features - -- **Stateful Workloads**: Keep memory between operations & run complex logic that requires stateful processes -- **Realtime**: Powered by WebSockets or SSE without the complexity -- **Elastic Scalability**: Scale from zero to millions without cold starts -- **Multi-Region Durable Storage**: Keep state & operations near your users or comply with data soveirgnty - ## Libraries @@ -40,24 +26,16 @@ Rivet is a library for long-lived processes with durable state, realtime, and sc ## Use Cases - - Deploy assistants that reason and act with durable memory - - - Sync state instantly over WebSockets or SSE - - - Run long-lived services with automatic failover - - - Isolate customer data with multi-tenant storage - - - Throttle requests using stateful counters per client - - - Build chat and workflow bots with actor logic - +{useCases.map((useCase) => ( + + {useCase.description} + +))} ## Deploy Options diff --git a/site/src/content/docs/integrations/better-auth.mdx b/site/src/content/docs/integrations/better-auth.mdx index bf44ada189..b6c9c99a2d 100644 --- a/site/src/content/docs/integrations/better-auth.mdx +++ b/site/src/content/docs/integrations/better-auth.mdx @@ -257,13 +257,11 @@ Use authenticated sessions with Rivet: ```tsx // ChatRoom.tsx import React, { useState } from "react"; -import { createClient } from "@rivetkit/client"; import { createRivetKit } from "@rivetkit/react"; import { authClient } from "./auth-client"; import type { registry } from "../backend/registry"; -const client = createClient("http://localhost:8080"); -const { useActor } = createRivetKit(client); +const { useActor } = createRivetKit("http://localhost:8080"); interface ChatRoomProps { session: { user: { id: string; name: string } }; diff --git a/site/src/content/docs/use-cases/ai-agent.mdx b/site/src/content/docs/use-cases/ai-agent.mdx new file mode 100644 index 0000000000..f22f3de324 --- /dev/null +++ b/site/src/content/docs/use-cases/ai-agent.mdx @@ -0,0 +1,51 @@ +# AI Agents + +## Challenges of Building AI Agents + +Common tools: LangChain, OpenAI SDK, custom state management systems, Redis for memory storage + +Main pain points: +- Managing conversation history and agent memory across sessions requires external databases +- Keeping context and state synchronized while handling multiple concurrent conversations +- High latency from database round trips to fetch conversation history +- Complex infrastructure for realtime streaming responses to users +- Handling tool calls and maintaining agent state during long-running operations + +## How Rivet Solves This + +Rivet makes building stateful AI agents simple by providing durable actors that keep conversation history and agent state in memory without external databases. + +**Persistent Memory**: Each agent actor maintains its own state including conversation history, tool results, and context. State survives restarts and deployments automatically. + +```typescript +const aiAgent = actor({ + state: { + messages: [] as Array<{role: string, content: string}>, + context: {} + }, + + actions: { + chat: async (c, userMessage: string) => { + c.state.messages.push({ role: "user", content: userMessage }); + + const response = await callLLM(c.state.messages); + c.state.messages.push({ role: "assistant", content: response }); + + c.broadcast("message", { role: "assistant", content: response }); + return response; + } + } +}); +``` + +**Realtime Streaming**: Use WebSocket connections to stream LLM responses in realtime without additional infrastructure. Learn more about [events](/docs/actors/events). + +**Tool Integration**: Execute tool calls within the actor context while maintaining state consistency. See [actions](/docs/actors/actions) for more details. + +**No Cold Starts**: Agents hibernate when idle and wake instantly when needed, keeping conversation context ready without paying for idle time. Read about [actor lifecycle](/docs/actors/lifecycle). + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/ai-agents.mdx b/site/src/content/docs/use-cases/ai-agents.mdx deleted file mode 100644 index 68d6a4efa2..0000000000 --- a/site/src/content/docs/use-cases/ai-agents.mdx +++ /dev/null @@ -1,6 +0,0 @@ -# AI Agents - -Build durable assistants that keep memory between conversations, call tools, and react instantly to user input. - -**Examples** -- [AI Agent Starter](https://github.com/rivet-dev/rivetkit/tree/main/examples/ai-agent) diff --git a/site/src/content/docs/use-cases/background-jobs.mdx b/site/src/content/docs/use-cases/background-jobs.mdx new file mode 100644 index 0000000000..11a9f3e3e6 --- /dev/null +++ b/site/src/content/docs/use-cases/background-jobs.mdx @@ -0,0 +1,77 @@ +# Background Jobs + +## Challenges of Building Background Job Systems + +Common tools: Celery, Bull, Sidekiq, AWS SQS, RabbitMQ, Redis queues, cron jobs + +Main pain points: +- Managing separate job queue infrastructure and worker processes +- Tracking job state and results across distributed systems +- Handling job retries, failures, and dead letter queues +- Coordinating scheduled and recurring jobs with cron syntax +- Persisting job state and intermediate results during long-running tasks + +## How Rivet Solves This + +Rivet actors provide built-in job scheduling and execution with automatic state persistence and no external queue infrastructure. + +**Self-Contained Job Execution**: Each actor can schedule and execute background tasks with full access to its persistent state. + +```typescript +const jobProcessor = actor({ + state: { + jobs: {} as Record, + queue: [] as string[] + }, + + actions: { + enqueueJob: (c, jobId: string, delay?: number) => { + c.state.jobs[jobId] = { status: "pending" }; + c.state.queue.push(jobId); + + if (delay) { + c.schedule.after(delay, "processJob", jobId); + } else { + c.schedule.immediate("processJob", jobId); + } + + return jobId; + }, + + processJob: async (c, jobId: string) => { + c.state.jobs[jobId].status = "running"; + c.broadcast("jobUpdate", { jobId, status: "running" }); + + try { + const result = await performWork(jobId); + c.state.jobs[jobId] = { status: "completed", result }; + c.broadcast("jobUpdate", { jobId, status: "completed", result }); + } catch (error) { + c.state.jobs[jobId] = { + status: "failed", + error: error.message + }; + c.broadcast("jobUpdate", { jobId, status: "failed", error: error.message }); + } + } + } +}); +``` + +**Built-in Scheduling**: Schedule delayed and recurring jobs using [scheduled actions](/docs/actors/schedule) without cron or external schedulers. + +**Durable State**: Job state persists automatically, surviving restarts and failures. See [state management](/docs/actors/state). + +**Realtime Progress**: Stream job progress and results to clients using [events](/docs/actors/events). + +**No Queue Infrastructure**: Execute jobs directly within actors without Redis, RabbitMQ, or other message queues. + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/bots.mdx b/site/src/content/docs/use-cases/bots.mdx index 4050a882a8..ae35c02439 100644 --- a/site/src/content/docs/use-cases/bots.mdx +++ b/site/src/content/docs/use-cases/bots.mdx @@ -1,7 +1,51 @@ # Bots -Run bots for Slack, Discord, or autonomous agents that need persistent workers listening, responding, and executing background tasks. +## Challenges of Building Bots -**Examples** -- [AI Agent Starter](https://github.com/rivet-dev/rivetkit/tree/main/examples/ai-agent) -- [Realtime Chat Room](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) +Common tools: Discord.js, Slack Bolt, Telegraf, traditional web servers with databases, message queues + +Main pain points: +- Managing bot state and conversation context across sessions requires external storage +- Handling concurrent conversations with multiple users while maintaining per-user state +- Keeping bots online 24/7 on traditional servers is expensive +- Complex infrastructure for event-driven responses and background tasks +- Difficulty maintaining WebSocket connections to chat platforms reliably + +## How Rivet Solves This + +Rivet provides long-lived actors that maintain persistent connections and state for chat bots without managing infrastructure. + +**Always-On Bot Instances**: Each bot actor stays alive with persistent state, maintaining connections to chat platforms like Discord, Slack, or Telegram. Actors hibernate when idle but wake instantly when messages arrive. + +```typescript +const discordBot = actor({ + state: { + channelData: {} as Record, + userPreferences: {} as Record + }, + + actions: { + handleMessage: async (c, userId: string, message: string) => { + // Process message with full context + const response = await processCommand(message, c.state.userPreferences[userId]); + + // Update state + c.state.channelData[userId] = { lastMessage: message, timestamp: Date.now() }; + + return response; + } + } +}); +``` + +**Persistent State**: Bot memory, user preferences, and conversation history persist automatically without external databases. See [state management](/docs/actors/state). + +**Background Tasks**: Use [scheduled actions](/docs/actors/schedule) to run periodic tasks like reminders, notifications, or cleanup jobs. + +**Realtime Events**: Send and receive messages in realtime using WebSocket connections. Learn more about [events](/docs/actors/events). + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/crdt.mdx b/site/src/content/docs/use-cases/crdt.mdx new file mode 100644 index 0000000000..e74ae85abd --- /dev/null +++ b/site/src/content/docs/use-cases/crdt.mdx @@ -0,0 +1,55 @@ +# Realtime Docs + +## Challenges of Building Realtime Collaborative Documents + +Common tools: Yjs, Automerge, operational transforms, WebSocket servers, Redis for pub/sub, database for persistence + +Main pain points: +- Coordinating realtime updates across multiple users requires complex pub/sub infrastructure +- Persisting document state and CRDT data structures to databases adds latency +- Managing conflict resolution and synchronization logic is complex +- Scaling WebSocket connections and state management across servers +- Handling offline users and reconnection scenarios + +## How Rivet Solves This + +Rivet provides actors that maintain CRDT document state in memory and broadcast updates in realtime without external infrastructure. + +**In-Memory CRDTs**: Store Yjs or Automerge documents directly in actor state for ultra-fast reads and writes with zero database latency. + +```typescript +import * as Y from "yjs"; + +const collaborativeDoc = actor({ + state: { + ydoc: new Uint8Array(), // Yjs document state + connectedUsers: [] as string[] + }, + + actions: { + applyUpdate: (c, update: Uint8Array, userId: string) => { + // Apply Yjs update to document + const doc = new Y.Doc(); + Y.applyUpdate(doc, c.state.ydoc); + Y.applyUpdate(doc, update); + + c.state.ydoc = Y.encodeStateAsUpdate(doc); + + // Broadcast to all connected users + c.broadcast("docUpdate", { update, userId }); + } + } +}); +``` + +**Built-in Realtime**: WebSocket connections are built into actors, eliminating the need for separate pub/sub systems. See [events](/docs/actors/events). + +**Automatic Persistence**: Document state persists automatically without database round trips. Learn about [state management](/docs/actors/state). + +**Multi-User Support**: Track connected users and their cursor positions using [connection state](/docs/actors/connections). + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/database.mdx b/site/src/content/docs/use-cases/database.mdx new file mode 100644 index 0000000000..1674c448e9 --- /dev/null +++ b/site/src/content/docs/use-cases/database.mdx @@ -0,0 +1,61 @@ +# Per-User Database + +## Challenges of Building Per-User Databases + +Common tools: PostgreSQL with row-level security, MongoDB with tenant isolation, SQLite per-user files, DynamoDB with partition keys + +Main pain points: +- High latency from database round trips for every read/write operation +- Complex query patterns to ensure tenant isolation and prevent data leaks +- Scaling challenges when users have large datasets +- Managing database connections and connection pooling per-tenant +- Expensive database operations for simple key-value access patterns + +## How Rivet Solves This + +Rivet actors provide isolated in-memory databases for each user with automatic persistence and zero-latency access. + +**Isolated User State**: Each user gets their own actor with completely isolated state, eliminating tenant isolation concerns. + +```typescript +const userDatabase = actor({ + state: { + documents: {} as Record, + settings: {}, + metadata: { createdAt: 0, lastAccess: 0 } + }, + + actions: { + set: (c, key: string, value: any) => { + c.state.documents[key] = value; + c.state.metadata.lastAccess = Date.now(); + return value; + }, + + get: (c, key: string) => { + c.state.metadata.lastAccess = Date.now(); + return c.state.documents[key]; + }, + + query: (c, filter: (doc: any) => boolean) => { + return Object.entries(c.state.documents) + .filter(([_, doc]) => filter(doc)) + .map(([key, doc]) => ({ key, ...doc })); + } + } +}); +``` + +**Zero-Latency Reads**: State lives in memory on the same machine as compute, making reads instant with no database round trips. See [state management](/docs/actors/state). + +**Automatic Persistence**: Data persists automatically without manual save operations or database drivers. + +**Built-in SQLite Support**: Use SQLite databases within actors for relational data. See [external SQL](/docs/actors/external-sql) for integration with traditional databases. + +**Realtime Updates**: Broadcast data changes to connected clients using [events](/docs/actors/events). + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/durable-compute.mdx b/site/src/content/docs/use-cases/durable-compute.mdx deleted file mode 100644 index c7cd2f79d3..0000000000 --- a/site/src/content/docs/use-cases/durable-compute.mdx +++ /dev/null @@ -1,11 +0,0 @@ -# Durable Compute - -Run long-lived workloads that survive restarts, keep state close to users, and recover automatically when nodes shift. - -**Examples** -- [Sync Offline Data](https://github.com/rivet-dev/rivetkit/tree/main/examples/sync) -- [Tenant Isolation](https://github.com/rivet-dev/rivetkit/tree/main/examples/tenant) -- [Realtime Counter](https://github.com/rivet-dev/rivetkit/tree/main/examples/counter) -- [Realtime Chat Room](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) -- [Collaborative CRDT Docs](https://github.com/rivet-dev/rivetkit/tree/main/examples/crdt) -- [Multiplayer Game State](https://github.com/rivet-dev/rivetkit/tree/main/examples/game) diff --git a/site/src/content/docs/use-cases/game.mdx b/site/src/content/docs/use-cases/game.mdx new file mode 100644 index 0000000000..dadeb02047 --- /dev/null +++ b/site/src/content/docs/use-cases/game.mdx @@ -0,0 +1,65 @@ +# Multiplayer Game + +## Challenges of Building Multiplayer Games + +Common tools: Unity Netcode, Photon, Colyseus, custom WebSocket servers, Redis for state, game server hosting + +Main pain points: +- Managing game state synchronization across multiple players with low latency +- Handling player connections, disconnections, and reconnections gracefully +- Scaling game servers and matchmaking infrastructure +- Persisting game state between sessions +- Complex networking code for state replication and conflict resolution + +## How Rivet Solves This + +Rivet actors provide authoritative game servers with built-in state management and realtime networking. + +**Authoritative Game State**: Each game room runs in its own actor with server-authoritative state management. + +```typescript +const gameRoom = actor({ + state: { + players: {} as Record, + gameState: "waiting" as "waiting" | "playing" | "ended", + startTime: 0 + }, + + createConnState: (c, opts, params: { playerId: string }) => ({ + playerId: params.playerId + }), + + actions: { + movePlayer: (c, x: number, y: number) => { + const playerId = c.conn.state.playerId; + if (c.state.players[playerId]) { + c.state.players[playerId].x = x; + c.state.players[playerId].y = y; + + // Broadcast position to all other players + c.broadcast("playerMoved", { playerId, x, y }); + } + }, + + startGame: (c) => { + c.state.gameState = "playing"; + c.state.startTime = Date.now(); + c.broadcast("gameStarted", { startTime: c.state.startTime }); + } + } +}); +``` + +**Low-Latency Updates**: Broadcast game state changes in realtime using WebSockets with built-in [events](/docs/actors/events). + +**State Persistence**: Game state persists automatically, allowing players to rejoin games after disconnections. Learn about [state management](/docs/actors/state). + +**Connection Tracking**: Track connected players and handle disconnections gracefully using [connections](/docs/actors/connections). + +**Tick-Based Updates**: Use [scheduled actions](/docs/actors/schedule) for fixed-rate game loops and physics updates. + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/per-tenant-databases.mdx b/site/src/content/docs/use-cases/per-tenant-databases.mdx deleted file mode 100644 index a6c2b32a45..0000000000 --- a/site/src/content/docs/use-cases/per-tenant-databases.mdx +++ /dev/null @@ -1,7 +0,0 @@ -# Per-Tenant Databases - -Provision isolated storage per customer while sharing infrastructure, keeping noisy neighbours separated and compliant. - -**Examples** -- [Tenant Isolation](https://github.com/rivet-dev/rivetkit/tree/main/examples/tenant) -- [SQLite Sharding](https://github.com/rivet-dev/rivetkit/tree/main/examples/database) diff --git a/site/src/content/docs/use-cases/rate-limiting.mdx b/site/src/content/docs/use-cases/rate-limiting.mdx deleted file mode 100644 index 629a6c2c90..0000000000 --- a/site/src/content/docs/use-cases/rate-limiting.mdx +++ /dev/null @@ -1,6 +0,0 @@ -# Rate Limiting - -Throttle abusive clients with actors that track counters, rolling windows, and quotas without sharing mutable state. - -**Examples** -- [Stateful Rate Limiter](https://github.com/rivet-dev/rivetkit/tree/main/examples/rate) diff --git a/site/src/content/docs/use-cases/rate.mdx b/site/src/content/docs/use-cases/rate.mdx new file mode 100644 index 0000000000..08b090a814 --- /dev/null +++ b/site/src/content/docs/use-cases/rate.mdx @@ -0,0 +1,85 @@ +# Rate Limiting + +## Challenges of Building Rate Limiting + +Common tools: Redis with sliding windows, token bucket algorithms, NGINX rate limiting, Kong, custom middleware + +Main pain points: +- Coordinating rate limits across distributed servers requires shared state +- High latency from Redis lookups on every request +- Complex sliding window or token bucket implementations +- Handling rate limit resets and per-user quotas +- Managing rate limit state for millions of users + +## How Rivet Solves This + +Rivet actors provide low-latency distributed rate limiting with in-memory counters and automatic persistence. + +**Per-User Rate Limiting**: Each user gets their own actor to track request counts and enforce limits with zero-latency access. + +```typescript +const rateLimiter = actor({ + state: { + requests: [] as number[], // timestamps + limit: 100, + windowMs: 60000 // 1 minute + }, + + actions: { + checkLimit: (c) => { + const now = Date.now(); + const windowStart = now - c.state.windowMs; + + // Remove old requests outside the window + c.state.requests = c.state.requests.filter(ts => ts > windowStart); + + if (c.state.requests.length >= c.state.limit) { + const oldestRequest = c.state.requests[0]; + const resetAt = oldestRequest + c.state.windowMs; + return { + allowed: false, + remaining: 0, + resetAt + }; + } + + // Add new request + c.state.requests.push(now); + + return { + allowed: true, + remaining: c.state.limit - c.state.requests.length, + resetAt: now + c.state.windowMs + }; + }, + + getStatus: (c) => { + const now = Date.now(); + const windowStart = now - c.state.windowMs; + const currentRequests = c.state.requests.filter(ts => ts > windowStart); + + return { + remaining: c.state.limit - currentRequests.length, + limit: c.state.limit, + windowMs: c.state.windowMs + }; + } + } +}); +``` + +**Zero-Latency Checks**: Rate limit counters live in memory, eliminating Redis round trips for every request. + +**Automatic Persistence**: Counter state persists automatically without manual Redis operations. See [state management](/docs/actors/state). + +**Flexible Algorithms**: Implement sliding windows, token buckets, or custom rate limiting logic directly in actor code. + +**Per-User Isolation**: Each user's rate limit is isolated in their own actor, providing natural horizontal scaling. + +**Realtime Notifications**: Send rate limit warnings to users via [events](/docs/actors/events). + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/realtime.mdx b/site/src/content/docs/use-cases/realtime.mdx deleted file mode 100644 index b593dcb58f..0000000000 --- a/site/src/content/docs/use-cases/realtime.mdx +++ /dev/null @@ -1,9 +0,0 @@ -# Realtime - -Deliver sub-second updates with actors that push changes over WebSockets or SSE without juggling infrastructure. - -**Examples** -- [Chat Room](https://github.com/rivet-dev/rivetkit/tree/main/examples/chat-room) -- [Multiplayer Game State](https://github.com/rivet-dev/rivetkit/tree/main/examples/game) -- [Stream Processing](https://github.com/rivet-dev/rivetkit/tree/main/examples/stream) -- [Sync Offline Data](https://github.com/rivet-dev/rivetkit/tree/main/examples/sync) diff --git a/site/src/content/docs/use-cases/sync.mdx b/site/src/content/docs/use-cases/sync.mdx new file mode 100644 index 0000000000..4e38c632c4 --- /dev/null +++ b/site/src/content/docs/use-cases/sync.mdx @@ -0,0 +1,68 @@ +# Local-First Sync + +## Challenges of Building Local-First Sync + +Common tools: ElectricSQL, PowerSync, custom sync protocols, CRDTs, WebSockets, PostgreSQL logical replication + +Main pain points: +- Complex conflict resolution when syncing offline changes to server +- Managing sync state and tracking changes across devices +- Handling partial syncs and large datasets efficiently +- Infrastructure for WebSocket connections and pub/sub for realtime updates +- Coordinating between client-side databases and server-side storage + +## How Rivet Solves This + +Rivet actors provide stateful sync coordination with built-in realtime updates and automatic persistence. + +**Per-User Sync Actors**: Each user gets a dedicated actor to manage their sync state and coordinate updates across devices. + +```typescript +const userSync = actor({ + state: { + syncedData: {} as Record, + lastSyncTimestamp: 0, + deviceStates: {} as Record + }, + + actions: { + sync: (c, deviceId: string, changes: any[], clientVersion: number) => { + // Merge changes with conflict resolution + const merged = mergeChanges(c.state.syncedData, changes, clientVersion); + c.state.syncedData = merged.data; + c.state.lastSyncTimestamp = Date.now(); + c.state.deviceStates[deviceId] = { + lastSeen: Date.now(), + version: clientVersion + }; + + // Broadcast to other devices + for (const conn of c.conns) { + if (conn.state.deviceId !== deviceId) { + conn.send("syncUpdate", { changes: merged.newChanges }); + } + } + + return { data: merged.data, version: merged.version }; + } + }, + + createConnState: (c, opts, params: { deviceId: string }) => ({ + deviceId: params.deviceId + }) +}); +``` + +**Automatic State Persistence**: Sync state persists automatically without external databases. See [state management](/docs/actors/state). + +**Realtime Cross-Device Sync**: Broadcast updates to all connected devices instantly using [events](/docs/actors/events). + +**Connection Tracking**: Monitor online/offline devices using [connection state](/docs/actors/connections). + +**Conflict Resolution**: Implement custom merge strategies directly in actor logic with full access to state history. + +## Full Example Projects + + + + diff --git a/site/src/content/docs/use-cases/workflows.mdx b/site/src/content/docs/use-cases/workflows.mdx new file mode 100644 index 0000000000..b5ec29d4f0 --- /dev/null +++ b/site/src/content/docs/use-cases/workflows.mdx @@ -0,0 +1,65 @@ +# Workflows + +## Challenges of Building Workflows + +Common tools: Temporal, Cadence, Apache Airflow, AWS Step Functions, custom orchestration systems + +Main pain points: +- Complex infrastructure setup and maintenance for workflow orchestration +- Managing state across long-running multi-step processes +- Handling retries, timeouts, and failure recovery across distributed steps +- Coordinating between different services and maintaining transaction boundaries +- High operational cost of running dedicated workflow engines + +## How Rivet Solves This + +Rivet actors provide built-in workflow capabilities with durable execution and automatic state management without external orchestration systems. + +**Durable Execution**: Actor actions automatically persist state between steps, surviving restarts and failures without additional infrastructure. + +```typescript +const orderWorkflow = actor({ + state: { + orderId: "", + status: "pending" as "pending" | "paid" | "shipped" | "completed", + steps: [] as string[] + }, + + actions: { + processOrder: async (c, orderId: string) => { + c.state.orderId = orderId; + c.state.steps.push("started"); + + // Step 1: Process payment + await processPayment(orderId); + c.state.status = "paid"; + c.state.steps.push("paid"); + c.broadcast("orderUpdate", { status: "paid" }); + + // Step 2: Schedule shipment + c.schedule.after(1000 * 60 * 60, "shipOrder"); // 1 hour + }, + + shipOrder: async (c) => { + await fulfillment.ship(c.state.orderId); + c.state.status = "shipped"; + c.state.steps.push("shipped"); + c.broadcast("orderUpdate", { status: "shipped" }); + } + } +}); +``` + +**Scheduled Steps**: Use [scheduling](/docs/actors/schedule) to delay workflow steps or implement timeouts and reminders. + +**State Checkpointing**: State automatically persists after each action, ensuring workflow progress is never lost. Learn about [state management](/docs/actors/state). + +**Actor Communication**: Coordinate across services using [actor-to-actor communication](/docs/actors/communicating-between-actors) without message queues. + +**Realtime Updates**: Stream workflow progress to clients using [events](/docs/actors/events). + +## Full Example Projects + + + + diff --git a/site/src/data/deploy-options.ts b/site/src/data/deploy-options.ts index 7a9dbb744d..ccd23f7abd 100644 --- a/site/src/data/deploy-options.ts +++ b/site/src/data/deploy-options.ts @@ -15,6 +15,8 @@ export interface DeployOption { href: string; icon?: any; badge?: string; + /** If true, this platform should NOT be shown for generic deploy guides for Node/Buns-specific platforms. */ + specializedPlatform?: boolean; } export const deployOptions: DeployOption[] = [ @@ -23,6 +25,7 @@ export const deployOptions: DeployOption[] = [ href: "/docs/deploy/vercel", icon: faVercel, badge: "1-Click Deploy", + specializedPlatform: true, }, { title: "Railway", @@ -34,6 +37,7 @@ export const deployOptions: DeployOption[] = [ title: "Cloudflare Workers", href: "/docs/deploy/cloudflare-workers", icon: faCloudflare, + specializedPlatform: true, }, { title: "Kubernetes", @@ -53,6 +57,7 @@ export const deployOptions: DeployOption[] = [ // { // title: "Freestyle", // href: "/docs/deploy/freestyle", + // specializedPlatform: true, // }, { title: "Hetzner", diff --git a/site/src/data/examples/examples.ts b/site/src/data/examples/examples.ts index 78e4d97242..9de4d2931e 100644 --- a/site/src/data/examples/examples.ts +++ b/site/src/data/examples/examples.ts @@ -23,94 +23,64 @@ export const examples: ExampleData[] = [ ], "tab": "memory", "files": { - "tests/ai-agent.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock the AI SDK and OpenAI\nvi.mock(\"@ai-sdk/openai\", () => ({\n\topenai: () => \"mock-model\",\n}));\n\nvi.mock(\"ai\", () => ({\n\tgenerateText: vi.fn().mockImplementation(async ({ prompt }) => ({\n\t\ttext: `AI response to: ${prompt}`,\n\t})),\n\ttool: vi.fn().mockImplementation(({ execute }) => ({ execute })),\n}));\n\nvi.mock(\"../src/backend/my-utils\", () => ({\n\tgetWeather: vi.fn().mockResolvedValue({\n\t\tlocation: \"San Francisco\",\n\t\ttemperature: 72,\n\t\tcondition: \"sunny\",\n\t}),\n}));\n\ntest(\"AI Agent can handle basic actions without connection\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-basic\"]);\n\n\t// Test initial state\n\tconst initialMessages = await agent.getMessages();\n\texpect(initialMessages).toEqual([]);\n\n\t// Send a message\n\tconst userMessage = \"Hello, how are you?\";\n\tconst response = await agent.sendMessage(userMessage);\n\n\t// Verify response structure\n\texpect(response).toMatchObject({\n\t\trole: \"assistant\",\n\t\tcontent: expect.stringContaining(\"AI response to: Hello, how are you?\"),\n\t\ttimestamp: expect.any(Number),\n\t});\n\n\t// Verify messages are stored\n\tconst messages = await agent.getMessages();\n\texpect(messages).toHaveLength(2);\n\texpect(messages[0]).toMatchObject({\n\t\trole: \"user\",\n\t\tcontent: userMessage,\n\t\ttimestamp: expect.any(Number),\n\t});\n\texpect(messages[1]).toEqual(response);\n});\n\ntest(\"AI Agent maintains conversation history\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-history\"]);\n\n\t// Send multiple messages\n\tawait agent.sendMessage(\"First message\");\n\tawait agent.sendMessage(\"Second message\");\n\tawait agent.sendMessage(\"Third message\");\n\n\tconst messages = await agent.getMessages();\n\texpect(messages).toHaveLength(6); // 3 user + 3 assistant messages\n\n\t// Verify message ordering and roles\n\texpect(messages[0].role).toBe(\"user\");\n\texpect(messages[0].content).toBe(\"First message\");\n\texpect(messages[1].role).toBe(\"assistant\");\n\texpect(messages[2].role).toBe(\"user\");\n\texpect(messages[2].content).toBe(\"Second message\");\n\texpect(messages[3].role).toBe(\"assistant\");\n\texpect(messages[4].role).toBe(\"user\");\n\texpect(messages[4].content).toBe(\"Third message\");\n\texpect(messages[5].role).toBe(\"assistant\");\n});\n\ntest(\"AI Agent handles weather tool usage\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-weather\"]);\n\n\t// Send a weather-related message\n\tconst response = await agent.sendMessage(\n\t\t\"What's the weather in San Francisco?\",\n\t);\n\n\t// Verify response was generated\n\texpect(response.role).toBe(\"assistant\");\n\texpect(response.content).toContain(\n\t\t\"AI response to: What's the weather in San Francisco?\",\n\t);\n\texpect(response.timestamp).toBeGreaterThan(0);\n\n\t// Verify message history includes both user and assistant messages\n\tconst messages = await agent.getMessages();\n\texpect(messages).toHaveLength(2);\n\texpect(messages[0].content).toBe(\"What's the weather in San Francisco?\");\n\texpect(messages[1]).toEqual(response);\n});\n\ntest(\"AI Agent timestamps are sequential\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-timestamps\"]);\n\n\tconst response1 = await agent.sendMessage(\"First\");\n\tconst response2 = await agent.sendMessage(\"Second\");\n\n\texpect(response2.timestamp).toBeGreaterThanOrEqual(response1.timestamp);\n\n\tconst messages = await agent.getMessages();\n\tfor (let i = 1; i < messages.length; i++) {\n\t\texpect(messages[i].timestamp).toBeGreaterThanOrEqual(\n\t\t\tmessages[i - 1].timestamp,\n\t\t);\n\t}\n});\n", + "tests/ai-agent.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock the AI SDK and OpenAI\nvi.mock(\"@ai-sdk/openai\", () => ({\n\topenai: () => \"mock-model\",\n}));\n\nvi.mock(\"ai\", () => ({\n\tgenerateText: vi.fn().mockImplementation(async ({ prompt }) => ({\n\t\ttext: `AI response to: ${prompt}`,\n\t})),\n\ttool: vi.fn().mockImplementation(({ execute }) => ({ execute })),\n}));\n\nvi.mock(\"../src/backend/my-tools\", () => ({\n\tgetWeather: vi.fn().mockResolvedValue({\n\t\tlocation: \"San Francisco\",\n\t\ttemperature: 72,\n\t\tcondition: \"sunny\",\n\t}),\n}));\n\ntest(\"AI Agent can handle basic actions without connection\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-basic\"]);\n\n\t// Test initial state\n\tconst initialMessages = await agent.getMessages();\n\texpect(initialMessages).toEqual([]);\n\n\t// Send a message\n\tconst userMessage = \"Hello, how are you?\";\n\tconst response = await agent.sendMessage(userMessage);\n\n\t// Verify response structure\n\texpect(response).toMatchObject({\n\t\trole: \"assistant\",\n\t\tcontent: expect.stringContaining(\"AI response to: Hello, how are you?\"),\n\t\ttimestamp: expect.any(Number),\n\t});\n\n\t// Verify messages are stored\n\tconst messages = await agent.getMessages();\n\texpect(messages).toHaveLength(2);\n\texpect(messages[0]).toMatchObject({\n\t\trole: \"user\",\n\t\tcontent: userMessage,\n\t\ttimestamp: expect.any(Number),\n\t});\n\texpect(messages[1]).toEqual(response);\n});\n\ntest(\"AI Agent maintains conversation history\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-history\"]);\n\n\t// Send multiple messages\n\tawait agent.sendMessage(\"First message\");\n\tawait agent.sendMessage(\"Second message\");\n\tawait agent.sendMessage(\"Third message\");\n\n\tconst messages = await agent.getMessages();\n\texpect(messages).toHaveLength(6); // 3 user + 3 assistant messages\n\n\t// Verify message ordering and roles\n\texpect(messages[0].role).toBe(\"user\");\n\texpect(messages[0].content).toBe(\"First message\");\n\texpect(messages[1].role).toBe(\"assistant\");\n\texpect(messages[2].role).toBe(\"user\");\n\texpect(messages[2].content).toBe(\"Second message\");\n\texpect(messages[3].role).toBe(\"assistant\");\n\texpect(messages[4].role).toBe(\"user\");\n\texpect(messages[4].content).toBe(\"Third message\");\n\texpect(messages[5].role).toBe(\"assistant\");\n});\n\ntest(\"AI Agent handles weather tool usage\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-weather\"]);\n\n\t// Send a weather-related message\n\tconst response = await agent.sendMessage(\n\t\t\"What's the weather in San Francisco?\",\n\t);\n\n\t// Verify response was generated\n\texpect(response.role).toBe(\"assistant\");\n\texpect(response.content).toContain(\n\t\t\"AI response to: What's the weather in San Francisco?\",\n\t);\n\texpect(response.timestamp).toBeGreaterThan(0);\n\n\t// Verify message history includes both user and assistant messages\n\tconst messages = await agent.getMessages();\n\texpect(messages).toHaveLength(2);\n\texpect(messages[0].content).toBe(\"What's the weather in San Francisco?\");\n\texpect(messages[1]).toEqual(response);\n});\n\ntest(\"AI Agent timestamps are sequential\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst agent = client.aiAgent.getOrCreate([\"test-timestamps\"]);\n\n\tconst response1 = await agent.sendMessage(\"First\");\n\tconst response2 = await agent.sendMessage(\"Second\");\n\n\texpect(response2.timestamp).toBeGreaterThanOrEqual(response1.timestamp);\n\n\tconst messages = await agent.getMessages();\n\tfor (let i = 1; i < messages.length; i++) {\n\t\texpect(messages[i].timestamp).toBeGreaterThanOrEqual(\n\t\t\tmessages[i - 1].timestamp,\n\t\t);\n\t}\n});\n", "README.md": "# AI Agent Chat for RivetKit\n\nExample project demonstrating AI agent integration with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n- OpenAI API key\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/ai-agent\nnpm install\n```\n\n### Development\n\n1. Set your OpenAI API key:\n```sh\nexport OPENAI_API_KEY=your-api-key-here\n```\n\n2. Start the development server:\n```sh\nnpm run dev\n```\n\n3. Open your browser to `http://localhost:3000`\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-ai-agent\",\n \"version\": \"0.9.1\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-ai-agent\",\n \"version\": \"0.9.1\",\n \"dependencies\": {\n \"@ai-sdk/openai\": \"^0.0.66\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"ai\": \"^4.0.38\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"zod\": \"^3.25.69\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@ai-sdk/openai\": {\n \"version\": \"0.0.66\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/openai/-/openai-0.0.66.tgz\",\n \"integrity\": \"sha512-V4XeDnlNl5/AY3GB3ozJUjqnBLU5pK3DacKTbCNH3zH8/MggJoH6B8wRGdLUPVFMcsMz60mtvh4DC9JsIVFrKw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"0.0.24\",\n \"@ai-sdk/provider-utils\": \"1.0.20\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.0.0\"\n }\n },\n \"node_modules/@ai-sdk/provider\": {\n \"version\": \"0.0.24\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.24.tgz\",\n \"integrity\": \"sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"1.0.20\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.20.tgz\",\n \"integrity\": \"sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"0.0.24\",\n \"eventsource-parser\": \"1.1.2\",\n \"nanoid\": \"3.3.6\",\n \"secure-json-parse\": \"2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"zod\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@ai-sdk/react\": {\n \"version\": \"1.2.12\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.12.tgz\",\n \"integrity\": \"sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider-utils\": \"2.2.8\",\n \"@ai-sdk/ui-utils\": \"1.2.11\",\n \"swr\": \"^2.2.5\",\n \"throttleit\": \"2.1.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19 || ^19.0.0-rc\",\n \"zod\": \"^3.23.8\"\n },\n \"peerDependenciesMeta\": {\n \"zod\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz\",\n \"integrity\": \"sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"2.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz\",\n \"integrity\": \"sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"nanoid\": \"^3.3.8\",\n \"secure-json-parse\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/@ai-sdk/react/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils\": {\n \"version\": \"1.2.11\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz\",\n \"integrity\": \"sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"@ai-sdk/provider-utils\": \"2.2.8\",\n \"zod-to-json-schema\": \"^3.24.1\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz\",\n \"integrity\": \"sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"2.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz\",\n \"integrity\": \"sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"nanoid\": \"^3.3.8\",\n \"secure-json-parse\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@opentelemetry/api\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz\",\n \"integrity\": \"sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"dev\": true,\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/diff-match-patch\": {\n \"version\": \"1.0.36\",\n \"resolved\": \"https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz\",\n \"integrity\": \"sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.16.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.16.3.tgz\",\n \"integrity\": \"sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ai\": {\n \"version\": \"4.3.18\",\n \"resolved\": \"https://registry.npmjs.org/ai/-/ai-4.3.18.tgz\",\n \"integrity\": \"sha512-Mn6JdNGB56GOyrfGJ746zzK6e0f6Ozr7lwfEYkQZjhf261wj1aAJgCvUsgML5/7pSiBJq3ytNEBVcR1oUKTCZw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"@ai-sdk/provider-utils\": \"2.2.8\",\n \"@ai-sdk/react\": \"1.2.12\",\n \"@ai-sdk/ui-utils\": \"1.2.11\",\n \"@opentelemetry/api\": \"1.9.0\",\n \"jsondiffpatch\": \"0.6.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19 || ^19.0.0-rc\",\n \"zod\": \"^3.23.8\"\n },\n \"peerDependenciesMeta\": {\n \"react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/ai/node_modules/@ai-sdk/provider\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz\",\n \"integrity\": \"sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/ai/node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"2.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz\",\n \"integrity\": \"sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"nanoid\": \"^3.3.8\",\n \"secure-json-parse\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/ai/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.2.1.tgz\",\n \"integrity\": \"sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/dequal\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz\",\n \"integrity\": \"sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/diff-match-patch\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz\",\n \"integrity\": \"sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/eventsource-parser\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz\",\n \"integrity\": \"sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.18\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.4.6\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz\",\n \"integrity\": \"sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json-schema\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",\n \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==\",\n \"license\": \"(AFL-2.1 OR BSD-3-Clause)\"\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/jsondiffpatch\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz\",\n \"integrity\": \"sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/diff-match-patch\": \"^1.0.36\",\n \"chalk\": \"^5.3.0\",\n \"diff-match-patch\": \"^1.0.5\"\n },\n \"bin\": {\n \"jsondiffpatch\": \"bin/jsondiffpatch.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/jsondiffpatch/node_modules/chalk\": {\n \"version\": \"5.4.1\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz\",\n \"integrity\": \"sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.17.0 || ^14.13 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz\",\n \"integrity\": \"sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.6\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz\",\n \"integrity\": \"sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",\n \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/postcss/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/secure-json-parse\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz\",\n \"integrity\": \"sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz\",\n \"integrity\": \"sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/swr\": {\n \"version\": \"2.3.4\",\n \"resolved\": \"https://registry.npmjs.org/swr/-/swr-2.3.4.tgz\",\n \"integrity\": \"sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dequal\": \"^2.0.3\",\n \"use-sync-external-store\": \"^1.4.0\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/throttleit\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz\",\n \"integrity\": \"sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.14\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz\",\n \"integrity\": \"sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.4.4\",\n \"picomatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz\",\n \"integrity\": \"sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n },\n \"node_modules/zod-to-json-schema\": {\n \"version\": \"3.24.6\",\n \"resolved\": \"https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz\",\n \"integrity\": \"sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==\",\n \"license\": \"ISC\",\n \"peerDependencies\": {\n \"zod\": \"^3.24.1\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-ai-agent\",\n \"version\": \"0.9.1\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@ai-sdk/openai\": \"^0.0.66\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"ai\": \"^4.0.38\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"zod\": \"^3.25.69\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "package-lock.json": "{\n \"name\": \"example-ai-agent\",\n \"version\": \"2.0.15\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-ai-agent\",\n \"version\": \"2.0.15\",\n \"dependencies\": {\n \"@ai-sdk/openai\": \"^0.0.66\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"ai\": \"^4.0.38\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"zod\": \"^3.25.69\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@ai-sdk/openai\": {\n \"version\": \"0.0.66\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/openai/-/openai-0.0.66.tgz\",\n \"integrity\": \"sha512-V4XeDnlNl5/AY3GB3ozJUjqnBLU5pK3DacKTbCNH3zH8/MggJoH6B8wRGdLUPVFMcsMz60mtvh4DC9JsIVFrKw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"0.0.24\",\n \"@ai-sdk/provider-utils\": \"1.0.20\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.0.0\"\n }\n },\n \"node_modules/@ai-sdk/provider\": {\n \"version\": \"0.0.24\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.24.tgz\",\n \"integrity\": \"sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"1.0.20\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.20.tgz\",\n \"integrity\": \"sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"0.0.24\",\n \"eventsource-parser\": \"1.1.2\",\n \"nanoid\": \"3.3.6\",\n \"secure-json-parse\": \"2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"zod\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@ai-sdk/react\": {\n \"version\": \"1.2.12\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.12.tgz\",\n \"integrity\": \"sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider-utils\": \"2.2.8\",\n \"@ai-sdk/ui-utils\": \"1.2.11\",\n \"swr\": \"^2.2.5\",\n \"throttleit\": \"2.1.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19 || ^19.0.0-rc\",\n \"zod\": \"^3.23.8\"\n },\n \"peerDependenciesMeta\": {\n \"zod\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz\",\n \"integrity\": \"sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"2.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz\",\n \"integrity\": \"sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"nanoid\": \"^3.3.8\",\n \"secure-json-parse\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/@ai-sdk/react/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils\": {\n \"version\": \"1.2.11\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz\",\n \"integrity\": \"sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"@ai-sdk/provider-utils\": \"2.2.8\",\n \"zod-to-json-schema\": \"^3.24.1\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz\",\n \"integrity\": \"sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"2.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz\",\n \"integrity\": \"sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"nanoid\": \"^3.3.8\",\n \"secure-json-parse\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/@ai-sdk/ui-utils/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/@asteasolutions/zod-to-openapi\": {\n \"version\": \"7.3.4\",\n \"resolved\": \"https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.4.tgz\",\n \"integrity\": \"sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"openapi3-ts\": \"^4.1.2\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.20.2\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz\",\n \"integrity\": \"sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz\",\n \"integrity\": \"sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.4\",\n \"@babel/types\": \"^7.28.4\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz\",\n \"integrity\": \"sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.3\",\n \"@babel/types\": \"^7.28.2\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz\",\n \"integrity\": \"sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.4\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz\",\n \"integrity\": \"sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz\",\n \"integrity\": \"sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz\",\n \"integrity\": \"sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@hono/standard-validator\": {\n \"version\": \"0.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/standard-validator/-/standard-validator-0.1.5.tgz\",\n \"integrity\": \"sha512-EIyZPPwkyLn6XKwFj5NBEWHXhXbgmnVh2ceIFo5GO7gKI9WmzTjPDKnppQB0KrqKeAkq3kpoW4SIbu5X1dgx3w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@standard-schema/spec\": \"1.0.0\",\n \"hono\": \">=3.9.0\"\n }\n },\n \"node_modules/@hono/zod-openapi\": {\n \"version\": \"0.19.10\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-openapi/-/zod-openapi-0.19.10.tgz\",\n \"integrity\": \"sha512-dpoS6DenvoJyvxtQ7Kd633FRZ/Qf74+4+o9s+zZI8pEqnbjdF/DtxIib08WDpCaWabMEJOL5TXpMgNEZvb7hpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@asteasolutions/zod-to-openapi\": \"^7.3.0\",\n \"@hono/zod-validator\": \"^0.7.1\",\n \"openapi3-ts\": \"^4.5.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"peerDependencies\": {\n \"hono\": \">=4.3.6\",\n \"zod\": \">=3.0.0\"\n }\n },\n \"node_modules/@hono/zod-validator\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-validator/-/zod-validator-0.7.4.tgz\",\n \"integrity\": \"sha512-biKGn3BRJVaftZlIPMyK+HCe/UHAjJ6sH0UyXe3+v0OcgVr9xfImDROTJFLtn9e3XEEAHGZIM9U6evu85abm8Q==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"hono\": \">=3.9.0\",\n \"zod\": \"^3.25.0 || ^4.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@opentelemetry/api\": {\n \"version\": \"1.9.0\",\n \"resolved\": \"https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz\",\n \"integrity\": \"sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==\",\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=8.0.0\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.9.tgz\",\n \"integrity\": \"sha512-RZlgZVclT2Po1uILBtGJ8IVw78KuO/52hEPYpZh+wpEp5wpKjI3Z3AtXz6tyEBiwa3YuaxG1NrWNBHZm5eHWhw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@hono/standard-validator\": \"^0.1.3\",\n \"@hono/zod-openapi\": \"^0.19.10\",\n \"@rivetkit/fast-json-patch\": \"^3.1.2\",\n \"cbor-x\": \"^1.6.0\",\n \"hono\": \"^4.7.0\",\n \"invariant\": \"^2.2.4\",\n \"nanoevents\": \"^9.1.0\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.76\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"eventsource\": \"^3.0.5\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/fast-json-patch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/fast-json-patch/-/fast-json-patch-3.1.2.tgz\",\n \"integrity\": \"sha512-CtA50xgsSSzICQduF/NDShPRzvucnNvsW/lQO0WgMTT1XAj9Lfae4pm7r3llFwilgG+9iq76Hv1LUqNy72v6yw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.9.tgz\",\n \"integrity\": \"sha512-2E/OjUp6b7jGsiSFvJ81lSQX7DHag8DOZCLeS7Mqdqozb/lvzIwtLzW7CPL1DEWS6/VJa6RPn0oOe9V/tMR9cg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"0.9.9\",\n \"@tanstack/store\": \"^0.7.1\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.9.tgz\",\n \"integrity\": \"sha512-c00Dw0wsrLeu1G79vHKzxuERBIUNt/BQ4oLrt5qPSqkCo0kB8izIKwwO6vVoIQ7Pf8KTe9JXl3UxYLfH6QCmCA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"^0.9.9\",\n \"@rivetkit/framework-base\": \"0.9.9\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.27\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz\",\n \"integrity\": \"sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@standard-schema/spec\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz\",\n \"integrity\": \"sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz\",\n \"integrity\": \"sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.7\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz\",\n \"integrity\": \"sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.2\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/diff-match-patch\": {\n \"version\": \"1.0.36\",\n \"resolved\": \"https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz\",\n \"integrity\": \"sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.26\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz\",\n \"integrity\": \"sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz\",\n \"integrity\": \"sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.27\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ai\": {\n \"version\": \"4.3.19\",\n \"resolved\": \"https://registry.npmjs.org/ai/-/ai-4.3.19.tgz\",\n \"integrity\": \"sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"@ai-sdk/provider-utils\": \"2.2.8\",\n \"@ai-sdk/react\": \"1.2.12\",\n \"@ai-sdk/ui-utils\": \"1.2.11\",\n \"@opentelemetry/api\": \"1.9.0\",\n \"jsondiffpatch\": \"0.6.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19 || ^19.0.0-rc\",\n \"zod\": \"^3.23.8\"\n },\n \"peerDependenciesMeta\": {\n \"react\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/ai/node_modules/@ai-sdk/provider\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz\",\n \"integrity\": \"sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"json-schema\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/ai/node_modules/@ai-sdk/provider-utils\": {\n \"version\": \"2.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz\",\n \"integrity\": \"sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@ai-sdk/provider\": \"1.1.3\",\n \"nanoid\": \"^3.3.8\",\n \"secure-json-parse\": \"^2.7.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/ai/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.8.16\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz\",\n \"integrity\": \"sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.26.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz\",\n \"integrity\": \"sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.8.9\",\n \"caniuse-lite\": \"^1.0.30001746\",\n \"electron-to-chromium\": \"^1.5.227\",\n \"node-releases\": \"^2.0.21\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001750\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz\",\n \"integrity\": \"sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/dequal\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz\",\n \"integrity\": \"sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz\",\n \"integrity\": \"sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/diff-match-patch\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz\",\n \"integrity\": \"sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.237\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz\",\n \"integrity\": \"sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/eventsource-parser\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz\",\n \"integrity\": \"sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.18\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz\",\n \"integrity\": \"sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json-schema\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\",\n \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==\",\n \"license\": \"(AFL-2.1 OR BSD-3-Clause)\"\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/jsondiffpatch\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz\",\n \"integrity\": \"sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/diff-match-patch\": \"^1.0.36\",\n \"chalk\": \"^5.3.0\",\n \"diff-match-patch\": \"^1.0.5\"\n },\n \"bin\": {\n \"jsondiffpatch\": \"bin/jsondiffpatch.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/jsondiffpatch/node_modules/chalk\": {\n \"version\": \"5.6.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz\",\n \"integrity\": \"sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.17.0 || ^14.13 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoevents\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/nanoevents/-/nanoevents-9.1.0.tgz\",\n \"integrity\": \"sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.6\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz\",\n \"integrity\": \"sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.23\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz\",\n \"integrity\": \"sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/openapi3-ts\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.5.0.tgz\",\n \"integrity\": \"sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yaml\": \"^2.8.0\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/postcss/node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/secure-json-parse\": {\n \"version\": \"2.7.0\",\n \"resolved\": \"https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz\",\n \"integrity\": \"sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==\",\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/swr\": {\n \"version\": \"2.3.6\",\n \"resolved\": \"https://registry.npmjs.org/swr/-/swr-2.3.6.tgz\",\n \"integrity\": \"sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dequal\": \"^2.0.3\",\n \"use-sync-external-store\": \"^1.4.0\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/throttleit\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz\",\n \"integrity\": \"sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz\",\n \"integrity\": \"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.20\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.20.tgz\",\n \"integrity\": \"sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yaml\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz\",\n \"integrity\": \"sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14.6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n },\n \"node_modules/zod-to-json-schema\": {\n \"version\": \"3.24.6\",\n \"resolved\": \"https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz\",\n \"integrity\": \"sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==\",\n \"license\": \"ISC\",\n \"peerDependencies\": {\n \"zod\": \"^3.24.1\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-ai-agent\",\n \"version\": \"2.0.15\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@ai-sdk/openai\": \"^0.0.66\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"ai\": \"^4.0.38\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"zod\": \"^3.25.69\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"esnext\",\n \"lib\": [\"esnext\", \"dom\"],\n \"jsx\": \"react-jsx\",\n \"module\": \"esnext\",\n \"moduleResolution\": \"bundler\",\n \"types\": [\"node\", \"vite/client\"],\n \"resolveJsonModule\": true,\n \"allowJs\": true,\n \"checkJs\": false,\n \"noEmit\": true,\n \"isolatedModules\": true,\n \"allowSyntheticDefaultImports\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n});\n", "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tinclude: [\"tests/**/*.test.ts\"],\n\t\ttestTimeout: 30000,\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Message, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nexport function App() {\n\tconst aiAgent = useActor({\n\t\tname: \"aiAgent\",\n\t\tkey: [\"default\"],\n\t});\n\tconst [messages, setMessages] = useState([]);\n\tconst [input, setInput] = useState(\"\");\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (aiAgent.connection) {\n\t\t\taiAgent.connection.getMessages().then(setMessages);\n\t\t}\n\t}, [aiAgent.connection]);\n\n\taiAgent.useEvent(\"messageReceived\", (message: Message) => {\n\t\tsetMessages((prev) => [...prev, message]);\n\t\tsetIsLoading(false);\n\t});\n\n\tconst handleSendMessage = async () => {\n\t\tif (aiAgent.connection && input.trim()) {\n\t\t\tsetIsLoading(true);\n\n\t\t\tconst userMessage = { role: \"user\", content: input, timestamp: Date.now() } as Message;\n\t\t\tsetMessages((prev) => [...prev, userMessage]);\n\n\t\t\tawait aiAgent.connection.sendMessage(input);\n\t\t\tsetInput(\"\");\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{messages.length === 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\tAsk the AI assistant a question to get started\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\tmessages.map((msg, i) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{msg.role === \"user\" ? \"👤\" : \"🤖\"}
\n\t\t\t\t\t\t\t
{msg.content}
\n\t\t\t\t\t\t
\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t\t{isLoading && (\n\t\t\t\t\t
\n\t\t\t\t\t\t
🤖
\n\t\t\t\t\t\t
Thinking...
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t setInput(e.target.value)}\n\t\t\t\t\tonKeyPress={(e) => e.key === \"Enter\" && handleSendMessage()}\n\t\t\t\t\tplaceholder=\"Ask the AI assistant...\"\n\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tSend\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}", + "src/frontend/App.tsx": "import { createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport { registry } from \"../backend/registry\";\nimport type { Message } from \"../backend/types\";\n\nconst { useActor } = createRivetKit(\"http://localhost:8080\");\n\nexport function App() {\n\tconst aiAgent = useActor({\n\t\tname: \"aiAgent\",\n\t\tkey: [\"default\"],\n\t});\n\tconst [messages, setMessages] = useState([]);\n\tconst [input, setInput] = useState(\"\");\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (aiAgent.connection) {\n\t\t\taiAgent.connection.getMessages().then(setMessages);\n\t\t}\n\t}, [aiAgent.connection]);\n\n\taiAgent.useEvent(\"messageReceived\", (message: Message) => {\n\t\tsetMessages((prev) => [...prev, message]);\n\t\tsetIsLoading(false);\n\t});\n\n\tconst handleSendMessage = async () => {\n\t\tif (aiAgent.connection && input.trim()) {\n\t\t\tsetIsLoading(true);\n\n\t\t\tconst userMessage = { role: \"user\", content: input, timestamp: Date.now() } as Message;\n\t\t\tsetMessages((prev) => [...prev, userMessage]);\n\n\t\t\tawait aiAgent.connection.sendMessage(input);\n\t\t\tsetInput(\"\");\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{messages.length === 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\tAsk the AI assistant a question to get started\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\tmessages.map((msg, i) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{msg.role === \"user\" ? \"👤\" : \"🤖\"}
\n\t\t\t\t\t\t\t
{msg.content}
\n\t\t\t\t\t\t
\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t\t{isLoading && (\n\t\t\t\t\t
\n\t\t\t\t\t\t
🤖
\n\t\t\t\t\t\t
Thinking...
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t setInput(e.target.value)}\n\t\t\t\t\tonKeyPress={(e) => e.key === \"Enter\" && handleSendMessage()}\n\t\t\t\t\tplaceholder=\"Ask the AI assistant...\"\n\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tSend\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n", "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", "src/frontend/index.html": "\n\n\n \n \n AI Agent Example\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { openai } from \"@ai-sdk/openai\";\nimport { actor, setup } from \"rivetkit\";\nimport { generateText, tool } from \"ai\";\nimport { z } from \"zod\";\nimport { getWeather } from \"./my-utils\";\n\nexport type Message = {\n\trole: \"user\" | \"assistant\";\n\tcontent: string;\n\ttimestamp: number;\n};\n\nexport const aiAgent = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tmessages: [] as Message[],\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetMessages: (c) => c.state.messages,\n\n\t\tsendMessage: async (c, userMessage: string) => {\n\t\t\tconst userMsg: Message = {\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: userMessage,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\t// State changes are automatically persisted\n\t\t\tc.state.messages.push(userMsg);\n\n\t\t\tconst { text } = await generateText({\n\t\t\t\tmodel: openai(\"gpt-4o-mini\"),\n\t\t\t\tprompt: userMessage,\n\t\t\t\tmessages: c.state.messages,\n\t\t\t\ttools: {\n\t\t\t\t\tweather: tool({\n\t\t\t\t\t\tdescription: \"Get the weather in a location\",\n\t\t\t\t\t\tparameters: z.object({\n\t\t\t\t\t\t\tlocation: z\n\t\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t\t.describe(\"The location to get the weather for\"),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\texecute: async ({ location }) => {\n\t\t\t\t\t\t\treturn await getWeather(location);\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst assistantMsg: Message = {\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: text,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tc.state.messages.push(assistantMsg);\n\n\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\tc.broadcast(\"messageReceived\", assistantMsg);\n\n\t\t\treturn assistantMsg;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { aiAgent },\n});\n", - "src/backend/my-utils.ts": "export async function getWeather(location: string) {\n\t// Mock weather API response\n\treturn {\n\t\tlocation,\n\t\ttemperature: Math.floor(Math.random() * 30) + 10,\n\t\tcondition: [\"sunny\", \"cloudy\", \"rainy\", \"snowy\"][\n\t\t\tMath.floor(Math.random() * 4)\n\t\t],\n\t\thumidity: Math.floor(Math.random() * 50) + 30,\n\t};\n}\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" - } - }, - { - "id": "chat-room", - "icon": "faMessage", - "title": "Chat Room", - "filesToOpen": [ - "src/backend/registry.ts", - "src/frontend/App.tsx" - ], - "tab": "memory", - "files": { - "tests/chat-room.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\ntest(\"Chat room can handle message sending and history\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst room = client.chatRoom.getOrCreate([\"test-room\"]);\n\n\t// Test initial state\n\tconst initialHistory = await room.getHistory();\n\texpect(initialHistory).toEqual([]);\n\n\t// Send a message\n\tconst message1 = await room.sendMessage(\"Alice\", \"Hello everyone!\");\n\n\t// Verify message structure\n\texpect(message1).toMatchObject({\n\t\tsender: \"Alice\",\n\t\ttext: \"Hello everyone!\",\n\t\ttimestamp: expect.any(Number),\n\t});\n\n\t// Send another message\n\tconst message2 = await room.sendMessage(\"Bob\", \"Hi Alice!\");\n\n\t// Verify messages are stored in order\n\tconst history = await room.getHistory();\n\texpect(history).toHaveLength(2);\n\texpect(history[0]).toEqual(message1);\n\texpect(history[1]).toEqual(message2);\n});\n\ntest(\"Chat room message timestamps are sequential\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst room = client.chatRoom.getOrCreate([\"test-timestamps\"]);\n\n\tconst message1 = await room.sendMessage(\"User1\", \"First message\");\n\tconst message2 = await room.sendMessage(\"User2\", \"Second message\");\n\tconst message3 = await room.sendMessage(\"User1\", \"Third message\");\n\n\texpect(message2.timestamp).toBeGreaterThanOrEqual(message1.timestamp);\n\texpect(message3.timestamp).toBeGreaterThanOrEqual(message2.timestamp);\n\n\tconst history = await room.getHistory();\n\tfor (let i = 1; i < history.length; i++) {\n\t\texpect(history[i].timestamp).toBeGreaterThanOrEqual(\n\t\t\thistory[i - 1].timestamp,\n\t\t);\n\t}\n});\n\ntest(\"Chat room supports multiple users\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst room = client.chatRoom.getOrCreate([\"test-multiuser\"]);\n\n\t// Multiple users sending messages\n\tawait room.sendMessage(\"Alice\", \"Hello!\");\n\tawait room.sendMessage(\"Bob\", \"Hey there!\");\n\tawait room.sendMessage(\"Charlie\", \"Good morning!\");\n\tawait room.sendMessage(\"Alice\", \"How is everyone?\");\n\n\tconst history = await room.getHistory();\n\texpect(history).toHaveLength(4);\n\n\t// Verify senders\n\texpect(history[0].sender).toBe(\"Alice\");\n\texpect(history[1].sender).toBe(\"Bob\");\n\texpect(history[2].sender).toBe(\"Charlie\");\n\texpect(history[3].sender).toBe(\"Alice\");\n\n\t// Verify message content\n\texpect(history[0].text).toBe(\"Hello!\");\n\texpect(history[1].text).toBe(\"Hey there!\");\n\texpect(history[2].text).toBe(\"Good morning!\");\n\texpect(history[3].text).toBe(\"How is everyone?\");\n});\n\ntest(\"Chat room handles empty messages\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst room = client.chatRoom.getOrCreate([\"test-empty\"]);\n\n\t// Test empty message\n\tconst emptyMessage = await room.sendMessage(\"User\", \"\");\n\texpect(emptyMessage.text).toBe(\"\");\n\texpect(emptyMessage.sender).toBe(\"User\");\n\texpect(emptyMessage.timestamp).toBeGreaterThan(0);\n\n\tconst history = await room.getHistory();\n\texpect(history).toHaveLength(1);\n\texpect(history[0]).toEqual(emptyMessage);\n});\n", - "README.md": "# Chat Room for RivetKit\n\nExample project demonstrating real-time messaging and actor state management with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/chat-room\nnpm install\n```\n\n### Development\n\n#### Web UI\nStart the development server with both backend and React frontend:\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000` to use the web chat interface.\n\n#### CLI Interface\nAlternatively, use the CLI interface:\n\n```sh\nnpm run dev:cli\n```\n\nOr connect programmatically:\n\n```sh\ntsx src/scripts/connect.ts\n```\n\n## Features\n\n- Real-time messaging with automatic persistence\n- Multiple chat rooms support\n- Both web and CLI interfaces\n- Event-driven architecture with RivetKit actors\n- TypeScript support throughout\n\n## License\n\nApache 2.0", - ".gitignore": ".actorcore\nnode_modules", - "package-lock.json": "{\n \"name\": \"chat-room\",\n \"version\": \"0.9.1\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"chat-room\",\n \"version\": \"0.9.1\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"@types/prompts\": \"^2\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"prompts\": \"^2.4.2\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"dev\": true,\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.16.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.16.3.tgz\",\n \"integrity\": \"sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prompts\": {\n \"version\": \"2.4.9\",\n \"resolved\": \"https://registry.npmjs.org/@types/prompts/-/prompts-2.4.9.tgz\",\n \"integrity\": \"sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/node\": \"*\",\n \"kleur\": \"^3.0.3\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.2.1.tgz\",\n \"integrity\": \"sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.4.6\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz\",\n \"integrity\": \"sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/kleur\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz\",\n \"integrity\": \"sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz\",\n \"integrity\": \"sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",\n \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/prompts\": {\n \"version\": \"2.4.2\",\n \"resolved\": \"https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz\",\n \"integrity\": \"sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"kleur\": \"^3.0.3\",\n \"sisteransi\": \"^1.0.5\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/sisteransi\": {\n \"version\": \"1.0.5\",\n \"resolved\": \"https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz\",\n \"integrity\": \"sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz\",\n \"integrity\": \"sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.14\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz\",\n \"integrity\": \"sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.4.4\",\n \"picomatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz\",\n \"integrity\": \"sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"chat-room\",\n \"version\": \"0.9.1\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"dev:cli\": \"tsx src/scripts/cli.ts\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/prompts\": \"^2\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"prompts\": \"^2.4.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", - "tsconfig.json": "{\n \"compilerOptions\": {\n /* Visit https://aka.ms/tsconfig.json to read more about this file */\n\n /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */\n \"target\": \"esnext\",\n /* Specify a set of bundled library declaration files that describe the target runtime environment. */\n \"lib\": [\"esnext\", \"dom\"],\n /* Specify what JSX code is generated. */\n \"jsx\": \"react-jsx\",\n\n /* Specify what module code is generated. */\n \"module\": \"esnext\",\n /* Specify how TypeScript looks up a file from a given module specifier. */\n \"moduleResolution\": \"bundler\",\n /* Specify type package names to be included without being referenced in a source file. */\n \"types\": [\"node\", \"vite/client\"],\n /* Enable importing .json files */\n \"resolveJsonModule\": true,\n\n /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */\n \"allowJs\": true,\n /* Enable error reporting in type-checked JavaScript files. */\n \"checkJs\": false,\n\n /* Disable emitting files from a compilation. */\n \"noEmit\": true,\n\n /* Ensure that each file can be safely transpiled without relying on other imports. */\n \"isolatedModules\": true,\n /* Allow 'import x from y' when a module doesn't have a default export. */\n \"allowSyntheticDefaultImports\": true,\n /* Ensure that casing is correct in imports. */\n \"forceConsistentCasingInFileNames\": true,\n\n /* Enable all strict type-checking options. */\n \"strict\": true,\n\n /* Skip type checking all .d.ts files. */\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*\", \"actors/**/*\", \"tests/**/*\"]\n}\n", - "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n});\n", - "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tinclude: [\"tests/**/*.test.ts\"],\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Message, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nexport function App() {\n\tconst [roomId, setRoomId] = useState(\"general\");\n\tconst [username, setUsername] = useState(\"User\");\n\tconst [input, setInput] = useState(\"\");\n\tconst [messages, setMessages] = useState([]);\n\n\tconst chatRoom = useActor({\n\t\tname: \"chatRoom\",\n\t\tkey: [roomId],\n\t});\n\n\tuseEffect(() => {\n\t\tif (chatRoom.connection) {\n\t\t\tchatRoom.connection.getHistory().then(setMessages);\n\t\t}\n\t}, [chatRoom.connection]);\n\n\tchatRoom.useEvent(\"newMessage\", (message: Message) => {\n\t\tsetMessages((prev) => [...prev, message]);\n\t});\n\n\tconst sendMessage = async () => {\n\t\tif (chatRoom.connection && input.trim()) {\n\t\t\tawait chatRoom.connection.sendMessage(username, input);\n\t\t\tsetInput(\"\");\n\t\t}\n\t};\n\n\tconst handleKeyPress = (e: React.KeyboardEvent) => {\n\t\tif (e.key === \"Enter\") {\n\t\t\tsendMessage();\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Chat Room: {roomId}

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t setRoomId(e.target.value)}\n\t\t\t\t\tplaceholder=\"Enter room name\"\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t setUsername(e.target.value)}\n\t\t\t\t\tplaceholder=\"Enter your username\"\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t{messages.length === 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\tNo messages yet. Start the conversation!\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\tmessages.map((msg, i) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{msg.sender}
\n\t\t\t\t\t\t\t
{msg.text}
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{new Date(msg.timestamp).toLocaleTimeString()}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t setInput(e.target.value)}\n\t\t\t\t\tonKeyPress={handleKeyPress}\n\t\t\t\t\tplaceholder=\"Type a message...\"\n\t\t\t\t\tdisabled={!chatRoom.connection}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tSend\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}", - "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", - "src/frontend/index.html": "\n\n\n \n \n Chat Room Example\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\n\nexport type Message = { sender: string; text: string; timestamp: number };\n\nexport const chatRoom = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tmessages: [] as Message[],\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tsendMessage: (c, sender: string, text: string) => {\n\t\t\tconst message = { sender, text, timestamp: Date.now() };\n\t\t\t// State changes are automatically persisted\n\t\t\tc.state.messages.push(message);\n\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\tc.broadcast(\"newMessage\", message);\n\t\t\treturn message;\n\t\t},\n\n\t\tgetHistory: (c) => c.state.messages,\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { chatRoom },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n", - "src/scripts/cli.ts": "import { createClient } from \"rivetkit/client\";\nimport prompts from \"prompts\";\nimport type { registry } from \"../backend/registry\";\n\nasync function main() {\n\tconst { username, room } = await initPrompt();\n\n\t// Create type-aware client\n\tconst client = createClient(\"http://localhost:8080\");\n\n\t// connect to chat room\n\tconst chatRoom = client.chatRoom.getOrCreate([room]).connect();\n\n\t// fetch history\n\tconst history = await chatRoom.getHistory();\n\tconsole.log(\n\t\t`History:\\n${history.map((m) => `[${m.sender}] ${m.text}`).join(\"\\n\")}`,\n\t);\n\n\t// listen for new messages\n\tlet needsNewLine = false;\n\tchatRoom.on(\"newMessage\", (message: any) => {\n\t\tif (needsNewLine) {\n\t\t\tneedsNewLine = false;\n\t\t\tconsole.log();\n\t\t}\n\t\tconsole.log(`[${message.sender}] ${message.text}`);\n\t});\n\n\t// loop to send messages\n\twhile (true) {\n\t\tneedsNewLine = true;\n\t\tconst message = await textPrompt(\"Message\");\n\t\tif (!message) break;\n\t\tneedsNewLine = false;\n\t\tawait chatRoom.sendMessage(username, message);\n\t}\n\n\tawait chatRoom.dispose();\n}\n\nasync function initPrompt(): Promise<{\n\troom: string;\n\tusername: string;\n}> {\n\treturn await prompts([\n\t\t{\n\t\t\ttype: \"text\",\n\t\t\tname: \"username\",\n\t\t\tmessage: \"Username\",\n\t\t},\n\t\t{\n\t\t\ttype: \"text\",\n\t\t\tname: \"room\",\n\t\t\tmessage: \"Room\",\n\t\t},\n\t]);\n}\n\nasync function textPrompt(message: string): Promise {\n\tconst { x } = await prompts({\n\t\ttype: \"text\",\n\t\tname: \"x\",\n\t\tmessage,\n\t});\n\treturn x;\n}\n\nmain();\n", - "src/scripts/connect.ts": "/// \nimport { createClient } from \"rivetkit/client\";\nimport type { registry } from \"../backend/registry\";\n\nasync function main() {\n\t// Create type-aware client\n\tconst client = createClient(\n\t\tprocess.env.ENDPOINT ?? \"http://localhost:8080\",\n\t);\n\n\t// connect to chat room\n\tconst chatRoom = client.chatRoom.getOrCreate().connect();\n\n\t// call action to get existing messages\n\tconst messages = await chatRoom.getHistory();\n\tconsole.log(\"Messages:\", messages);\n\n\t// listen for new messages\n\tchatRoom.on(\"newMessage\", (message: any) =>\n\t\tconsole.log(`Message from ${message.sender}: ${message.text}`),\n\t);\n\n\t// send message to room\n\tawait chatRoom.sendMessage(\"william\", \"All the world's a stage.\");\n\n\t// disconnect from actor when finished\n\tawait chatRoom.dispose();\n}\n\nmain();\n" + "src/backend/my-tools.ts": "export async function getWeather(location: string) {\n\t// Mock weather API response\n\treturn {\n\t\tlocation,\n\t\ttemperature: Math.floor(Math.random() * 30) + 10,\n\t\tcondition: [\"sunny\", \"cloudy\", \"rainy\", \"snowy\"][\n\t\t\tMath.floor(Math.random() * 4)\n\t\t],\n\t\thumidity: Math.floor(Math.random() * 50) + 30,\n\t};\n}\n", + "src/backend/types.ts": "export type Message = {\n\trole: \"user\" | \"assistant\";\n\tcontent: string;\n\ttimestamp: number;\n};\n", + "src/backend/registry.ts": "import { openai } from \"@ai-sdk/openai\";\nimport { generateText, tool } from \"ai\";\nimport { actor, setup } from \"rivetkit\";\nimport { z } from \"zod\";\nimport { getWeather } from \"./my-tools\";\nimport type { Message } from \"./types\";\n\nexport const aiAgent = actor({\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tmessages: [] as Message[],\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetMessages: (c) => c.state.messages,\n\n\t\tsendMessage: async (c, userMessage: string) => {\n\t\t\tconst userMsg: Message = {\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: userMessage,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\t// State changes are automatically persisted\n\t\t\tc.state.messages.push(userMsg);\n\n\t\t\tconst { text } = await generateText({\n\t\t\t\tmodel: openai(\"gpt-4o-mini\"),\n\t\t\t\tprompt: userMessage,\n\t\t\t\tmessages: c.state.messages,\n\t\t\t\ttools: {\n\t\t\t\t\tweather: tool({\n\t\t\t\t\t\tdescription: \"Get the weather in a location\",\n\t\t\t\t\t\tparameters: z.object({\n\t\t\t\t\t\t\tlocation: z\n\t\t\t\t\t\t\t\t.string()\n\t\t\t\t\t\t\t\t.describe(\"The location to get the weather for\"),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\texecute: async ({ location }) => {\n\t\t\t\t\t\t\treturn await getWeather(location);\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst assistantMsg: Message = {\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: text,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tc.state.messages.push(assistantMsg);\n\n\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\tc.broadcast(\"messageReceived\", assistantMsg);\n\n\t\t\treturn assistantMsg;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { aiAgent },\n});\n", + "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.start({\n\tcors: {\n\t\torigin: \"http://localhost:3000\",\n\t\tcredentials: true,\n\t},\n});\n" } }, { "id": "crdt", "icon": "faFilePen", - "title": "Collab (Yjs)", + "title": "Realtime Docs", "filesToOpen": [ "src/backend/registry.ts", "src/frontend/App.tsx" ], "tab": "memory", "files": { - "tests/crdt.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock Yjs to avoid complex binary operations in tests\nvi.mock(\"yjs\", () => ({\n\tDoc: vi.fn().mockImplementation(() => ({\n\t\tgetText: vi.fn().mockReturnValue({\n\t\t\ttoString: vi.fn().mockReturnValue(\"\"),\n\t\t\tobserve: vi.fn(),\n\t\t\tdelete: vi.fn(),\n\t\t\tinsert: vi.fn(),\n\t\t}),\n\t\ttransact: vi.fn((fn) => fn()),\n\t\tdestroy: vi.fn(),\n\t})),\n\tapplyUpdate: vi.fn(),\n\tencodeStateAsUpdate: vi.fn().mockReturnValue(new Uint8Array([1, 2, 3, 4])),\n}));\n\ntest(\"CRDT document can handle initial state\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-doc\"]);\n\n\t// Test initial state\n\tconst state = await doc.getState();\n\texpect(state).toMatchObject({\n\t\tdocData: \"\",\n\t\tlastModified: 0,\n\t});\n});\n\ntest(\"CRDT document can apply updates\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-updates\"]);\n\n\t// Mock update data (Base64 encoded)\n\tconst updateBase64 = btoa(\"mock-update-data\");\n\n\t// Apply an update\n\tawait doc.applyUpdate(updateBase64);\n\n\t// Verify state was updated\n\tconst state = await doc.getState();\n\texpect(state.docData).not.toBe(\"\");\n\texpect(state.lastModified).toBeGreaterThan(0);\n});\n\ntest(\"CRDT document handles multiple updates\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-multiple\"]);\n\n\tconst update1 = btoa(\"update-1\");\n\tconst update2 = btoa(\"update-2\");\n\tconst update3 = btoa(\"update-3\");\n\n\t// Apply multiple updates\n\tawait doc.applyUpdate(update1);\n\tconst state1 = await doc.getState();\n\tconst firstModified = state1.lastModified;\n\n\tawait doc.applyUpdate(update2);\n\tconst state2 = await doc.getState();\n\tconst secondModified = state2.lastModified;\n\n\tawait doc.applyUpdate(update3);\n\tconst state3 = await doc.getState();\n\tconst thirdModified = state3.lastModified;\n\n\t// Verify timestamps are increasing\n\texpect(secondModified).toBeGreaterThanOrEqual(firstModified);\n\texpect(thirdModified).toBeGreaterThanOrEqual(secondModified);\n\n\t// Verify state is updated\n\texpect(state3.docData).not.toBe(\"\");\n\texpect(state3.lastModified).toBe(thirdModified);\n});\n\ntest(\"CRDT document handles Base64 encoding correctly\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-encoding\"]);\n\n\t// Test with specific Base64 data\n\tconst testData = \"Hello, collaborative world!\";\n\tconst updateBase64 = btoa(testData);\n\n\tawait doc.applyUpdate(updateBase64);\n\n\tconst state = await doc.getState();\n\texpect(state.docData).toBeTruthy();\n\texpect(state.lastModified).toBeGreaterThan(0);\n});\n", + "tests/crdt.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock Yjs to avoid complex binary operations in tests\nvi.mock(\"yjs\", () => ({\n\tDoc: vi.fn().mockImplementation(() => ({\n\t\tgetText: vi.fn().mockReturnValue({\n\t\t\ttoString: vi.fn().mockReturnValue(\"\"),\n\t\t\tobserve: vi.fn(),\n\t\t\tdelete: vi.fn(),\n\t\t\tinsert: vi.fn(),\n\t\t}),\n\t\ttransact: vi.fn((fn) => fn()),\n\t\tdestroy: vi.fn(),\n\t})),\n\tapplyUpdate: vi.fn(),\n\tencodeStateAsUpdate: vi.fn().mockReturnValue(new Uint8Array([1, 2, 3, 4])),\n}));\n\ntest(\"CRDT document can handle initial state\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-doc\"]);\n\n\t// Test initial state\n\tconst state = await doc.getState();\n\texpect(state.docData).toBeInstanceOf(Uint8Array);\n\texpect(state.docData.length).toBe(0);\n\texpect(state.lastModified).toBe(0);\n});\n\ntest(\"CRDT document can apply updates\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-updates\"]);\n\n\t// Mock update data as binary\n\tconst updateBytes = new Uint8Array([1, 2, 3, 4, 5]);\n\n\t// Apply an update\n\tawait doc.applyUpdate(updateBytes);\n\n\t// Verify state was updated\n\tconst state = await doc.getState();\n\texpect(state.docData.length).toBeGreaterThan(0);\n\texpect(state.lastModified).toBeGreaterThan(0);\n});\n\ntest(\"CRDT document handles multiple updates\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-multiple\"]);\n\n\tconst update1 = new Uint8Array([1, 2, 3]);\n\tconst update2 = new Uint8Array([4, 5, 6]);\n\tconst update3 = new Uint8Array([7, 8, 9]);\n\n\t// Apply multiple updates\n\tawait doc.applyUpdate(update1);\n\tconst state1 = await doc.getState();\n\tconst firstModified = state1.lastModified;\n\n\tawait doc.applyUpdate(update2);\n\tconst state2 = await doc.getState();\n\tconst secondModified = state2.lastModified;\n\n\tawait doc.applyUpdate(update3);\n\tconst state3 = await doc.getState();\n\tconst thirdModified = state3.lastModified;\n\n\t// Verify timestamps are increasing\n\texpect(secondModified).toBeGreaterThanOrEqual(firstModified);\n\texpect(thirdModified).toBeGreaterThanOrEqual(secondModified);\n\n\t// Verify state is updated\n\texpect(state3.docData.length).toBeGreaterThan(0);\n\texpect(state3.lastModified).toBe(thirdModified);\n});\n\ntest(\"CRDT document handles binary data correctly\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst doc = client.yjsDocument.getOrCreate([\"test-encoding\"]);\n\n\t// Test with specific binary data\n\tconst updateBytes = new TextEncoder().encode(\"Hello, collaborative world!\");\n\n\tawait doc.applyUpdate(updateBytes);\n\n\tconst state = await doc.getState();\n\texpect(state.docData.length).toBeGreaterThan(0);\n\texpect(state.lastModified).toBeGreaterThan(0);\n});\n", "README.md": "# CRDT Collaborative Editor for RivetKit\n\nExample project demonstrating real-time collaborative editing using Conflict-free Replicated Data Types (CRDTs) with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/crdt\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Real-time Collaborative Editing**: Multiple users can edit the same document simultaneously\n- **Conflict Resolution**: Uses Yjs CRDTs to automatically resolve editing conflicts\n- **Persistent State**: Document changes are automatically persisted\n- **Multiple Documents**: Switch between different collaborative documents\n- **Live Connection Status**: See when you're connected to the collaboration server\n\n## How it works\n\nThis example demonstrates how to build a collaborative editor using:\n\n1. **Yjs**: A high-performance CRDT implementation for building collaborative applications\n2. **RivetKit Actors**: Manage document state and synchronize changes between clients\n3. **Real-time Updates**: Use RivetKit's event system for instant synchronization\n4. **Conflict-free Merging**: Yjs automatically handles concurrent edits without conflicts\n\n## Usage\n\n1. Start the development server\n2. Open multiple browser tabs to `http://localhost:3000`\n3. Start typing in any tab - changes will appear in real-time across all tabs\n4. Try editing the same text simultaneously to see conflict resolution in action\n5. Switch between different documents using the document ID field\n\n## Architecture\n\n- **Backend**: RivetKit actor that manages Yjs document state and broadcasts updates\n- **Frontend**: React application with Yjs integration for local document management\n- **Synchronization**: Binary diffs are sent between clients for efficient updates\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-crdt\",\n \"version\": \"0.9.1\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-crdt\",\n \"version\": \"0.9.1\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"yjs\": \"^13.6.20\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"dev\": true,\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.16.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.16.3.tgz\",\n \"integrity\": \"sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.2.1.tgz\",\n \"integrity\": \"sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.4.6\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz\",\n \"integrity\": \"sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/isomorphic.js\": {\n \"version\": \"0.2.5\",\n \"resolved\": \"https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz\",\n \"integrity\": \"sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"GitHub Sponsors ❤\",\n \"url\": \"https://github.com/sponsors/dmonad\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lib0\": {\n \"version\": \"0.2.109\",\n \"resolved\": \"https://registry.npmjs.org/lib0/-/lib0-0.2.109.tgz\",\n \"integrity\": \"sha512-jP0gbnyW0kwlx1Atc4dcHkBbrVAkdHjuyHxtClUPYla7qCmwIif1qZ6vQeJdR5FrOVdn26HvQT0ko01rgW7/Xw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"isomorphic.js\": \"^0.2.4\"\n },\n \"bin\": {\n \"0ecdsa-generate-keypair\": \"bin/0ecdsa-generate-keypair.js\",\n \"0gentesthtml\": \"bin/gentesthtml.js\",\n \"0serve\": \"bin/0serve.js\"\n },\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"type\": \"GitHub Sponsors ❤\",\n \"url\": \"https://github.com/sponsors/dmonad\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz\",\n \"integrity\": \"sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",\n \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz\",\n \"integrity\": \"sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.14\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz\",\n \"integrity\": \"sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.4.4\",\n \"picomatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz\",\n \"integrity\": \"sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yjs\": {\n \"version\": \"13.6.27\",\n \"resolved\": \"https://registry.npmjs.org/yjs/-/yjs-13.6.27.tgz\",\n \"integrity\": \"sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lib0\": \"^0.2.99\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"funding\": {\n \"type\": \"GitHub Sponsors ❤\",\n \"url\": \"https://github.com/sponsors/dmonad\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-crdt\",\n \"version\": \"0.9.1\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"yjs\": \"^13.6.20\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "package-lock.json": "{\n \"name\": \"example-crdt\",\n \"version\": \"2.0.15\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-crdt\",\n \"version\": \"2.0.15\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"yjs\": \"^13.6.20\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@asteasolutions/zod-to-openapi\": {\n \"version\": \"7.3.4\",\n \"resolved\": \"https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.4.tgz\",\n \"integrity\": \"sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"openapi3-ts\": \"^4.1.2\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.20.2\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz\",\n \"integrity\": \"sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz\",\n \"integrity\": \"sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.4\",\n \"@babel/types\": \"^7.28.4\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz\",\n \"integrity\": \"sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.3\",\n \"@babel/types\": \"^7.28.2\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz\",\n \"integrity\": \"sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.4\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz\",\n \"integrity\": \"sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz\",\n \"integrity\": \"sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz\",\n \"integrity\": \"sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@hono/standard-validator\": {\n \"version\": \"0.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/standard-validator/-/standard-validator-0.1.5.tgz\",\n \"integrity\": \"sha512-EIyZPPwkyLn6XKwFj5NBEWHXhXbgmnVh2ceIFo5GO7gKI9WmzTjPDKnppQB0KrqKeAkq3kpoW4SIbu5X1dgx3w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@standard-schema/spec\": \"1.0.0\",\n \"hono\": \">=3.9.0\"\n }\n },\n \"node_modules/@hono/zod-openapi\": {\n \"version\": \"0.19.10\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-openapi/-/zod-openapi-0.19.10.tgz\",\n \"integrity\": \"sha512-dpoS6DenvoJyvxtQ7Kd633FRZ/Qf74+4+o9s+zZI8pEqnbjdF/DtxIib08WDpCaWabMEJOL5TXpMgNEZvb7hpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@asteasolutions/zod-to-openapi\": \"^7.3.0\",\n \"@hono/zod-validator\": \"^0.7.1\",\n \"openapi3-ts\": \"^4.5.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"peerDependencies\": {\n \"hono\": \">=4.3.6\",\n \"zod\": \">=3.0.0\"\n }\n },\n \"node_modules/@hono/zod-validator\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-validator/-/zod-validator-0.7.4.tgz\",\n \"integrity\": \"sha512-biKGn3BRJVaftZlIPMyK+HCe/UHAjJ6sH0UyXe3+v0OcgVr9xfImDROTJFLtn9e3XEEAHGZIM9U6evu85abm8Q==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"hono\": \">=3.9.0\",\n \"zod\": \"^3.25.0 || ^4.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.9.tgz\",\n \"integrity\": \"sha512-RZlgZVclT2Po1uILBtGJ8IVw78KuO/52hEPYpZh+wpEp5wpKjI3Z3AtXz6tyEBiwa3YuaxG1NrWNBHZm5eHWhw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@hono/standard-validator\": \"^0.1.3\",\n \"@hono/zod-openapi\": \"^0.19.10\",\n \"@rivetkit/fast-json-patch\": \"^3.1.2\",\n \"cbor-x\": \"^1.6.0\",\n \"hono\": \"^4.7.0\",\n \"invariant\": \"^2.2.4\",\n \"nanoevents\": \"^9.1.0\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.76\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"eventsource\": \"^3.0.5\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/fast-json-patch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/fast-json-patch/-/fast-json-patch-3.1.2.tgz\",\n \"integrity\": \"sha512-CtA50xgsSSzICQduF/NDShPRzvucnNvsW/lQO0WgMTT1XAj9Lfae4pm7r3llFwilgG+9iq76Hv1LUqNy72v6yw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.9.tgz\",\n \"integrity\": \"sha512-2E/OjUp6b7jGsiSFvJ81lSQX7DHag8DOZCLeS7Mqdqozb/lvzIwtLzW7CPL1DEWS6/VJa6RPn0oOe9V/tMR9cg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"0.9.9\",\n \"@tanstack/store\": \"^0.7.1\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.9.tgz\",\n \"integrity\": \"sha512-c00Dw0wsrLeu1G79vHKzxuERBIUNt/BQ4oLrt5qPSqkCo0kB8izIKwwO6vVoIQ7Pf8KTe9JXl3UxYLfH6QCmCA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"^0.9.9\",\n \"@rivetkit/framework-base\": \"0.9.9\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.27\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz\",\n \"integrity\": \"sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@standard-schema/spec\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz\",\n \"integrity\": \"sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz\",\n \"integrity\": \"sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.7\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz\",\n \"integrity\": \"sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.2\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.26\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz\",\n \"integrity\": \"sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz\",\n \"integrity\": \"sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.27\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.8.16\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz\",\n \"integrity\": \"sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.26.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz\",\n \"integrity\": \"sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.8.9\",\n \"caniuse-lite\": \"^1.0.30001746\",\n \"electron-to-chromium\": \"^1.5.227\",\n \"node-releases\": \"^2.0.21\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001750\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz\",\n \"integrity\": \"sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz\",\n \"integrity\": \"sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.237\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz\",\n \"integrity\": \"sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz\",\n \"integrity\": \"sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/isomorphic.js\": {\n \"version\": \"0.2.5\",\n \"resolved\": \"https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz\",\n \"integrity\": \"sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"GitHub Sponsors ❤\",\n \"url\": \"https://github.com/sponsors/dmonad\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lib0\": {\n \"version\": \"0.2.114\",\n \"resolved\": \"https://registry.npmjs.org/lib0/-/lib0-0.2.114.tgz\",\n \"integrity\": \"sha512-gcxmNFzA4hv8UYi8j43uPlQ7CGcyMJ2KQb5kZASw6SnAKAf10hK12i2fjrS3Cl/ugZa5Ui6WwIu1/6MIXiHttQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"isomorphic.js\": \"^0.2.4\"\n },\n \"bin\": {\n \"0ecdsa-generate-keypair\": \"bin/0ecdsa-generate-keypair.js\",\n \"0gentesthtml\": \"bin/gentesthtml.js\",\n \"0serve\": \"bin/0serve.js\"\n },\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"type\": \"GitHub Sponsors ❤\",\n \"url\": \"https://github.com/sponsors/dmonad\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoevents\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/nanoevents/-/nanoevents-9.1.0.tgz\",\n \"integrity\": \"sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.23\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz\",\n \"integrity\": \"sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/openapi3-ts\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.5.0.tgz\",\n \"integrity\": \"sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yaml\": \"^2.8.0\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz\",\n \"integrity\": \"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.20\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.20.tgz\",\n \"integrity\": \"sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yaml\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz\",\n \"integrity\": \"sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14.6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yjs\": {\n \"version\": \"13.6.27\",\n \"resolved\": \"https://registry.npmjs.org/yjs/-/yjs-13.6.27.tgz\",\n \"integrity\": \"sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"lib0\": \"^0.2.99\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"funding\": {\n \"type\": \"GitHub Sponsors ❤\",\n \"url\": \"https://github.com/sponsors/dmonad\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-crdt\",\n \"version\": \"2.0.15\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"yjs\": \"^13.6.20\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"esnext\",\n \"lib\": [\"esnext\", \"dom\"],\n \"jsx\": \"react-jsx\",\n \"module\": \"esnext\",\n \"moduleResolution\": \"bundler\",\n \"types\": [\"node\", \"vite/client\"],\n \"resolveJsonModule\": true,\n \"allowJs\": true,\n \"checkJs\": false,\n \"noEmit\": true,\n \"isolatedModules\": true,\n \"allowSyntheticDefaultImports\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n});\n", "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tinclude: [\"tests/**/*.test.ts\"],\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Y from \"yjs\";\nimport { applyUpdate, encodeStateAsUpdate } from \"yjs\";\nimport type { registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nfunction YjsEditor({ documentId }: { documentId: string }) {\n\tconst yjsDocument = useActor({\n\t\tname: \"yjsDocument\",\n\t\tkey: [documentId],\n\t});\n\n\tconst [isLoading, setIsLoading] = useState(true);\n\tconst [text, setText] = useState(\"\");\n\n\tconst yDocRef = useRef(null);\n\tconst updatingFromServer = useRef(false);\n\tconst updatingFromLocal = useRef(false);\n\tconst observationInitialized = useRef(false);\n\n\tuseEffect(() => {\n\t\tconst yDoc = new Y.Doc();\n\t\tyDocRef.current = yDoc;\n\t\tsetIsLoading(false);\n\n\t\treturn () => {\n\t\t\tyDoc.destroy();\n\t\t};\n\t}, [yjsDocument.connection]);\n\n\tuseEffect(() => {\n\t\tconst yDoc = yDocRef.current;\n\t\tif (!yDoc || observationInitialized.current) return;\n\n\t\tconst yText = yDoc.getText(\"content\");\n\n\t\tyText.observe(() => {\n\t\t\tif (!updatingFromServer.current) {\n\t\t\t\tsetText(yText.toString());\n\n\t\t\t\tif (yjsDocument.connection && !updatingFromLocal.current) {\n\t\t\t\t\tupdatingFromLocal.current = true;\n\n\t\t\t\t\tconst update = encodeStateAsUpdate(yDoc);\n\t\t\t\t\tconst base64 = bufferToBase64(update);\n\t\t\t\t\tyjsDocument.connection.applyUpdate(base64).finally(() => {\n\t\t\t\t\t\tupdatingFromLocal.current = false;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tobservationInitialized.current = true;\n\t}, [yjsDocument.connection]);\n\n\tyjsDocument.useEvent(\"initialState\", ({ update }: { update: string }) => {\n\t\tconst yDoc = yDocRef.current;\n\t\tif (!yDoc) return;\n\n\t\tupdatingFromServer.current = true;\n\n\t\ttry {\n\t\t\tconst binary = atob(update);\n\t\t\tconst bytes = new Uint8Array(binary.length);\n\t\t\tfor (let i = 0; i < binary.length; i++) {\n\t\t\t\tbytes[i] = binary.charCodeAt(i);\n\t\t\t}\n\n\t\t\tapplyUpdate(yDoc, bytes);\n\n\t\t\tconst yText = yDoc.getText(\"content\");\n\t\t\tsetText(yText.toString());\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error applying initial update:\", error);\n\t\t} finally {\n\t\t\tupdatingFromServer.current = false;\n\t\t}\n\t});\n\n\tyjsDocument.useEvent(\"update\", ({ update }: { update: string }) => {\n\t\tconst yDoc = yDocRef.current;\n\t\tif (!yDoc) return;\n\n\t\tupdatingFromServer.current = true;\n\n\t\ttry {\n\t\t\tconst binary = atob(update);\n\t\t\tconst bytes = new Uint8Array(binary.length);\n\t\t\tfor (let i = 0; i < binary.length; i++) {\n\t\t\t\tbytes[i] = binary.charCodeAt(i);\n\t\t\t}\n\n\t\t\tapplyUpdate(yDoc, bytes);\n\n\t\t\tconst yText = yDoc.getText(\"content\");\n\t\t\tsetText(yText.toString());\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error applying update:\", error);\n\t\t} finally {\n\t\t\tupdatingFromServer.current = false;\n\t\t}\n\t});\n\n\tconst handleTextChange = (e: React.ChangeEvent) => {\n\t\tif (!yDocRef.current) return;\n\n\t\tconst newText = e.target.value;\n\t\tconst yText = yDocRef.current.getText(\"content\");\n\n\t\tif (newText !== yText.toString()) {\n\t\t\tupdatingFromLocal.current = true;\n\n\t\t\tyDocRef.current.transact(() => {\n\t\t\t\tyText.delete(0, yText.length);\n\t\t\t\tyText.insert(0, newText);\n\t\t\t});\n\n\t\t\tupdatingFromLocal.current = false;\n\t\t}\n\t};\n\n\tif (isLoading) {\n\t\treturn
Loading collaborative document...
;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Document: {documentId}

\n\t\t\t\t
\n\t\t\t\t\t{yjsDocument.connection ? 'Connected' : 'Disconnected'}\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t
\n\t);\n}\n\nexport function App() {\n\tconst [documentId, setDocumentId] = useState(\"shared-doc\");\n\tconst [inputDocId, setInputDocId] = useState(\"shared-doc\");\n\n\tconst switchDocument = () => {\n\t\tsetDocumentId(inputDocId);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

CRDT Collaborative Editor

\n\t\t\t\t

Real-time collaborative text editing powered by Yjs and RivetKit

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How it works

\n\t\t\t\t

\n\t\t\t\t\tThis editor uses Conflict-free Replicated Data Types (CRDTs) with Yjs to enable \n\t\t\t\t\treal-time collaborative editing. Open multiple browser tabs or share the URL \n\t\t\t\t\twith others to see live collaboration in action!\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t setInputDocId(e.target.value)}\n\t\t\t\t\tplaceholder=\"Enter document ID\"\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}\n\nfunction bufferToBase64(buffer: Uint8Array): string {\n\tlet binary = \"\";\n\tfor (let i = 0; i < buffer.byteLength; i++) {\n\t\tbinary += String.fromCharCode(buffer[i]);\n\t}\n\treturn btoa(binary);\n}", + "src/frontend/App.tsx": "import { createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport * as Y from \"yjs\";\nimport { applyUpdate, encodeStateAsUpdate } from \"yjs\";\nimport type { registry } from \"../backend/registry\";\n\nconst { useActor } = createRivetKit(\"http://localhost:8080\");\n\nfunction YjsEditor({ documentId }: { documentId: string }) {\n\tconst yjsDocument = useActor({\n\t\tname: \"yjsDocument\",\n\t\tkey: [documentId],\n\t});\n\n\tconst [isLoading, setIsLoading] = useState(true);\n\tconst [text, setText] = useState(\"\");\n\n\tconst yDocRef = useRef(null);\n\tconst updatingFromServer = useRef(false);\n\tconst updatingFromLocal = useRef(false);\n\tconst observationInitialized = useRef(false);\n\n\tuseEffect(() => {\n\t\tconst yDoc = new Y.Doc();\n\t\tyDocRef.current = yDoc;\n\t\tsetIsLoading(false);\n\n\t\treturn () => {\n\t\t\tyDoc.destroy();\n\t\t};\n\t}, [yjsDocument.connection]);\n\n\tuseEffect(() => {\n\t\tconst yDoc = yDocRef.current;\n\t\tif (!yDoc || observationInitialized.current) return;\n\n\t\tconst yText = yDoc.getText(\"content\");\n\n\t\tyText.observe(() => {\n\t\t\tif (!updatingFromServer.current) {\n\t\t\t\tsetText(yText.toString());\n\n\t\t\t\tif (yjsDocument.connection && !updatingFromLocal.current) {\n\t\t\t\t\tupdatingFromLocal.current = true;\n\n\t\t\t\t\tconst update = encodeStateAsUpdate(yDoc);\n\t\t\t\t\tyjsDocument.connection.applyUpdate(update).finally(() => {\n\t\t\t\t\t\tupdatingFromLocal.current = false;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tobservationInitialized.current = true;\n\t}, [yjsDocument.connection]);\n\n\tyjsDocument.useEvent(\"initialState\", ({ update }: { update: Uint8Array }) => {\n\t\tconst yDoc = yDocRef.current;\n\t\tif (!yDoc) return;\n\n\t\tupdatingFromServer.current = true;\n\n\t\ttry {\n\t\t\tapplyUpdate(yDoc, update);\n\n\t\t\tconst yText = yDoc.getText(\"content\");\n\t\t\tsetText(yText.toString());\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error applying initial update:\", error);\n\t\t} finally {\n\t\t\tupdatingFromServer.current = false;\n\t\t}\n\t});\n\n\tyjsDocument.useEvent(\"update\", ({ update }: { update: Uint8Array }) => {\n\t\tconst yDoc = yDocRef.current;\n\t\tif (!yDoc) return;\n\n\t\tupdatingFromServer.current = true;\n\n\t\ttry {\n\t\t\tapplyUpdate(yDoc, update);\n\n\t\t\tconst yText = yDoc.getText(\"content\");\n\t\t\tsetText(yText.toString());\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error applying update:\", error);\n\t\t} finally {\n\t\t\tupdatingFromServer.current = false;\n\t\t}\n\t});\n\n\tconst handleTextChange = (e: React.ChangeEvent) => {\n\t\tif (!yDocRef.current) return;\n\n\t\tconst newText = e.target.value;\n\t\tconst yText = yDocRef.current.getText(\"content\");\n\n\t\tif (newText !== yText.toString()) {\n\t\t\tupdatingFromLocal.current = true;\n\n\t\t\tyDocRef.current.transact(() => {\n\t\t\t\tyText.delete(0, yText.length);\n\t\t\t\tyText.insert(0, newText);\n\t\t\t});\n\n\t\t\tupdatingFromLocal.current = false;\n\t\t}\n\t};\n\n\tif (isLoading) {\n\t\treturn
Loading collaborative document...
;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Document: {documentId}

\n\t\t\t\t
\n\t\t\t\t\t{yjsDocument.connection ? 'Connected' : 'Disconnected'}\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t
\n\t);\n}\n\nexport function App() {\n\tconst [documentId, setDocumentId] = useState(\"shared-doc\");\n\tconst [inputDocId, setInputDocId] = useState(\"shared-doc\");\n\n\tconst switchDocument = () => {\n\t\tsetDocumentId(inputDocId);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

CRDT Collaborative Editor

\n\t\t\t\t

Real-time collaborative text editing powered by Yjs and RivetKit

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How it works

\n\t\t\t\t

\n\t\t\t\t\tThis editor uses Conflict-free Replicated Data Types (CRDTs) with Yjs to enable\n\t\t\t\t\treal-time collaborative editing. Open multiple browser tabs or share the URL\n\t\t\t\t\twith others to see live collaboration in action!\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t setInputDocId(e.target.value)}\n\t\t\t\t\tplaceholder=\"Enter document ID\"\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}\n", "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", "src/frontend/index.html": "\n\n\n \n \n CRDT Collaborative Editor\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport * as Y from \"yjs\";\nimport { applyUpdate, encodeStateAsUpdate } from \"yjs\";\n\nexport const yjsDocument = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tdocData: \"\", // Base64 encoded Yjs document\n\t\tlastModified: 0,\n\t},\n\n\tcreateVars: () => ({\n\t\tdoc: new Y.Doc(),\n\t}),\n\n\tonStart: (c) => {\n\t\tif (c.state.docData) {\n\t\t\tconst binary = atob(c.state.docData);\n\t\t\tconst bytes = new Uint8Array(binary.length);\n\t\t\tfor (let i = 0; i < binary.length; i++) {\n\t\t\t\tbytes[i] = binary.charCodeAt(i);\n\t\t\t}\n\t\t\tapplyUpdate(c.vars.doc, bytes);\n\t\t}\n\t},\n\n\t// Handle client connections: https://rivet.dev/docs/actors/connection-lifecycle\n\tonConnect: (c, conn) => {\n\t\tconst update = encodeStateAsUpdate(c.vars.doc);\n\t\tconst base64 = bufferToBase64(update);\n\t\tconn.send(\"initialState\", { update: base64 });\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tapplyUpdate: (c, updateBase64: string) => {\n\t\t\tconst binary = atob(updateBase64);\n\t\t\tconst update = new Uint8Array(binary.length);\n\t\t\tfor (let i = 0; i < binary.length; i++) {\n\t\t\t\tupdate[i] = binary.charCodeAt(i);\n\t\t\t}\n\n\t\t\tapplyUpdate(c.vars.doc, update);\n\n\t\t\tconst fullState = encodeStateAsUpdate(c.vars.doc);\n\t\t\t// State changes are automatically persisted\n\t\t\tc.state.docData = bufferToBase64(fullState);\n\t\t\tc.state.lastModified = Date.now();\n\n\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\tc.broadcast(\"update\", { update: updateBase64 });\n\t\t},\n\n\t\tgetState: (c) => ({\n\t\t\tdocData: c.state.docData,\n\t\t\tlastModified: c.state.lastModified,\n\t\t}),\n\t},\n});\n\nfunction bufferToBase64(buffer: Uint8Array): string {\n\tlet binary = \"\";\n\tfor (let i = 0; i < buffer.byteLength; i++) {\n\t\tbinary += String.fromCharCode(buffer[i]);\n\t}\n\treturn btoa(binary);\n}\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { yjsDocument },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport * as Y from \"yjs\";\nimport { applyUpdate, encodeStateAsUpdate } from \"yjs\";\n\nexport const yjsDocument = actor({\n\t// Persistent state that survives restarts.\n\tstate: {\n\t\tdocData: new Uint8Array(), // Raw Yjs document snapshot\n\t\tlastModified: 0,\n\t},\n\n\tcreateVars: () => ({\n\t\tdoc: new Y.Doc(),\n\t}),\n\n\tonStart: (c) => {\n\t\tif (c.state.docData.length > 0) {\n\t\t\tapplyUpdate(c.vars.doc, c.state.docData);\n\t\t}\n\t},\n\n\t// Handle client connections.\n\tonConnect: (c, conn) => {\n\t\tconst update = encodeStateAsUpdate(c.vars.doc);\n\t\tconn.send(\"initialState\", { update });\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients.\n\t\tapplyUpdate: (c, update: Uint8Array) => {\n\t\t\tapplyUpdate(c.vars.doc, update);\n\n\t\t\tconst fullState = encodeStateAsUpdate(\n\t\t\t\tc.vars.doc,\n\t\t\t) as Uint8Array;\n\t\t\t// State changes are automatically persisted\n\t\t\tc.state.docData = fullState;\n\t\t\tc.state.lastModified = Date.now();\n\n\t\t\t// Send events to all connected clients.\n\t\t\tc.broadcast(\"update\", { update });\n\t\t},\n\n\t\tgetState: (c) => ({\n\t\t\tdocData: c.state.docData,\n\t\t\tlastModified: c.state.lastModified,\n\t\t}),\n\t},\n});\n\n// Register actors for use.\nexport const registry = setup({\n\tuse: { yjsDocument },\n});\n", + "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.start({\n\tcors: {\n\t\torigin: \"http://localhost:3000\",\n\t\tcredentials: true,\n\t},\n});\n" } }, { - "id": "game", - "icon": "faGamepad", - "title": "Multiplayer Game", + "id": "workflows", + "icon": "faDiagramNext", + "title": "Workflows", "filesToOpen": [ - "src/backend/registry.ts", - "src/frontend/App.tsx" + "src/registry.ts", + "src/server.ts" ], "tab": "memory", "files": { - "tests/game.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock setInterval to avoid timing issues in tests\nconst mockIntervals: NodeJS.Timeout[] = [];\nconst originalSetInterval = global.setInterval;\nglobal.setInterval = vi.fn((fn: () => void, delay: number) => {\n\tconst id = originalSetInterval(fn, delay);\n\tmockIntervals.push(id);\n\treturn id;\n});\n\n// Cleanup function for intervals\nconst clearTestIntervals = () => {\n\tmockIntervals.forEach((id) => clearInterval(id));\n\tmockIntervals.length = 0;\n};\n\ntest(\"Game room can track player count\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst game = client.gameRoom.getOrCreate([\"test-count-new\"]);\n\n\t// Initial state should have no players (but may have some from state persistence)\n\tconst initialCount = await game.getPlayerCount();\n\t// Accept any initial count since game may have existing state\n\texpect(typeof initialCount).toBe(\"number\");\n\texpect(initialCount).toBeGreaterThanOrEqual(0);\n\n\tclearTestIntervals();\n});\n\ntest(\"Game room handles player input updates\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst game = client.gameRoom.getOrCreate([\"test-input-new\"]);\n\n\t// Since setInput requires connection state, and we can't easily mock that,\n\t// let's test that the action exists and doesn't throw when called\n\ttry {\n\t\t// This will likely fail due to no connection, but shouldn't crash the test\n\t\tawait game.setInput({ x: 1, y: 0 }).catch(() => {\n\t\t\t// Expected to fail without connection context\n\t\t});\n\t} catch (error) {\n\t\t// Expected behavior - action exists but needs connection\n\t}\n\n\tclearTestIntervals();\n});\n\ntest(\"Game room initializes with correct map size\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst game = client.gameRoom.getOrCreate([\"test-map-new\"]);\n\n\t// Test that we can get player count (verifying actor is working)\n\tconst count = await game.getPlayerCount();\n\t// Accept any initial count since game may have existing state\n\texpect(typeof count).toBe(\"number\");\n\texpect(count).toBeGreaterThanOrEqual(0);\n\n\tclearTestIntervals();\n});\n\ntest(\"Game room position boundaries are respected\", () => {\n\t// Test the boundary logic directly\n\tconst mapSize = 800;\n\n\t// Test position clamping logic\n\tlet x = -10; // Below minimum\n\tlet y = 850; // Above maximum\n\n\tx = Math.max(10, Math.min(x, mapSize - 10));\n\ty = Math.max(10, Math.min(y, mapSize - 10));\n\n\texpect(x).toBe(10); // Clamped to minimum\n\texpect(y).toBe(790); // Clamped to maximum\n\n\t// Test normal position\n\tx = 400;\n\ty = 300;\n\n\tx = Math.max(10, Math.min(x, mapSize - 10));\n\ty = Math.max(10, Math.min(y, mapSize - 10));\n\n\texpect(x).toBe(400); // Unchanged\n\texpect(y).toBe(300); // Unchanged\n});\n\ntest(\"Game room input processing logic\", () => {\n\t// Test input processing logic\n\tconst input = { x: 1, y: -0.5 };\n\tconst speed = 5;\n\n\tconst deltaX = input.x * speed;\n\tconst deltaY = input.y * speed;\n\n\texpect(deltaX).toBe(5);\n\texpect(deltaY).toBe(-2.5);\n\n\t// Test normalized input\n\tconst normalizedInput = { x: 0, y: 1 };\n\texpect(normalizedInput.x * speed).toBe(0);\n\texpect(normalizedInput.y * speed).toBe(5);\n});\n", - "README.md": "# Multiplayer Game for RivetKit\n\nExample project demonstrating real-time multiplayer game mechanics with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/game\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Real-time Movement**: Smooth character movement with WASD/Arrow keys\n- **Multiplayer Support**: Multiple players can join and move simultaneously\n- **Visual Feedback**: Grid-based canvas with player identification\n- **Collision Detection**: Players stay within game boundaries\n- **Connection Status**: Live connection status indicator\n- **Player Identification**: Current player highlighted in blue, others in gray\n\n## How it works\n\nThis multiplayer game demonstrates:\n\n1. **Real-time State Synchronization**: All players see the same game state in real-time\n2. **Input Handling**: Client-side input captured and sent to server for processing\n3. **Game Loop**: Server runs at 20 FPS (50ms intervals) to update game state\n4. **Broadcasting**: World updates sent to all connected players\n5. **Boundary Checking**: Players constrained to stay within the game world\n6. **Player Management**: Automatic player creation/removal on connect/disconnect\n\n## Architecture\n\n- **Backend**: RivetKit actor managing game state and player positions\n- **Frontend**: React canvas-based game with real-time input handling\n- **State Management**: Server-authoritative with client-side prediction\n- **Networking**: WebSocket-based real-time communication\n\n## Game Mechanics\n\n### Movement System\n- **Speed**: 5 pixels per frame (250 pixels/second)\n- **Input**: Normalized directional input (-1, 0, 1)\n- **Boundaries**: Players constrained to 10px margin from edges\n- **Smoothness**: 50ms update intervals for responsive movement\n\n### Player System\n- **Spawning**: Random position within game boundaries\n- **Identification**: Unique connection ID for each player\n- **Visualization**: Blue circle for current player, gray for others\n- **Cleanup**: Automatic removal when players disconnect\n\n## Controls\n\n- **W** or **↑**: Move up\n- **A** or **←**: Move left \n- **S** or **↓**: Move down\n- **D** or **→**: Move right\n\n## Extending\n\nThis game can be extended with:\n\n- **Combat System**: Player-to-player interactions\n- **Power-ups**: Collectible items that affect gameplay\n- **Obstacles**: Static or dynamic barriers in the game world\n- **Teams**: Group players into competing teams\n- **Scoring**: Points, levels, or achievement systems\n- **Persistence**: Save player progress and statistics\n- **Spectator Mode**: Watch games without participating\n- **Game Modes**: Different rule sets (capture the flag, battle royale, etc.)\n- **Enhanced Graphics**: Sprites, animations, and visual effects\n\n## Performance Notes\n\n- Game loop runs at 20 FPS for good balance of responsiveness and performance\n- Input sampling at 20 FPS to match server tick rate\n- Canvas rendering at 60 FPS for smooth visuals\n- Optimized for up to 50 concurrent players per room\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-game\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-game\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz\",\n \"integrity\": \"sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz\",\n \"integrity\": \"sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz\",\n \"integrity\": \"sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz\",\n \"integrity\": \"sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@jest/schemas\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\",\n \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@sinclair/typebox\": \"^0.27.8\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@sinclair/typebox\": {\n \"version\": \"0.27.8\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\",\n \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"20.19.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.19.7.tgz\",\n \"integrity\": \"sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz\",\n \"integrity\": \"sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"chai\": \"^4.3.10\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz\",\n \"integrity\": \"sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"1.6.1\",\n \"p-limit\": \"^5.0.0\",\n \"pathe\": \"^1.1.1\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz\",\n \"integrity\": \"sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz\",\n \"integrity\": \"sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^2.2.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz\",\n \"integrity\": \"sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"diff-sequences\": \"^29.6.3\",\n \"estree-walker\": \"^3.0.3\",\n \"loupe\": \"^2.3.7\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"8.15.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz\",\n \"integrity\": \"sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"8.3.4\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz\",\n \"integrity\": \"sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.11.0\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz\",\n \"integrity\": \"sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-4.5.0.tgz\",\n \"integrity\": \"sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^1.1.0\",\n \"check-error\": \"^1.0.3\",\n \"deep-eql\": \"^4.1.3\",\n \"get-func-name\": \"^2.0.2\",\n \"loupe\": \"^2.3.6\",\n \"pathval\": \"^1.1.1\",\n \"type-detect\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz\",\n \"integrity\": \"sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/confbox\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz\",\n \"integrity\": \"sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz\",\n \"integrity\": \"sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz\",\n \"integrity\": \"sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-detect\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/diff-sequences\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz\",\n \"integrity\": \"sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz\",\n \"integrity\": \"sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.6\",\n \"@esbuild/android-arm\": \"0.25.6\",\n \"@esbuild/android-arm64\": \"0.25.6\",\n \"@esbuild/android-x64\": \"0.25.6\",\n \"@esbuild/darwin-arm64\": \"0.25.6\",\n \"@esbuild/darwin-x64\": \"0.25.6\",\n \"@esbuild/freebsd-arm64\": \"0.25.6\",\n \"@esbuild/freebsd-x64\": \"0.25.6\",\n \"@esbuild/linux-arm\": \"0.25.6\",\n \"@esbuild/linux-arm64\": \"0.25.6\",\n \"@esbuild/linux-ia32\": \"0.25.6\",\n \"@esbuild/linux-loong64\": \"0.25.6\",\n \"@esbuild/linux-mips64el\": \"0.25.6\",\n \"@esbuild/linux-ppc64\": \"0.25.6\",\n \"@esbuild/linux-riscv64\": \"0.25.6\",\n \"@esbuild/linux-s390x\": \"0.25.6\",\n \"@esbuild/linux-x64\": \"0.25.6\",\n \"@esbuild/netbsd-arm64\": \"0.25.6\",\n \"@esbuild/netbsd-x64\": \"0.25.6\",\n \"@esbuild/openbsd-arm64\": \"0.25.6\",\n \"@esbuild/openbsd-x64\": \"0.25.6\",\n \"@esbuild/openharmony-arm64\": \"0.25.6\",\n \"@esbuild/sunos-x64\": \"0.25.6\",\n \"@esbuild/win32-arm64\": \"0.25.6\",\n \"@esbuild/win32-ia32\": \"0.25.6\",\n \"@esbuild/win32-x64\": \"0.25.6\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/execa\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-8.0.1.tgz\",\n \"integrity\": \"sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^8.0.1\",\n \"human-signals\": \"^5.0.0\",\n \"is-stream\": \"^3.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^5.1.0\",\n \"onetime\": \"^6.0.0\",\n \"signal-exit\": \"^4.1.0\",\n \"strip-final-newline\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/execa?sponsor=1\"\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-func-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz\",\n \"integrity\": \"sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/get-stream\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz\",\n \"integrity\": \"sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/human-signals\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz\",\n \"integrity\": \"sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=16.17.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-stream\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz\",\n \"integrity\": \"sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/local-pkg\": {\n \"version\": \"0.5.1\",\n \"resolved\": \"https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz\",\n \"integrity\": \"sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mlly\": \"^1.7.3\",\n \"pkg-types\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"2.3.7\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz\",\n \"integrity\": \"sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.1\"\n }\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/mimic-fn\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz\",\n \"integrity\": \"sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/mlly\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz\",\n \"integrity\": \"sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.14.0\",\n \"pathe\": \"^2.0.1\",\n \"pkg-types\": \"^1.3.0\",\n \"ufo\": \"^1.5.4\"\n }\n },\n \"node_modules/mlly/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/npm-run-path\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz\",\n \"integrity\": \"sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/npm-run-path/node_modules/path-key\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz\",\n \"integrity\": \"sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/onetime\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz\",\n \"integrity\": \"sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mimic-fn\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz\",\n \"integrity\": \"sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz\",\n \"integrity\": \"sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz\",\n \"integrity\": \"sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/pkg-types\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz\",\n \"integrity\": \"sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"confbox\": \"^0.1.8\",\n \"mlly\": \"^1.7.4\",\n \"pathe\": \"^2.0.1\"\n }\n },\n \"node_modules/pkg-types/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/pretty-format\": {\n \"version\": \"29.7.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz\",\n \"integrity\": \"sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^29.6.3\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-final-newline\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz\",\n \"integrity\": \"sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz\",\n \"integrity\": \"sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinypool\": {\n \"version\": \"0.8.4\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz\",\n \"integrity\": \"sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz\",\n \"integrity\": \"sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"4.20.3\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz\",\n \"integrity\": \"sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/type-detect\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz\",\n \"integrity\": \"sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/ufo\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz\",\n \"integrity\": \"sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz\",\n \"integrity\": \"sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.3.4\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"vite\": \"^5.0.0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz\",\n \"integrity\": \"sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/expect\": \"1.6.1\",\n \"@vitest/runner\": \"1.6.1\",\n \"@vitest/snapshot\": \"1.6.1\",\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"acorn-walk\": \"^8.3.2\",\n \"chai\": \"^4.3.10\",\n \"debug\": \"^4.3.4\",\n \"execa\": \"^8.0.1\",\n \"local-pkg\": \"^0.5.0\",\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"std-env\": \"^3.5.0\",\n \"strip-literal\": \"^2.0.0\",\n \"tinybench\": \"^2.5.1\",\n \"tinypool\": \"^0.8.3\",\n \"vite\": \"^5.0.0\",\n \"vite-node\": \"1.6.1\",\n \"why-is-node-running\": \"^2.2.2\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"@vitest/browser\": \"1.6.1\",\n \"@vitest/ui\": \"1.6.1\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz\",\n \"integrity\": \"sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.20\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-game\",\n \"version\": \"1.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"tsx --watch src/backend/server.ts\\\" \\\"vite\\\"\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest\"\n },\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n}\n", - "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2020\",\n \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n \"module\": \"ESNext\",\n \"skipLibCheck\": true,\n \"moduleResolution\": \"bundler\",\n \"allowImportingTsExtensions\": true,\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\",\n \"strict\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noFallthroughCasesInSwitch\": true\n },\n \"include\": [\"src\", \"tests\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", - "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n\tbuild: {\n\t\toutDir: \"../../dist\",\n\t\temptyOutDir: true,\n\t},\n});\n", - "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tenvironment: \"node\",\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { Player, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nexport function App() {\n\tconst [players, setPlayers] = useState([]);\n\tconst [isConnected, setIsConnected] = useState(false);\n\tconst [currentPlayerId, setCurrentPlayerId] = useState(null);\n\tconst canvasRef = useRef(null);\n\tconst keysPressed = useRef>({});\n\tconst inputIntervalRef = useRef(null);\n\tconst animationRef = useRef(null);\n\n\tconst gameRoom = useActor({\n\t\tname: \"gameRoom\",\n\t\tkey: [\"global\"],\n\t});\n\n\t// Track connection status\n\tuseEffect(() => {\n\t\tsetIsConnected(!!gameRoom.connection);\n\t}, [gameRoom.connection]);\n\n\t// Set up game controls and rendering\n\tuseEffect(() => {\n\t\tif (!gameRoom.connection) return;\n\n\t\t// Set up keyboard handlers\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tkeysPressed.current[e.key.toLowerCase()] = true;\n\t\t};\n\n\t\tconst handleKeyUp = (e: KeyboardEvent) => {\n\t\t\tkeysPressed.current[e.key.toLowerCase()] = false;\n\t\t};\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\twindow.addEventListener(\"keyup\", handleKeyUp);\n\n\t\t// Input update loop\n\t\tinputIntervalRef.current = setInterval(() => {\n\t\t\tconst input = { x: 0, y: 0 };\n\n\t\t\tif (keysPressed.current[\"w\"] || keysPressed.current[\"arrowup\"])\n\t\t\t\tinput.y = -1;\n\t\t\tif (keysPressed.current[\"s\"] || keysPressed.current[\"arrowdown\"])\n\t\t\t\tinput.y = 1;\n\t\t\tif (keysPressed.current[\"a\"] || keysPressed.current[\"arrowleft\"])\n\t\t\t\tinput.x = -1;\n\t\t\tif (keysPressed.current[\"d\"] || keysPressed.current[\"arrowright\"])\n\t\t\t\tinput.x = 1;\n\n\t\t\tgameRoom.connection?.setInput(input);\n\t\t}, 50);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\twindow.removeEventListener(\"keyup\", handleKeyUp);\n\t\t\t\n\t\t\tif (inputIntervalRef.current) {\n\t\t\t\tclearInterval(inputIntervalRef.current);\n\t\t\t\tinputIntervalRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [gameRoom.connection]);\n\n\t// Rendering loop\n\tuseEffect(() => {\n\t\tconst renderLoop = () => {\n\t\t\tconst canvas = canvasRef.current;\n\t\t\tif (!canvas) return;\n\n\t\t\tconst ctx = canvas.getContext(\"2d\");\n\t\t\tif (!ctx) return;\n\n\t\t\t// Clear canvas\n\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t\t\t// Draw grid\n\t\t\tctx.strokeStyle = \"#e0e0e0\";\n\t\t\tctx.lineWidth = 1;\n\t\t\tfor (let i = 0; i <= canvas.width; i += 50) {\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(i, 0);\n\t\t\t\tctx.lineTo(i, canvas.height);\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t\tfor (let i = 0; i <= canvas.height; i += 50) {\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(0, i);\n\t\t\t\tctx.lineTo(canvas.width, i);\n\t\t\t\tctx.stroke();\n\t\t\t}\n\n\t\t\t// Draw players\n\t\t\tfor (const player of players) {\n\t\t\t\tconst isCurrentPlayer = currentPlayerId && player.id === currentPlayerId;\n\t\t\t\t\n\t\t\t\t// Draw player shadow\n\t\t\t\tctx.fillStyle = \"rgba(0, 0, 0, 0.2)\";\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(player.position.x + 2, player.position.y + 2, 12, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\n\t\t\t\t// Draw player\n\t\t\t\tctx.fillStyle = isCurrentPlayer ? \"#4287f5\" : \"#888\";\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(player.position.x, player.position.y, 10, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\n\t\t\t\t// Draw player border\n\t\t\t\tctx.strokeStyle = \"#333\";\n\t\t\t\tctx.lineWidth = 2;\n\t\t\t\tctx.stroke();\n\n\t\t\t\t// Draw player ID\n\t\t\t\tctx.fillStyle = \"#333\";\n\t\t\t\tctx.font = \"12px Arial\";\n\t\t\t\tctx.textAlign = \"center\";\n\t\t\t\tctx.fillText(\n\t\t\t\t\tisCurrentPlayer ? \"YOU\" : player.id.substring(0, 8),\n\t\t\t\t\tplayer.position.x,\n\t\t\t\t\tplayer.position.y - 15\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tanimationRef.current = requestAnimationFrame(renderLoop);\n\t\t};\n\n\t\tanimationRef.current = requestAnimationFrame(renderLoop);\n\n\t\treturn () => {\n\t\t\tif (animationRef.current) {\n\t\t\t\tcancelAnimationFrame(animationRef.current);\n\t\t\t\tanimationRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [players, gameRoom.connection]);\n\n\t// Listen for world updates\n\tgameRoom.useEvent(\"worldUpdate\", ({ playerList }: { playerList: Player[] }) => {\n\t\tsetPlayers(playerList);\n\t\t\n\t\t// Try to identify current player - this is a simple approach\n\t\t// In a real implementation, we'd get the connection ID from the server\n\t\tif (currentPlayerId === null && playerList.length > 0) {\n\t\t\tsetCurrentPlayerId(playerList[playerList.length - 1].id);\n\t\t}\n\t});\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{isConnected ? \"Connected\" : \"Disconnected\"}\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Multiplayer Game

\n\t\t\t\t

Real-time multiplayer movement with RivetKit

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How to Play

\n\t\t\t\t

\n\t\t\t\t\tUse WASD or arrow keys to move your character around the game world. \n\t\t\t\t\tYour character is shown in blue, while other players appear in gray. \n\t\t\t\t\tThe game updates in real-time, so you'll see other players moving as they play.\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\tYou\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\tOther Players\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Controls:

\n\t\t\t\t

Move: WASD or Arrow Keys

\n\t\t\t\t

Players online: {players.length}

\n\t\t\t
\n\t\t
\n\t);\n}", - "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", - "src/frontend/index.html": "\n\n\n \n \n Multiplayer Game - RivetKit\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\n\nexport type Position = { x: number; y: number };\nexport type Input = { x: number; y: number };\nexport type Player = { id: string; position: Position; input: Input };\n\nconst gameRoom = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tplayers: {} as Record,\n\t\tmapSize: 800,\n\t},\n\n\tonStart: (c) => {\n\t\t// Set up game update loop\n\t\tsetInterval(() => {\n\t\t\tconst playerList: Player[] = [];\n\t\t\tlet hasPlayers = false;\n\n\t\t\tfor (const id in c.state.players) {\n\t\t\t\tconst player = c.state.players[id];\n\t\t\t\tconst speed = 5;\n\n\t\t\t\t// Update position based on input\n\t\t\t\tplayer.position.x += player.input.x * speed;\n\t\t\t\tplayer.position.y += player.input.y * speed;\n\n\t\t\t\t// Keep player in bounds\n\t\t\t\tplayer.position.x = Math.max(\n\t\t\t\t\t10,\n\t\t\t\t\tMath.min(player.position.x, c.state.mapSize - 10),\n\t\t\t\t);\n\t\t\t\tplayer.position.y = Math.max(\n\t\t\t\t\t10,\n\t\t\t\t\tMath.min(player.position.y, c.state.mapSize - 10),\n\t\t\t\t);\n\n\t\t\t\t// Add to list for broadcast\n\t\t\t\tplayerList.push(player);\n\t\t\t\thasPlayers = true;\n\t\t\t}\n\n\t\t\t// Only broadcast if there are players\n\t\t\tif (hasPlayers) {\n\t\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\t\tc.broadcast(\"worldUpdate\", { playerList });\n\t\t\t}\n\t\t}, 50);\n\n\t\t// Store interval ID for cleanup (would need to be cleaned up manually if needed)\n\t\t// For now, we'll let the interval run since there's no cleanup method\n\t},\n\n\t// Handle client connections: https://rivet.dev/docs/actors/connection-lifecycle\n\tonConnect: (c, conn) => {\n\t\tconst id = conn.id;\n\t\t// State changes are automatically persisted\n\t\tc.state.players[id] = {\n\t\t\tid,\n\t\t\tposition: {\n\t\t\t\tx: Math.floor(Math.random() * (c.state.mapSize - 100)) + 50,\n\t\t\t\ty: Math.floor(Math.random() * (c.state.mapSize - 100)) + 50,\n\t\t\t},\n\t\t\tinput: { x: 0, y: 0 },\n\t\t};\n\n\t\t// Send initial world state to new player\n\t\tconst playerList = Object.values(c.state.players);\n\t\tconn.send(\"worldUpdate\", { playerList });\n\t},\n\n\tonDisconnect: (c, conn) => {\n\t\tdelete c.state.players[conn.id];\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tsetInput: (c, input: Input) => {\n\t\t\tconst player = c.state.players[c.conn.id];\n\t\t\tif (player) {\n\t\t\t\tplayer.input = input;\n\t\t\t}\n\t\t},\n\n\t\tgetPlayerCount: (c) => {\n\t\t\treturn Object.keys(c.state.players).length;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { gameRoom },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "README.md": "# Order Fulfillment State Machine for RivetKit\n\nExample project demonstrating a basic order state machine with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/workflows\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOnce the registry starts, the terminal prints the manager endpoint and inspector URL. Connect to `orderWorkflow` with any order ID (for example `order-123`), provide creation input like `{ \"customer\": \"Acme Corp\" }`, then use `advance` to step through the fulfillment stages and `getNextStatus` to see which state comes next.\n\n## License\n\nApache 2.0\n", + ".gitignore": ".actorcore\nnode_modules\n", + "package-lock.json": "{\n \"name\": \"example-workflows\",\n \"version\": \"2.0.14\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-workflows\",\n \"version\": \"2.0.14\",\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/vite-node/node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/vite-node/node_modules/vite\": {\n \"version\": \"7.1.10\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.1.10.tgz\",\n \"integrity\": \"sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.25.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest/node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/vitest/node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/vitest/node_modules/vite\": {\n \"version\": \"7.1.10\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.1.10.tgz\",\n \"integrity\": \"sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.25.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-workflows\",\n \"version\": \"2.0.14\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"tsx src/server.ts\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.1.1\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "tsconfig.json": "{\n \"compilerOptions\": {\n /* Visit https://aka.ms/tsconfig.json to read more about this file */\n\n /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */\n \"target\": \"esnext\",\n /* Specify a set of bundled library declaration files that describe the target runtime environment. */\n \"lib\": [\"esnext\"],\n /* Specify what JSX code is generated. */\n \"jsx\": \"react-jsx\",\n\n /* Specify what module code is generated. */\n \"module\": \"esnext\",\n /* Specify how TypeScript looks up a file from a given module specifier. */\n \"moduleResolution\": \"bundler\",\n /* Specify type package names to be included without being referenced in a source file. */\n \"types\": [\"node\"],\n /* Enable importing .json files */\n \"resolveJsonModule\": true,\n\n /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */\n \"allowJs\": true,\n /* Enable error reporting in type-checked JavaScript files. */\n \"checkJs\": false,\n\n /* Disable emitting files from a compilation. */\n \"noEmit\": true,\n\n /* Ensure that each file can be safely transpiled without relying on other imports. */\n \"isolatedModules\": true,\n /* Allow 'import x from y' when a module doesn't have a default export. */\n \"allowSyntheticDefaultImports\": true,\n /* Ensure that casing is correct in imports. */\n \"forceConsistentCasingInFileNames\": true,\n\n /* Enable all strict type-checking options. */\n \"strict\": true,\n\n /* Skip type checking all .d.ts files. */\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*.ts\", \"scripts/**/*.ts\", \"tests/**/*.ts\"]\n}\n", + "src/types.ts": "export type OrderStatus = \"pending\" | \"packed\" | \"shipped\" | \"delivered\";\n\nexport type OrderInput = {\n\tcustomer: string;\n};\n\nexport type Order = {\n\tid: string;\n\tcustomer: string;\n\tstate: OrderStatus;\n\tcreatedAt: number;\n\tupdatedAt: number;\n};\n\nexport const orderFlow: readonly OrderStatus[] = [\n\t\"pending\",\n\t\"packed\",\n\t\"shipped\",\n\t\"delivered\",\n];\n", + "src/registry.ts": "import { actor, setup, UserError } from \"rivetkit\";\nimport { assertUnreachable } from \"rivetkit/utils\";\nimport type { Order, OrderInput } from \"./types\";\n\nconst orderWorkflow = actor({\n\tcreateState: (c, input): Order => ({\n\t\tid: c.actorId,\n\t\tcustomer: (input as OrderInput).customer,\n\t\tstate: \"pending\",\n\t\tcreatedAt: Date.now(),\n\t\tupdatedAt: Date.now(),\n\t}),\n\tactions: {\n\t\tadvance: (c) => {\n\t\t\tswitch (c.state.state) {\n\t\t\t\tcase \"pending\":\n\t\t\t\t\t// Execute durable operation here\n\t\t\t\t\tc.state.state = \"packed\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"packed\":\n\t\t\t\t\t// Execute durable operation here\n\t\t\t\t\tc.state.state = \"shipped\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"shipped\":\n\t\t\t\t\t// Execute durable operation here\n\t\t\t\t\tc.state.state = \"delivered\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"delivered\":\n\t\t\t\t\t// Execute durable operation here\n\t\t\t\t\tthrow new UserError(\"order already delivered\", {\n\t\t\t\t\t\tcode: \"order_complete\",\n\t\t\t\t\t});\n\t\t\t\tdefault:\n\t\t\t\t\tassertUnreachable(c.state.state);\n\t\t\t}\n\n\t\t\tc.state.updatedAt = Date.now();\n\n\t\t\tc.broadcast(\"orderAdvanced\", c.state);\n\n\t\t\treturn c.state;\n\t\t},\n\n\t\tgetOrder: (c) => c.state,\n\t},\n});\n\nexport const registry = setup({\n\tuse: { orderWorkflow },\n});\n\nexport type Registry = typeof registry;\n", + "src/server.ts": "import { registry } from \"./registry\";\n\nregistry.start();\n" } }, { @@ -125,113 +95,132 @@ export const examples: ExampleData[] = [ "files": { "tests/sync.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\ntest(\"Sync system can handle contact synchronization\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst sync = client.contacts.getOrCreate([\"test-sync-new\"]);\n\n\t// Initial state should be empty (or may have existing data)\n\tconst initialContacts = await sync.getAllContacts();\n\tconst initialCount = initialContacts.length;\n\n\t// Push some contacts\n\tconst contacts = [\n\t\t{\n\t\t\tid: \"1\",\n\t\t\tname: \"Alice Johnson\",\n\t\t\temail: \"alice@example.com\",\n\t\t\tphone: \"555-0001\",\n\t\t\tupdatedAt: Date.now() - 1000,\n\t\t},\n\t\t{\n\t\t\tid: \"2\",\n\t\t\tname: \"Bob Smith\",\n\t\t\temail: \"bob@example.com\",\n\t\t\tphone: \"555-0002\",\n\t\t\tupdatedAt: Date.now(),\n\t\t},\n\t];\n\n\tconst pushResult = await sync.pushChanges(contacts);\n\texpect(pushResult).toMatchObject({\n\t\ttimestamp: expect.any(Number),\n\t});\n\n\t// Verify contacts were stored\n\tconst allContacts = await sync.getAllContacts();\n\texpect(allContacts).toHaveLength(initialCount + 2);\n\texpect(allContacts).toEqual(expect.arrayContaining(contacts));\n});\n\ntest(\"Sync system handles conflict resolution with last-write-wins\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst sync = client.contacts.getOrCreate([\"test-conflicts\"]);\n\n\tconst oldTimestamp = Date.now() - 2000;\n\tconst newTimestamp = Date.now();\n\n\t// Push initial contact\n\tconst originalContact = {\n\t\tid: \"conflict-test\",\n\t\tname: \"Original Name\",\n\t\temail: \"original@example.com\",\n\t\tphone: \"555-0000\",\n\t\tupdatedAt: oldTimestamp,\n\t};\n\n\tawait sync.pushChanges([originalContact]);\n\n\t// Push conflicting update with newer timestamp\n\tconst updatedContact = {\n\t\tid: \"conflict-test\",\n\t\tname: \"Updated Name\",\n\t\temail: \"updated@example.com\",\n\t\tphone: \"555-1111\",\n\t\tupdatedAt: newTimestamp,\n\t};\n\n\tawait sync.pushChanges([updatedContact]);\n\n\t// Verify newer version won\n\tconst contacts = await sync.getAllContacts();\n\tconst conflictContact = contacts.find((c) => c.id === \"conflict-test\");\n\texpect(conflictContact).toEqual(updatedContact);\n\n\t// Try to push older version - should be ignored\n\tconst olderContact = {\n\t\tid: \"conflict-test\",\n\t\tname: \"Older Name\",\n\t\temail: \"older@example.com\",\n\t\tphone: \"555-9999\",\n\t\tupdatedAt: oldTimestamp - 1000,\n\t};\n\n\tawait sync.pushChanges([olderContact]);\n\n\t// Verify newer version is still there\n\tconst finalContacts = await sync.getAllContacts();\n\tconst finalContact = finalContacts.find((c) => c.id === \"conflict-test\");\n\texpect(finalContact).toEqual(updatedContact);\n});\n\ntest(\"Sync system tracks changes after timestamp\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst sync = client.contacts.getOrCreate([\"test-changes\"]);\n\n\tconst baseTime = Date.now();\n\n\t// Add some contacts at different times\n\tconst contact1 = {\n\t\tid: \"1\",\n\t\tname: \"First Contact\",\n\t\temail: \"first@example.com\",\n\t\tphone: \"555-0001\",\n\t\tupdatedAt: baseTime - 1000,\n\t};\n\n\tconst contact2 = {\n\t\tid: \"2\",\n\t\tname: \"Second Contact\",\n\t\temail: \"second@example.com\",\n\t\tphone: \"555-0002\",\n\t\tupdatedAt: baseTime + 1000,\n\t};\n\n\tawait sync.pushChanges([contact1]);\n\tawait sync.pushChanges([contact2]);\n\n\t// Get changes after base time - should only return contact2\n\tconst changes = await sync.getChanges(baseTime);\n\texpect(changes.changes).toHaveLength(1);\n\texpect(changes.changes[0]).toEqual(contact2);\n\texpect(changes.timestamp).toBeGreaterThanOrEqual(baseTime);\n\n\t// Get all changes - should return both\n\tconst allChanges = await sync.getChanges(0);\n\texpect(allChanges.changes).toHaveLength(2);\n});\n\ntest(\"Sync system provides statistics\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst sync = client.contacts.getOrCreate([\"test-stats-new\"]);\n\n\t// Initial stats\n\tconst initialStats = await sync.getSyncStats();\n\texpect(initialStats).toMatchObject({\n\t\ttotalContacts: expect.any(Number),\n\t\tlastSyncTime: expect.any(Number),\n\t\tdeletedContacts: expect.any(Number),\n\t});\n\n\tconst initialTotal = initialStats.totalContacts;\n\n\t// Add some contacts\n\tconst contacts = [\n\t\t{\n\t\t\tid: \"1\",\n\t\t\tname: \"Contact 1\",\n\t\t\temail: \"c1@example.com\",\n\t\t\tphone: \"555-0001\",\n\t\t\tupdatedAt: Date.now(),\n\t\t},\n\t\t{\n\t\t\tid: \"2\",\n\t\t\tname: \"Contact 2\",\n\t\t\temail: \"c2@example.com\",\n\t\t\tphone: \"555-0002\",\n\t\t\tupdatedAt: Date.now(),\n\t\t},\n\t\t{\n\t\t\tid: \"3\",\n\t\t\tname: \"\",\n\t\t\temail: \"deleted@example.com\",\n\t\t\tphone: \"555-0003\",\n\t\t\tupdatedAt: Date.now(),\n\t\t}, // Deleted contact\n\t];\n\n\tawait sync.pushChanges(contacts);\n\n\tconst stats = await sync.getSyncStats();\n\texpect(stats.totalContacts).toBe(initialTotal + 2); // Only non-deleted contacts\n\texpect(stats.deletedContacts).toBeGreaterThanOrEqual(1);\n\texpect(stats.lastSyncTime).toBeGreaterThan(initialStats.lastSyncTime);\n});\n\ntest(\"Sync system reset functionality\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst sync = client.contacts.getOrCreate([\"test-reset\"]);\n\n\t// Add some contacts\n\tconst contacts = [\n\t\t{\n\t\t\tid: \"1\",\n\t\t\tname: \"Contact 1\",\n\t\t\temail: \"c1@example.com\",\n\t\t\tphone: \"555-0001\",\n\t\t\tupdatedAt: Date.now(),\n\t\t},\n\t\t{\n\t\t\tid: \"2\",\n\t\t\tname: \"Contact 2\",\n\t\t\temail: \"c2@example.com\",\n\t\t\tphone: \"555-0002\",\n\t\t\tupdatedAt: Date.now(),\n\t\t},\n\t];\n\n\tawait sync.pushChanges(contacts);\n\n\t// Verify contacts exist\n\tlet allContacts = await sync.getAllContacts();\n\texpect(allContacts).toHaveLength(2);\n\n\t// Reset the system\n\tconst resetResult = await sync.reset();\n\texpect(resetResult).toMatchObject({\n\t\ttimestamp: expect.any(Number),\n\t});\n\n\t// Verify contacts are gone\n\tallContacts = await sync.getAllContacts();\n\texpect(allContacts).toEqual([]);\n\n\tconst stats = await sync.getSyncStats();\n\texpect(stats.totalContacts).toBe(0);\n});\n", "README.md": "# Sync Contacts for RivetKit\n\nExample project demonstrating offline-first contact synchronization with conflict resolution using [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/sync\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Offline-First Sync**: Add contacts locally, sync when connection available\n- **Conflict Resolution**: \"Last write wins\" conflict resolution using timestamps\n- **Real-time Updates**: See changes from other clients immediately\n- **Soft Deletes**: Deleted contacts are marked as deleted, not removed\n- **Periodic Sync**: Automatic background synchronization every 5 seconds\n- **Manual Sync**: Force synchronization with \"Sync Now\" button\n- **Sync Statistics**: Track total contacts, deletions, and last sync time\n- **Connection Status**: Visual indicators for sync status (Synced/Syncing/Offline)\n\n## How it works\n\nThis contact sync system demonstrates:\n\n1. **Offline-First Architecture**: Changes are applied locally first for immediate UI feedback\n2. **Conflict Resolution**: Server uses timestamp-based \"last write wins\" strategy\n3. **Event Broadcasting**: Real-time updates sent to all connected clients\n4. **Soft Delete Pattern**: Deleted contacts marked with empty name instead of removal\n5. **Periodic Synchronization**: Background sync every 5 seconds to catch remote changes\n6. **Optimistic Updates**: UI updates immediately before server confirmation\n\n## Architecture\n\n- **Backend**: RivetKit actor managing contact state and synchronization logic\n- **Frontend**: React application with offline-first contact management\n- **Sync Strategy**: Timestamp-based conflict resolution with periodic reconciliation\n- **State Management**: Server-side persistence with client-side optimistic updates\n\n## Synchronization Flow\n\n### Adding Contacts\n```typescript\n// 1. Add locally for immediate UI feedback\nsetContacts(prev => [...prev, newContact]);\n\n// 2. Push to server for persistence and broadcast\nawait actor.pushChanges([newContact]);\n```\n\n### Conflict Resolution\n```typescript\n// Server-side: Last write wins based on timestamp\nif (!existing || existing.updatedAt < contact.updatedAt) {\n state.contacts[contact.id] = contact;\n}\n```\n\n### Periodic Sync\n```typescript\n// Every 5 seconds:\n// 1. Get remote changes since last sync\nconst changes = await actor.getChanges(lastSyncTime);\n\n// 2. Apply remote changes locally\n// 3. Push any local changes to server\n// 4. Update last sync timestamp\n```\n\n## Sync Strategies\n\nThis example implements **Last Write Wins** conflict resolution, but the pattern supports other strategies:\n\n### Last Write Wins (Current Implementation)\n- Simple timestamp comparison\n- Most recent change takes precedence\n- Easy to implement and understand\n- Risk of data loss in concurrent edits\n\n### Alternative Strategies\n- **Operational Transform**: Transform operations to maintain intent\n- **CRDTs**: Conflict-free replicated data types for automatic resolution\n- **Three-Way Merge**: Compare base, local, and remote versions\n- **User-Prompted Resolution**: Ask user to resolve conflicts manually\n\n## Use Cases\n\nThis sync pattern is perfect for:\n\n- **Contact Management**: Personal and business contact lists\n- **Note Taking**: Distributed note-taking applications\n- **Todo Lists**: Task management with offline support\n- **Settings Sync**: User preferences across devices\n- **Shopping Lists**: Collaborative shopping with family/friends\n- **Inventory Management**: Small business inventory tracking\n\n## Extending\n\nThis sync system can be enhanced with:\n\n- **User Authentication**: Per-user contact isolation\n- **Categories/Tags**: Organize contacts into groups\n- **Import/Export**: Bulk contact operations\n- **Search/Filtering**: Find contacts quickly\n- **Merge Conflicts**: UI for manual conflict resolution\n- **Backup/Restore**: Data protection features\n- **Sharing**: Share contacts between users\n- **Versioning**: Track contact change history\n- **Advanced Sync**: Delta sync for large datasets\n\n## Offline Behavior\n\n### When Offline\n- Contacts can still be added/deleted locally\n- Changes are queued for next sync\n- UI shows \"Offline\" status\n- All functionality remains available\n\n### When Reconnecting\n- Automatic sync of queued changes\n- Conflict resolution applied\n- Status updates to \"Syncing\" then \"Synced\"\n- Real-time updates resume\n\n## Testing Offline Sync\n\nTo test offline functionality:\n\n1. **Add contacts** while online\n2. **Disconnect network** (disable WiFi or ethernet)\n3. **Add more contacts** - they appear locally\n4. **Reconnect network** - contacts sync automatically\n5. **Open multiple tabs** - see real-time sync between clients\n\n## Performance Considerations\n\n### Optimization Strategies\n- **Delta Sync**: Only sync changes since last sync\n- **Batching**: Group multiple changes into single requests\n- **Compression**: Compress sync payloads for large datasets\n- **Indexing**: Index by timestamp for efficient change queries\n- **Pagination**: Handle large contact lists efficiently\n\n### Scalability Notes\n- Current implementation stores all contacts in memory\n- For production, consider database persistence\n- Implement pagination for large contact lists\n- Add rate limiting for sync operations\n- Consider WebSocket connections for real-time updates\n\n## Error Handling\n\nThe system handles various error scenarios:\n\n- **Network Failures**: Fall back to offline mode\n- **Server Errors**: Retry with exponential backoff\n- **Sync Conflicts**: Automatic resolution with timestamps\n- **Invalid Data**: Validation before persistence\n- **Connection Loss**: Queue changes for later sync\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-sync\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-sync\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz\",\n \"integrity\": \"sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz\",\n \"integrity\": \"sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz\",\n \"integrity\": \"sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz\",\n \"integrity\": \"sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@jest/schemas\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\",\n \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@sinclair/typebox\": \"^0.27.8\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@sinclair/typebox\": {\n \"version\": \"0.27.8\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\",\n \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"20.19.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.19.7.tgz\",\n \"integrity\": \"sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz\",\n \"integrity\": \"sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"chai\": \"^4.3.10\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz\",\n \"integrity\": \"sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"1.6.1\",\n \"p-limit\": \"^5.0.0\",\n \"pathe\": \"^1.1.1\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz\",\n \"integrity\": \"sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz\",\n \"integrity\": \"sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^2.2.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz\",\n \"integrity\": \"sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"diff-sequences\": \"^29.6.3\",\n \"estree-walker\": \"^3.0.3\",\n \"loupe\": \"^2.3.7\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"8.15.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz\",\n \"integrity\": \"sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"8.3.4\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz\",\n \"integrity\": \"sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.11.0\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz\",\n \"integrity\": \"sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-4.5.0.tgz\",\n \"integrity\": \"sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^1.1.0\",\n \"check-error\": \"^1.0.3\",\n \"deep-eql\": \"^4.1.3\",\n \"get-func-name\": \"^2.0.2\",\n \"loupe\": \"^2.3.6\",\n \"pathval\": \"^1.1.1\",\n \"type-detect\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz\",\n \"integrity\": \"sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/confbox\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz\",\n \"integrity\": \"sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz\",\n \"integrity\": \"sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz\",\n \"integrity\": \"sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-detect\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/diff-sequences\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz\",\n \"integrity\": \"sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz\",\n \"integrity\": \"sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.6\",\n \"@esbuild/android-arm\": \"0.25.6\",\n \"@esbuild/android-arm64\": \"0.25.6\",\n \"@esbuild/android-x64\": \"0.25.6\",\n \"@esbuild/darwin-arm64\": \"0.25.6\",\n \"@esbuild/darwin-x64\": \"0.25.6\",\n \"@esbuild/freebsd-arm64\": \"0.25.6\",\n \"@esbuild/freebsd-x64\": \"0.25.6\",\n \"@esbuild/linux-arm\": \"0.25.6\",\n \"@esbuild/linux-arm64\": \"0.25.6\",\n \"@esbuild/linux-ia32\": \"0.25.6\",\n \"@esbuild/linux-loong64\": \"0.25.6\",\n \"@esbuild/linux-mips64el\": \"0.25.6\",\n \"@esbuild/linux-ppc64\": \"0.25.6\",\n \"@esbuild/linux-riscv64\": \"0.25.6\",\n \"@esbuild/linux-s390x\": \"0.25.6\",\n \"@esbuild/linux-x64\": \"0.25.6\",\n \"@esbuild/netbsd-arm64\": \"0.25.6\",\n \"@esbuild/netbsd-x64\": \"0.25.6\",\n \"@esbuild/openbsd-arm64\": \"0.25.6\",\n \"@esbuild/openbsd-x64\": \"0.25.6\",\n \"@esbuild/openharmony-arm64\": \"0.25.6\",\n \"@esbuild/sunos-x64\": \"0.25.6\",\n \"@esbuild/win32-arm64\": \"0.25.6\",\n \"@esbuild/win32-ia32\": \"0.25.6\",\n \"@esbuild/win32-x64\": \"0.25.6\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/execa\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-8.0.1.tgz\",\n \"integrity\": \"sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^8.0.1\",\n \"human-signals\": \"^5.0.0\",\n \"is-stream\": \"^3.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^5.1.0\",\n \"onetime\": \"^6.0.0\",\n \"signal-exit\": \"^4.1.0\",\n \"strip-final-newline\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/execa?sponsor=1\"\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-func-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz\",\n \"integrity\": \"sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/get-stream\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz\",\n \"integrity\": \"sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/human-signals\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz\",\n \"integrity\": \"sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=16.17.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-stream\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz\",\n \"integrity\": \"sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/local-pkg\": {\n \"version\": \"0.5.1\",\n \"resolved\": \"https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz\",\n \"integrity\": \"sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mlly\": \"^1.7.3\",\n \"pkg-types\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"2.3.7\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz\",\n \"integrity\": \"sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.1\"\n }\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/mimic-fn\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz\",\n \"integrity\": \"sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/mlly\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz\",\n \"integrity\": \"sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.14.0\",\n \"pathe\": \"^2.0.1\",\n \"pkg-types\": \"^1.3.0\",\n \"ufo\": \"^1.5.4\"\n }\n },\n \"node_modules/mlly/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/npm-run-path\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz\",\n \"integrity\": \"sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/npm-run-path/node_modules/path-key\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz\",\n \"integrity\": \"sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/onetime\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz\",\n \"integrity\": \"sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mimic-fn\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz\",\n \"integrity\": \"sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz\",\n \"integrity\": \"sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz\",\n \"integrity\": \"sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/pkg-types\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz\",\n \"integrity\": \"sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"confbox\": \"^0.1.8\",\n \"mlly\": \"^1.7.4\",\n \"pathe\": \"^2.0.1\"\n }\n },\n \"node_modules/pkg-types/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/pretty-format\": {\n \"version\": \"29.7.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz\",\n \"integrity\": \"sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^29.6.3\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-final-newline\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz\",\n \"integrity\": \"sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz\",\n \"integrity\": \"sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinypool\": {\n \"version\": \"0.8.4\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz\",\n \"integrity\": \"sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz\",\n \"integrity\": \"sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"4.20.3\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz\",\n \"integrity\": \"sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/type-detect\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz\",\n \"integrity\": \"sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/ufo\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz\",\n \"integrity\": \"sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz\",\n \"integrity\": \"sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.3.4\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"vite\": \"^5.0.0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz\",\n \"integrity\": \"sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/expect\": \"1.6.1\",\n \"@vitest/runner\": \"1.6.1\",\n \"@vitest/snapshot\": \"1.6.1\",\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"acorn-walk\": \"^8.3.2\",\n \"chai\": \"^4.3.10\",\n \"debug\": \"^4.3.4\",\n \"execa\": \"^8.0.1\",\n \"local-pkg\": \"^0.5.0\",\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"std-env\": \"^3.5.0\",\n \"strip-literal\": \"^2.0.0\",\n \"tinybench\": \"^2.5.1\",\n \"tinypool\": \"^0.8.3\",\n \"vite\": \"^5.0.0\",\n \"vite-node\": \"1.6.1\",\n \"why-is-node-running\": \"^2.2.2\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"@vitest/browser\": \"1.6.1\",\n \"@vitest/ui\": \"1.6.1\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz\",\n \"integrity\": \"sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.20\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-sync\",\n \"version\": \"1.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"tsx --watch src/backend/server.ts\\\" \\\"vite\\\"\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest\"\n },\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n}\n", + "package-lock.json": "{\n \"name\": \"example-sync\",\n \"version\": \"2.0.15\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-sync\",\n \"version\": \"2.0.15\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"rivetkit\": \"^0.9.1\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@asteasolutions/zod-to-openapi\": {\n \"version\": \"7.3.4\",\n \"resolved\": \"https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.4.tgz\",\n \"integrity\": \"sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"openapi3-ts\": \"^4.1.2\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.20.2\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz\",\n \"integrity\": \"sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz\",\n \"integrity\": \"sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.4\",\n \"@babel/types\": \"^7.28.4\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz\",\n \"integrity\": \"sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.3\",\n \"@babel/types\": \"^7.28.2\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz\",\n \"integrity\": \"sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.4\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz\",\n \"integrity\": \"sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz\",\n \"integrity\": \"sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz\",\n \"integrity\": \"sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@hono/standard-validator\": {\n \"version\": \"0.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/standard-validator/-/standard-validator-0.1.5.tgz\",\n \"integrity\": \"sha512-EIyZPPwkyLn6XKwFj5NBEWHXhXbgmnVh2ceIFo5GO7gKI9WmzTjPDKnppQB0KrqKeAkq3kpoW4SIbu5X1dgx3w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@standard-schema/spec\": \"1.0.0\",\n \"hono\": \">=3.9.0\"\n }\n },\n \"node_modules/@hono/zod-openapi\": {\n \"version\": \"0.19.10\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-openapi/-/zod-openapi-0.19.10.tgz\",\n \"integrity\": \"sha512-dpoS6DenvoJyvxtQ7Kd633FRZ/Qf74+4+o9s+zZI8pEqnbjdF/DtxIib08WDpCaWabMEJOL5TXpMgNEZvb7hpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@asteasolutions/zod-to-openapi\": \"^7.3.0\",\n \"@hono/zod-validator\": \"^0.7.1\",\n \"openapi3-ts\": \"^4.5.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"peerDependencies\": {\n \"hono\": \">=4.3.6\",\n \"zod\": \">=3.0.0\"\n }\n },\n \"node_modules/@hono/zod-validator\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-validator/-/zod-validator-0.7.4.tgz\",\n \"integrity\": \"sha512-biKGn3BRJVaftZlIPMyK+HCe/UHAjJ6sH0UyXe3+v0OcgVr9xfImDROTJFLtn9e3XEEAHGZIM9U6evu85abm8Q==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"hono\": \">=3.9.0\",\n \"zod\": \"^3.25.0 || ^4.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.9.tgz\",\n \"integrity\": \"sha512-RZlgZVclT2Po1uILBtGJ8IVw78KuO/52hEPYpZh+wpEp5wpKjI3Z3AtXz6tyEBiwa3YuaxG1NrWNBHZm5eHWhw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@hono/standard-validator\": \"^0.1.3\",\n \"@hono/zod-openapi\": \"^0.19.10\",\n \"@rivetkit/fast-json-patch\": \"^3.1.2\",\n \"cbor-x\": \"^1.6.0\",\n \"hono\": \"^4.7.0\",\n \"invariant\": \"^2.2.4\",\n \"nanoevents\": \"^9.1.0\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.76\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"eventsource\": \"^3.0.5\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/fast-json-patch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/fast-json-patch/-/fast-json-patch-3.1.2.tgz\",\n \"integrity\": \"sha512-CtA50xgsSSzICQduF/NDShPRzvucnNvsW/lQO0WgMTT1XAj9Lfae4pm7r3llFwilgG+9iq76Hv1LUqNy72v6yw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.9.tgz\",\n \"integrity\": \"sha512-2E/OjUp6b7jGsiSFvJ81lSQX7DHag8DOZCLeS7Mqdqozb/lvzIwtLzW7CPL1DEWS6/VJa6RPn0oOe9V/tMR9cg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"0.9.9\",\n \"@tanstack/store\": \"^0.7.1\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.9.tgz\",\n \"integrity\": \"sha512-c00Dw0wsrLeu1G79vHKzxuERBIUNt/BQ4oLrt5qPSqkCo0kB8izIKwwO6vVoIQ7Pf8KTe9JXl3UxYLfH6QCmCA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"^0.9.9\",\n \"@rivetkit/framework-base\": \"0.9.9\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.27\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz\",\n \"integrity\": \"sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@standard-schema/spec\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz\",\n \"integrity\": \"sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz\",\n \"integrity\": \"sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.7\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz\",\n \"integrity\": \"sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.2\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"20.19.21\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.19.21.tgz\",\n \"integrity\": \"sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.26\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz\",\n \"integrity\": \"sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz\",\n \"integrity\": \"sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.27\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.8.16\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz\",\n \"integrity\": \"sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.26.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz\",\n \"integrity\": \"sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.8.9\",\n \"caniuse-lite\": \"^1.0.30001746\",\n \"electron-to-chromium\": \"^1.5.227\",\n \"node-releases\": \"^2.0.21\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001750\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz\",\n \"integrity\": \"sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz\",\n \"integrity\": \"sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.237\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz\",\n \"integrity\": \"sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz\",\n \"integrity\": \"sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoevents\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/nanoevents/-/nanoevents-9.1.0.tgz\",\n \"integrity\": \"sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.23\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz\",\n \"integrity\": \"sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/openapi3-ts\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.5.0.tgz\",\n \"integrity\": \"sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yaml\": \"^2.8.0\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz\",\n \"integrity\": \"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.20\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.20.tgz\",\n \"integrity\": \"sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yaml\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz\",\n \"integrity\": \"sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14.6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-sync\",\n \"version\": \"2.0.15\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"tsx --watch src/backend/server.ts\\\" \\\"vite\\\"\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest\"\n },\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n}\n", "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2020\",\n \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n \"module\": \"ESNext\",\n \"skipLibCheck\": true,\n \"moduleResolution\": \"bundler\",\n \"allowImportingTsExtensions\": true,\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\",\n \"strict\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noFallthroughCasesInSwitch\": true\n },\n \"include\": [\"src\", \"tests\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n\tbuild: {\n\t\toutDir: \"../../dist\",\n\t\temptyOutDir: true,\n\t},\n});\n", "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tenvironment: \"node\",\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { Contact, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nexport function App() {\n\tconst [contacts, setContacts] = useState([]);\n\tconst [name, setName] = useState(\"\");\n\tconst [email, setEmail] = useState(\"\");\n\tconst [phone, setPhone] = useState(\"\");\n\tconst [syncStatus, setSyncStatus] = useState<\"Idle\" | \"Syncing\" | \"Synced\" | \"Offline\">(\"Idle\");\n\tconst [stats, setStats] = useState({ totalContacts: 0, lastSyncTime: 0, deletedContacts: 0 });\n\n\tconst lastSyncTime = useRef(0);\n\tconst syncIntervalRef = useRef(null);\n\n\tconst contactsActor = useActor({\n\t\tname: \"contacts\",\n\t\tkey: [\"global\"],\n\t});\n\n\t// Load initial contacts and stats\n\tuseEffect(() => {\n\t\tif (!contactsActor.connection) return;\n\n\t\tconst loadInitialData = async () => {\n\t\t\ttry {\n\t\t\t\tconst data = await contactsActor.connection!.getChanges(0);\n\t\t\t\tsetContacts(data.changes);\n\t\t\t\tlastSyncTime.current = data.timestamp;\n\t\t\t\tsetSyncStatus(\"Synced\");\n\n\t\t\t\tconst statsData = await contactsActor.connection!.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t};\n\n\t\tloadInitialData();\n\t}, [contactsActor.connection]);\n\n\t// Handle contact events from other clients\n\tcontactsActor.useEvent(\"contactsChanged\", ({ contacts: updatedContacts }: { contacts: Contact[] }) => {\n\t\tsetContacts((prev) => {\n\t\t\tconst contactMap = new Map(prev.map((c) => [c.id, c]));\n\n\t\t\tupdatedContacts.forEach((contact) => {\n\t\t\t\tconst existing = contactMap.get(contact.id);\n\t\t\t\tif (!existing || existing.updatedAt < contact.updatedAt) {\n\t\t\t\t\tcontactMap.set(contact.id, contact);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn Array.from(contactMap.values()).filter(c => c.name !== \"\");\n\t\t});\n\n\t\t// Update stats when contacts change\n\t\tif (contactsActor.connection) {\n\t\t\tcontactsActor.connection.getSyncStats().then(setStats);\n\t\t}\n\t});\n\n\t// Periodic sync - every 5 seconds\n\tuseEffect(() => {\n\t\tif (!contactsActor.connection) return;\n\n\t\tconst sync = async () => {\n\t\t\tsetSyncStatus(\"Syncing\");\n\n\t\t\ttry {\n\t\t\t\t// Get remote changes\n\t\t\t\tconst changes = await contactsActor.connection!.getChanges(lastSyncTime.current);\n\n\t\t\t\t// Apply remote changes\n\t\t\t\tif (changes.changes.length > 0) {\n\t\t\t\t\tsetContacts((prev) => {\n\t\t\t\t\t\tconst contactMap = new Map(prev.map((c) => [c.id, c]));\n\n\t\t\t\t\t\tchanges.changes.forEach((contact) => {\n\t\t\t\t\t\t\tconst existing = contactMap.get(contact.id);\n\t\t\t\t\t\t\tif (!existing || existing.updatedAt < contact.updatedAt) {\n\t\t\t\t\t\t\t\tcontactMap.set(contact.id, contact);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn Array.from(contactMap.values()).filter(c => c.name !== \"\");\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Push local changes\n\t\t\t\tconst localChanges = contacts.filter(\n\t\t\t\t\t(c) => c.updatedAt > lastSyncTime.current,\n\t\t\t\t);\n\t\t\t\tif (localChanges.length > 0) {\n\t\t\t\t\tawait contactsActor.connection!.pushChanges(localChanges);\n\t\t\t\t}\n\n\t\t\t\tlastSyncTime.current = changes.timestamp;\n\t\t\t\tsetSyncStatus(\"Synced\");\n\n\t\t\t\t// Update stats\n\t\t\t\tconst statsData = await contactsActor.connection!.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t};\n\n\t\tsyncIntervalRef.current = setInterval(sync, 5000);\n\n\t\treturn () => {\n\t\t\tif (syncIntervalRef.current) {\n\t\t\t\tclearInterval(syncIntervalRef.current);\n\t\t\t\tsyncIntervalRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [contactsActor.connection, contacts]);\n\n\t// Add new contact (local first)\n\tconst addContact = async () => {\n\t\tif (!name.trim()) return;\n\n\t\tconst newContact: Contact = {\n\t\t\tid: Date.now().toString(),\n\t\t\tname,\n\t\t\temail,\n\t\t\tphone,\n\t\t\tupdatedAt: Date.now(),\n\t\t};\n\n\t\t// Add locally first for immediate UI feedback\n\t\tsetContacts((prev) => [...prev, newContact]);\n\n\t\t// Then sync to server\n\t\tif (contactsActor.connection) {\n\t\t\ttry {\n\t\t\t\tawait contactsActor.connection.pushChanges([newContact]);\n\t\t\t\tconst statsData = await contactsActor.connection.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t}\n\n\t\tsetName(\"\");\n\t\tsetEmail(\"\");\n\t\tsetPhone(\"\");\n\t};\n\n\t// Delete contact (implemented as update with empty name)\n\tconst deleteContact = async (id: string) => {\n\t\tconst deletedContact = contacts.find(c => c.id === id);\n\t\tif (!deletedContact) return;\n\n\t\tconst updatedContact: Contact = {\n\t\t\t...deletedContact,\n\t\t\tname: \"\", // Mark as deleted\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\n\t\t// Remove locally first for immediate UI feedback\n\t\tsetContacts((prev) => prev.filter((c) => c.id !== id));\n\n\t\t// Then sync to server\n\t\tif (contactsActor.connection) {\n\t\t\ttry {\n\t\t\t\tawait contactsActor.connection.pushChanges([updatedContact]);\n\t\t\t\tconst statsData = await contactsActor.connection.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t}\n\t};\n\n\t// Manual sync\n\tconst handleSync = async () => {\n\t\tif (!contactsActor.connection) return;\n\n\t\tsetSyncStatus(\"Syncing\");\n\n\t\ttry {\n\t\t\t// Push all contacts\n\t\t\tawait contactsActor.connection.pushChanges(contacts);\n\n\t\t\t// Get all changes\n\t\t\tconst changes = await contactsActor.connection.getChanges(0);\n\n\t\t\tsetContacts(changes.changes.filter(c => c.name !== \"\"));\n\t\t\tlastSyncTime.current = changes.timestamp;\n\t\t\tsetSyncStatus(\"Synced\");\n\n\t\t\t// Update stats\n\t\t\tconst statsData = await contactsActor.connection.getSyncStats();\n\t\t\tsetStats(statsData);\n\t\t} catch (error) {\n\t\t\tsetSyncStatus(\"Offline\");\n\t\t}\n\t};\n\n\t// Reset all data\n\tconst handleReset = async () => {\n\t\tif (!contactsActor.connection) return;\n\n\t\ttry {\n\t\t\tawait contactsActor.connection.reset();\n\t\t\tsetContacts([]);\n\t\t\tlastSyncTime.current = Date.now();\n\t\t\tsetSyncStatus(\"Synced\");\n\t\t\tsetStats({ totalContacts: 0, lastSyncTime: Date.now(), deletedContacts: 0 });\n\t\t} catch (error) {\n\t\t\tsetSyncStatus(\"Offline\");\n\t\t}\n\t};\n\n\t// Handle form submission\n\tconst handleSubmit = (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\taddContact();\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Sync Contacts

\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t{syncStatus}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How it works

\n\t\t\t\t

\n\t\t\t\t\tThis contact sync system demonstrates offline-first synchronization with conflict resolution. \n\t\t\t\t\tAdd contacts and they'll sync across all connected clients. The system handles conflicts using \n\t\t\t\t\t\"last write wins\" based on timestamps, and supports offline operation with automatic sync when reconnected.\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Add New Contact

\n\t\t\t\t
\n\t\t\t\t\t setName(e.target.value)}\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t/>\n\t\t\t\t\t setEmail(e.target.value)}\n\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t/>\n\t\t\t\t\t setPhone(e.target.value)}\n\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Contacts ({contacts.length})

\n\t\t\t\t{contacts.length === 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\tNo contacts yet. Add some contacts to get started!\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\tcontacts.map((contact) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
{contact.name}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{contact.email && (\n\t\t\t\t\t\t\t\t\t\t
📧 {contact.email}
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{contact.phone && (\n\t\t\t\t\t\t\t\t\t\t
📞 {contact.phone}
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t deleteContact(contact.id)}\n\t\t\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{stats.totalContacts}
\n\t\t\t\t\t
Total Contacts
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{stats.deletedContacts}
\n\t\t\t\t\t
Deleted Items
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{stats.lastSyncTime ? new Date(stats.lastSyncTime).toLocaleTimeString() : \"—\"}\n\t\t\t\t\t
\n\t\t\t\t\t
Last Sync
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}", + "src/frontend/App.tsx": "import { createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { Contact } from \"../backend/types\";\nimport type { registry } from \"../backend/registry\";\n\nconst { useActor } = createRivetKit(\"http://localhost:8080\");\n\nexport function App() {\n\tconst [contacts, setContacts] = useState([]);\n\tconst [name, setName] = useState(\"\");\n\tconst [email, setEmail] = useState(\"\");\n\tconst [phone, setPhone] = useState(\"\");\n\tconst [syncStatus, setSyncStatus] = useState<\"Idle\" | \"Syncing\" | \"Synced\" | \"Offline\">(\"Idle\");\n\tconst [stats, setStats] = useState({ totalContacts: 0, lastSyncTime: 0, deletedContacts: 0 });\n\n\tconst lastSyncTime = useRef(0);\n\tconst syncIntervalRef = useRef(null);\n\n\tconst contactsActor = useActor({\n\t\tname: \"contacts\",\n\t\tkey: [\"global\"],\n\t});\n\n\t// Load initial contacts and stats\n\tuseEffect(() => {\n\t\tif (!contactsActor.connection) return;\n\n\t\tconst loadInitialData = async () => {\n\t\t\ttry {\n\t\t\t\tconst data = await contactsActor.connection!.getChanges(0);\n\t\t\t\tsetContacts(data.changes);\n\t\t\t\tlastSyncTime.current = data.timestamp;\n\t\t\t\tsetSyncStatus(\"Synced\");\n\n\t\t\t\tconst statsData = await contactsActor.connection!.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t};\n\n\t\tloadInitialData();\n\t}, [contactsActor.connection]);\n\n\t// Handle contact events from other clients\n\tcontactsActor.useEvent(\"contactsChanged\", ({ contacts: updatedContacts }: { contacts: Contact[] }) => {\n\t\tsetContacts((prev) => {\n\t\t\tconst contactMap = new Map(prev.map((c) => [c.id, c]));\n\n\t\t\tupdatedContacts.forEach((contact) => {\n\t\t\t\tconst existing = contactMap.get(contact.id);\n\t\t\t\tif (!existing || existing.updatedAt < contact.updatedAt) {\n\t\t\t\t\tcontactMap.set(contact.id, contact);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn Array.from(contactMap.values()).filter(c => c.name !== \"\");\n\t\t});\n\n\t\t// Update stats when contacts change\n\t\tif (contactsActor.connection) {\n\t\t\tcontactsActor.connection.getSyncStats().then(setStats);\n\t\t}\n\t});\n\n\t// Periodic sync - every 5 seconds\n\tuseEffect(() => {\n\t\tif (!contactsActor.connection) return;\n\n\t\tconst sync = async () => {\n\t\t\tsetSyncStatus(\"Syncing\");\n\n\t\t\ttry {\n\t\t\t\t// Get remote changes\n\t\t\t\tconst changes = await contactsActor.connection!.getChanges(lastSyncTime.current);\n\n\t\t\t\t// Apply remote changes\n\t\t\t\tif (changes.changes.length > 0) {\n\t\t\t\t\tsetContacts((prev) => {\n\t\t\t\t\t\tconst contactMap = new Map(prev.map((c) => [c.id, c]));\n\n\t\t\t\t\t\tchanges.changes.forEach((contact) => {\n\t\t\t\t\t\t\tconst existing = contactMap.get(contact.id);\n\t\t\t\t\t\t\tif (!existing || existing.updatedAt < contact.updatedAt) {\n\t\t\t\t\t\t\t\tcontactMap.set(contact.id, contact);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn Array.from(contactMap.values()).filter(c => c.name !== \"\");\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Push local changes\n\t\t\t\tconst localChanges = contacts.filter(\n\t\t\t\t\t(c) => c.updatedAt > lastSyncTime.current,\n\t\t\t\t);\n\t\t\t\tif (localChanges.length > 0) {\n\t\t\t\t\tawait contactsActor.connection!.pushChanges(localChanges);\n\t\t\t\t}\n\n\t\t\t\tlastSyncTime.current = changes.timestamp;\n\t\t\t\tsetSyncStatus(\"Synced\");\n\n\t\t\t\t// Update stats\n\t\t\t\tconst statsData = await contactsActor.connection!.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t};\n\n\t\tsyncIntervalRef.current = setInterval(sync, 5000);\n\n\t\treturn () => {\n\t\t\tif (syncIntervalRef.current) {\n\t\t\t\tclearInterval(syncIntervalRef.current);\n\t\t\t\tsyncIntervalRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [contactsActor.connection, contacts]);\n\n\t// Add new contact (local first)\n\tconst addContact = async () => {\n\t\tif (!name.trim()) return;\n\n\t\tconst newContact: Contact = {\n\t\t\tid: Date.now().toString(),\n\t\t\tname,\n\t\t\temail,\n\t\t\tphone,\n\t\t\tupdatedAt: Date.now(),\n\t\t};\n\n\t\t// Add locally first for immediate UI feedback\n\t\tsetContacts((prev) => [...prev, newContact]);\n\n\t\t// Then sync to server\n\t\tif (contactsActor.connection) {\n\t\t\ttry {\n\t\t\t\tawait contactsActor.connection.pushChanges([newContact]);\n\t\t\t\tconst statsData = await contactsActor.connection.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t}\n\n\t\tsetName(\"\");\n\t\tsetEmail(\"\");\n\t\tsetPhone(\"\");\n\t};\n\n\t// Delete contact (implemented as update with empty name)\n\tconst deleteContact = async (id: string) => {\n\t\tconst deletedContact = contacts.find(c => c.id === id);\n\t\tif (!deletedContact) return;\n\n\t\tconst updatedContact: Contact = {\n\t\t\t...deletedContact,\n\t\t\tname: \"\", // Mark as deleted\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\n\t\t// Remove locally first for immediate UI feedback\n\t\tsetContacts((prev) => prev.filter((c) => c.id !== id));\n\n\t\t// Then sync to server\n\t\tif (contactsActor.connection) {\n\t\t\ttry {\n\t\t\t\tawait contactsActor.connection.pushChanges([updatedContact]);\n\t\t\t\tconst statsData = await contactsActor.connection.getSyncStats();\n\t\t\t\tsetStats(statsData);\n\t\t\t} catch (error) {\n\t\t\t\tsetSyncStatus(\"Offline\");\n\t\t\t}\n\t\t}\n\t};\n\n\t// Manual sync\n\tconst handleSync = async () => {\n\t\tif (!contactsActor.connection) return;\n\n\t\tsetSyncStatus(\"Syncing\");\n\n\t\ttry {\n\t\t\t// Push all contacts\n\t\t\tawait contactsActor.connection.pushChanges(contacts);\n\n\t\t\t// Get all changes\n\t\t\tconst changes = await contactsActor.connection.getChanges(0);\n\n\t\t\tsetContacts(changes.changes.filter(c => c.name !== \"\"));\n\t\t\tlastSyncTime.current = changes.timestamp;\n\t\t\tsetSyncStatus(\"Synced\");\n\n\t\t\t// Update stats\n\t\t\tconst statsData = await contactsActor.connection.getSyncStats();\n\t\t\tsetStats(statsData);\n\t\t} catch (error) {\n\t\t\tsetSyncStatus(\"Offline\");\n\t\t}\n\t};\n\n\t// Reset all data\n\tconst handleReset = async () => {\n\t\tif (!contactsActor.connection) return;\n\n\t\ttry {\n\t\t\tawait contactsActor.connection.reset();\n\t\t\tsetContacts([]);\n\t\t\tlastSyncTime.current = Date.now();\n\t\t\tsetSyncStatus(\"Synced\");\n\t\t\tsetStats({ totalContacts: 0, lastSyncTime: Date.now(), deletedContacts: 0 });\n\t\t} catch (error) {\n\t\t\tsetSyncStatus(\"Offline\");\n\t\t}\n\t};\n\n\t// Handle form submission\n\tconst handleSubmit = (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\taddContact();\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Sync Contacts

\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t{syncStatus}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How it works

\n\t\t\t\t

\n\t\t\t\t\tThis contact sync system demonstrates offline-first synchronization with conflict resolution. \n\t\t\t\t\tAdd contacts and they'll sync across all connected clients. The system handles conflicts using \n\t\t\t\t\t\"last write wins\" based on timestamps, and supports offline operation with automatic sync when reconnected.\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Add New Contact

\n\t\t\t\t
\n\t\t\t\t\t setName(e.target.value)}\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t/>\n\t\t\t\t\t setEmail(e.target.value)}\n\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t/>\n\t\t\t\t\t setPhone(e.target.value)}\n\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Contacts ({contacts.length})

\n\t\t\t\t{contacts.length === 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\tNo contacts yet. Add some contacts to get started!\n\t\t\t\t\t
\n\t\t\t\t) : (\n\t\t\t\t\tcontacts.map((contact) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
{contact.name}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{contact.email && (\n\t\t\t\t\t\t\t\t\t\t
📧 {contact.email}
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{contact.phone && (\n\t\t\t\t\t\t\t\t\t\t
📞 {contact.phone}
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t deleteContact(contact.id)}\n\t\t\t\t\t\t\t\tdisabled={!contactsActor.connection}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{stats.totalContacts}
\n\t\t\t\t\t
Total Contacts
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{stats.deletedContacts}
\n\t\t\t\t\t
Deleted Items
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{stats.lastSyncTime ? new Date(stats.lastSyncTime).toLocaleTimeString() : \"—\"}\n\t\t\t\t\t
\n\t\t\t\t\t
Last Sync
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n", "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", "src/frontend/index.html": "\n\n\n \n \n Sync Contacts - RivetKit\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\n\nexport type Contact = {\n\tid: string;\n\tname: string;\n\temail: string;\n\tphone: string;\n\tupdatedAt: number;\n};\n\nconst contacts = actor({\n\tonAuth: () => {},\n\t// State is automatically persisted\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tcontacts: {} as Record,\n\t\tlastSyncTime: Date.now(),\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetChanges: (c, after = 0) => {\n\t\t\tconst changes = Object.values(c.state.contacts).filter(\n\t\t\t\t(contact) => contact.updatedAt > after,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tchanges,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t},\n\n\t\tpushChanges: (c, contactList: Contact[]) => {\n\t\t\tlet changed = false;\n\n\t\t\tcontactList.forEach((contact) => {\n\t\t\t\tconst existing = c.state.contacts[contact.id];\n\n\t\t\t\t// Last write wins conflict resolution based on timestamp\n\t\t\t\tif (!existing || existing.updatedAt < contact.updatedAt) {\n\t\t\t\t\t// State changes are automatically persisted\n\t\t\t\t\tc.state.contacts[contact.id] = contact;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Update last sync time\n\t\t\tc.state.lastSyncTime = Date.now();\n\n\t\t\tif (changed) {\n\t\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\t\tc.broadcast(\"contactsChanged\", {\n\t\t\t\t\tcontacts: Object.values(c.state.contacts).filter(\n\t\t\t\t\t\t(c) => c.name !== \"\",\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn { timestamp: c.state.lastSyncTime };\n\t\t},\n\n\t\tgetAllContacts: (c) => {\n\t\t\treturn Object.values(c.state.contacts).filter(\n\t\t\t\t(contact) => contact.name !== \"\",\n\t\t\t);\n\t\t},\n\n\t\tgetSyncStats: (c) => {\n\t\t\tconst allContacts = Object.values(c.state.contacts);\n\t\t\tconst activeContacts = allContacts.filter(\n\t\t\t\t(contact) => contact.name !== \"\",\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttotalContacts: activeContacts.length,\n\t\t\t\tlastSyncTime: c.state.lastSyncTime,\n\t\t\t\tdeletedContacts: allContacts.filter((contact) => contact.name === \"\")\n\t\t\t\t\t.length,\n\t\t\t};\n\t\t},\n\n\t\treset: (c) => {\n\t\t\tc.state.contacts = {};\n\t\t\tc.state.lastSyncTime = Date.now();\n\n\t\t\tc.broadcast(\"contactsChanged\", {\n\t\t\t\tcontacts: [],\n\t\t\t});\n\n\t\t\treturn { timestamp: c.state.lastSyncTime };\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { contacts },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "src/backend/types.ts": "export type Contact = {\n\tid: string;\n\tname: string;\n\temail: string;\n\tphone: string;\n\tupdatedAt: number;\n};\n", + "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport type { Contact } from \"./types\";\n\nconst contacts = actor({\n\t// State is automatically persisted\n\t// Persistent state that survives restarts\n\tstate: {\n\t\tcontacts: {} as Record,\n\t\tlastSyncTime: Date.now(),\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients\n\t\tgetChanges: (c, after = 0) => {\n\t\t\tconst changes = Object.values(c.state.contacts).filter(\n\t\t\t\t(contact) => contact.updatedAt > after,\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tchanges,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t},\n\n\t\tpushChanges: (c, contactList: Contact[]) => {\n\t\t\tlet changed = false;\n\n\t\t\tcontactList.forEach((contact) => {\n\t\t\t\tconst existing = c.state.contacts[contact.id];\n\n\t\t\t\t// Last write wins conflict resolution based on timestamp\n\t\t\t\tif (!existing || existing.updatedAt < contact.updatedAt) {\n\t\t\t\t\t// State changes are automatically persisted\n\t\t\t\t\tc.state.contacts[contact.id] = contact;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Update last sync time\n\t\t\tc.state.lastSyncTime = Date.now();\n\n\t\t\tif (changed) {\n\t\t\t\t// Send events to all connected clients\n\t\t\t\tc.broadcast(\"contactsChanged\", {\n\t\t\t\t\tcontacts: Object.values(c.state.contacts).filter(\n\t\t\t\t\t\t(c) => c.name !== \"\",\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn { timestamp: c.state.lastSyncTime };\n\t\t},\n\n\t\tgetAllContacts: (c) => {\n\t\t\treturn Object.values(c.state.contacts).filter(\n\t\t\t\t(contact) => contact.name !== \"\",\n\t\t\t);\n\t\t},\n\n\t\tgetSyncStats: (c) => {\n\t\t\tconst allContacts = Object.values(c.state.contacts);\n\t\t\tconst activeContacts = allContacts.filter(\n\t\t\t\t(contact) => contact.name !== \"\",\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttotalContacts: activeContacts.length,\n\t\t\t\tlastSyncTime: c.state.lastSyncTime,\n\t\t\t\tdeletedContacts: allContacts.filter((contact) => contact.name === \"\")\n\t\t\t\t\t.length,\n\t\t\t};\n\t\t},\n\n\t\treset: (c) => {\n\t\t\tc.state.contacts = {};\n\t\t\tc.state.lastSyncTime = Date.now();\n\n\t\t\tc.broadcast(\"contactsChanged\", {\n\t\t\t\tcontacts: [],\n\t\t\t});\n\n\t\t\treturn { timestamp: c.state.lastSyncTime };\n\t\t},\n\t},\n});\n\n// Register actors for use\nexport const registry = setup({\n\tuse: { contacts },\n});\n", + "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.start({\n\tcors: {\n\t\torigin: \"http://localhost:3000\",\n\t\tcredentials: true,\n\t},\n});\n" } }, { - "id": "rate", - "icon": "faGaugeHigh", - "title": "Rate Limiter", + "id": "database", + "icon": "faDatabase", + "title": "Per-User Database", "filesToOpen": [ "src/backend/registry.ts", "src/frontend/App.tsx" ], - "tab": "memory", + "tab": "sqlite", "files": { - "tests/rate.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\ntest(\"Rate limiter allows requests under limit\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-limit\"]);\n\n\t// Test first request - should be allowed\n\tconst result1 = await limiter.checkLimit();\n\texpect(result1).toMatchObject({\n\t\tallowed: true,\n\t\tremaining: 4, // 5 total - 1 used = 4 remaining\n\t\tresetsIn: expect.any(Number),\n\t});\n\n\t// Test additional requests\n\tconst result2 = await limiter.checkLimit();\n\texpect(result2.allowed).toBe(true);\n\texpect(result2.remaining).toBe(3);\n\n\tconst result3 = await limiter.checkLimit();\n\texpect(result3.allowed).toBe(true);\n\texpect(result3.remaining).toBe(2);\n});\n\ntest(\"Rate limiter blocks requests over limit\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-block\"]);\n\n\t// Use up all 5 requests\n\tfor (let i = 0; i < 5; i++) {\n\t\tconst result = await limiter.checkLimit();\n\t\texpect(result.allowed).toBe(true);\n\t}\n\n\t// 6th request should be blocked\n\tconst blocked = await limiter.checkLimit();\n\texpect(blocked.allowed).toBe(false);\n\texpect(blocked.remaining).toBe(0);\n\texpect(blocked.resetsIn).toBeGreaterThan(0);\n\n\t// 7th request should also be blocked\n\tconst blocked2 = await limiter.checkLimit();\n\texpect(blocked2.allowed).toBe(false);\n\texpect(blocked2.remaining).toBe(0);\n});\n\ntest(\"Rate limiter status reflects current state\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-status\"]);\n\n\t// Initial status\n\tconst initial = await limiter.getStatus();\n\texpect(initial).toMatchObject({\n\t\tcount: 0,\n\t\tremaining: 5,\n\t\tresetsIn: 0, // No reset time set yet\n\t});\n\n\t// After some requests\n\tawait limiter.checkLimit();\n\tawait limiter.checkLimit();\n\n\tconst afterRequests = await limiter.getStatus();\n\texpect(afterRequests.count).toBe(2);\n\texpect(afterRequests.remaining).toBe(3);\n\texpect(afterRequests.resetsIn).toBeGreaterThan(0);\n});\n\ntest(\"Rate limiter reset functionality\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-reset\"]);\n\n\t// Use up some requests\n\tawait limiter.checkLimit();\n\tawait limiter.checkLimit();\n\tawait limiter.checkLimit();\n\n\tconst beforeReset = await limiter.getStatus();\n\texpect(beforeReset.count).toBe(3);\n\texpect(beforeReset.remaining).toBe(2);\n\n\t// Reset the limiter\n\tconst resetResult = await limiter.reset();\n\texpect(resetResult.success).toBe(true);\n\n\t// Check status after reset\n\tconst afterReset = await limiter.getStatus();\n\texpect(afterReset.count).toBe(0);\n\texpect(afterReset.remaining).toBe(5);\n\texpect(afterReset.resetsIn).toBe(0);\n\n\t// Should be able to make requests again\n\tconst newRequest = await limiter.checkLimit();\n\texpect(newRequest.allowed).toBe(true);\n\texpect(newRequest.remaining).toBe(4);\n});\n", - "README.md": "# Rate Limiter for RivetKit\n\nExample project demonstrating API rate limiting with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/rate\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Per-User Rate Limiting**: Each user/client gets independent rate limits\n- **Sliding Window**: 5 requests per 60-second window\n- **Real-time Status**: Live updates of remaining requests and reset time\n- **Visual Progress**: Progress bar showing rate limit usage\n- **Multiple Users**: Switch between users to test isolation\n- **Admin Reset**: Reset rate limits for testing purposes\n\n## How it works\n\nThis rate limiter demonstrates:\n\n1. **Per-Actor Rate Limiting**: Each user gets their own actor instance with independent counters\n2. **Time Window Management**: Automatic reset of counters when the time window expires\n3. **Request Counting**: Track and limit the number of requests within the window\n4. **Graceful Degradation**: Blocks requests when limits are exceeded\n5. **Status Reporting**: Provide detailed information about current limits and reset times\n\n## Architecture\n\n- **Backend**: RivetKit actor that maintains rate limit state per user\n- **Frontend**: React application with real-time rate limit status\n- **State Management**: Persistent rate limit counters with automatic window resets\n- **User Isolation**: Each user/API client gets independent rate limiting\n\n## Usage\n\n1. Start the development server\n2. Select a user from the dropdown\n3. Click \"Make API Request\" to test the rate limiter\n4. Watch the status update in real-time\n5. Try making more than 5 requests within a minute to see blocking\n6. Switch users to see independent rate limits\n7. Use \"Reset Rate Limiter\" to clear limits for testing\n\n## Rate Limiting Strategy\n\nThis example uses a **Fixed Window** approach:\n\n- **Window Size**: 60 seconds\n- **Request Limit**: 5 requests per window\n- **Reset Behavior**: Counter resets to 0 when window expires\n- **Granularity**: Per-user/client isolation\n\n## Extending\n\nThis rate limiter can be extended with:\n\n- Different rate limiting algorithms (sliding window, token bucket, etc.)\n- Multiple rate limit tiers (basic/premium users)\n- Geographic or IP-based limiting\n- Dynamic rate limits based on user behavior\n- Rate limit bypass for admin users\n- Metrics and monitoring integration\n- Redis backend for distributed rate limiting\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-rate\",\n \"version\": \"0.9.1\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-rate\",\n \"version\": \"0.9.1\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"dev\": true,\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.16.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.16.3.tgz\",\n \"integrity\": \"sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.2.1.tgz\",\n \"integrity\": \"sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.4.6\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz\",\n \"integrity\": \"sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz\",\n \"integrity\": \"sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",\n \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz\",\n \"integrity\": \"sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.14\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz\",\n \"integrity\": \"sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.4.4\",\n \"picomatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz\",\n \"integrity\": \"sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-rate\",\n \"version\": \"0.9.1\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "tests/database.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock authentication\nvi.mock(\"../src/backend/my-utils\", () => ({\n\tauthenticate: vi.fn().mockResolvedValue(\"user123\"),\n}));\n\ntest(\"Database notes can handle basic CRUD operations\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-notes\"]);\n\n\t// Test initial empty state\n\tconst initialNotes = await notes.getNotes();\n\texpect(initialNotes).toEqual([]);\n\n\t// Create a new note\n\tconst newNote = await notes.updateNote({ content: \"My first note\" });\n\texpect(newNote).toMatchObject({\n\t\tid: expect.stringMatching(/^note-\\d+$/),\n\t\tcontent: \"My first note\",\n\t\tupdatedAt: expect.any(Number),\n\t});\n\n\t// Verify note was added\n\tconst notesAfterAdd = await notes.getNotes();\n\texpect(notesAfterAdd).toHaveLength(1);\n\texpect(notesAfterAdd[0]).toEqual(newNote);\n});\n\ntest(\"Database notes can update existing notes\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-update\"]);\n\n\t// Create a note\n\tconst originalNote = await notes.updateNote({ content: \"Original content\" });\n\tconst originalTime = originalNote.updatedAt;\n\n\t// Update the note\n\tconst updatedNote = await notes.updateNote({\n\t\tid: originalNote.id,\n\t\tcontent: \"Updated content\",\n\t});\n\n\texpect(updatedNote).toMatchObject({\n\t\tid: originalNote.id,\n\t\tcontent: \"Updated content\",\n\t\tupdatedAt: expect.any(Number),\n\t});\n\texpect(updatedNote.updatedAt).toBeGreaterThanOrEqual(originalTime);\n\n\t// Verify only one note exists\n\tconst allNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(1);\n\texpect(allNotes[0]).toEqual(updatedNote);\n});\n\ntest(\"Database notes can delete notes\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-delete\"]);\n\n\t// Create multiple notes\n\tconst note1 = await notes.updateNote({ content: \"Note 1\" });\n\tconst note2 = await notes.updateNote({ content: \"Note 2\" });\n\tconst note3 = await notes.updateNote({ content: \"Note 3\" });\n\n\t// Verify all notes exist\n\tlet allNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(3);\n\n\t// Delete middle note\n\tconst deleteResult = await notes.deleteNote({ id: note2.id });\n\texpect(deleteResult).toBe(true);\n\n\t// Verify note was deleted\n\tallNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(2);\n\texpect(allNotes.map((n) => n.id)).toEqual([note1.id, note3.id]);\n\n\t// Try to delete non-existent note\n\tconst deleteNonExistent = await notes.deleteNote({ id: \"non-existent\" });\n\texpect(deleteNonExistent).toBe(false);\n});\n\ntest(\"Database notes maintains proper timestamps\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-timestamps\"]);\n\n\tconst note1 = await notes.updateNote({ content: \"First note\" });\n\tconst note2 = await notes.updateNote({ content: \"Second note\" });\n\tconst note3 = await notes.updateNote({ content: \"Third note\" });\n\n\texpect(note2.updatedAt).toBeGreaterThanOrEqual(note1.updatedAt);\n\texpect(note3.updatedAt).toBeGreaterThanOrEqual(note2.updatedAt);\n\n\tconst allNotes = await notes.getNotes();\n\tfor (let i = 1; i < allNotes.length; i++) {\n\t\texpect(allNotes[i].updatedAt).toBeGreaterThanOrEqual(\n\t\t\tallNotes[i - 1].updatedAt,\n\t\t);\n\t}\n});\n\ntest(\"Database notes handles empty content\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-empty\"]);\n\n\t// Create note with empty content\n\tconst emptyNote = await notes.updateNote({ content: \"\" });\n\texpect(emptyNote.content).toBe(\"\");\n\texpect(emptyNote.id).toBeTruthy();\n\texpect(emptyNote.updatedAt).toBeGreaterThan(0);\n\n\t// Verify it was stored\n\tconst allNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(1);\n\texpect(allNotes[0]).toEqual(emptyNote);\n});\n", + "README.md": "# Database Notes for RivetKit\n\nExample project demonstrating persistent data storage and real-time updates with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/database\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Persistent Storage**: Notes are automatically saved and persist across sessions\n- **Real-time Updates**: Changes are instantly synchronized across all connected clients\n- **User Authentication**: Demonstrates basic authentication with token validation\n- **Multi-user Support**: Switch between different users to see isolated data\n- **CRUD Operations**: Create, read, update, and delete notes\n- **Edit in Place**: Click edit to modify notes inline\n- **Auto-sorting**: Notes are automatically sorted by last modified date\n\n## How it works\n\nThis example demonstrates:\n\n1. **Actor State Management**: Using RivetKit actors to manage persistent application state\n2. **Authentication**: Basic token-based authentication for user identification\n3. **Real-time Events**: Broadcasting changes to all connected clients using actor events\n4. **State Persistence**: Actor state is automatically persisted between sessions\n5. **Connection State**: Handle connection status and graceful degradation\n\n## Architecture\n\n- **Backend**: RivetKit actor that manages note storage and user authentication\n- **Frontend**: React application with real-time updates via RivetKit hooks\n- **State Management**: Each user gets their own actor instance for data isolation\n- **Authentication**: Mock token-based auth (replace with real auth in production)\n\n## Usage\n\n1. Start the development server\n2. Select a user from the dropdown to see their notes\n3. Add new notes using the input field\n4. Edit notes by clicking the \"Edit\" button\n5. Delete notes with the \"Delete\" button\n6. Open multiple tabs or users to see real-time synchronization\n\n## Extending\n\nThis example can be extended with:\n\n- Real database integration (PostgreSQL, MongoDB, etc.)\n- Proper JWT authentication\n- User registration and management\n- Note sharing and collaboration\n- Rich text editing\n- File attachments\n- Search and filtering\n\n## License\n\nApache 2.0", + "package-lock.json": "{\n \"name\": \"example-database\",\n \"version\": \"2.0.15\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-database\",\n \"version\": \"2.0.15\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@asteasolutions/zod-to-openapi\": {\n \"version\": \"7.3.4\",\n \"resolved\": \"https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.4.tgz\",\n \"integrity\": \"sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"openapi3-ts\": \"^4.1.2\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.20.2\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz\",\n \"integrity\": \"sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz\",\n \"integrity\": \"sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.4\",\n \"@babel/types\": \"^7.28.4\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz\",\n \"integrity\": \"sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.3\",\n \"@babel/types\": \"^7.28.2\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz\",\n \"integrity\": \"sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.4\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz\",\n \"integrity\": \"sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz\",\n \"integrity\": \"sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz\",\n \"integrity\": \"sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@hono/standard-validator\": {\n \"version\": \"0.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/standard-validator/-/standard-validator-0.1.5.tgz\",\n \"integrity\": \"sha512-EIyZPPwkyLn6XKwFj5NBEWHXhXbgmnVh2ceIFo5GO7gKI9WmzTjPDKnppQB0KrqKeAkq3kpoW4SIbu5X1dgx3w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@standard-schema/spec\": \"1.0.0\",\n \"hono\": \">=3.9.0\"\n }\n },\n \"node_modules/@hono/zod-openapi\": {\n \"version\": \"0.19.10\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-openapi/-/zod-openapi-0.19.10.tgz\",\n \"integrity\": \"sha512-dpoS6DenvoJyvxtQ7Kd633FRZ/Qf74+4+o9s+zZI8pEqnbjdF/DtxIib08WDpCaWabMEJOL5TXpMgNEZvb7hpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@asteasolutions/zod-to-openapi\": \"^7.3.0\",\n \"@hono/zod-validator\": \"^0.7.1\",\n \"openapi3-ts\": \"^4.5.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"peerDependencies\": {\n \"hono\": \">=4.3.6\",\n \"zod\": \">=3.0.0\"\n }\n },\n \"node_modules/@hono/zod-validator\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-validator/-/zod-validator-0.7.4.tgz\",\n \"integrity\": \"sha512-biKGn3BRJVaftZlIPMyK+HCe/UHAjJ6sH0UyXe3+v0OcgVr9xfImDROTJFLtn9e3XEEAHGZIM9U6evu85abm8Q==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"hono\": \">=3.9.0\",\n \"zod\": \"^3.25.0 || ^4.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.9.tgz\",\n \"integrity\": \"sha512-RZlgZVclT2Po1uILBtGJ8IVw78KuO/52hEPYpZh+wpEp5wpKjI3Z3AtXz6tyEBiwa3YuaxG1NrWNBHZm5eHWhw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@hono/standard-validator\": \"^0.1.3\",\n \"@hono/zod-openapi\": \"^0.19.10\",\n \"@rivetkit/fast-json-patch\": \"^3.1.2\",\n \"cbor-x\": \"^1.6.0\",\n \"hono\": \"^4.7.0\",\n \"invariant\": \"^2.2.4\",\n \"nanoevents\": \"^9.1.0\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.76\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"eventsource\": \"^3.0.5\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/fast-json-patch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/fast-json-patch/-/fast-json-patch-3.1.2.tgz\",\n \"integrity\": \"sha512-CtA50xgsSSzICQduF/NDShPRzvucnNvsW/lQO0WgMTT1XAj9Lfae4pm7r3llFwilgG+9iq76Hv1LUqNy72v6yw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.9.tgz\",\n \"integrity\": \"sha512-2E/OjUp6b7jGsiSFvJ81lSQX7DHag8DOZCLeS7Mqdqozb/lvzIwtLzW7CPL1DEWS6/VJa6RPn0oOe9V/tMR9cg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"0.9.9\",\n \"@tanstack/store\": \"^0.7.1\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.9.tgz\",\n \"integrity\": \"sha512-c00Dw0wsrLeu1G79vHKzxuERBIUNt/BQ4oLrt5qPSqkCo0kB8izIKwwO6vVoIQ7Pf8KTe9JXl3UxYLfH6QCmCA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"^0.9.9\",\n \"@rivetkit/framework-base\": \"0.9.9\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.27\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz\",\n \"integrity\": \"sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@standard-schema/spec\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz\",\n \"integrity\": \"sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz\",\n \"integrity\": \"sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.7\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz\",\n \"integrity\": \"sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.2\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.26\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz\",\n \"integrity\": \"sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz\",\n \"integrity\": \"sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.27\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.8.16\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz\",\n \"integrity\": \"sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.26.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz\",\n \"integrity\": \"sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.8.9\",\n \"caniuse-lite\": \"^1.0.30001746\",\n \"electron-to-chromium\": \"^1.5.227\",\n \"node-releases\": \"^2.0.21\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001750\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz\",\n \"integrity\": \"sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz\",\n \"integrity\": \"sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.237\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz\",\n \"integrity\": \"sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz\",\n \"integrity\": \"sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoevents\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/nanoevents/-/nanoevents-9.1.0.tgz\",\n \"integrity\": \"sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.23\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz\",\n \"integrity\": \"sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/openapi3-ts\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.5.0.tgz\",\n \"integrity\": \"sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yaml\": \"^2.8.0\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz\",\n \"integrity\": \"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.20\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.20.tgz\",\n \"integrity\": \"sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yaml\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz\",\n \"integrity\": \"sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14.6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-database\",\n \"version\": \"2.0.15\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"esnext\",\n \"lib\": [\"esnext\", \"dom\"],\n \"jsx\": \"react-jsx\",\n \"module\": \"esnext\",\n \"moduleResolution\": \"bundler\",\n \"types\": [\"node\", \"vite/client\"],\n \"resolveJsonModule\": true,\n \"allowJs\": true,\n \"checkJs\": false,\n \"noEmit\": true,\n \"isolatedModules\": true,\n \"allowSyntheticDefaultImports\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n});\n", "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tinclude: [\"tests/**/*.test.ts\"],\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { RateLimitResult, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nfunction RateLimiterDemo({ userId }: { userId: string }) {\n\tconst [result, setResult] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst rateLimiter = useActor({\n\t\tname: \"rateLimiter\",\n\t\tkey: [userId],\n\t});\n\n\tuseEffect(() => {\n\t\tif (rateLimiter.connection) {\n\t\t\t// Get initial status\n\t\t\trateLimiter.connection.getStatus().then((status) => {\n\t\t\t\tsetResult({\n\t\t\t\t\tallowed: status.remaining > 0,\n\t\t\t\t\tremaining: status.remaining,\n\t\t\t\t\tresetsIn: status.resetsIn,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}, [rateLimiter.connection]);\n\n\tconst makeRequest = async () => {\n\t\tif (!rateLimiter.connection || loading) return;\n\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst response = await rateLimiter.connection.checkLimit();\n\t\t\tsetResult(response);\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst resetLimiter = async () => {\n\t\tif (!rateLimiter.connection) return;\n\n\t\tawait rateLimiter.connection.reset();\n\t\t// Get updated status\n\t\tconst status = await rateLimiter.connection.getStatus();\n\t\tsetResult({\n\t\t\tallowed: status.remaining > 0,\n\t\t\tremaining: status.remaining,\n\t\t\tresetsIn: status.resetsIn,\n\t\t});\n\t};\n\n\tconst usagePercentage = result ? ((5 - result.remaining) / 5) * 100 : 0;\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{loading ? \"Making Request...\" : \"Make API Request\"}\n\t\t\t\n\n\t\t\t{result && (\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tStatus:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{result.allowed ? \"✓ Request Allowed\" : \"✖ Request Blocked\"}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tRemaining Requests:\n\t\t\t\t\t\t{result.remaining} / 5\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tRate Limit Usage:\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tResets In:\n\t\t\t\t\t\t{result.resetsIn} seconds\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t\n\t\t
\n\t);\n}\n\nexport function App() {\n\tconst [selectedUser, setSelectedUser] = useState(\"user-1\");\n\n\tconst users = [\n\t\t{ id: \"user-1\", name: \"User 1\" },\n\t\t{ id: \"user-2\", name: \"User 2\" },\n\t\t{ id: \"user-3\", name: \"User 3\" },\n\t\t{ id: \"api-client-1\", name: \"API Client 1\" },\n\t\t{ id: \"api-client-2\", name: \"API Client 2\" },\n\t];\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Rate Limiter Demo

\n\t\t\t\t

5 requests per minute per user/client

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

How it works

\n\t\t\t\t\t

\n\t\t\t\t\t\tThis rate limiter allows 5 requests per minute per user. Each user gets their own \n\t\t\t\t\t\tindependent rate limit counter. When the limit is exceeded, further requests are \n\t\t\t\t\t\tblocked until the window resets. Switch between users to see isolated rate limiting.\n\t\t\t\t\t

\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t setSelectedUser(e.target.value)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{users.map((user) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}", + "src/frontend/App.tsx": "import { createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Note, registry } from \"../backend/registry\";\n\nconst { useActor } = createRivetKit(\"http://localhost:8080\");\n\nfunction NotesApp({ userId }: { userId: string }) {\n\tconst [notes, setNotes] = useState([]);\n\tconst [newNote, setNewNote] = useState(\"\");\n\tconst [editingNote, setEditingNote] = useState(null);\n\tconst [editContent, setEditContent] = useState(\"\");\n\n\tconst notesActor = useActor({\n\t\tname: \"notes\",\n\t\tkey: [userId],\n\t\tparams: { userId, token: \"demo-token\" },\n\t});\n\n\tuseEffect(() => {\n\t\tif (notesActor.connection) {\n\t\t\tnotesActor.connection.getNotes().then(setNotes);\n\t\t}\n\t}, [notesActor.connection]);\n\n\tnotesActor.useEvent(\"noteAdded\", (note: Note) => {\n\t\tsetNotes((prev) => [...prev, note]);\n\t});\n\n\tnotesActor.useEvent(\"noteUpdated\", (updatedNote: Note) => {\n\t\tsetNotes((prev) =>\n\t\t\tprev.map((note) => (note.id === updatedNote.id ? updatedNote : note))\n\t\t);\n\t\tsetEditingNote(null);\n\t});\n\n\tnotesActor.useEvent(\"noteDeleted\", ({ id }: { id: string }) => {\n\t\tsetNotes((prev) => prev.filter((note) => note.id !== id));\n\t});\n\n\tconst addNote = async () => {\n\t\tif (notesActor.connection && newNote.trim()) {\n\t\t\tawait notesActor.connection.updateNote({ \n\t\t\t\tid: `note-${Date.now()}`, \n\t\t\t\tcontent: newNote \n\t\t\t});\n\t\t\tsetNewNote(\"\");\n\t\t}\n\t};\n\n\tconst startEdit = (note: Note) => {\n\t\tsetEditingNote(note.id);\n\t\tsetEditContent(note.content);\n\t};\n\n\tconst saveEdit = async () => {\n\t\tif (notesActor.connection && editingNote) {\n\t\t\tawait notesActor.connection.updateNote({ \n\t\t\t\tid: editingNote, \n\t\t\t\tcontent: editContent \n\t\t\t});\n\t\t}\n\t};\n\n\tconst cancelEdit = () => {\n\t\tsetEditingNote(null);\n\t\tsetEditContent(\"\");\n\t};\n\n\tconst deleteNote = async (id: string) => {\n\t\tif (notesActor.connection && confirm(\"Are you sure you want to delete this note?\")) {\n\t\t\tawait notesActor.connection.deleteNote({ id });\n\t\t}\n\t};\n\n\tconst handleKeyPress = (e: React.KeyboardEvent, action: () => void) => {\n\t\tif (e.key === \"Enter\") {\n\t\t\taction();\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{notesActor.connection ? '✓ Connected' : '⚠ Disconnected'}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t setNewNote(e.target.value)}\n\t\t\t\t\tonKeyPress={(e) => handleKeyPress(e, addNote)}\n\t\t\t\t\tplaceholder=\"Enter a new note...\"\n\t\t\t\t\tdisabled={!notesActor.connection}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tAdd Note\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{notes.length === 0 ? (\n\t\t\t\t
\n\t\t\t\t\tNo notes yet. Add your first note above!\n\t\t\t\t
\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t{notes\n\t\t\t\t\t\t.sort((a, b) => b.updatedAt - a.updatedAt)\n\t\t\t\t\t\t.map((note) => (\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t{editingNote === note.id ? (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t setEditContent(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tonKeyPress={(e) => handleKeyPress(e, saveEdit)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-input\"\n\t\t\t\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    {note.content}
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\tLast updated: {new Date(note.updatedAt).toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t startEdit(note)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-btn\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tEdit\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t deleteNote(note.id)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"delete-btn\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n}\n\nexport function App() {\n\tconst [selectedUser, setSelectedUser] = useState(\"user1\");\n\n\tconst users = [\n\t\t{ id: \"user1\", name: \"Alice\" },\n\t\t{ id: \"user2\", name: \"Bob\" },\n\t\t{ id: \"user3\", name: \"Charlie\" },\n\t];\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Database Notes

\n\t\t\t\t

Persistent note-taking with real-time updates

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t setSelectedUser(e.target.value)}\n\t\t\t\t>\n\t\t\t\t\t{users.map((user) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}\n", "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", - "src/frontend/index.html": "\n\n\n \n \n Rate Limiter Example\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\n\nexport type RateLimitResult = {\n\tallowed: boolean;\n\tremaining: number;\n\tresetsIn: number;\n};\n\nexport const rateLimiter = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tcount: 0,\n\t\tresetAt: 0,\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tcheckLimit: (c): RateLimitResult => {\n\t\t\tconst now = Date.now();\n\n\t\t\t// Reset if expired\n\t\t\tif (now > c.state.resetAt) {\n\t\t\t\t// State changes are automatically persisted\n\t\t\t\tc.state.count = 0;\n\t\t\t\tc.state.resetAt = now + 60000; // 1 minute window\n\t\t\t}\n\n\t\t\tconst allowed = c.state.count < 5;\n\n\t\t\t// Increment if allowed\n\t\t\tif (allowed) {\n\t\t\t\tc.state.count++;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowed,\n\t\t\t\tremaining: Math.max(0, 5 - c.state.count),\n\t\t\t\tresetsIn: Math.max(0, Math.round((c.state.resetAt - now) / 1000)),\n\t\t\t};\n\t\t},\n\n\t\tgetStatus: (c) => ({\n\t\t\tcount: c.state.count,\n\t\t\tresetAt: c.state.resetAt,\n\t\t\tremaining: Math.max(0, 5 - c.state.count),\n\t\t\tresetsIn: Math.max(0, Math.round((c.state.resetAt - Date.now()) / 1000)),\n\t\t}),\n\n\t\treset: (c) => {\n\t\t\tc.state.count = 0;\n\t\t\tc.state.resetAt = 0;\n\t\t\treturn { success: true };\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { rateLimiter },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "src/frontend/index.html": "\n\n\n \n \n Database Notes Example\n \n\n\n
\n \n\n", + "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport { authenticate } from \"./my-utils\";\n\nexport type Note = { id: string; content: string; updatedAt: number };\n\nexport const notes = actor({\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tnotes: [] as Note[],\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetNotes: (c) => c.state.notes,\n\n\t\tupdateNote: (c, { id, content }: { id?: string; content: string }) => {\n\t\t\tconst noteIndex = c.state.notes.findIndex((note) => note.id === id);\n\t\t\tlet note: Note;\n\n\t\t\tif (noteIndex >= 0) {\n\t\t\t\t// Update existing note\n\t\t\t\tnote = c.state.notes[noteIndex];\n\t\t\t\tnote.content = content;\n\t\t\t\tnote.updatedAt = Date.now();\n\t\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\t\tc.broadcast(\"noteUpdated\", note);\n\t\t\t} else {\n\t\t\t\t// Create new note\n\t\t\t\tnote = {\n\t\t\t\t\tid: id || `note-${Date.now()}`,\n\t\t\t\t\tcontent,\n\t\t\t\t\tupdatedAt: Date.now(),\n\t\t\t\t};\n\t\t\t\t// State changes are automatically persisted\n\t\t\t\tc.state.notes.push(note);\n\t\t\t\tc.broadcast(\"noteAdded\", note);\n\t\t\t}\n\n\t\t\treturn note;\n\t\t},\n\n\t\tdeleteNote: (c, { id }: { id: string }) => {\n\t\t\tconst noteIndex = c.state.notes.findIndex((note) => note.id === id);\n\t\t\tif (noteIndex >= 0) {\n\t\t\t\tc.state.notes.splice(noteIndex, 1);\n\t\t\t\tc.broadcast(\"noteDeleted\", { id });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { notes },\n});\n", + "src/backend/my-utils.ts": "export async function authenticate(token: string): Promise {\n\t// Mock authentication - in real app, verify JWT or session token\n\tif (token === \"demo-token\") {\n\t\treturn \"user123\";\n\t}\n\tthrow new Error(\"Invalid token\");\n}\n", + "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.start({\n\tcors: {\n\t\torigin: \"http://localhost:3000\",\n\t\tcredentials: true,\n\t},\n});\n" } }, { - "id": "database", - "icon": "faDatabase", - "title": "Per-User DB", + "id": "background-jobs", + "icon": "faClock", + "title": "Background Jobs", + "filesToOpen": [ + "src/registry.ts", + "src/server.ts" + ], + "tab": "memory", + "files": { + "README.md": "# Daily Email Campaign for RivetKit\n\nExample project demonstrating scheduled background emails with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 20+\n- [Resend](https://resend.com) API key and verified sender domain\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/background-jobs\nnpm install\n```\n\n### Development\n\n```sh\nRESEND_API_KEY=your-api-key \\\nRESEND_FROM_EMAIL=\"Example \" \\\nCAMPAIGN_USER_EMAIL=user@example.com \\\nnpm run dev\n```\n\nThe example creates a single `emailCampaignUser` actor, stores the recipient email, and schedules a daily task that sends mail through the live Resend API. The server logs the next scheduled send time, and the actor reschedules itself after each successful delivery. Set `CAMPAIGN_USER_ID` to control the actor key when you need to track multiple users.\n\n## License\n\nApache 2.0\n", + ".gitignore": ".actorcore\nnode_modules\n", + "package-lock.json": "{\n \"name\": \"example-background-jobs\",\n \"version\": \"2.0.14\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-background-jobs\",\n \"version\": \"2.0.14\",\n \"dependencies\": {\n \"resend\": \"^4.0.1\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@react-email/render\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@react-email/render/-/render-1.1.2.tgz\",\n \"integrity\": \"sha512-RnRehYN3v9gVlNMehHPHhyp2RQo7+pSkHDtXPvg3s0GbzM9SQMW4Qrf8GRNvtpLC4gsI+Wt0VatNRUFqjvevbw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"html-to-text\": \"^9.0.5\",\n \"prettier\": \"^3.5.3\",\n \"react-promise-suspense\": \"^0.3.4\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.0 || ^19.0 || ^19.0.0-rc\",\n \"react-dom\": \"^18.0 || ^19.0 || ^19.0.0-rc\"\n }\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@selderee/plugin-htmlparser2\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz\",\n \"integrity\": \"sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domhandler\": \"^5.0.3\",\n \"selderee\": \"^0.11.0\"\n },\n \"funding\": {\n \"url\": \"https://ko-fi.com/killymxi\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/deepmerge\": {\n \"version\": \"4.3.1\",\n \"resolved\": \"https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz\",\n \"integrity\": \"sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/dom-serializer\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz\",\n \"integrity\": \"sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.3.0\",\n \"domhandler\": \"^5.0.2\",\n \"entities\": \"^4.2.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor=1\"\n }\n },\n \"node_modules/domelementtype\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz\",\n \"integrity\": \"sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==\",\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n ],\n \"license\": \"BSD-2-Clause\"\n },\n \"node_modules/domhandler\": {\n \"version\": \"5.0.3\",\n \"resolved\": \"https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz\",\n \"integrity\": \"sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"domelementtype\": \"^2.3.0\"\n },\n \"engines\": {\n \"node\": \">= 4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/domhandler?sponsor=1\"\n }\n },\n \"node_modules/domutils\": {\n \"version\": \"3.2.2\",\n \"resolved\": \"https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz\",\n \"integrity\": \"sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==\",\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"dom-serializer\": \"^2.0.0\",\n \"domelementtype\": \"^2.3.0\",\n \"domhandler\": \"^5.0.3\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/domutils?sponsor=1\"\n }\n },\n \"node_modules/entities\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/entities/-/entities-4.5.0.tgz\",\n \"integrity\": \"sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==\",\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=0.12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/entities?sponsor=1\"\n }\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fast-deep-equal\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz\",\n \"integrity\": \"sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==\",\n \"license\": \"MIT\"\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/html-to-text\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.5.tgz\",\n \"integrity\": \"sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@selderee/plugin-htmlparser2\": \"^0.11.0\",\n \"deepmerge\": \"^4.3.1\",\n \"dom-serializer\": \"^2.0.0\",\n \"htmlparser2\": \"^8.0.2\",\n \"selderee\": \"^0.11.0\"\n },\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/htmlparser2\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz\",\n \"integrity\": \"sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==\",\n \"funding\": [\n \"https://github.com/fb55/htmlparser2?sponsor=1\",\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fb55\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"domelementtype\": \"^2.3.0\",\n \"domhandler\": \"^5.0.3\",\n \"domutils\": \"^3.0.1\",\n \"entities\": \"^4.4.0\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/leac\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/leac/-/leac-0.6.0.tgz\",\n \"integrity\": \"sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://ko-fi.com/killymxi\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/parseley\": {\n \"version\": \"0.12.1\",\n \"resolved\": \"https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz\",\n \"integrity\": \"sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"leac\": \"^0.6.0\",\n \"peberminta\": \"^0.9.0\"\n },\n \"funding\": {\n \"url\": \"https://ko-fi.com/killymxi\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/peberminta\": {\n \"version\": \"0.9.0\",\n \"resolved\": \"https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz\",\n \"integrity\": \"sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://ko-fi.com/killymxi\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/prettier\": {\n \"version\": \"3.6.2\",\n \"resolved\": \"https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz\",\n \"integrity\": \"sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==\",\n \"license\": \"MIT\",\n \"bin\": {\n \"prettier\": \"bin/prettier.cjs\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/prettier/prettier?sponsor=1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"19.2.0\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-19.2.0.tgz\",\n \"integrity\": \"sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"19.2.0\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz\",\n \"integrity\": \"sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"scheduler\": \"^0.27.0\"\n },\n \"peerDependencies\": {\n \"react\": \"^19.2.0\"\n }\n },\n \"node_modules/react-promise-suspense\": {\n \"version\": \"0.3.4\",\n \"resolved\": \"https://registry.npmjs.org/react-promise-suspense/-/react-promise-suspense-0.3.4.tgz\",\n \"integrity\": \"sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^2.0.1\"\n }\n },\n \"node_modules/resend\": {\n \"version\": \"4.8.0\",\n \"resolved\": \"https://registry.npmjs.org/resend/-/resend-4.8.0.tgz\",\n \"integrity\": \"sha512-R8eBOFQDO6dzRTDmaMEdpqrkmgSjPpVXt4nGfWsZdYOet0kqra0xgbvTES6HmCriZEXbmGk3e0DiGIaLFTFSHA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@react-email/render\": \"1.1.2\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.27.0\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz\",\n \"integrity\": \"sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/selderee\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz\",\n \"integrity\": \"sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"parseley\": \"^0.12.0\"\n },\n \"funding\": {\n \"url\": \"https://ko-fi.com/killymxi\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/vite-node/node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/vite-node/node_modules/vite\": {\n \"version\": \"7.1.10\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.1.10.tgz\",\n \"integrity\": \"sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.25.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest/node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/vitest/node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/vitest/node_modules/vite\": {\n \"version\": \"7.1.10\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.1.10.tgz\",\n \"integrity\": \"sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.25.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-background-jobs\",\n \"version\": \"2.0.14\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"tsx src/server.ts\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"resend\": \"^4.0.1\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "tsconfig.json": "{\n \"compilerOptions\": {\n /* Visit https://aka.ms/tsconfig.json to read more about this file */\n\n /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */\n \"target\": \"esnext\",\n /* Specify a set of bundled library declaration files that describe the target runtime environment. */\n \"lib\": [\"esnext\"],\n /* Specify what JSX code is generated. */\n \"jsx\": \"react-jsx\",\n\n /* Specify what module code is generated. */\n \"module\": \"esnext\",\n /* Specify how TypeScript looks up a file from a given module specifier. */\n \"moduleResolution\": \"bundler\",\n /* Specify type package names to be included without being referenced in a source file. */\n \"types\": [\"node\"],\n /* Enable importing .json files */\n \"resolveJsonModule\": true,\n\n /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */\n \"allowJs\": true,\n /* Enable error reporting in type-checked JavaScript files. */\n \"checkJs\": false,\n\n /* Disable emitting files from a compilation. */\n \"noEmit\": true,\n\n /* Ensure that each file can be safely transpiled without relying on other imports. */\n \"isolatedModules\": true,\n /* Allow 'import x from y' when a module doesn't have a default export. */\n \"allowSyntheticDefaultImports\": true,\n /* Ensure that casing is correct in imports. */\n \"forceConsistentCasingInFileNames\": true,\n\n /* Enable all strict type-checking options. */\n \"strict\": true,\n\n /* Skip type checking all .d.ts files. */\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*.ts\", \"scripts/**/*.ts\", \"tests/**/*.ts\"]\n}\n", + "src/types.ts": "export type CampaignInput = {\n\temail: string;\n};\n\nexport type CampaignState = CampaignInput & {\n\tlastSentAt?: number;\n\tlastMessageId?: string;\n\tnextSendAt?: number;\n};\n", + "src/registry.ts": "import { Resend } from \"resend\";\nimport { actor, setup } from \"rivetkit\";\nimport type { CampaignInput, CampaignState } from \"./types\";\n\nconst DAY_IN_MS = 86_400_000;\n\nconst EMAIL_SUBJECT = \"Daily campaign update\";\nconst EMAIL_BODY = [\n\t\"

Hi there,

\",\n\t\"

This is your automated daily campaign email from RivetKit.

\",\n\t\"

Have a great day!

\",\n].join(\"\");\n\nconst emailCampaignUser = actor({\n\tcreateState: (_c, input: CampaignInput): CampaignState => ({\n\t\temail: input.email,\n\t}),\n\n\tonCreate: async (c) => {\n\t\tconst nextSendAt = Date.now() + DAY_IN_MS;\n\t\tc.state.nextSendAt = nextSendAt;\n\t\tawait c.schedule.at(nextSendAt, \"sendDailyEmail\");\n\t},\n\n\tactions: {\n\t\tsendDailyEmail: async (c) => {\n\t\t\tconst resend = new Resend(process.env.RESEND_API_KEY ?? \"\");\n\n\t\t\tconst { data, error } = await resend.emails.send({\n\t\t\t\tfrom: process.env.RESEND_FROM_EMAIL ?? \"\",\n\t\t\t\tto: c.state.email,\n\t\t\t\tsubject: EMAIL_SUBJECT,\n\t\t\t\thtml: EMAIL_BODY,\n\t\t\t});\n\n\t\t\tc.state.lastSentAt = Date.now();\n\t\t\tc.state.lastMessageId = data?.id ?? String(error ?? \"\");\n\n\t\t\tconst nextSendAt = Date.now() + DAY_IN_MS;\n\t\t\tc.state.nextSendAt = nextSendAt;\n\t\t\tawait c.schedule.at(nextSendAt, \"sendDailyEmail\");\n\t\t},\n\n\t\tgetStatus: (c) => c.state,\n\t},\n});\n\nexport const registry = setup({\n\tuse: { emailCampaignUser },\n});\n\nexport type Registry = typeof registry;\n", + "src/server.ts": "import { registry } from \"./registry\";\n\nconst { client } = registry.start();\n\nasync function main() {\n\tconst userEmail = process.env.CAMPAIGN_USER_EMAIL;\n\tconst userId = process.env.CAMPAIGN_USER_ID ?? \"demo-user\";\n\n\tif (!userEmail) {\n\t\tconsole.warn(\n\t\t\t\"Set CAMPAIGN_USER_EMAIL to schedule the daily email campaign (e.g. CAMPAIGN_USER_EMAIL=user@example.com).\",\n\t\t);\n\t\treturn;\n\t}\n\n\tconst campaign = client.emailCampaignUser.getOrCreate(userId, {\n\t\tcreateWithInput: { email: userEmail },\n\t});\n\tconst status = await campaign.getStatus();\n\n\tconst nextSend = status.nextSendAt\n\t\t? new Date(status.nextSendAt).toISOString()\n\t\t: \"not scheduled\";\n\n\tconsole.log(`Next daily email for ${status.email} scheduled at ${nextSend}`);\n}\n\nvoid main();\n" + } + }, + { + "id": "rate", + "icon": "faGaugeHigh", + "title": "Rate Limiting", "filesToOpen": [ "src/backend/registry.ts", "src/frontend/App.tsx" ], - "tab": "sqlite", + "tab": "memory", "files": { - "tests/database.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock authentication\nvi.mock(\"../src/backend/my-utils\", () => ({\n\tauthenticate: vi.fn().mockResolvedValue(\"user123\"),\n}));\n\ntest(\"Database notes can handle basic CRUD operations\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-notes\"]);\n\n\t// Test initial empty state\n\tconst initialNotes = await notes.getNotes();\n\texpect(initialNotes).toEqual([]);\n\n\t// Create a new note\n\tconst newNote = await notes.updateNote({ content: \"My first note\" });\n\texpect(newNote).toMatchObject({\n\t\tid: expect.stringMatching(/^note-\\d+$/),\n\t\tcontent: \"My first note\",\n\t\tupdatedAt: expect.any(Number),\n\t});\n\n\t// Verify note was added\n\tconst notesAfterAdd = await notes.getNotes();\n\texpect(notesAfterAdd).toHaveLength(1);\n\texpect(notesAfterAdd[0]).toEqual(newNote);\n});\n\ntest(\"Database notes can update existing notes\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-update\"]);\n\n\t// Create a note\n\tconst originalNote = await notes.updateNote({ content: \"Original content\" });\n\tconst originalTime = originalNote.updatedAt;\n\n\t// Update the note\n\tconst updatedNote = await notes.updateNote({\n\t\tid: originalNote.id,\n\t\tcontent: \"Updated content\",\n\t});\n\n\texpect(updatedNote).toMatchObject({\n\t\tid: originalNote.id,\n\t\tcontent: \"Updated content\",\n\t\tupdatedAt: expect.any(Number),\n\t});\n\texpect(updatedNote.updatedAt).toBeGreaterThanOrEqual(originalTime);\n\n\t// Verify only one note exists\n\tconst allNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(1);\n\texpect(allNotes[0]).toEqual(updatedNote);\n});\n\ntest(\"Database notes can delete notes\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-delete\"]);\n\n\t// Create multiple notes\n\tconst note1 = await notes.updateNote({ content: \"Note 1\" });\n\tconst note2 = await notes.updateNote({ content: \"Note 2\" });\n\tconst note3 = await notes.updateNote({ content: \"Note 3\" });\n\n\t// Verify all notes exist\n\tlet allNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(3);\n\n\t// Delete middle note\n\tconst deleteResult = await notes.deleteNote({ id: note2.id });\n\texpect(deleteResult).toBe(true);\n\n\t// Verify note was deleted\n\tallNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(2);\n\texpect(allNotes.map((n) => n.id)).toEqual([note1.id, note3.id]);\n\n\t// Try to delete non-existent note\n\tconst deleteNonExistent = await notes.deleteNote({ id: \"non-existent\" });\n\texpect(deleteNonExistent).toBe(false);\n});\n\ntest(\"Database notes maintains proper timestamps\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-timestamps\"]);\n\n\tconst note1 = await notes.updateNote({ content: \"First note\" });\n\tconst note2 = await notes.updateNote({ content: \"Second note\" });\n\tconst note3 = await notes.updateNote({ content: \"Third note\" });\n\n\texpect(note2.updatedAt).toBeGreaterThanOrEqual(note1.updatedAt);\n\texpect(note3.updatedAt).toBeGreaterThanOrEqual(note2.updatedAt);\n\n\tconst allNotes = await notes.getNotes();\n\tfor (let i = 1; i < allNotes.length; i++) {\n\t\texpect(allNotes[i].updatedAt).toBeGreaterThanOrEqual(\n\t\t\tallNotes[i - 1].updatedAt,\n\t\t);\n\t}\n});\n\ntest(\"Database notes handles empty content\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst notes = client.notes.getOrCreate([\"test-empty\"]);\n\n\t// Create note with empty content\n\tconst emptyNote = await notes.updateNote({ content: \"\" });\n\texpect(emptyNote.content).toBe(\"\");\n\texpect(emptyNote.id).toBeTruthy();\n\texpect(emptyNote.updatedAt).toBeGreaterThan(0);\n\n\t// Verify it was stored\n\tconst allNotes = await notes.getNotes();\n\texpect(allNotes).toHaveLength(1);\n\texpect(allNotes[0]).toEqual(emptyNote);\n});\n", - "README.md": "# Database Notes for RivetKit\n\nExample project demonstrating persistent data storage and real-time updates with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/database\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Persistent Storage**: Notes are automatically saved and persist across sessions\n- **Real-time Updates**: Changes are instantly synchronized across all connected clients\n- **User Authentication**: Demonstrates basic authentication with token validation\n- **Multi-user Support**: Switch between different users to see isolated data\n- **CRUD Operations**: Create, read, update, and delete notes\n- **Edit in Place**: Click edit to modify notes inline\n- **Auto-sorting**: Notes are automatically sorted by last modified date\n\n## How it works\n\nThis example demonstrates:\n\n1. **Actor State Management**: Using RivetKit actors to manage persistent application state\n2. **Authentication**: Basic token-based authentication for user identification\n3. **Real-time Events**: Broadcasting changes to all connected clients using actor events\n4. **State Persistence**: Actor state is automatically persisted between sessions\n5. **Connection State**: Handle connection status and graceful degradation\n\n## Architecture\n\n- **Backend**: RivetKit actor that manages note storage and user authentication\n- **Frontend**: React application with real-time updates via RivetKit hooks\n- **State Management**: Each user gets their own actor instance for data isolation\n- **Authentication**: Mock token-based auth (replace with real auth in production)\n\n## Usage\n\n1. Start the development server\n2. Select a user from the dropdown to see their notes\n3. Add new notes using the input field\n4. Edit notes by clicking the \"Edit\" button\n5. Delete notes with the \"Delete\" button\n6. Open multiple tabs or users to see real-time synchronization\n\n## Extending\n\nThis example can be extended with:\n\n- Real database integration (PostgreSQL, MongoDB, etc.)\n- Proper JWT authentication\n- User registration and management\n- Note sharing and collaboration\n- Rich text editing\n- File attachments\n- Search and filtering\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-database\",\n \"version\": \"0.9.1\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-database\",\n \"version\": \"0.9.1\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"dev\": true,\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.16.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.16.3.tgz\",\n \"integrity\": \"sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.2.1.tgz\",\n \"integrity\": \"sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.4.6\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz\",\n \"integrity\": \"sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz\",\n \"integrity\": \"sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz\",\n \"integrity\": \"sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz\",\n \"integrity\": \"sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.14\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz\",\n \"integrity\": \"sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.4.4\",\n \"picomatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz\",\n \"integrity\": \"sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-database\",\n \"version\": \"0.9.1\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "tests/rate.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\ntest(\"Rate limiter allows requests under limit\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-limit\"]);\n\n\t// Test first request - should be allowed\n\tconst result1 = await limiter.checkLimit();\n\texpect(result1).toMatchObject({\n\t\tallowed: true,\n\t\tremaining: 4, // 5 total - 1 used = 4 remaining\n\t\tresetsIn: expect.any(Number),\n\t});\n\n\t// Test additional requests\n\tconst result2 = await limiter.checkLimit();\n\texpect(result2.allowed).toBe(true);\n\texpect(result2.remaining).toBe(3);\n\n\tconst result3 = await limiter.checkLimit();\n\texpect(result3.allowed).toBe(true);\n\texpect(result3.remaining).toBe(2);\n});\n\ntest(\"Rate limiter blocks requests over limit\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-block\"]);\n\n\t// Use up all 5 requests\n\tfor (let i = 0; i < 5; i++) {\n\t\tconst result = await limiter.checkLimit();\n\t\texpect(result.allowed).toBe(true);\n\t}\n\n\t// 6th request should be blocked\n\tconst blocked = await limiter.checkLimit();\n\texpect(blocked.allowed).toBe(false);\n\texpect(blocked.remaining).toBe(0);\n\texpect(blocked.resetsIn).toBeGreaterThan(0);\n\n\t// 7th request should also be blocked\n\tconst blocked2 = await limiter.checkLimit();\n\texpect(blocked2.allowed).toBe(false);\n\texpect(blocked2.remaining).toBe(0);\n});\n\ntest(\"Rate limiter status reflects current state\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-status\"]);\n\n\t// Initial status\n\tconst initial = await limiter.getStatus();\n\texpect(initial).toMatchObject({\n\t\tcount: 0,\n\t\tremaining: 5,\n\t\tresetsIn: 0, // No reset time set yet\n\t});\n\n\t// After some requests\n\tawait limiter.checkLimit();\n\tawait limiter.checkLimit();\n\n\tconst afterRequests = await limiter.getStatus();\n\texpect(afterRequests.count).toBe(2);\n\texpect(afterRequests.remaining).toBe(3);\n\texpect(afterRequests.resetsIn).toBeGreaterThan(0);\n});\n\ntest(\"Rate limiter reset functionality\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst limiter = client.rateLimiter.getOrCreate([\"test-reset\"]);\n\n\t// Use up some requests\n\tawait limiter.checkLimit();\n\tawait limiter.checkLimit();\n\tawait limiter.checkLimit();\n\n\tconst beforeReset = await limiter.getStatus();\n\texpect(beforeReset.count).toBe(3);\n\texpect(beforeReset.remaining).toBe(2);\n\n\t// Reset the limiter\n\tconst resetResult = await limiter.reset();\n\texpect(resetResult.success).toBe(true);\n\n\t// Check status after reset\n\tconst afterReset = await limiter.getStatus();\n\texpect(afterReset.count).toBe(0);\n\texpect(afterReset.remaining).toBe(5);\n\texpect(afterReset.resetsIn).toBe(0);\n\n\t// Should be able to make requests again\n\tconst newRequest = await limiter.checkLimit();\n\texpect(newRequest.allowed).toBe(true);\n\texpect(newRequest.remaining).toBe(4);\n});\n", + "README.md": "# Rate Limiter for RivetKit\n\nExample project demonstrating API rate limiting with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/rate\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Per-User Rate Limiting**: Each user/client gets independent rate limits\n- **Sliding Window**: 5 requests per 60-second window\n- **Real-time Status**: Live updates of remaining requests and reset time\n- **Visual Progress**: Progress bar showing rate limit usage\n- **Multiple Users**: Switch between users to test isolation\n- **Admin Reset**: Reset rate limits for testing purposes\n\n## How it works\n\nThis rate limiter demonstrates:\n\n1. **Per-Actor Rate Limiting**: Each user gets their own actor instance with independent counters\n2. **Time Window Management**: Automatic reset of counters when the time window expires\n3. **Request Counting**: Track and limit the number of requests within the window\n4. **Graceful Degradation**: Blocks requests when limits are exceeded\n5. **Status Reporting**: Provide detailed information about current limits and reset times\n\n## Architecture\n\n- **Backend**: RivetKit actor that maintains rate limit state per user\n- **Frontend**: React application with real-time rate limit status\n- **State Management**: Persistent rate limit counters with automatic window resets\n- **User Isolation**: Each user/API client gets independent rate limiting\n\n## Usage\n\n1. Start the development server\n2. Select a user from the dropdown\n3. Click \"Make API Request\" to test the rate limiter\n4. Watch the status update in real-time\n5. Try making more than 5 requests within a minute to see blocking\n6. Switch users to see independent rate limits\n7. Use \"Reset Rate Limiter\" to clear limits for testing\n\n## Rate Limiting Strategy\n\nThis example uses a **Fixed Window** approach:\n\n- **Window Size**: 60 seconds\n- **Request Limit**: 5 requests per window\n- **Reset Behavior**: Counter resets to 0 when window expires\n- **Granularity**: Per-user/client isolation\n\n## Extending\n\nThis rate limiter can be extended with:\n\n- Different rate limiting algorithms (sliding window, token bucket, etc.)\n- Multiple rate limit tiers (basic/premium users)\n- Geographic or IP-based limiting\n- Dynamic rate limits based on user behavior\n- Rate limit bypass for admin users\n- Metrics and monitoring integration\n\n## License\n\nApache 2.0\n", + "package-lock.json": "{\n \"name\": \"example-rate\",\n \"version\": \"2.0.15\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-rate\",\n \"version\": \"2.0.15\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@asteasolutions/zod-to-openapi\": {\n \"version\": \"7.3.4\",\n \"resolved\": \"https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.4.tgz\",\n \"integrity\": \"sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"openapi3-ts\": \"^4.1.2\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.20.2\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz\",\n \"integrity\": \"sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz\",\n \"integrity\": \"sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.4\",\n \"@babel/types\": \"^7.28.4\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz\",\n \"integrity\": \"sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.3\",\n \"@babel/types\": \"^7.28.2\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz\",\n \"integrity\": \"sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.4\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz\",\n \"integrity\": \"sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz\",\n \"integrity\": \"sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz\",\n \"integrity\": \"sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@hono/standard-validator\": {\n \"version\": \"0.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/standard-validator/-/standard-validator-0.1.5.tgz\",\n \"integrity\": \"sha512-EIyZPPwkyLn6XKwFj5NBEWHXhXbgmnVh2ceIFo5GO7gKI9WmzTjPDKnppQB0KrqKeAkq3kpoW4SIbu5X1dgx3w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@standard-schema/spec\": \"1.0.0\",\n \"hono\": \">=3.9.0\"\n }\n },\n \"node_modules/@hono/zod-openapi\": {\n \"version\": \"0.19.10\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-openapi/-/zod-openapi-0.19.10.tgz\",\n \"integrity\": \"sha512-dpoS6DenvoJyvxtQ7Kd633FRZ/Qf74+4+o9s+zZI8pEqnbjdF/DtxIib08WDpCaWabMEJOL5TXpMgNEZvb7hpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@asteasolutions/zod-to-openapi\": \"^7.3.0\",\n \"@hono/zod-validator\": \"^0.7.1\",\n \"openapi3-ts\": \"^4.5.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"peerDependencies\": {\n \"hono\": \">=4.3.6\",\n \"zod\": \">=3.0.0\"\n }\n },\n \"node_modules/@hono/zod-validator\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-validator/-/zod-validator-0.7.4.tgz\",\n \"integrity\": \"sha512-biKGn3BRJVaftZlIPMyK+HCe/UHAjJ6sH0UyXe3+v0OcgVr9xfImDROTJFLtn9e3XEEAHGZIM9U6evu85abm8Q==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"hono\": \">=3.9.0\",\n \"zod\": \"^3.25.0 || ^4.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.9.tgz\",\n \"integrity\": \"sha512-RZlgZVclT2Po1uILBtGJ8IVw78KuO/52hEPYpZh+wpEp5wpKjI3Z3AtXz6tyEBiwa3YuaxG1NrWNBHZm5eHWhw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@hono/standard-validator\": \"^0.1.3\",\n \"@hono/zod-openapi\": \"^0.19.10\",\n \"@rivetkit/fast-json-patch\": \"^3.1.2\",\n \"cbor-x\": \"^1.6.0\",\n \"hono\": \"^4.7.0\",\n \"invariant\": \"^2.2.4\",\n \"nanoevents\": \"^9.1.0\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.76\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"eventsource\": \"^3.0.5\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/fast-json-patch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/fast-json-patch/-/fast-json-patch-3.1.2.tgz\",\n \"integrity\": \"sha512-CtA50xgsSSzICQduF/NDShPRzvucnNvsW/lQO0WgMTT1XAj9Lfae4pm7r3llFwilgG+9iq76Hv1LUqNy72v6yw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.9.tgz\",\n \"integrity\": \"sha512-2E/OjUp6b7jGsiSFvJ81lSQX7DHag8DOZCLeS7Mqdqozb/lvzIwtLzW7CPL1DEWS6/VJa6RPn0oOe9V/tMR9cg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"0.9.9\",\n \"@tanstack/store\": \"^0.7.1\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.9.tgz\",\n \"integrity\": \"sha512-c00Dw0wsrLeu1G79vHKzxuERBIUNt/BQ4oLrt5qPSqkCo0kB8izIKwwO6vVoIQ7Pf8KTe9JXl3UxYLfH6QCmCA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"^0.9.9\",\n \"@rivetkit/framework-base\": \"0.9.9\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.27\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz\",\n \"integrity\": \"sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@standard-schema/spec\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz\",\n \"integrity\": \"sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz\",\n \"integrity\": \"sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.7\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz\",\n \"integrity\": \"sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.2\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.26\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz\",\n \"integrity\": \"sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz\",\n \"integrity\": \"sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.27\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.8.16\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz\",\n \"integrity\": \"sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.26.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz\",\n \"integrity\": \"sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.8.9\",\n \"caniuse-lite\": \"^1.0.30001746\",\n \"electron-to-chromium\": \"^1.5.227\",\n \"node-releases\": \"^2.0.21\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001750\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz\",\n \"integrity\": \"sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz\",\n \"integrity\": \"sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.237\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz\",\n \"integrity\": \"sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz\",\n \"integrity\": \"sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoevents\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/nanoevents/-/nanoevents-9.1.0.tgz\",\n \"integrity\": \"sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.23\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz\",\n \"integrity\": \"sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/openapi3-ts\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.5.0.tgz\",\n \"integrity\": \"sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yaml\": \"^2.8.0\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz\",\n \"integrity\": \"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.20\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.20.tgz\",\n \"integrity\": \"sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yaml\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz\",\n \"integrity\": \"sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14.6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-rate\",\n \"version\": \"2.0.15\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"npm run dev:backend\\\" \\\"npm run dev:frontend\\\"\",\n \"dev:backend\": \"tsx --watch src/backend/server.ts\",\n \"dev:frontend\": \"vite\",\n \"build\": \"vite build\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"concurrently\": \"^8.2.2\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.5.2\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"esnext\",\n \"lib\": [\"esnext\", \"dom\"],\n \"jsx\": \"react-jsx\",\n \"module\": \"esnext\",\n \"moduleResolution\": \"bundler\",\n \"types\": [\"node\", \"vite/client\"],\n \"resolveJsonModule\": true,\n \"allowJs\": true,\n \"checkJs\": false,\n \"noEmit\": true,\n \"isolatedModules\": true,\n \"allowSyntheticDefaultImports\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"strict\": true,\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n});\n", "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tinclude: [\"tests/**/*.test.ts\"],\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Note, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nfunction NotesApp({ userId }: { userId: string }) {\n\tconst [notes, setNotes] = useState([]);\n\tconst [newNote, setNewNote] = useState(\"\");\n\tconst [editingNote, setEditingNote] = useState(null);\n\tconst [editContent, setEditContent] = useState(\"\");\n\n\tconst notesActor = useActor({\n\t\tname: \"notes\",\n\t\tkey: [userId],\n\t\tparams: { userId, token: \"demo-token\" },\n\t});\n\n\tuseEffect(() => {\n\t\tif (notesActor.connection) {\n\t\t\tnotesActor.connection.getNotes().then(setNotes);\n\t\t}\n\t}, [notesActor.connection]);\n\n\tnotesActor.useEvent(\"noteAdded\", (note: Note) => {\n\t\tsetNotes((prev) => [...prev, note]);\n\t});\n\n\tnotesActor.useEvent(\"noteUpdated\", (updatedNote: Note) => {\n\t\tsetNotes((prev) =>\n\t\t\tprev.map((note) => (note.id === updatedNote.id ? updatedNote : note))\n\t\t);\n\t\tsetEditingNote(null);\n\t});\n\n\tnotesActor.useEvent(\"noteDeleted\", ({ id }: { id: string }) => {\n\t\tsetNotes((prev) => prev.filter((note) => note.id !== id));\n\t});\n\n\tconst addNote = async () => {\n\t\tif (notesActor.connection && newNote.trim()) {\n\t\t\tawait notesActor.connection.updateNote({ \n\t\t\t\tid: `note-${Date.now()}`, \n\t\t\t\tcontent: newNote \n\t\t\t});\n\t\t\tsetNewNote(\"\");\n\t\t}\n\t};\n\n\tconst startEdit = (note: Note) => {\n\t\tsetEditingNote(note.id);\n\t\tsetEditContent(note.content);\n\t};\n\n\tconst saveEdit = async () => {\n\t\tif (notesActor.connection && editingNote) {\n\t\t\tawait notesActor.connection.updateNote({ \n\t\t\t\tid: editingNote, \n\t\t\t\tcontent: editContent \n\t\t\t});\n\t\t}\n\t};\n\n\tconst cancelEdit = () => {\n\t\tsetEditingNote(null);\n\t\tsetEditContent(\"\");\n\t};\n\n\tconst deleteNote = async (id: string) => {\n\t\tif (notesActor.connection && confirm(\"Are you sure you want to delete this note?\")) {\n\t\t\tawait notesActor.connection.deleteNote({ id });\n\t\t}\n\t};\n\n\tconst handleKeyPress = (e: React.KeyboardEvent, action: () => void) => {\n\t\tif (e.key === \"Enter\") {\n\t\t\taction();\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{notesActor.connection ? '✓ Connected' : '⚠ Disconnected'}\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t setNewNote(e.target.value)}\n\t\t\t\t\tonKeyPress={(e) => handleKeyPress(e, addNote)}\n\t\t\t\t\tplaceholder=\"Enter a new note...\"\n\t\t\t\t\tdisabled={!notesActor.connection}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tAdd Note\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{notes.length === 0 ? (\n\t\t\t\t
\n\t\t\t\t\tNo notes yet. Add your first note above!\n\t\t\t\t
\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t{notes\n\t\t\t\t\t\t.sort((a, b) => b.updatedAt - a.updatedAt)\n\t\t\t\t\t\t.map((note) => (\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t{editingNote === note.id ? (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t setEditContent(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tonKeyPress={(e) => handleKeyPress(e, saveEdit)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-input\"\n\t\t\t\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    {note.content}
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\tLast updated: {new Date(note.updatedAt).toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t startEdit(note)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-btn\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tEdit\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t deleteNote(note.id)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"delete-btn\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n}\n\nexport function App() {\n\tconst [selectedUser, setSelectedUser] = useState(\"user1\");\n\n\tconst users = [\n\t\t{ id: \"user1\", name: \"Alice\" },\n\t\t{ id: \"user2\", name: \"Bob\" },\n\t\t{ id: \"user3\", name: \"Charlie\" },\n\t];\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Database Notes

\n\t\t\t\t

Persistent note-taking with real-time updates

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t setSelectedUser(e.target.value)}\n\t\t\t\t>\n\t\t\t\t\t{users.map((user) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}", + "src/frontend/App.tsx": "import { createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { RateLimitResult, registry } from \"../backend/registry\";\n\nconst { useActor } = createRivetKit(\"http://localhost:8080\");\n\nfunction RateLimiterDemo({ userId }: { userId: string }) {\n\tconst [result, setResult] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst rateLimiter = useActor({\n\t\tname: \"rateLimiter\",\n\t\tkey: [userId],\n\t});\n\n\tuseEffect(() => {\n\t\tif (rateLimiter.connection) {\n\t\t\t// Get initial status\n\t\t\trateLimiter.connection.getStatus().then((status) => {\n\t\t\t\tsetResult({\n\t\t\t\t\tallowed: status.remaining > 0,\n\t\t\t\t\tremaining: status.remaining,\n\t\t\t\t\tresetsIn: status.resetsIn,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}, [rateLimiter.connection]);\n\n\tconst makeRequest = async () => {\n\t\tif (!rateLimiter.connection || loading) return;\n\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst response = await rateLimiter.connection.checkLimit();\n\t\t\tsetResult(response);\n\t\t} finally {\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst resetLimiter = async () => {\n\t\tif (!rateLimiter.connection) return;\n\n\t\tawait rateLimiter.connection.reset();\n\t\t// Get updated status\n\t\tconst status = await rateLimiter.connection.getStatus();\n\t\tsetResult({\n\t\t\tallowed: status.remaining > 0,\n\t\t\tremaining: status.remaining,\n\t\t\tresetsIn: status.resetsIn,\n\t\t});\n\t};\n\n\tconst usagePercentage = result ? ((5 - result.remaining) / 5) * 100 : 0;\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{loading ? \"Making Request...\" : \"Make API Request\"}\n\t\t\t\n\n\t\t\t{result && (\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tStatus:\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{result.allowed ? \"✓ Request Allowed\" : \"✖ Request Blocked\"}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tRemaining Requests:\n\t\t\t\t\t\t{result.remaining} / 5\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tRate Limit Usage:\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tResets In:\n\t\t\t\t\t\t{result.resetsIn} seconds\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t\n\t\t
\n\t);\n}\n\nexport function App() {\n\tconst [selectedUser, setSelectedUser] = useState(\"user-1\");\n\n\tconst users = [\n\t\t{ id: \"user-1\", name: \"User 1\" },\n\t\t{ id: \"user-2\", name: \"User 2\" },\n\t\t{ id: \"user-3\", name: \"User 3\" },\n\t\t{ id: \"api-client-1\", name: \"API Client 1\" },\n\t\t{ id: \"api-client-2\", name: \"API Client 2\" },\n\t];\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Rate Limiter Demo

\n\t\t\t\t

5 requests per minute per user/client

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

How it works

\n\t\t\t\t\t

\n\t\t\t\t\t\tThis rate limiter allows 5 requests per minute per user. Each user gets their own \n\t\t\t\t\t\tindependent rate limit counter. When the limit is exceeded, further requests are \n\t\t\t\t\t\tblocked until the window resets. Switch between users to see isolated rate limiting.\n\t\t\t\t\t

\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t setSelectedUser(e.target.value)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{users.map((user) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n", "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", - "src/frontend/index.html": "\n\n\n \n \n Database Notes Example\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport { authenticate } from \"./my-utils\";\n\nexport type Note = { id: string; content: string; updatedAt: number };\n\nexport const notes = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tnotes: [] as Note[],\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetNotes: (c) => c.state.notes,\n\n\t\tupdateNote: (c, { id, content }: { id?: string; content: string }) => {\n\t\t\tconst noteIndex = c.state.notes.findIndex((note) => note.id === id);\n\t\t\tlet note: Note;\n\n\t\t\tif (noteIndex >= 0) {\n\t\t\t\t// Update existing note\n\t\t\t\tnote = c.state.notes[noteIndex];\n\t\t\t\tnote.content = content;\n\t\t\t\tnote.updatedAt = Date.now();\n\t\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\t\tc.broadcast(\"noteUpdated\", note);\n\t\t\t} else {\n\t\t\t\t// Create new note\n\t\t\t\tnote = {\n\t\t\t\t\tid: id || `note-${Date.now()}`,\n\t\t\t\t\tcontent,\n\t\t\t\t\tupdatedAt: Date.now(),\n\t\t\t\t};\n\t\t\t\t// State changes are automatically persisted\n\t\t\t\tc.state.notes.push(note);\n\t\t\t\tc.broadcast(\"noteAdded\", note);\n\t\t\t}\n\n\t\t\treturn note;\n\t\t},\n\n\t\tdeleteNote: (c, { id }: { id: string }) => {\n\t\t\tconst noteIndex = c.state.notes.findIndex((note) => note.id === id);\n\t\t\tif (noteIndex >= 0) {\n\t\t\t\tc.state.notes.splice(noteIndex, 1);\n\t\t\t\tc.broadcast(\"noteDeleted\", { id });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { notes },\n});\n", - "src/backend/my-utils.ts": "export async function authenticate(token: string): Promise {\n\t// Mock authentication - in real app, verify JWT or session token\n\tif (token === \"demo-token\") {\n\t\treturn \"user123\";\n\t}\n\tthrow new Error(\"Invalid token\");\n}\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "src/frontend/index.html": "\n\n\n \n \n Rate Limiter Example\n \n\n\n
\n \n\n", + "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\n\nexport type RateLimitResult = {\n\tallowed: boolean;\n\tremaining: number;\n\tresetsIn: number;\n};\n\nexport const rateLimiter = actor({\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\tcount: 0,\n\t\tresetAt: 0,\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tcheckLimit: (c): RateLimitResult => {\n\t\t\tconst now = Date.now();\n\n\t\t\t// Reset if expired\n\t\t\tif (now > c.state.resetAt) {\n\t\t\t\t// State changes are automatically persisted\n\t\t\t\tc.state.count = 0;\n\t\t\t\tc.state.resetAt = now + 60000; // 1 minute window\n\t\t\t}\n\n\t\t\tconst allowed = c.state.count < 5;\n\n\t\t\t// Increment if allowed\n\t\t\tif (allowed) {\n\t\t\t\tc.state.count++;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowed,\n\t\t\t\tremaining: Math.max(0, 5 - c.state.count),\n\t\t\t\tresetsIn: Math.max(0, Math.round((c.state.resetAt - now) / 1000)),\n\t\t\t};\n\t\t},\n\n\t\tgetStatus: (c) => ({\n\t\t\tcount: c.state.count,\n\t\t\tresetAt: c.state.resetAt,\n\t\t\tremaining: Math.max(0, 5 - c.state.count),\n\t\t\tresetsIn: Math.max(0, Math.round((c.state.resetAt - Date.now()) / 1000)),\n\t\t}),\n\n\t\treset: (c) => {\n\t\t\tc.state.count = 0;\n\t\t\tc.state.resetAt = 0;\n\t\t\treturn { success: true };\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { rateLimiter },\n});\n", + "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.start({\n\tcors: {\n\t\torigin: \"http://localhost:3000\",\n\t\tcredentials: true,\n\t},\n});\n" } }, { - "id": "tenant", - "icon": "faBuilding", - "title": "Multi-Tenant SaaS", + "id": "game", + "icon": "faGamepad", + "title": "Multiplayer Game", "filesToOpen": [ "src/backend/registry.ts", "src/frontend/App.tsx" ], "tab": "memory", "files": { - "tests/tenant.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock authentication function\nvi.mock(\"../src/backend/registry\", async (importOriginal) => {\n\tconst mod = await importOriginal();\n\treturn {\n\t\t...mod,\n\t\t// We'll need to test without connection state since it requires auth\n\t};\n});\n\ntest(\"Tenant organization can provide basic info\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst tenant = client.tenant.getOrCreate([\"test-org\"]);\n\n\t// Get organization info\n\tconst orgInfo = await tenant.getOrganization();\n\texpect(orgInfo).toMatchObject({\n\t\tid: expect.any(String),\n\t\tname: expect.any(String),\n\t\tmemberCount: expect.any(Number),\n\t});\n\texpect(orgInfo.memberCount).toBeGreaterThan(0);\n});\n\ntest(\"Tenant organization tracks members\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst tenant = client.tenant.getOrCreate([\"test-members\"]);\n\n\t// Get all members\n\tconst members = await tenant.getMembers();\n\texpect(Array.isArray(members)).toBe(true);\n\texpect(members.length).toBeGreaterThan(0);\n\n\t// Verify member structure\n\tmembers.forEach((member) => {\n\t\texpect(member).toMatchObject({\n\t\t\tid: expect.any(String),\n\t\t\tname: expect.any(String),\n\t\t\temail: expect.any(String),\n\t\t\trole: expect.stringMatching(/^(admin|member)$/),\n\t\t});\n\t});\n});\n\ntest(\"Tenant organization provides dashboard stats\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst tenant = client.tenant.getOrCreate([\"test-stats\"]);\n\n\t// Get dashboard stats (without admin privileges)\n\tconst stats = await tenant.getDashboardStats();\n\texpect(stats).toMatchObject({\n\t\ttotalMembers: expect.any(Number),\n\t\tadminCount: expect.any(Number),\n\t\tmemberCount: expect.any(Number),\n\t});\n\n\t// Verify member counts add up\n\texpect(stats.adminCount + stats.memberCount).toBe(stats.totalMembers);\n\texpect(stats.totalMembers).toBeGreaterThan(0);\n\texpect(stats.adminCount).toBeGreaterThan(0);\n});\n\ntest(\"Tenant organization validates member roles\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst tenant = client.tenant.getOrCreate([\"test-roles\"]);\n\n\tconst members = await tenant.getMembers();\n\tconst orgInfo = await tenant.getOrganization();\n\n\t// Verify at least one admin exists\n\tconst admins = members.filter((m) => m.role === \"admin\");\n\tconst regularMembers = members.filter((m) => m.role === \"member\");\n\n\texpect(admins.length).toBeGreaterThan(0);\n\texpect(members.length).toBe(orgInfo.memberCount);\n\texpect(admins.length + regularMembers.length).toBe(members.length);\n});\n\ntest(\"Tenant organization handles initial data correctly\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst tenant = client.tenant.getOrCreate([\"test-initial-data\"]);\n\n\t// Verify initial state has expected structure\n\tconst members = await tenant.getMembers();\n\tconst orgInfo = await tenant.getOrganization();\n\n\texpect(orgInfo.name).toBeTruthy();\n\texpect(orgInfo.id).toBeTruthy();\n\texpect(members.length).toBe(orgInfo.memberCount);\n\n\t// Verify we have the expected sample data\n\texpect(members.some((m) => m.role === \"admin\")).toBe(true);\n\texpect(members.some((m) => m.role === \"member\")).toBe(true);\n\n\t// Verify email formats\n\tmembers.forEach((member) => {\n\t\texpect(member.email).toMatch(/@/);\n\t\texpect(member.name).toBeTruthy();\n\t\texpect(member.id).toBeTruthy();\n\t});\n});\n\ntest(\"Tenant organization member data consistency\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst tenant = client.tenant.getOrCreate([\"test-consistency\"]);\n\n\t// Get data multiple times to verify consistency\n\tconst members1 = await tenant.getMembers();\n\tconst members2 = await tenant.getMembers();\n\tconst orgInfo1 = await tenant.getOrganization();\n\tconst orgInfo2 = await tenant.getOrganization();\n\n\texpect(members1).toEqual(members2);\n\texpect(orgInfo1).toEqual(orgInfo2);\n\texpect(members1.length).toBe(orgInfo1.memberCount);\n});\n", - "README.md": "# Tenant Dashboard for RivetKit\n\nExample project demonstrating multi-tenant organization management with role-based access control using [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/tenant\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Role-Based Access Control**: Different permissions for admin and member roles\n- **Multi-Tenant Architecture**: Organization-scoped data and permissions\n- **Authentication**: Token-based authentication with connection state\n- **Real-time Updates**: Live updates when data changes across clients\n- **Permission Enforcement**: Server-side permission checks for all operations\n- **User Management**: Admin can add members and update roles\n- **Invoice Management**: Admin-only access to billing information\n- **Dashboard Analytics**: Role-specific statistics and insights\n\n## How it works\n\nThis tenant system demonstrates:\n\n1. **Authentication**: Token-based authentication with `createConnState`\n2. **Authorization**: Role-based access control with server-side permission checks\n3. **Multi-Tenancy**: Organization-scoped data isolation\n4. **Real-time Collaboration**: Live updates across connected clients\n5. **Permission Enforcement**: Different UI and API access based on user roles\n\n## Architecture\n\n- **Backend**: RivetKit actor with authentication and role-based permissions\n- **Frontend**: React application with conditional rendering based on user roles\n- **Authentication**: Token-based with connection state for user context\n- **Authorization**: Server-side permission checks for all sensitive operations\n\n## User Roles\n\n### Admin Users\n- **Full Access**: Can view all data and perform all operations\n- **Member Management**: Add new members and update member roles\n- **Invoice Access**: View and manage organization invoices\n- **Dashboard Stats**: Access to comprehensive analytics including revenue\n\n### Member Users\n- **Limited Access**: Can only view basic organization information\n- **Member List**: View team members and their roles\n- **Dashboard Stats**: Access to basic member statistics only\n- **No Invoice Access**: Cannot view or manage billing information\n\n## Security Features\n\n### Authentication\n```typescript\n// Token-based authentication\ncreateConnState: async (c, { params }) => {\n const token = params.token;\n const { userId, role } = await authenticate(token);\n return { userId, role };\n}\n```\n\n### Authorization\n```typescript\n// Server-side permission checks\ngetInvoices: (c) => {\n if (c.conn.role !== \"admin\") {\n throw new UserError(\"Permission denied: Admin role required\");\n }\n return c.state.invoices;\n}\n```\n\n### Data Isolation\n- Organization-scoped data using actor keys\n- User context stored in connection state\n- Role-based data filtering and access control\n\n## API Endpoints\n\n### Public (All Authenticated Users)\n- `getOrganization()` - Get organization information\n- `getMembers()` - Get list of all members\n- `getCurrentUser()` - Get current user information\n- `getDashboardStats()` - Get basic statistics\n\n### Admin Only\n- `getInvoices()` - Get all invoices\n- `addMember(member)` - Add new member\n- `updateMemberRole(memberId, role)` - Update member role\n- `markInvoicePaid(invoiceId)` - Mark invoice as paid\n\n## Real-time Updates\n\nThe system broadcasts updates to all connected clients:\n\n```typescript\n// When member is added\nc.broadcast(\"memberAdded\", { member: newMember });\n\n// When member role is updated\nc.broadcast(\"memberUpdated\", { member });\n\n// When invoice is updated\nc.broadcast(\"invoiceUpdated\", { invoice });\n```\n\n## Use Cases\n\nThis tenant pattern is perfect for:\n\n- **SaaS Applications**: Multi-tenant software with organization accounts\n- **Team Management**: Internal tools with role-based access\n- **Project Management**: Collaborative tools with permission levels\n- **CRM Systems**: Customer relationship management with user roles\n- **Enterprise Software**: Business applications with admin/user hierarchies\n- **Learning Management**: Educational platforms with teacher/student roles\n\n## Extending\n\nThis tenant system can be enhanced with:\n\n### Advanced Authentication\n- **OAuth Integration**: Google, GitHub, Microsoft authentication\n- **JWT Tokens**: Stateless authentication with signed tokens\n- **Multi-Factor Auth**: SMS, email, or authenticator app verification\n- **Session Management**: Secure session handling and expiration\n\n### Enhanced Authorization\n- **Custom Roles**: Define custom roles beyond admin/member\n- **Permissions**: Granular permissions for specific operations\n- **Role Hierarchy**: Nested roles with inheritance\n- **Resource-Level Access**: Per-resource permissions\n\n### Multi-Tenancy Features\n- **Organization Settings**: Configurable organization preferences\n- **Billing Integration**: Stripe, PayPal, or other payment processors\n- **Usage Tracking**: Monitor and limit resource usage per tenant\n- **Data Export**: Allow tenants to export their data\n\n### Advanced Features\n- **Audit Logging**: Track all user actions and changes\n- **Activity Feeds**: Real-time activity notifications\n- **Team Invitations**: Invite users via email with signup flow\n- **API Keys**: Generate API keys for external integrations\n- **Webhooks**: Notify external systems of events\n\n## Testing Different Roles\n\nTo test the role-based access control:\n\n1. **Login as Alice (Admin)**:\n - Can view members and invoices\n - Can add new members\n - Can update member roles\n - Can mark invoices as paid\n - Sees full dashboard statistics\n\n2. **Login as Bob/Charlie (Member)**:\n - Can view members only\n - Cannot access invoices\n - Cannot manage members\n - Sees limited dashboard statistics\n - Gets permission denied errors for admin operations\n\n## Security Considerations\n\n### Server-Side Validation\n- All permission checks happen on the server\n- Client-side UI is for user experience only\n- Never trust client-side role information\n\n### Token Management\n- Use secure token storage (httpOnly cookies in production)\n- Implement token refresh mechanisms\n- Add token expiration and revocation\n\n### Data Protection\n- Sanitize all user inputs\n- Use parameterized queries for database operations\n- Implement rate limiting for API endpoints\n- Log security events and failed authentication attempts\n\n## Performance Considerations\n\n### Caching\n- Cache user roles and permissions\n- Use Redis for session storage in production\n- Implement query result caching\n\n### Scalability\n- Separate read and write operations\n- Use database read replicas for heavy read workloads\n- Implement proper indexing for user and organization queries\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-tenant\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-tenant\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz\",\n \"integrity\": \"sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz\",\n \"integrity\": \"sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz\",\n \"integrity\": \"sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz\",\n \"integrity\": \"sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@jest/schemas\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\",\n \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@sinclair/typebox\": \"^0.27.8\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@sinclair/typebox\": {\n \"version\": \"0.27.8\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\",\n \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"20.19.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.19.7.tgz\",\n \"integrity\": \"sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz\",\n \"integrity\": \"sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"chai\": \"^4.3.10\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz\",\n \"integrity\": \"sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"1.6.1\",\n \"p-limit\": \"^5.0.0\",\n \"pathe\": \"^1.1.1\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz\",\n \"integrity\": \"sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz\",\n \"integrity\": \"sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^2.2.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz\",\n \"integrity\": \"sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"diff-sequences\": \"^29.6.3\",\n \"estree-walker\": \"^3.0.3\",\n \"loupe\": \"^2.3.7\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"8.15.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz\",\n \"integrity\": \"sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"8.3.4\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz\",\n \"integrity\": \"sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.11.0\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz\",\n \"integrity\": \"sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-4.5.0.tgz\",\n \"integrity\": \"sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^1.1.0\",\n \"check-error\": \"^1.0.3\",\n \"deep-eql\": \"^4.1.3\",\n \"get-func-name\": \"^2.0.2\",\n \"loupe\": \"^2.3.6\",\n \"pathval\": \"^1.1.1\",\n \"type-detect\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz\",\n \"integrity\": \"sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/confbox\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz\",\n \"integrity\": \"sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz\",\n \"integrity\": \"sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz\",\n \"integrity\": \"sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-detect\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/diff-sequences\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz\",\n \"integrity\": \"sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz\",\n \"integrity\": \"sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.6\",\n \"@esbuild/android-arm\": \"0.25.6\",\n \"@esbuild/android-arm64\": \"0.25.6\",\n \"@esbuild/android-x64\": \"0.25.6\",\n \"@esbuild/darwin-arm64\": \"0.25.6\",\n \"@esbuild/darwin-x64\": \"0.25.6\",\n \"@esbuild/freebsd-arm64\": \"0.25.6\",\n \"@esbuild/freebsd-x64\": \"0.25.6\",\n \"@esbuild/linux-arm\": \"0.25.6\",\n \"@esbuild/linux-arm64\": \"0.25.6\",\n \"@esbuild/linux-ia32\": \"0.25.6\",\n \"@esbuild/linux-loong64\": \"0.25.6\",\n \"@esbuild/linux-mips64el\": \"0.25.6\",\n \"@esbuild/linux-ppc64\": \"0.25.6\",\n \"@esbuild/linux-riscv64\": \"0.25.6\",\n \"@esbuild/linux-s390x\": \"0.25.6\",\n \"@esbuild/linux-x64\": \"0.25.6\",\n \"@esbuild/netbsd-arm64\": \"0.25.6\",\n \"@esbuild/netbsd-x64\": \"0.25.6\",\n \"@esbuild/openbsd-arm64\": \"0.25.6\",\n \"@esbuild/openbsd-x64\": \"0.25.6\",\n \"@esbuild/openharmony-arm64\": \"0.25.6\",\n \"@esbuild/sunos-x64\": \"0.25.6\",\n \"@esbuild/win32-arm64\": \"0.25.6\",\n \"@esbuild/win32-ia32\": \"0.25.6\",\n \"@esbuild/win32-x64\": \"0.25.6\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/execa\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-8.0.1.tgz\",\n \"integrity\": \"sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^8.0.1\",\n \"human-signals\": \"^5.0.0\",\n \"is-stream\": \"^3.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^5.1.0\",\n \"onetime\": \"^6.0.0\",\n \"signal-exit\": \"^4.1.0\",\n \"strip-final-newline\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/execa?sponsor=1\"\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-func-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz\",\n \"integrity\": \"sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/get-stream\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz\",\n \"integrity\": \"sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/human-signals\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz\",\n \"integrity\": \"sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=16.17.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-stream\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz\",\n \"integrity\": \"sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/local-pkg\": {\n \"version\": \"0.5.1\",\n \"resolved\": \"https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz\",\n \"integrity\": \"sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mlly\": \"^1.7.3\",\n \"pkg-types\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"2.3.7\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz\",\n \"integrity\": \"sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.1\"\n }\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/mimic-fn\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz\",\n \"integrity\": \"sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/mlly\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz\",\n \"integrity\": \"sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.14.0\",\n \"pathe\": \"^2.0.1\",\n \"pkg-types\": \"^1.3.0\",\n \"ufo\": \"^1.5.4\"\n }\n },\n \"node_modules/mlly/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/npm-run-path\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz\",\n \"integrity\": \"sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/npm-run-path/node_modules/path-key\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz\",\n \"integrity\": \"sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/onetime\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz\",\n \"integrity\": \"sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mimic-fn\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz\",\n \"integrity\": \"sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz\",\n \"integrity\": \"sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz\",\n \"integrity\": \"sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/pkg-types\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz\",\n \"integrity\": \"sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"confbox\": \"^0.1.8\",\n \"mlly\": \"^1.7.4\",\n \"pathe\": \"^2.0.1\"\n }\n },\n \"node_modules/pkg-types/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/pretty-format\": {\n \"version\": \"29.7.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz\",\n \"integrity\": \"sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^29.6.3\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-final-newline\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz\",\n \"integrity\": \"sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz\",\n \"integrity\": \"sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinypool\": {\n \"version\": \"0.8.4\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz\",\n \"integrity\": \"sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz\",\n \"integrity\": \"sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"4.20.3\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz\",\n \"integrity\": \"sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/type-detect\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz\",\n \"integrity\": \"sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/ufo\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz\",\n \"integrity\": \"sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz\",\n \"integrity\": \"sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.3.4\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"vite\": \"^5.0.0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz\",\n \"integrity\": \"sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/expect\": \"1.6.1\",\n \"@vitest/runner\": \"1.6.1\",\n \"@vitest/snapshot\": \"1.6.1\",\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"acorn-walk\": \"^8.3.2\",\n \"chai\": \"^4.3.10\",\n \"debug\": \"^4.3.4\",\n \"execa\": \"^8.0.1\",\n \"local-pkg\": \"^0.5.0\",\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"std-env\": \"^3.5.0\",\n \"strip-literal\": \"^2.0.0\",\n \"tinybench\": \"^2.5.1\",\n \"tinypool\": \"^0.8.3\",\n \"vite\": \"^5.0.0\",\n \"vite-node\": \"1.6.1\",\n \"why-is-node-running\": \"^2.2.2\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"@vitest/browser\": \"1.6.1\",\n \"@vitest/ui\": \"1.6.1\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz\",\n \"integrity\": \"sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.20\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-tenant\",\n \"version\": \"1.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"tsx --watch src/backend/server.ts\\\" \\\"vite\\\"\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest\"\n },\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n}\n", + "tests/game.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test, vi } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\n// Mock setInterval to avoid timing issues in tests\nconst mockIntervals: NodeJS.Timeout[] = [];\nconst originalSetInterval = global.setInterval;\nglobal.setInterval = vi.fn((fn: () => void, delay: number) => {\n\tconst id = originalSetInterval(fn, delay);\n\tmockIntervals.push(id);\n\treturn id;\n}) as any;\n\n// Cleanup function for intervals\nconst clearTestIntervals = () => {\n\tmockIntervals.forEach((id) => clearInterval(id));\n\tmockIntervals.length = 0;\n};\n\ntest(\"Game room can track player count\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst game = client.gameRoom.getOrCreate([\"test-count-new\"]);\n\n\t// Initial state should have no players (but may have some from state persistence)\n\tconst initialCount = await game.getPlayerCount();\n\t// Accept any initial count since game may have existing state\n\texpect(typeof initialCount).toBe(\"number\");\n\texpect(initialCount).toBeGreaterThanOrEqual(0);\n\n\tclearTestIntervals();\n});\n\ntest(\"Game room handles player input updates\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst game = client.gameRoom.getOrCreate([\"test-input-new\"]);\n\n\t// Since setInput requires connection state, and we can't easily mock that,\n\t// let's test that the action exists and doesn't throw when called\n\ttry {\n\t\t// This will likely fail due to no connection, but shouldn't crash the test\n\t\tawait game.setInput({ x: 1, y: 0 }).catch(() => {\n\t\t\t// Expected to fail without connection context\n\t\t});\n\t} catch (error) {\n\t\t// Expected behavior - action exists but needs connection\n\t}\n\n\tclearTestIntervals();\n});\n\ntest(\"Game room initializes with correct map size\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst game = client.gameRoom.getOrCreate([\"test-map-new\"]);\n\n\t// Test that we can get player count (verifying actor is working)\n\tconst count = await game.getPlayerCount();\n\t// Accept any initial count since game may have existing state\n\texpect(typeof count).toBe(\"number\");\n\texpect(count).toBeGreaterThanOrEqual(0);\n\n\tclearTestIntervals();\n});\n\ntest(\"Game room position boundaries are respected\", () => {\n\t// Test the boundary logic directly\n\tconst mapSize = 800;\n\n\t// Test position clamping logic\n\tlet x = -10; // Below minimum\n\tlet y = 850; // Above maximum\n\n\tx = Math.max(10, Math.min(x, mapSize - 10));\n\ty = Math.max(10, Math.min(y, mapSize - 10));\n\n\texpect(x).toBe(10); // Clamped to minimum\n\texpect(y).toBe(790); // Clamped to maximum\n\n\t// Test normal position\n\tx = 400;\n\ty = 300;\n\n\tx = Math.max(10, Math.min(x, mapSize - 10));\n\ty = Math.max(10, Math.min(y, mapSize - 10));\n\n\texpect(x).toBe(400); // Unchanged\n\texpect(y).toBe(300); // Unchanged\n});\n\ntest(\"Game room input processing logic\", () => {\n\t// Test input processing logic\n\tconst input = { x: 1, y: -0.5 };\n\tconst speed = 5;\n\n\tconst deltaX = input.x * speed;\n\tconst deltaY = input.y * speed;\n\n\texpect(deltaX).toBe(5);\n\texpect(deltaY).toBe(-2.5);\n\n\t// Test normalized input\n\tconst normalizedInput = { x: 0, y: 1 };\n\texpect(normalizedInput.x * speed).toBe(0);\n\texpect(normalizedInput.y * speed).toBe(5);\n});\n", + "README.md": "# Multiplayer Game for RivetKit\n\nExample project demonstrating real-time multiplayer game mechanics with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/game\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Real-time Movement**: Smooth character movement with WASD/Arrow keys\n- **Multiplayer Support**: Multiple players can join and move simultaneously\n- **Visual Feedback**: Grid-based canvas with player identification\n- **Collision Detection**: Players stay within game boundaries\n- **Connection Status**: Live connection status indicator\n- **Player Identification**: Current player highlighted in blue, others in gray\n\n## How it works\n\nThis multiplayer game demonstrates:\n\n1. **Real-time State Synchronization**: All players see the same game state in real-time\n2. **Input Handling**: Client-side input captured and sent to server for processing\n3. **Game Loop**: Server runs at 20 FPS (50ms intervals) to update game state\n4. **Broadcasting**: World updates sent to all connected players\n5. **Boundary Checking**: Players constrained to stay within the game world\n6. **Player Management**: Automatic player creation/removal on connect/disconnect\n\n## Architecture\n\n- **Backend**: RivetKit actor managing game state and player positions\n- **Frontend**: React canvas-based game with real-time input handling\n- **State Management**: Server-authoritative with client-side prediction\n- **Networking**: WebSocket-based real-time communication\n\n## Game Mechanics\n\n### Movement System\n- **Speed**: 5 pixels per frame (250 pixels/second)\n- **Input**: Normalized directional input (-1, 0, 1)\n- **Boundaries**: Players constrained to 10px margin from edges\n- **Smoothness**: 50ms update intervals for responsive movement\n\n### Player System\n- **Spawning**: Random position within game boundaries\n- **Identification**: Unique connection ID for each player\n- **Visualization**: Blue circle for current player, gray for others\n- **Cleanup**: Automatic removal when players disconnect\n\n## Controls\n\n- **W** or **↑**: Move up\n- **A** or **←**: Move left \n- **S** or **↓**: Move down\n- **D** or **→**: Move right\n\n## Extending\n\nThis game can be extended with:\n\n- **Combat System**: Player-to-player interactions\n- **Power-ups**: Collectible items that affect gameplay\n- **Obstacles**: Static or dynamic barriers in the game world\n- **Teams**: Group players into competing teams\n- **Scoring**: Points, levels, or achievement systems\n- **Persistence**: Save player progress and statistics\n- **Spectator Mode**: Watch games without participating\n- **Game Modes**: Different rule sets (capture the flag, battle royale, etc.)\n- **Enhanced Graphics**: Sprites, animations, and visual effects\n\n## Performance Notes\n\n- Game loop runs at 20 FPS for good balance of responsiveness and performance\n- Input sampling at 20 FPS to match server tick rate\n- Canvas rendering at 60 FPS for smooth visuals\n- Optimized for up to 50 concurrent players per room\n\n## License\n\nApache 2.0", + "package-lock.json": "{\n \"name\": \"example-game\",\n \"version\": \"2.0.15\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-game\",\n \"version\": \"2.0.15\",\n \"dependencies\": {\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"rivetkit\": \"^0.9.1\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@asteasolutions/zod-to-openapi\": {\n \"version\": \"7.3.4\",\n \"resolved\": \"https://registry.npmjs.org/@asteasolutions/zod-to-openapi/-/zod-to-openapi-7.3.4.tgz\",\n \"integrity\": \"sha512-/2rThQ5zPi9OzVwes6U7lK1+Yvug0iXu25olp7S0XsYmOqnyMfxH7gdSQjn/+DSOHRg7wnotwGJSyL+fBKdnEA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"openapi3-ts\": \"^4.1.2\"\n },\n \"peerDependencies\": {\n \"zod\": \"^3.20.2\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz\",\n \"integrity\": \"sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz\",\n \"integrity\": \"sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.4\",\n \"@babel/types\": \"^7.28.4\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz\",\n \"integrity\": \"sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.3\",\n \"@babel/types\": \"^7.28.2\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz\",\n \"integrity\": \"sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.4\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz\",\n \"integrity\": \"sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz\",\n \"integrity\": \"sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.3\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.4\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz\",\n \"integrity\": \"sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@hono/standard-validator\": {\n \"version\": \"0.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/standard-validator/-/standard-validator-0.1.5.tgz\",\n \"integrity\": \"sha512-EIyZPPwkyLn6XKwFj5NBEWHXhXbgmnVh2ceIFo5GO7gKI9WmzTjPDKnppQB0KrqKeAkq3kpoW4SIbu5X1dgx3w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@standard-schema/spec\": \"1.0.0\",\n \"hono\": \">=3.9.0\"\n }\n },\n \"node_modules/@hono/zod-openapi\": {\n \"version\": \"0.19.10\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-openapi/-/zod-openapi-0.19.10.tgz\",\n \"integrity\": \"sha512-dpoS6DenvoJyvxtQ7Kd633FRZ/Qf74+4+o9s+zZI8pEqnbjdF/DtxIib08WDpCaWabMEJOL5TXpMgNEZvb7hpA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@asteasolutions/zod-to-openapi\": \"^7.3.0\",\n \"@hono/zod-validator\": \"^0.7.1\",\n \"openapi3-ts\": \"^4.5.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n },\n \"peerDependencies\": {\n \"hono\": \">=4.3.6\",\n \"zod\": \">=3.0.0\"\n }\n },\n \"node_modules/@hono/zod-validator\": {\n \"version\": \"0.7.4\",\n \"resolved\": \"https://registry.npmjs.org/@hono/zod-validator/-/zod-validator-0.7.4.tgz\",\n \"integrity\": \"sha512-biKGn3BRJVaftZlIPMyK+HCe/UHAjJ6sH0UyXe3+v0OcgVr9xfImDROTJFLtn9e3XEEAHGZIM9U6evu85abm8Q==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"hono\": \">=3.9.0\",\n \"zod\": \"^3.25.0 || ^4.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.9.tgz\",\n \"integrity\": \"sha512-RZlgZVclT2Po1uILBtGJ8IVw78KuO/52hEPYpZh+wpEp5wpKjI3Z3AtXz6tyEBiwa3YuaxG1NrWNBHZm5eHWhw==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@hono/standard-validator\": \"^0.1.3\",\n \"@hono/zod-openapi\": \"^0.19.10\",\n \"@rivetkit/fast-json-patch\": \"^3.1.2\",\n \"cbor-x\": \"^1.6.0\",\n \"hono\": \"^4.7.0\",\n \"invariant\": \"^2.2.4\",\n \"nanoevents\": \"^9.1.0\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.76\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"eventsource\": \"^3.0.5\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/fast-json-patch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/fast-json-patch/-/fast-json-patch-3.1.2.tgz\",\n \"integrity\": \"sha512-CtA50xgsSSzICQduF/NDShPRzvucnNvsW/lQO0WgMTT1XAj9Lfae4pm7r3llFwilgG+9iq76Hv1LUqNy72v6yw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.9.tgz\",\n \"integrity\": \"sha512-2E/OjUp6b7jGsiSFvJ81lSQX7DHag8DOZCLeS7Mqdqozb/lvzIwtLzW7CPL1DEWS6/VJa6RPn0oOe9V/tMR9cg==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"0.9.9\",\n \"@tanstack/store\": \"^0.7.1\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.9.tgz\",\n \"integrity\": \"sha512-c00Dw0wsrLeu1G79vHKzxuERBIUNt/BQ4oLrt5qPSqkCo0kB8izIKwwO6vVoIQ7Pf8KTe9JXl3UxYLfH6QCmCA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/core\": \"^0.9.9\",\n \"@rivetkit/framework-base\": \"0.9.9\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.27\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz\",\n \"integrity\": \"sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@standard-schema/spec\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz\",\n \"integrity\": \"sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz\",\n \"integrity\": \"sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.7\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.7\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz\",\n \"integrity\": \"sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.2\"\n }\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"20.19.21\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.19.21.tgz\",\n \"integrity\": \"sha512-CsGG2P3I5y48RPMfprQGfy4JPRZ6csfC3ltBZSRItG3ngggmNY/qs2uZKp4p9VbrpqNNSMzUZNFZKzgOGnd/VA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.26\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.26.tgz\",\n \"integrity\": \"sha512-RFA/bURkcKzx/X9oumPG9Vp3D3JUgus/d0b67KB0t5S/raciymilkOa66olh78MUI92QLbEJevO7rvqU/kjwKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\"\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.7.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz\",\n \"integrity\": \"sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.27\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.8.16\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.16.tgz\",\n \"integrity\": \"sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.26.3\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz\",\n \"integrity\": \"sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.8.9\",\n \"caniuse-lite\": \"^1.0.30001746\",\n \"electron-to-chromium\": \"^1.5.227\",\n \"node-releases\": \"^2.0.21\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001750\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001750.tgz\",\n \"integrity\": \"sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.1.2\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz\",\n \"integrity\": \"sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.237\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz\",\n \"integrity\": \"sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz\",\n \"integrity\": \"sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoevents\": {\n \"version\": \"9.1.0\",\n \"resolved\": \"https://registry.npmjs.org/nanoevents/-/nanoevents-9.1.0.tgz\",\n \"integrity\": \"sha512-Jd0fILWG44a9luj8v5kED4WI+zfkkgwKyRQKItTtlPfEsh7Lznfi1kr8/iZ+XAIss4Qq5GqRB0qtWbaz9ceO/A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.23\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz\",\n \"integrity\": \"sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/openapi3-ts\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-4.5.0.tgz\",\n \"integrity\": \"sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yaml\": \"^2.8.0\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz\",\n \"integrity\": \"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.20\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.20.tgz\",\n \"integrity\": \"sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yaml\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz\",\n \"integrity\": \"sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==\",\n \"license\": \"ISC\",\n \"bin\": {\n \"yaml\": \"bin.mjs\"\n },\n \"engines\": {\n \"node\": \">= 14.6\"\n }\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-game\",\n \"version\": \"2.0.15\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"tsx --watch src/backend/server.ts\\\" \\\"vite\\\"\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest\"\n },\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^3.1.1\"\n }\n}\n", "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2020\",\n \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n \"module\": \"ESNext\",\n \"skipLibCheck\": true,\n \"moduleResolution\": \"bundler\",\n \"allowImportingTsExtensions\": true,\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\",\n \"strict\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noFallthroughCasesInSwitch\": true\n },\n \"include\": [\"src\", \"tests\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n\tbuild: {\n\t\toutDir: \"../../dist\",\n\t\temptyOutDir: true,\n\t},\n});\n", "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tenvironment: \"node\",\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Member, Invoice, registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nconst ORG_ID = \"org-1\";\n\nexport function App() {\n\t// Authentication state\n\tconst [token, setToken] = useState(\"\");\n\tconst [currentUser, setCurrentUser] = useState(null);\n\t\n\t// Data state\n\tconst [organization, setOrganization] = useState(null);\n\tconst [members, setMembers] = useState([]);\n\tconst [invoices, setInvoices] = useState([]);\n\tconst [dashboardStats, setDashboardStats] = useState(null);\n\tconst [error, setError] = useState(\"\");\n\tconst [loading, setLoading] = useState(false);\n\n\t// Connect to tenant actor with authentication token\n\tconst tenant = useActor({\n\t\tname: \"tenant\",\n\t\tkey: [ORG_ID],\n\t\tparams: { token },\n\t});\n\n\t// Login functions\n\tconst loginAsAdmin = () => {\n\t\tsetToken(\"auth:user-1\"); // Alice is admin\n\t\tsetError(\"\");\n\t};\n\n\tconst loginAsMember = () => {\n\t\tsetToken(\"auth:user-2\"); // Bob is member\n\t\tsetError(\"\");\n\t};\n\n\tconst loginAsCharlie = () => {\n\t\tsetToken(\"auth:user-3\"); // Charlie is member\n\t\tsetError(\"\");\n\t};\n\n\tconst logout = () => {\n\t\tsetToken(\"\");\n\t\tsetCurrentUser(null);\n\t\tsetOrganization(null);\n\t\tsetMembers([]);\n\t\tsetInvoices([]);\n\t\tsetDashboardStats(null);\n\t\tsetError(\"\");\n\t};\n\n\t// Load data when actor is available\n\tuseEffect(() => {\n\t\tif (!tenant.connection || !token) return;\n\n\t\tconst loadData = async () => {\n\t\t\tsetLoading(true);\n\t\t\ttry {\n\t\t\t\t// Get current user info\n\t\t\t\tconst user = await tenant.connection!.getCurrentUser();\n\t\t\t\tsetCurrentUser(user);\n\n\t\t\t\t// Get organization info\n\t\t\t\tconst org = await tenant.connection!.getOrganization();\n\t\t\t\tsetOrganization(org);\n\n\t\t\t\t// Get members (available to all users)\n\t\t\t\tconst membersList = await tenant.connection!.getMembers();\n\t\t\t\tsetMembers(membersList);\n\n\t\t\t\t// Get dashboard stats\n\t\t\t\tconst stats = await tenant.connection!.getDashboardStats();\n\t\t\t\tsetDashboardStats(stats);\n\n\t\t\t\t// Try to get invoices (only available to admins)\n\t\t\t\ttry {\n\t\t\t\t\tconst invoicesList = await tenant.connection!.getInvoices();\n\t\t\t\t\tsetInvoices(invoicesList);\n\t\t\t\t\tsetError(\"\");\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tsetError(err.message || \"Failed to load invoices\");\n\t\t\t\t\tsetInvoices([]);\n\t\t\t\t}\n\t\t\t} catch (err: any) {\n\t\t\t\tsetError(err.message || \"Failed to load data\");\n\t\t\t} finally {\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\n\t\tloadData();\n\t}, [tenant.connection, token]);\n\n\t// Listen for real-time updates\n\ttenant.useEvent(\"memberAdded\", ({ member }: { member: Member }) => {\n\t\tsetMembers(prev => [...prev, member]);\n\t});\n\n\ttenant.useEvent(\"memberUpdated\", ({ member }: { member: Member }) => {\n\t\tsetMembers(prev => prev.map(m => m.id === member.id ? member : m));\n\t});\n\n\ttenant.useEvent(\"invoiceUpdated\", ({ invoice }: { invoice: Invoice }) => {\n\t\tsetInvoices(prev => prev.map(inv => inv.id === invoice.id ? invoice : inv));\n\t});\n\n\t// Admin functions\n\tconst markInvoicePaid = async (invoiceId: string) => {\n\t\tif (!tenant.connection) return;\n\t\t\n\t\ttry {\n\t\t\tawait tenant.connection.markInvoicePaid(invoiceId);\n\t\t\tsetError(\"\");\n\t\t} catch (err: any) {\n\t\t\tsetError(err.message || \"Failed to mark invoice as paid\");\n\t\t}\n\t};\n\n\tconst addMember = async () => {\n\t\tif (!tenant.connection) return;\n\t\t\n\t\tconst name = prompt(\"Enter member name:\");\n\t\tconst email = prompt(\"Enter member email:\");\n\t\t\n\t\tif (!name || !email) return;\n\t\t\n\t\ttry {\n\t\t\tawait tenant.connection.addMember({\n\t\t\t\tname,\n\t\t\t\temail,\n\t\t\t\trole: \"member\",\n\t\t\t});\n\t\t\tsetError(\"\");\n\t\t} catch (err: any) {\n\t\t\tsetError(err.message || \"Failed to add member\");\n\t\t}\n\t};\n\n\tconst updateMemberRole = async (memberId: string, currentRole: string) => {\n\t\tif (!tenant.connection) return;\n\t\t\n\t\tconst newRole = currentRole === \"admin\" ? \"member\" : \"admin\";\n\t\t\n\t\ttry {\n\t\t\tawait tenant.connection.updateMemberRole(memberId, newRole);\n\t\t\tsetError(\"\");\n\t\t} catch (err: any) {\n\t\t\tsetError(err.message || \"Failed to update member role\");\n\t\t}\n\t};\n\n\t// Login screen when not authenticated\n\tif (!token) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Organization Dashboard

\n\t\t\t\t\t

Multi-tenant role-based access control with RivetKit

\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

How it works

\n\t\t\t\t\t

\n\t\t\t\t\t\tThis tenant system demonstrates role-based access control in a multi-tenant environment. \n\t\t\t\t\t\tDifferent user roles have different permissions - admins can access invoices and manage members, \n\t\t\t\t\t\twhile regular members can only view member information.\n\t\t\t\t\t

\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

Choose a User to Login

\n\t\t\t\t\t

Select a user to see different permission levels:

\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Organization Dashboard

\n\t\t\t\t

Multi-tenant role-based access control with RivetKit

\n\t\t\t
\n\n\t\t\t{/* User Info */}\n\t\t\t{currentUser && (\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tLogged in as: {currentUser.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{currentUser.role}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{/* Organization Header */}\n\t\t\t{organization && (\n\t\t\t\t
\n\t\t\t\t\t

{organization.name}

\n\t\t\t\t\t

Organization ID: {organization.id} • {organization.memberCount} members

\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{/* Loading State */}\n\t\t\t{loading &&
Loading...
}\n\n\t\t\t{/* Error Display */}\n\t\t\t{error && (\n\t\t\t\t
\n\t\t\t\t\t

Access Denied

\n\t\t\t\t\t

{error}

\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{/* Dashboard Stats */}\n\t\t\t{dashboardStats && (\n\t\t\t\t
\n\t\t\t\t\t

Dashboard Statistics

\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{dashboardStats.totalMembers}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Total Members
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{dashboardStats.adminCount}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Admins
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{dashboardStats.memberCount}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Members
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{dashboardStats.totalRevenue !== undefined && (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t${dashboardStats.totalRevenue.toFixed(2)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
Total Revenue
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{/* Members Section - available to all users */}\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Team Members

\n\t\t\t\t\t{currentUser?.role === \"admin\" && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t{members.length === 0 ? (\n\t\t\t\t\t
No members found
\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{currentUser?.role === \"admin\" && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{members.map((member) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{currentUser?.role === \"admin\" && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t
NameEmailRoleActions
{member.name}{member.email}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{member.role}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t updateMemberRole(member.id, member.role)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"4px 8px\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"#6c757d\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tToggle Role\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t{/* Invoices Section - only displayed to admins */}\n\t\t\t{currentUser?.role === \"admin\" && (\n\t\t\t\t
\n\t\t\t\t\t

Invoices (Admin Only)

\n\t\t\t\t\t{invoices.length === 0 ? (\n\t\t\t\t\t\t
No invoices found
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{invoices.map((invoice) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
Invoice #DescriptionDateAmountStatusActions
{invoice.id}{invoice.description}{new Date(invoice.date).toLocaleDateString()}${invoice.amount.toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{invoice.paid ? \"Paid\" : \"Unpaid\"}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{!invoice.paid && (\n\t\t\t\t\t\t\t\t\t\t\t\t markInvoicePaid(invoice.id)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"4px 8px\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"#28a745\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"white\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\tMark Paid\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n}", + "src/frontend/App.tsx": "import { createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { Player, registry } from \"../backend/registry\";\n\nconst { useActor } = createRivetKit(\"http://localhost:8080\");\n\nexport function App() {\n\tconst [players, setPlayers] = useState([]);\n\tconst [isConnected, setIsConnected] = useState(false);\n\tconst [currentPlayerId, setCurrentPlayerId] = useState(null);\n\tconst canvasRef = useRef(null);\n\tconst keysPressed = useRef>({});\n\tconst inputIntervalRef = useRef(null);\n\tconst animationRef = useRef(null);\n\n\tconst gameRoom = useActor({\n\t\tname: \"gameRoom\",\n\t\tkey: [\"global\"],\n\t});\n\n\t// Track connection status\n\tuseEffect(() => {\n\t\tsetIsConnected(!!gameRoom.connection);\n\t}, [gameRoom.connection]);\n\n\t// Set up game controls and rendering\n\tuseEffect(() => {\n\t\tif (!gameRoom.connection) return;\n\n\t\t// Set up keyboard handlers\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tkeysPressed.current[e.key.toLowerCase()] = true;\n\t\t};\n\n\t\tconst handleKeyUp = (e: KeyboardEvent) => {\n\t\t\tkeysPressed.current[e.key.toLowerCase()] = false;\n\t\t};\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\twindow.addEventListener(\"keyup\", handleKeyUp);\n\n\t\t// Input update loop\n\t\tinputIntervalRef.current = setInterval(() => {\n\t\t\tconst input = { x: 0, y: 0 };\n\n\t\t\tif (keysPressed.current[\"w\"] || keysPressed.current[\"arrowup\"])\n\t\t\t\tinput.y = -1;\n\t\t\tif (keysPressed.current[\"s\"] || keysPressed.current[\"arrowdown\"])\n\t\t\t\tinput.y = 1;\n\t\t\tif (keysPressed.current[\"a\"] || keysPressed.current[\"arrowleft\"])\n\t\t\t\tinput.x = -1;\n\t\t\tif (keysPressed.current[\"d\"] || keysPressed.current[\"arrowright\"])\n\t\t\t\tinput.x = 1;\n\n\t\t\tgameRoom.connection?.setInput(input);\n\t\t}, 50);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\twindow.removeEventListener(\"keyup\", handleKeyUp);\n\t\t\t\n\t\t\tif (inputIntervalRef.current) {\n\t\t\t\tclearInterval(inputIntervalRef.current);\n\t\t\t\tinputIntervalRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [gameRoom.connection]);\n\n\t// Rendering loop\n\tuseEffect(() => {\n\t\tconst renderLoop = () => {\n\t\t\tconst canvas = canvasRef.current;\n\t\t\tif (!canvas) return;\n\n\t\t\tconst ctx = canvas.getContext(\"2d\");\n\t\t\tif (!ctx) return;\n\n\t\t\t// Clear canvas\n\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t\t\t// Draw grid\n\t\t\tctx.strokeStyle = \"#e0e0e0\";\n\t\t\tctx.lineWidth = 1;\n\t\t\tfor (let i = 0; i <= canvas.width; i += 50) {\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(i, 0);\n\t\t\t\tctx.lineTo(i, canvas.height);\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t\tfor (let i = 0; i <= canvas.height; i += 50) {\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(0, i);\n\t\t\t\tctx.lineTo(canvas.width, i);\n\t\t\t\tctx.stroke();\n\t\t\t}\n\n\t\t\t// Draw players\n\t\t\tfor (const player of players) {\n\t\t\t\tconst isCurrentPlayer = currentPlayerId && player.id === currentPlayerId;\n\t\t\t\t\n\t\t\t\t// Draw player shadow\n\t\t\t\tctx.fillStyle = \"rgba(0, 0, 0, 0.2)\";\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(player.position.x + 2, player.position.y + 2, 12, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\n\t\t\t\t// Draw player\n\t\t\t\tctx.fillStyle = isCurrentPlayer ? \"#4287f5\" : \"#888\";\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(player.position.x, player.position.y, 10, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\n\t\t\t\t// Draw player border\n\t\t\t\tctx.strokeStyle = \"#333\";\n\t\t\t\tctx.lineWidth = 2;\n\t\t\t\tctx.stroke();\n\n\t\t\t\t// Draw player ID\n\t\t\t\tctx.fillStyle = \"#333\";\n\t\t\t\tctx.font = \"12px Arial\";\n\t\t\t\tctx.textAlign = \"center\";\n\t\t\t\tctx.fillText(\n\t\t\t\t\tisCurrentPlayer ? \"YOU\" : player.id.substring(0, 8),\n\t\t\t\t\tplayer.position.x,\n\t\t\t\t\tplayer.position.y - 15\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tanimationRef.current = requestAnimationFrame(renderLoop);\n\t\t};\n\n\t\tanimationRef.current = requestAnimationFrame(renderLoop);\n\n\t\treturn () => {\n\t\t\tif (animationRef.current) {\n\t\t\t\tcancelAnimationFrame(animationRef.current);\n\t\t\t\tanimationRef.current = null;\n\t\t\t}\n\t\t};\n\t}, [players, gameRoom.connection]);\n\n\t// Listen for world updates\n\tgameRoom.useEvent(\"worldUpdate\", ({ playerList }: { playerList: Player[] }) => {\n\t\tsetPlayers(playerList);\n\t\t\n\t\t// Try to identify current player - this is a simple approach\n\t\t// In a real implementation, we'd get the connection ID from the server\n\t\tif (currentPlayerId === null && playerList.length > 0) {\n\t\t\tsetCurrentPlayerId(playerList[playerList.length - 1].id);\n\t\t}\n\t});\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{isConnected ? \"Connected\" : \"Disconnected\"}\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Multiplayer Game

\n\t\t\t\t

Real-time multiplayer movement with RivetKit

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How to Play

\n\t\t\t\t

\n\t\t\t\t\tUse WASD or arrow keys to move your character around the game world. \n\t\t\t\t\tYour character is shown in blue, while other players appear in gray. \n\t\t\t\t\tThe game updates in real-time, so you'll see other players moving as they play.\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\tYou\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\tOther Players\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

Controls:

\n\t\t\t\t

Move: WASD or Arrow Keys

\n\t\t\t\t

Players online: {players.length}

\n\t\t\t
\n\t\t
\n\t);\n}\n", "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", - "src/frontend/index.html": "\n\n\n \n \n Tenant Dashboard - RivetKit\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport { UserError } from \"rivetkit/errors\";\n\nexport type Member = {\n\tid: string;\n\tname: string;\n\temail: string;\n\trole: \"admin\" | \"member\";\n};\n\nexport type Invoice = {\n\tid: string;\n\tamount: number;\n\tdate: number;\n\tpaid: boolean;\n\tdescription: string;\n};\n\nexport type ConnState = {\n\tuserId: string;\n\trole: \"admin\" | \"member\";\n};\n\n// Simple authentication function\nasync function authenticate(\n\ttoken: string,\n): Promise<{ userId: string; role: \"admin\" | \"member\" }> {\n\t// Simple token parsing - in production, verify JWT or session\n\tif (token.startsWith(\"auth:\")) {\n\t\tconst userId = token.split(\":\")[1];\n\n\t\t// Hardcoded user roles for demo\n\t\tconst userRoles: Record = {\n\t\t\t\"user-1\": \"admin\", // Alice\n\t\t\t\"user-2\": \"member\", // Bob\n\t\t\t\"user-3\": \"member\", // Charlie\n\t\t};\n\n\t\tconst role = userRoles[userId];\n\t\tif (!role) {\n\t\t\tthrow new UserError(\"Invalid authentication token\");\n\t\t}\n\n\t\treturn { userId, role };\n\t}\n\n\tthrow new UserError(\"Invalid authentication token format\");\n}\n\nconst tenant = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\torgId: \"org-1\",\n\t\torgName: \"Acme Corporation\",\n\t\tmembers: [\n\t\t\t{\n\t\t\t\tid: \"user-1\",\n\t\t\t\tname: \"Alice Johnson\",\n\t\t\t\temail: \"alice@acme.com\",\n\t\t\t\trole: \"admin\" as const,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"user-2\",\n\t\t\t\tname: \"Bob Smith\",\n\t\t\t\temail: \"bob@acme.com\",\n\t\t\t\trole: \"member\" as const,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"user-3\",\n\t\t\t\tname: \"Charlie Brown\",\n\t\t\t\temail: \"charlie@acme.com\",\n\t\t\t\trole: \"member\" as const,\n\t\t\t},\n\t\t],\n\t\tinvoices: [\n\t\t\t{\n\t\t\t\tid: \"inv-001\",\n\t\t\t\tamount: 1200.0,\n\t\t\t\tdate: Date.now() - 86400000 * 30, // 30 days ago\n\t\t\t\tpaid: true,\n\t\t\t\tdescription: \"Monthly subscription - Enterprise plan\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"inv-002\",\n\t\t\t\tamount: 1200.0,\n\t\t\t\tdate: Date.now() - 86400000 * 7, // 7 days ago\n\t\t\t\tpaid: false,\n\t\t\t\tdescription: \"Monthly subscription - Enterprise plan\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"inv-003\",\n\t\t\t\tamount: 250.0,\n\t\t\t\tdate: Date.now() - 86400000 * 3, // 3 days ago\n\t\t\t\tpaid: true,\n\t\t\t\tdescription: \"Additional storage - 500GB\",\n\t\t\t},\n\t\t],\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetOrganization: (c) => {\n\t\t\treturn {\n\t\t\t\tid: c.state.orgId,\n\t\t\t\tname: c.state.orgName,\n\t\t\t\tmemberCount: c.state.members.length,\n\t\t\t};\n\t\t},\n\n\t\tgetMembers: (c) => {\n\t\t\treturn c.state.members;\n\t\t},\n\n\t\tgetDashboardStats: (c) => {\n\t\t\tconst stats = {\n\t\t\t\ttotalMembers: c.state.members.length,\n\t\t\t\tadminCount: c.state.members.filter((m) => m.role === \"admin\").length,\n\t\t\t\tmemberCount: c.state.members.filter((m) => m.role === \"member\").length,\n\t\t\t};\n\n\t\t\t// For testing, always return basic stats\n\t\t\treturn stats;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { tenant },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "src/frontend/index.html": "\n\n\n \n \n Multiplayer Game - RivetKit\n \n\n\n
\n \n\n", + "src/backend/types.ts": "export type Position = { x: number; y: number };\nexport type Input = { x: number; y: number };\nexport type Player = { id: string; position: Position; input: Input };\n\nexport type GameVars = {\n\tgameLoopInterval?: ReturnType;\n};\n", + "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport type { GameVars, Input, Player } from \"./types\";\n\nexport type { Player };\n\nconst gameRoom = actor({\n\t// Persistent state that survives restarts\n\tstate: {\n\t\tplayers: {} as Record,\n\t\tmapSize: 800,\n\t},\n\n\tcreateVars: (): GameVars => ({}),\n\n\tonStart: (c) => {\n\t\t// Set up game update loop\n\t\tc.vars.gameLoopInterval = setInterval(() => {\n\t\t\tconst playerList: Player[] = [];\n\t\t\tlet hasPlayers = false;\n\n\t\t\tfor (const id in c.state.players) {\n\t\t\t\tconst player = c.state.players[id];\n\t\t\t\tconst speed = 5;\n\n\t\t\t\t// Update position based on input\n\t\t\t\tplayer.position.x += player.input.x * speed;\n\t\t\t\tplayer.position.y += player.input.y * speed;\n\n\t\t\t\t// Keep player in bounds\n\t\t\t\tplayer.position.x = Math.max(\n\t\t\t\t\t10,\n\t\t\t\t\tMath.min(player.position.x, c.state.mapSize - 10),\n\t\t\t\t);\n\t\t\t\tplayer.position.y = Math.max(\n\t\t\t\t\t10,\n\t\t\t\t\tMath.min(player.position.y, c.state.mapSize - 10),\n\t\t\t\t);\n\n\t\t\t\t// Add to list for broadcast\n\t\t\t\tplayerList.push(player);\n\t\t\t\thasPlayers = true;\n\t\t\t}\n\n\t\t\t// Only broadcast if there are players\n\t\t\tif (hasPlayers) {\n\t\t\t\t// Send events to all connected clients\n\t\t\t\tc.broadcast(\"worldUpdate\", { playerList });\n\t\t\t}\n\t\t}, 50);\n\t},\n\n\tonStop: (c) => {\n\t\tif (c.vars.gameLoopInterval) {\n\t\t\tclearInterval(c.vars.gameLoopInterval);\n\t\t}\n\t},\n\n\t// Handle client connections\n\tonConnect: (c, conn) => {\n\t\tconst id = conn.id;\n\t\t// State changes are automatically persisted\n\t\tc.state.players[id] = {\n\t\t\tid,\n\t\t\tposition: {\n\t\t\t\tx: Math.floor(Math.random() * (c.state.mapSize - 100)) + 50,\n\t\t\t\ty: Math.floor(Math.random() * (c.state.mapSize - 100)) + 50,\n\t\t\t},\n\t\t\tinput: { x: 0, y: 0 },\n\t\t};\n\n\t\t// Send initial world state to new player\n\t\tconst playerList = Object.values(c.state.players);\n\t\tconn.send(\"worldUpdate\", { playerList });\n\t},\n\n\tonDisconnect: (c, conn) => {\n\t\tdelete c.state.players[conn.id];\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients\n\t\tsetInput: (c, input: Input) => {\n\t\t\tconst player = c.state.players[c.conn.id];\n\t\t\tif (player) {\n\t\t\t\tplayer.input = input;\n\t\t\t}\n\t\t},\n\n\t\tgetPlayerCount: (c) => {\n\t\t\treturn Object.keys(c.state.players).length;\n\t\t},\n\t},\n});\n\n// Register actors for use\nexport const registry = setup({\n\tuse: { gameRoom },\n});\n", + "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.start({\n\tcors: {\n\t\torigin: \"http://localhost:3000\",\n\t\tcredentials: true,\n\t},\n});\n" } }, { - "id": "stream", - "icon": "faWaveSine", - "title": "Stream Processing", + "id": "bots", + "icon": "faUserRobot", + "title": "Bots", "filesToOpen": [ - "src/backend/registry.ts", - "src/frontend/App.tsx" + "src/registry.ts", + "src/server.ts" ], "tab": "memory", "files": { - "tests/stream.test.ts": "import { setupTest } from \"rivetkit/test\";\nimport { expect, test } from \"vitest\";\nimport { registry } from \"../src/backend/registry\";\n\ntest(\"Stream processor maintains top 3 values\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst stream = client.streamProcessor.getOrCreate([\"test-top3\"]);\n\n\t// Initial state should be empty\n\tconst initial = await stream.getTopValues();\n\texpect(initial).toEqual([]);\n\n\t// Add first value\n\tconst result1 = await stream.addValue(10);\n\texpect(result1).toEqual([10]);\n\n\t// Add second value (lower)\n\tconst result2 = await stream.addValue(5);\n\texpect(result2).toEqual([10, 5]);\n\n\t// Add third value (higher)\n\tconst result3 = await stream.addValue(15);\n\texpect(result3).toEqual([15, 10, 5]);\n\n\t// Add fourth value (should replace lowest)\n\tconst result4 = await stream.addValue(8);\n\texpect(result4).toEqual([15, 10, 8]);\n\n\t// Add fifth value (should replace middle)\n\tconst result5 = await stream.addValue(12);\n\texpect(result5).toEqual([15, 12, 10]);\n});\n\ntest(\"Stream processor tracks statistics correctly\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst stream = client.streamProcessor.getOrCreate([\"test-stats\"]);\n\n\t// Initial stats\n\tconst initialStats = await stream.getStats();\n\texpect(initialStats).toEqual({\n\t\ttopValues: [],\n\t\ttotalCount: 0,\n\t\thighestValue: null,\n\t});\n\n\t// Add some values\n\tawait stream.addValue(20);\n\tawait stream.addValue(30);\n\tawait stream.addValue(10);\n\n\tconst stats = await stream.getStats();\n\texpect(stats).toEqual({\n\t\ttopValues: [30, 20, 10],\n\t\ttotalCount: 3,\n\t\thighestValue: 30,\n\t});\n\n\t// Add more values to test count tracking\n\tawait stream.addValue(5);\n\tawait stream.addValue(25);\n\n\tconst finalStats = await stream.getStats();\n\texpect(finalStats.totalCount).toBe(5);\n\texpect(finalStats.topValues).toEqual([30, 25, 20]);\n\texpect(finalStats.highestValue).toBe(30);\n});\n\ntest(\"Stream processor handles duplicate values\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst stream = client.streamProcessor.getOrCreate([\"test-duplicates\"]);\n\n\t// Add duplicate values\n\tawait stream.addValue(10);\n\tawait stream.addValue(10);\n\tawait stream.addValue(10);\n\n\tconst result = await stream.getTopValues();\n\texpect(result).toEqual([10, 10, 10]);\n\n\tconst stats = await stream.getStats();\n\texpect(stats.totalCount).toBe(3);\n\texpect(stats.highestValue).toBe(10);\n});\n\ntest(\"Stream processor reset functionality\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst stream = client.streamProcessor.getOrCreate([\"test-reset\"]);\n\n\t// Add some values\n\tawait stream.addValue(100);\n\tawait stream.addValue(200);\n\tawait stream.addValue(50);\n\n\t// Verify state before reset\n\tconst beforeReset = await stream.getStats();\n\texpect(beforeReset.totalCount).toBe(3);\n\texpect(beforeReset.topValues).toEqual([200, 100, 50]);\n\n\t// Reset the stream\n\tconst resetResult = await stream.reset();\n\texpect(resetResult).toEqual({\n\t\ttopValues: [],\n\t\ttotalCount: 0,\n\t\thighestValue: null,\n\t});\n\n\t// Verify state after reset\n\tconst afterReset = await stream.getStats();\n\texpect(afterReset).toEqual({\n\t\ttopValues: [],\n\t\ttotalCount: 0,\n\t\thighestValue: null,\n\t});\n});\n\ntest(\"Stream processor handles edge case values\", async (ctx) => {\n\tconst { client } = await setupTest(ctx, registry);\n\tconst stream = client.streamProcessor.getOrCreate([\"test-edge-cases\"]);\n\n\t// Test with zero\n\tawait stream.addValue(0);\n\texpect(await stream.getTopValues()).toEqual([0]);\n\n\t// Test with negative numbers\n\tawait stream.addValue(-5);\n\tawait stream.addValue(-1);\n\texpect(await stream.getTopValues()).toEqual([0, -1, -5]);\n\n\t// Test with very large numbers\n\tawait stream.addValue(1000000);\n\texpect(await stream.getTopValues()).toEqual([1000000, 0, -1]);\n\n\tconst stats = await stream.getStats();\n\texpect(stats.totalCount).toBe(4);\n\texpect(stats.highestValue).toBe(1000000);\n});\n", - "README.md": "# Stream Processor for RivetKit\n\nExample project demonstrating real-time top-K stream processing with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/stream\nnpm install\n```\n\n### Development\n\n```sh\nnpm run dev\n```\n\nOpen your browser to `http://localhost:3000`\n\n## Features\n\n- **Top-K Processing**: Maintains the top 3 highest values in real-time\n- **Real-time Updates**: All connected clients see changes immediately\n- **Stream Statistics**: Total count, highest value, and live metrics\n- **Interactive Input**: Add custom values or generate random numbers\n- **Reset Functionality**: Clear the stream and start fresh\n- **Responsive Design**: Clean, modern interface with live statistics\n\n## How it works\n\nThis stream processor demonstrates:\n\n1. **Top-K Algorithm**: Efficiently maintains the top 3 values using insertion sort\n2. **Real-time Broadcasting**: Updates are instantly sent to all connected clients\n3. **State Management**: Persistent tracking of values and statistics\n4. **Event-driven Updates**: Live UI updates when new values are processed\n5. **Collaborative Experience**: Multiple users can add values simultaneously\n\n## Architecture\n\n- **Backend**: RivetKit actor managing stream state and top-K algorithm\n- **Frontend**: React application with real-time stream visualization\n- **State Management**: Server-side state with client-side event subscriptions\n- **Algorithm**: Insertion-based top-K maintenance with O(k) complexity\n\n## Stream Processing Algorithm\n\n### Value Insertion\n```typescript\n// Insert new value maintaining sorted order\nconst insertAt = topValues.findIndex(v => value > v);\nif (insertAt !== -1) {\n topValues.splice(insertAt, 0, value);\n}\n\n// Keep only top 3 values\nif (topValues.length > 3) {\n topValues.length = 3;\n}\n```\n\n### Performance Characteristics\n- **Time Complexity**: O(k) per insertion where k=3\n- **Space Complexity**: O(k) for storing top values\n- **Memory Efficient**: Only stores top values, not entire stream\n- **Real-time**: Sub-millisecond processing for new values\n\n## Use Cases\n\nThis pattern is perfect for:\n\n- **Leaderboards**: Gaming high scores, competition rankings\n- **Metrics Monitoring**: Top error rates, highest traffic spikes\n- **Social Features**: Most popular posts, trending content\n- **Analytics Dashboards**: Key performance indicators\n- **Real-time Alerts**: Threshold monitoring and notifications\n\n## Extending\n\nThis stream processor can be enhanced with:\n\n- **Configurable K**: Allow different top-K sizes (top 5, top 10, etc.)\n- **Time Windows**: Top values within specific time periods\n- **Multiple Streams**: Separate processors for different categories\n- **Persistence**: Database storage for stream history\n- **Complex Events**: Pattern detection and complex event processing\n- **Aggregations**: Sum, average, and other statistical operations\n- **Filters**: Value range filtering and validation\n- **Rate Limiting**: Throttle input to prevent spam\n\n## Stream Processing Concepts\n\n### Top-K Algorithms\n- **Heap-based**: Efficient for large K values\n- **Sort-based**: Simple implementation for small K\n- **Probabilistic**: Approximate results for massive streams\n\n### Real-time Considerations\n- **Latency**: Sub-millisecond processing requirements\n- **Throughput**: Handling high-volume input streams\n- **Memory**: Bounded memory usage regardless of stream size\n- **Accuracy**: Exact vs. approximate results trade-offs\n\n## Testing\n\nThe example includes basic structural tests. For production use, consider adding:\n\n- **Algorithm correctness**: Verify top-K accuracy\n- **Concurrency testing**: Multiple simultaneous inputs\n- **Performance testing**: High-volume stream simulation\n- **Edge cases**: Duplicate values, negative numbers, overflow handling\n\n## License\n\nApache 2.0", - "package-lock.json": "{\n \"name\": \"example-stream\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-stream\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz\",\n \"integrity\": \"sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz\",\n \"integrity\": \"sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.2.0\",\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.27.3\",\n \"@babel/helpers\": \"^7.27.6\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz\",\n \"integrity\": \"sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/types\": \"^7.28.0\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz\",\n \"integrity\": \"sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz\",\n \"integrity\": \"sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz\",\n \"integrity\": \"sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.6\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz\",\n \"integrity\": \"sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.0\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-self\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz\",\n \"integrity\": \"sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-react-jsx-source\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz\",\n \"integrity\": \"sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/runtime\": {\n \"version\": \"7.27.6\",\n \"resolved\": \"https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz\",\n \"integrity\": \"sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz\",\n \"integrity\": \"sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.0\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.0\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.0\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz\",\n \"integrity\": \"sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-darwin-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz\",\n \"integrity\": \"sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-arm64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz\",\n \"integrity\": \"sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-linux-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"peer\": true\n },\n \"node_modules/@cbor-extract/cbor-extract-win32-x64\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz\",\n \"integrity\": \"sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"peer\": true\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz\",\n \"integrity\": \"sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz\",\n \"integrity\": \"sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz\",\n \"integrity\": \"sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz\",\n \"integrity\": \"sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz\",\n \"integrity\": \"sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz\",\n \"integrity\": \"sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz\",\n \"integrity\": \"sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz\",\n \"integrity\": \"sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz\",\n \"integrity\": \"sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@jest/schemas\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\",\n \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@sinclair/typebox\": \"^0.27.8\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.12\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz\",\n \"integrity\": \"sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz\",\n \"integrity\": \"sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.29\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz\",\n \"integrity\": \"sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/actor-0.9.1.tgz\",\n \"integrity\": \"sha512-aVoWO81JrYql6hhXX+vRor0B+aeWrnh+9zkcrxbh0EXFBbS5XM8YE4sSFxNKmZThLbGNqfZ5enm1zuA92c7I1w==\",\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/core\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/core/-/core-0.9.1.tgz\",\n \"integrity\": \"sha512-0zYFKo08CQ72Rm6MaVKxcJSEEfn/ypGkkxTX06Q4meCGHuDJFbPA5wopa3NdxrKBPttcGg1QAmDd+1FZnlpubA==\",\n \"license\": \"Apache-2.0\",\n \"peer\": true,\n \"dependencies\": {\n \"cbor-x\": \"^1.6.0\",\n \"invariant\": \"^2.2.4\",\n \"on-change\": \"^5.0.1\",\n \"p-retry\": \"^6.2.1\",\n \"zod\": \"^3.25.67\"\n },\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"peerDependencies\": {\n \"@hono/node-server\": \"^1.14.0\",\n \"@hono/node-ws\": \"^1.1.1\",\n \"@hono/zod-openapi\": \"^0.19.6\",\n \"eventsource\": \"^3.0.5\",\n \"hono\": \"^4.7.0\",\n \"ws\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@hono/node-server\": {\n \"optional\": true\n },\n \"@hono/node-ws\": {\n \"optional\": true\n },\n \"@hono/zod-openapi\": {\n \"optional\": true\n },\n \"eventsource\": {\n \"optional\": true\n },\n \"hono\": {\n \"optional\": true\n },\n \"ws\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rivetkit/framework-base\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/framework-base/-/framework-base-0.9.1.tgz\",\n \"integrity\": \"sha512-FxhSqGAtDsD4k7gKS2EhJ5hHsEwI1+QR0vYThUBOLcmXM7zjMZndqIjVperQO4ck/zfjRqjm3lw7znkc+k0wNQ==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@tanstack/store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\"\n }\n },\n \"node_modules/@rivetkit/react\": {\n \"version\": \"0.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@rivetkit/react/-/react-0.9.1.tgz\",\n \"integrity\": \"sha512-0e0gNNj3qCrXHNIxE6ggEEX+E6HjdsSt9pJbWbaQQg+1bsywupRTSdgSDguDHjBvi9qhR9mh7UbNN3A9wYqXuA==\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@rivetkit/framework-base\": \"0.9.1\",\n \"@tanstack/react-store\": \"^0.7.1\"\n },\n \"peerDependencies\": {\n \"@rivetkit/core\": \"*\",\n \"react\": \"^18 || ^19\",\n \"react-dom\": \"^18 || ^19\"\n }\n },\n \"node_modules/@rolldown/pluginutils\": {\n \"version\": \"1.0.0-beta.19\",\n \"resolved\": \"https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz\",\n \"integrity\": \"sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.0.tgz\",\n \"integrity\": \"sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.0.tgz\",\n \"integrity\": \"sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.0.tgz\",\n \"integrity\": \"sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.0.tgz\",\n \"integrity\": \"sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loongarch64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-powerpc64le-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.0.tgz\",\n \"integrity\": \"sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.0.tgz\",\n \"integrity\": \"sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.0.tgz\",\n \"integrity\": \"sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@sinclair/typebox\": {\n \"version\": \"0.27.8\",\n \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\",\n \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@tanstack/react-store\": {\n \"version\": \"0.7.3\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.3.tgz\",\n \"integrity\": \"sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@tanstack/store\": \"0.7.2\",\n \"use-sync-external-store\": \"^1.5.0\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/@tanstack/store\": {\n \"version\": \"0.7.2\",\n \"resolved\": \"https://registry.npmjs.org/@tanstack/store/-/store-0.7.2.tgz\",\n \"integrity\": \"sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/tannerlinsley\"\n }\n },\n \"node_modules/@types/babel__core\": {\n \"version\": \"7.20.5\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz\",\n \"integrity\": \"sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.20.7\",\n \"@babel/types\": \"^7.20.7\",\n \"@types/babel__generator\": \"*\",\n \"@types/babel__template\": \"*\",\n \"@types/babel__traverse\": \"*\"\n }\n },\n \"node_modules/@types/babel__generator\": {\n \"version\": \"7.27.0\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz\",\n \"integrity\": \"sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__template\": {\n \"version\": \"7.4.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz\",\n \"integrity\": \"sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.1.0\",\n \"@babel/types\": \"^7.0.0\"\n }\n },\n \"node_modules/@types/babel__traverse\": {\n \"version\": \"7.20.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz\",\n \"integrity\": \"sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.20.7\"\n }\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"20.19.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-20.19.7.tgz\",\n \"integrity\": \"sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@types/prop-types\": {\n \"version\": \"15.7.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz\",\n \"integrity\": \"sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/react\": {\n \"version\": \"18.3.23\",\n \"resolved\": \"https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz\",\n \"integrity\": \"sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/prop-types\": \"*\",\n \"csstype\": \"^3.0.2\"\n }\n },\n \"node_modules/@types/react-dom\": {\n \"version\": \"18.3.7\",\n \"resolved\": \"https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz\",\n \"integrity\": \"sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/react\": \"^18.0.0\"\n }\n },\n \"node_modules/@types/retry\": {\n \"version\": \"0.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz\",\n \"integrity\": \"sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==\",\n \"license\": \"MIT\",\n \"peer\": true\n },\n \"node_modules/@vitejs/plugin-react\": {\n \"version\": \"4.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.6.0.tgz\",\n \"integrity\": \"sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/core\": \"^7.27.4\",\n \"@babel/plugin-transform-react-jsx-self\": \"^7.27.1\",\n \"@babel/plugin-transform-react-jsx-source\": \"^7.27.1\",\n \"@rolldown/pluginutils\": \"1.0.0-beta.19\",\n \"@types/babel__core\": \"^7.20.5\",\n \"react-refresh\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^14.18.0 || >=16.0.0\"\n },\n \"peerDependencies\": {\n \"vite\": \"^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz\",\n \"integrity\": \"sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"chai\": \"^4.3.10\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz\",\n \"integrity\": \"sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"1.6.1\",\n \"p-limit\": \"^5.0.0\",\n \"pathe\": \"^1.1.1\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz\",\n \"integrity\": \"sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz\",\n \"integrity\": \"sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^2.2.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz\",\n \"integrity\": \"sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"diff-sequences\": \"^29.6.3\",\n \"estree-walker\": \"^3.0.3\",\n \"loupe\": \"^2.3.7\",\n \"pretty-format\": \"^29.7.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"8.15.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz\",\n \"integrity\": \"sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"8.3.4\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz\",\n \"integrity\": \"sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.11.0\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz\",\n \"integrity\": \"sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.25.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz\",\n \"integrity\": \"sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001726\",\n \"electron-to-chromium\": \"^1.5.173\",\n \"node-releases\": \"^2.0.19\",\n \"update-browserslist-db\": \"^1.1.3\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001727\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz\",\n \"integrity\": \"sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/cbor-extract\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-extract/-/cbor-extract-2.2.0.tgz\",\n \"integrity\": \"sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==\",\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"node-gyp-build-optional-packages\": \"5.1.1\"\n },\n \"bin\": {\n \"download-cbor-prebuilds\": \"bin/download-prebuilds.js\"\n },\n \"optionalDependencies\": {\n \"@cbor-extract/cbor-extract-darwin-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-darwin-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-arm64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-linux-x64\": \"2.2.0\",\n \"@cbor-extract/cbor-extract-win32-x64\": \"2.2.0\"\n }\n },\n \"node_modules/cbor-x\": {\n \"version\": \"1.6.0\",\n \"resolved\": \"https://registry.npmjs.org/cbor-x/-/cbor-x-1.6.0.tgz\",\n \"integrity\": \"sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"optionalDependencies\": {\n \"cbor-extract\": \"^2.2.0\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"4.5.0\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-4.5.0.tgz\",\n \"integrity\": \"sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^1.1.0\",\n \"check-error\": \"^1.0.3\",\n \"deep-eql\": \"^4.1.3\",\n \"get-func-name\": \"^2.0.2\",\n \"loupe\": \"^2.3.6\",\n \"pathval\": \"^1.1.1\",\n \"type-detect\": \"^4.1.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/chalk/node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz\",\n \"integrity\": \"sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/cliui\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz\",\n \"integrity\": \"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^4.2.0\",\n \"strip-ansi\": \"^6.0.1\",\n \"wrap-ansi\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concurrently\": {\n \"version\": \"8.2.2\",\n \"resolved\": \"https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz\",\n \"integrity\": \"sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"date-fns\": \"^2.30.0\",\n \"lodash\": \"^4.17.21\",\n \"rxjs\": \"^7.8.1\",\n \"shell-quote\": \"^1.8.1\",\n \"spawn-command\": \"0.0.2\",\n \"supports-color\": \"^8.1.1\",\n \"tree-kill\": \"^1.2.2\",\n \"yargs\": \"^17.7.2\"\n },\n \"bin\": {\n \"conc\": \"dist/bin/concurrently.js\",\n \"concurrently\": \"dist/bin/concurrently.js\"\n },\n \"engines\": {\n \"node\": \"^14.13.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/open-cli-tools/concurrently?sponsor=1\"\n }\n },\n \"node_modules/confbox\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz\",\n \"integrity\": \"sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz\",\n \"integrity\": \"sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/csstype\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\",\n \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/date-fns\": {\n \"version\": \"2.30.0\",\n \"resolved\": \"https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz\",\n \"integrity\": \"sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/runtime\": \"^7.21.0\"\n },\n \"engines\": {\n \"node\": \">=0.11\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/date-fns\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.1.tgz\",\n \"integrity\": \"sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"4.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz\",\n \"integrity\": \"sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"type-detect\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/detect-libc\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz\",\n \"integrity\": \"sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==\",\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"peer\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/diff-sequences\": {\n \"version\": \"29.6.3\",\n \"resolved\": \"https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz\",\n \"integrity\": \"sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.183\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.183.tgz\",\n \"integrity\": \"sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.25.6\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz\",\n \"integrity\": \"sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.6\",\n \"@esbuild/android-arm\": \"0.25.6\",\n \"@esbuild/android-arm64\": \"0.25.6\",\n \"@esbuild/android-x64\": \"0.25.6\",\n \"@esbuild/darwin-arm64\": \"0.25.6\",\n \"@esbuild/darwin-x64\": \"0.25.6\",\n \"@esbuild/freebsd-arm64\": \"0.25.6\",\n \"@esbuild/freebsd-x64\": \"0.25.6\",\n \"@esbuild/linux-arm\": \"0.25.6\",\n \"@esbuild/linux-arm64\": \"0.25.6\",\n \"@esbuild/linux-ia32\": \"0.25.6\",\n \"@esbuild/linux-loong64\": \"0.25.6\",\n \"@esbuild/linux-mips64el\": \"0.25.6\",\n \"@esbuild/linux-ppc64\": \"0.25.6\",\n \"@esbuild/linux-riscv64\": \"0.25.6\",\n \"@esbuild/linux-s390x\": \"0.25.6\",\n \"@esbuild/linux-x64\": \"0.25.6\",\n \"@esbuild/netbsd-arm64\": \"0.25.6\",\n \"@esbuild/netbsd-x64\": \"0.25.6\",\n \"@esbuild/openbsd-arm64\": \"0.25.6\",\n \"@esbuild/openbsd-x64\": \"0.25.6\",\n \"@esbuild/openharmony-arm64\": \"0.25.6\",\n \"@esbuild/sunos-x64\": \"0.25.6\",\n \"@esbuild/win32-arm64\": \"0.25.6\",\n \"@esbuild/win32-ia32\": \"0.25.6\",\n \"@esbuild/win32-x64\": \"0.25.6\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/execa\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/execa/-/execa-8.0.1.tgz\",\n \"integrity\": \"sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.3\",\n \"get-stream\": \"^8.0.1\",\n \"human-signals\": \"^5.0.0\",\n \"is-stream\": \"^3.0.0\",\n \"merge-stream\": \"^2.0.0\",\n \"npm-run-path\": \"^5.1.0\",\n \"onetime\": \"^6.0.0\",\n \"signal-exit\": \"^4.1.0\",\n \"strip-final-newline\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/execa?sponsor=1\"\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-caller-file\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz\",\n \"integrity\": \"sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \"6.* || 8.* || >= 10.*\"\n }\n },\n \"node_modules/get-func-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz\",\n \"integrity\": \"sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/get-stream\": {\n \"version\": \"8.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz\",\n \"integrity\": \"sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.10.1\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz\",\n \"integrity\": \"sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/human-signals\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz\",\n \"integrity\": \"sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=16.17.0\"\n }\n },\n \"node_modules/invariant\": {\n \"version\": \"2.2.4\",\n \"resolved\": \"https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz\",\n \"integrity\": \"sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"loose-envify\": \"^1.0.0\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-network-error\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz\",\n \"integrity\": \"sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=16\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/is-stream\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz\",\n \"integrity\": \"sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"license\": \"MIT\"\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/local-pkg\": {\n \"version\": \"0.5.1\",\n \"resolved\": \"https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz\",\n \"integrity\": \"sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mlly\": \"^1.7.3\",\n \"pkg-types\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/loupe\": {\n \"version\": \"2.3.7\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz\",\n \"integrity\": \"sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-func-name\": \"^2.0.1\"\n }\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.17\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz\",\n \"integrity\": \"sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\"\n }\n },\n \"node_modules/merge-stream\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\",\n \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/mimic-fn\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz\",\n \"integrity\": \"sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/mlly\": {\n \"version\": \"1.7.4\",\n \"resolved\": \"https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz\",\n \"integrity\": \"sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.14.0\",\n \"pathe\": \"^2.0.1\",\n \"pkg-types\": \"^1.3.0\",\n \"ufo\": \"^1.5.4\"\n }\n },\n \"node_modules/mlly/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/node-gyp-build-optional-packages\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz\",\n \"integrity\": \"sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==\",\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"detect-libc\": \"^2.0.1\"\n },\n \"bin\": {\n \"node-gyp-build-optional-packages\": \"bin.js\",\n \"node-gyp-build-optional-packages-optional\": \"optional.js\",\n \"node-gyp-build-optional-packages-test\": \"build-test.js\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.19\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz\",\n \"integrity\": \"sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/npm-run-path\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz\",\n \"integrity\": \"sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \"^12.20.0 || ^14.13.1 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/npm-run-path/node_modules/path-key\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz\",\n \"integrity\": \"sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/on-change\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/on-change/-/on-change-5.0.1.tgz\",\n \"integrity\": \"sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sindresorhus/on-change?sponsor=1\"\n }\n },\n \"node_modules/onetime\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz\",\n \"integrity\": \"sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mimic-fn\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz\",\n \"integrity\": \"sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-retry\": {\n \"version\": \"6.2.1\",\n \"resolved\": \"https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz\",\n \"integrity\": \"sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"dependencies\": {\n \"@types/retry\": \"0.12.2\",\n \"is-network-error\": \"^1.0.0\",\n \"retry\": \"^0.13.1\"\n },\n \"engines\": {\n \"node\": \">=16.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz\",\n \"integrity\": \"sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz\",\n \"integrity\": \"sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/pkg-types\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz\",\n \"integrity\": \"sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"confbox\": \"^0.1.8\",\n \"mlly\": \"^1.7.4\",\n \"pathe\": \"^2.0.1\"\n }\n },\n \"node_modules/pkg-types/node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/pretty-format\": {\n \"version\": \"29.7.0\",\n \"resolved\": \"https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz\",\n \"integrity\": \"sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jest/schemas\": \"^29.6.3\",\n \"ansi-styles\": \"^5.0.0\",\n \"react-is\": \"^18.0.0\"\n },\n \"engines\": {\n \"node\": \"^14.15.0 || ^16.10.0 || >=18.0.0\"\n }\n },\n \"node_modules/pretty-format/node_modules/ansi-styles\": {\n \"version\": \"5.2.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz\",\n \"integrity\": \"sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.3.1.tgz\",\n \"integrity\": \"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz\",\n \"integrity\": \"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.2\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.3.1\"\n }\n },\n \"node_modules/react-is\": {\n \"version\": \"18.3.1\",\n \"resolved\": \"https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz\",\n \"integrity\": \"sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/react-refresh\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz\",\n \"integrity\": \"sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/require-directory\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz\",\n \"integrity\": \"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/retry\": {\n \"version\": \"0.13.1\",\n \"resolved\": \"https://registry.npmjs.org/retry/-/retry-0.13.1.tgz\",\n \"integrity\": \"sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.45.0\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.45.0.tgz\",\n \"integrity\": \"sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.45.0\",\n \"@rollup/rollup-android-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-arm64\": \"4.45.0\",\n \"@rollup/rollup-darwin-x64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-arm64\": \"4.45.0\",\n \"@rollup/rollup-freebsd-x64\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-loongarch64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-powerpc64le-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.45.0\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.45.0\",\n \"@rollup/rollup-linux-x64-musl\": \"4.45.0\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.45.0\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.45.0\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/rxjs\": {\n \"version\": \"7.8.2\",\n \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz\",\n \"integrity\": \"sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"tslib\": \"^2.1.0\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.2\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz\",\n \"integrity\": \"sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shell-quote\": {\n \"version\": \"1.8.3\",\n \"resolved\": \"https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz\",\n \"integrity\": \"sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/spawn-command\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz\",\n \"integrity\": \"sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==\",\n \"dev\": true\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.9.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz\",\n \"integrity\": \"sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-final-newline\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz\",\n \"integrity\": \"sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz\",\n \"integrity\": \"sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinypool\": {\n \"version\": \"0.8.4\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz\",\n \"integrity\": \"sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"2.2.1\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz\",\n \"integrity\": \"sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tree-kill\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz\",\n \"integrity\": \"sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"tree-kill\": \"cli.js\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.8.1\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz\",\n \"integrity\": \"sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==\",\n \"dev\": true,\n \"license\": \"0BSD\"\n },\n \"node_modules/tsx\": {\n \"version\": \"4.20.3\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz\",\n \"integrity\": \"sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/type-detect\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz\",\n \"integrity\": \"sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.8.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz\",\n \"integrity\": \"sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/ufo\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz\",\n \"integrity\": \"sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz\",\n \"integrity\": \"sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sync-external-store\": {\n \"version\": \"1.5.0\",\n \"resolved\": \"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz\",\n \"integrity\": \"sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"5.4.19\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-5.4.19.tgz\",\n \"integrity\": \"sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.21.3\",\n \"postcss\": \"^8.4.43\",\n \"rollup\": \"^4.20.0\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"less\": \"*\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"*\",\n \"sass-embedded\": \"*\",\n \"stylus\": \"*\",\n \"sugarss\": \"*\",\n \"terser\": \"^5.4.0\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz\",\n \"integrity\": \"sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.3.4\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"vite\": \"^5.0.0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz\",\n \"integrity\": \"sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz\",\n \"integrity\": \"sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz\",\n \"integrity\": \"sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz\",\n \"integrity\": \"sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz\",\n \"integrity\": \"sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz\",\n \"integrity\": \"sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz\",\n \"integrity\": \"sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz\",\n \"integrity\": \"sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz\",\n \"integrity\": \"sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/vite/node_modules/esbuild\": {\n \"version\": \"0.21.5\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz\",\n \"integrity\": \"sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.21.5\",\n \"@esbuild/android-arm\": \"0.21.5\",\n \"@esbuild/android-arm64\": \"0.21.5\",\n \"@esbuild/android-x64\": \"0.21.5\",\n \"@esbuild/darwin-arm64\": \"0.21.5\",\n \"@esbuild/darwin-x64\": \"0.21.5\",\n \"@esbuild/freebsd-arm64\": \"0.21.5\",\n \"@esbuild/freebsd-x64\": \"0.21.5\",\n \"@esbuild/linux-arm\": \"0.21.5\",\n \"@esbuild/linux-arm64\": \"0.21.5\",\n \"@esbuild/linux-ia32\": \"0.21.5\",\n \"@esbuild/linux-loong64\": \"0.21.5\",\n \"@esbuild/linux-mips64el\": \"0.21.5\",\n \"@esbuild/linux-ppc64\": \"0.21.5\",\n \"@esbuild/linux-riscv64\": \"0.21.5\",\n \"@esbuild/linux-s390x\": \"0.21.5\",\n \"@esbuild/linux-x64\": \"0.21.5\",\n \"@esbuild/netbsd-x64\": \"0.21.5\",\n \"@esbuild/openbsd-x64\": \"0.21.5\",\n \"@esbuild/sunos-x64\": \"0.21.5\",\n \"@esbuild/win32-arm64\": \"0.21.5\",\n \"@esbuild/win32-ia32\": \"0.21.5\",\n \"@esbuild/win32-x64\": \"0.21.5\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"1.6.1\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz\",\n \"integrity\": \"sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/expect\": \"1.6.1\",\n \"@vitest/runner\": \"1.6.1\",\n \"@vitest/snapshot\": \"1.6.1\",\n \"@vitest/spy\": \"1.6.1\",\n \"@vitest/utils\": \"1.6.1\",\n \"acorn-walk\": \"^8.3.2\",\n \"chai\": \"^4.3.10\",\n \"debug\": \"^4.3.4\",\n \"execa\": \"^8.0.1\",\n \"local-pkg\": \"^0.5.0\",\n \"magic-string\": \"^0.30.5\",\n \"pathe\": \"^1.1.1\",\n \"picocolors\": \"^1.0.0\",\n \"std-env\": \"^3.5.0\",\n \"strip-literal\": \"^2.0.0\",\n \"tinybench\": \"^2.5.1\",\n \"tinypool\": \"^0.8.3\",\n \"vite\": \"^5.0.0\",\n \"vite-node\": \"1.6.1\",\n \"why-is-node-running\": \"^2.2.2\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/node\": \"^18.0.0 || >=20.0.0\",\n \"@vitest/browser\": \"1.6.1\",\n \"@vitest/ui\": \"1.6.1\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/y18n\": {\n \"version\": \"5.0.8\",\n \"resolved\": \"https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz\",\n \"integrity\": \"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yargs\": {\n \"version\": \"17.7.2\",\n \"resolved\": \"https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz\",\n \"integrity\": \"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cliui\": \"^8.0.1\",\n \"escalade\": \"^3.1.1\",\n \"get-caller-file\": \"^2.0.5\",\n \"require-directory\": \"^2.1.1\",\n \"string-width\": \"^4.2.3\",\n \"y18n\": \"^5.0.5\",\n \"yargs-parser\": \"^21.1.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yargs-parser\": {\n \"version\": \"21.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz\",\n \"integrity\": \"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz\",\n \"integrity\": \"sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.20\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==\",\n \"license\": \"MIT\",\n \"peer\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n", - "package.json": "{\n \"name\": \"example-stream\",\n \"version\": \"1.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"concurrently \\\"tsx --watch src/backend/server.ts\\\" \\\"vite\\\"\",\n \"build\": \"vite build\",\n \"preview\": \"vite preview\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest\"\n },\n \"dependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@rivetkit/react\": \"^0.9.1\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"@types/react\": \"^18.2.0\",\n \"@types/react-dom\": \"^18.2.0\",\n \"@vitejs/plugin-react\": \"^4.0.0\",\n \"concurrently\": \"^8.2.0\",\n \"tsx\": \"^4.0.0\",\n \"typescript\": \"^5.0.0\",\n \"vite\": \"^5.0.0\",\n \"vitest\": \"^1.0.0\"\n }\n}\n", - "tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2020\",\n \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n \"module\": \"ESNext\",\n \"skipLibCheck\": true,\n \"moduleResolution\": \"bundler\",\n \"allowImportingTsExtensions\": true,\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"noEmit\": true,\n \"jsx\": \"react-jsx\",\n \"strict\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noFallthroughCasesInSwitch\": true\n },\n \"include\": [\"src\", \"tests\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n", - "vite.config.ts": "import react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig({\n\tplugins: [react()],\n\troot: \"src/frontend\",\n\tserver: {\n\t\tport: 3000,\n\t},\n\tbuild: {\n\t\toutDir: \"../../dist\",\n\t\temptyOutDir: true,\n\t},\n});\n", - "vitest.config.ts": "import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tenvironment: \"node\",\n\t},\n});\n", - "src/frontend/App.tsx": "import { createClient, createRivetKit } from \"@rivetkit/react\";\nimport { useEffect, useState } from \"react\";\nimport type { registry } from \"../backend/registry\";\n\nconst client = createClient(\"http://localhost:8080\");\nconst { useActor } = createRivetKit(client);\n\nexport function App() {\n\tconst [topValues, setTopValues] = useState([]);\n\tconst [newValue, setNewValue] = useState(0);\n\tconst [totalCount, setTotalCount] = useState(0);\n\tconst [highestValue, setHighestValue] = useState(null);\n\n\tconst streamProcessor = useActor({\n\t\tname: \"streamProcessor\",\n\t\tkey: [\"global\"],\n\t});\n\n\t// Load initial stats\n\tuseEffect(() => {\n\t\tif (streamProcessor.connection) {\n\t\t\tstreamProcessor.connection.getStats().then((stats) => {\n\t\t\t\tsetTopValues(stats.topValues);\n\t\t\t\tsetTotalCount(stats.totalCount);\n\t\t\t\tsetHighestValue(stats.highestValue);\n\t\t\t});\n\t\t}\n\t}, [streamProcessor.connection]);\n\n\t// Listen for updates from other clients\n\tstreamProcessor.useEvent(\"updated\", ({ topValues, totalCount, highestValue }: {\n\t\ttopValues: number[];\n\t\ttotalCount: number;\n\t\thighestValue: number | null;\n\t}) => {\n\t\tsetTopValues(topValues);\n\t\tsetTotalCount(totalCount);\n\t\tsetHighestValue(highestValue);\n\t});\n\n\t// Add a new value to the stream\n\tconst handleAddValue = async () => {\n\t\tif (streamProcessor.connection && !isNaN(newValue)) {\n\t\t\tawait streamProcessor.connection.addValue(newValue);\n\t\t\tsetNewValue(0);\n\t\t}\n\t};\n\n\t// Reset the stream\n\tconst handleReset = async () => {\n\t\tif (streamProcessor.connection) {\n\t\t\tconst result = await streamProcessor.connection.reset();\n\t\t\tsetTopValues(result.topValues);\n\t\t\tsetTotalCount(result.totalCount);\n\t\t\tsetHighestValue(result.highestValue);\n\t\t}\n\t};\n\n\t// Handle form submission\n\tconst handleSubmit = (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\thandleAddValue();\n\t};\n\n\t// Handle random value generation\n\tconst handleRandomValue = () => {\n\t\tconst randomValue = Math.floor(Math.random() * 1000) + 1;\n\t\tsetNewValue(randomValue);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

Stream Processor

\n\t\t\t\t

Real-time top-3 value tracking with RivetKit

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

How it works

\n\t\t\t\t

\n\t\t\t\t\tThis stream processor maintains the top 3 highest values in real-time. \n\t\t\t\t\tAdd numbers and watch as the system automatically keeps track of the highest values. \n\t\t\t\t\tAll connected clients see updates immediately when new values are added.\n\t\t\t\t

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

🏆 Top 3 Values

\n\t\t\t\t\t\t{topValues.length === 0 ? (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tNo values added yet.
\n\t\t\t\t\t\t\t\tAdd some numbers to get started!\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\ttopValues.map((value, index) => (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t#{index + 1}\n\t\t\t\t\t\t\t\t\t{value.toLocaleString()}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Add New Value

\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t setNewValue(Number(e.target.value))}\n\t\t\t\t\t\t\t\tplaceholder=\"Enter any number...\"\n\t\t\t\t\t\t\t\tdisabled={!streamProcessor.connection}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{totalCount}
\n\t\t\t\t\t
Total Values
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{highestValue?.toLocaleString() || \"—\"}
\n\t\t\t\t\t
Highest Value
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{topValues.length}
\n\t\t\t\t\t
Top Values Count
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}", - "src/frontend/main.tsx": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { App } from \"./App\";\n\nconst root = document.getElementById(\"root\");\nif (!root) throw new Error(\"Root element not found\");\n\ncreateRoot(root).render(\n\t\n\t\t\n\t\n);", - "src/frontend/index.html": "\n\n\n \n \n Stream Processor - RivetKit\n \n\n\n
\n \n\n", - "src/backend/registry.ts": "import { actor, setup } from \"rivetkit\";\n\nexport type StreamState = {\n\ttopValues: number[];\n};\n\nconst streamProcessor = actor({\n\tonAuth: () => {},\n\t// Persistent state that survives restarts: https://rivet.dev/docs/actors/state\n\tstate: {\n\t\ttopValues: [] as number[],\n\t\ttotalValues: 0,\n\t},\n\n\tactions: {\n\t\t// Callable functions from clients: https://rivet.dev/docs/actors/actions\n\t\tgetTopValues: (c) => c.state.topValues,\n\n\t\tgetStats: (c) => ({\n\t\t\ttopValues: c.state.topValues,\n\t\t\ttotalCount: c.state.totalValues,\n\t\t\thighestValue: c.state.topValues.length > 0 ? c.state.topValues[0] : null,\n\t\t}),\n\n\t\taddValue: (c, value: number) => {\n\t\t\t// State changes are automatically persisted\n\t\t\tc.state.totalValues++;\n\n\t\t\t// Insert new value if needed\n\t\t\tconst insertAt = c.state.topValues.findIndex((v) => value > v);\n\t\t\tif (insertAt === -1 && c.state.topValues.length < 3) {\n\t\t\t\t// Add to end if not better than existing values but we have space\n\t\t\t\tc.state.topValues.push(value);\n\t\t\t} else if (insertAt !== -1) {\n\t\t\t\t// Insert at the correct position\n\t\t\t\tc.state.topValues.splice(insertAt, 0, value);\n\t\t\t}\n\n\t\t\t// Keep only top 3\n\t\t\tif (c.state.topValues.length > 3) {\n\t\t\t\tc.state.topValues.length = 3;\n\t\t\t}\n\n\t\t\t// Sort descending to ensure correct order\n\t\t\tc.state.topValues.sort((a, b) => b - a);\n\n\t\t\tconst result = {\n\t\t\t\ttopValues: c.state.topValues,\n\t\t\t\ttotalCount: c.state.totalValues,\n\t\t\t\thighestValue:\n\t\t\t\t\tc.state.topValues.length > 0 ? c.state.topValues[0] : null,\n\t\t\t};\n\n\t\t\t// Send events to all connected clients: https://rivet.dev/docs/actors/events\n\t\t\tc.broadcast(\"updated\", result);\n\n\t\t\treturn c.state.topValues;\n\t\t},\n\n\t\treset: (c) => {\n\t\t\tc.state.topValues = [];\n\t\t\tc.state.totalValues = 0;\n\n\t\t\tconst result = {\n\t\t\t\ttopValues: c.state.topValues,\n\t\t\t\ttotalCount: c.state.totalValues,\n\t\t\t\thighestValue: null,\n\t\t\t};\n\n\t\t\tc.broadcast(\"updated\", result);\n\n\t\t\treturn result;\n\t\t},\n\t},\n});\n\n// Register actors for use: https://rivet.dev/docs/setup\nexport const registry = setup({\n\tuse: { streamProcessor },\n});\n", - "src/backend/server.ts": "import { registry } from \"./registry\";\n\nregistry.runServer({\n\tcors: {\n\t\torigin: \"*\",\n\t},\n});\n" + "README.md": "# Discord Bot Gateway for RivetKit\n\nExample project demonstrating Discord Gateway lifecycle management with [RivetKit](https://rivetkit.org).\n\n[Learn More →](https://github.com/rivet-dev/rivetkit)\n\n[Discord](https://rivet.dev/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-dev/rivetkit/issues)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 22+\n- Discord application with a bot token and the **Message Content Intent** enabled\n\n### Installation\n\n```sh\ngit clone https://github.com/rivet-dev/rivetkit\ncd rivetkit/examples/bots\nnpm install\n```\n\n### Development\n\n```sh\nDISCORD_BOT_TOKEN=your-token npm run dev\n```\n\nInvite the bot to a server, then send messages such as \"hello\" or \"ping\" in a text channel to see automatic replies and state updates.\n\n## License\n\nApache 2.0\n", + ".gitignore": ".actorcore\nnode_modules\n", + "package-lock.json": "{\n \"name\": \"example-bots\",\n \"version\": \"2.0.14\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"example-bots\",\n \"version\": \"2.0.14\",\n \"dependencies\": {\n \"@hono/node-server\": \"^1.14.3\",\n \"hono\": \"^4.7.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.9\",\n \"rivetkit\": \"^0.9.1\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.1.1\"\n }\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz\",\n \"integrity\": \"sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz\",\n \"integrity\": \"sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz\",\n \"integrity\": \"sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz\",\n \"integrity\": \"sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz\",\n \"integrity\": \"sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz\",\n \"integrity\": \"sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz\",\n \"integrity\": \"sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz\",\n \"integrity\": \"sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz\",\n \"integrity\": \"sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@hono/node-server\": {\n \"version\": \"1.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.5.tgz\",\n \"integrity\": \"sha512-iBuhh+uaaggeAuf+TftcjZyWh2GEgZcVGXkNtskLVoWaXhnJtC5HLHrU8W1KHDoucqO1MswwglmkWLFyiDn4WQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18.14.1\"\n },\n \"peerDependencies\": {\n \"hono\": \"^4\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz\",\n \"integrity\": \"sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz\",\n \"integrity\": \"sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz\",\n \"integrity\": \"sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz\",\n \"integrity\": \"sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz\",\n \"integrity\": \"sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz\",\n \"integrity\": \"sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz\",\n \"integrity\": \"sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz\",\n \"integrity\": \"sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"22.18.10\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-22.18.10.tgz\",\n \"integrity\": \"sha512-anNG/V/Efn/YZY4pRzbACnKxNKoBng2VTFydVu8RRs5hQjikP8CQfaeAV59VFSCzKNp90mXiVXW2QzV56rwMrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~6.21.0\"\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/buffer-from\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz\",\n \"integrity\": \"sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz\",\n \"integrity\": \"sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.18.20\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz\",\n \"integrity\": \"sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"optionalDependencies\": {\n \"@esbuild/android-arm\": \"0.18.20\",\n \"@esbuild/android-arm64\": \"0.18.20\",\n \"@esbuild/android-x64\": \"0.18.20\",\n \"@esbuild/darwin-arm64\": \"0.18.20\",\n \"@esbuild/darwin-x64\": \"0.18.20\",\n \"@esbuild/freebsd-arm64\": \"0.18.20\",\n \"@esbuild/freebsd-x64\": \"0.18.20\",\n \"@esbuild/linux-arm\": \"0.18.20\",\n \"@esbuild/linux-arm64\": \"0.18.20\",\n \"@esbuild/linux-ia32\": \"0.18.20\",\n \"@esbuild/linux-loong64\": \"0.18.20\",\n \"@esbuild/linux-mips64el\": \"0.18.20\",\n \"@esbuild/linux-ppc64\": \"0.18.20\",\n \"@esbuild/linux-riscv64\": \"0.18.20\",\n \"@esbuild/linux-s390x\": \"0.18.20\",\n \"@esbuild/linux-x64\": \"0.18.20\",\n \"@esbuild/netbsd-x64\": \"0.18.20\",\n \"@esbuild/openbsd-x64\": \"0.18.20\",\n \"@esbuild/sunos-x64\": \"0.18.20\",\n \"@esbuild/win32-arm64\": \"0.18.20\",\n \"@esbuild/win32-ia32\": \"0.18.20\",\n \"@esbuild/win32-x64\": \"0.18.20\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz\",\n \"integrity\": \"sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/get-tsconfig\": {\n \"version\": \"4.12.0\",\n \"resolved\": \"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.12.0.tgz\",\n \"integrity\": \"sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve-pkg-maps\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n }\n },\n \"node_modules/hono\": {\n \"version\": \"4.9.12\",\n \"resolved\": \"https://registry.npmjs.org/hono/-/hono-4.9.12.tgz\",\n \"integrity\": \"sha512-SrTC0YxqPwnN7yKa8gg/giLyQ2pILCKoideIHbYbFQlWZjYt68D2A4Ae1hehO/aDQ6RmTcpqOV/O2yBtMzx/VQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=16.9.0\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.19\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz\",\n \"integrity\": \"sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/resolve-pkg-maps\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz\",\n \"integrity\": \"sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/privatenumber/resolve-pkg-maps?sponsor=1\"\n }\n },\n \"node_modules/rivetkit\": {\n \"version\": \"0.9.9\",\n \"resolved\": \"https://registry.npmjs.org/rivetkit/-/rivetkit-0.9.9.tgz\",\n \"integrity\": \"sha512-7kqlTGoZGBH1dSNe1jONI3vBe9GzY8s7FZPWSiF0+gkjvN9+cNXd++FVJpiTDoeaVThFdt7or00n5LIbtZbQXQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/rollup\": {\n \"version\": \"4.52.4\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz\",\n \"integrity\": \"sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.52.4\",\n \"@rollup/rollup-android-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-arm64\": \"4.52.4\",\n \"@rollup/rollup-darwin-x64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-arm64\": \"4.52.4\",\n \"@rollup/rollup-freebsd-x64\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.52.4\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-linux-x64-musl\": \"4.52.4\",\n \"@rollup/rollup-openharmony-arm64\": \"4.52.4\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.52.4\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.52.4\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-support\": {\n \"version\": \"0.5.21\",\n \"resolved\": \"https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz\",\n \"integrity\": \"sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"buffer-from\": \"^1.0.0\",\n \"source-map\": \"^0.6.0\"\n }\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tsx\": {\n \"version\": \"3.14.0\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-3.14.0.tgz\",\n \"integrity\": \"sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"~0.18.20\",\n \"get-tsconfig\": \"^4.7.2\",\n \"source-map-support\": \"^0.5.21\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"6.21.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz\",\n \"integrity\": \"sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vite-node/node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/vite-node/node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/vite-node/node_modules/vite\": {\n \"version\": \"7.1.10\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.1.10.tgz\",\n \"integrity\": \"sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.25.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/android-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz\",\n \"integrity\": \"sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz\",\n \"integrity\": \"sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz\",\n \"integrity\": \"sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz\",\n \"integrity\": \"sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz\",\n \"integrity\": \"sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz\",\n \"integrity\": \"sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz\",\n \"integrity\": \"sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz\",\n \"integrity\": \"sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz\",\n \"integrity\": \"sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/vitest/node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vitest/node_modules/esbuild\": {\n \"version\": \"0.25.11\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz\",\n \"integrity\": \"sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.25.11\",\n \"@esbuild/android-arm\": \"0.25.11\",\n \"@esbuild/android-arm64\": \"0.25.11\",\n \"@esbuild/android-x64\": \"0.25.11\",\n \"@esbuild/darwin-arm64\": \"0.25.11\",\n \"@esbuild/darwin-x64\": \"0.25.11\",\n \"@esbuild/freebsd-arm64\": \"0.25.11\",\n \"@esbuild/freebsd-x64\": \"0.25.11\",\n \"@esbuild/linux-arm\": \"0.25.11\",\n \"@esbuild/linux-arm64\": \"0.25.11\",\n \"@esbuild/linux-ia32\": \"0.25.11\",\n \"@esbuild/linux-loong64\": \"0.25.11\",\n \"@esbuild/linux-mips64el\": \"0.25.11\",\n \"@esbuild/linux-ppc64\": \"0.25.11\",\n \"@esbuild/linux-riscv64\": \"0.25.11\",\n \"@esbuild/linux-s390x\": \"0.25.11\",\n \"@esbuild/linux-x64\": \"0.25.11\",\n \"@esbuild/netbsd-arm64\": \"0.25.11\",\n \"@esbuild/netbsd-x64\": \"0.25.11\",\n \"@esbuild/openbsd-arm64\": \"0.25.11\",\n \"@esbuild/openbsd-x64\": \"0.25.11\",\n \"@esbuild/openharmony-arm64\": \"0.25.11\",\n \"@esbuild/sunos-x64\": \"0.25.11\",\n \"@esbuild/win32-arm64\": \"0.25.11\",\n \"@esbuild/win32-ia32\": \"0.25.11\",\n \"@esbuild/win32-x64\": \"0.25.11\"\n }\n },\n \"node_modules/vitest/node_modules/tsx\": {\n \"version\": \"4.20.6\",\n \"resolved\": \"https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz\",\n \"integrity\": \"sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"peer\": true,\n \"dependencies\": {\n \"esbuild\": \"~0.25.0\",\n \"get-tsconfig\": \"^4.7.5\"\n },\n \"bin\": {\n \"tsx\": \"dist/cli.mjs\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n }\n },\n \"node_modules/vitest/node_modules/vite\": {\n \"version\": \"7.1.10\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.1.10.tgz\",\n \"integrity\": \"sha512-CmuvUBzVJ/e3HGxhg6cYk88NGgTnBoOo7ogtfJJ0fefUWAxN/WDSUa50o+oVBxuIhO8FoEZW0j2eW7sfjs5EtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.25.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n }\n }\n}\n", + "package.json": "{\n \"name\": \"example-bots\",\n \"version\": \"2.0.14\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"tsx src/server.ts\",\n \"check-types\": \"tsc --noEmit\",\n \"test\": \"vitest run\"\n },\n \"devDependencies\": {\n \"rivetkit\": \"^0.9.1\",\n \"@types/node\": \"^22.13.9\",\n \"tsx\": \"^3.12.7\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.1.1\"\n },\n \"dependencies\": {\n \"@hono/node-server\": \"^1.14.3\",\n \"hono\": \"^4.7.0\"\n },\n \"stableVersion\": \"0.8.0\"\n}\n", + "tsconfig.json": "{\n \"compilerOptions\": {\n /* Visit https://aka.ms/tsconfig.json to read more about this file */\n\n /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */\n \"target\": \"esnext\",\n /* Specify a set of bundled library declaration files that describe the target runtime environment. */\n \"lib\": [\"esnext\"],\n /* Specify what JSX code is generated. */\n \"jsx\": \"react-jsx\",\n\n /* Specify what module code is generated. */\n \"module\": \"esnext\",\n /* Specify how TypeScript looks up a file from a given module specifier. */\n \"moduleResolution\": \"bundler\",\n /* Specify type package names to be included without being referenced in a source file. */\n \"types\": [\"node\"],\n /* Enable importing .json files */\n \"resolveJsonModule\": true,\n\n /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */\n \"allowJs\": true,\n /* Enable error reporting in type-checked JavaScript files. */\n \"checkJs\": false,\n\n /* Disable emitting files from a compilation. */\n \"noEmit\": true,\n\n /* Ensure that each file can be safely transpiled without relying on other imports. */\n \"isolatedModules\": true,\n /* Allow 'import x from y' when a module doesn't have a default export. */\n \"allowSyntheticDefaultImports\": true,\n /* Ensure that casing is correct in imports. */\n \"forceConsistentCasingInFileNames\": true,\n\n /* Enable all strict type-checking options. */\n \"strict\": true,\n\n /* Skip type checking all .d.ts files. */\n \"skipLibCheck\": true\n },\n \"include\": [\"src/**/*.ts\", \"scripts/**/*.ts\", \"tests/**/*.ts\"]\n}\n", + "src/utils.ts": "export async function sendSlackMessage(\n\tchannelId: string,\n\ttext: string,\n): Promise {\n\tconst token = process.env.SLACK_BOT_TOKEN;\n\tif (!token) {\n\t\treturn;\n\t}\n\n\tawait fetch(\"https://slack.com/api/chat.postMessage\", {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tchannel: channelId,\n\t\t\ttext,\n\t\t}),\n\t});\n}\n", + "src/types.ts": "export type WorkspaceInput = {\n\tworkspaceId: string;\n\tchannelId: string;\n};\n\nexport type WorkspaceState = WorkspaceInput & {\n\tmessageCount: number;\n\tnextReportAt?: number;\n};\n", + "src/registry.ts": "import { actor, setup } from \"rivetkit\";\nimport type { WorkspaceInput, WorkspaceState } from \"./types\";\nimport { sendSlackMessage } from \"./utils\";\n\nconst DAY_IN_MS = 86_400_000;\n\nexport const slackWorkspaceBot = actor({\n\tcreateState: async (c, input): Promise => {\n\t\t// Schedule first daily report\n\t\tconst nextReportAt = Date.now() + DAY_IN_MS;\n\t\tawait c.schedule.at(nextReportAt, \"sendDailyReport\");\n\n\t\treturn {\n\t\t\tworkspaceId: (input as WorkspaceInput).workspaceId,\n\t\t\tchannelId: (input as WorkspaceInput).channelId,\n\t\t\tmessageCount: 0,\n\t\t\tnextReportAt,\n\t\t};\n\t},\n\n\tactions: {\n\t\t// Called by the Slack webhook in the Hono server\n\t\thandleMessage: async (c, text: string) => {\n\t\t\tc.state.messageCount++;\n\n\t\t\tconst msg = text.toLowerCase().trim();\n\t\t\tlet response: string | undefined;\n\n\t\t\tif (msg === \"ping\") {\n\t\t\t\tresponse = \"pong\";\n\t\t\t} else if (msg === \"count\") {\n\t\t\t\tresponse = `I've received ${c.state.messageCount} messages in this workspace`;\n\t\t\t} else if (msg === \"help\") {\n\t\t\t\tresponse =\n\t\t\t\t\t\"Available commands:\\n• ping - responds with pong\\n• count - shows message count\\n• help - shows this message\";\n\t\t\t}\n\n\t\t\tif (response) {\n\t\t\t\tawait sendSlackMessage(c.state.channelId, response);\n\t\t\t}\n\t\t},\n\n\t\tsendDailyReport: async (c) => {\n\t\t\t// Schedule next report\n\t\t\tconst nextReportAt = Date.now() + DAY_IN_MS;\n\t\t\tc.state.nextReportAt = nextReportAt;\n\t\t\tawait c.schedule.at(nextReportAt, \"sendDailyReport\");\n\n\t\t\t// Send report to Slack if we have a channel\n\t\t\tif (c.state.channelId) {\n\t\t\t\tconst report = `Daily report: ${c.state.messageCount} messages received so far`;\n\t\t\t\tawait sendSlackMessage(c.state.channelId, report);\n\t\t\t}\n\t\t},\n\t},\n});\n\nexport const registry = setup({\n\tuse: { slackWorkspaceBot },\n});\n\nexport type Registry = typeof registry;\n", + "src/server.ts": "import { serve } from \"@hono/node-server\";\nimport { Hono } from \"hono\";\nimport { registry } from \"./registry\";\n\nconst { client } = registry.start();\n\nconst app = new Hono();\n\napp.post(\"/slack/events\", async (c) => {\n\tconst body = await c.req.json();\n\n\tif (body.type === \"url_verification\") {\n\t\treturn c.json({ challenge: body.challenge });\n\t}\n\n\tif (body.type === \"event_callback\" && body.event.type === \"message\") {\n\t\tconst workspaceId = body.team_id;\n\t\tconst channelId = body.event.channel;\n\n\t\tconst bot = client.slackWorkspaceBot.getOrCreate(workspaceId, {\n\t\t\tcreateWithInput: {\n\t\t\t\tworkspaceId,\n\t\t\t\tchannelId,\n\t\t\t},\n\t\t});\n\n\t\tawait bot.handleMessage(body.event.text);\n\n\t\treturn c.json({ ok: true });\n\t}\n\n\treturn c.json({ ok: false }, 400);\n});\n\nserve({ fetch: app.fetch, port: 8080 });\nconsole.log(\"Slack bot listening on port 8080\");\n" } } ]; diff --git a/site/src/data/use-cases.ts b/site/src/data/use-cases.ts new file mode 100644 index 0000000000..5b7de99597 --- /dev/null +++ b/site/src/data/use-cases.ts @@ -0,0 +1,75 @@ +import { + faRobot, + faUserRobot, + faFilePen, + faDiagramNext, + faRotate, + faDatabase, + faGamepad, + faClock, + faGaugeHigh, +} from "@rivet-gg/icons"; + +export interface UseCase { + title: string; + href: string; + icon?: any; + description?: string; +} + +export const useCases: UseCase[] = [ + { + title: "AI Agent", + href: "/docs/use-cases/ai-agent", + icon: faRobot, + description: "Build durable AI assistants with persistent memory and realtime streaming", + }, + { + title: "Realtime Docs", + href: "/docs/use-cases/crdt", + icon: faFilePen, + description: "Collaborative documents with CRDTs and realtime synchronization", + }, + { + title: "Workflows", + href: "/docs/use-cases/workflows", + icon: faDiagramNext, + description: "Durable multi-step workflows with automatic state management", + }, + { + title: "Local-First Sync", + href: "/docs/use-cases/sync", + icon: faRotate, + description: "Offline-first applications with server synchronization", + }, + { + title: "Bots", + href: "/docs/use-cases/bots", + icon: faUserRobot, + description: "Discord, Slack, or autonomous bots with persistent state", + }, + { + title: "Per-User Database", + href: "/docs/use-cases/database", + icon: faDatabase, + description: "Isolated data stores for each user with zero-latency access", + }, + { + title: "Multiplayer Game", + href: "/docs/use-cases/game", + icon: faGamepad, + description: "Authoritative game servers with realtime state synchronization", + }, + { + title: "Background Jobs", + href: "/docs/use-cases/background-jobs", + icon: faClock, + description: "Scheduled and recurring jobs without external queue infrastructure", + }, + { + title: "Rate Limiting", + href: "/docs/use-cases/rate", + icon: faGaugeHigh, + description: "Distributed rate limiting with in-memory counters", + }, +]; diff --git a/site/src/images/screenshots/rivet-hub.png b/site/src/images/screenshots/rivet-hub.png index 1e47521ecd180b6c4281f72d885ea5c952965dc5..d719f18e49a15ad814dbf521749266fc61c15295 100644 GIT binary patch literal 213535 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Ξ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%0DHw?Eu5ChqeQj(yMTwv&ER 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 z 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

i8L6tXn?RPWgl#SX=3>X~eV#w`kxUd^Iw3Ui&Bo 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

Z&-cXfvu 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

  • i!lxi%+YtI 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%0An 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 diff --git a/site/src/sitemap/mod.ts b/site/src/sitemap/mod.ts index 76fbe7a03f..d35e708760 100644 --- a/site/src/sitemap/mod.ts +++ b/site/src/sitemap/mod.ts @@ -2,6 +2,7 @@ import apiData from "@/generated/apiPages.json" assert { type: "json" }; import { deployOptions } from "@/data/deploy-options"; import type { DeployOption } from "@/data/deploy-options"; import { integrationGroups } from "@/data/integrations/shared"; +import { useCases } from "@/data/use-cases"; import nextjs from "@/images/vendors/next-js.svg"; import type { SidebarItem, Sitemap } from "@/lib/sitemap"; import { @@ -29,6 +30,7 @@ import { faNetworkWired, faNodeJs, faReact, + faNextjs, faRecycle, faRotate, faRust, @@ -64,6 +66,8 @@ import { faCloud, faRailway, faLightbulb, + faCloudArrowUp, + faUpload, } from "@rivet-gg/icons"; // Goals: @@ -103,19 +107,6 @@ export const sitemap = [ href: "/docs", icon: faSquareInfo, }, - { - title: "Use Cases", - icon: faLightbulb, - collapsible: true, - pages: [ - { title: "AI Agents", href: "/docs/use-cases/ai-agents" }, - { title: "Realtime", href: "/docs/use-cases/realtime" }, - { title: "Durable Compute", href: "/docs/use-cases/durable-compute" }, - { title: "Per-Tenant Databases", href: "/docs/use-cases/per-tenant-databases" }, - { title: "Rate Limiting", href: "/docs/use-cases/rate-limiting" }, - { title: "Bots", href: "/docs/use-cases/bots" }, - ] - }, ] }, { @@ -130,19 +121,40 @@ export const sitemap = [ ] }, { - title: "Deploy", - pages: deployHosts.map(({ title, href, icon, badge }) => ({ - title, - href, - icon, - badge, - })), + title: "Use Cases", + pages: [ + ...useCases.slice(0, 3).map(({ title, href, icon }) => ({ + title, + href, + icon, + })), + { + title: "More", + collapsible: true, + pages: useCases.slice(3).map(({ title, href, icon }) => ({ + title, + href, + icon, + })), + }, + ], }, { title: "Reference", pages: [ { - title: "Cloud", + title: "Deploy", + icon: faUpload, + collapsible: true, + pages: deployHosts.map(({ title, href, icon, badge }) => ({ + title, + href, + icon, + badge, + })), + }, + { + title: "Rivet Cloud", icon: faCloud, collapsible: true, pages: [ @@ -268,7 +280,7 @@ export const sitemap = [ { title: "Next.js", href: "/docs/actors/quickstart/next-js", - icon: nextjs, + icon: faNextjs, }, { title: "Cloudflare Workers", @@ -487,7 +499,7 @@ export const sitemap = [ { title: "Next.js", href: "/docs/clients/next-js", - icon: nextjs, + icon: faNextjs, }, { title: "Rust",