From f212db07be6dc9a3817a890a31732b7e9b4e9148 Mon Sep 17 00:00:00 2001 From: Vaibhav Date: Sun, 15 Mar 2026 13:35:53 +0530 Subject: [PATCH 1/2] add landing page --- .env.example | 16 + .gitignore | 332 +-- README.md | 282 +-- Smart-Notes-main.zip | Bin 0 -> 55057 bytes index.html | 37 + metadata.json | 5 + package-lock.json | 4861 ++++++++++++++++++++++++++++++++++++++++++ package.json | 36 + server.ts | 119 ++ src/App.tsx | 802 +++++++ src/index.css | 1 + src/main.tsx | 10 + tsconfig.json | 26 + vite.config.ts | 24 + 14 files changed, 5955 insertions(+), 596 deletions(-) create mode 100644 .env.example create mode 100644 Smart-Notes-main.zip create mode 100644 index.html create mode 100644 metadata.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 server.ts create mode 100644 src/App.tsx create mode 100644 src/index.css create mode 100644 src/main.tsx create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..a50fc7d --- /dev/null +++ b/.env.example @@ -0,0 +1,16 @@ +# GEMINI_API_KEY: Required for Gemini AI API calls. +# AI Studio automatically injects this at runtime from user secrets. +# Users configure this via the Secrets panel in the AI Studio UI. +GEMINI_API_KEY="MY_GEMINI_API_KEY" + +# APP_URL: The URL where this applet is hosted. +# AI Studio automatically injects this at runtime with the Cloud Run service URL. +# Used for self-referential links, OAuth callbacks, and API endpoints. +APP_URL="MY_APP_URL" + +# GitHub OAuth +GITHUB_CLIENT_ID= +GITHUB_CLIENT_SECRET= + +# Session +SESSION_SECRET= diff --git a/.gitignore b/.gitignore index 9308a4b..5a86d2a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,326 +1,8 @@ -## Core latex/pdflatex auxiliary files: -*.aux -*.lof +node_modules/ +build/ +dist/ +coverage/ +.DS_Store *.log -*.lot -*.fls -*.out -*.toc -*.fmt -*.fot -*.cb -*.cb2 -.*.lb - -## Intermediate documents: -*.dvi -*.xdv -*-converted-to.* -# these rules might exclude image files for figures etc. -# *.ps -# *.eps -# *.pdf - -## Generated if empty string is given at "Please type another file name for output:" -.pdf - -## Bibliography auxiliary files (bibtex/biblatex/biber): -*.bbl -*.bbl-SAVE-ERROR -*.bcf -*.bcf-SAVE-ERROR -*.blg -*-blx.aux -*-blx.bib -*.run.xml - -## Build tool auxiliary files: -*.fdb_latexmk -*.synctex -*.synctex(busy) -*.synctex.gz -*.synctex.gz(busy) -*.pdfsync -*.rubbercache -rubber.cache - -## Build tool directories for auxiliary files -# latexrun -latex.out/ - -## Auxiliary and intermediate files from other packages: -# algorithms -*.alg -*.loa - -# achemso -acs-*.bib - -# amsthm -*.thm - -# attachfile2 -*.atfi - -# beamer -*.nav -*.pre -*.snm -*.vrb - -# changes -*.soc -*.loc - -# comment -*.cut - -# cprotect -*.cpt - -# elsarticle (documentclass of Elsevier journals) -*.spl - -# endnotes -*.ent - -# fixme -*.lox - -# feynmf/feynmp -*.mf -*.mp -*.t[1-9] -*.t[1-9][0-9] -*.tfm - -#(r)(e)ledmac/(r)(e)ledpar -*.end -*.?end -*.[1-9] -*.[1-9][0-9] -*.[1-9][0-9][0-9] -*.[1-9]R -*.[1-9][0-9]R -*.[1-9][0-9][0-9]R -*.eledsec[1-9] -*.eledsec[1-9]R -*.eledsec[1-9][0-9] -*.eledsec[1-9][0-9]R -*.eledsec[1-9][0-9][0-9] -*.eledsec[1-9][0-9][0-9]R - -# glossaries -*.acn -*.acr -*.glg -*.glg-abr -*.glo -*.glo-abr -*.gls -*.gls-abr -*.glsdefs -*.lzo -*.lzs -*.slg -*.slo -*.sls - -# uncomment this for glossaries-extra (will ignore makeindex's style files!) -# *.ist - -# gnuplot -*.gnuplot -*.table - -# gnuplottex -*-gnuplottex-* - -# gregoriotex -*.gaux -*.glog -*.gtex - -# htlatex -*.4ct -*.4tc -*.idv -*.lg -*.trc -*.xref - -# hypdoc -*.hd - -# hyperref -*.brf - -# knitr -*-concordance.tex -# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files -# *.tikz -*-tikzDictionary - -# latexindent will create succesive backup files by default -#*.bak* - -# listings -*.lol - -# luatexja-ruby -*.ltjruby - -# makeidx -*.idx -*.ilg -*.ind - -# minitoc -*.maf -*.mlf -*.mlt -*.mtc[0-9]* -*.slf[0-9]* -*.slt[0-9]* -*.stc[0-9]* - -# minted -_minted* -*.data.minted -*.pyg - -# morewrites -*.mw - -# newpax -*.newpax - -# nomencl -*.nlg -*.nlo -*.nls - -# pax -*.pax - -# pdfpcnotes -*.pdfpc - -# sagetex -*.sagetex.sage -*.sagetex.py -*.sagetex.scmd - -# scrwfile -*.wrt - -# spelling -*.spell.bad -*.spell.txt - -# svg -svg-inkscape/ - -# sympy -*.sout -*.sympy -sympy-plots-for-*.tex/ - -# pdfcomment -*.upa -*.upb - -# pythontex -*.pytxcode -pythontex-files-*/ - -# tcolorbox -*.listing - -# thmtools -*.loe - -# TikZ & PGF -*.dpth -*.md5 -*.auxlock - -# titletoc -*.ptc - -# todonotes -*.tdo - -# vhistory -*.hst -*.ver - -# easy-todo -*.lod - -# xcolor -*.xcp - -# xmpincl -*.xmpi - -# xindy -*.xdy - -# xypic precompiled matrices and outlines -*.xyc -*.xyd - -# endfloat -*.ttt -*.fff - -# Latexian -TSWLatexianTemp* - -## Editors: -# WinEdt -*.bak -*.sav - -# latexindent.pl -*.bak[0-9]* - -# Texpad -.texpadtmp - -# LyX -*.lyx~ - -# Kile -*.backup - -# gummi -.*.swp - -# KBibTeX -*~[0-9]* - -# TeXnicCenter -*.tps - -# auto folder when using emacs and auctex -./auto/* -*.el - -# expex forward references with \gathertags -*-tags.tex - -# standalone packages -*.sta - -# Makeindex log files -*.lpz - -# xwatermark package -*.xwm - -# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib -# option is specified. Footnotes are the stored in a file with suffix Notes.bib. -# Uncomment the next line to have this generated file ignored. -#*Notes.bib +.env* +!.env.example diff --git a/README.md b/README.md index 3c5adf2..825099a 100644 --- a/README.md +++ b/README.md @@ -1,280 +1,20 @@ - -
- - -
- AOSSIE - -
- -  - - -
- -[![Static Badge](https://img.shields.io/badge/aossie.org/TODO-228B22?style=for-the-badge&labelColor=FFC517)](https://TODO.aossie.org/) - - - -
- - -

- - -Telegram Badge -   - - -X (formerly Twitter) Badge -   - - -Discord Badge -   - - - Medium Badge -   - - - LinkedIn Badge -   - - - Youtube Badge -

- ---- -
-

TODO: Project Name

+GHBanner
-[TODO](https://TODO.stability.nexus/) is a ... TODO: Project Description. - ---- - -## πŸš€ Features - -TODO: List your main features here: - -- **Feature 1**: Description -- **Feature 2**: Description -- **Feature 3**: Description -- **Feature 4**: Description - ---- - -## πŸ’» Tech Stack - -TODO: Update based on your project - -### Frontend -- React / Next.js / Flutter / React Native -- TypeScript -- TailwindCSS - -### Backend -- Flask / FastAPI / Node.js / Supabase -- Database: PostgreSQL / SQLite / MongoDB - -### AI/ML (if applicable) -- LangChain / LangGraph / LlamaIndex -- Google Gemini / OpenAI / Anthropic Claude -- Vector Database: Weaviate / Pinecone / Chroma -- RAG / Prompt Engineering / Agent Frameworks - -### Blockchain (if applicable) -- Solidity / solana / cardano / ergo Smart Contracts -- Hardhat / Truffle / foundry -- Web3.js / Ethers.js / Wagmi -- OpenZeppelin / alchemy / Infura - ---- - -## βœ… Project Checklist - -TODO: Complete applicable items based on your project type - -- [ ] **The protocol** (if applicable): - - [ ] has been described and formally specified in a paper. - - [ ] has had its main properties mathematically proven. - - [ ] has been formally verified. -- [ ] **The smart contracts** (if applicable): - - [ ] were thoroughly reviewed by at least two knights of The Stable Order. - - [ ] were deployed to: [Add deployment details] -- [ ] **The mobile app** (if applicable): - - [ ] has an _About_ page containing the Stability Nexus's logo and pointing to the social media accounts of the Stability Nexus. - - [ ] is available for download as a release in this repo. - - [ ] is available in the relevant app stores. -- [ ] **The AI/ML components** (if applicable): - - [ ] LLM/model selection and configuration are documented. - - [ ] Prompts and system instructions are version-controlled. - - [ ] Content safety and moderation mechanisms are implemented. - - [ ] API keys and rate limits are properly managed. - ---- - -## πŸ”— Repository Links - -TODO: Update with your repository structure - -1. [Main Repository](https://github.com/AOSSIE-Org/TODO) -2. [Frontend](https://github.com/AOSSIE-Org/TODO/tree/main/frontend) (if separate) -3. [Backend](https://github.com/AOSSIE-Org/TODO/tree/main/backend) (if separate) - ---- - -## πŸ—οΈ Architecture Diagram - -TODO: Add your system architecture diagram here - -``` -[Architecture Diagram Placeholder] -``` - -You can create architecture diagrams using: -- [Draw.io](https://draw.io) -- [Excalidraw](https://excalidraw.com) -- [Lucidchart](https://lucidchart.com) -- [Mermaid](https://mermaid.js.org) (for code-based diagrams) - -Example structure to include: -- Frontend components -- Backend services -- Database architecture -- External APIs/services -- Data flow between components - ---- - -## πŸ”„ User Flow - -TODO: Add user flow diagrams showing how users interact with your application - -``` -[User Flow Diagram Placeholder] -``` - -### Key User Journeys - -TODO: Document main user flows: - -1. **User Journey 1**: Description - - Step 1 - - Step 2 - - Step 3 - -2. **User Journey 2**: Description - - Step 1 - - Step 2 - - Step 3 - -3. **User Journey 3**: Description - - Step 1 - - Step 2 - - Step 3 - ---- - -## οΏ½πŸ€ Getting Started - -### Prerequisites - -TODO: List what developers need installed - -- Node.js 18+ / Python 3.9+ / Flutter SDK -- npm / yarn / pnpm -- [Any specific tools or accounts needed] - -### Installation - -TODO: Provide detailed setup instructions - -#### 1. Clone the Repository - -```bash -git clone https://github.com/AOSSIE-Org/TODO.git -cd TODO -``` - -#### 2. Install Dependencies - -```bash -npm install -# or -yarn install -# or -pnpm install -``` - -#### 3. Configure Environment Variables(.env.example) - -Create a `.env` file in the root directory: - -```env -# Add your environment variables here -API_KEY=your_api_key -DATABASE_URL=your_database_url -``` - -#### 4. Run the Development Server - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -``` - -#### 5. Open your Browser - -Navigate to [http://localhost:3000](http://localhost:3000) to see the application. - -For detailed setup instructions, please refer to our [Installation Guide](./docs/INSTALL_GUIDE.md) (if you have one). - ---- - -## πŸ“± App Screenshots - -TODO: Add screenshots showcasing your application - -| | | | -|---|---|---| -| Screenshot 1 | Screenshot 2 | Screenshot 3 | - ---- - -## πŸ™Œ Contributing - -⭐ Don't forget to star this repository if you find it useful! ⭐ - -Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure smooth collaboration, please refer to our [Contribution Guidelines](./CONTRIBUTING.md). - ---- - -## ✨ Maintainers - -TODO: Add maintainer information - -- [Maintainer Name](https://github.com/username) -- [Maintainer Name](https://github.com/username) - ---- - -## πŸ“ License +# Run and deploy your AI Studio app -This project is licensed under the GNU General Public License v3.0. -See the [LICENSE](LICENSE) file for details. +This contains everything you need to run your app locally. ---- +View your app in AI Studio: https://ai.studio/apps/26933bf7-053c-4d95-8b6f-c9b9f5b74cdf -## πŸ’ͺ Thanks To All Contributors +## Run Locally -Thanks a lot for spending your time helping TODO grow. Keep rocking πŸ₯‚ +**Prerequisites:** Node.js -[![Contributors](https://contrib.rocks/image?repo=AOSSIE-Org/TODO)](https://github.com/AOSSIE-Org/TODO/graphs/contributors) -Β© 2025 AOSSIE +1. Install dependencies: + `npm install` +2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key +3. Run the app: + `npm run dev` diff --git a/Smart-Notes-main.zip b/Smart-Notes-main.zip new file mode 100644 index 0000000000000000000000000000000000000000..91fd9d1f1b95a02d6500ab84ebfd7688fd537b8c GIT binary patch literal 55057 zcmZ^~bC4*ovn4#XZR3t@&mG&gZQHhO+qP}nwmo~_)_(8XU)9@Gbt?aK>g1eGr&68B zNdkjF0sL2^0I}8j--G|tAp$@GC|c_~IMK-1IvG3CSnHeH&?zf{0s!{twV2EOA3uoy z?I(m*mOu#z0Du4l0D${H`OzBNxX>EA>08@b8UObj*>aOMf&4ICkEkjR){lVk>_rqr zl_#WVa2)xtX$LOr#h+qJy|+N-l}~G%ZdS8y+@Z|t^*mInqAEQkrKCo0`{R1B(X4R> zq7iz-1W)-$3LC=A_!c)_(pW*R9mp{uE97w=gA?j@H0lU&QK~VVK_h2yUBbX^0SsvUe!Y$f@cpyN2 zmXW(A1-GP}5M|3N`ro-`st(s~TN)O+e@~Rh%xIOOZCbMynP?_X=Jk-j25aI7#Je}a z*{i(fFsx<@upsg;?sv;BbP}<4oFf@Zy7n1#By0|66NQo*ycD^UFKHxS+{bec`Cw#M z)DuPr@kA}fE5pdM8V7$$pF#hV?Xhm!b+LaciT^X~|B-D|b0>3C8(W9}pX^`_1aPjq!e%hrQ*M7ZZFC)O8Q) zwyO<2X7;xM4Z_P6j!b@xz#E8Qu?4&AH^_*E-I3G*^oq4M%O*7a452b4c%V>3_BP9r zp1xW6z&R+C7iqTsrD)(SqdOx}Vcf7D)2nte;D$w&I95M$95T(s8WRRHA<&k<{&(s@ z8;}f{h>~=6L%JaRQ{MB&SG*r^`1ysJ(o}F<H##+-LK z8;)5_vEgLR`d1*{?{7q3;<|UaO>TE@eU6!as6@RFBzsyT9lxD_0!U8~H5Wi^z<&0I zhS`+Umb`Tvp<;-K0m@ z`KGGDGQh4Qb)`a(*Nmh+musEYbITiR6iOljeK1=7^RO#9(Lh5C$mp7XbHD8h|B&Px zr!rSATvk3mOdX3qx1~fakch(M*Cj$*h%f{e9$41?C`SGMemMD|2(-Rr?iNVRL3yQl z`3F!RHXm|NN4z3^s1T_QFA4Qep_qO5OMs;j{^E3W6pA@@3#=>1E_MEFW8?YN%RqU` z3>1G#e~YDN=+5785oItR3PHCK2g_kw68_VwM}8LaJ?qFV0o_9XTG?Fz_qd5ig+iQn z!TFp%PGyS0=Ti)5t2&M7^S}$Zt#zKsU+F`Bh(Lo-Dm{AcmGN`u()Wq zz<`1^!}CzqlS=Fd3y^&4y+9p#>rOezNHBSs`cA{N5xgBj{QJ+*^`axo!Tg!OrXUoS zXyzFXs_&#<-6wM3YC@V7^GZs80kPfO{N9?b01Hf8*MSXTPI9ssm$^H1V~L+z`h^dv z^oB{Pl|{~E3SwW59Wv1R2%TFgfV;GcJ3l1{t1lM~tjt;D=;-9>YBg?V(cg1jaB}xO zVc{*4wqO3t(t75ks^pCDBwj#BGz_UripQG@^ltX$Yo{=)xL_gQ$<&cRo37XyD?Iob z%rTFrbCF>Cur>PrXPoevH8i{bOFHrY4DWy1?$*Xm`bPRr`m`2~wl@DADx}j4P(Ta_ zBKy3h7z&+ueKR6;i2VxGBh#};tm#APV`vB4(se#}-Lb?E1DHSjKPl?i+7f~9+Yo@P zmQ^%pnBQ(W7VCKsO8F{5$khrhL3MsPRs<>h3;yNzSjL1kEW_!cb-$SrtJo_t8>Omd zF(y13ueb28&V2ug{%h|l+BE|J05ly4farfhZ>Mi)sc&jbV`Xb-`JXGe>NZa-oJyd5 z`~HbAJUvvVT5oMR=Ykaz^CO7^fMj4Tjn)qH27kW(xh^E7QcO>tP%u$e=^njVv$QQ< z+v>-6g@=!Yi2eP-_x;@5MP_pO{i*f+^xV&IVR7POnjw0<{dMSAY7@pR8b7Cev-`Sr zV3oL@gC=tQc0%RIrQ7O)gKFi@DT~0Um5T)Jg49CpM`2v3eP*k1GxhbC_um~KgpF}bXxcGwm<;TwhhwygS z&21;$b6LNyoX~gwI=y#}5h8p5^s#>opX&i>D0>Msa{DQItX{ic){S#sn2^qZ#ykM@ z;jf|NW%TqS#_$+F8ma91=qYOf9_{u3y#xGvpZYpv{wxIG;};M9Hq6D#=SlSQFb}OE zgSFfCLn8n6X1}+KPxrNo>Nb7G>O*Jr1DjTumd6$+u5da484^3!?FHRfvp@_>ceZu# zP#}t-6W_iNh)pS%yv>9{cb2=`M;mZOUGh7Er*l3COYs#;rT+E(^z(~YDuav5cd|>f z=s?`Zn}h8!Jk0p>2&+h-bMc56!x)XV%AviftgP}w1%Oh6pQJp`N21`SD5BLx!>x@0igvFR-X8`treO&Qpqjs(#$N6kNDTscgF z+~F~U8Mj98BBH7GCbj`ty|QNcLLj5UZqsVkV0-#jgJ9B5*POEbv)Rkz7!9;3J<)h| z(&dplt;=hDDw3`VgUtkm(Wc^4oG%I-t-?x$_oL>H=zh1bqw@Ffx7*e7$% zED`yTna{(&TiKY2bN&5H<-Iud`)vCL{LJunIK{1zs-CVJ^o#u62*i!MT@6Utq!+9O z`m)p~BUTGZWuV)<5_NAv4e%T%O-;G7+@9>4R#tot%Fdz7V&n_a8j;QbDSF5x6u24z zJK#dkS=3aA{N>5Krz+X;Mu|*CJEFX0t8yjuKti~C<;}he;0Vn}Jt5CsRv)67P$=_S z#UX}kM>z=Ng%F!hkhI@j(i+GEHHlYLxp@zvLkf5zua;oF-H{!e@;PtKzZHMZhQH71?*cy%Jqe7%^;;0vhgXeux*Bx-%)0NZe?l zR^qJRIe6F|``Ybb7-PBoqxku9uz=XuAbTbH>f&W%)}H*{K)9J|9>AmEgIbkjv&9Vs z$Jetx%Q;$F+Qn&4o9q3&ByLe!x=`4I*X?k$p*+{NTC0dY-yGc2b-!O`->3fb+8Jh< z+;dKzH~SGzej#dl|MYplkcaOX)y3Qn*xY33wjMVTkvl7yX+u^PBm^`jkm!+Pu!!1c zM8GZC7@Ug%10D5u(z+yzi()MbK8k3;DGGGqffj6RzGyZXsQ~_Y`nUI2&Cvc;MrA7nC__>u@rdw;J zbRuL0paEiFbN$1W?y{VAs0^QtL=NyUv*!g2ESjuTQ9k#+2amWXJ$?bq>C)b>t_dM zmlkFY=WUa6pe)u+=TKB(W9^nm%0ZpX=Gd6#lL?^pbA*Z)vaYUELO0*XDy1Y^Kk_s zu$6fcj5i$&0gg^2JrY2%r^UuHuy6%~*Q2ZvM_%j|HFZ`7WCUk%FISt$Y7Hx}<5!(M z9XgI**VZ)m&r}V6rmncwa_P3Cxn+ttMQx$i@TNsB$E8$9nHya(`unmCaLl1(t%jli z(1lkXCDMu1ne$OR7*FnU*wwg@&58p@o-(5;nGfeZ`YjW6kLGMKmqoQc;T-{P&DQB6 zOqf<_cEsJf&!ThO0(0jEN2?6AL2tRfa+Uind1p6VyY>*u_Rb$i1cO8a~4eL@y0RmvMa}I*DHhS80hjGeqIRawP;Mm#}yy zCQl6PP8lqO&51#xaqZ*JaJqNcJ?-SczjCv%Gn-4_!k)3X9cWp%GKy?wWjNR|{?-K= zfbHxxhg*|1xJT3QJmmOSz&D zHCMEyIn9LSS)2%N;k`m3+pGMZ5Hnqj5p!!)yLGhJPR#(M`2`x|2Hn&(A*^-p4jwz6 z*mh~Kei7VI&@#Pdm%*W6Nv%>x-*NJQz-48H@yw#CMK^RLj%!8`7x*c;j zI`5F@rVP-?v-6la3^ruMI5#1tu?Ys1RKS7<@L8-LD!IV{&=ZP4k7bkng)W@?di?F< z`1D?=azfs)DtkTQDCwXImU%16+d4vaBc^$Iwz3Zpl-#V|ob#uHH}^WvX8IHE($xt~ z#l1l*5EL*jvTNfV*nulE&FT2bD`|k^79)6=^~}%A7cr#PQF=Gu5OjQ!JXcX|R5G<` z-*EAxj*id&Ce)x~)b4^JtvBij?$wx$dVA~>Y4sgAhuqukH>OjYq6Sy61*h#Z+)$5U zwBB#XLKt|U$h=<%3>S&mB$|hY!JsefP6uCL!7m{mB5 z$LXwM`SaO+fbBpu`t9ZMMoeGw&=DC;awT0Y5H`{hv+*P-oOf{SJ#1uAhx1_Du@8U> zvv(6n2K&aO+;&>ot>Cg-qyV5-vl+n4iIQ{(z{d`Q-c@)w7lXXpwCTPUQC7>C&&ONn zKKc#vb~M*j6!lCAE(Np-Wa2{FZS=U|bi^Kdk>|68oX8`chHDteLG}?EtY`9hR z9SD?L77bhHXQ$euafP8I-C%b9*ndfr9U(c8v5tq25pJMJyqk3PWhlfqE3H*9V?X$rq-*J82UW$JDN1Xt5lj-n-&+aeM}A^3i~MrOpO@ zgNKm@FkFmGgm(s}ZK)!iqwr+GLM6IOxiLl$ApYC~$0nMh?BytOWq9U-xcB$8qR<{~ zEYt`neSgQ5qKjiv2~EO`gDRRU0wnki_;IE0ISnLSqS@p#y)!;FN2DklPBqbrn0 z!SzErLt`q1&(&ZB5;xNB=p#vtZtThNrZ0Yhu4(Qnw@$$aAlGxYx;c~3U%l&z%J5<& zU~qh0XZq$G4xZx*P_2Bk^K$HfYmE+#4=!Mq1TQQi{tNuD8L58KYjk~mPBh0lM;X@1 z7tuDK@a!KIqfWZfW>0^MS3s%bz$wxxgXw-0Esyk8=nsBVatT3cSbRgP4|)i!5|s%E z-QY4?!E?3JX*cq7s+!!*&lW$?OG=S`$QYWq@u_UV#uIO;PG21%+(xt5?a5l^WlJRtU(5lqgU!F3b>~vlxH<2e|5sex!1p+)`LkLNO zm2oEToF$-U|G_Ho;Xb~jh-_JRql{M2{!83M!p#w!C&A1Ut^$li%Yd>hr_-7i6Jy#T z%ns@!KE0w|Q0ZDb?aHr>mnYCz;u5-;+YskmxAZeO#(;`75)pFC#(wdPGUgf7)a!=a zcf(@b#f|)1L4H&yr*kQVT*}Akft4ztx+thPzw(?FV--44I8vvq2hoki(c53?F`w*w z9s4%HXW|m5P&A89=01}gmAjS-VL8n)0Ao%RZB$G$xijj~@{~CZ^BfUIK8mjNg}H(_ zf2w9k<91oQlwFiaJi!4Uw4jj*x7}x-@bVu#p+bW4PP(f}?s>j~_oq)AYH5?pO|Mem z>OfLE-GFbk^tR3SAZ#Ppo4~?sc>?6Iw7k!D)g`QA5jg!z_$ zJLI;8_}lsV-_K8mQ@USmF`snne|SY6fm_5$B+DzZ20aw6^Y;7@^-mR9JiqpxCfA)7 zi`QXdTc2Atin-KrBJ~RWsfqd#ESZRCV+!m#TN2}YKq)LN8i}{_aXw_+vuaK^MCCb6<^$h>u&-6{~;Ggv;e zCv7n%Y32oV{;m*7?6X*C64s&^#e7nQc;e4AGXI3nM=dbl_pS-zyL0P*xOuTv8F2$= z;HGz4bu_e7WKE5;j#vobVZ3;7rKf#wSphj9)dqP_6Z0Gh^gO>X5!$$j)a>iV*agn4=W3hIeU33-{76CcY|-;{w?2lPJsK>8k9I@B^kj zeG=X#8vVolJ+bwT8cMFkm(p8nV%3?JClr(fhia^|E6?P?m~)3(*-qthxPZIUFKC7P z$)+aQT3+R8qd6~QtSkU(1jM$;x;nrl(YAs1+z@3FX2L z;OG%mS@CN9Ocdv9Ak<5{dnfb@IURe1g+iVBB&d}*<=};IpyrTo8F(=26NkY)_%3TrT2q5|J7yY>6NHOxY{wqOi@Rpy^zOq&Z zN~e+iz}?%8t!P_`)VZmtFI@1%0U607c?mJf)!%_W@edN9>+qI< z0xt8(LDhM9i4^iGX&hXX!Djplr>or^UqXAY*UzoM^CiqvdOuSEKEu57wPf_sS?pv1P7aR|5IhroCmTF4*?3-5`6- z3CS~=whb45d`jc^mc zCG#Flr2!^$kf3+1#%m3M*n&cG%z^vG*j0J@!xgth3NZ>}$= z_bW2qDiFlKcS)m`9cR9avjbZ;P+6OUQDc~Lo-?a8TRa~qUFBKSTG_Jok)G{~b}53nFm|BwhaE!l%tFgJp?1 zCBHCG+s>|#$m%e>kDXFTiKI1d6A~xf24~fgIAVGj$z0NiB*H3H{Y>9D>K$gDGv*sO z=Y=ZXOBwW?1|c6D<#Q?{!g3*X!r6qr3!xLZ)1iLjYDf=N&2m?Slz~7>1c5(8ZT;Ls zNF{N+?|7iAkgbxZI*K*0PNB?frJ^wC1}2B6?sBO(JHx4kNx%Any)Dm%W~;DKQM!iE zOZWI}(iL{PV*|FZk8!7rwf2^{jZg8L)ueJdGZPFoJJzk|;+4IwO(xNVPId^l? z{XvQUBRbfdj~^dQmzvba;|lx|FxF#V#Ki-osB(tRtQ1j>bN?6^U+=1#)2-HgW*eQw z+?W6Lz2#Q=;C#V%JAXpJJi`TYO~=82OZr`@?)k~pt>oEIIAyH6n~i2W zO3Pd@I%UsK=NvmwzFSCy4Vsg0$)5m8KB&NHOL_&?Ar4u3{T=U6Hf{eZt*)bgrlDOrGG^!~17f7W77k^6T7z zl{t~oZOQyj*}t>&vNl|2=I4{|ZZ)%1XuPc@J<_j&KtTbmDHIpa2q+4*g>{8)U?C3ivFk^3q$C{B_KvZ3^zQY z&cD^6U-ZR;su}RgoO*}h57IJi=W8bmmV3?+mR0j{07VTgiMJe$aCadD>hW-S^JVE_ zuJ+Vd;6~+I>R*=;JvH>!ES`sfa&NdMay-+uoR|>P4OePQwfl(K2Tx2e|A~!14<@{D z^iJ(5v4Fode02G!rKJdyWzfKVE|`)unQB|?=43w^ z70Iq>SnjLryD@0>xy;F`UNYh-siq;Oc&=3oTeK7)K;J~S7OsZEfzs2KU6^JkV>`&$ z6r)|wHaOSlmcGa08#a>eJYI6xbkl6c2O3-o;ShG!YgxmM(Q#8kU`acb!%n$4y4Zcy zD?sl;(b1Y#w2~LOv7zW-t|)Wt)GENk>XgL$dWoM)PR0)HQtQS7v=`RkT->{=h)quE z^$e(G9)Y)7mDDXg&IGcZ9Msb&@@!XK5#7)C;f658(>@)3BhqYkl*=&NHZ(gnI&+IE zc&=%JXdk84nlh1P(*wQDK;IZW{JG~e-333@H4EpjcY=>GGRRGEuQL!@j7%KPWWjmu z?dnqFEYoa~=0lp-F$+wXiXVATVb&c_k^)KSS{bK}#!B!jl6e|b$2L6!g-SW(MXYv5 zoe{Cy7ZX2!W;$f=WO+#YsAIwH?HU0`0j@7*=kJd*I2=Y z9#j)_P=TtX_hO7(?^fnG9b2)J5Wr=l1td3XTGE20WATMlbZP~y>FHS~2hJs?wJ++g z3!ObG^G%ZG5ilF#)$wC*k#mhxZl;Zc`h^L&qbyU6q}rJvvm+jz{t40y#PE8Zd4fpzkCAWGtFg^vTk zjai}%FIZg5vZVmqQ`KxYp<;2AHDym`Vlg3ZgXX&lS~9JSyFQA==v|z^QRO0JZMKcJ z#spS$s0YG%yk)g|Wsb`St%jO{b`9FzP^^lpP(re3`X_WbSIgerOUP&6!(6N!56m{! zWu~IpYJigpe67SQ;DG?IOfkrCqHYUo)hT$wfvN7{^+dycwC;3-c{PnFJ|7bODag z7aHwItR>O%{l(@_@(#HaLAniF*Cy&D=Wm-g@Y>8c*WKx15u5p3;MsOl_4A?``@>S1 zN$*Yh_>}PhS+clG=%o8%exw#?S1szHE&KLdSJ3NKo%HTxBqHk=5e*pGWn6RD&D*C11BQi#O2eej(c?` z2nWWnjd>6u6Pc+*x4_n0nGnJ12U3PpC|D{^aiXw4ex&AFhT5VL!Yx_X6&g5RwMHqE zF%kec0k3hx%3nFFm&OOmg+C4ptnSom?>h3|lO^iG-*@3CcbZl?6-GK1=X{C3^?$Z^ zpb(vX*>P4-7$RQMc;=u(HuZukX`tNfx(4?FY?u5tDuvvlk=8{l_iZlpophG~F zONBk%Ya>PQa1#hbb|%Sw_ye55w0>Y}CE40boT=(VdG&HBA6|GH6+>>XsRp43xyX); z#{(eEx6%eI?G2bbBQA*}a;c51O>Uo+j{+OhEy2zm6gw3`rtEZTgX&2ad=}XP)#y*N zk^Um?G!uJw&W=3lvHk*2*6OB~yuTQ7p0{*dGZRxymHaH#8mlO-8;YUjED`NrDQQHJ(7yxOj_)@zrl!X=3dnG47k<2veBf5TzXo)$D+Y?&der7^}0 zNLQg7bjn~Bn$J)4D}+L=u0ynyI!lmFT*k=fT0xvkqy8D2s#G;L;f>h1hGg$WX}p0Q z>VV%fw$fv;A_k4tXeNwuZpQ_EnmAk&O22~BT!$oqJwB~tYcL5sCb=-Tyrt60rc+5# zxc0C#xd#H(*D$76)|!nVtp@V#`7^g|wyk)2x(e{pu`#PzdK+S`6;a~%jH<2Zi5I?b z6h{!nM;M6Os9V@LW7oOUnyP|krdR3Tv~i7gX10#Zw*rCCU@$|OWWZzvA7_{)KXqDJ*ffRQr4ic zE*MJ}wA2U8yGtS{eIL_1m}9DogyL#WgB>p@`7h z*^E0-D{uqrGYipUe{VxVrKBNMtppEX1cOFNi;0*Nt^!i~JyVF)zxh_5(s20fuzk(S zz6r!Se#kXh5stY1h6!0aq$g3fUUiMskBZIS=%Y38P?;*_12o!3Teu5##5C9%=hfrE zmSlzCK&fwIj8)V94nbn?NmHG6ZFJ!-6%ldd6~58{gfWixm;3;)A2@8lQUN=yuo-IB zX-WA+g|FJfTr>)z5OUx7@vrE|YT(1!XpGC9r(D;a2XNnHaA*Cdt+zFj!O4_A(saO@ zg?J1&D%q6@>#{y}DB^YsqnE~OI3jYuh?CY-Nepl3{JphotJ9gg`i^^qvq8&D{p-bJ_NuR#xzRKQI#%d(UH?WHnRanBe_mQfN)-xvJx>e52&}SJT(pEs zGvP%Q@;GEk@UHH@?pVGl8yx|A7j6;?#t#)5=3@;ZF8f_pfctr%Q`vKkR zB^N!MQe_N>oLRI}#0ezmQ*J{sD=6@-$dQNK`t45kLQpSgqZT4N#*4tr97Za|b^?F$ zZppQNGWc~S(7y2uy$+tS21=n_4^>;_B9wIS1?|Gb4y}&aabz;&vN6^&v=Ks;w3Q@) zBEt)#!E3^Y#v~GkP%WJfugo&VIm8wC4vi`X4~0>l+{{S-~p*TML;^mA&bR^zbS@o~Lz z>O(O8q0J=Onx3cVVXni-!mY|F{l)a}LIL~a8F?GJWC@Z*zZs!B77K8V&p5$0A7)U` ztc!NB+p10hx9c2!rLrNO<4Ia2mE%&hnG98L(zXV(=1i+%#-te@TnQhYL&HSTv@$3R zVRqvae$=E)@=El%ao7~ZYl3;P7VlVUsoA&3(_m_y6U3q=MC{f30^*rB3^?!~P=lShdU3-Un=>`S^MpUD+hArZ62>%iLxvCZvawT@xCM2WH)U4d|fsLz8 z=Q(`)nAoPTVE~II4^om^Vm+S7J{4IO*VU!MIzA0l1_$gc8To~XqN_CULg;f8PumUJMXp`Fg5T;*$AYjlw%n`c&y)ZY_4InVSo>>=kHH6?Dd&+OVFoGRF7^<5Vg~8(K_l3 z4%jf$vvk<`4u=Ktf$G{tH0#-W!fJ~J%ZMKj+7y$|1IdZcNf2DNX-Y$>>c|@1_VI*y z?}u$&cidWm5O&v{Nnb$k3J+y;zG=76_YpO(hL0spnF5w6JM#H z81U;@qxjFAtFl9pZ_@7Wtm8zyYGt~?BK+0pbx3;CW&YKu|2Wc!V^fG^#04EQe8}67Yju;(1K*36}&vB)xpS)F9VbxkbK2MV>i>yoKge|99WPqgWqjdvfm>FqOCjeryZ@yG}@ zg?PbvN|#zINWCq1U@?FwlLdpFNO~iT8CV@4n2jix9fhMJmC;IYPE+KDEtKS*;264o zvDWS8^u#yu;uK%!@m;g$2f~qSHRYRdSg(fK-S@cX{fz%QbJ7GQYFJb#2>obwx8@97 zrAhhSPMZW_(iGzcCjDhG1k~nt!YK+O;#W0cTHrMyfG9C?V6?+}zwnN#)It0rp91A~ zV(01)_15h%sV~ji_N$!hD=@4Zzekvqcf)Wh6O|?Fmc!ugej%T6oK9IpdaiD zB4_QNj8N$2F$V*lGJa-6a8C)-ltrO*t{aEuMl$bUPhTINfz&~-S*thQpvOtb``zqL zbn_|Dv$WVz;Fe!iPV&n+LUi&&|`U*Wi3p2VM%W=~~)Ne?rtT4fd&Xq75} zu`*$nroI^Fsl1()7I-dG2NKiuQH!Wa9xX z-QRonr(Rh=pE$?QcCi5wHE24gBVReyWZs15KRO*vL(mI|g(Iq$A zS}?^WV0SU~gvqSh<0387p@rN~>L!@60;p{}G>I)<(jv2|>YuTJ89s>5&cZ=mzt2O2 z`%Uy4VIRXe0xs=o0O63OWMM;lk?RV^$t3%>^3*alN)24wRB`o_T z>iKxd_t*x$Kc~7pH^(~RGuT!5Ij6!QxmJ(FRM{%6S)GrnTZW~>X#FDM^pz?C>zPsx z+J*{vcVktiJ)oa?nj-?8*zzuoAki}U6^+oq+)E`LTO*lNXAon6qAo-60`N>i$-#^CiM%kBsggT&4yb# zy3rCLQC|Sf?3#cGo(a%PqnH}R#qvcjF6iiUk1n_GyaNw z1}PjN$5O7kbXZ68$Om~e(J6=&XvCLONyr`?OR*(-6t%xAfE0$qe_1KtvYp^@thR&t_)ls&k%Je@@R_{J|wP z3NO6}z+msVj5ho$Wv_yqLh)rM*cIU=^zTZynn_asCGAvYcNnKjXL*^QH> z%dV}kBzu&j4o|L5sP@=;9o~qU5Fpyle!-E;j^0IFH(jnkrj0_Z;EGJGpm;G@`A{g2 zblkZ_)ly(baEWke^qOon#ptOq(WYngX9wa6Y{Ayh&!?pBHIq6A@y*4=jm%fnno}=7 zU4pNF#C!A(vt8Snq9db|K926YM0QiTGY9`)VQ^3a+Vby&#(AOq*mPvJ?G-aR7XgzI z-js;*A~b;I1esK#u3m2K;FB)Md}H!9J@P~8^bvL}RTSPV4BeA23=#!f%MD^)Z4Asv zZCTX?$U-zm>iQ;AcuO&5vY#5-%QCMYSQS%!iH{V5IgE6K!p(#pcbPM<<{zRM3(Z8^ z)Q-TPD=;2gcCm;3n&@i0;Y7~wJIKSv+WlO#U#9QGv)tGa^bS6>Pp6Ugs};UD zCES5KAkB}kMX8Ji0sD}wDJ*%Z{6KaA^lsrqEN-X~qy+_e-h2HDAWGX7Bt}5^6zv8Z zc?$h7cg|9u6*g_&8JWbP=1R@zvDUW}V46{;;nqCv*9KImcM>qj_{Q{6%6Zv4Ll z2hS1@dFx>$m-CG1Yjp+lKlFhuni@msJ*p3Sz(WO5Oju52Aw)LqzJRFz`cP2& zV=CR*gkHRP`hUaBfJoGk8N5#J}K(e{SKg51U}Z2-zkQ+G${nuSBW zNOfe#uoqQ^+wcgddnBn)&q-hG+{mr88YL|O#skwMwOWl|DA{r9NIln!&^}a*pjY}+ z-S~7!K86r`FXDTBZXMD@b5T<@LS5}E%3M=}fVdyFcXbKhXDpENyZ|z}om$)E$$STy zZymT4gY9Z#>$vU6o8hX^|0_uH%VuZWR8Be4{qY zciYCiY%gCVz@ljA&8P;DOz)>r^PiA`ATx@%IUckCA}OB!&M-M$7w{4KBHxGIE)a{< zta)xCpDV?^M13z@s*Rb^gx%iPfmUGojLU)whjR#>U_=w@m?3ZJzSoRU0;IPOwj!60 z!x&k}e~I-~oSjo4R$>xW;~_oYIx)#1j*Scw$E_nHAoxAf@ko`8pmYCiZGKYRbmm>; znK*kgh1hQ8BaeHIs+Tt*W(UOe

q?P)`ssj9oTosc8pfBztlOec;VvKK{Vi`s_U4 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..e34abef --- /dev/null +++ b/index.html @@ -0,0 +1,37 @@ + + + + + + Smart Notes + + + +

+ + + + diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..635b9a8 --- /dev/null +++ b/metadata.json @@ -0,0 +1,5 @@ +{ + "name": "Smart Notes", + "description": "AI-powered personal knowledge base and note-taking application.", + "requestFramePermissions": [] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2927259 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4861 @@ +{ + "name": "react-example", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react-example", + "version": "0.0.0", + "dependencies": { + "@google/genai": "^1.29.0", + "@tailwindcss/vite": "^4.1.14", + "@types/express-session": "^1.18.2", + "@vitejs/plugin-react": "^5.0.4", + "dotenv": "^17.2.3", + "express": "^4.21.2", + "express-session": "^1.19.0", + "lucide-react": "^0.546.0", + "motion": "^12.23.24", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "vite": "^6.2.0" + }, + "devDependencies": { + "@types/express": "^4.17.21", + "@types/node": "^22.14.0", + "autoprefixer": "^10.4.21", + "tailwindcss": "^4.1.14", + "tsx": "^4.21.0", + "typescript": "~5.8.2", + "vite": "^6.2.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@google/genai": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.45.0.tgz", + "integrity": "sha512-+sNRWhKiRibVgc4OKi7aBJJ0A7RcoVD8tGG+eFkqxAWRjASDW+ktS9lLwTDnAxZICzCVoeAdu8dYLJVTX60N9w==", + "license": "Apache-2.0", + "dependencies": { + "google-auth-library": "^10.3.0", + "p-retry": "^4.6.2", + "protobufjs": "^7.5.4", + "ws": "^8.18.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@modelcontextprotocol/sdk": "^1.25.2" + }, + "peerDependenciesMeta": { + "@modelcontextprotocol/sdk": { + "optional": true + } + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.31.1", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-x64": "4.2.1", + "@tailwindcss/oxide-freebsd-x64": "4.2.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.1.tgz", + "integrity": "sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.2.1", + "@tailwindcss/oxide": "4.2.1", + "tailwindcss": "4.2.1" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express-session": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.18.2.tgz", + "integrity": "sha512-k+I0BxwVXsnEU2hV77cCobC08kIsn4y44C3gC0b46uxZVMaXA04lSPgRLR/bSL2w0t0ShJiG8o4jPzRG/nscFg==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", + "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz", + "integrity": "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-rc.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.27", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", + "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001774", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.8", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", + "integrity": "sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001779", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001779.tgz", + "integrity": "sha512-U5og2PN7V4DMgF50YPNtnZJGWVLFjjsN3zb6uMT5VGYIewieDj1upwfuVNXf4Kor+89c3iCRJnSzMD5LmTvsfA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", + "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.313", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz", + "integrity": "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "devOptional": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-session": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.19.0.tgz", + "integrity": "sha512-0csaMkGq+vaiZTmSMMGkfdCOabYv192VbytFypcvI0MANrp+4i/7yEkJ0sbAEhycQjntaKGzYfjfXQyVb7BHMA==", + "license": "MIT", + "dependencies": { + "cookie": "~0.7.2", + "cookie-signature": "~1.0.7", + "debug": "~2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.1.0", + "parseurl": "~1.3.3", + "safe-buffer": "~5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-session/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express-session/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.36.0.tgz", + "integrity": "sha512-4PqYHAT7gev0ke0wos+PyrcFxI0HScjm3asgU8nSYa8YzJFuwgIvdj3/s3ZaxLq0bUSboIn19A2WS/MHwLCvfw==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.36.0", + "motion-utils": "^12.36.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaxios": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.3.tgz", + "integrity": "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==", + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "node-fetch": "^3.3.2", + "rimraf": "^5.0.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gcp-metadata": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz", + "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==", + "license": "Apache-2.0", + "dependencies": { + "gaxios": "^7.0.0", + "google-logging-utils": "^1.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/google-auth-library": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.6.1.tgz", + "integrity": "sha512-5awwuLrzNol+pFDmKJd0dKtZ0fPLAtoA5p7YO4ODsDu6ONJUVqbYwvv8y2ZBO5MBNp9TJXigB19710kYpBPdtA==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "7.1.3", + "gcp-metadata": "8.1.2", + "google-logging-utils": "1.1.3", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/google-logging-utils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", + "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lightningcss": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.546.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.546.0.tgz", + "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/motion": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.36.0.tgz", + "integrity": "sha512-5BMQuktYUX8aEByKWYx5tR4X3G08H2OMgp46wTxZ4o7CDDstyy4A0fe9RLNMjZiwvntCWGDvs16sC87/emz4Yw==", + "license": "MIT", + "dependencies": { + "framer-motion": "^12.36.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/motion-dom": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.36.0.tgz", + "integrity": "sha512-Ep1pq8P88rGJ75om8lTCA13zqd7ywPGwCqwuWwin6BKc0hMLkVfcS6qKlRqEo2+t0DwoUcgGJfXwaiFn4AOcQA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.36.0" + } + }, + "node_modules/motion-utils": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz", + "integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-releases": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "license": "MIT" + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/protobufjs": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "devOptional": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "license": "MIT", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..28df3a5 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "react-example", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "tsx server.ts", + "build": "vite build", + "preview": "vite preview", + "clean": "rm -rf dist", + "lint": "tsc --noEmit" + }, + "dependencies": { + "@google/genai": "^1.29.0", + "@tailwindcss/vite": "^4.1.14", + "@types/express-session": "^1.18.2", + "@vitejs/plugin-react": "^5.0.4", + "dotenv": "^17.2.3", + "express": "^4.21.2", + "express-session": "^1.19.0", + "lucide-react": "^0.546.0", + "motion": "^12.23.24", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "vite": "^6.2.0" + }, + "devDependencies": { + "@types/express": "^4.17.21", + "@types/node": "^22.14.0", + "autoprefixer": "^10.4.21", + "tailwindcss": "^4.1.14", + "tsx": "^4.21.0", + "typescript": "~5.8.2", + "vite": "^6.2.0" + } +} diff --git a/server.ts b/server.ts new file mode 100644 index 0000000..aba0186 --- /dev/null +++ b/server.ts @@ -0,0 +1,119 @@ +import express from "express"; +import { createServer as createViteServer } from "vite"; +import path from "path"; +import session from "express-session"; +import dotenv from "dotenv"; + +dotenv.config(); + +async function startServer() { + const app = express(); + const PORT = 3000; + + // Session configuration for iframe compatibility + app.use(session({ + secret: process.env.SESSION_SECRET || "smart-notes-secret", + resave: false, + saveUninitialized: true, + cookie: { + secure: true, + sameSite: 'none', + httpOnly: true, + } + })); + + // GitHub OAuth Routes + app.get('/api/auth/github/url', (req, res) => { + const clientId = process.env.GITHUB_CLIENT_ID; + if (!clientId) { + return res.status(500).json({ error: "GITHUB_CLIENT_ID not configured" }); + } + + const redirectUri = `${process.env.APP_URL}/auth/github/callback`; + const params = new URLSearchParams({ + client_id: clientId, + redirect_uri: redirectUri, + scope: 'user,repo', + state: Math.random().toString(36).substring(7), + }); + + const authUrl = `https://github.com/login/oauth/authorize?${params}`; + res.json({ url: authUrl }); + }); + + app.get('/auth/github/callback', async (req, res) => { + const { code } = req.query; + + if (!code) { + return res.send("No code provided"); + } + + try { + // Exchange code for token + const tokenResponse = await fetch('https://github.com/login/oauth/access_token', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + }, + body: JSON.stringify({ + client_id: process.env.GITHUB_CLIENT_ID, + client_secret: process.env.GITHUB_CLIENT_SECRET, + code, + redirect_uri: `${process.env.APP_URL}/auth/github/callback`, + }), + }); + + const tokenData = await tokenResponse.json(); + + if (tokenData.error) { + throw new Error(tokenData.error_description || tokenData.error); + } + + // In a real app, you'd store this in a database or session + // For this demo, we'll just send a success message to the opener + res.send(` + + + +

Authentication successful. This window should close automatically.

+ + + `); + } catch (error: any) { + res.status(500).send(`Authentication failed: ${error.message}`); + } + }); + + // Vite middleware for development + if (process.env.NODE_ENV !== "production") { + const vite = await createViteServer({ + server: { middlewareMode: true }, + appType: "spa", + }); + app.use(vite.middlewares); + } else { + const distPath = path.join(process.cwd(), 'dist'); + app.use(express.static(distPath)); + app.get('*', (req, res) => { + res.sendFile(path.join(distPath, 'index.html')); + }); + } + + app.listen(PORT, "0.0.0.0", () => { + console.log(`Server running on http://localhost:${PORT}`); + }); +} + +startServer(); diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..6fe6662 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,802 @@ +/** + * @license + * SPDX-License-Identifier: Apache-2.0 + */ + +import React, { useEffect, useState } from 'react'; +import { + Lightbulb, + Search, + AlertTriangle, + Brain, + Zap, + FileText, + Tag, + Link as LinkIcon, + BookOpen, + Code, + Briefcase, + Star, + Twitter, + Github, + Gitlab, + Mail, + MessageSquare, + Menu, + X, + ChevronRight, + Sun, + Moon +} from 'lucide-react'; +import { motion } from 'motion/react'; + +const Navbar = () => { + const [isOpen, setIsOpen] = useState(false); + + return ( + + ); +}; + +const Hero = () => ( +
+ {/* Animated Background Blobs */} +
+ + +
+ +
+ +
+
+ + Capture Ideas.
+ + Think Smarter. + +
+ + + Smart Notes uses AI to organize, summarize, and connect your notes automatically. Build your second brain effortlessly. + + + + + Get Started Free + + + View Demo + + +
+ + + + Smart Notes Dashboard + +
+
+
+
+
+); + +const ProblemSection = () => ( +
+
+ + Why Traditional Notes Fail + +
+ {[ + { icon: Briefcase, title: "Hard to organize", desc: "Folders within folders lead to lost content and frustration." }, + { icon: Search, title: "Difficult to search", desc: "Keyword search only works if you remember the exact words." }, + { icon: AlertTriangle, title: "Cluttered notes", desc: "Transcripts and long texts become messy and unreadable." }, + { icon: Lightbulb, title: "Lost ideas", desc: "Great ideas vanish when they aren't connected to other thoughts." } + ].map((item, i) => ( + +
+ +
+

{item.title}

+

{item.desc}

+
+ ))} +
+
+
+); + +const FeatureCard = ({ icon: Icon, title, desc, index }: { icon: any, title: string, desc: string, index: number }) => ( + +
+ +
+
+

{title}

+

{desc}

+
+
+); + +const SolutionSection = () => ( +
+
+ +

Your Notes, Supercharged with AI

+

The first intelligent workspace that works the way you think, helping you connect the dots effortlessly.

+
+
+ + + + + + + + + +
+
+
+); + +const FeatureComparison = () => ( +
+
+ +

Why Smart Notes?

+

See how we stack up against traditional note-taking apps.

+
+
+ + + + + + + + + + {[ + { f: "Organization", t: "Manual Folders", s: "AI Auto-Tagging" }, + { f: "Search", t: "Keyword Only", s: "Semantic & AI-Powered" }, + { f: "Insights", t: "None", s: "Automatic Summaries" }, + { f: "Connections", t: "Manual Links", s: "Neural Knowledge Graph" }, + { f: "Speed", t: "Slow Retrieval", s: "Instant Brain Access" } + ].map((row, i) => ( + + + + + + ))} + +
FeatureTraditional AppsSmart Notes
{row.f}{row.t}{row.s}
+
+
+
+); + +const CaseStudy = () => ( +
+
+
+
+
+ Success Story +

How a Research Team Saved 20 Hours a Week.

+

+ "Before Smart Notes, our team was drowning in research papers and meeting transcripts. The AI Summaries and Neural Linking features allowed us to connect findings across projects instantly, cutting our synthesis time by 60%." +

+
+
+ +
+
+

Dr. Aris Thorne

+

Lead Researcher, BioTech Systems

+
+
+
+
+ Research Team +
+
+
+
+

60%

+

Faster Synthesis

+
+
+

20h

+

Saved Weekly

+
+
+
+
+
+
+
+
+); + +const WorkflowSection = () => ( +
+
+
+ +

Watch your workflow transform in real-time.

+
+ {/* Vertical Line */} +
+ + {[ + { step: 1, title: "Write notes", desc: "Focus on capturing your stream of consciousness without worrying about formatting." }, + { step: 2, title: "AI analyzes", desc: "Our neural engine processes your input, identifying key themes and people mentioned." }, + { step: 3, title: "Smart insights", desc: "Get automatic summaries, relevant tags, and links to your previous notes." } + ].map((item, i) => ( + +
+ {item.step} +
+
+

{item.title}

+

{item.desc}

+
+
+ ))} +
+
+ +
+ AI Analysis Demo +
+
+
+
+
+); + +const PowerGrid = () => ( +
+
+ + All the power you need. + +
+ {[ + { title: "Markdown Support", desc: "Full GFM support for developers and writers who love speed." }, + { title: "Cloud Sync", desc: "Access your brain from any device. Mobile, Web, and Desktop apps." }, + { title: "AI Summarization", desc: "Complex documents into readable bullet points with one click." }, + { title: "Smart Organization", desc: "Folders are dead. Smart collections organize themselves." }, + { title: "Collaboration", desc: "Share pages or entire workspaces with your team instantly." } + ].map((item, i) => ( + +

{item.title}

+

{item.desc}

+
+ ))} + + Coming Soon: Voice to Note + +
+
+
+); + +const UseCases = () => ( +
+
+ +

Built for every workflow.

+

Discover how Smart Notes can transform the way you work, regardless of your industry or role.

+
+
+ {[ + { icon: BookOpen, title: "Students", desc: "Connect lecture notes across semesters and build a lifelong knowledge graph for exams and research." }, + { icon: Code, title: "Developers", desc: "Store code snippets, technical docs, and architecture decisions with perfect searchability and AI-powered insights." }, + { icon: Briefcase, title: "Professionals", desc: "Prepare for meetings with automatic context from previous interactions and notes. Never miss a detail again." }, + { icon: Brain, title: "Researchers", desc: "Synthesize large volumes of information and discover hidden patterns in your data with AI-assisted analysis." }, + { icon: MessageSquare, title: "Content Creators", desc: "Organize your ideas, scripts, and research in one place. Use AI to brainstorm and refine your content." }, + { icon: Zap, title: "Entrepreneurs", desc: "Keep track of your vision, strategy, and daily tasks. Connect your ideas to build a more cohesive business plan." } + ].map((item, i) => ( + + + + +

{item.title}

+

{item.desc}

+
+ ))} +
+
+
+); + +const Testimonials = () => ( +
+
+ + Loved by thousands of thinkers. + +
+ {[ + { + name: "Sarah Jenkins", + role: "Ph.D. Researcher", + text: "Smart Notes has completely changed how I research. The AI connections feature found links between my papers I didn't even see." + }, + { + name: "Marcus Thorne", + role: "Software Architect", + text: "Finally a notes app that doesn't get cluttered after a week. The AI auto-tagging is like having a personal librarian." + }, + { + name: "Elena Rodriguez", + role: "Content Creator", + text: "Clean, fast, and simple. It's the Notion-killer I've been waiting for. The mobile app is exceptionally responsive." + } + ].map((item, i) => ( + +
+ {[...Array(5)].map((_, i) => )} +
+

"{item.text}"

+
+
+ {item.name} +
+
+

{item.name}

+

{item.role}

+
+
+
+ ))} +
+
+
+); + +const AossieSection = () => ( +
+
+
+ +
+
+ AOSSIE Logo +
+
+ + +
+
+

+ AOSSIE +

+
+ +
+
+

+ We Innovate
+ We Educate +

+

+ We are an Australian not-for-profit umbrella organization for open-source projects. + We believe the open-source philosophy provides a resource-efficient channel to + transfer knowledge and achieve innovation and education. +

+
+ + +
+
+
+
+); + +const Footer = () => ( +
+
+
+
+
+
+ +
+ Smart Notes +
+

+ The AI-powered second brain for modern thinkers. Built with privacy and speed at its core. +

+
+
+
Product
+ +
+
+
Company
+ +
+
+
Follow Us
+ +
+
+
+ Β© {new Date().getFullYear()} Smart Notes. All rights reserved. +
+
+
+); + +export default function App() { + const [darkMode, setDarkMode] = useState(false); + + useEffect(() => { + if (darkMode) { + document.documentElement.classList.add('dark'); + document.documentElement.style.colorScheme = 'dark'; + } else { + document.documentElement.classList.remove('dark'); + document.documentElement.style.colorScheme = 'light'; + } + }, [darkMode]); + + return ( +
+ +
+ + + + + + + + + + + +
+ {/* Decorative Circles */} + + + +
+ + Ready to think smarter? + + + Join 50,000+ users who have already upgraded their thinking with Smart Notes. + + + Create Your Account + +
+
+
+ +
+ +
+ ); + } diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..f1d8c73 --- /dev/null +++ b/src/index.css @@ -0,0 +1 @@ +@import "tailwindcss"; diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..080dac3 --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,10 @@ +import {StrictMode} from 'react'; +import {createRoot} from 'react-dom/client'; +import App from './App.tsx'; +import './index.css'; + +createRoot(document.getElementById('root')!).render( + + + , +); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d88f175 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2022", + "experimentalDecorators": true, + "useDefineForClassFields": false, + "module": "ESNext", + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], + "skipLibCheck": true, + "moduleResolution": "bundler", + "isolatedModules": true, + "moduleDetection": "force", + "allowJs": true, + "jsx": "react-jsx", + "paths": { + "@/*": [ + "./*" + ] + }, + "allowImportingTsExtensions": true, + "noEmit": true + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..0506f1b --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,24 @@ +import tailwindcss from '@tailwindcss/vite'; +import react from '@vitejs/plugin-react'; +import path from 'path'; +import {defineConfig, loadEnv} from 'vite'; + +export default defineConfig(({mode}) => { + const env = loadEnv(mode, '.', ''); + return { + plugins: [react(), tailwindcss()], + define: { + 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY), + }, + resolve: { + alias: { + '@': path.resolve(__dirname, '.'), + }, + }, + server: { + // HMR is disabled in AI Studio via DISABLE_HMR env var. + // Do not modifyҀ”file watching is disabled to prevent flickering during agent edits. + hmr: process.env.DISABLE_HMR !== 'true', + }, + }; +}); From a10b3862aa8ab0db94ecf1dc8c82d2fe90fff4ee Mon Sep 17 00:00:00 2001 From: Vaibhav Sain <155076216+VaibhavSain@users.noreply.github.com> Date: Sun, 15 Mar 2026 13:37:22 +0530 Subject: [PATCH 2/2] Revise README for SmartNotes application Updated the README to provide a comprehensive overview of SmartNotes, including features, installation instructions, project structure, future improvements, and contribution guidelines. --- README.md | 108 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 95 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 825099a..7d2be7f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,102 @@ -
-GHBanner -
+# 🧠 SmartNotes -# Run and deploy your AI Studio app +SmartNotes is a **modern AI-powered note-taking application** designed to help users capture, organize, and manage knowledge efficiently. +It provides a **clean interface, fast performance, and intelligent features** to improve productivity for students, developers, and professionals. -This contains everything you need to run your app locally. +Built using **React, TypeScript, and Tailwind CSS**, SmartNotes focuses on simplicity, speed, and scalability. -View your app in AI Studio: https://ai.studio/apps/26933bf7-053c-4d95-8b6f-c9b9f5b74cdf +--- -## Run Locally +## πŸš€ Features -**Prerequisites:** Node.js +* ✍️ Create and manage notes easily +* 🧠 AI-powered note assistance *(planned feature)* +* πŸ“‚ Organized and structured note management +* ⚑ Fast and responsive UI +* 🎨 Clean and modern design +* πŸ“± Fully responsive layout +--- -1. Install dependencies: - `npm install` -2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key -3. Run the app: - `npm run dev` +## πŸ›  Tech Stack + +* **Frontend:** React +* **Language:** TypeScript +* **Styling:** Tailwind CSS +* **Build Tool:** Vite + +--- + +## πŸ“¦ Installation + +Clone the repository: + +```bash +git clone https://github.com/your-username/smartnotes.git +``` + +Navigate to the project folder: + +```bash +cd smartnotes +``` + +Install dependencies: + +```bash +npm install +``` + +Start the development server: + +```bash +npm run dev +``` + +--- + +## πŸ“ Project Structure + +``` +smartnotes +β”‚ +β”œβ”€β”€ src +β”‚ β”œβ”€β”€ components +β”‚ β”œβ”€β”€ pages +β”‚ β”œβ”€β”€ assets +β”‚ β”œβ”€β”€ hooks +β”‚ └── App.tsx +β”‚ +β”œβ”€β”€ public +β”œβ”€β”€ package.json +└── README.md +``` + +--- + +## 🎯 Future Improvements + +* AI-powered note summarization +* Smart tagging and search +* Cloud sync +* Markdown support +* Collaboration features + +--- + +## 🀝 Contributing + +Contributions are welcome! +If you’d like to improve SmartNotes, feel free to fork the repository and submit a pull request. + +--- + +## πŸ“„ License + +This project is licensed under the **MIT License**. + +--- + +## ⭐ Support + +If you like this project, consider **starring the repository** to support development.