├── example.env.local ├── src ├── app │ ├── favicon.ico │ ├── fonts │ │ ├── GeistVF.woff │ │ └── GeistMonoVF.woff │ ├── page.tsx │ ├── layout.tsx │ └── globals.css ├── lib │ └── utils.ts └── components │ ├── ui │ ├── button.tsx │ └── card.tsx │ └── VoiceComponent.tsx ├── public ├── vercel.svg ├── window.svg ├── file.svg ├── globe.svg └── next.svg ├── next.config.ts ├── postcss.config.mjs ├── README.md ├── components.json ├── .gitignore ├── tsconfig.json ├── package.json ├── tailwind.config.ts └── pnpm-lock.yaml /example.env.local: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_ELEVENLABS_AGENT_ID=xxx -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/HEAD/src/app/fonts/GeistVF.woff -------------------------------------------------------------------------------- /src/app/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leonvanzyl/elevenlabs-nextjs-conversational-ai/HEAD/src/app/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Real-time Voice Assistant with Next.js and ElevenLabs 2 | 3 | This project demonstrates how to build a real-time voice assistant using Next.js and the ElevenLabs Conversational SDK. Follow along with the YouTube tutorial to create your own AI-powered voice assistant. 4 | -------------------------------------------------------------------------------- /public/window.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "zinc", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "aliases": { 14 | "components": "@/components", 15 | "utils": "@/lib/utils", 16 | "ui": "@/components/ui", 17 | "lib": "@/lib", 18 | "hooks": "@/hooks" 19 | }, 20 | "iconLibrary": "lucide" 21 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.* 7 | .yarn/* 8 | !.yarn/patches 9 | !.yarn/plugins 10 | !.yarn/releases 11 | !.yarn/versions 12 | 13 | # testing 14 | /coverage 15 | 16 | # next.js 17 | /.next/ 18 | /out/ 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | 32 | # env files (can opt-in for committing if needed) 33 | .env* 34 | 35 | # vercel 36 | .vercel 37 | 38 | # typescript 39 | *.tsbuildinfo 40 | next-env.d.ts 41 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./src/*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | import VoiceComponent from "@/components/VoiceComponent"; 2 | export default function Home() { 3 | return ( 4 |
5 |
6 | 7 | Powered by ElevenLabs 8 |

Realtime Voice Agent

9 | 10 | 11 | The app requires microphone access to work. 12 | 13 |
14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "elevenlabs-conversational-ai", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev --turbopack", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@11labs/react": "^0.0.4", 13 | "@radix-ui/react-slot": "^1.1.0", 14 | "class-variance-authority": "^0.7.1", 15 | "clsx": "^2.1.1", 16 | "lucide-react": "^0.468.0", 17 | "next": "15.0.4", 18 | "react": "^19.0.0", 19 | "react-dom": "^19.0.0", 20 | "tailwind-merge": "^2.5.5", 21 | "tailwindcss-animate": "^1.0.7" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "^20", 25 | "@types/react": "^19", 26 | "@types/react-dom": "^19", 27 | "postcss": "^8", 28 | "tailwindcss": "^3.4.1", 29 | "typescript": "^5" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import localFont from "next/font/local"; 3 | import "./globals.css"; 4 | 5 | const geistSans = localFont({ 6 | src: "./fonts/GeistVF.woff", 7 | variable: "--font-geist-sans", 8 | weight: "100 900", 9 | }); 10 | const geistMono = localFont({ 11 | src: "./fonts/GeistMonoVF.woff", 12 | variable: "--font-geist-mono", 13 | weight: "100 900", 14 | }); 15 | 16 | export const metadata: Metadata = { 17 | title: "ElevenLabs Conversational AI Demo", 18 | description: "A demo of ElevenLabs Conversational AI", 19 | }; 20 | 21 | export default function RootLayout({ 22 | children, 23 | }: Readonly<{ 24 | children: React.ReactNode; 25 | }>) { 26 | return ( 27 | 28 | 31 | {children} 32 | 33 | 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /public/globe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | 3 | export default { 4 | darkMode: ["class"], 5 | content: [ 6 | "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", 7 | "./src/components/**/*.{js,ts,jsx,tsx,mdx}", 8 | "./src/app/**/*.{js,ts,jsx,tsx,mdx}", 9 | ], 10 | theme: { 11 | extend: { 12 | colors: { 13 | background: 'hsl(var(--background))', 14 | foreground: 'hsl(var(--foreground))', 15 | card: { 16 | DEFAULT: 'hsl(var(--card))', 17 | foreground: 'hsl(var(--card-foreground))' 18 | }, 19 | popover: { 20 | DEFAULT: 'hsl(var(--popover))', 21 | foreground: 'hsl(var(--popover-foreground))' 22 | }, 23 | primary: { 24 | DEFAULT: 'hsl(var(--primary))', 25 | foreground: 'hsl(var(--primary-foreground))' 26 | }, 27 | secondary: { 28 | DEFAULT: 'hsl(var(--secondary))', 29 | foreground: 'hsl(var(--secondary-foreground))' 30 | }, 31 | muted: { 32 | DEFAULT: 'hsl(var(--muted))', 33 | foreground: 'hsl(var(--muted-foreground))' 34 | }, 35 | accent: { 36 | DEFAULT: 'hsl(var(--accent))', 37 | foreground: 'hsl(var(--accent-foreground))' 38 | }, 39 | destructive: { 40 | DEFAULT: 'hsl(var(--destructive))', 41 | foreground: 'hsl(var(--destructive-foreground))' 42 | }, 43 | border: 'hsl(var(--border))', 44 | input: 'hsl(var(--input))', 45 | ring: 'hsl(var(--ring))', 46 | chart: { 47 | '1': 'hsl(var(--chart-1))', 48 | '2': 'hsl(var(--chart-2))', 49 | '3': 'hsl(var(--chart-3))', 50 | '4': 'hsl(var(--chart-4))', 51 | '5': 'hsl(var(--chart-5))' 52 | } 53 | }, 54 | borderRadius: { 55 | lg: 'var(--radius)', 56 | md: 'calc(var(--radius) - 2px)', 57 | sm: 'calc(var(--radius) - 4px)' 58 | } 59 | } 60 | }, 61 | plugins: [require("tailwindcss-animate")], 62 | } satisfies Config; 63 | -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | body { 6 | font-family: Arial, Helvetica, sans-serif; 7 | } 8 | 9 | @layer base { 10 | :root { 11 | --background: 0 0% 100%; 12 | --foreground: 240 10% 3.9%; 13 | --card: 0 0% 100%; 14 | --card-foreground: 240 10% 3.9%; 15 | --popover: 0 0% 100%; 16 | --popover-foreground: 240 10% 3.9%; 17 | --primary: 240 5.9% 10%; 18 | --primary-foreground: 0 0% 98%; 19 | --secondary: 240 4.8% 95.9%; 20 | --secondary-foreground: 240 5.9% 10%; 21 | --muted: 240 4.8% 95.9%; 22 | --muted-foreground: 240 3.8% 46.1%; 23 | --accent: 240 4.8% 95.9%; 24 | --accent-foreground: 240 5.9% 10%; 25 | --destructive: 0 84.2% 60.2%; 26 | --destructive-foreground: 0 0% 98%; 27 | --border: 240 5.9% 90%; 28 | --input: 240 5.9% 90%; 29 | --ring: 240 10% 3.9%; 30 | --chart-1: 12 76% 61%; 31 | --chart-2: 173 58% 39%; 32 | --chart-3: 197 37% 24%; 33 | --chart-4: 43 74% 66%; 34 | --chart-5: 27 87% 67%; 35 | --radius: 0.5rem; 36 | } 37 | .dark { 38 | --background: 240 10% 3.9%; 39 | --foreground: 0 0% 98%; 40 | --card: 240 10% 3.9%; 41 | --card-foreground: 0 0% 98%; 42 | --popover: 240 10% 3.9%; 43 | --popover-foreground: 0 0% 98%; 44 | --primary: 0 0% 98%; 45 | --primary-foreground: 240 5.9% 10%; 46 | --secondary: 240 3.7% 15.9%; 47 | --secondary-foreground: 0 0% 98%; 48 | --muted: 240 3.7% 15.9%; 49 | --muted-foreground: 240 5% 64.9%; 50 | --accent: 240 3.7% 15.9%; 51 | --accent-foreground: 0 0% 98%; 52 | --destructive: 0 62.8% 30.6%; 53 | --destructive-foreground: 0 0% 98%; 54 | --border: 240 3.7% 15.9%; 55 | --input: 240 3.7% 15.9%; 56 | --ring: 240 4.9% 83.9%; 57 | --chart-1: 220 70% 50%; 58 | --chart-2: 160 60% 45%; 59 | --chart-3: 30 80% 55%; 60 | --chart-4: 280 65% 60%; 61 | --chart-5: 340 75% 55%; 62 | } 63 | } 64 | 65 | @layer base { 66 | * { 67 | @apply border-border; 68 | } 69 | body { 70 | @apply bg-background text-foreground; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", 9 | { 10 | variants: { 11 | variant: { 12 | default: 13 | "bg-primary text-primary-foreground shadow hover:bg-primary/90", 14 | destructive: 15 | "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", 16 | outline: 17 | "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", 18 | secondary: 19 | "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", 20 | ghost: "hover:bg-accent hover:text-accent-foreground", 21 | link: "text-primary underline-offset-4 hover:underline", 22 | }, 23 | size: { 24 | default: "h-9 px-4 py-2", 25 | sm: "h-8 rounded-md px-3 text-xs", 26 | lg: "h-10 rounded-md px-8", 27 | icon: "h-9 w-9", 28 | }, 29 | }, 30 | defaultVariants: { 31 | variant: "default", 32 | size: "default", 33 | }, 34 | } 35 | ) 36 | 37 | export interface ButtonProps 38 | extends React.ButtonHTMLAttributes, 39 | VariantProps { 40 | asChild?: boolean 41 | } 42 | 43 | const Button = React.forwardRef( 44 | ({ className, variant, size, asChild = false, ...props }, ref) => { 45 | const Comp = asChild ? Slot : "button" 46 | return ( 47 | 52 | ) 53 | } 54 | ) 55 | Button.displayName = "Button" 56 | 57 | export { Button, buttonVariants } 58 | -------------------------------------------------------------------------------- /src/components/ui/card.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | const Card = React.forwardRef< 6 | HTMLDivElement, 7 | React.HTMLAttributes 8 | >(({ className, ...props }, ref) => ( 9 |
17 | )) 18 | Card.displayName = "Card" 19 | 20 | const CardHeader = React.forwardRef< 21 | HTMLDivElement, 22 | React.HTMLAttributes 23 | >(({ className, ...props }, ref) => ( 24 |
29 | )) 30 | CardHeader.displayName = "CardHeader" 31 | 32 | const CardTitle = React.forwardRef< 33 | HTMLDivElement, 34 | React.HTMLAttributes 35 | >(({ className, ...props }, ref) => ( 36 |
41 | )) 42 | CardTitle.displayName = "CardTitle" 43 | 44 | const CardDescription = React.forwardRef< 45 | HTMLDivElement, 46 | React.HTMLAttributes 47 | >(({ className, ...props }, ref) => ( 48 |
53 | )) 54 | CardDescription.displayName = "CardDescription" 55 | 56 | const CardContent = React.forwardRef< 57 | HTMLDivElement, 58 | React.HTMLAttributes 59 | >(({ className, ...props }, ref) => ( 60 |
61 | )) 62 | CardContent.displayName = "CardContent" 63 | 64 | const CardFooter = React.forwardRef< 65 | HTMLDivElement, 66 | React.HTMLAttributes 67 | >(({ className, ...props }, ref) => ( 68 |
73 | )) 74 | CardFooter.displayName = "CardFooter" 75 | 76 | export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } 77 | -------------------------------------------------------------------------------- /src/components/VoiceComponent.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React, { useEffect, useState } from "react"; 4 | 5 | // ElevenLabs 6 | import { useConversation } from "@11labs/react"; 7 | 8 | // UI 9 | import { Button } from "@/components/ui/button"; 10 | import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; 11 | import { Mic, MicOff, Volume2, VolumeX } from "lucide-react"; 12 | 13 | const VoiceChat = () => { 14 | const [hasPermission, setHasPermission] = useState(false); 15 | const [isMuted, setIsMuted] = useState(false); 16 | const [errorMessage, setErrorMessage] = useState(""); 17 | 18 | const conversation = useConversation({ 19 | onConnect: () => { 20 | console.log("Connected to ElevenLabs"); 21 | }, 22 | onDisconnect: () => { 23 | console.log("Disconnected from ElevenLabs"); 24 | }, 25 | onMessage: (message) => { 26 | console.log("Received message:", message); 27 | }, 28 | onError: (error: string | Error) => { 29 | setErrorMessage(typeof error === "string" ? error : error.message); 30 | console.error("Error:", error); 31 | }, 32 | }); 33 | 34 | const { status, isSpeaking } = conversation; 35 | 36 | useEffect(() => { 37 | // Request microphone permission on component mount 38 | const requestMicPermission = async () => { 39 | try { 40 | await navigator.mediaDevices.getUserMedia({ audio: true }); 41 | setHasPermission(true); 42 | } catch (error) { 43 | setErrorMessage("Microphone access denied"); 44 | console.error("Error accessing microphone:", error); 45 | } 46 | }; 47 | 48 | requestMicPermission(); 49 | }, []); 50 | 51 | const handleStartConversation = async () => { 52 | try { 53 | // Replace with your actual agent ID or URL 54 | const conversationId = await conversation.startSession({ 55 | agentId: process.env.NEXT_PUBLIC_ELEVENLABS_AGENT_ID!, 56 | }); 57 | console.log("Started conversation:", conversationId); 58 | } catch (error) { 59 | setErrorMessage("Failed to start conversation"); 60 | console.error("Error starting conversation:", error); 61 | } 62 | }; 63 | 64 | const handleEndConversation = async () => { 65 | try { 66 | await conversation.endSession(); 67 | } catch (error) { 68 | setErrorMessage("Failed to end conversation"); 69 | console.error("Error ending conversation:", error); 70 | } 71 | }; 72 | 73 | const toggleMute = async () => { 74 | try { 75 | await conversation.setVolume({ volume: isMuted ? 1 : 0 }); 76 | setIsMuted(!isMuted); 77 | } catch (error) { 78 | setErrorMessage("Failed to change volume"); 79 | console.error("Error changing volume:", error); 80 | } 81 | }; 82 | 83 | return ( 84 | 85 | 86 | 87 | Voice Chat 88 |
89 | 101 |
102 |
103 |
104 | 105 |
106 |
107 | {status === "connected" ? ( 108 | 116 | ) : ( 117 | 125 | )} 126 |
127 | 128 |
129 | {status === "connected" && ( 130 |

131 | {isSpeaking ? "Agent is speaking..." : "Listening..."} 132 |

133 | )} 134 | {errorMessage &&

{errorMessage}

} 135 | {!hasPermission && ( 136 |

137 | Please allow microphone access to use voice chat 138 |

139 | )} 140 |
141 |
142 |
143 |
144 | ); 145 | }; 146 | 147 | export default VoiceChat; 148 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@11labs/react': 12 | specifier: ^0.0.4 13 | version: 0.0.4(react@19.0.0) 14 | '@radix-ui/react-slot': 15 | specifier: ^1.1.0 16 | version: 1.1.0(@types/react@19.0.0)(react@19.0.0) 17 | class-variance-authority: 18 | specifier: ^0.7.1 19 | version: 0.7.1 20 | clsx: 21 | specifier: ^2.1.1 22 | version: 2.1.1 23 | lucide-react: 24 | specifier: ^0.468.0 25 | version: 0.468.0(react@19.0.0) 26 | next: 27 | specifier: 15.0.4 28 | version: 15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 29 | react: 30 | specifier: ^19.0.0 31 | version: 19.0.0 32 | react-dom: 33 | specifier: ^19.0.0 34 | version: 19.0.0(react@19.0.0) 35 | tailwind-merge: 36 | specifier: ^2.5.5 37 | version: 2.5.5 38 | tailwindcss-animate: 39 | specifier: ^1.0.7 40 | version: 1.0.7(tailwindcss@3.4.16) 41 | devDependencies: 42 | '@types/node': 43 | specifier: ^20 44 | version: 20.17.9 45 | '@types/react': 46 | specifier: ^19 47 | version: 19.0.0 48 | '@types/react-dom': 49 | specifier: ^19 50 | version: 19.0.0 51 | postcss: 52 | specifier: ^8 53 | version: 8.4.49 54 | tailwindcss: 55 | specifier: ^3.4.1 56 | version: 3.4.16 57 | typescript: 58 | specifier: ^5 59 | version: 5.7.2 60 | 61 | packages: 62 | 63 | '@11labs/client@0.0.4': 64 | resolution: {integrity: sha512-BldXyZsTtiS8Db3RTDxuk1B+Gx7pj7xxUWS5MJA3CfvKegDJeX979l3s3ZJ4StBLM2VaOTf3b2c5NUTy41a3nQ==} 65 | 66 | '@11labs/react@0.0.4': 67 | resolution: {integrity: sha512-ZXkAfB3+BAb78Q3N8gM5NVk/RLpi8WCpZBYRzj+wquXw3CkIIzvdL5S3sieMqtDccdWLV3Wn4MC273RHdAdUUQ==} 68 | peerDependencies: 69 | react: '>=16.8.0' 70 | 71 | '@alloc/quick-lru@5.2.0': 72 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 73 | engines: {node: '>=10'} 74 | 75 | '@emnapi/runtime@1.3.1': 76 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} 77 | 78 | '@img/sharp-darwin-arm64@0.33.5': 79 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 80 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 81 | cpu: [arm64] 82 | os: [darwin] 83 | 84 | '@img/sharp-darwin-x64@0.33.5': 85 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 86 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 87 | cpu: [x64] 88 | os: [darwin] 89 | 90 | '@img/sharp-libvips-darwin-arm64@1.0.4': 91 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 92 | cpu: [arm64] 93 | os: [darwin] 94 | 95 | '@img/sharp-libvips-darwin-x64@1.0.4': 96 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 97 | cpu: [x64] 98 | os: [darwin] 99 | 100 | '@img/sharp-libvips-linux-arm64@1.0.4': 101 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 102 | cpu: [arm64] 103 | os: [linux] 104 | 105 | '@img/sharp-libvips-linux-arm@1.0.5': 106 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 107 | cpu: [arm] 108 | os: [linux] 109 | 110 | '@img/sharp-libvips-linux-s390x@1.0.4': 111 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 112 | cpu: [s390x] 113 | os: [linux] 114 | 115 | '@img/sharp-libvips-linux-x64@1.0.4': 116 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 117 | cpu: [x64] 118 | os: [linux] 119 | 120 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 121 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 122 | cpu: [arm64] 123 | os: [linux] 124 | 125 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 126 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 127 | cpu: [x64] 128 | os: [linux] 129 | 130 | '@img/sharp-linux-arm64@0.33.5': 131 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 132 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 133 | cpu: [arm64] 134 | os: [linux] 135 | 136 | '@img/sharp-linux-arm@0.33.5': 137 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 138 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 139 | cpu: [arm] 140 | os: [linux] 141 | 142 | '@img/sharp-linux-s390x@0.33.5': 143 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 144 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 145 | cpu: [s390x] 146 | os: [linux] 147 | 148 | '@img/sharp-linux-x64@0.33.5': 149 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 150 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 151 | cpu: [x64] 152 | os: [linux] 153 | 154 | '@img/sharp-linuxmusl-arm64@0.33.5': 155 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 156 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 157 | cpu: [arm64] 158 | os: [linux] 159 | 160 | '@img/sharp-linuxmusl-x64@0.33.5': 161 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 162 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 163 | cpu: [x64] 164 | os: [linux] 165 | 166 | '@img/sharp-wasm32@0.33.5': 167 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 168 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 169 | cpu: [wasm32] 170 | 171 | '@img/sharp-win32-ia32@0.33.5': 172 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 173 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 174 | cpu: [ia32] 175 | os: [win32] 176 | 177 | '@img/sharp-win32-x64@0.33.5': 178 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 179 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 180 | cpu: [x64] 181 | os: [win32] 182 | 183 | '@isaacs/cliui@8.0.2': 184 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 185 | engines: {node: '>=12'} 186 | 187 | '@jridgewell/gen-mapping@0.3.5': 188 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 189 | engines: {node: '>=6.0.0'} 190 | 191 | '@jridgewell/resolve-uri@3.1.2': 192 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 193 | engines: {node: '>=6.0.0'} 194 | 195 | '@jridgewell/set-array@1.2.1': 196 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 197 | engines: {node: '>=6.0.0'} 198 | 199 | '@jridgewell/sourcemap-codec@1.5.0': 200 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 201 | 202 | '@jridgewell/trace-mapping@0.3.25': 203 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 204 | 205 | '@next/env@15.0.4': 206 | resolution: {integrity: sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==} 207 | 208 | '@next/swc-darwin-arm64@15.0.4': 209 | resolution: {integrity: sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w==} 210 | engines: {node: '>= 10'} 211 | cpu: [arm64] 212 | os: [darwin] 213 | 214 | '@next/swc-darwin-x64@15.0.4': 215 | resolution: {integrity: sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA==} 216 | engines: {node: '>= 10'} 217 | cpu: [x64] 218 | os: [darwin] 219 | 220 | '@next/swc-linux-arm64-gnu@15.0.4': 221 | resolution: {integrity: sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA==} 222 | engines: {node: '>= 10'} 223 | cpu: [arm64] 224 | os: [linux] 225 | 226 | '@next/swc-linux-arm64-musl@15.0.4': 227 | resolution: {integrity: sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw==} 228 | engines: {node: '>= 10'} 229 | cpu: [arm64] 230 | os: [linux] 231 | 232 | '@next/swc-linux-x64-gnu@15.0.4': 233 | resolution: {integrity: sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw==} 234 | engines: {node: '>= 10'} 235 | cpu: [x64] 236 | os: [linux] 237 | 238 | '@next/swc-linux-x64-musl@15.0.4': 239 | resolution: {integrity: sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw==} 240 | engines: {node: '>= 10'} 241 | cpu: [x64] 242 | os: [linux] 243 | 244 | '@next/swc-win32-arm64-msvc@15.0.4': 245 | resolution: {integrity: sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ==} 246 | engines: {node: '>= 10'} 247 | cpu: [arm64] 248 | os: [win32] 249 | 250 | '@next/swc-win32-x64-msvc@15.0.4': 251 | resolution: {integrity: sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw==} 252 | engines: {node: '>= 10'} 253 | cpu: [x64] 254 | os: [win32] 255 | 256 | '@nodelib/fs.scandir@2.1.5': 257 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 258 | engines: {node: '>= 8'} 259 | 260 | '@nodelib/fs.stat@2.0.5': 261 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 262 | engines: {node: '>= 8'} 263 | 264 | '@nodelib/fs.walk@1.2.8': 265 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 266 | engines: {node: '>= 8'} 267 | 268 | '@pkgjs/parseargs@0.11.0': 269 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 270 | engines: {node: '>=14'} 271 | 272 | '@radix-ui/react-compose-refs@1.1.0': 273 | resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} 274 | peerDependencies: 275 | '@types/react': '*' 276 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 277 | peerDependenciesMeta: 278 | '@types/react': 279 | optional: true 280 | 281 | '@radix-ui/react-slot@1.1.0': 282 | resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} 283 | peerDependencies: 284 | '@types/react': '*' 285 | react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc 286 | peerDependenciesMeta: 287 | '@types/react': 288 | optional: true 289 | 290 | '@swc/counter@0.1.3': 291 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 292 | 293 | '@swc/helpers@0.5.13': 294 | resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} 295 | 296 | '@types/node@20.17.9': 297 | resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==} 298 | 299 | '@types/react-dom@19.0.0': 300 | resolution: {integrity: sha512-1KfiQKsH1o00p9m5ag12axHQSb3FOU9H20UTrujVSkNhuCrRHiQWFqgEnTNK5ZNfnzZv8UWrnXVqCmCF9fgY3w==} 301 | 302 | '@types/react@19.0.0': 303 | resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==} 304 | 305 | ansi-regex@5.0.1: 306 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 307 | engines: {node: '>=8'} 308 | 309 | ansi-regex@6.1.0: 310 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 311 | engines: {node: '>=12'} 312 | 313 | ansi-styles@4.3.0: 314 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 315 | engines: {node: '>=8'} 316 | 317 | ansi-styles@6.2.1: 318 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 319 | engines: {node: '>=12'} 320 | 321 | any-promise@1.3.0: 322 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 323 | 324 | anymatch@3.1.3: 325 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 326 | engines: {node: '>= 8'} 327 | 328 | arg@5.0.2: 329 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 330 | 331 | balanced-match@1.0.2: 332 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 333 | 334 | binary-extensions@2.3.0: 335 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 336 | engines: {node: '>=8'} 337 | 338 | brace-expansion@2.0.1: 339 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 340 | 341 | braces@3.0.3: 342 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 343 | engines: {node: '>=8'} 344 | 345 | busboy@1.6.0: 346 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 347 | engines: {node: '>=10.16.0'} 348 | 349 | camelcase-css@2.0.1: 350 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 351 | engines: {node: '>= 6'} 352 | 353 | caniuse-lite@1.0.30001687: 354 | resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} 355 | 356 | chokidar@3.6.0: 357 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 358 | engines: {node: '>= 8.10.0'} 359 | 360 | class-variance-authority@0.7.1: 361 | resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} 362 | 363 | client-only@0.0.1: 364 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 365 | 366 | clsx@2.1.1: 367 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 368 | engines: {node: '>=6'} 369 | 370 | color-convert@2.0.1: 371 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 372 | engines: {node: '>=7.0.0'} 373 | 374 | color-name@1.1.4: 375 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 376 | 377 | color-string@1.9.1: 378 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 379 | 380 | color@4.2.3: 381 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 382 | engines: {node: '>=12.5.0'} 383 | 384 | commander@4.1.1: 385 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 386 | engines: {node: '>= 6'} 387 | 388 | cross-spawn@7.0.6: 389 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 390 | engines: {node: '>= 8'} 391 | 392 | cssesc@3.0.0: 393 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 394 | engines: {node: '>=4'} 395 | hasBin: true 396 | 397 | csstype@3.1.3: 398 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 399 | 400 | detect-libc@2.0.3: 401 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 402 | engines: {node: '>=8'} 403 | 404 | didyoumean@1.2.2: 405 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 406 | 407 | dlv@1.1.3: 408 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 409 | 410 | eastasianwidth@0.2.0: 411 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 412 | 413 | emoji-regex@8.0.0: 414 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 415 | 416 | emoji-regex@9.2.2: 417 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 418 | 419 | fast-glob@3.3.2: 420 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 421 | engines: {node: '>=8.6.0'} 422 | 423 | fastq@1.17.1: 424 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 425 | 426 | fill-range@7.1.1: 427 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 428 | engines: {node: '>=8'} 429 | 430 | foreground-child@3.3.0: 431 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 432 | engines: {node: '>=14'} 433 | 434 | fsevents@2.3.3: 435 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 436 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 437 | os: [darwin] 438 | 439 | function-bind@1.1.2: 440 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 441 | 442 | glob-parent@5.1.2: 443 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 444 | engines: {node: '>= 6'} 445 | 446 | glob-parent@6.0.2: 447 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 448 | engines: {node: '>=10.13.0'} 449 | 450 | glob@10.4.5: 451 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 452 | hasBin: true 453 | 454 | hasown@2.0.2: 455 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 456 | engines: {node: '>= 0.4'} 457 | 458 | is-arrayish@0.3.2: 459 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 460 | 461 | is-binary-path@2.1.0: 462 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 463 | engines: {node: '>=8'} 464 | 465 | is-core-module@2.15.1: 466 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 467 | engines: {node: '>= 0.4'} 468 | 469 | is-extglob@2.1.1: 470 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 471 | engines: {node: '>=0.10.0'} 472 | 473 | is-fullwidth-code-point@3.0.0: 474 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 475 | engines: {node: '>=8'} 476 | 477 | is-glob@4.0.3: 478 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 479 | engines: {node: '>=0.10.0'} 480 | 481 | is-number@7.0.0: 482 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 483 | engines: {node: '>=0.12.0'} 484 | 485 | isexe@2.0.0: 486 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 487 | 488 | jackspeak@3.4.3: 489 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 490 | 491 | jiti@1.21.6: 492 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 493 | hasBin: true 494 | 495 | lilconfig@3.1.3: 496 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 497 | engines: {node: '>=14'} 498 | 499 | lines-and-columns@1.2.4: 500 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 501 | 502 | lru-cache@10.4.3: 503 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 504 | 505 | lucide-react@0.468.0: 506 | resolution: {integrity: sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==} 507 | peerDependencies: 508 | react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc 509 | 510 | merge2@1.4.1: 511 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 512 | engines: {node: '>= 8'} 513 | 514 | micromatch@4.0.8: 515 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 516 | engines: {node: '>=8.6'} 517 | 518 | minimatch@9.0.5: 519 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 520 | engines: {node: '>=16 || 14 >=14.17'} 521 | 522 | minipass@7.1.2: 523 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 524 | engines: {node: '>=16 || 14 >=14.17'} 525 | 526 | mz@2.7.0: 527 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 528 | 529 | nanoid@3.3.8: 530 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 531 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 532 | hasBin: true 533 | 534 | next@15.0.4: 535 | resolution: {integrity: sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==} 536 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 537 | hasBin: true 538 | peerDependencies: 539 | '@opentelemetry/api': ^1.1.0 540 | '@playwright/test': ^1.41.2 541 | babel-plugin-react-compiler: '*' 542 | react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 543 | react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 544 | sass: ^1.3.0 545 | peerDependenciesMeta: 546 | '@opentelemetry/api': 547 | optional: true 548 | '@playwright/test': 549 | optional: true 550 | babel-plugin-react-compiler: 551 | optional: true 552 | sass: 553 | optional: true 554 | 555 | normalize-path@3.0.0: 556 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 557 | engines: {node: '>=0.10.0'} 558 | 559 | object-assign@4.1.1: 560 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 561 | engines: {node: '>=0.10.0'} 562 | 563 | object-hash@3.0.0: 564 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 565 | engines: {node: '>= 6'} 566 | 567 | package-json-from-dist@1.0.1: 568 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 569 | 570 | path-key@3.1.1: 571 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 572 | engines: {node: '>=8'} 573 | 574 | path-parse@1.0.7: 575 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 576 | 577 | path-scurry@1.11.1: 578 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 579 | engines: {node: '>=16 || 14 >=14.18'} 580 | 581 | picocolors@1.1.1: 582 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 583 | 584 | picomatch@2.3.1: 585 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 586 | engines: {node: '>=8.6'} 587 | 588 | pify@2.3.0: 589 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 590 | engines: {node: '>=0.10.0'} 591 | 592 | pirates@4.0.6: 593 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 594 | engines: {node: '>= 6'} 595 | 596 | postcss-import@15.1.0: 597 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 598 | engines: {node: '>=14.0.0'} 599 | peerDependencies: 600 | postcss: ^8.0.0 601 | 602 | postcss-js@4.0.1: 603 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 604 | engines: {node: ^12 || ^14 || >= 16} 605 | peerDependencies: 606 | postcss: ^8.4.21 607 | 608 | postcss-load-config@4.0.2: 609 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 610 | engines: {node: '>= 14'} 611 | peerDependencies: 612 | postcss: '>=8.0.9' 613 | ts-node: '>=9.0.0' 614 | peerDependenciesMeta: 615 | postcss: 616 | optional: true 617 | ts-node: 618 | optional: true 619 | 620 | postcss-nested@6.2.0: 621 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 622 | engines: {node: '>=12.0'} 623 | peerDependencies: 624 | postcss: ^8.2.14 625 | 626 | postcss-selector-parser@6.1.2: 627 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 628 | engines: {node: '>=4'} 629 | 630 | postcss-value-parser@4.2.0: 631 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 632 | 633 | postcss@8.4.31: 634 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 635 | engines: {node: ^10 || ^12 || >=14} 636 | 637 | postcss@8.4.49: 638 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} 639 | engines: {node: ^10 || ^12 || >=14} 640 | 641 | queue-microtask@1.2.3: 642 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 643 | 644 | react-dom@19.0.0: 645 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} 646 | peerDependencies: 647 | react: ^19.0.0 648 | 649 | react@19.0.0: 650 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} 651 | engines: {node: '>=0.10.0'} 652 | 653 | read-cache@1.0.0: 654 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 655 | 656 | readdirp@3.6.0: 657 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 658 | engines: {node: '>=8.10.0'} 659 | 660 | resolve@1.22.8: 661 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 662 | hasBin: true 663 | 664 | reusify@1.0.4: 665 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 666 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 667 | 668 | run-parallel@1.2.0: 669 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 670 | 671 | scheduler@0.25.0: 672 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} 673 | 674 | semver@7.6.3: 675 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 676 | engines: {node: '>=10'} 677 | hasBin: true 678 | 679 | sharp@0.33.5: 680 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 681 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 682 | 683 | shebang-command@2.0.0: 684 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 685 | engines: {node: '>=8'} 686 | 687 | shebang-regex@3.0.0: 688 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 689 | engines: {node: '>=8'} 690 | 691 | signal-exit@4.1.0: 692 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 693 | engines: {node: '>=14'} 694 | 695 | simple-swizzle@0.2.2: 696 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 697 | 698 | source-map-js@1.2.1: 699 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 700 | engines: {node: '>=0.10.0'} 701 | 702 | streamsearch@1.1.0: 703 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 704 | engines: {node: '>=10.0.0'} 705 | 706 | string-width@4.2.3: 707 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 708 | engines: {node: '>=8'} 709 | 710 | string-width@5.1.2: 711 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 712 | engines: {node: '>=12'} 713 | 714 | strip-ansi@6.0.1: 715 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 716 | engines: {node: '>=8'} 717 | 718 | strip-ansi@7.1.0: 719 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 720 | engines: {node: '>=12'} 721 | 722 | styled-jsx@5.1.6: 723 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 724 | engines: {node: '>= 12.0.0'} 725 | peerDependencies: 726 | '@babel/core': '*' 727 | babel-plugin-macros: '*' 728 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 729 | peerDependenciesMeta: 730 | '@babel/core': 731 | optional: true 732 | babel-plugin-macros: 733 | optional: true 734 | 735 | sucrase@3.35.0: 736 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 737 | engines: {node: '>=16 || 14 >=14.17'} 738 | hasBin: true 739 | 740 | supports-preserve-symlinks-flag@1.0.0: 741 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 742 | engines: {node: '>= 0.4'} 743 | 744 | tailwind-merge@2.5.5: 745 | resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} 746 | 747 | tailwindcss-animate@1.0.7: 748 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} 749 | peerDependencies: 750 | tailwindcss: '>=3.0.0 || insiders' 751 | 752 | tailwindcss@3.4.16: 753 | resolution: {integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==} 754 | engines: {node: '>=14.0.0'} 755 | hasBin: true 756 | 757 | thenify-all@1.6.0: 758 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 759 | engines: {node: '>=0.8'} 760 | 761 | thenify@3.3.1: 762 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 763 | 764 | to-regex-range@5.0.1: 765 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 766 | engines: {node: '>=8.0'} 767 | 768 | ts-interface-checker@0.1.13: 769 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 770 | 771 | tslib@2.8.1: 772 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 773 | 774 | typescript@5.7.2: 775 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 776 | engines: {node: '>=14.17'} 777 | hasBin: true 778 | 779 | undici-types@6.19.8: 780 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 781 | 782 | util-deprecate@1.0.2: 783 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 784 | 785 | which@2.0.2: 786 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 787 | engines: {node: '>= 8'} 788 | hasBin: true 789 | 790 | wrap-ansi@7.0.0: 791 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 792 | engines: {node: '>=10'} 793 | 794 | wrap-ansi@8.1.0: 795 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 796 | engines: {node: '>=12'} 797 | 798 | yaml@2.6.1: 799 | resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} 800 | engines: {node: '>= 14'} 801 | hasBin: true 802 | 803 | snapshots: 804 | 805 | '@11labs/client@0.0.4': {} 806 | 807 | '@11labs/react@0.0.4(react@19.0.0)': 808 | dependencies: 809 | '@11labs/client': 0.0.4 810 | react: 19.0.0 811 | 812 | '@alloc/quick-lru@5.2.0': {} 813 | 814 | '@emnapi/runtime@1.3.1': 815 | dependencies: 816 | tslib: 2.8.1 817 | optional: true 818 | 819 | '@img/sharp-darwin-arm64@0.33.5': 820 | optionalDependencies: 821 | '@img/sharp-libvips-darwin-arm64': 1.0.4 822 | optional: true 823 | 824 | '@img/sharp-darwin-x64@0.33.5': 825 | optionalDependencies: 826 | '@img/sharp-libvips-darwin-x64': 1.0.4 827 | optional: true 828 | 829 | '@img/sharp-libvips-darwin-arm64@1.0.4': 830 | optional: true 831 | 832 | '@img/sharp-libvips-darwin-x64@1.0.4': 833 | optional: true 834 | 835 | '@img/sharp-libvips-linux-arm64@1.0.4': 836 | optional: true 837 | 838 | '@img/sharp-libvips-linux-arm@1.0.5': 839 | optional: true 840 | 841 | '@img/sharp-libvips-linux-s390x@1.0.4': 842 | optional: true 843 | 844 | '@img/sharp-libvips-linux-x64@1.0.4': 845 | optional: true 846 | 847 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 848 | optional: true 849 | 850 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 851 | optional: true 852 | 853 | '@img/sharp-linux-arm64@0.33.5': 854 | optionalDependencies: 855 | '@img/sharp-libvips-linux-arm64': 1.0.4 856 | optional: true 857 | 858 | '@img/sharp-linux-arm@0.33.5': 859 | optionalDependencies: 860 | '@img/sharp-libvips-linux-arm': 1.0.5 861 | optional: true 862 | 863 | '@img/sharp-linux-s390x@0.33.5': 864 | optionalDependencies: 865 | '@img/sharp-libvips-linux-s390x': 1.0.4 866 | optional: true 867 | 868 | '@img/sharp-linux-x64@0.33.5': 869 | optionalDependencies: 870 | '@img/sharp-libvips-linux-x64': 1.0.4 871 | optional: true 872 | 873 | '@img/sharp-linuxmusl-arm64@0.33.5': 874 | optionalDependencies: 875 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 876 | optional: true 877 | 878 | '@img/sharp-linuxmusl-x64@0.33.5': 879 | optionalDependencies: 880 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 881 | optional: true 882 | 883 | '@img/sharp-wasm32@0.33.5': 884 | dependencies: 885 | '@emnapi/runtime': 1.3.1 886 | optional: true 887 | 888 | '@img/sharp-win32-ia32@0.33.5': 889 | optional: true 890 | 891 | '@img/sharp-win32-x64@0.33.5': 892 | optional: true 893 | 894 | '@isaacs/cliui@8.0.2': 895 | dependencies: 896 | string-width: 5.1.2 897 | string-width-cjs: string-width@4.2.3 898 | strip-ansi: 7.1.0 899 | strip-ansi-cjs: strip-ansi@6.0.1 900 | wrap-ansi: 8.1.0 901 | wrap-ansi-cjs: wrap-ansi@7.0.0 902 | 903 | '@jridgewell/gen-mapping@0.3.5': 904 | dependencies: 905 | '@jridgewell/set-array': 1.2.1 906 | '@jridgewell/sourcemap-codec': 1.5.0 907 | '@jridgewell/trace-mapping': 0.3.25 908 | 909 | '@jridgewell/resolve-uri@3.1.2': {} 910 | 911 | '@jridgewell/set-array@1.2.1': {} 912 | 913 | '@jridgewell/sourcemap-codec@1.5.0': {} 914 | 915 | '@jridgewell/trace-mapping@0.3.25': 916 | dependencies: 917 | '@jridgewell/resolve-uri': 3.1.2 918 | '@jridgewell/sourcemap-codec': 1.5.0 919 | 920 | '@next/env@15.0.4': {} 921 | 922 | '@next/swc-darwin-arm64@15.0.4': 923 | optional: true 924 | 925 | '@next/swc-darwin-x64@15.0.4': 926 | optional: true 927 | 928 | '@next/swc-linux-arm64-gnu@15.0.4': 929 | optional: true 930 | 931 | '@next/swc-linux-arm64-musl@15.0.4': 932 | optional: true 933 | 934 | '@next/swc-linux-x64-gnu@15.0.4': 935 | optional: true 936 | 937 | '@next/swc-linux-x64-musl@15.0.4': 938 | optional: true 939 | 940 | '@next/swc-win32-arm64-msvc@15.0.4': 941 | optional: true 942 | 943 | '@next/swc-win32-x64-msvc@15.0.4': 944 | optional: true 945 | 946 | '@nodelib/fs.scandir@2.1.5': 947 | dependencies: 948 | '@nodelib/fs.stat': 2.0.5 949 | run-parallel: 1.2.0 950 | 951 | '@nodelib/fs.stat@2.0.5': {} 952 | 953 | '@nodelib/fs.walk@1.2.8': 954 | dependencies: 955 | '@nodelib/fs.scandir': 2.1.5 956 | fastq: 1.17.1 957 | 958 | '@pkgjs/parseargs@0.11.0': 959 | optional: true 960 | 961 | '@radix-ui/react-compose-refs@1.1.0(@types/react@19.0.0)(react@19.0.0)': 962 | dependencies: 963 | react: 19.0.0 964 | optionalDependencies: 965 | '@types/react': 19.0.0 966 | 967 | '@radix-ui/react-slot@1.1.0(@types/react@19.0.0)(react@19.0.0)': 968 | dependencies: 969 | '@radix-ui/react-compose-refs': 1.1.0(@types/react@19.0.0)(react@19.0.0) 970 | react: 19.0.0 971 | optionalDependencies: 972 | '@types/react': 19.0.0 973 | 974 | '@swc/counter@0.1.3': {} 975 | 976 | '@swc/helpers@0.5.13': 977 | dependencies: 978 | tslib: 2.8.1 979 | 980 | '@types/node@20.17.9': 981 | dependencies: 982 | undici-types: 6.19.8 983 | 984 | '@types/react-dom@19.0.0': 985 | dependencies: 986 | '@types/react': 19.0.0 987 | 988 | '@types/react@19.0.0': 989 | dependencies: 990 | csstype: 3.1.3 991 | 992 | ansi-regex@5.0.1: {} 993 | 994 | ansi-regex@6.1.0: {} 995 | 996 | ansi-styles@4.3.0: 997 | dependencies: 998 | color-convert: 2.0.1 999 | 1000 | ansi-styles@6.2.1: {} 1001 | 1002 | any-promise@1.3.0: {} 1003 | 1004 | anymatch@3.1.3: 1005 | dependencies: 1006 | normalize-path: 3.0.0 1007 | picomatch: 2.3.1 1008 | 1009 | arg@5.0.2: {} 1010 | 1011 | balanced-match@1.0.2: {} 1012 | 1013 | binary-extensions@2.3.0: {} 1014 | 1015 | brace-expansion@2.0.1: 1016 | dependencies: 1017 | balanced-match: 1.0.2 1018 | 1019 | braces@3.0.3: 1020 | dependencies: 1021 | fill-range: 7.1.1 1022 | 1023 | busboy@1.6.0: 1024 | dependencies: 1025 | streamsearch: 1.1.0 1026 | 1027 | camelcase-css@2.0.1: {} 1028 | 1029 | caniuse-lite@1.0.30001687: {} 1030 | 1031 | chokidar@3.6.0: 1032 | dependencies: 1033 | anymatch: 3.1.3 1034 | braces: 3.0.3 1035 | glob-parent: 5.1.2 1036 | is-binary-path: 2.1.0 1037 | is-glob: 4.0.3 1038 | normalize-path: 3.0.0 1039 | readdirp: 3.6.0 1040 | optionalDependencies: 1041 | fsevents: 2.3.3 1042 | 1043 | class-variance-authority@0.7.1: 1044 | dependencies: 1045 | clsx: 2.1.1 1046 | 1047 | client-only@0.0.1: {} 1048 | 1049 | clsx@2.1.1: {} 1050 | 1051 | color-convert@2.0.1: 1052 | dependencies: 1053 | color-name: 1.1.4 1054 | 1055 | color-name@1.1.4: {} 1056 | 1057 | color-string@1.9.1: 1058 | dependencies: 1059 | color-name: 1.1.4 1060 | simple-swizzle: 0.2.2 1061 | optional: true 1062 | 1063 | color@4.2.3: 1064 | dependencies: 1065 | color-convert: 2.0.1 1066 | color-string: 1.9.1 1067 | optional: true 1068 | 1069 | commander@4.1.1: {} 1070 | 1071 | cross-spawn@7.0.6: 1072 | dependencies: 1073 | path-key: 3.1.1 1074 | shebang-command: 2.0.0 1075 | which: 2.0.2 1076 | 1077 | cssesc@3.0.0: {} 1078 | 1079 | csstype@3.1.3: {} 1080 | 1081 | detect-libc@2.0.3: 1082 | optional: true 1083 | 1084 | didyoumean@1.2.2: {} 1085 | 1086 | dlv@1.1.3: {} 1087 | 1088 | eastasianwidth@0.2.0: {} 1089 | 1090 | emoji-regex@8.0.0: {} 1091 | 1092 | emoji-regex@9.2.2: {} 1093 | 1094 | fast-glob@3.3.2: 1095 | dependencies: 1096 | '@nodelib/fs.stat': 2.0.5 1097 | '@nodelib/fs.walk': 1.2.8 1098 | glob-parent: 5.1.2 1099 | merge2: 1.4.1 1100 | micromatch: 4.0.8 1101 | 1102 | fastq@1.17.1: 1103 | dependencies: 1104 | reusify: 1.0.4 1105 | 1106 | fill-range@7.1.1: 1107 | dependencies: 1108 | to-regex-range: 5.0.1 1109 | 1110 | foreground-child@3.3.0: 1111 | dependencies: 1112 | cross-spawn: 7.0.6 1113 | signal-exit: 4.1.0 1114 | 1115 | fsevents@2.3.3: 1116 | optional: true 1117 | 1118 | function-bind@1.1.2: {} 1119 | 1120 | glob-parent@5.1.2: 1121 | dependencies: 1122 | is-glob: 4.0.3 1123 | 1124 | glob-parent@6.0.2: 1125 | dependencies: 1126 | is-glob: 4.0.3 1127 | 1128 | glob@10.4.5: 1129 | dependencies: 1130 | foreground-child: 3.3.0 1131 | jackspeak: 3.4.3 1132 | minimatch: 9.0.5 1133 | minipass: 7.1.2 1134 | package-json-from-dist: 1.0.1 1135 | path-scurry: 1.11.1 1136 | 1137 | hasown@2.0.2: 1138 | dependencies: 1139 | function-bind: 1.1.2 1140 | 1141 | is-arrayish@0.3.2: 1142 | optional: true 1143 | 1144 | is-binary-path@2.1.0: 1145 | dependencies: 1146 | binary-extensions: 2.3.0 1147 | 1148 | is-core-module@2.15.1: 1149 | dependencies: 1150 | hasown: 2.0.2 1151 | 1152 | is-extglob@2.1.1: {} 1153 | 1154 | is-fullwidth-code-point@3.0.0: {} 1155 | 1156 | is-glob@4.0.3: 1157 | dependencies: 1158 | is-extglob: 2.1.1 1159 | 1160 | is-number@7.0.0: {} 1161 | 1162 | isexe@2.0.0: {} 1163 | 1164 | jackspeak@3.4.3: 1165 | dependencies: 1166 | '@isaacs/cliui': 8.0.2 1167 | optionalDependencies: 1168 | '@pkgjs/parseargs': 0.11.0 1169 | 1170 | jiti@1.21.6: {} 1171 | 1172 | lilconfig@3.1.3: {} 1173 | 1174 | lines-and-columns@1.2.4: {} 1175 | 1176 | lru-cache@10.4.3: {} 1177 | 1178 | lucide-react@0.468.0(react@19.0.0): 1179 | dependencies: 1180 | react: 19.0.0 1181 | 1182 | merge2@1.4.1: {} 1183 | 1184 | micromatch@4.0.8: 1185 | dependencies: 1186 | braces: 3.0.3 1187 | picomatch: 2.3.1 1188 | 1189 | minimatch@9.0.5: 1190 | dependencies: 1191 | brace-expansion: 2.0.1 1192 | 1193 | minipass@7.1.2: {} 1194 | 1195 | mz@2.7.0: 1196 | dependencies: 1197 | any-promise: 1.3.0 1198 | object-assign: 4.1.1 1199 | thenify-all: 1.6.0 1200 | 1201 | nanoid@3.3.8: {} 1202 | 1203 | next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): 1204 | dependencies: 1205 | '@next/env': 15.0.4 1206 | '@swc/counter': 0.1.3 1207 | '@swc/helpers': 0.5.13 1208 | busboy: 1.6.0 1209 | caniuse-lite: 1.0.30001687 1210 | postcss: 8.4.31 1211 | react: 19.0.0 1212 | react-dom: 19.0.0(react@19.0.0) 1213 | styled-jsx: 5.1.6(react@19.0.0) 1214 | optionalDependencies: 1215 | '@next/swc-darwin-arm64': 15.0.4 1216 | '@next/swc-darwin-x64': 15.0.4 1217 | '@next/swc-linux-arm64-gnu': 15.0.4 1218 | '@next/swc-linux-arm64-musl': 15.0.4 1219 | '@next/swc-linux-x64-gnu': 15.0.4 1220 | '@next/swc-linux-x64-musl': 15.0.4 1221 | '@next/swc-win32-arm64-msvc': 15.0.4 1222 | '@next/swc-win32-x64-msvc': 15.0.4 1223 | sharp: 0.33.5 1224 | transitivePeerDependencies: 1225 | - '@babel/core' 1226 | - babel-plugin-macros 1227 | 1228 | normalize-path@3.0.0: {} 1229 | 1230 | object-assign@4.1.1: {} 1231 | 1232 | object-hash@3.0.0: {} 1233 | 1234 | package-json-from-dist@1.0.1: {} 1235 | 1236 | path-key@3.1.1: {} 1237 | 1238 | path-parse@1.0.7: {} 1239 | 1240 | path-scurry@1.11.1: 1241 | dependencies: 1242 | lru-cache: 10.4.3 1243 | minipass: 7.1.2 1244 | 1245 | picocolors@1.1.1: {} 1246 | 1247 | picomatch@2.3.1: {} 1248 | 1249 | pify@2.3.0: {} 1250 | 1251 | pirates@4.0.6: {} 1252 | 1253 | postcss-import@15.1.0(postcss@8.4.49): 1254 | dependencies: 1255 | postcss: 8.4.49 1256 | postcss-value-parser: 4.2.0 1257 | read-cache: 1.0.0 1258 | resolve: 1.22.8 1259 | 1260 | postcss-js@4.0.1(postcss@8.4.49): 1261 | dependencies: 1262 | camelcase-css: 2.0.1 1263 | postcss: 8.4.49 1264 | 1265 | postcss-load-config@4.0.2(postcss@8.4.49): 1266 | dependencies: 1267 | lilconfig: 3.1.3 1268 | yaml: 2.6.1 1269 | optionalDependencies: 1270 | postcss: 8.4.49 1271 | 1272 | postcss-nested@6.2.0(postcss@8.4.49): 1273 | dependencies: 1274 | postcss: 8.4.49 1275 | postcss-selector-parser: 6.1.2 1276 | 1277 | postcss-selector-parser@6.1.2: 1278 | dependencies: 1279 | cssesc: 3.0.0 1280 | util-deprecate: 1.0.2 1281 | 1282 | postcss-value-parser@4.2.0: {} 1283 | 1284 | postcss@8.4.31: 1285 | dependencies: 1286 | nanoid: 3.3.8 1287 | picocolors: 1.1.1 1288 | source-map-js: 1.2.1 1289 | 1290 | postcss@8.4.49: 1291 | dependencies: 1292 | nanoid: 3.3.8 1293 | picocolors: 1.1.1 1294 | source-map-js: 1.2.1 1295 | 1296 | queue-microtask@1.2.3: {} 1297 | 1298 | react-dom@19.0.0(react@19.0.0): 1299 | dependencies: 1300 | react: 19.0.0 1301 | scheduler: 0.25.0 1302 | 1303 | react@19.0.0: {} 1304 | 1305 | read-cache@1.0.0: 1306 | dependencies: 1307 | pify: 2.3.0 1308 | 1309 | readdirp@3.6.0: 1310 | dependencies: 1311 | picomatch: 2.3.1 1312 | 1313 | resolve@1.22.8: 1314 | dependencies: 1315 | is-core-module: 2.15.1 1316 | path-parse: 1.0.7 1317 | supports-preserve-symlinks-flag: 1.0.0 1318 | 1319 | reusify@1.0.4: {} 1320 | 1321 | run-parallel@1.2.0: 1322 | dependencies: 1323 | queue-microtask: 1.2.3 1324 | 1325 | scheduler@0.25.0: {} 1326 | 1327 | semver@7.6.3: 1328 | optional: true 1329 | 1330 | sharp@0.33.5: 1331 | dependencies: 1332 | color: 4.2.3 1333 | detect-libc: 2.0.3 1334 | semver: 7.6.3 1335 | optionalDependencies: 1336 | '@img/sharp-darwin-arm64': 0.33.5 1337 | '@img/sharp-darwin-x64': 0.33.5 1338 | '@img/sharp-libvips-darwin-arm64': 1.0.4 1339 | '@img/sharp-libvips-darwin-x64': 1.0.4 1340 | '@img/sharp-libvips-linux-arm': 1.0.5 1341 | '@img/sharp-libvips-linux-arm64': 1.0.4 1342 | '@img/sharp-libvips-linux-s390x': 1.0.4 1343 | '@img/sharp-libvips-linux-x64': 1.0.4 1344 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 1345 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 1346 | '@img/sharp-linux-arm': 0.33.5 1347 | '@img/sharp-linux-arm64': 0.33.5 1348 | '@img/sharp-linux-s390x': 0.33.5 1349 | '@img/sharp-linux-x64': 0.33.5 1350 | '@img/sharp-linuxmusl-arm64': 0.33.5 1351 | '@img/sharp-linuxmusl-x64': 0.33.5 1352 | '@img/sharp-wasm32': 0.33.5 1353 | '@img/sharp-win32-ia32': 0.33.5 1354 | '@img/sharp-win32-x64': 0.33.5 1355 | optional: true 1356 | 1357 | shebang-command@2.0.0: 1358 | dependencies: 1359 | shebang-regex: 3.0.0 1360 | 1361 | shebang-regex@3.0.0: {} 1362 | 1363 | signal-exit@4.1.0: {} 1364 | 1365 | simple-swizzle@0.2.2: 1366 | dependencies: 1367 | is-arrayish: 0.3.2 1368 | optional: true 1369 | 1370 | source-map-js@1.2.1: {} 1371 | 1372 | streamsearch@1.1.0: {} 1373 | 1374 | string-width@4.2.3: 1375 | dependencies: 1376 | emoji-regex: 8.0.0 1377 | is-fullwidth-code-point: 3.0.0 1378 | strip-ansi: 6.0.1 1379 | 1380 | string-width@5.1.2: 1381 | dependencies: 1382 | eastasianwidth: 0.2.0 1383 | emoji-regex: 9.2.2 1384 | strip-ansi: 7.1.0 1385 | 1386 | strip-ansi@6.0.1: 1387 | dependencies: 1388 | ansi-regex: 5.0.1 1389 | 1390 | strip-ansi@7.1.0: 1391 | dependencies: 1392 | ansi-regex: 6.1.0 1393 | 1394 | styled-jsx@5.1.6(react@19.0.0): 1395 | dependencies: 1396 | client-only: 0.0.1 1397 | react: 19.0.0 1398 | 1399 | sucrase@3.35.0: 1400 | dependencies: 1401 | '@jridgewell/gen-mapping': 0.3.5 1402 | commander: 4.1.1 1403 | glob: 10.4.5 1404 | lines-and-columns: 1.2.4 1405 | mz: 2.7.0 1406 | pirates: 4.0.6 1407 | ts-interface-checker: 0.1.13 1408 | 1409 | supports-preserve-symlinks-flag@1.0.0: {} 1410 | 1411 | tailwind-merge@2.5.5: {} 1412 | 1413 | tailwindcss-animate@1.0.7(tailwindcss@3.4.16): 1414 | dependencies: 1415 | tailwindcss: 3.4.16 1416 | 1417 | tailwindcss@3.4.16: 1418 | dependencies: 1419 | '@alloc/quick-lru': 5.2.0 1420 | arg: 5.0.2 1421 | chokidar: 3.6.0 1422 | didyoumean: 1.2.2 1423 | dlv: 1.1.3 1424 | fast-glob: 3.3.2 1425 | glob-parent: 6.0.2 1426 | is-glob: 4.0.3 1427 | jiti: 1.21.6 1428 | lilconfig: 3.1.3 1429 | micromatch: 4.0.8 1430 | normalize-path: 3.0.0 1431 | object-hash: 3.0.0 1432 | picocolors: 1.1.1 1433 | postcss: 8.4.49 1434 | postcss-import: 15.1.0(postcss@8.4.49) 1435 | postcss-js: 4.0.1(postcss@8.4.49) 1436 | postcss-load-config: 4.0.2(postcss@8.4.49) 1437 | postcss-nested: 6.2.0(postcss@8.4.49) 1438 | postcss-selector-parser: 6.1.2 1439 | resolve: 1.22.8 1440 | sucrase: 3.35.0 1441 | transitivePeerDependencies: 1442 | - ts-node 1443 | 1444 | thenify-all@1.6.0: 1445 | dependencies: 1446 | thenify: 3.3.1 1447 | 1448 | thenify@3.3.1: 1449 | dependencies: 1450 | any-promise: 1.3.0 1451 | 1452 | to-regex-range@5.0.1: 1453 | dependencies: 1454 | is-number: 7.0.0 1455 | 1456 | ts-interface-checker@0.1.13: {} 1457 | 1458 | tslib@2.8.1: {} 1459 | 1460 | typescript@5.7.2: {} 1461 | 1462 | undici-types@6.19.8: {} 1463 | 1464 | util-deprecate@1.0.2: {} 1465 | 1466 | which@2.0.2: 1467 | dependencies: 1468 | isexe: 2.0.0 1469 | 1470 | wrap-ansi@7.0.0: 1471 | dependencies: 1472 | ansi-styles: 4.3.0 1473 | string-width: 4.2.3 1474 | strip-ansi: 6.0.1 1475 | 1476 | wrap-ansi@8.1.0: 1477 | dependencies: 1478 | ansi-styles: 6.2.1 1479 | string-width: 5.1.2 1480 | strip-ansi: 7.1.0 1481 | 1482 | yaml@2.6.1: {} 1483 | --------------------------------------------------------------------------------